@charset "UTF-8";

/*--------------------------------------------------------------------

共通要素

--------------------------------------------------------------------*/
* {
	-moz-box-sizing: border-box;
}
html {
	scroll-padding-top: 3em;
	font-size: 62.5%;
}
body {
	background: #fff;
	font-family: YakuHanJP, "Noto Sans JP", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	line-height: 1;
	margin: 0 auto;
	width: 100%;
	overflow-y: scroll;
	overflow-x: hidden;
	color: #000;
}
a {
	display: inline;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: #1d71ed;
}
a:hover {
	text-decoration: none;
}
.fade {
	opacity: 1;
	transition: opacity .4s ease-in-out;
	-moz-transition: opacity .4s ease-in-out;
	-webkit-transition: opacity .4s ease-in-out;
}
.fade:hover {
	opacity: 0.5;
}
a img {
	border:　none;
}
.hide__sp {
	display: none;
}
.hide__tb {
	display: none;
}
.hide__pc {
	display: block;
}
.resizeAnimationStopper * {
	animation: none !important;
	transition: none !important;
}

@media screen and (max-width:767.98px) {
	html {
		/* font-size: 75%; */
	}
	.hide__tb {
		display: block;
	}
	.hide__pc {
		display: none;
	}
}
@media screen and (max-width:575.98px) {
	.hide__sp {
		display: block;
	}
	.hide__tb {
		display: none;
	}
}


/* 共通カラー
--------------------------------- */
:root {
	--main-color: #5a90f4;
}

/* テスト用
@media screen and (max-width:991.98px) {
	:root {
		--main-color: #c00;
	}
}
@media screen and (max-width:767.98px) {
	:root {
		--main-color: #5a90f4;
	}
}
@media screen and (max-width:575.98px) {
	:root {
		--main-color: #c00;
	}
} */


/* 共通パーツ
--------------------------------- */
.inner {
	width: 90%;
	max-width: 980px;
	margin: 0 auto;
	position: relative;
}

.textwrap {
	word-break: keep-all;
	overflow-wrap: anywhere;
	text-align: center;
}

@media screen and (max-width:575.98px) {
	.wbr__hide--sp {
		display: none;
	}
}


/* ヘッダー
--------------------------------- */
/* ヘッダー固定 */
.global-nav {
	position: fixed;
	top: 0px;
	width: 100%;
	background-color: #fff;
	z-index: 200;
}
/* グローバルナビゲーション */
.global-nav {
	border-bottom: 1px solid #4a4a4a;
}
.global-nav__container {
	height: 64px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.global-nav__logo {
	width: 96px;
}
.global-nav__inquiry {
	height: 25px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 100vw;
	padding: 0 20px;
	background-color: #2b364c;
	letter-spacing: 2px;
	text-decoration: none;
	font-weight: 700;
	font-size: 1.3rem;
	color: #fff;
}

/* パンくずリスト */
.breadcrumb {
	margin-top: 64px;
	height: 30px;
	border-bottom: 1px solid #4a4a4a;
	display: flex;
	justify-items: space-between;
	align-items: center;
	font-size: 1.2rem;
	color: var(--text-color-sub);
}
.breadcrumb__list {
	display: flex;
}
.breadcrumb__item + .breadcrumb__item:before {
	display: inline-block;
	padding: 0 1rem 0 1.2rem;
	content: ">";
	font-family: "ＭＳ Ｐゴシック", san-serif;
}
.breadcrumb__item a {
	text-decoration: none;
	color: var(--text-color-sub);
}
.breadcrumb__item a:hover {
	text-decoration: underline;
}

@media screen and (max-width:767.98px) {
	.breadcrumb__item + .breadcrumb__item:before {
		padding: 0 0.5rem 0 0.7rem;
	}
}


/* タイトル
--------------------------------- */
.title {
	width: 90%;
	margin: 60px auto;
}
.title__container {
	max-width: 700px;
	margin: 0 auto;
}


/* メインビジュアル
--------------------------------- */
.mainvisual {
	box-sizing:border-box;
	text-align: center;
	height: 220px;
}
.mainvisual{
	width: 100%;
	margin: 0 auto;
	background: url(../img/mainvisual.webp);
	background-position: center;
	-webkit-background-size: 1386px 220px;
	background-size:   1386px 220px;
	-webkit-animation: bgscroll 90s linear infinite;
	animation: bgscroll 90s linear infinite;
}
@-webkit-keyframes bgscroll {
	0% {background-position: 0 0;}
	100% {background-position: 1386px 0 ;}
}
@keyframes bgscroll {
	0% {background-position: 0 0;}
	100% {background-position: 1386px 0 ;}
}

@media screen and (max-width:767.98px) {
	.mainvisual {
		height: 300px;
	}
	.mainvisual{
		-webkit-background-size: 1890px 300px;
		background-size: 1890px 300px;
		-webkit-animation: bgscroll 30s linear infinite;
		animation: bgscroll 90s linear infinite;
	}
	@-webkit-keyframes bgscroll {
		0% {background-position: 0 0;}
		100% {background-position: 1890px 0 ;}
	}
	@keyframes bgscroll {
		0% {background-position: 0 0;}
		100% {background-position: 1890px 0 ;}
	}  
}


/* おうちごはん部とは
--------------------------------- */
.about {
	margin: 60px auto;
	border-bottom: 1px solid #000;
	text-align: center;
}
.about__title {
	margin: 0 auto 60px;
	text-align: center;
}
.about__title-main {
	display: block;
	max-width: 480px;
	margin: 0 auto 20px;
}
.about__title-sub {
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 1.4rem;
}

.about__catch {
	margin: 0 auto 40px;
	line-height: 1.8;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 2.0rem;
}
.about__description {
	margin: 0 auto 36px;
	text-align: center;
	line-height: 2;
	letter-spacing: 1px;
	font-weight: 500;
	font-size: 1.6rem;
}

.about__button {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-width: 260px;
	height: 50px;
	border-radius: 100vw;
	margin: 0 auto 72px;
	padding: 0;
	background: #d16134 url(../img/icon-button-arrow.png) no-repeat center right;
	text-align: center;
	text-decoration: none;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 2rem;
	color: #fff;
}

@media screen and (max-width:767.98px) {
	.about__title {
		margin: 0 auto 48px;
	}
	.about__catch {
		letter-spacing: 0px;
	}
	.about__description {
		text-align: justify;
	}
	.about__button {
		height: 48px;
		font-size: 1.8rem;
	}
}

@media screen and (max-width:479.98px) {
	.about__title {
		margin: 0 auto 42px;
	}
	.about__title-sub {
		font-size: 1.2rem;
	}
	.about__catch {
		margin: 0 auto 40px;
		font-size: 1.8rem;
	}
	.about__description {
		margin: 0 auto 24px;
		line-height: 1.8;
		letter-spacing: 0;
		font-size: 1.4rem;
	}
	.about__button {
		height: 42px;
		min-width: 200px;
		margin: 0 auto 64px;
		font-size: 1.6rem;
	}
}


/* おうちごはん部の活動内容
--------------------------------- */
.activity {
	margin: 60px auto 0;
	text-align: center;
}
.activity__container {
	padding: 0 0 80px;
}
.activity__title {
	margin: 0 auto 54px;
	text-align: center;
}
.activity__title-main {
	display: block;
	max-width: 480px;
	margin: 0 auto 20px;
}
.activity__title-sub {
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 1.4rem;
}
.activity__catch {
	margin: 0 auto 54px;
	line-height: 1.8;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 2.0rem;
}

.activity__item {
	border-radius: 32px;
	margin: 0 auto 32px;
	padding: 9px;
	background: #ede4d5 url(../img/bg-activity-item.webp) repeat-y;
}
.activity__item--01 {
	background: transparent url(../img/bg-activity-item-01.png) no-repeat 18px 7px;
}
.activity__item--02 {
	background: transparent url(../img/bg-activity-item-02.png) no-repeat 9px 7px;
}
.activity__item--03 {
	background: transparent url(../img/bg-activity-item-03.png) no-repeat 11px 7px;
}
.activity__item-container {
	position: relative;
	border: 2px solid #cab7ab;
	border-radius: 24px;
}
.activity__item-title {
	margin: 40px auto 20px;
	padding-bottom: 36px;
	background: transparent url(../img/border-activity.png) no-repeat center bottom;
	letter-spacing: 3px;
	line-height: 1.4;
	font-weight: 700;
	font-size: 2.6rem;
	color: #784430;
}
.activity__item-title-sub {
	position: absolute;
	right: 20px;
	bottom: 20px;
	text-align: right;
	line-height: 1.2;
	letter-spacing: 1px;
	font-size: 1.2rem;
	color: #bfaaa2;
}
.activity__item-description {
	margin: 0 auto 48px;
	line-height: 2;
	letter-spacing: 1px;
	font-size: 1.6rem;
}
.activity__hashtag {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: -16px auto 60px;
}
.activity__hashtag-tag {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-width: 256px;
	height: 56px;
	margin: 0 8px;
	background: #784430;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 2rem;
	color: #fff;
}
.activity__hashtag-plus {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin: 0 4px;
	font-weight: 700;
	font-size: 4.4rem;
	color: #784430;
}

@media screen and (max-width:767.98px) {
	.activity__container {
		padding: 0 0 60px;
	}
	.activity__item-title-sub {
		position: absolute;
		right: 5%;
		bottom: 10px;
	}
	.activity__item-description {
		width: 90%;
		margin: 0 auto 40px;
		text-align: justify;
		line-height: 1.8;
		letter-spacing: 0;
		font-size: 1.6rem;
	}
	.activity__hashtag {
		flex-direction: column;
	}
	.activity__hashtag-plus {
		margin: 0 4px 4px;
	}
}

@media screen and (max-width:479.98px) {
	.activity__container {
		padding: 0 0 40px;
	}
	.activity__title {
		margin: 0 auto 40px;
	}
	.activity__title-sub {
		font-size: 1.2rem;
	}
	.activity__catch {
		margin: 0 auto 42px;
	}
	.activity__item-title {
		padding-bottom: 32px;
		background-size: 100%;
		letter-spacing: 1px;
		font-size: 2rem;
	}
	.activity__item-description {
		margin: 0 auto 40px;
		line-height: 1.8;
		font-size: 1.4rem;
	}
	.activity__hashtag-tag {
		width: 80%;
		min-width: auto;
		height: 48px;
		margin: 0 8px;
		letter-spacing: 1px;
		font-size: 1.6rem;
	}
}


/* 部員登録はこちら
--------------------------------- */
.register {
	background: #c75b31 url(../img/bg-register.jpg) center center;
	text-align: center;
	color: #fff;
}
.register__container {
	padding: 60px 0 60px;
}
.register__inner {
  border-bottom: 1px dotted #fff;
  margin-bottom: 48px;
}
.register__title {
	margin: 0 auto 48px;
}
.register__title-main {
	display: block;
	margin: 0 auto 20px;
	letter-spacing: 6px;
	font-size: 3rem;
	font-weight: 700;
}
.register__title-sub {
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 1.4rem;
}
.register__description {
	margin: 0 auto 48px;
	line-height: 1.6;
	font-size: 1.8rem;
	font-weight: 700;
	color: #fff;
}
.register__button-title {
	margin: 0 auto 24px;
	letter-spacing: 1px;
	font-size: 2.4rem;
	font-weight: 700;
	color: #fff;
}
.register__button {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 480px;
	height: 70px;
	border: 3px solid #fff;
	border-radius: 16px;
	margin: 0 auto 32px;
	padding: 0 0 0 8px;
	background: #06c755 url(../img/icon-line.png) no-repeat 13px center;
	text-align: center;
	text-decoration: none;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 2.5rem;
	color: #fff;
}
.register__button-linebreak {
	display: none;
}
.register__qrcode {
	max-width: 160px;
	margin: 0 auto 32px;
}
.register__note {
  margin-bottom: 48px;
	line-height: 2;
	font-size: 1.2rem;
	color: #fff;
}
@media screen and (max-width:767.98px) {
	.register__title-main {
		font-size: 2.8rem;
	}
	.register__button {
		background: #06c755 url(../img/icon-line.png) no-repeat 16px center;
		font-size: 2.2rem;
	}
	.register__note {
		line-height: 1.8;
		text-align: justify;
	}
}
@media screen and (max-width:479.98px) {
	.register__title {
		margin: 0 auto 40px;
	}
	.register__title-main {
		letter-spacing: 3px;
		font-size: 2.4rem;
	}
	.register__title-sub {
		font-size: 1.2rem;
	}
	.register__description {
		margin: 0 auto 32px;
		text-align: justify;
		line-height: 1.6;
		font-size: 1.5rem;
	}
	.register__button-title {
		font-size: 1.8rem;
	}
	.register__button {
		max-width: 90%;
		height: 70px;
		padding: 0 0 0 24px;
		background: #06c755 url(../img/icon-line.png) no-repeat 13px center;
		line-height: 1.2;
		letter-spacing: 0;
		font-size: 1.8rem;
	}
	.register__button-linebreak {
		display: block;
	}
}


/* IG連携
--------------------------------- */
.connectig__title {
	margin: 0 auto 36px;
  line-height: 1.4;
	letter-spacing: 1px;
	font-size: 2.4rem;
	font-weight: 700;
	color: #fff;
}
.connectig_step {
  margin-bottom: 1em;
	line-height: 1;
	font-size: 2rem;
	font-weight: 700;
	color: #fff;
}
.connectig_screenshot {
  border-radius: 4px;
  margin-bottom: 1em;
}
.connectig_text {
	line-height: 1.6;
	font-size: 1.6rem;
	font-weight: 700;
	color: #fff;
}
.swiper-container {
  width: 90%;
  max-width: 1280px;
  margin: 0 auto;
}

@media screen and (max-width:959.98px) {
  .swiper-container {
    width: 100%;
  }
  .swiper-slide {
    cursor: grab;
  }
}
@media screen and (max-width:479.98px) {
	.connectig__title {
    letter-spacing: 0;
		font-size: 1.8rem;
	}
  .connectig_step {
    margin-bottom: 1em;
    line-height: 1;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
  }
}


/* 現在募集中のキャンペーン
--------------------------------- */
.campaign {
	text-align: center;
}
.campaign__container {
	padding: 84px 0;
}
.campaign__title {
	margin: 0 auto 84px;
	letter-spacing: 1px;
	font-size: 2.1rem;
	font-weight: 700;
}

.campaign__list {
	display: flex;
	justify-content: center;
	align-items: center;
  gap: clamp(1.875rem, 1.420rem + 1.942vw, 3.75rem);
}
.campaign__item {
	max-width: 400px;
}
.campaign__banner-img  {
	border: 1px solid #d9e2e1;
}

@media screen and (max-width:767.98px) {
	.campaign__container {
		padding: 60px 0;
	}
	.campaign__title {
		margin: 0 auto 60px;
	}
	.campaign__item {
		width: 90%;
	}
}
@media screen and (max-width:479.98px) {
	.campaign__container {
		padding: 40px 0;
	}
	.campaign__title {
		margin: 0 auto 40px;
		font-size: 2rem;
	}
  .campaign__list {
    flex-direction: column;
  }
}


/* フッター
--------------------------------- */
.footer__pagetop {
	height: 50px;
	display: flex;
	justify-content: center;
	align-item: center;
	background: #d9e2e1;
	color: #fff;
}
.footer__pagetop-icon {
	width: 36px;
}

.footer__container {
	position: relative;
	padding: 48px 0 24px;
}
.footer__link-list {
	display: flex;
	justify-content: center;
	gap: 48px;
	margin: 0 auto 32px;
	font-size: 1.2rem;
	letter-spacing: 1px;
}
.footer__link-list--sub {
	gap: 40px;
	margin: 0 auto 16px;
	font-size: 1.1rem;
}
.footer__link-item {
	display: inline;
}
.footer__link {
	text-decoration: none;
	color: #000;
}
.footer__copyright {
	padding-top: 10px;
	text-align: center;
	letter-spacing: 1px;
}

.footer__badge--npojop {
	position: absolute;
	top: 36px;
	right: 100px;
}
.footer__badge--pmark {
	position: absolute;
	top: 30px;
	right: 0px;
}

@media screen and (max-width:767.98px) {
	.footer__container {
		padding: 48px 0 36px;
		text-align: center;
	}
	.footer__link-list {
		justify-content: center;
		gap: 12px;
		flex-wrap: wrap;
		margin: 0 auto 32px;
	}
	.footer__link-list--sub {
		gap: 12px;
		margin: 0 auto 16px;
		font-size: 1.1rem;
	}
	.footer__link-item {
		display: block;
		width: 30%;
		text-align: center;
	}
	.footer__badge {
		display: inline-block;
		margin: 0 20px 20px;
	}
	.footer__badge--npojop {
		position: relative;
		top: 0;
		right: 0;
	}
	.footer__badge--pmark {
		position: relative;
		top: 0;
		right: 0px;
	}
}
