/* ==========================================================================
   campaign/btjct/racconomori
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Oswald:wght@400;700&display=swap');

:root {
	--bk: #000;
	--racconomori-accent: #ff77e7;
	--racconomori-accent-green: #91f39b;
	--racconomori-accent-light: #ffd5f8;
	--racconomori-gray: #636363;
	--racconomori-gray-light: #efefef;
}


body{
	font-family: "Noto Sans JP", sans-serif,"Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3","Yu Gothic", "Yu Gothic medium", "Arial", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	margin: 0 auto;/*MV中央揃えにするため必須*/
	overflow-x: hidden;/*必須*/
	background-color: var(--bk);
	color: #fff;
}

img {
	max-width: 100%;
	height: auto;
}

a{
	text-decoration: none;
	color: inherit;
}
a:hover{
	color: inherit;
}
a:link, a:visited, a:hover, a:active, a:focus{
	text-decoration: none;
}

h1,
h2,
h3,
h4,
ul,
ol,
dl,
dt,
dd,
p,
figure{
	margin:0;
	padding:0;
}

ul,
ol{
	list-style-type: none;
}

button:focus {
	outline: none;
}


/*共通*/
.red{
	color: #B80E0B;
}

/*リスト*/
.dot-list li{
	position: relative;
	padding-left: 15px;
}

/*リストの「・」*/
.dot-list li:before{
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

/*ドットなし・字下げ*/
.dot-list li.indent{
	padding-left: 0;
}
.dot-list li.indent:before{
	display: none;
}



@media (min-width: 992px) {
	#racconomori .container {
		padding-left: 0;
		padding-right: 0;
	}
}

/* -----------------------------
   hero
----------------------------- */
#racconomori #hero .mv-area {
	text-align: center;
	margin: auto;
}

#racconomori #hero .img-fluid{
    width: 100%;
}

/* -----------------------------
   p-attention
----------------------------- */
.p-attention {
	position: relative;
	margin-top: -15.3vw;
	padding: 65px 0 50px;
	text-align: center;
	overflow: hidden;
}

.p-attention__bg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 1238px;
	height: 263px;
	background-image: url("/static/img/campaign/btjct/racconomori/deco-attention-pc.webp");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	pointer-events: none;
	z-index: 0;
}

.p-attention__ttl {
	position: relative;
	z-index: 1;
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 16px;
}

.p-attention__lead {
	position: relative;
	z-index: 1;
	font-size: 18px;
	line-height: 1.8;
	margin: 0;
}

/* -----------------------------
   c-card（WORK SHOP / READ ME共通の白カード）
----------------------------- */
.c-card {
	background-color: #fff;
	border-radius: 16px;
	color: var(--bk);
	max-width: 1140px;
	margin: 0 auto;
	padding: 40px 45px;
	position: relative;
}

.c-card__ttl {
	margin-bottom: 15px;
}

/* -----------------------------
   p-workshop
----------------------------- */
.p-workshop {
	position: relative;
	z-index: 2;
	padding: 30px 0;
}

.p-workshop__top {
	display: flex;
	align-items: flex-start;
	gap: 40px;
}

.p-workshop__photos {
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
	max-width: 374px;
}

.p-workshop__photo {
	flex: 1 1 50%;
	text-align: center;
}

.p-workshop__photoName {
	font-size: 14px;
	margin: 8px 0 0;
}

.p-workshop__details {
	flex: 1;
}

.p-workshop__infoRow {
	display: flex;
	flex-wrap: wrap;
	padding: 19px 0;
	border-bottom: 1px solid #8c8c8c;
	font-size: 15px;
}

.p-workshop__infoRow--profiles {
	display: block;
	border-bottom: none;
	padding-bottom: 0;
}

.p-workshop__infoRow:first-child {
	padding-top: 0;
}

.p-workshop__infoRow dt {
	width: 80px;
	color: var(--racconomori-gray);
	font-weight: 600;
	flex-shrink: 0;
}

.p-workshop__infoRow dd {
	margin: 0;
	flex: 1;
}

.p-workshop__mark {
	font-weight: 600;
	font-size: 17px;
	background: linear-gradient(transparent 60%, var(--racconomori-accent-light) 60%);
}

.p-workshop__profilesTtl {
	margin-bottom: 12px;
}

.p-workshop__profiles {
	display: flex;
	gap: 24px;
	margin: 0;
}

.p-workshop__profile {
	flex: 1 1 50%;
	margin-bottom: 0;
}

.p-workshop__profile:last-child {
	margin-bottom: 0;
}

.p-workshop__profileName {
	font-weight: 600;
	font-size: 15px;
	margin-bottom: 8px;
}

.p-workshop__profileBio {
	font-size: 15px;
	line-height: 1.3;
	margin-bottom: 16px;
}

.p-workshop__achievement {
	position: relative;
	padding: 16px;
	margin-bottom: 16px;
	background-color: var(--racconomori-gray-light);
	border-left: 1px solid var(--bk);
}

.p-workshop__achievementLabel {
	font-size: 14px;
	margin-bottom: 6px;
}

.p-workshop__achievementText {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
}

.p-workshop__sns {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	font-size: 15px;
	color: var(--bk);
	text-decoration: none;
	border-bottom: 1px solid var(--bk);
	width: fit-content;
	margin-left: auto;
}

.p-workshop__sns::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	background-image: url("/static/img/campaign/btjct/racconomori/icon-arrow-up-right-bk.svg");
	background-size: contain;
	background-repeat: no-repeat;
}

.p-workshop__sns:hover {
	opacity: 0.7;
}

/* -----------------------------
   p-support
----------------------------- */
.p-support {
	position: relative;
	margin-top: -90px;
	padding: 130px 0 230px;
	background-image: url("/static/img/campaign/btjct/racconomori/bg-strip-pc.webp");
	background-size: auto;
	background-repeat: no-repeat;
	background-position: top center;
}

.p-support .container {
	position: relative;
	z-index: 1;
}

.p-support__logo {
	display: block;
	margin: 0 auto 42px;
}

.p-support__row {
	display: flex;
	gap: 11%;
	justify-content: space-between;
}

.p-support__col {
	text-align: center;
}

.p-support__ttl {
	text-align: center;
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 16px;
}

.p-support__img {
	margin-bottom: 16px;
}

.p-support__text {
	text-align: center;
	font-size: 16px;
	margin-bottom: 12px;
	line-height: 1.3;
}

.p-support__link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: #fff;
	font-size: 15px;
	text-decoration: none;
	border-bottom: 1px solid #fff;
	width: fit-content;
	margin: 0 auto;
}

.p-support__link:hover{
	opacity: 0.7;
}

.p-support__link::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 13px;
	background-image: url("/static/img/campaign/btjct/racconomori/icon-arrow-right-w.svg");
	background-size: contain;
	background-repeat: no-repeat;
	transform: rotate(-45deg);
}

/* -----------------------------
   p-gallery（slick）
----------------------------- */
.p-gallery {
	position: relative;
	padding: 10px 0;
	margin: 60px auto 0;
}

.p-gallery::before,
.p-gallery::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, #ff77e7 0%, #ffffff 50%, #77ff81 100%);
}

.p-gallery::before {
	top: 0;
}

.p-gallery::after {
	bottom: 0;
}


/* slider
----------------------------------*/
.slick-slider {
	margin-bottom: 0;
}

.slick-slide img {
	width: 100%;
	max-width: 640px;
	height: 360px;
	object-fit: cover;
}

@media (max-width: 767px) {
	.slick-slide img {
		max-width: 197px;
		height: 111px;
	}
}

/* -----------------------------
   p-readme
----------------------------- */
.p-readme {
	padding: 0;
	margin-top: -160px;
	position: relative;
    z-index: 2;
}

.p-readme__ttl {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--racconomori-gray);
	font-weight: 600;
	font-size: 18px;
	margin-bottom: 12px;
}

.p-readme__ttl::after {
	content: "";
	flex: 1;
	height: 1px;
	background-color: #8c8c8c;
}

.p-readme__list {
	font-size: 15px;
	padding-left: 55px;
	padding-bottom: 30px;
	margin-bottom: 24px;
	border-bottom: solid 1px #8c8c8c;
}

.p-readme__list li {
	margin-bottom: 10px;
}

.p-readme__list li:last-child {
	margin-bottom: 0;
}

.p-readme__btnWrap {
	text-align: center;
}

.p-readme__noteText {
	font-size: 14px;
	color: var(--racconomori-gray);
	margin-top: 7px;
}

/* -----------------------------
   c-btn（応募するボタン）
----------------------------- */
.c-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	max-width: 370px;
	padding: 16px 24px;
	border: 3px solid transparent;
	border-radius: 100px;
	background-image: linear-gradient(var(--bk), var(--bk)), linear-gradient(to right, var(--racconomori-accent), var(--racconomori-accent-green));
	background-origin: border-box;
	background-clip: padding-box, border-box;
	color: #fff;
	font-weight: 600;
	font-size: 18px;
	text-decoration: none;
	transition: 0.2s;
}

.c-btn::before {
	content: "";
	width: 16px;
	height: 15px;
	background-image: url("/static/img/campaign/btjct/racconomori/icon-arrow-right-w.svg");
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
}

.c-btn:hover {
	opacity: 0.7;
	color: #fff;
}

/* -----------------------------
   p-credit
----------------------------- */
.p-credit {
	background-color: var(--bk);
	color: #fff;
	text-align: center;
	font-size: 16px;
	line-height: 1.6;
	padding: 24px 0;
	margin: 0;
}

.p-credit a {
	color: #fff;
}


/* ==========================================================================
   1921px以上の時
   ========================================================================== */
@media (min-width: 1921px) {
	.p-support {
		background-size: cover;
		padding: 7vw 0 18vw;
	}
	.p-support .container {
		min-height: 750px;
		display: flex;
		flex-flow: column;
		justify-content: center;
	}
	.p-readme{
		margin-top: -14vw;
	}
}

/* ==========================================================================
   コンテナ幅(1140px)を下回ったら .p-attention__bg を画面幅に合わせて縮小する
   ========================================================================== */
@media (max-width: 1140px) {
	.p-attention__bg {
		width: 100%;
		height: 100%;
	}
}

/* ==========================================================================
   991px以下は WORK SHOP の写真+詳細ブロックを縦並びにする
   ========================================================================== */
@media (max-width: 991px) {
	.p-workshop__top {
		display: block;
	}

	.p-workshop__photos {
		margin-bottom: 24px;
	}

	.p-support__row {
		gap: 5%;
	}
}

/* ==========================================================================
   SP（max-width: 767px）
   ========================================================================== */
@media (max-width: 767px) {
	.p-attention {
		margin-top: -54.5vw;
		padding: 17vw 0 0;
	}

	.p-attention__bg {
		top: 0;
		left: 50%;
		transform: translate(-50%, 0);
		width: 100%;
		height: 100%;
		background-image: url("/static/img/campaign/btjct/racconomori/deco-attention-sp.webp");
		background-position: top center;
	}

	.p-attention__lead {
		font-size: 14px;
	}

	.c-card {
		max-width: none;
		margin: 0;
		padding: 25px 15px;
	}

	.p-workshop__card .c-card__ttl {
		max-width: 240px;
	}

	.p-readme__card .c-card__ttl {
		max-width: 173px;
	}

	.p-workshop__infoRow {
		display: block;
		padding: 12px 0;
		font-size: 16px;
	}

	.p-workshop__infoRow dt {
		width: auto;
		margin-bottom: 4px;
	}

	.p-workshop__mark {
		font-size: 18px;
	}

	.p-workshop__profiles {
		display: block;
	}

	.p-workshop__profile {
		flex: none;
		margin-bottom: 32px;
	}

	.p-workshop__profileName,
	.p-workshop__profileBio {
		font-size: 16px;
	}

	.p-support {
		background-image: url("/static/img/campaign/btjct/racconomori/bg-strip-sp.webp");
		background-size: 100% auto;
		background-repeat: no-repeat;
		background-position: top center;
		margin-top: -50vw;
		padding: 55vw 0 30vw;
	}

	.p-support::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: -80vw;
		width: 100%;
		height: 100%;
		background-image: url("/static/img/campaign/btjct/racconomori/bg-strip-sp-bottom.webp");
		background-size: 100% auto;
		background-repeat: no-repeat;
		background-position: bottom center;
		pointer-events: none;
		z-index: 0;
	}

	.p-support__row {
		flex-direction: column;
		gap: 40px;
	}

	.p-support__col {
		flex: 1 1 auto;
	}

	.p-support__ttl {
		font-size: 18px;
	}

	.p-support__text {
		font-size: 14px;
	}

	.p-support__link {
		font-size: 14px;
	}

	.p-readme {
		padding: 0;
		margin-top: -40px;
	}

	.p-readme__ttl {
		font-size: 16px;
	}

	.p-readme__list {
		padding-left: 0;
		font-size: 14px;
	}

	.p-readme__note {
		display: block;
		padding: 20px;
		text-align: left;
	}

	.p-readme__noteTtl {
		margin-bottom: 8px;
	}

	.c-btn {
		font-size: 16px;
	}

	.p-credit {
		font-size: 14px;
	}
}

/* ==========================================================================
   PC設計値(1920px)超過時は vw のスケーリングを止めて固定値にする
   ========================================================================== */
@media (min-width: 1920px) {
	.p-attention {
		margin-top: -293px;
	}
}
