@charset "UTF-8";

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	common
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.shop{
    background: #FEF8E8;
    padding-top: 86px;
}
@media only screen and (max-width: 1024px) {
    .shop{
        padding-top: 54px;
    }
}

/*inner
———————————————————————————————————————————————————————————————————*/
.shop__inner{
    max-width: 1120px;
	margin: 0 auto;
}
.shop__inner--detail{
    position: relative;
    background: #fff;
    border-radius: 4px;
    padding: 80px 60px;
}
.shop__inner--detail::before{
    position: absolute;
    content: "";
    top: 20px;
    left: 20px;
    width: 120px;
    height: 120px;
    background-image: url(/wordpress/wp-content/themes/resocaba__theme/images/common/decoration__left.svg);
    background-image: url(../../images/common/decoration__left.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.shop__inner--detail::after{
    position: absolute;
    content: "";
    top: 20px;
    right: 20px;
    width: 120px;
    height: 120px;
    background-image: url(/wordpress/wp-content/themes/resocaba__theme/images/common/decoration__right.svg);
    background-image: url(../../images/common/decoration__right.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
@media only screen and (max-width: 1024px) {
    .shop__inner{
        max-width: 100%;
        padding: 0 20px;
    }
    .shop__inner--detail{
        padding: 80px 20px;
    }
}
@media only screen and (max-width: 768px) {
    .shop__inner--detail{
        padding: 48px 20px;
    }
    .shop__inner--detail::before{
        top: 10px;
        left: 10px;
        width: 50px;
        height: 50px;
    }
    .shop__inner--detail::after{
        top: 10px;
        right: 10px;
        width: 50px;
        height: 50px;
    }
}

/*content
———————————————————————————————————————————————————————————————————*/
.shop__content{
    margin: 0 auto 80px;
}
@media only screen and (max-width: 1024px) {
    .shop__content{
        margin: 0 auto 64px;
    }
}
@media only screen and (max-width: 768px) {
    .shop__content{
        margin: 0 auto 40px;
    }
}

/*title
———————————————————————————————————————————————————————————————————*/
.shop__title{
    width: 100%;
	margin: 0 auto 48px;
    text-align: center;
}
.shop__title h1{
    color: #2D220C;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.4;
    margin-bottom: 32px;
}
.shop__title p{
    color: #705319;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
}
@media only screen and (max-width: 768px) {
    .shop__title{
        margin: 0 auto 24px;
    }
    .shop__title h1{
        font-size: 20px;
        margin-bottom: 20px;
    }
    .shop__title p{
        font-size: 16px;
    }
}

/*midashi
———————————————————————————————————————————————————————————————————*/
.shop__midashi{
    color: #705319;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
    margin-bottom: 32px;
}
@media only screen and (max-width: 1024px) {
    .shop__midashi{
        margin-bottom: 24px;
    }
}
@media only screen and (max-width: 768px) {
    .shop__midashi{
        font-size: 18px;
        margin-bottom: 16px;
    }
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	image
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.shop__image--slider{
    margin-bottom: 8px;
}
.shop__image--thumb .slick-list {
  margin: 0 -4px;
}
.shop__image--thumb .slick-slide {
  padding: 0 4px;
}
.shop__image--thumb .slick-prev,.shop__image--thumb .slick-next{
    width: 40px;
    height: 40px;
    z-index: 2;
}
.shop__image--thumb .slick-prev::before,.shop__image--thumb .slick-next::before{
    content: none;
}
.shop__image--thumb .slick-prev > div,.shop__image--thumb .slick-next > div{
    position: relative;
    background: #333333;
    width: 40px;
    height: 40px;
    border-radius: 50%;
}
.shop__image--thumb .slick-prev > div::before,.shop__image--thumb .slick-next > div::before{
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 7px;
    height: 14px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.shop__image--thumb .slick-prev > div::before{
    background-image: url(/wordpress/wp-content/themes/resocaba__theme/images/common/slick__prev.svg);
    background-image: url(../../images/common/slick__prev.svg);
}
.shop__image--thumb .slick-next > div::before{
    background-image: url(/wordpress/wp-content/themes/resocaba__theme/images/common/slick__next.svg);
    background-image: url(../../images/common/slick__next.svg);
}
@media only screen and (max-width: 768px) {
    .shop__image--slider{
        margin-bottom: 4px;
    }
    .shop__image--thumb .slick-list {
        margin: 0 -2px;
    }
    .shop__image--thumb .slick-slide {
        padding: 0 2px;
    }
    .shop__image--thumb .slick-prev,.shop__image--thumb .slick-next{
        display: none!important;
    }
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	introduction
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.shop__introduction{
    max-width: 740px;
    text-align: left;
}
@media only screen and (max-width: 768px) {
    .shop__introduction{
        max-width: 100%;
    }
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	news
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.shop__news{
    border: 1px solid #D3C6AA;
    padding: 24px 40px;
}
.shop__news h2{
    text-align: center;
}
.shop__news > div{
    display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.shop__news > div img{
    width: 30.434782608%;
}
.shop__news > div p{
    width: 66.956521739%;
}
@media only screen and (max-width: 768px) {
    .shop__news{
        padding: 20px;
    }
    .shop__news > div{
        flex-direction: column;
    }
    .shop__news > div img{
        width: 100%;
        margin-bottom: 16px;
    }
    .shop__news > div p{
        width: 100%;
    }
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	point
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.shop__point .type1__flex3{
    align-items: flex-start;
}
.shop__point .type1__flex3 > div{
    width: 31.7%;
}
.shop__point--title{
    display: flex;
	align-items: center;
	justify-content: flex-start;
    margin-bottom: 16px;
}
.shop__point--title > p:nth-of-type(1){
    color: #C3A76C;
    font-family: 'Parisienne';
    font-size: 40px;
	font-weight: 500;
	line-height: 1;
    margin-right: 10px;
}
.shop__point--title > p:nth-of-type(2){
    color: #705319;
    font-size: 24px;
	font-weight: 700;
	line-height: 1;
    letter-spacing: 0.03em;
}
@media only screen and (max-width: 768px) {
    .shop__point .type1__flex3{
        flex-direction: column;
    }
    .shop__point .type1__flex3 > div{
        width: 100%;
        margin-bottom: 32px;
    }
    .shop__point--title{
        margin-bottom: 12px;
    }
    .shop__point--title > p:nth-of-type(1){
        font-size: 30px;
    }
    .shop__point--title > p:nth-of-type(2){
        font-size: 18px;
    }
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	treatment
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.shop__treatment .type1__flex3{
    align-items: flex-start;
}
.shop__treatment .type1__flex3 > div{
    width: 31.7%;
}
.shop__treatment--title{
    margin-bottom: 16px;
}
.shop__treatment--title > p{
    color: #705319;
    font-size: 20px;
	font-weight: 700;
	line-height: 1;
    letter-spacing: 0.03em;
}
.shop__treatment .type1__flex3 > div img{
    margin-bottom: 16px;
}
@media only screen and (max-width: 768px) {
    .shop__treatment .type1__flex3{
        flex-direction: column;
    }
    .shop__treatment .type1__flex3 > div{
        width: 100%;
        margin-bottom: 32px;
    }
    .shop__treatment--title{
        margin-bottom: 12px;
    }
    .shop__treatment--title > p{
        font-size: 18px;
    }
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	voice
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.shop__voice .type1__flex2{
    align-items: flex-start;
}
.shop__voice .type1__flex2 > div{
    width: 48%;
}
@media only screen and (max-width: 768px) {
    .shop__voice .type1__flex2{
        flex-direction: column;
    }
    .shop__voice .type1__flex2 > div{
        width: 100%;
        margin-bottom: 32px;
    }
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	info
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.shop__info .type1__flex2{
    align-items: flex-start;
}
.shop__info .type1__flex2 > div:nth-of-type(1){
    width: 53.6%;
}
.shop__info .type1__flex2 > div:nth-of-type(1) > div{
	display: flex;
	align-items: center;
	justify-content: flex-start;
    margin-bottom: 16px;
}
.shop__info .type1__flex2 > div:nth-of-type(1) > div > p{
    line-height: 2;
}
.shop__info .type1__flex2 > div:nth-of-type(1) > div > p a{
    color: #C3A76C;
    border-bottom: 1px solid #C3A76C;
}
.shop__info .type1__flex2 > div:nth-of-type(1) > div > p:nth-of-type(1){
    width: 22.388059701%;
    margin-right: 24px;
}
.shop__info .type1__flex2 > div:nth-of-type(1) > div > p:nth-of-type(2){
    flex: 1;
}
.shop__info .type1__flex2 > div:nth-of-type(2){
    width: 44%;
}
.shop__info .type1__flex2 > div:nth-of-type(2) iframe{
    width: 100%;
    min-height: 320px;
    max-height: 480px;
}
@media only screen and (max-width: 768px) {
    .shop__info .type1__flex2{
        flex-direction: column;
    }
    .shop__info .type1__flex2 > div:nth-of-type(1){
        width: 100%;
        margin-bottom: 32px;
    }
    .shop__info .type1__flex2 > div:nth-of-type(1) > div > p:nth-of-type(1){
        margin-right: 12px;
    }
    .shop__info .type1__flex2 > div:nth-of-type(2){
        width: 100%;
    }
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	message
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.shop__message div{
    border: 1px solid #D3C6AA;
    padding: 24px 40px;
}
@media only screen and (max-width: 768px) {
    .shop__message div{
        padding: 20px;
    }
}


/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2026-08-18 追加：求人詳細の要点・ビザ・契約前チェック・関連リンク

このコメントから下をすべて削除すれば、追加前の状態に戻ります。
親テーマの style/page/shop.css をコピーし、末尾に追記したファイルです。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

/* ---------- 求人の要点 ---------- */
.shop__summary{
	background: #fff;
	border: 1px solid #EADFC4;
	border-radius: 6px;
	padding: 20px 24px 24px;
}
.shop__summary--head{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid #F0E7D2;
}
.shop__summary--place{
	font-family: "NotoSansJP";
	font-size: 15px;
	font-weight: 700;
	color: #8A6D2F;
}
.shop__summary--job{
	font-family: "NotoSansJP";
	font-size: 14px;
	color: #4a3c1c;
}
.shop__summary--status{
	font-family: "NotoSansJP";
	font-size: 12px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 2px;
	line-height: 1.6;
}
.shop__summary--status.is-open{ background: #E8F6EC; color: #1B7A3D; }
.shop__summary--status.is-closed{ background: #F5E4E4; color: #9A2C2C; }
.shop__summary--status.is-unknown{ background: #F1EEE7; color: #6b5c3c; }

.shop__summary--facts{
	margin-top: 16px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 24px;
}
.shop__summary--facts > div{
	display: flex;
	gap: 10px;
	align-items: baseline;
	padding-bottom: 8px;
	border-bottom: 1px dotted #EADFC4;
	font-family: "NotoSansJP";
	line-height: 1.6;
}
.shop__summary--facts dt{
	flex: 0 0 84px;
	font-size: 12px;
	color: #8a8071;
}
.shop__summary--facts dd{
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	color: #333;
	word-break: break-word;
}
.shop__summary--facts > div.is-unknown dd{
	color: #a49a89;
	font-weight: 400;
}

.shop__summary--chips{
	margin-top: 14px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	padding: 0;
}
.shop__summary--chips li{
	padding: 4px 10px;
	border-radius: 999px;
	background: #F4EAD2;
	color: #4a3c1c;
	font-family: "NotoSansJP";
	font-size: 12px;
	line-height: 1.5;
}

.shop__summary--source{
	margin-top: 14px;
	font-family: "NotoSansJP";
	font-size: 12px;
	line-height: 1.8;
	color: #7a6a4a;
}

.shop__summary--cta{
	margin-top: 16px;
}
.shop__summary--line{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	border-radius: 4px;
	background: #06C755;
	color: #fff;
	font-family: "NotoSansJP";
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}
.shop__summary--note,
.shop__cta--note{
	margin-top: 8px;
	font-family: "NotoSansJP";
	font-size: 12px;
	line-height: 1.8;
	color: #7a6a4a;
	text-align: center;
}

/* ---------- ビザ・契約前チェック ---------- */
.shop__visa--inner,
.shop__checklist--inner{
	font-family: "NotoSansJP";
	font-size: 14px;
	line-height: 1.9;
	color: #333;
}
.shop__visa--status{
	padding: 10px 14px;
	background: #FEF8E8;
	border-left: 4px solid #C3A76C;
	margin-bottom: 12px;
}
.shop__visa--note{
	margin-bottom: 12px;
}
.shop__visa--lead{
	margin-top: 16px;
	font-weight: 700;
}
.shop__visa--checks{
	margin: 8px 0 16px;
	padding-left: 1.4em;
	list-style: decimal;
}
.shop__visa--checks li{
	margin-bottom: 4px;
}
.shop__visa--source{
	font-size: 12px;
	line-height: 1.8;
	color: #7a6a4a;
	padding: 12px 14px;
	background: #F7F3EA;
	border-radius: 4px;
}
.shop__visa--source span{
	display: inline-block;
	margin-top: 4px;
}
.shop__visa--links{
	margin-top: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
}
.shop__visa--links a,
.shop__checklist--link a,
.shop__related--links a{
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: #8A6D2F;
	text-decoration: underline;
}

.shop__checklist--inner ul{
	list-style: none;
	padding: 0;
	margin: 0 0 12px;
}
.shop__checklist--inner li{
	padding: 12px 0;
	border-bottom: 1px solid #F0E7D2;
}
.shop__checklist--inner li strong{
	display: block;
	color: #2D220C;
	font-weight: 700;
	margin-bottom: 2px;
}
.shop__checklist--note{
	padding: 12px 14px;
	background: #FEF8E8;
	border-radius: 4px;
}

/* ---------- 関連リンク ---------- */
.shop__related--links{
	list-style: none;
	padding: 0;
	margin: 0;
}
.shop__related--links li{
	border-bottom: 1px solid #F0E7D2;
}

@media only screen and (max-width: 768px) {
	.shop__summary{
		padding: 16px;
	}
	.shop__summary--facts{
		grid-template-columns: 1fr;
		gap: 0;
	}
	.shop__summary--facts dt{
		flex: 0 0 76px;
	}
	.shop__summary--facts > div{
		padding: 8px 0;
	}
}

/* ---------- 空の欄を出さなくなったことによる幅の調整 ----------
 * 「待遇/生活環境」「おすすめポイント」は3カラムのレイアウトですが、
 * 入力のある項目だけを出すようにしたため、1〜2件のときに
 * 列が細いまま残ってしまいます。件数に応じて幅を広げます。
 */
.shop__treatment .type1__flex3 > div:only-child,
.shop__point .type1__flex3 > div:only-child{
	width: 100%;
	max-width: 720px;
}
.shop__treatment .type1__flex3 > div:first-child:nth-last-child(2),
.shop__treatment .type1__flex3 > div:first-child:nth-last-child(2) ~ div,
.shop__point .type1__flex3 > div:first-child:nth-last-child(2),
.shop__point .type1__flex3 > div:first-child:nth-last-child(2) ~ div{
	width: 48%;
}
@media only screen and (max-width: 768px) {
	.shop__treatment .type1__flex3 > div:only-child,
	.shop__point .type1__flex3 > div:only-child,
	.shop__treatment .type1__flex3 > div:first-child:nth-last-child(2),
	.shop__treatment .type1__flex3 > div:first-child:nth-last-child(2) ~ div,
	.shop__point .type1__flex3 > div:first-child:nth-last-child(2),
	.shop__point .type1__flex3 > div:first-child:nth-last-child(2) ~ div{
		width: 100%;
	}
}

/* 給与を求人票から自動で読み取ったときの併記（2026-08-18 追加） */
.shop__summary--salary-raw{
	margin-top: 12px;
	padding: 10px 14px;
	background: #FBF7EE;
	border-radius: 4px;
	font-family: "NotoSansJP";
	font-size: 13px;
	line-height: 1.8;
	color: #4a3c1c;
}
.shop__summary--salary-raw > span{
	display: inline-block;
	margin-right: 8px;
	padding: 1px 8px;
	border-radius: 2px;
	background: #EADFC4;
	font-size: 11px;
	font-weight: 700;
	color: #6b5c3c;
}
.shop__summary--salary-raw small{
	display: block;
	margin-top: 4px;
	font-size: 11px;
	color: #8a8071;
	line-height: 1.7;
}
