@charset "utf-8";

/*======*/
/* 共通 */
/*======*/


/* PC/SP出し分け
------------------------------ */

@media screen and (min-width: 768px) {
	.sp {
		display: none !important;
	}
}

@media screen and (max-width: 767px) {
	.pc {
		display: none !important;
	}
}

body {
	height: 100%;
	line-height: 1;
}

footer {
	height: 100%;
}

.conteiner .contents {
	max-width: 1264px;
	margin: 0 auto;
	padding: 0 24px;
	color: #211815;
	font-size: 14px;
}

@media screen and (max-width: 767px) {

	.conteiner .contents {
		font-size: 14px;
		padding: 0 24px;
	}

}

/* カラム体裁
------------------------------ */

.column-wrap {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 0 4%;
	margin-bottom: 24px;
}

.column-wrap * {
	min-height:0;
	min-width : 0;
}

.column-wrap .img-wrap {
	width: 48%;
	max-width: 543px;
	margin-bottom: 0 !important;
}

.column-wrap .img-wrap .slick-slide img {
	margin: 0 auto;
}

.column-wrap .img-list .slick-dots {
	bottom: 13px;
}

.column-wrap .img-list .slick-dots li {
	width: 10px;
	height: 10px;
	margin: 0 2.5px;
}

.column-wrap .img-list .slick-dots li button {
	width: 10px;
	height: 10px;
}

.column-wrap .img-list .slick-dots li button::before {
	content: "";
	opacity: 1;
	width: 10px;
	height: 10px;
	border-radius: 500px;
	background: #FFF;
}

.column-wrap .img-list .slick-dots li.slick-active button::before {
	opacity: 1;
	background: #726762;
}

.column-wrap .txt {
	width: 48%;
} 

@media screen and (max-width: 767px) {

	.column-wrap {
		display: block;
		width: 100%;
		margin: 0 auto;
	}

	.column-wrap .img-wrap {
		width: 100vw;
		margin: 0 auto;
		text-align: center;
	}

	.column-wrap .img-list {
        width: calc(100% + 48px);
        margin: 0 -40px 16px !important;
	}

	.column-wrap .img-wrap .slick-slide img {
		width: 100%;
		margin: 0;
	}

	.column-wrap .img-list .prev-arrow {
		width: 2.62%;
	}
	
	.column-wrap .img-list .next-arrow {
		width: 2.62%;
	}

	.column-wrap .img-list .prev-arrow::before,
	.column-wrap .img-list .next-arrow::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		display: block;
		padding: 24px;
	}
	
	.column-wrap .img-list .slick-dots {
		bottom: 1.73vw;
	}
	
	.column-wrap .img-list .slick-dots li {
		width: 1.33vw;
		height: initial;
		padding-top: 1.33vw;
		margin: 0 .33vw;
	}
	
	.column-wrap .img-list .slick-dots li button {
		width: 1.33vw;
		height: initial;
		padding-top: 1.33vw;
	}
	
	.column-wrap .img-list .slick-dots li button::before {
		content: "";
		opacity: 1;
		width: 1.33vw;
		height: initial;
		padding-top: 1.33vw;
		border-radius: 500px;
		background: #FFF;
	}
	
	.column-wrap .txt {
		width: 100%;
	} 

	.column-wrap .txt .name-wrap .buy {
		max-width: 74px;
	}

	.column-wrap .shoes-wrap {
		margin-bottom: 8.8vw;
	}

	.column-wrap .txt .shoes-wrap .shoes {
		width: 100%;
		margin-bottom: 0;
	}

	.column-wrap .img-list .prev-arrow {
		display: block;
		position: absolute;
		top: 50%;
		left: 24px;
		transform: translateY(-50%);
		z-index: 1;
		cursor: pointer;
	}

	.column-wrap .img-list .next-arrow {
		display: block;
		position: absolute;
		top: 50%;
		right: 40px;
		transform: translateY(-50%);
		z-index: 1;
		cursor: pointer;
	}
}

/* アニメーション
------------------------------ */

.animate {
	opacity: 0;
}

.fade-in-top {
	animation: fade-in-top .8s cubic-bezier(0.390, 0.575, 0.565, 1.000) .5s both;
}

.fade-in {
	animation: fade-in .5s cubic-bezier(0.390, 0.575, 0.565, 1.000) .5s both;
}

@keyframes fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

@keyframes fade-in-top {
	0% {
		opacity: 0;
		transform: translateY(8px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/*=========*/
/* ヘッダー */
/*=========*/

/* header
------------------------------------*/

header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100vw;
	margin: 0 auto;
	padding: 16px 24px;
	background: #FFF;
}

header nav {
	max-width: 938px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
}

header nav .l-list,
header nav .r-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header nav .l-list li:not(:last-child) {
	position: relative;
	margin-right: 28px;
	padding-right: 28px;
}

header nav .l-list li:not(:last-child)::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 1px;
	height: 32px;
	background: #000;
}

header nav .r-list li:not(:last-child) {
	margin-right: 22px;
}

header nav .r-list li:nth-of-type(2) {
	max-width: 80px;
}


@media screen and (max-width: 767px) {

	header {
		padding: 4px 10px;
	}

	header nav {
		height: 45px;
	}

	header nav .l-list {
		justify-content: flex-start;
		width: 54%;
	}

	header nav .l-list li:not(:last-child) {
		margin-right: min(4vw, 15px);
		padding-right: min(4vw, 15px);
	}

	header nav .l-list li:not(:last-child)::before {
		height: 100%;
	}

	header nav .l-list li:nth-of-type(1) img {
		max-width: 104px;
	}

	header nav .l-list li:nth-of-type(2) img {
		max-width: 64px;
		width: 24vw;
	}

	header nav .r-list {
		width: 25%;
		gap: 0 12%;
	}

	header nav .r-list li:not(:last-child) {
		margin-right: 0;
	}
	
	header nav .r-list li:nth-of-type(1) img {
		max-width: 20px;
	}

	header nav .r-list li:nth-of-type(2) {
		max-width: 100%;
	}
	
	header nav .r-list li:nth-of-type(2) img {
		max-width: 54px;
	}
}


/* リンクボタン
-----------------------------------*/

a {
	transition: all .5s;
}

a:hover {
	text-decoration: none;
	transition: all .5s;
}

/* 共通
-----------------------------------*/
.bg {
	background-image:
	url(../../../../img/freepage/202510_texcyluxe_mensfudge/bg01.jpg);
	background-repeat: repeat-y;
	background-size: 100% auto;
	background-position: left center;
}

.heading01 {
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 36px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	margin-bottom: 32px;
}

.heading02 {
	font-family: "Montagu Slab", serif;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
	border-bottom: solid 1.3px #211816;
    padding-bottom: 18px;
}

.heading02 span {
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	background: linear-gradient(transparent 40%, #BEBEBF 0);
	padding: 0 .4em;
}

.heading03 {
	font-size: 27px;
	font-weight: bold;
	line-height: 1.4;
}

@media screen and (max-width: 767px) {
	.bg {
		background-image: none;
		background-color: #F0F0E9;
	}

	.heading01 {
		font-size: 20px;
		margin-bottom: 16px;
	}

	.heading02 {
		font-size: 19px;
		padding-bottom: 4px;
    	margin-bottom: 28px;
	}

	.heading02 span {
		font-size: 19px;
	}

	.heading03 {
		font-size: 20px;
		margin-bottom: 16px;
	}
}
/* メイン
-----------------------------------*/

.sec-main .main-wrap {
	position: relative;
	width: 100%;
	height: 0;
	margin-top: 70px;
	background-image:
	url(../../../../img/freepage/202510_texcyluxe_mensfudge/main_mv01.jpg);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: left center;
	padding-bottom: 57%;
}

.sec-main .main-txt {
	position: absolute;
	bottom: 12%;
	right:  24%;
	text-wrap: nowrap;
	text-align: center;
	color: #FFF;
	font-weight: bold;
}

.sec-main .main-txt .en-small {
	font-family: "Montagu Slab", serif;
	font-size: 30px;
}

.sec-main .main-txt .en {
	font-family: "Montagu Slab", serif;
	font-size: 94px;
	margin: 4px auto 24px;
}

.sec-main .main-txt .jp {
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 40px;
	letter-spacing: -1;
}

@media screen and (max-width: 1200px) {
	.sec-main .main-txt {
		right: 0;
    left: 0;
	}
}

@media screen and (max-width: 767px) {

	.sec-main .main-wrap {
		position: relative;
		width: 100%;
		height: 0;
		margin-top: 55px;
		background-image:
		url(../../../../img/freepage/202510_texcyluxe_mensfudge/main_mv01_sp.jpg);
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: left center;
		padding-bottom: 105%;
	}


	.sec-main .main-txt {
		bottom: 16px;
		right:  0;
		left: 0;
	}

	.sec-main .main-txt .en-small {
		font-size: 14px;
	}

	.sec-main .main-txt .en {
		font-size: 43px;
		margin: 0 auto 18px;
	}
}


/* sec-01
-----------------------------------*/


.sec-01 {
	padding-top: 72px;
}

.sec-01 .lead-txt {
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 22px;
	line-height: 2;
	text-align: center;
	margin-bottom: 72px;
}


/* スライダー全体 */
.sec-01 .slider-wrapper {
	display: flex;
	overflow: hidden;
}

.sec-01 .slider {
	animation: scroll-left 90s infinite linear .5s both;
	display: flex;
}

.sec-01 .slide {
	width: 100vw;
	margin-left: -40px;
}

.sec-01 .slide img {
	display: block;
	width: 100%;
}

/* CSSアニメーション */
@keyframes scroll-left {
	from {
		transform: translateX(-100%);
	}
	to {
		transform: translateX(0);
	}
}

@media screen and (max-width: 767px) {

	.sec-01 {
		margin-bottom: 24px;
		padding-top: 40px;
	}

	.sec-01 h2 {
		font-family: dnp-shuei-gothic-kin-std, sans-serif;
		font-size: 19px;
		font-weight: bold;
        text-align: center;
		margin-bottom: 20px;
	}

	.sec-01 .lead-txt {
		font-size: 13px;
		line-height: 2;
		margin-bottom: 16px;
	}

	.sec-01 .slide {
		width: 200vw;
	}
}


/* sec-02
-----------------------------------*/

.sec-02 {
	margin: 80px auto;
}

.sec-02 .shoes-wrap {
	position: relative;
	max-width: 1408px;
	padding: 0 24px;
	margin: 0 auto 40px;
}

.sec-02 .shoes-wrap .shoes-img {
	text-align: center;
}

.sec-02 .shoes-wrap .item li {
	position: absolute;
	max-width: 160px;
}

.sec-02 .shoes-wrap .item li img:hover {
    transform: scale(1.3);
	transition: transform 0.3s ease-in-out;
}

.sec-02 .shoes-wrap li:first-child {
	top: 4%;
    right: 28%;
}

.sec-02 .shoes-wrap li:nth-child(2) {
	top: 20%;
    right: 12%;
}

.sec-02 .shoes-wrap li:nth-child(3) {
    bottom: 37%;
    right: 11.5%;
}

.sec-02 .shoes-wrap li:nth-child(4) {
    bottom: 2%;
    right: 29%;
}

.sec-02 .shoes-wrap li:nth-child(5) {
    bottom: 20%;
    left: 36%;
}

.sec-02 .shoes-wrap li:nth-child(6) {
    bottom: 18%;
    left: 9%;
}

.sec-02 .shoes-wrap li:nth-child(7) {
    top: 36%;
    left: 9%;
}

.sec-02 .shoes-wrap li:nth-child(8) {
	top: 4%;
    left: 9%;
}

.sec-02 .heading01 + .txt {
	max-width: 822px;
    text-align: center;
    font-size: 18px;
    line-height: 2;
    margin: 0 auto;
    letter-spacing: -1px;
}

.sec-02 .txt p:not(:last-child) {
	margin-bottom: 1em;
}

@media screen and (max-width: 1200px) {
	.sec-02 .shoes-wrap .item li {
		max-width: 106px;
	}
}

@media screen and (max-width: 960px) {
	.sec-02 .shoes-wrap .item li {
		max-width: 88px;
	}
}

@media screen and (max-width: 767px) {

	.sec-02 {
		margin: 24px auto 48px;
	}

	.sec-02 .heading01 + .txt {
		font-size: 13px;
        line-height: 1.8;
        text-align: left;
		padding: 0 16px;
	}
	
	.sec-02 .shoes-wrap {
		padding: 0;
	}

	.sec-02 .shoes-wrap .item li {
		position: static;
		max-width: 400px;
        margin: 24px auto 0;
	}

	.sec-02 .shoes-wrap .item li .wrap {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 0 24px;
	}

	.sec-02 .shoes-wrap .item .num {
        display: inline-block;
		font-family: "Montagu Slab", serif;
		color: #FFF;
        font-size: 16px;
        border-radius: 50px;
        background: #74989f;
        width: 21px;
        height: 21px;
        text-align: center;
        line-height: 1.4;
		margin-right: 0.5em;
	}
	
	.sec-02 .shoes-wrap .item .en {
		font-family: "Indivisible", sans-serif;
		font-size: 18px;
		font-weight: bold;
	}

	.sec-02 .shoes-wrap .item .jp {
		font-size: 13px;
		font-weight: bold;
		margin: 4px 0 8px 2.2em;
	}

	.sec-02 .shoes-wrap .item li .wrap .img {
		max-width: 104px;
	}

	.sec-02 .shoes-wrap .item li .wrap .txt {
		font-family: dnp-shuei-gothic-kin-std, sans-serif;
		max-width: 168px;
        font-size: 12px;
        line-height: 1.6;
	}

}


/* sec-03,sec-04
-----------------------------------*/
.sec-03 {
	margin-bottom: 160px;
}

.sec-04 {
	padding-bottom: 80px;
}

.sec-03 .column-wrap .txt .comment,
.sec-04 .column-wrap .txt .comment {
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
    font-size: 13px;
	line-height: 1.6;
	padding: 0 6px;
}

.sec-03 .column-wrap .txt .shoes_buy,
.sec-04 .column-wrap .txt .shoes_buy {
	position: relative;
}

.sec-03 .column-wrap .txt .shoes_buy .buy {
	position: absolute;
	top: 96px;
    right: 120px;
}

.sec-04 .column-wrap .txt .shoes_buy .buy {
	position: absolute;
	top: 120px;
    right: 120px;
}

.sec-03 .column-wrap .txt .shoes_buy .img,
.sec-04 .column-wrap .txt .shoes_buy .img {
	margin: 28px auto;
}


.sec-03 .style-wrap,
.sec-04 .style-wrap {
	max-width: 1488px;
	padding: 0 24px;
	margin: 0 auto;
}

.sec-04 .style-wrap {
	max-width: 1408px;
	margin: 24px auto 0;
}

.sec-03 .style-wrap #style01 {
	position: relative;
	padding-bottom: 81.52%; /* 1174/1440 */
}

.sec-04 .style-wrap #style02 {
	position: relative;
	padding-bottom: 86.76%; /*1180/1360*/
}

.sec-03 .style-wrap .style-inner li,
.sec-04 .style-wrap .style-inner li {
	position: absolute;
	top: 0;
	left: 0;
}

@media screen and (max-width: 1200px) {
	.sec-03 .column-wrap .txt .shoes_buy .buy {
		width: 80px;
		right: 32px;
	}

	.sec-04 .column-wrap .txt .shoes_buy .buy {
		width: 80px;
		top: 88px;
        right: 16px;
	}
}

@media screen and (max-width: 767px) {
	.sec-03 {
		margin-bottom: 40px;
	}

	.sec-04 {
		padding-bottom: 24px;
	}

	.sec-03 .column-wrap .txt .shoes_buy .img,
	.sec-04 .column-wrap .txt .shoes_buy .img {
		max-width: 280px;
	}
	
	.sec-03 .column-wrap .txt .shoes_buy .buy,
	.sec-04 .column-wrap .txt .shoes_buy .buy {
		position: static;
		margin: 0 auto 16px;
	}

	.sec-03 .column-wrap .txt .shoes_buy .heading02,
	.sec-04 .column-wrap .txt .shoes_buy .heading02 {
		border-bottom: none;
		margin-bottom: 8px;
	}

	.sec-03 .column-wrap .txt .shoes_buy .heading02 span,
	.sec-04 .column-wrap .txt .shoes_buy .heading02 span {
			background: none;
	}

	
	.sec-03 .style-wrap,
	.sec-04 .style-wrap {
		position: static;
		padding: 0;
	}

	.sec-03 .style-wrap .style-inner,
	.sec-04 .style-wrap .style-inner {
		position: relative;
	}

	.sec-03 .style-wrap .txt,
	.sec-04 .style-wrap .txt {
		padding: 0 24px;
		margin: 24px auto;
	}

	.sec-03 .style-wrap .txt p,
	.sec-04 .style-wrap .txt p {
		line-height: 1.6;
	}

	.sec-03 .style-wrap .txt .comment,
	.sec-04 .style-wrap .txt .comment {
		margin-top: 24px;
	}

	.sec-03 .style-wrap #style01-01 {
		position: relative;
		padding-bottom: 150.8%; /* 1131/750 */
	}

	.sec-03 .style-wrap #style01-02 {
		position: relative;
		padding-bottom: 164.13%; /* 1231/750 */
	}

	.sec-04 .style-wrap #style02-01 {
		position: relative;
		padding-bottom: 130.66%; /* 980/750*/
	}
	
	.sec-04 .style-wrap #style02-02 {
		position: relative;
		padding-bottom: 133.46%; /* 1001/750 */
	}

}

/* sec-05
-----------------------------------*/

.sec-05 {
	margin-top: 64px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.sec-05 {
		background-color: #F0F0E9;
		text-align: center;
		padding: 0 0 24px;
		margin-top: 0;
	}

	.sec-05 h2 {
		max-width: 218px;
    	margin: 0 auto;
	}
}

/* フッター
-----------------------------------*/

footer {
	padding: 40px 0 92px;
	background: #FFF;
}

footer .txt-list {
	max-width: 320px;
	font-family: "sofia-pro", sans-serif;
	font-weight: 500;
	font-style: normal;
	color: #000;
	font-size: 13px;
	margin-inline: auto;
}

footer .txt-list p:not(:last-child) {
	margin-bottom: 8px;
}


@media screen and (max-width: 767px) {

	footer {
		padding: 28px 0 48px
	}
	
	footer .txt-list {
		max-width: 200px;
		font-size: 10px;
	}

	footer .txt-list p:not(:last-child) {
		margin-bottom: 10px;
	}
}
