@charset "utf-8";

html {
	scroll-behavior: smooth;
}

body {
	background: url('../img/bg001.png');
	margin: auto;
	padding: 0;
}
@media (min-width: 768px) {
	#bg {
		background: url('../img/bg002.png') repeat-y center top;
	}
}
@media (max-width: 767px) {
	#bg {
		background: url('../img/bg002sp.png') repeat-y center top;
	}
}
.container {
	margin: auto;
}
@media (min-width: 1025px) {
    .container {
        max-width: 1000px;
		margin: auto;
		padding: 0;
    }
    .contents {
        max-width: 960px;
		margin: auto;
		padding: 0;
    }
}
@media (max-width: 1024px) {
    .container {
        max-width: 100%;
		margin: 0;
    }
	.contents {
        padding: 0 15px;
    }
}
.bgimg001 {
	background: url('../img/img/006.jpg') center center;
	background-size: cover;
}
.bgimg002 {
	background: url('../img/img/008.jpg') center center;
	background-size: cover;
}
.bgimg003 {
	background: url('../img/img/009.jpg') center center;
	background-size: cover;
}
@media (min-width: 992px) {
	.bgimg001, .bgimg002, .bgimg003 {
		height: 150px;
	}
}
@media (max-width: 991px) {
	.bgimg001, .bgimg002, .bgimg003 {
		height: 120px;
	}
}



/*-----    swiper    -----*/
.swiper-slide-active .slide-img img,
.swiper-slide-duplicate-active .slide-img img,
.swiper-slide-prev .slide-img img {
	animation: zoom 10s linear 0s 1 normal both;
}
@keyframes zoom {
  0% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
.slide-img img {
	object-fit: cover;
	width: 100%;
	height: 100vh;
}
span.swiper-pagination-bullet {
	background-color: #fcfbf2;
}

/* fullscreen */
@media screen and (min-width: 913px) {
	.pcver {
		display: block;
	}
	.tabver, .spver {
		display: none;
	}
}
@media screen and (max-width: 912px) and (min-width: 441px) {
	.tabver {
		display: block;
	}
	.pcver, .spver {
		display: none;
	}
}
@media screen and (max-width: 440px) {
	.spver {
		display: block;
	}
	.pcver, .tabver {
		display: none;
	}
}
/*-----    /swiper    -----*/


/*-----    swiper01    -----*/
.swiper01 {
	width: 100%;
	overflow: hidden;
}
@media (min-width: 441px) {
	.swiper01 .swiper-wrapper .swiper-slide img {
		width: 100%;
		height: auto;
		object-fit: cover;
	}
}
@media screen and (max-width: 440px) {
	.swiper01 .swiper-wrapper .swiper-slide img {
		width: 100%;
		height: 462px;
		object-fit: cover;
	}
}
/*-----    /swiper01    -----*/


/*-----    swiper02    -----*/
.swiper02 {
	overflow: hidden;
	position: relative;
}
@media (min-width: 992px) {
	.swiper02 .swiper-wrapper .swiper-slide {
		width: 1200px;
		height: 700px;
	}
	.swiper02 .swiper-wrapper .swiper-slide img {
		position: absolute;
		width: 100%;
		height: auto;
		object-fit: cover;
		object-position: center center;
	}
}
@media screen and (max-width: 991px) {
	.swiper02 .swiper-wrapper .swiper-slide img {
		width: 100%;
		height: 600px;
		object-fit: cover;
	}
}
/*-----    /swiper02    -----*/




/*-----    contents base    -----*/
/*  main01  */
.maintitle {
	writing-mode: vertical-lr;
}
.maintitle p {
	display: inline-block;
	margin-left: 1rem;
	padding: 0.6rem 0;
}
.main01_content dl {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
}
.main01_content dt {
	flex-basis: 16%;
}
.main01_content dd {
	flex-basis: 84%;
}
@media (min-width: 992px) {
	.main01 {
		display: flex;
	}
	.main01_content {
		margin-left: 10rem;
	}
	.main01_content dl {
		margin-top: -1.6rem;
	}
	.main01_content dt, .main01_content dd {
		padding: 1.6rem 0;
		border-bottom: 1px solid rgba(19, 19, 19, 0.36);
	}
}
@media (max-width: 991px) {
	.maintitle {
		margin: auto;
	}
	.main01_content dl {
		flex-flow: column;
		margin-top: 1.6rem;
	}
	.main01_content dt {
		padding: 1.6rem 0 0.8rem 0;
	}
	.main01_content dd {
		border-bottom: 1px solid rgba(19, 19, 19, 0.36);
		padding-bottom: 1.6rem;
	}
	.main01_content dt span {
		font-size: 1rem;
		padding-left: 1.6rem;
	}
}


/*  main02  */
.main02 {
	margin-top: -2.2rem;
}
.main02 .main02_con {
	padding: 2.2rem 0;
}
.main02 .main02_con .main02_con01 {
	display: flex;
}
.main02 .main02_con h4 {
	padding: 0.2rem 1.8rem;
	height: 100%;
	display: inline-block;
}
.main02 .main02_con .main02_con01 p {
	margin-left: 1.2rem;
	padding-top: 0.2rem;
}
.main02_con02 h4, .main02_con02 p {
	font-weight: bold;
}
.main02 .main02_con .main02_con02 {
	margin-bottom: 1.6rem;
}
/*-----    /contents base    -----*/




/*-----    pagetop   -----*/
#pagetop {
  position: fixed;
  bottom: 2.0rem;
  right: 2.0rem;
  z-index: 99;
}
#pagetop a {
	display: block;
	width: 5.0rem;
	height: 5.0rem;
	background-color: rgba(252, 251, 242, 0.86);
	position: relative;
}
#pagetop a::before {
	content: '';
	width: 2.5rem;
	height: 2.5rem;
	border-top: 0.1rem solid rgba(19, 19, 19, 0.56);
	border-right: 0.1rem solid rgba(19, 19, 19, 0.56);
	transform: rotate(-45deg);
	position: absolute;
	top: 2.0rem;
	left: 1.2rem;
}
/*-----    pagetop   -----*/





/*-----    concept   -----*/
.concept {
	background: url('../img/bk_concept.jpg') center center;
	background-size: cover;
}
.concept_main .maintitle h1 {
		writing-mode: vertical-rl;
		font-size: 3.6rem;
		line-height: 1.4;
	}
@media (min-width: 992px) {
	.concept_main, .concept_sub {
		position: relative;
	}
	.concept_main .conceptimg img {
		width: 750px;
		height: auto;
	}
	.concept_main .maintitle {
		position: absolute;
		bottom: 0;
		right: 20px;
	}
	
	.concept_sub .conceptimg {
		position: absolute;
		top: 0;
		right: 0;
	}
	.concept_sub .conceptimg img {
		width: 350px;
		height: auto;
	}
}

@media screen and (max-width: 991px) and (min-width: 441px) {
	.concept_sub .conceptimg {
		padding: 0 20px;
	}
	.concept_main .conceptimg img, .concept_sub .conceptimg img {
		object-fit: cover;
		width: 100%;
		height: 462px;
	}
}
@media (max-width: 440px) {
	.concept_main .conceptimg img {
		object-fit: cover;
		width: 100%;
		height: 412px;
	}
	.concept_sub .conceptimg {
		padding: 0 15px;
	}
	.concept_sub .conceptimg img {
		object-fit: cover;
		width: 100%;
		height: 382px;
	}
}
/*-----    concept    -----*/





/*-----    shopinfo   -----*/
@media (min-width: 992px) {
	.shopinfo {
		display: flex;
	}
	.shopinfo .maintitle {
		margin-left: 20px;
	}
	.shopinfo .main01_content {
		width: 100%;
	}
	.shopinfo .main01_content dl {
		width: 430px;
	}
	.shopinfo .main01_content dl dt {
		flex-basis: 31%;
	}
	.shopinfo .main01_content dl dd {
		flex-basis: 69%;
	}
	.shopinfo .main01_content .shopinfosys {
		position: relative;
	}
	.shopinfo .main01_content .shopinfosys .shopinfoimg {
		position: absolute;
		top: 0;
		right: 0;
	}
	.shopinfo .main01_content .shopinfosys .shopinfoimg img {
		width: 300px;
		height: 260px;
		object-fit: cover;
		padding-top: 1.6rem;
	}
}
@media screen and (max-width: 991px) and (min-width: 441px) {
	.shopinfo .main01_content p {
		padding: 0 20px;
	}
	.shopinfo .main01_content dl {
		width: 45%;
		padding-left: 20px;
		margin-top: -1.6rem;
	}
	.shopinfo .main01_content .shopinfosys {
		position: relative;
	}
	.shopinfo .main01_content .shopinfosys .shopinfoimg {
		position: absolute;
		top: 0;
		right: 0;
		width: 45%;
	}
	.shopinfo .main01_content .shopinfosys .shopinfoimg img {
		width: 100%;
		height: auto;
		object-fit: cover;
		margin-top: 1.6rem;
	}
}
@media screen and (max-width: 440px) {
	.shopinfo .main01_content p {
		padding: 0 15px;
	}
	.shopinfo .main01_content dl {
		margin-top: -1.6rem;
	}
	.shopinfosys {
		padding: 0 15px;
	}
	.shopinfo .main01_content .shopinfosys .shopinfoimg img {
		width: 100%;
		height: auto;
		object-fit: cover;
	}
}
/*-----    shopinfo   -----*/





/*　staff
-------------------------------------------------- */
@media (min-width: 992px) {
	.staff_title .maintitle {
		margin: auto;
	}
}


/*-----    message   -----*/
.female_staff {
	background: url('../img/bk_female.jpg') center center;
	background-size: cover;
}
.male_staff {
	background: url('../img/bk_male.jpg') center center;
	background-size: cover;
}
.message img {
	width: 100%;
	object-fit: cover;
}
@media (min-width: 992px) {
	.message .main01 {
		display: block;
	}
	.message .main01 .maintitle {
		margin: 0 auto;
	}
	.message .main01 .maintitle h1 {
		writing-mode: vertical-rl;
		line-height: 1.4;
	}
	.message .main01 .maintitle p.messagemain {
		writing-mode: vertical-rl;
		padding: 0;
		margin-right: 7rem;
		font-size: 1.6rem;
		position: relative;
	}
	.message .main01 .maintitle p.messagemain span {
		position: absolute;
		bottom: 0;
	}
	.message img {
		height: 560px;
	}
}
@media (max-width: 991px) {
	.message .main01 .maintitle {
		writing-mode: horizontal-tb;
	}
	.message .main01 .maintitle .messagetitle {
		writing-mode: vertical-rl;
		margin: 0 auto;
	}
	.message .main01 .maintitle p.messagemain {
		position: relative;
		margin-left: 0;
	}
	.message .main01 .maintitle p.messagemain span {
		position: absolute;
		right: 0;
	}
}
/*-----    message   -----*/


/*-----    detail   -----*/
#detail .main01 .main01_content h2 {
	display: inline-block;
	padding: 0 2.4rem; 
}
#detail .main01 .main01_content h2 span {
	font-size: 1.4rem;
	padding-left: 1.6rem;
}
@media (min-width: 992px) {
	#detail .main01 .main01_content h2 {
		margin: 0 0 3.2rem 0;
	}
}


/*-----    apply   -----*/
#detail .main01 .main01_content .apply h2 {
	padding: 0; 
}
#detail .main01 .main01_content .apply h2 span {
	padding: 0 1.6rem;
}
/*  line  */
#detail .main01 .main01_content .apply h2 {
	display: flex;
	align-items: center;
}
#detail .main01 .main01_content .apply h2:after {
	border-top: 1px solid rgba(19, 19, 19, 0.36);
	content: "";
	width: 10rem;
}
#detail .main01 .main01_content .apply dt, #detail .main01 .main01_content .apply dd {
	border: none;
}

/*  ap_form_btn  */
#detail .main01 .main01_content .apply dl dd.ap_form_btn a {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 1.7rem;
	padding: 1.7rem 0;
	border-radius: 10rem;
	position: relative;
}
#detail .main01 .main01_content .apply dl dd.ap_form_btn a span {
	position: absolute;
	right: 3.0rem;
}


/*  ap_tel_btn  */
#detail .main01 .main01_content .apply dl dd.ap_tel_btn a {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 1.7rem;
	padding: 1.2rem 0;
	border-radius: 10rem;
	border: 1px solid rgba(19, 19, 19, 0.36);
}
#detail .main01 .main01_content .apply dl dd.ap_tel_btn a span {
	font-size: 1.4rem;
	margin-right: 3.0rem;
}
/* @media (min-width: 992px) {
	#detail .main01 .main01_content .apply dl dd.ap_tel_btn {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2.0rem;
	}
} */

/*  staff_faq  */
#detail .main01 .main01_content .staff_faq a.bg02 {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 1.4rem;
	padding: 1.0rem 0;
	border-radius: 10rem;
	border: 1px solid rgba(19, 19, 19, 0.36);
	position: relative;
}
#detail .main01 .main01_content .staff_faq a.bg02 span {
	position: absolute;
	right: 3.0rem;
}
@media (min-width: 992px) { 
	#detail .main01 .main01_content .staff_faq {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2.0rem;
	}
}
@media (max-width: 991px) {
	#detail .main01 .main01_content .staff_faq p {
		padding-bottom: 0.8rem;
	}
}


/*-----    male staff   -----*/
#detail .main01 .main01_content dl dd em {
	padding: 0 1.6rem;
}





/*　privacy
-------------------------------------------------- */
.privacy_con .main02 .main02_con .main02_con01 p {
	margin-left: 0;
	padding-top: 0;
}
@media (max-width: 991px) {
	.privacy_con .maintitle h1 {
		writing-mode: vertical-rl;
	}
}





/*　recruit
-------------------------------------------------- */
@media (min-width: 992px) { 
	.main01_content #mailformpro dt {
		flex-basis: 22%;
	}
	.main01_content #mailformpro dd {
		flex-basis: 78%;
	}
}
@media (max-width: 991px) {
	.main01_content #mailformpro dt span {
		padding-left: 5px;
	}
}



