@charset "utf-8";
@-webkit-keyframes ContentsSwitch{
	0% {opacity: 0;}
	100% {opacity: 1;}
}

@media only screen and (max-width: 768px) {
/* -------------------------------- 

common

-------------------------------- */
.mainvisual{
	position: relative;
}
section[class^=area]{
	margin: 20vw auto 0;
	position: relative;
}
h2{
	font-size: 5vw;
	line-height: 1.5;
	margin-bottom: 5vw;
}
.section-eng{
	position: relative;
	text-align: center;
	margin-bottom: 8vw;
}
.section-eng span{
	font-family: 'Crimson Text', serif;
	font-style: italic;
	font-weight: bold;
	font-size: 5vw;
	position: relative;
	padding: 0 4vw;
	text-align: center;
	background: #faf9f7;
	z-index: 1;
}
.section-eng::before{
	content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 92vw;
    height: 2px;
    background-color: #344457;
}
.sub-txt{
	font-size: 3.6vw;
}
.label{
	font-size: 1rem;
	font-weight: normal;
}
.sub-txt span,
.txt span{
	display: block;
	margin: 5vw 0 0;
}
.more-btn{
	margin: 10vw auto 0;
	text-align: center;
}
.more-btn a{
	display: inline-block;
	position: relative;
	padding: 3vw 10vw 2.5vw 5vw;
	border: 1vw solid #1d508d;
	color: #1d508d;
	font-weight: bold;
	font-size: 4.6vw;
}
.more-btn a::after{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 4vw;
	width: 3.2vw;
	height: 4vw;
	margin: -2vw 0 0;
	background: url(https://www.free-spirits.co.jp/img/top_arrow-type02.png) no-repeat;
	background-size: contain;
}
.hide{
	display:none;
}


/* -------------------------------- 
.area-lead
-------------------------------- */
.area-lead{
	width: 92vw;
	margin: 0 auto;
}
.area-lead .transparent{
  height: 100%;
  background: rgba(250,249,247,0.8);
}
.area-lead .bg-img{
	display: none;
}


/* -------------------------------- 
.area-syokunin
-------------------------------- */
.area-syokunin{
	width: 92vw;
}
.area-syokunin .block .img{
	width: 35vw;
	height: 35vw;
	margin: 5vw auto 0;
}
.area-syokunin .img{
	margin: 5vw auto 0;
}
.area-syokunin .sub-txt{
	margin: 5vw auto 0;
}
.area-syokunin h3{
	margin: 10vw 0 5vw;
	font-size: 5vw;
}
.area-syokunin .bnr{
	margin-top: 10vw;
}
.slider{
	position: relative;
	width: 76vw;
	margin: 0 auto;
}
.slider .slick-dots{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;
	align-items: stretch;
	width: 27vw;
	margin: 3vw auto 0;
}
.slider .slick-dots li{
	width: 3vw;
	height: 3vw;
	border: solid 1px #22658c;
	border-radius: 50%;
}
.slider .slick-dots li.slick-active{
	background: #22658c;
}
.slider .slick-dots button{
	display: none;
}
.slick-arrow{
	position: absolute;
	width: 4vw;
	height: 7vw;
	margin-top: 10vw;
	background: url(https://www.free-spirits.co.jp/img/brand_parts-arrow.png) no-repeat;
	background-size: contain;
	border: none;
	color: transparent;
}
.slick-prev{
	top: 14vw;
	left: -6vw;
	transform: rotate(180deg);
}
.slick-next{
	top: 14vw;
	right: -6vw;
}




/* -------------------------------- 
.area-cate
-------------------------------- */
.area-cate{
	width: 92vw;
}
.area-cate h2{
	text-align: center;
}
.area-cate ul{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: stretch;
	align-items: stretch;
	margin: 8vw 0 0;
	text-align: center;
}
.area-cate li{
	width: 33.3%;
    border-right: 3px dashed #344457;
	box-sizing: border-box;
}
.area-cate li:nth-of-type(3n){
	margin-right: 0;
}
.area-cate li:nth-of-type(3n-2){
	margin-right: 0;
    border-left: 3px dashed #344457;
}
.area-cate li:nth-of-type(n+4){
	margin-top: 10vw;
}
.area-cate li span{
	padding: 0 6.5vw;
	display: block;
    width: 16vw;
    height: 15vw;
}
.area-cate li span img{
	width: 14vw;
}
.area-cate li a{
	display: block;
	padding: 0.5vw 0 0.5vw;
	color: #344457;
	font-weight: bold;
}

.area-cate .content{
	margin: 20vw auto 0;
	position: relative;
}
.area-cate .cate-icon{
	width: 20vw;
	margin: 0 auto 2vw;
}
.area-cate h3{
	text-align: center;
	font-size: 5vw;
}
.area-cate .content ul{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;
	align-items: stretch;
	margin: 4vw 0 0;
}
.area-cate .content li{
	width: 48%;
	margin: 0 0 5vw 0;
    border: none;
}
.area-cate .content li .label{
	color: #333;
	text-align: left;
	line-height: 1.25;
	margin-top: 1vw;
	font-size: 3.6vw;
}
.area-cate .inner{
	margin-top: 15vw;
}



/* -------------------------------- 
.area-shop
-------------------------------- */
.area-shop{
	width: 92vw;
}
.area-shop h2{
	margin: 0 auto;
}
.area-shop .area-shop-wrap{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;
	align-items: stretch;
	margin: 30px auto 0;
}
.area-shop .area-shop-inner{
	margin: 0 0 20px 0;
}
.area-shop .area-shop-inner h3{
	margin: 20px 0 0;
	font-size: 5vw;
    line-height: 1.5;
}
.area-shop .area-shop-inner .more-btn{
	margin: 20px 0;
}
.area-shop .area-shop-inner .more-btn a{
	width: 100%;
	padding: 20px 0 18px;
	box-sizing: border-box;
	font-size: 5vw;
}
.area-shop .area-shop-inner .more-btn a::after{
	content: none;
}



/* -------------------------------- 
.area-contact
-------------------------------- */
.area-contact{
	width: 92vw;
}
.area-contact .btn{
	text-align: center;
	margin: 12vw auto;
}
.area-contact .btn a{
	position: relative;
    background: #334456;
    border-radius: 1vw;
    width: 80vw;
    margin: 5vw auto;
    color: #fff;
    padding: 6vw 10vw 6vw 6vw;
}
.area-contact .btn a::after{
	content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 4vw;
    width: 2.8vw;
    height: 4vw;
    margin: -2vw 0 0;
    background-image: url(https://www.free-spirits.co.jp/img/top_arrow-type01.png);
	background-size: contain;
}


/* -------------------------------- 
.area-seotxt
-------------------------------- */
.area-seotxt{
	width: 92vw;
}
.area-seotxt .txt{
	margin: 5vw 0 0;
	line-height: 1.75;
	font-size: 3.6vw;
}
}


@media only screen and (min-width: 769px) {
/* -------------------------------- 

common

-------------------------------- */
section[class^=area]{
	position: relative;
	margin: 150px auto 0;
}
section[class^=area] h2{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-end;
	align-items: flex-end;
	font-size: 2.4rem;
}
section[class^=area] h2 br{
	display: none;
}
.section-eng{
	position: relative;
	text-align: center;
	margin-bottom: 50px;
}
.section-eng span{
	font-family: 'Crimson Text', serif;
	font-style: italic;
	font-weight: bold;
	font-size: 2.6rem;
	position: relative;
	padding: 0 20px;
	text-align: center;
	background: #faf9f7;
	z-index: 1;
}
.section-eng::before{
	content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 1040px;
    height: 2px;
    background-color: #344457;
}
.more-btn{
	margin: 100px auto 0;
	text-align: center;
}
.more-btn a{
	display: inline-block;
	position: relative;
	padding: 25px 110px 23px 55px;
	border: 6px solid #1d508d;
	color: #1d508d;
	font-weight: bold;
	font-size: 2.4rem;
}
.more-btn a:hover{
	border: 6px solid #f3ed33;
	transition: .6s;
}
.more-btn a::after{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 45px;
	width: 23px;
	height: 35px;
	margin: -17.5px 0 0;
	background: url(https://www.free-spirits.co.jp/img/top_arrow-type02.png) no-repeat;
	background-size: contain;
}
.hide{
	display:none;
}


/* -------------------------------- 
.area-lead
-------------------------------- */
.area-lead{
	width: 1050px;
	padding-bottom: 100px;
	margin: 100px auto 0;
	position: relative;
}
.area-lead .sub-txt{
	margin: 25px auto 0;
}
.area-lead .sub-txt span{
	display: block;
	margin-top: 15px;
}
.area-lead .bg-img{
	display: none;
}


/* -------------------------------- 
.area-syokunin
-------------------------------- */
.area-syokunin{
	width: 1050px;
	margin-top: 50px!important;
}
.area-syokunin .block{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;
	align-items: stretch;
	width: 1040px;
}
.area-syokunin .block .img{
	width: 300px;
	height: 300px;
}
.area-syokunin .sub-txt{
	width: 690px;
	padding: 20px 0 0;
}
.area-syokunin h2{
	margin-bottom: 50px;
	font-size: 2.4rem;
}
.area-syokunin h3{
	width: 600px;
	margin: 50px auto 0;
}
.slider{
	position: relative;
	width: 460px;
	display: inline-block;
}
.slider .slick-dots{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;
	align-items: stretch;
	width: 130px;
	margin: 15px auto 0;
}
.slider .slick-dots li{
	width: 12px;
	height: 12px;
	border: solid 1px #344457;
	border-radius: 50%;
}
.slider .slick-dots li.slick-active{
	background: #344457;
}
.slider .slick-dots button{
	display: none;
}
.slick-arrow{
	position: absolute;
	width: 15px;
	height: 25px;
	margin-top: 17.5px;
	background: url(https://www.free-spirits.co.jp/img/brand_parts-arrow.png) no-repeat;
	background-size: cover;
	border: none;
	color: transparent;
}
.slick-prev{
	top: 140px;
	left: 10px;
	transform: rotate(180deg);
	z-index: 111;
}
.slick-next{
	top: 140px;
	right: 10px;
	z-index: 111;
}
.area-syokunin .inner{
	width: 50%;
}
.area-syokunin .inner .sub-txt,
.area-syokunin .inner h3{
	width: 100%;
	margin-top: 0;
}
.area-syokunin .bnr{
	width: 380px;
	margin: 25px auto 0;
}

/* -------------------------------- 
.area-shop
-------------------------------- */
.area-shop{
	width: 1050px;
}
.area-shop .area-shop-wrap{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: stretch;
	align-items: stretch;
	width: 1050px;
	margin: 30px auto 0;
}
.area-shop .area-shop-inner{
	width: 500px;
}
.area-shop .area-shop-inner h3{
	margin: 20px 0 0;
	font-size: 2.4rem;
}
.area-shop .area-shop-inner .sub-txt{
	margin: 10px 0 0;
}
.area-shop .area-shop-inner .more-btn{
	margin: 20px 0 0;
}
.area-shop .area-shop-inner .more-btn a{
	width: 100%;
	padding: 20px 0 18px;
	box-sizing: border-box;
	font-size: 2.4rem;
}
.area-shop .area-shop-inner .more-btn a::after{
	content: none;
}

/* -------------------------------- 
.area-cate
-------------------------------- */
.area-cate{
	width: 1050px;
}
.area-cate h2{
	text-align: center;
	display: block!important;
}
.area-cate ul{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: stretch;
	align-items: stretch;
	margin: 50px 0 0;
	text-align: center;
	width: 1050px;
}
.area-cate li{
	width: 20%;
    border-right: 3px dashed #344457;
	box-sizing: border-box;
}
.area-cate li:nth-of-type(5n){
	margin-right: 0;
}
.area-cate li:nth-of-type(5n-4){
	margin-right: 0;
    border-left: 3px dashed #344457;
}
.area-cate li:nth-of-type(n+6){
	margin-top: 50px;
}
.area-cate li span{
	padding: 0 60px;
	display: block;
    width: 80px;
    height: 90px;
}
.area-cate li span img{
	width: 80px;
}
.area-cate li a{
	display: block;
	padding: 10px 0 10px;
	color: #344457;
	font-weight: bold;
	position: relative;
}
.area-cate li a:hover{
	color: #d9c867;
}
.area-cate .content .inner{
	margin-top: 100px;
}
.area-cate .content .cate-icon{
	width: 80px;
	margin: 0 auto 15px;
}
.area-cate .content h3{
	text-align: center;
}
.area-cate .content .inner ul{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: stretch;
	align-items: stretch;
	margin: 10px 0 0;
	text-align: left;
	width: 1050px;
}
.area-cate .content .inner li{
	width: 23%;
	margin: 20px 27px 0 0;
    border: none;
}
.area-cate .content .inner li:nth-of-type(4n){
	margin-right: 0;
}
.area-cate .content .inner li .label{
	font-weight: normal;
	margin-top: 10px;
}
.area-cate .content .inner li a:hover{
	color: #333;
}


/* -------------------------------- 
.area-contact
-------------------------------- */
.area-contact{
	width: 1050px;
}
.area-contact .sub-txt{
	margin-top: 25px;
}
.area-contact .btn{
	text-align: right;
	margin: 60px auto;
}
.area-contact .btn a{
    background: #334456;
    border-radius: 8px;
    width: 200px;
    color: #fff;
    padding: 20px 40px;
}
.area-contact .btn a:hover{
	background: #d9c867;
}

/* -------------------------------- 
.area-seotxt
-------------------------------- */
.area-seotxt{
	width: 1050px;
}
.area-seotxt .txt{
	margin: 45px 0 0;
	line-height: 1.75;
	column-count: 2;
}
.area-seotxt .txt span{
	display: block;
	margin-top: 15px;
}
}
