/* Format / Common */
.mainframe_ {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	font-size: 1rem;
	color: #000;
}

.header_wrapper.fixed {
	visibility: hidden;
	pointer-events: none;
}

.mainframe_ .is-tight {
		letter-spacing: -0.02em;
	}

.mainframe_ .h2-title {
		position: relative;
		text-align: center;
		font-weight: bold;
		padding-bottom: 20px
	}

.mainframe_ .h2-title::after {
			content: "";
			position: absolute;
			bottom: 0;
			left: calc(50% - 20px);
			width: 40px;
			height: 3px;
			background-color: #FFE001;
		}

.mainframe_ .h2-title p {
			margin-top: 0;
			margin-bottom: 0;
			font-weight: normal;
			letter-spacing: 0.1em;
		}

.mainframe_ .h2-title h2 {
			font-size: 2rem;
			line-height: 1.5;
		}

.mainframe_ .h2-title h2 span {
				font-size: 1.25rem;
				line-height: 1.5
			}

@media screen and (max-width: 767px) {
			.mainframe_ .h2-title h2 span {
					display: block
			}
				}

@media screen and (min-width: 768px) {
			.mainframe_ .h2-title h2 span {
					margin-left: 0.5em
			}
				}

.mainframe_ .section {
		margin-top: 62px;
		padding-left: 20px;
		padding-right: 20px;
		max-width: 1400px;
		margin-left: auto;
		margin-right: auto;
		box-sizing: content-box;
	}

.mainframe_ .br-pc {
		display: none
	}

@media screen and (min-width: 768px) {

	.mainframe_ .br-pc {
			display: inline
	}
		}

.mainframe_ .br-sp {
		display: inline
	}

@media screen and (min-width: 768px) {

	.mainframe_ .br-sp {
			display: none
	}
		}

.mainframe_ .nikkor-btn {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 290px;
		height: 47px;
		border-radius: 30px;
		font-weight: bold;
		color: inherit;
		background-color: #FFE001
	}

@media screen and (max-width: 767px) {

	.mainframe_ .nikkor-btn {
			font-size: 1rem
	}
		}

.mainframe_ .nikkor-btn {
		/* 別サイトへ遷移するボタンに付く外部リンクアイコン */
	}

.mainframe_ .nikkor-btn.is-external::after {
			content: "";
			position: absolute;
			top: 50%;
			right: 20px;
			width: 12px;
			height: 12px;
			margin-top: -6px;
			background-color: currentColor;
			-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 2.5V11H9.5V12H0V2.5H1ZM12 0V10H2V0H12ZM3 3V9H11V3H3Z'/%3E%3C/svg%3E") no-repeat center / contain;
			mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 2.5V11H9.5V12H0V2.5H1ZM12 0V10H2V0H12ZM3 3V9H11V3H3Z'/%3E%3C/svg%3E") no-repeat center / contain;
		}

/* nikkor-nav */

.mainframe_ .nikkor-nav {
		width: 100vw;
		border-top: 1px solid #EFEFEF;
		border-bottom: 1px solid #EFEFEF
	}

@media screen and (min-width: 1081px) {
	.mainframe_ .nikkor-nav {
			width: 100%
	}
		}

.mainframe_ .nikkor-nav.is-fixed {
			position: fixed;
			top: 0;
			left: 0;
			z-index: 100;
		}

.mainframe_ .nikkor-nav__list {
			display: grid;
			margin: 0;
			padding: 0;
			background-color: #fff;
			grid-template-columns: repeat(3, minmax(0, 1fr))
		}

@media screen and (min-width: 1081px) {
		.mainframe_ .nikkor-nav__list {
				grid-template-columns: repeat(5, minmax(0, 1fr))
		}
			}

.mainframe_ .nikkor-nav__item {
			list-style: none;
			position: relative;
			text-align: center;
			height: 58px;
			font-weight: bold;
			letter-spacing: -0.05em
		}

@media screen and (min-width: 1081px) {
		.mainframe_ .nikkor-nav__item {
				height: 82px
		}
			}

@media screen and (max-width: 1080px) {
			.mainframe_ .nikkor-nav__item.is-pc {
					display: none
			}
				}

.mainframe_ .nikkor-nav__item.is-pc:not(:first-child) {
					border-left: 1px solid #EFEFEF;
				}

@media screen and (min-width: 1081px) {
			.mainframe_ .nikkor-nav__item.is-sp {
					display: none
			}
				}

.mainframe_ .nikkor-nav__item.is-login {
				background-color: #F3EEDA;
			}

@media screen and (max-width: 1080px) {
				.mainframe_ .nikkor-nav__item.is-login span {
						display: none
				}
					}

.mainframe_ .nikkor-nav__item.is-register {
				background-color: #FFE100;
			}

@media screen and (max-width: 1080px) {
				.mainframe_ .nikkor-nav__item.is-register a {
						grid-column-gap: 8px;
						-moz-column-gap: 8px;
						     column-gap: 8px
				}
					}

.mainframe_ .nikkor-nav__item button {
				margin: 0;
				padding: 0;
				border: 0;
				background: none;
				font: inherit;
				letter-spacing: inherit;
				cursor: pointer;
			}

.mainframe_ .nikkor-nav__item a,
			.mainframe_ .nikkor-nav__item button {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 100%;
				height: 100%;
				color: inherit;
				line-height: 1.5
			}

@media screen and (max-width: 1080px) {
			.mainframe_ .nikkor-nav__item a,
			.mainframe_ .nikkor-nav__item button {
					justify-content: flex-start;
					padding-left: 15px;
					grid-column-gap: 17px;
					-moz-column-gap: 17px;
					     column-gap: 17px
			}
				}

@media screen and (min-width: 1081px) {
			.mainframe_ .nikkor-nav__item img,
			.mainframe_ .nikkor-nav__item svg {
					position: absolute;
					top: 50%;
					transform: translateY(-50%);
					left: 23px
			}
				}

/* トップページは MV に直接つなげるため上罫線なし */

.mainframe_ .nikkor-nav.toppage {
		border-top: none;
	}

/* hamburger-nav */

.mainframe_ .hamburger-nav {
		position: fixed;
		visibility: hidden;
		pointer-events: none;
		opacity: 0;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100dvh;
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 100px;
		z-index: 101;
		background-color: #fff
	}

.mainframe_ .hamburger-nav.is-show {
			visibility: visible;
			opacity: 1;
			pointer-events: auto;
			overflow: scroll;
		}

@media screen and (min-width: 1081px) {
	.mainframe_ .hamburger-nav {
			display: none
	}
		}

.mainframe_ .hamburger-nav__header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			height: 90px;
			padding-left: 5px;
		}

.mainframe_ .hamburger-nav__logo {
			display: block;
			line-height: 0;
		}

.mainframe_ .hamburger-nav__logo img {
				display: block;
			}

.mainframe_ .hamburger-nav__close {
			margin: 0;
			padding: 0;
			border: 0;
			background: none;
			line-height: 0;
			cursor: pointer;
		}

.mainframe_ .hamburger-nav__close img {
				display: block;
			}

.mainframe_ .hamburger-nav__list {
			margin: 0;
			padding: 0;
		}

.mainframe_ .hamburger-nav__item {
			list-style: none;
			font-weight: bold;
			border-top: 1px solid #EFEFEF;
		}

.mainframe_ .hamburger-nav__item a {
				height: 80px;
				display: flex;
				align-items: center;
				padding-left: 5px;
				padding-right: 5px;
				color: inherit;
			}

.mainframe_ .hamburger-nav__btn {
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			height: 80px;
			font-weight: bold;
			color: inherit
		}

.mainframe_ .hamburger-nav__btn:not(.hamburger-nav__photohub) img,
			.mainframe_ .hamburger-nav__btn:not(.hamburger-nav__photohub) svg {
				position: absolute;
				top: 50%;
				left: 25px;
				transform: translateY(-50%);
			}

.mainframe_ .hamburger-nav__login {
			background-color: #F3EEDA;
		}

.mainframe_ .hamburger-nav__register {
			margin-top: 10px;
			background-color: #FFE100;
		}

.mainframe_ .hamburger-nav__photohub {
			height: 144px;
			margin-top: 10px;
			background-color: #FFE100;
		}

/* sign up */

.mainframe_ .signup {
		padding-top: 6.3rem;
		padding-bottom: 6.25em;
		padding-left: 20px;
		padding-right: 20px;
		box-sizing: content-box;
		background-color: #EFD700;
		border-bottom: 1px solid #d7c100
	}

@media screen and (min-width: 768px) {
	.mainframe_ .signup {
			padding-top: 6.1rem
	}
		}

.mainframe_ .signup.is-spaced {
			margin-top: 60px
		}

@media screen and (min-width: 768px) {
		.mainframe_ .signup.is-spaced {
				margin-top: 100px
		}
			}

.mainframe_ .signup .h2-title::after {
				background-color: #000
			}

@media screen and (max-width: 767px) {
			.mainframe_ .signup .h2-title::after {
					width: 19px
			}
				}

.mainframe_ .signup__desc {
			margin-top: 2.1rem;
			text-align: center;
			line-height: 1.875
		}

@media screen and (min-width: 768px) {
		.mainframe_ .signup__desc {
				margin-top: 2.8rem
		}
			}

@media screen and (max-width: 767px) {
		.mainframe_ .signup__desc {
				text-align: left
		}
			}

.mainframe_ .signup__list {
			display: flex;
			justify-content: space-between;
			max-width: 1060px;
			margin-left: auto;
			margin-right: auto
		}

@media screen and (max-width: 767px) {
		.mainframe_ .signup__list {
				flex-wrap: wrap;
				grid-column-gap: 40px;
				-moz-column-gap: 40px;
				     column-gap: 40px;
				grid-row-gap: 30px;
				row-gap: 30px
		}
			}

@media screen and (min-width: 768px) {
		.mainframe_ .signup__list {
				grid-column-gap: 60px;
				-moz-column-gap: 60px;
				     column-gap: 60px
		}
			}

.mainframe_ .signup__item {
			text-align: center
		}

@media screen and (max-width: 767px) {
		.mainframe_ .signup__item {
				width: calc((100% - 40px) / 2)
		}
			}

.mainframe_ .signup__item img {
				width: 100%;
				height: auto;
			}

.mainframe_ .signup__img {
			margin-left: auto;
			margin-right: auto
		}

@media screen and (max-width: 767px) {
		.mainframe_ .signup__img {
				width: 148px;
				max-width: 100%
		}
			}

@media screen and (min-width: 768px) {
		.mainframe_ .signup__img {
				width: 198px
		}
			}

.mainframe_ .signup__title {
			margin-top: 1.7rem;
			margin-bottom: 0;
			font-size: 1.4375rem
		}

@media screen and (max-width: 401px) {
		.mainframe_ .signup__title {
				font-size: 1.25rem
		}
			}

@media screen and (min-width: 768px) {
			.mainframe_ .signup__title br {
					display: none
			}
				}

.mainframe_ .signup__register {
			margin-top: 2.9rem;
			margin-left: auto;
			margin-right: auto;
			max-width: 100%;
			width: 360px;
			height: 60px;
			background-color: #000;
			color: #fff
		}

@media screen and (min-width: 768px) {
		.mainframe_ .signup__register {
				font-size: 1.25rem
		}
			}

.mainframe_ .signup__contact {
			/* 左右の罫線を画面端まで伸ばすため、.signup の左右余白を打ち消す */
			display: flex;
			align-items: center;
			justify-content: center;
			margin: 60px -20px 53px;
			font-size: 1.4375rem;
			line-height: 32px;
			text-align: center
		}

@media screen and (min-width: 768px) {
		.mainframe_ .signup__contact {
				grid-column-gap: 44px;
				-moz-column-gap: 44px;
				     column-gap: 44px
		}
			}

.mainframe_ .signup__contact::before,
			.mainframe_ .signup__contact::after {
				content: "";
				flex: 1 1 0;
				min-width: 0;
				height: 1px;
				background-color: rgba(0, 0, 0, 0.2);
			}

.mainframe_ .signup__btns {
			display: flex;
			justify-content: center;
			align-items: center
		}

@media screen and (max-width: 767px) {
		.mainframe_ .signup__btns {
				flex-direction: column;
				grid-row-gap: 20px;
				row-gap: 20px
		}
			}

@media screen and (min-width: 768px) {
		.mainframe_ .signup__btns {
				grid-column-gap: 25px;
				-moz-column-gap: 25px;
				     column-gap: 25px
		}
			}

.mainframe_ .signup__btn {
			border: 1px solid #000;
			background-color: inherit;
		}

.mainframe_ .signup__office {
			margin-top: 30px;
			text-align: center;
		}

.mainframe_ .signup__office-name {
			margin: 0;
			font-size: 1.25rem;
			font-weight: bold;
			line-height: 1.6;
		}

.mainframe_ .signup__office-text {
			margin-top: 13px;
			margin-bottom: 0;
			font-size: 1rem;
			line-height: 1.875;
		}

/* photohub */

.mainframe_ .photohub {
		margin-top: 3rem;
		width: calc(100% - 40px);
		max-width: 1400px;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
		padding-top: 90px;
		padding-bottom: 100px;
		padding-left: 26px;
		padding-right: 26px;
		background-color: #FFE100
	}

@media screen and (min-width: 768px) {
	.mainframe_ .photohub {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding-top: 106px;
			padding-bottom: 106px;
			padding-right: 70px;
			padding-left: 49px;
			grid-column-gap: 47px;
			-moz-column-gap: 47px;
			     column-gap: 47px
	}
		}

@media screen and (max-width: 767px) {
		.mainframe_ .photohub__img {
				margin-left: -5px;
				margin-right: -5px;
				margin-bottom: 2.2rem
		}
			}

@media screen and (min-width: 768px) {
		.mainframe_ .photohub__img {
				flex: 0 1 628px;
				min-width: 0
		}
			}

.mainframe_ .photohub__img img {
				width: 100%;
				height: 100%;
				-o-object-fit: contain;
				   object-fit: contain;
			}

@media screen and (min-width: 768px) {
		.mainframe_ .photohub__content {
				flex: 0 1 606px;
				min-width: 0
		}
			}

.mainframe_ .photohub__text {
			margin-top: 0;
			line-height: 1.875
		}

@media screen and (min-width: 768px) {
		.mainframe_ .photohub__text {
				margin-bottom: 2rem
		}
			}

@media screen and (min-width: 1081px) {
		.mainframe_ .photohub__btns {
				display: flex;
				grid-column-gap: 25px;
				-moz-column-gap: 25px;
				     column-gap: 25px
		}
			}

.mainframe_ .photohub__btn {
			border: 1px solid #000
		}

@media screen and (max-width: 767px) {
		.mainframe_ .photohub__btn {
				margin-left: auto;
				margin-right: auto
		}
			}

@media screen and (min-width: 1081px) {
		.mainframe_ .photohub__btn {
				max-width: 50%
		}
			}

@media screen and (max-width: 1080px) {
			.mainframe_ .photohub__btn:not(:first-child) {
					margin-top: 20px
			}
				}

.mainframe_ .photohub__btn.is-view {
				color: inherit;
			}

.mainframe_ .photohub__btn.is-register {
				color: #fff;
				background-color: #000;
			}

/* PHOTO HUB バナー（見出し・イラスト・本文・ボタンを縦に積む版） */

.mainframe_ .photohub.is-stacked {
		display: block;
		padding-top: 60px;
		padding-bottom: 60px;
		padding-left: 20px;
		padding-right: 20px;
		text-align: center;
	}

.mainframe_ .photohub.is-stacked .photohub__label {
			margin: 0;
			font-size: 1.5rem;
			font-weight: bold;
			line-height: 32px;
		}

.mainframe_ .photohub.is-stacked .photohub__img {
			margin-top: 10px;
			margin-left: auto;
			margin-right: auto;
			max-width: 890px
		}

@media screen and (max-width: 767px) {
		.mainframe_ .photohub.is-stacked .photohub__img {
				margin-top: 30px;
				margin-left: auto;
				margin-right: auto;
				margin-bottom: 0;
				max-width: 320px
		}
			}

.mainframe_ .photohub.is-stacked .photohub__img img {
				width: 100%;
				height: auto;
			}

.mainframe_ .photohub.is-stacked .photohub__text {
			display: inline-block;
			margin-top: 30px;
			margin-bottom: 0;
			text-align: left;
			line-height: 30px
		}

@media screen and (min-width: 768px) {
		.mainframe_ .photohub.is-stacked .photohub__text {
				text-align: center
		}
			}

.mainframe_ .photohub.is-stacked .photohub__btns {
			display: flex;
			flex-direction: column;
			align-items: center;
			grid-row-gap: 20px;
			row-gap: 20px;
			margin-top: 50px
		}

@media screen and (min-width: 768px) {
		.mainframe_ .photohub.is-stacked .photohub__btns {
				flex-direction: row;
				justify-content: center;
				grid-column-gap: 25px;
				-moz-column-gap: 25px;
				     column-gap: 25px;
				margin-top: 50px
		}
			}

.mainframe_ .photohub.is-stacked .photohub__btn {
			margin-top: 0;
			max-width: none;
		}

/* Q&A アコーディオン */

.mainframe_ .faq-qa {
		border: 0;
		/* アンカーで移動したとき固定ナビに質問が隠れないよう、ナビの高さ分ずらす */
		scroll-margin-top: 60px
	}

@media screen and (min-width: 1081px) {
	.mainframe_ .faq-qa {
			scroll-margin-top: 84px
	}
		}

.mainframe_ .faq-qa:not(:first-child) {
			margin-top: 21px;
		}

.mainframe_ .faq-qa__q,
		.mainframe_ .faq-qa__a {
			display: grid;
			box-sizing: border-box;
			grid-template-columns: 30px minmax(0, 1fr) 24px;
			grid-column-gap: 0;
			-moz-column-gap: 0;
			     column-gap: 0;
			padding: 14px 25px
		}

@media screen and (min-width: 768px) {
		.mainframe_ .faq-qa__q,
		.mainframe_ .faq-qa__a {
				grid-template-columns: 30px minmax(0, 1fr) 44px;
				padding: 14px 30px
		}
			}

.mainframe_ .faq-qa__q {
			width: 100%;
			font: inherit;
			text-align: left;
			color: inherit;
			background-color: #eee;
			border: 1px solid #E4E4E4;
			cursor: pointer;
		}

.mainframe_ .faq-qa__q .faq-qa__mark,
			.mainframe_ .faq-qa__q .faq-qa__text {
				font-size: 1.125rem;
				font-weight: bold;
				line-height: 30px;
			}

.mainframe_ .faq-qa__a {
			/* no toggle sits beside the answer, so the copy runs to the padding */
			grid-template-columns: 30px minmax(0, 1fr);
			background-color: #fff;
			border: 1px solid #E4E4E4;
			border-top: 0;
		}

.mainframe_ .faq-qa__mark {
			font-weight: bold;
			line-height: 1.875;
		}

.mainframe_ .faq-qa__text {
			margin-top: 0;
			margin-bottom: 0;
			line-height: 1.875;
		}

.mainframe_ .faq-qa__text > p:first-child {
				margin-top: 0;
				margin-bottom: 0;
			}

/* 回答の下に並ぶ申し込みボタン */

.mainframe_ .faq-qa__btns {
			display: flex;
			flex-wrap: wrap;
			grid-gap: 11px 25px;
			gap: 11px 25px;
			margin-top: 11px;
			margin-left: -4px;
		}

.mainframe_ .faq-qa__btns .nikkor-btn {
				max-width: 100%;
			}

.mainframe_ .faq-qa__icon {
			position: relative;
			align-self: center;
			width: 14px;
			height: 14px;
			justify-self: end
		}

.mainframe_ .faq-qa__icon::before,
			.mainframe_ .faq-qa__icon::after {
				content: "";
				position: absolute;
				top: 50%;
				left: 0;
				width: 14px;
				height: 2px;
				background-color: #000;
				transform: translateY(-50%);
			}

.mainframe_ .faq-qa__icon::after {
				transform: translateY(-50%) rotate(90deg);
			}

.mainframe_ .faq-qa[open] .faq-qa__icon::after {
			transform: translateY(-50%) rotate(0deg);
		}

.mainframe_ .faq-qa summary {
			list-style: none
		}

.mainframe_ .faq-qa summary::-webkit-details-marker {
				display: none;
			}

/* 申込み手続きの内訳 */

.mainframe_ .faq-steps {
		margin-top: 30px;
	}

.mainframe_ .faq-steps .branch-deflist__label {
			width: 199px;
			background-color: #F5F5F5;
		}

@media screen and (min-width: 768px) {
		.mainframe_ .faq-steps__row {
				display: grid;
				grid-template-columns: 199px minmax(0, 1fr);
				grid-column-gap: 30px;
				-moz-column-gap: 30px;
				     column-gap: 30px;
				align-items: start
		}
			}

.mainframe_ .faq-steps__row:not(:first-child) {
				margin-top: 30px;
			}

.mainframe_ .faq-steps__label {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 199px;
			height: 30px;
			background-color: #F5F5F5;
		}

.mainframe_ .faq-steps__body {
			margin-top: 14px
		}

@media screen and (min-width: 768px) {
		.mainframe_ .faq-steps__body {
				margin-top: 0
		}
			}

.mainframe_ .faq-steps__body p {
				margin-top: 0;
				margin-bottom: 0;
				line-height: 1.875;
			}

.mainframe_ .faq-steps__link {
			color: inherit;
			text-decoration: underline;
		}


/* トップページ */
.mainframe_ .toppage {

	/* news */

}
.mainframe_ .toppage.news {
		display: flex;
		align-items: center;
		height: 40px;
		padding-left: 15px;
		padding-right: 15px;
		background-color: #F5F5F5
	}
@media screen and (max-width: 767px) {
.mainframe_ .toppage.news {
			font-size: 0.875rem
	}
		}
@media screen and (min-width: 768px) {
.mainframe_ .toppage.news {
			height: 60px;
			padding-left: 30px;
			padding-right: 30px
	}
		}
.mainframe_ .toppage.news p {
			margin: 0 auto;
			width: 100%;
			max-width: 1440px;
		}
.mainframe_ .toppage {

	/* MV */

}
.mainframe_ .toppage.block-mv-slider {
		position: relative;

	}
/* variableWidth のトラック幅（5000px × スライド数）を超えても折り返さず一列に並べる */
.mainframe_ .toppage.block-mv-slider .slick-track {
			display: flex;
		}
.mainframe_ .toppage.block-mv-slider .mv_slide_inner {
			flex-shrink: 0;
			width: 100%;
			height: 100%;
			aspect-ratio: 804 / 1200
		}
@media (min-width: 768px) {

		.mainframe_ .toppage.block-mv-slider .mv_slide_inner {
				max-width: 100vw;
				aspect-ratio: 2880 / 1200
		}
			}
.mainframe_ .toppage.block-mv-slider .mv_slide_inner a {
			display: block;
			width: 100%;
			height: 100%;
			text-align: center;
		}
.mainframe_ .toppage.block-mv-slider .mv_slide_inner img,
		.mainframe_ .toppage.block-mv-slider .mv_slide_inner picture,
		.mainframe_ .toppage.block-mv-slider .mv_slide_inner source {
			margin: auto;
			width: 100%;
			height: auto;
			-o-object-fit: cover;
			   object-fit: cover;
			margin: auto;
		}
.mainframe_ .toppage.block-mv-slider .slick-arrow {
			background-repeat: no-repeat;
			background-position: center center;
			font-size: 0;
			color: transparent;
			border: none;
			outline: none;
			cursor: pointer;
			background-color: transparent;
			transition: .3s;
		}
.mainframe_ .toppage.block-mv-slider .slick-arrow:hover {
			opacity: .7;
		}
.mainframe_ .toppage.block-mv-slider #slide_btn .slick-prev {
			position: absolute;
			left: 0;
			margin: 0;
			padding: 0;
			width: 80px;
			height: 80px;
		}
.mainframe_ .toppage.block-mv-slider #slide_btn .slick-next {
			position: absolute;
			right: 0;
			margin: 0;
			padding: 0;
			width: 80px;
			height: 80px;
		}
.mainframe_ .toppage.block-mv-slider .slick-dots {
			display: flex;
		}
.mainframe_ .toppage.block-mv-slider .slick-dots li {
			display: block;
			width: 100%;
			height: 3px;
			background-color: #707070;
		}
.mainframe_ .toppage.block-mv-slider .slick-dots li button {
			display: block;
			width: 100%;
			height: 100%;
			font-size: 0;
			color: transparent;
			border: none;
			outline: none;
			background-color: transparent;
			cursor: pointer;
		}
.mainframe_ .toppage.block-mv-slider .slick-dots li.slick-active {
			background-color: #FFE600;
		}
.mainframe_ .toppage.block-mv-slider #slide_btn {
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			width: 100%;
			height: 80px;
			pointer-events: none;
		}
.mainframe_ .toppage.block-mv-slider #slide_btn button {
				pointer-events: auto;
			}
.mainframe_ .toppage.block-mv-slider #slide_btn .slick-prev {
				background-image: url(../img/top/mv_prev.png);
				width: 10px;
				height: 20px;
				left: 15px
			}
@media screen and (min-width: 768px) {

			.mainframe_ .toppage.block-mv-slider #slide_btn .slick-prev {
					left: 30px
			}
				}
.mainframe_ .toppage.block-mv-slider #slide_btn .slick-next {
				background-image: url(../img/top/mv_next.png);
				width: 10px;
				height: 20px;
				right: 15px
			}
@media screen and (min-width: 768px) {

			.mainframe_ .toppage.block-mv-slider #slide_btn .slick-next {
					right: 30px
			}
				}
/* intro */
.mainframe_ .toppage .intro {
		margin-top: 77px
	}
/* deals */
@media screen and (min-width: 768px) {
	.mainframe_ .toppage .intro {
			margin-top: 62px
	}
		}
.mainframe_ .toppage .intro__body {
			margin-top: 50px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .toppage .intro__body {
				margin-top: 32px
		}
			}
@media screen and (min-width: 1024px) {
		.mainframe_ .toppage .intro__body {
				display: grid;
				grid-template-columns: minmax(0, 540fr) minmax(0, 606fr);
				align-items: start;
				grid-column-gap: 68px;
				-moz-column-gap: 68px;
				     column-gap: 68px;
				max-width: 1214px;
				margin-left: auto;
				margin-right: auto;
				padding-left: 46px;
				box-sizing: content-box
		}
			}
.mainframe_ .toppage .intro__img {
			margin-left: -4px;
			margin-right: -4px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .toppage .intro__img {
				max-width: 540px;
				margin-left: auto;
				margin-right: auto
		}
			}
.mainframe_ .toppage .intro__img > img {
				display: block;
				width: 100%;
				height: auto;
			}
.mainframe_ .toppage .intro__text {
			margin-top: 50px;
			margin-bottom: 0;
			line-height: 1.875
		}
@media screen and (min-width: 768px) {
		.mainframe_ .toppage .intro__text {
				max-width: 606px;
				margin-left: auto;
				margin-right: auto
		}
			}
@media screen and (min-width: 1024px) {
		.mainframe_ .toppage .intro__text {
				margin-top: 0
		}
			}
.mainframe_ .toppage .intro__btn {
			margin: 41px auto 0
		}
@media screen and (min-width: 768px) {
		.mainframe_ .toppage .intro__btn {
				margin-top: 50px
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .toppage .intro + .deals {
				margin-top: 80px
		}
			}
@media screen and (max-width: 767px) {

	.mainframe_ .toppage .deals {
			padding-left: 0;
			padding-right: 0;
			margin-top: 77px
	}
		}
.mainframe_ .toppage .deals__list {
			position: relative;
			display: grid;
			margin-top: 60px
		}
@media screen and (max-width: 767px) {
		.mainframe_ .toppage .deals__list {
				padding-bottom: 76px
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .toppage .deals__list {
				grid-template-columns: repeat(3, minmax(0, 1fr));
				grid-column-gap: 48px;
				-moz-column-gap: 48px;
				     column-gap: 48px;
				margin-top: 52px
		}
			}
.mainframe_ .toppage .deals__list .slick-dots {
				position: absolute;
				left: 0;
				right: 0;
				bottom: 0;
				display: flex;
        align-items: center;
				justify-content: center;
        margin: 0;
        padding: 0;
				height: 30px;
				grid-column-gap: 23px;
				-moz-column-gap: 23px;
				     column-gap: 23px;
			}
.mainframe_ .toppage .deals__list .slick-dots li {
					margin: 0;
					padding: 0;
					width: 4px;
					height: 4px;
					border-radius: 50%;
				}
.mainframe_ .toppage .deals__list .slick-dots li button {
						display: block;
						width: 4px;
						height: 4px;
						font-size: 0;
						color: transparent;
						border: none;
						outline: none;
						background-color: #D9D9D9;
						cursor: pointer;
						margin: 0;
						padding: 0;
						border-radius: 50%;
					}
.mainframe_ .toppage .deals__list .slick-dots li.slick-active button {
							background-color: #000;
						}
.mainframe_ .toppage .deals__list .slick-arrow {
				position: absolute;
				bottom: 0;
				margin: 0;
				padding: 0;
				background-repeat: no-repeat;
        background-position: center center;
				background-size: contain;
        font-size: 0;
        color: transparent;
        border: none;
        outline: none;
        cursor: pointer;
        background-color: transparent;
        transition: .3s;
				width: 59px;
				height: 30px;
				background-color: #F5F5F5;
				background-size: 6px 12px
			}
.mainframe_ .toppage .deals__list .slick-arrow.slick-prev {
					left: 20px;
					background-image: url(../img/top/mv_prev.png);
				}
.mainframe_ .toppage .deals__list .slick-arrow.slick-next {
					right: 20px;
					background-image: url(../img/top/mv_next.png);
				}
.mainframe_ .toppage .deals__item {
			padding: 25px;
			cursor: pointer;
			border: 1px solid #eee;
			color: inherit
		}
@media screen and (max-width: 767px) {
		.mainframe_ .toppage .deals__item {
				margin-left: 20px;
				margin-right: 20px
		}
			}
.mainframe_ .toppage .deals__img img {
			display: block;
			width: 100%;
			height: auto;
			aspect-ratio: 384 / 218;
			-o-object-fit: cover;
			   object-fit: cover;
		}
.mainframe_ .toppage .deals__title {
			margin-top: 0.9rem;
			margin-bottom: 0.9rem;
			text-align: center;
			font-weight: bold;
			font-size: 1.25rem
		}
@media screen and (min-width: 768px) {
		.mainframe_ .toppage .deals__title {
		}
			}
.mainframe_ .toppage .deals__text {
			margin-top: 0;
		}
/* things */
@media screen and (max-width: 767px) {
	.mainframe_ .toppage .things {
			margin-top: 82px
	}
		}
@media screen and (min-width: 768px) {
	.mainframe_ .toppage .things {
			margin-top: 70px
	}
		}
.mainframe_ .toppage .things__desc {
			margin-top: 2.2rem;
			margin-bottom: 3.9rem;
			text-align: center;
			line-height: 1.875
		}
@media screen and (min-width: 768px) {
		.mainframe_ .toppage .things__desc {
				margin-top: 1.9rem;
				margin-bottom: 3.8rem
		}
			}
@media screen and (max-width: 767px) {
		.mainframe_ .toppage .things__desc {
				text-align: left
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .toppage .things__list {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				grid-gap: 47px;
				gap: 47px
		}
			}
.mainframe_ .toppage .things__item {
			display: block;
			padding: 23px 24px 10px;
			border: 1px solid #eee;
			color: inherit
		}
@media screen and (min-width: 768px) {
		.mainframe_ .toppage .things__item {
				padding-bottom: 7px
		}
			}
@media screen and (max-width: 767px) {
			.mainframe_ .toppage .things__item:not(:first-child) {
					margin-top: 3.125rem
			}
				}
.mainframe_ .toppage .things__img {
			width: 100%;
			height: auto
		}
@media screen and (max-width: 767px) {
		.mainframe_ .toppage .things__img {
				height: 177px
		}
			}
.mainframe_ .toppage .things__img img {
				width: 100%;
				height: 100%;
				-o-object-fit: cover;
				   object-fit: cover;
			}
.mainframe_ .toppage .things__title {
			margin-top: 1.1rem;
			margin-bottom: 0;
			font-size: 1.5rem;
			font-weight: bold;
			text-align: center;
		}
.mainframe_ .toppage .things__subtitle {
			margin-top: 0;
			margin-bottom: 1.3rem;
			font-size: 1.125rem;
			font-weight: bold;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .toppage .things__subtitle {
				margin-top: 0;
				margin-bottom: 1.3rem
		}
			}
.mainframe_ .toppage .things__text {
			line-height: 1.875
		}
@media screen and (max-width: 767px) {
		.mainframe_ .toppage .things__text {
				padding-left: 5px;
				padding-right: 5px
		}
			}
/* things-btn */
.mainframe_ .toppage .things-btn {
		margin-top: 49px;
	}
.mainframe_ .toppage .things-btn__btn {
			margin-left: auto;
			margin-right: auto;
		}
/* enjoy */
.mainframe_ .toppage .enjoy {
		display: flex;
		flex-direction: column;
		justify-content: center;
		height: 620px;
		margin-top: 5rem;
		padding-left: 20px;
		padding-right: 20px;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		background-image:
			linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
			url(../img/top/enjoy_bg_sp.jpg)
	}
@media screen and (min-width: 768px) {
	.mainframe_ .toppage .enjoy {
			height: 600px;
			margin-top: 78px;
			background-image:
				linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)),
				url(../img/top/enjoy_bg.jpg)
	}
		}
.mainframe_ .toppage .enjoy .h2-title {
			color: #fff;
		}
.mainframe_ .toppage .enjoy__desc {
			margin-top: 2.2rem;
			color: #fff;
			text-align: center;
			line-height: 1.875
		}
@media screen and (max-width: 767px) {
		.mainframe_ .toppage .enjoy__desc {
				text-align: left
		}
			}
.mainframe_ .toppage .enjoy__btn {
			margin-top: 3.7rem;
			margin-left: auto;
			margin-right: auto
		}
@media screen and (min-width: 768px) {
		.mainframe_ .toppage .enjoy__btn {
		}
			}


/* ニッコールクラブとは */
/* hero */
.mainframe_ .aboutpage .about-hero {
		padding-top: 100px;
		padding-bottom: 88px;
		background-color: #F3EEDA
	}
@media screen and (min-width: 768px) {
	.mainframe_ .aboutpage .about-hero {
			padding-top: 101px;
			padding-bottom: 100px
	}
		}
.mainframe_ .aboutpage .about-hero__inner {
			margin-left: auto;
			margin-right: auto;
			padding-left: 20px;
			padding-right: 20px;
			max-width: 680px;
			box-sizing: content-box;
		}
.mainframe_ .aboutpage .about-hero__img,
		.mainframe_ .aboutpage .about-hero__en,
		.mainframe_ .aboutpage .about-hero__tagline {
			display: block;
			height: auto;
		}
.mainframe_ .aboutpage .about-hero__img {
			margin-left: 11.05%;
			width: 82.87%
		}
@media screen and (min-width: 768px) {
		.mainframe_ .aboutpage .about-hero__img {
				margin-left: 0;
				width: 100%
		}
			}
.mainframe_ .aboutpage .about-hero__en {
			margin-top: 13px;
			margin-left: 12.25%;
			width: 47.3%
		}
@media screen and (min-width: 768px) {
		.mainframe_ .aboutpage .about-hero__en {
				margin-top: 30px;
				margin-left: 1.47%;
				width: 57.2%
		}
			}
.mainframe_ .aboutpage .about-hero__tagline {
			margin-top: 21px;
			margin-left: 11.33%;
			width: 77.35%
		}
@media screen and (min-width: 768px) {
		.mainframe_ .aboutpage .about-hero__tagline {
				margin-left: 1.47%;
				width: 94.4%
		}
			}
.mainframe_ .aboutpage .about-hero__text {
			margin-top: 65px;
			margin-bottom: 0;
			font-size: 1.25rem;
			line-height: 2
		}
@media screen and (min-width: 768px) {
		.mainframe_ .aboutpage .about-hero__text {
				margin-top: 80px
		}
			}
/* ニッコールクラブのはじまり */
.mainframe_ .aboutpage .about-history {
		padding-top: 79px;
		padding-bottom: 80px;
		background-color: #fff;
	}
.mainframe_ .aboutpage .about-history__inner {
			margin-left: auto;
			margin-right: auto;
			padding-left: 20px;
			padding-right: 20px;
			max-width: 1400px;
			box-sizing: content-box;
		}
.mainframe_ .aboutpage .about-history__text {
			margin-top: 2rem;
			margin-bottom: 0;
			line-height: 1.875
		}
@media screen and (min-width: 768px) {
		.mainframe_ .aboutpage .about-history__text {
				text-align: center
		}
			}
.mainframe_ .aboutpage .about-history__btns {
			display: flex;
			justify-content: center;
			align-items: center;
			margin-top: 50px
		}
@media screen and (max-width: 767px) {
		.mainframe_ .aboutpage .about-history__btns {
				flex-direction: column;
				grid-row-gap: 20px;
				row-gap: 20px
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .aboutpage .about-history__btns {
				grid-column-gap: 25px;
				-moz-column-gap: 25px;
				     column-gap: 25px
		}
			}
/* PHOTO HUB */
.mainframe_ .aboutpage .about-photohub {
		padding-top: 79px;
		padding-bottom: 80px;
		background-color: #F5F5F5;
	}
.mainframe_ .aboutpage .about-photohub__inner {
			margin-left: auto;
			margin-right: auto;
			padding-left: 20px;
			padding-right: 20px;
			max-width: 1400px;
			box-sizing: content-box;
		}
.mainframe_ .aboutpage .about-photohub__text {
			margin-top: 2rem;
			margin-bottom: 0;
			text-align: center;
			line-height: 1.875
		}
@media screen and (max-width: 767px) {
		.mainframe_ .aboutpage .about-photohub__text {
				text-align: left
		}
			}
.mainframe_ .aboutpage .about-photohub__img {
			margin-top: 40px;
			margin-left: auto;
			margin-right: auto;
			max-width: 1000px;
			aspect-ratio: 1000 / 203
			/* the stacked layout crops the collage rather than shrinking it */
		}
@media screen and (max-width: 767px) {
		.mainframe_ .aboutpage .about-photohub__img {
				aspect-ratio: 362 / 99
		}
			}
.mainframe_ .aboutpage .about-photohub__img img {
				display: block;
				width: 100%;
				height: 100%;
				-o-object-fit: contain;
				   object-fit: contain
			}
@media screen and (max-width: 767px) {
			.mainframe_ .aboutpage .about-photohub__img img {
					-o-object-fit: cover;
					   object-fit: cover
			}
				}
.mainframe_ .aboutpage .about-photohub__btns {
			display: flex;
			justify-content: center;
			align-items: center;
			margin-top: 50px
		}
@media screen and (max-width: 767px) {
		.mainframe_ .aboutpage .about-photohub__btns {
				flex-direction: column;
				grid-row-gap: 20px;
				row-gap: 20px
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .aboutpage .about-photohub__btns {
				grid-column-gap: 25px;
				-moz-column-gap: 25px;
				     column-gap: 25px
		}
			}
.mainframe_ .aboutpage .about-photohub__btn.is-view {
				color: #fff;
				background-color: #000;
			}


/* ニッコールクラブでできること */
/* イントロ */
.mainframe_ .servicepage .service-intro {
		padding-top: 60px;
	}
.mainframe_ .servicepage .service-intro__inner {
			margin-left: auto;
			margin-right: auto;
			padding-left: 20px;
			padding-right: 20px;
			max-width: 1400px;
			box-sizing: content-box;
		}
.mainframe_ .servicepage .service-intro__title {
			margin-top: 0;
			margin-bottom: 0;
			font-size: 2rem;
			line-height: 1.5;
			font-weight: bold;
			text-align: center;
		}
.mainframe_ .servicepage .service-intro__desc {
			margin-top: 22px;
			margin-bottom: 0;
			line-height: 1.875;
			text-align: center
		}
@media screen and (max-width: 767px) {
		.mainframe_ .servicepage .service-intro__desc {
				text-align: left
		}
			}
/* セクションリンク */
.mainframe_ .servicepage .service-nav {
		display: grid;
		margin-top: 51px;
		list-style: none;
		padding: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-gap: 20px;
		gap: 20px
	}
@media screen and (min-width: 768px) {
	.mainframe_ .servicepage .service-nav {
			margin-top: 61px;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			grid-gap: 48px;
			gap: 48px
	}
		}
.mainframe_ .servicepage .service-nav__item {
			margin: 0;
		}
.mainframe_ .servicepage .service-nav__link {
			position: relative;
			display: flex;
			height: 185px;
			flex-direction: column;
			align-items: center;
			padding-top: 15px;
			color: inherit;
			background-color: #F5F5F5
		}
@media screen and (min-width: 768px) {
		.mainframe_ .servicepage .service-nav__link {
				height: 120px;
				flex-direction: row;
				align-items: center;
				padding-top: 0;
				padding-left: 40px;
				grid-column-gap: 25px;
				-moz-column-gap: 25px;
				     column-gap: 25px
		}
			}
.mainframe_ .servicepage .service-nav__img {
			display: block;
			width: 90px;
			height: 90px;
			border-radius: 50%;
		}
.mainframe_ .servicepage .service-nav__label {
			margin-top: 10px;
			font-size: 1.25rem;
			font-weight: bold;
			line-height: 1.6
		}
@media screen and (min-width: 768px) {
		.mainframe_ .servicepage .service-nav__label {
				margin-top: 0
		}
			}
.mainframe_ .servicepage .service-nav__arrow {
			display: block;
			width: 20px;
			height: auto;
			margin-top: 8px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .servicepage .service-nav__arrow {
				position: absolute;
				top: 50%;
				right: 20px;
				margin-top: 0;
				transform: translateY(-50%)
		}
			}
/* PHOTO HUB バナー */
.mainframe_ .servicepage .photohub.is-compact {
		margin-top: 40px;
		padding-top: 70px;
		padding-bottom: 70px
	}
@media screen and (min-width: 768px) {
	.mainframe_ .servicepage .photohub.is-compact {
			padding-top: 76px;
			padding-bottom: 76px
	}
		}
.mainframe_ .servicepage .photohub.is-compact {
		/* 3行の本文に合わせ、イラストを縮めて本文の幅を広げる */
	}
@media screen and (min-width: 1280px) {
	.mainframe_ .servicepage .photohub.is-compact {
			padding-top: 92px;
			padding-bottom: 92px;
			padding-right: 59px;
			padding-left: 60px;
			grid-column-gap: 60px;
			-moz-column-gap: 60px;
			     column-gap: 60px;
	}
			.mainframe_ .servicepage .photohub.is-compact .photohub__img {
				flex-basis: 520px;
			}
			.mainframe_ .servicepage .photohub.is-compact .photohub__content {
				flex-basis: 700px;
			}
			.mainframe_ .servicepage .photohub.is-compact .photohub__text {
				margin-bottom: 20px;
			}
		}
/* テーマ別セクション */
.mainframe_ .servicepage .service-sec {
		/* アンカーで移動したとき固定ナビに見出しが隠れないよう、ナビの高さ分ずらす */
		scroll-margin-top: 60px
	}
@media screen and (min-width: 1081px) {
	.mainframe_ .servicepage .service-sec {
			scroll-margin-top: 84px
	}
		}
.mainframe_ .servicepage .service-sec {
		padding-top: 80px;
		padding-bottom: 80px
	}
.mainframe_ .servicepage .service-sec.is-grey {
			background-color: #F5F5F5;
		}
.mainframe_ .servicepage .service-sec__inner {
			margin-left: auto;
			margin-right: auto;
			padding-left: 20px;
			padding-right: 20px;
			max-width: 1400px;
			box-sizing: content-box;
		}
.mainframe_ .servicepage .service-sec__desc {
			margin-top: 2rem;
			margin-bottom: 0;
			line-height: 1.875;
			text-align: center
		}
@media screen and (max-width: 767px) {
		.mainframe_ .servicepage .service-sec__desc {
				text-align: left
		}
			}
/* カード */
.mainframe_ .servicepage .service-cards {
		display: grid;
		margin-top: 51px;
		grid-row-gap: 50px;
		row-gap: 50px
	}
@media screen and (min-width: 768px) {
	.mainframe_ .servicepage .service-cards {
			grid-column-gap: 48px;
			-moz-column-gap: 48px;
			     column-gap: 48px
	}
			.mainframe_ .servicepage .service-cards.is-3col {
				grid-template-columns: repeat(3, minmax(0, 1fr));
			}
			.mainframe_ .servicepage .service-cards.is-2col {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
			.mainframe_ .servicepage .service-cards.is-wide-left {
				grid-template-columns: minmax(0, 917fr) minmax(0, 434fr);
			}
		}
.mainframe_ .servicepage .h2-title + .service-cards {
		margin-top: 56px
	}
@media screen and (min-width: 768px) {

	.mainframe_ .servicepage .h2-title + .service-cards {
			margin-top: 60px
	}
		}
@media screen and (min-width: 768px) {

	.mainframe_ .servicepage #trial .service-cards {
			margin-top: 61px
	}
		}
.mainframe_ .servicepage .service-card {
		display: flex;
		flex-direction: column;
		padding: 25px 25px 30px;
		color: inherit;
		background-color: #fff;
		border: 1px solid #eee;
	}
.mainframe_ .servicepage .service-card__img {
			position: relative;
			overflow: hidden;
			aspect-ratio: 384 / 218;
		}
.mainframe_ .servicepage .service-card__img > img {
				display: block;
				width: 100%;
				height: 100%;
				-o-object-fit: cover;
				   object-fit: cover;
			}
.mainframe_ .servicepage .service-card__img.is-yellow {
				display: flex;
				align-items: center;
				justify-content: center;
				background-color: #FFE100;
			}
.mainframe_ .servicepage .service-card__img.is-yellow > img {
					width: 81.8%;
					height: auto;
					-o-object-fit: contain;
					   object-fit: contain;
				}
.mainframe_ .servicepage .service-card__tag {
			position: absolute;
			top: 0;
			right: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100px;
			height: 35px;
			font-size: 0.875rem;
			font-weight: bold;
			color: #FFE100;
			background-color: #000;
		}
.mainframe_ .servicepage .service-card__title {
			margin-top: 18px;
			margin-bottom: 0;
			font-size: 1.25rem;
			font-weight: bold;
			line-height: 1.6;
			text-align: center;
		}
.mainframe_ .servicepage .service-card__text {
			margin-top: 17px;
			margin-bottom: 0;
			line-height: 1.875
		}
.mainframe_ .servicepage .service-card__text + .service-card__note {
				margin-top: 6px;
			}
.mainframe_ .servicepage .service-card__note {
			margin-top: 30px;
			margin-bottom: 0;
			font-size: 0.875rem;
			line-height: 1.75;
		}
.mainframe_ .servicepage .service-card__btns {
			display: flex;
			flex-direction: column;
			align-items: center;
			grid-row-gap: 20px;
			row-gap: 20px;
			margin-top: auto;
			padding-top: 21px
		}
@media screen and (min-width: 768px) {
			.mainframe_ .servicepage .service-card__btns.is-row {
					flex-direction: row;
					justify-content: center;
					grid-column-gap: 26px;
					-moz-column-gap: 26px;
					     column-gap: 26px
			}
				}
.mainframe_ .servicepage .service-card__btn {
			max-width: 100%
		}
.mainframe_ .servicepage .service-card__btn.is-outline {
				background-color: #fff;
				border: 1px solid #DBDBDB;
			}
.mainframe_ .servicepage .service-card__btn.is-dark {
				color: #fff;
				background-color: #000;
			}
/* 斜めに配置された画像を切り抜いて表示 */
.mainframe_ .servicepage .service-card__img.is-tilted > img {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 134.8%;
		max-width: none;
		height: auto;
		max-height: none;
		-o-object-fit: fill;
		   object-fit: fill;
		transform: translate(-50%, -50%) translateY(3.44%);
	}
/* 会報誌カード（画像を左に大きく配置） */
.mainframe_ .servicepage .service-card.is-media {
		padding: 0
	}
@media screen and (min-width: 768px) {
	.mainframe_ .servicepage .service-card.is-media {
			display: grid;
			grid-template-columns: minmax(0, 434fr) minmax(0, 483fr)
	}
		}
.mainframe_ .servicepage .service-card.is-media .service-card__img {
			aspect-ratio: 362 / 513
		}
@media screen and (min-width: 768px) {
		.mainframe_ .servicepage .service-card.is-media .service-card__img {
				aspect-ratio: 434 / 614;
				height: 100%
		}
			}
.mainframe_ .servicepage .service-card.is-media .service-card__body {
			display: flex;
			flex-direction: column;
			padding: 25px 25px 30px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .servicepage .service-card.is-media .service-card__body {
				padding: 40px 40px 45px
		}
			}
.mainframe_ .servicepage .service-card.is-media .service-card__title {
			margin-top: 0
		}
@media screen and (min-width: 768px) {
		.mainframe_ .servicepage .service-card.is-media .service-card__title {
				font-size: 1.5rem;
				text-align: left
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .servicepage .service-card.is-media .service-card__btns {
				align-items: flex-start;
				margin-top: 0;
				padding-top: 39px
		}
			}


/* ニッコールクラブ支部 */
/* 共通 */
.mainframe_ .branchpage .branch-inner {
		margin-left: auto;
		margin-right: auto;
		padding-left: 20px;
		padding-right: 20px;
		max-width: 1400px;
		box-sizing: content-box;
	}
/* イントロ */
.mainframe_ .branchpage .branch-intro {
		padding-top: 60px;
		padding-bottom: 80px;
	}
.mainframe_ .branchpage .branch-intro__title {
			margin-top: 0;
			margin-bottom: 0;
			font-size: 2rem;
			line-height: 1.5;
			font-weight: bold;
			text-align: center;
		}
.mainframe_ .branchpage .branch-intro__desc {
			margin-top: 18px;
			margin-bottom: 0;
			line-height: 1.875;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .branchpage .branch-intro__desc {
				margin-top: 22px
		}
			}
@media screen and (max-width: 767px) {
		.mainframe_ .branchpage .branch-intro__desc {
				text-align: left
		}
			}
.mainframe_ .branchpage .branch-intro__photos {
			display: grid;
			margin-top: 50px;
			grid-template-columns: repeat(2, minmax(0, 1fr))
		}
@media screen and (min-width: 768px) {
		.mainframe_ .branchpage .branch-intro__photos {
				margin-top: 43px;
				grid-template-columns: repeat(4, minmax(0, 1fr))
		}
			}
.mainframe_ .branchpage .branch-intro__photos img {
				display: block;
				width: 100%;
				height: 100%;
				aspect-ratio: 360 / 203.578;
				-o-object-fit: cover;
				   object-fit: cover;
			}
.mainframe_ .branchpage .branch-intro__btn {
			margin-top: 50px;
			margin-left: auto;
			margin-right: auto;
		}
.mainframe_ .branchpage .branch-intro__note {
			margin-top: 12px;
			margin-bottom: 0;
			font-size: 0.875rem;
			line-height: 1.75;
			text-align: center;
		}
/* 支部の概要 */
.mainframe_ .branchpage .branch-outline {
		position: relative;
		overflow: hidden;
		padding-top: 80px;
		padding-bottom: 80px;
		background-color: #F5F5F5
	}
@media screen and (min-width: 768px) {
	.mainframe_ .branchpage .branch-outline {
			min-height: 720px;
			box-sizing: border-box
	}
		}
.mainframe_ .branchpage .branch-outline__illust {
			position: absolute;
			top: 57px;
			left: 20px;
			width: calc(100% - 40px);
			height: auto
		}
@media screen and (min-width: 768px) {
		.mainframe_ .branchpage .branch-outline__illust {
				top: 75px;
				left: auto;
				right: 50px;
				width: 640px
		}
			}
.mainframe_ .branchpage .branch-outline__inner {
			position: relative;
		}
.mainframe_ .branchpage .branch-outline__h3 {
			margin-top: 251px;
			margin-bottom: 0;
			font-size: 1.5rem;
			line-height: 1.34;
			font-weight: bold;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .branchpage .branch-outline__h3 {
				margin-top: 43px
		}
			}
/* 定義リスト（見出しタグ＋説明） */
.mainframe_ .branchpage .branch-deflist {
		margin-top: 29px;
		margin-bottom: 0;

		/* 支部の特典（白タグ・1行） */
	}
@media screen and (min-width: 768px) {
		.mainframe_ .branchpage .branch-deflist__row {
				display: grid;
				grid-column-gap: 30px;
				-moz-column-gap: 30px;
				     column-gap: 30px;
				align-items: start
		}
			}
.mainframe_ .branchpage .branch-deflist__row:not(:first-child) {
				margin-top: 46px
			}
@media screen and (min-width: 768px) {
			.mainframe_ .branchpage .branch-deflist__row:not(:first-child) {
					margin-top: 20px
			}
				}
.mainframe_ .branchpage .branch-deflist__label {
			display: flex;
			align-items: center;
			justify-content: center;
			height: 30px;
			font-weight: bold;
			text-align: center;
		}
.mainframe_ .branchpage .branch-deflist__desc {
			margin: 14px 0 0;
			line-height: 1.875
		}
@media screen and (min-width: 768px) {
		.mainframe_ .branchpage .branch-deflist__desc {
				margin-top: 0
		}
			}
@media screen and (min-width: 768px) {
			.mainframe_ .branchpage .branch-deflist.is-benefit .branch-deflist__row {
					grid-template-columns: 120px minmax(0, 658px);
					justify-content: center;
					align-items: center;
					margin-top: 20px
			}
				}
.mainframe_ .branchpage .branch-deflist.is-benefit .branch-deflist__label {
				width: 120px;
				margin-left: auto;
				margin-right: auto;
				background-color: #fff
			}
@media screen and (min-width: 768px) {
			.mainframe_ .branchpage .branch-deflist.is-benefit .branch-deflist__label {
					margin-left: 0;
					margin-right: 0
			}
				}
.mainframe_ .branchpage .branch-deflist.is-benefit .branch-deflist__desc {
				font-size: 1.125rem;
				font-weight: bold;
				line-height: 30px;
			}
.mainframe_ .branchpage .branch-deflist {

		/* 支部設立（グレータグ・複数行） */
	}
@media screen and (min-width: 768px) {
			.mainframe_ .branchpage .branch-deflist.is-setup .branch-deflist__row {
					grid-template-columns: 199px minmax(0, 846px);
					margin-top: 30px
			}
				}
.mainframe_ .branchpage .branch-deflist.is-setup .branch-deflist__label {
				width: 199px;
				background-color: #F5F5F5;
			}
/* numbered and bulleted lines keep their marker in a hanging indent */
.mainframe_ .branchpage .branch-deflist.is-setup .branch-deflist__item {
				display: block;
				padding-left: 1.375em;
				line-height: 1.875;
				text-indent: -1.375em
			}
.mainframe_ .branchpage .branch-deflist.is-setup .branch-deflist__item.is-sub {
					margin-left: 1.375em;
				}
/* 支部へ入会する */
.mainframe_ .branchpage .branch-entry {
		/* アンカーで移動したとき固定ナビに見出しが隠れないよう、ナビの高さ分ずらす */
		scroll-margin-top: 60px
	}
@media screen and (min-width: 1081px) {
	.mainframe_ .branchpage .branch-entry {
			scroll-margin-top: 84px
	}
		}
.mainframe_ .branchpage .branch-entry {
		padding-top: 80px;
		padding-bottom: 71px;
		background-color: #FFE100;
	}
.mainframe_ .branchpage .branch-entry .h2-title::after {
			background-color: #000;
		}
.mainframe_ .branchpage .branch-entry__desc {
			margin-top: 2rem;
			margin-bottom: 0;
			line-height: 1.875;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .branchpage .branch-entry__desc {
				margin-left: auto;
				margin-right: auto;
				max-width: 1100px
		}
			}
@media screen and (max-width: 767px) {
		.mainframe_ .branchpage .branch-entry__desc {
				text-align: left
		}
			}
.mainframe_ .branchpage .branch-entry__btns {
			display: flex;
			justify-content: center;
			align-items: center;
			margin-top: 50px
		}
@media screen and (max-width: 767px) {
		.mainframe_ .branchpage .branch-entry__btns {
				flex-direction: column;
				grid-row-gap: 20px;
				row-gap: 20px
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .branchpage .branch-entry__btns {
				grid-column-gap: 25px;
				-moz-column-gap: 25px;
				     column-gap: 25px
		}
			}
.mainframe_ .branchpage .branch-entry__btn {
			border: 1px solid #000;
			background-color: transparent
		}
.mainframe_ .branchpage .branch-entry__btn.is-dark {
				color: #fff;
				background-color: #000;
			}
.mainframe_ .branchpage .branch-entry__contact {
			margin-top: 30px;
			margin-bottom: 0;
			line-height: 1.875;
			text-align: center;
		}
.mainframe_ .branchpage .branch-entry__contact a {
				color: inherit;
			}
/* 支部を設立する */
.mainframe_ .branchpage .branch-setup {
		/* アンカーで移動したとき固定ナビに見出しが隠れないよう、ナビの高さ分ずらす */
		scroll-margin-top: 60px
	}
@media screen and (min-width: 1081px) {
	.mainframe_ .branchpage .branch-setup {
			scroll-margin-top: 84px
	}
		}
.mainframe_ .branchpage .branch-setup {
		padding-top: 80px;
		padding-bottom: 80px;
	}
.mainframe_ .branchpage .branch-setup__desc {
			margin-top: 2rem;
			margin-bottom: 0;
			line-height: 1.875;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .branchpage .branch-setup__desc {
				margin-left: auto;
				margin-right: auto;
				max-width: 878px
		}
			}
@media screen and (max-width: 767px) {
		.mainframe_ .branchpage .branch-setup__desc {
				text-align: left
		}
			}
.mainframe_ .branchpage .branch-setup .branch-deflist {
			margin-top: 62px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .branchpage .branch-setup .branch-deflist {
				margin-left: auto;
				margin-right: auto;
				max-width: 1075px
		}
			}
/* 支部一覧PDF */
.mainframe_ .branchpage .branch-pdf {
		margin-top: 77px;
		text-align: center;
	}
.mainframe_ .branchpage .branch-pdf__lead {
			margin: 0;
			line-height: 30px;
		}
.mainframe_ .branchpage .branch-pdf__btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			margin-top: 20px;
			margin-left: auto;
			margin-right: auto;
		}
.mainframe_ .branchpage .branch-pdf__btn img {
				position: absolute;
				top: 50%;
				left: 40px;
				width: 22px;
				height: auto;
				transform: translateY(-50%);
			}


/* 修理・定期メンテナンス・プラザ点検パック */
.mainframe_ .repairpage .repair-inner {
		margin-left: auto;
		margin-right: auto;
		padding-left: 20px;
		padding-right: 20px;
		max-width: 1400px;
		box-sizing: content-box;
	}
/* イントロ */
.mainframe_ .repairpage .repair-intro {
		padding-top: 60px;
		padding-bottom: 72px;
		text-align: center
	}
@media screen and (min-width: 768px) {
	.mainframe_ .repairpage .repair-intro {
			padding-bottom: 70px
	}
		}
.mainframe_ .repairpage .repair-intro__title {
			margin-top: 0;
			margin-bottom: 0;
			font-size: 2rem;
			line-height: 1.5;
			font-weight: bold;
		}
.mainframe_ .repairpage .repair-intro__lead {
			margin-top: 18px;
			margin-bottom: 0;
			font-size: 1.5rem;
			line-height: 40px;
			font-weight: bold
		}
@media screen and (min-width: 768px) {
		.mainframe_ .repairpage .repair-intro__lead {
				margin-top: 22px
		}
			}
.mainframe_ .repairpage .repair-intro__lead em {
				font-style: normal;
				font-weight: bold;
				color: #BCA600;
			}
.mainframe_ .repairpage .repair-intro__desc {
			margin-top: 29px;
			margin-bottom: 0;
			line-height: 1.875
		}
@media screen and (min-width: 768px) {
		.mainframe_ .repairpage .repair-intro__desc {
				margin-top: 23px
		}
			}
.mainframe_ .repairpage .repair-intro__note {
			margin-top: 30px;
			margin-bottom: 0;
			line-height: 1.875;
		}
/* 各サービス紹介 */
.mainframe_ .repairpage .repair-sec {
		padding-top: 80px;
		padding-bottom: 80px;
		box-sizing: border-box
	}
@media screen and (min-width: 768px) {
	.mainframe_ .repairpage .repair-sec {
			min-height: 468px
	}
		}
.mainframe_ .repairpage .repair-sec.is-grey {
			background-color: #F5F5F5;
		}
.mainframe_ .repairpage .repair-sec.is-yellow {
			min-height: 0;
			background-color: #FFFCDB;
		}
.mainframe_ .repairpage .repair-sec .h2-title h2.is-spaced {
			letter-spacing: 0.5em;
			text-indent: 0.5em;
		}
.mainframe_ .repairpage .repair-sec__desc {
			margin-top: 2rem;
			margin-bottom: 0;
			line-height: 1.875;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .repairpage .repair-sec__desc {
				margin-left: auto;
				margin-right: auto;
				max-width: 1213px
		}
			}
@media screen and (max-width: 767px) {
		.mainframe_ .repairpage .repair-sec__desc {
				text-align: left
		}
			}
.mainframe_ .repairpage .repair-sec__btn {
			margin-top: 40px;
			margin-left: auto;
			margin-right: auto;
		}
/* 画像とテキストの2カラム */
.mainframe_ .repairpage .repair-media {
		margin-top: 60px;
		margin-left: auto;
		margin-right: auto;
		max-width: 1280px
	}
@media screen and (min-width: 768px) {
	.mainframe_ .repairpage .repair-media {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			grid-column-gap: 48px;
			-moz-column-gap: 48px;
			     column-gap: 48px;
			align-items: start
	}
		}
.mainframe_ .repairpage .repair-media__img img {
				width: 100%;
				height: auto;
			}
@media screen and (max-width: 767px) {
		.mainframe_ .repairpage .repair-media__body {
				margin-top: 30px
		}
			}
.mainframe_ .repairpage .repair-media__text {
			margin: 0;
			line-height: 30px;
		}
.mainframe_ .repairpage .repair-media__btn {
			margin-top: 40px
		}
@media screen and (max-width: 767px) {
		.mainframe_ .repairpage .repair-media__btn {
				margin-left: auto;
				margin-right: auto
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .repairpage .repair-media__btn {
				margin-top: 71px
		}
			}
@media screen and (min-width: 768px) {
				.mainframe_ .repairpage .repair-media.is-reverse .repair-media__img {
					order: 2;
				}
				.mainframe_ .repairpage .repair-media.is-reverse .repair-media__body {
					order: 1;
				}
			}
/* お申込み方法カード */
.mainframe_ .repairpage .repair-cards {
		display: grid;
		margin-top: 60px;
		grid-row-gap: 40px;
		row-gap: 40px
	}
@media screen and (min-width: 768px) {
	.mainframe_ .repairpage .repair-cards {
			margin-top: 80px;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			grid-column-gap: 42px;
			-moz-column-gap: 42px;
			     column-gap: 42px
	}
		}
.mainframe_ .repairpage .repair-card {
		display: flex;
		flex-direction: column;
		padding: 46px 30px 30px;
		background-color: #fff;
		border: 1px solid #FCEDAA;
		box-sizing: border-box
	}
@media screen and (min-width: 768px) {

	.mainframe_ .repairpage .repair-card {
			min-height: 364px;
			padding: 46px 35px 30px
	}
		}
.mainframe_ .repairpage .repair-card__head {
			display: flex;
			flex-direction: column;
			align-items: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .repairpage .repair-card__head {
				flex-direction: row;
				align-items: center;
				height: 83px;
				grid-column-gap: 30px;
				-moz-column-gap: 30px;
				     column-gap: 30px;
				padding-left: 5px
		}
			}
.mainframe_ .repairpage .repair-card__icon {
			display: block;
			flex-shrink: 0;
			height: auto;
			max-height: none;
		}
.mainframe_ .repairpage .repair-card__heading {
			margin-top: 20px;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .repairpage .repair-card__heading {
				margin-top: 0;
				text-align: left
		}
			}
.mainframe_ .repairpage .repair-card__tags {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			grid-gap: 12px 10px;
			gap: 12px 10px;
			margin: 0;
			padding: 0;
			list-style: none
		}
@media screen and (min-width: 768px) {
		.mainframe_ .repairpage .repair-card__tags {
				justify-content: flex-start;
				margin-top: 2px
		}
			}
.mainframe_ .repairpage .repair-card__tags li {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 128px;
				height: 28px;
				border-radius: 30px;
				font-size: 13px;
				line-height: 1;
				font-weight: bold;
				color: #fff;
				background-color: #000;
			}
.mainframe_ .repairpage .repair-card__title {
			margin: 13px 0 0;
			font-size: 1.5rem;
			line-height: 40px;
			font-weight: bold;
		}
.mainframe_ .repairpage .repair-card__text {
			margin-top: 17px;
			margin-bottom: 0;
			line-height: 1.875;
		}
.mainframe_ .repairpage .repair-card__btns {
			display: flex;
			justify-content: center;
			margin-top: auto;
			padding-top: 21px;
		}
.mainframe_ .repairpage .repair-howto__note {
		margin: 40px 0 0;
		line-height: 1.875;
		text-align: center
	}
@media screen and (max-width: 767px) {

	.mainframe_ .repairpage .repair-howto__note {
			text-align: left
	}
		}


/* ニッコールクラブ会員展 */
.mainframe_ .exhibitionpage .exhibition-inner {
		margin-left: auto;
		margin-right: auto;
		padding-left: 20px;
		padding-right: 20px;
		max-width: 1400px;
		box-sizing: content-box;
	}
/* イントロ */
.mainframe_ .exhibitionpage .exhibition-intro {
		padding-top: 60px;
	}
.mainframe_ .exhibitionpage .exhibition-intro__title {
			margin-top: 0;
			margin-bottom: 0;
			font-size: 1.5rem;
			line-height: 1.5;
			font-weight: bold;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-intro__title {
				font-size: 2rem
		}
			}
.mainframe_ .exhibitionpage .exhibition-intro__desc {
			margin-top: 22px;
			margin-bottom: 0;
			line-height: 1.875;
			text-align: center
		}
@media screen and (max-width: 767px) {
		.mainframe_ .exhibitionpage .exhibition-intro__desc {
				text-align: left
		}
			}
@media screen and (max-width: 767px) {
			.mainframe_ .exhibitionpage .exhibition-intro__desc br {
					display: none
			}
				}
.mainframe_ .exhibitionpage .exhibition-intro__btns {
			display: flex;
			flex-direction: column;
			align-items: center;
			grid-row-gap: 20px;
			row-gap: 20px;
			margin-top: 50px;
			padding-left: 20px;
			padding-right: 20px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-intro__btns {
				flex-direction: row;
				justify-content: center;
				grid-column-gap: 25px;
				-moz-column-gap: 25px;
				     column-gap: 25px
		}
			}
/* メインビジュアル */
.mainframe_ .exhibitionpage .exhibition-hero {
		position: relative;
		margin-top: 50px
	}
@media screen and (min-width: 768px) {
	.mainframe_ .exhibitionpage .exhibition-hero {
			display: flex
	}
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-hero__img {
				flex: 1 1 50%;
				min-width: 0
		}
			}
.mainframe_ .exhibitionpage .exhibition-hero__img img {
				display: block;
				width: 100%;
				height: 100%;
				-o-object-fit: cover;
				   object-fit: cover;
			}
.mainframe_ .exhibitionpage .exhibition-hero__logo {
			position: absolute;
			top: 50%;
			left: 50%;
			width: 260px;
			height: auto;
			transform: translate(-50%, -50%)
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-hero__logo {
				width: 400px
		}
			}
/* 申込から開催までの流れ */
.mainframe_ .exhibitionpage .exhibition-flow {
		padding-top: 80px;
		padding-bottom: 80px;
	}
.mainframe_ .exhibitionpage .exhibition-flow__steps {
			margin-top: 40px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-flow__steps {
				margin-left: auto;
				margin-right: auto;
				max-width: 790px
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-flow__row {
				display: grid;
				grid-template-columns: 220px minmax(0, 1fr);
				grid-column-gap: 30px;
				-moz-column-gap: 30px;
				     column-gap: 30px;
				align-items: start
		}
			}
.mainframe_ .exhibitionpage .exhibition-flow__row:not(:first-child) {
				margin-top: 30px
			}
@media screen and (min-width: 768px) {
			.mainframe_ .exhibitionpage .exhibition-flow__row:not(:first-child) {
					margin-top: 10px
			}
				}
.mainframe_ .exhibitionpage .exhibition-flow__label {
      padding: 0 20px;
			display: flex;
      justify-content: center;
			align-items: center;
			height: 40px;
			font-weight: bold;
			background-color: #F5F5F5
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-flow__label {
				width: 220px;
        justify-content: flex-start
		}
			}
.mainframe_ .exhibitionpage .exhibition-flow__desc {
			margin: 14px 0 0;
			line-height: 1.875
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-flow__desc {
				margin-top: 0;
				line-height: 40px
		}
			}
/* お申込み方法 */
.mainframe_ .exhibitionpage .exhibition-howto {
		padding-top: 80px;
		padding-bottom: 80px;
		background-color: #FFFCDB;
	}
.mainframe_ .exhibitionpage .exhibition-step {
		margin-top: 20px;
		padding: 30px 20px;
		background-color: #fff
	}
@media screen and (min-width: 768px) {

	.mainframe_ .exhibitionpage .exhibition-step {
			padding: 39px 40px 40px
	}
		}
.mainframe_ .exhibitionpage .exhibition-step:first-of-type {
			margin-top: 63px;
		}
.mainframe_ .exhibitionpage .exhibition-step__head {
			display: flex;
			align-items: center;
			grid-column-gap: 20px;
			-moz-column-gap: 20px;
			     column-gap: 20px
		}
@media screen and (max-width: 767px) {
		.mainframe_ .exhibitionpage .exhibition-step__head {
				flex-direction: column;
				align-items: flex-start;
				grid-row-gap: 16px;
				row-gap: 16px
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-step__head {
				grid-column-gap: 30px;
				-moz-column-gap: 30px;
				     column-gap: 30px
		}
			}
.mainframe_ .exhibitionpage .exhibition-step__icon {
			flex: 0 0 auto;
			width: 56px;
			height: auto
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-step__icon {
				width: 72px
		}
			}
.mainframe_ .exhibitionpage .exhibition-step__title {
			margin-top: 0;
			margin-bottom: 0;
			font-size: 1.125rem;
			line-height: 1.75;
			font-weight: bold
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-step__title {
				font-size: 1.25rem;
				line-height: 2
		}
			}
.mainframe_ .exhibitionpage .exhibition-step__note {
			margin: 25px 0 0;
			line-height: 1.875;
		}
.mainframe_ .exhibitionpage .exhibition-step__download {
			margin-top: 30px;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-step__download {
				margin-top: 48px
		}
			}
.mainframe_ .exhibitionpage .exhibition-step__btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
      grid-gap: 12px;
      gap: 12px;
			margin-left: auto;
			margin-right: auto;
			font-weight: bold;
		}
.mainframe_ .exhibitionpage .exhibition-step__btn img {
				width: 22px;
				height: auto;
			}
.mainframe_ .exhibitionpage .exhibition-step__meta {
			margin: 14px 0 0;
			line-height: 1.875;
		}
.mainframe_ .exhibitionpage .exhibition-deflist {
		margin-top: 25px
	}
@media screen and (min-width: 768px) {

	.mainframe_ .exhibitionpage .exhibition-deflist {
			margin-top: 40px
	}
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-deflist__row {
				display: grid;
				grid-template-columns: 199px minmax(0, 1fr);
				grid-column-gap: 30px;
				-moz-column-gap: 30px;
				     column-gap: 30px;
				align-items: start
		}
			}
.mainframe_ .exhibitionpage .exhibition-deflist__row:not(:first-child) {
				margin-top: 20px
			}
@media screen and (min-width: 768px) {
			.mainframe_ .exhibitionpage .exhibition-deflist__row:not(:first-child) {
					margin-top: 10px
			}
				}
.mainframe_ .exhibitionpage .exhibition-deflist__label {
			display: flex;
			align-items: center;
			justify-content: center;
			height: 30px;
			font-weight: bold;
      color: #BCA600;
			background-color: #FFFCDB
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-deflist__label {
				width: 199px
		}
			}
.mainframe_ .exhibitionpage .exhibition-deflist__desc {
			margin: 10px 0 0;
			font-weight: bold;
			line-height: 1.875
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-deflist__desc {
				margin-top: 0;
				line-height: 30px
		}
			}
.mainframe_ .exhibitionpage .exhibition-send {
		margin-top: 30px;
		padding: 25px 20px;
		background-color: #FFFCDB
	}
@media screen and (min-width: 768px) {

	.mainframe_ .exhibitionpage .exhibition-send {
			margin-top: 48px;
			padding: 30px 20px
	}
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-send__inner {
				margin-left: auto;
				margin-right: auto;
				max-width: 849px
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-send__row {
				display: grid;
				grid-template-columns: 92px minmax(0, 1fr);
				align-items: start;
        grid-gap: 8px;
        gap: 8px
		}
			}
.mainframe_ .exhibitionpage .exhibition-send__row:not(:first-child) {
				margin-top: 14px
			}
@media screen and (min-width: 768px) {
			.mainframe_ .exhibitionpage .exhibition-send__row:not(:first-child) {
					margin-top: 0
			}
				}
.mainframe_ .exhibitionpage .exhibition-send__label {
			margin: 0;
			color: #BCA600;
			font-weight: bold;
			line-height: 1.875
		}
@media screen and (min-width: 768px) {
		.mainframe_ .exhibitionpage .exhibition-send__label {
				display: flex;
				justify-content: space-between;
				grid-column-gap: 8px;
				-moz-column-gap: 8px;
				     column-gap: 8px
		}
			}
.mainframe_ .exhibitionpage .exhibition-send__label::after {
				content: "：";
				color: inherit
			}
@media screen and (max-width: 767px) {
			.mainframe_ .exhibitionpage .exhibition-send__label::after {
					display: none
			}
				}
.mainframe_ .exhibitionpage .exhibition-send__desc {
			margin: 0;
			line-height: 1.875;
		}


/* ニッコールクラブで写真がもっと好きになる */
/* メインビジュアル */
.mainframe_ .uservoicepage .uservoice-hero {
		overflow: hidden;
		background-color: #FFFCDB;
	}
.mainframe_ .uservoicepage .uservoice-hero__inner {
			position: relative;
			max-width: 1440px;
			margin-left: auto;
			margin-right: auto;
			padding: 55px 20px 60px
		}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-hero__inner {
				display: flex;
				flex-direction: column;
				padding: 60px 20px 83px;
				overflow: hidden
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-hero__inner {
				display: flex;
				align-items: center;
				min-height: 600px;
				padding: 0 0 0 88px
		}
			}
.mainframe_ .uservoicepage .uservoice-hero__body {
			position: relative;
			z-index: 1
		}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-hero__body {
				display: contents
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-hero__body {
				width: 712px
		}
			}
.mainframe_ .uservoicepage .uservoice-hero__lead {
			margin-top: 0;
			margin-bottom: 0;
			font-size: 1.25rem;
			font-weight: bold;
			line-height: 1.5
		}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-hero__lead {
				order: 1;
				font-size: 2rem;
				line-height: 1.5;
				text-align: center
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-hero__lead {
				font-size: 2rem
		}
			}
.mainframe_ .uservoicepage .uservoice-hero__logo {
			margin-top: 14px;
			margin-bottom: 0
		}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-hero__logo {
				order: 2;
				margin-top: 18px
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-hero__logo {
				margin-top: 18px
		}
			}
.mainframe_ .uservoicepage .uservoice-hero__logo img {
				display: block;
				width: 100%;
				max-width: 246px;
				height: auto
			}
@media screen and (max-width: 767px) {
			.mainframe_ .uservoicepage .uservoice-hero__logo img {
					margin-left: auto;
					margin-right: auto
			}
				}
@media screen and (min-width: 768px) {
			.mainframe_ .uservoicepage .uservoice-hero__logo img {
					max-width: 680px
			}
				}
.mainframe_ .uservoicepage .uservoice-hero__desc {
			margin-top: 20px;
			margin-bottom: 0;
			line-height: 1.6
		}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-hero__desc {
				order: 4;
				margin-top: -23px;
				padding-left: 20px;
				font-size: 1.25rem;
				line-height: 32px;
				text-align: left
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-hero__desc {
				margin-top: 42px;
				font-size: 1.25rem
		}
			}
.mainframe_ .uservoicepage .uservoice-hero__visual {
			position: relative;
			margin-top: 30px
		}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-hero__visual {
				order: 3;
				width: 142.5%;
				margin-top: 46px;
				margin-left: 1.9%
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-hero__visual {
				position: absolute;
				right: -492px;
				bottom: -59px;
				width: 1145px;
				margin-top: 0
		}
			}
.mainframe_ .uservoicepage .uservoice-hero__img {
			position: relative;
			z-index: 1;
			display: block;
			width: 100%;
			height: auto;
		}
.mainframe_ .uservoicepage .uservoice-hero__deco {
			position: absolute;
			top: -12%;
			left: 8%;
			width: 71%;
			height: auto
		}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-hero__deco {
				top: -17.2%;
				left: 6%;
				width: 57%
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-hero__deco {
				top: -78px;
				left: 49px;
				width: 464px
		}
			}
/* 会員インタビュー */
.mainframe_ .uservoicepage .uservoice-member {
		position: relative;
		overflow: hidden;
		padding-top: 80px;
		padding-bottom: 80px;
		background-color: #fff
	}
@media screen and (min-width: 768px) {
	.mainframe_ .uservoicepage .uservoice-member {
			padding-top: 80px;
			padding-bottom: 81px
	}
		}
.mainframe_ .uservoicepage .uservoice-member.is-gray {
			background-color: #F5F5F5;
		}
.mainframe_ .uservoicepage .uservoice-member__inner {
			position: relative;
			max-width: 1280px;
			margin-left: auto;
			margin-right: auto;
			padding-left: 20px;
			padding-right: 20px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-member__inner {
				padding-left: 0;
				padding-right: 0
		}
			}
.mainframe_ .uservoicepage .uservoice-member__ring {
			position: absolute;
			top: -20px;
			left: 0;
			width: 120px;
			height: auto
		}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-member__ring {
				top: 98px;
				left: 22px;
				width: 180px
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-member__ring {
				top: 0;
				width: 240px
		}
			}
.mainframe_ .uservoicepage .uservoice-member.is-reverse .uservoice-member__ring {
			right: 0;
			left: auto
		}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-member.is-reverse .uservoice-member__ring {
				top: 97px;
				right: 33px
		}
			}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-member.is-third .uservoice-member__ring {
				display: none
		}
			}
.mainframe_ .uservoicepage .uservoice-member__title {
			position: relative;
			z-index: 1;
		}
.mainframe_ .uservoicepage .uservoice-member__body {
			margin-top: 28px
		}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-member__body {
				margin-top: 0
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-member__body {
				display: flex;
				align-items: flex-start;
				grid-column-gap: 40px;
				-moz-column-gap: 40px;
				     column-gap: 40px
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-member.is-reverse .uservoice-member__body {
				flex-direction: row-reverse
		}
			}
.mainframe_ .uservoicepage .uservoice-member__visual {
			position: relative;
			z-index: 1;
			text-align: center
		}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-member__visual {
				overflow: hidden;
				height: 453px;
				margin-left: -20px;
				margin-right: -20px
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-member__visual {
				flex: 0 0 440px;
				align-self: flex-start;
				margin-top: -65px;
				height: 0;
				text-align: left
		}
			}
.mainframe_ .uservoicepage .uservoice-member__visual img {
				width: auto;
				max-width: 100%;
				height: auto
			}
@media screen and (max-width: 767px) {
			.mainframe_ .uservoicepage .uservoice-member__visual img {
					position: absolute;
					top: 27px;
					left: 47px;
					width: 330px;
					max-width: none;
					max-height: none
			}
				}
@media screen and (min-width: 768px) {
			.mainframe_ .uservoicepage .uservoice-member__visual img {
					max-height: none
			}
				}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-member.is-reverse .uservoice-member__visual {
				height: 453px;
		}
				.mainframe_ .uservoicepage .uservoice-member.is-reverse .uservoice-member__visual img {
					top: 74px;
					left: 84px;
					width: 254px;
				}
			}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-member.is-third .uservoice-member__visual {
				height: 455px;
				margin-left: 0;
				margin-right: 0;
		}
				.mainframe_ .uservoicepage .uservoice-member.is-third .uservoice-member__visual img {
					top: 4px;
					left: 2px;
					width: 319px;
				}
			}
.mainframe_ .uservoicepage .uservoice-member__content {
			margin-top: 40px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-member__content {
				flex: 0 0 760px;
				margin-top: 0
		}
			}
.mainframe_ .uservoicepage .uservoice-member__text {
			margin-top: 39px;
			margin-bottom: 0;
			font-size: 1.25rem;
			line-height: 2;
		}
.mainframe_ .uservoicepage .uservoice-member__photos {
			position: relative;
			z-index: 2;
			display: grid;
			grid-row-gap: 20px;
			row-gap: 20px;
			margin-top: 40px;
			margin-bottom: 0;
			padding-left: 0;
			list-style: none
		}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-member__photos {
				grid-template-columns: repeat(3, 1fr);
				grid-column-gap: 40px;
				-moz-column-gap: 40px;
				     column-gap: 40px;
				margin-top: 96px
		}
			}
.mainframe_ .uservoicepage .uservoice-member__photos img {
				display: block;
				width: 100%;
				height: auto;
			}
.mainframe_ .uservoicepage .uservoice-spec {
		margin-top: 0;
		margin-bottom: 0;
	}
.mainframe_ .uservoicepage .uservoice-spec__row {
			display: flex;
			align-items: flex-start;
			grid-column-gap: 30px;
			-moz-column-gap: 30px;
			     column-gap: 30px;
		}
.mainframe_ .uservoicepage .uservoice-spec .uservoice-spec__row + .uservoice-spec__row {
			margin-top: 8px;
		}
.mainframe_ .uservoicepage .uservoice-spec__label {
			flex: 0 0 auto;
			width: 120px;
			border-radius: 999px;
			background-color: #FCEDAA;
			color: #BCA600;
			font-size: 1rem;
			line-height: 30px;
			text-align: center;
		}
.mainframe_ .uservoicepage .uservoice-spec__value {
			margin: 0;
			color: #BCA600;
			font-size: 1.125rem;
			line-height: 32px;
		}
/* クロージング */
.mainframe_ .uservoicepage .uservoice-outro {
		padding-left: 20px;
		padding-right: 20px;
		text-align: center
	}
@media screen and (min-width: 768px) {
	.mainframe_ .uservoicepage .uservoice-outro {
			padding-top: 121px;
			padding-left: 0;
			padding-right: 0
	}
		}
.mainframe_ .uservoicepage .uservoice-outro__lead {
			display: inline-flex;
			align-items: flex-start;
			grid-column-gap: 14px;
			-moz-column-gap: 14px;
			     column-gap: 14px;
			margin-top: 114px;
			margin-bottom: 0;
			font-size: 1.5rem;
			font-weight: bold;
			line-height: 1.5;
		}
.mainframe_ .uservoicepage .uservoice-outro__lead span {
				line-height: 1.5;
			}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-outro__lead {
				grid-column-gap: 24px;
				-moz-column-gap: 24px;
				     column-gap: 24px;
				margin-top: 0
		}
			}
.mainframe_ .uservoicepage .uservoice-outro__lead::before,
			.mainframe_ .uservoicepage .uservoice-outro__lead::after {
				content: "";
				flex: 0 0 auto;
				align-self: center;
				width: 2px;
				height: 70px;
				background-color: #000
			}
@media screen and (min-width: 768px) {
			.mainframe_ .uservoicepage .uservoice-outro__lead::before,
			.mainframe_ .uservoicepage .uservoice-outro__lead::after {
					height: 32px
			}
				}
.mainframe_ .uservoicepage .uservoice-outro__lead::before {
				transform: rotate(-26deg);
			}
.mainframe_ .uservoicepage .uservoice-outro__lead::after {
				transform: rotate(26deg);
			}
.mainframe_ .uservoicepage .uservoice-outro__visual {
			position: relative;
			margin-left: auto;
			margin-right: auto;
			margin-top: 52px;
			max-width: 246px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-outro__visual {
				margin-top: 39px;
				max-width: 595px
		}
			}
.mainframe_ .uservoicepage .uservoice-outro__logo {
			display: block;
			width: 100%;
			height: auto;
		}
.mainframe_ .uservoicepage .uservoice-outro__logo img {
				display: block;
				width: 100%;
				height: auto;
			}
.mainframe_ .uservoicepage .uservoice-outro__illust {
			position: relative;
			z-index: 1;
			display: block;
			width: 300px;
			max-width: none;
			height: auto;
			margin-left: auto;
			margin-right: auto;
			margin-top: -36px
		}
@media screen and (max-width: 767px) {
		.mainframe_ .uservoicepage .uservoice-outro__illust {
				margin-left: calc((100% - 300px) / 2);
				margin-right: calc((100% - 300px) / 2)
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .uservoicepage .uservoice-outro__illust {
				width: 50.42%;
				max-width: 100%;
				margin-top: -11.09%
		}
			}

/* ニッコールクラブに入会する */
.mainframe_ .entrypage .entry-inner {
		margin-left: auto;
		margin-right: auto;
		padding-left: 20px;
		padding-right: 20px;
		max-width: 1400px;
		box-sizing: content-box;
	}
/* イントロ */
.mainframe_ .entrypage .entry-intro {
		padding-top: 60px;
		/* アンカーで移動したとき固定ナビに見出しが隠れないよう、ナビの高さ分ずらす */
		scroll-margin-top: 60px
	}
@media screen and (min-width: 1081px) {
	.mainframe_ .entrypage .entry-intro {
			scroll-margin-top: 84px
	}
		}
.mainframe_ .entrypage .entry-intro {
		padding-bottom: 80px;
	}
.mainframe_ .entrypage .entry-intro__title {
			margin-top: 0;
			margin-bottom: 0;
			font-size: 2rem;
			line-height: 1.5;
			font-weight: bold;
			text-align: center;
		}
.mainframe_ .entrypage .entry-intro__lead {
			margin-top: 22px;
			margin-bottom: 0;
			font-size: 1.5rem;
			line-height: 1.34;
			font-weight: bold;
			text-align: center;
		}
.mainframe_ .entrypage .entry-intro__desc {
			margin-top: 31px;
			margin-bottom: 0;
			line-height: 1.875;
			text-align: center
		}
@media screen and (max-width: 767px) {
		.mainframe_ .entrypage .entry-intro__desc {
				text-align: left
		}
			}
/* 会員種別カード */
.mainframe_ .entrypage .entry-plans {
		display: grid;
		margin-top: 60px;
		grid-row-gap: 50px;
		row-gap: 50px
	}
@media screen and (min-width: 768px) {
	.mainframe_ .entrypage .entry-plans {
			margin-top: 71px;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			grid-column-gap: 47px;
			-moz-column-gap: 47px;
			     column-gap: 47px
	}
		}
.mainframe_ .entrypage .entry-plan {
		background-color: #FFFCDB;
		border: 1px solid #FCEDAA;
	}
.mainframe_ .entrypage .entry-plan__head {
			display: flex;
			align-items: center;
			justify-content: center;
			height: 58px;
			margin-top: 0;
			margin-bottom: 0;
			font-size: 1.5rem;
			font-weight: bold;
			background-color: #FFE100;
		}
.mainframe_ .entrypage .entry-plan__desc {
			margin: 29px 25px 0;
			line-height: 1.875;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .entrypage .entry-plan__desc {
				margin-left: 0;
				margin-right: 0
		}
			}
@media screen and (max-width: 767px) {
		.mainframe_ .entrypage .entry-plan__desc {
				text-align: left
		}
			}
.mainframe_ .entrypage .entry-plan__note {
			display: block;
			margin: 29px 25px 30px;
			text-align: center;
			color: inherit;
			text-decoration: underline;
		}
/* 会員規約 */
.mainframe_ .entrypage .entry-terms__btn {
		max-width: 100%;
		margin: 50px auto 0;
		background-color: transparent;
		border: 1px solid #000;
	}
/* 会費テーブル */
.mainframe_ .entrypage .entry-table {
		margin: 32px 25px 0;
		font-size: 1.125rem;
		font-weight: bold
	}
@media screen and (min-width: 768px) {
	.mainframe_ .entrypage .entry-table {
			margin-left: 30px;
			margin-right: 30px;
			background-color: #fff;
			border: 1px solid #FFE100
	}
		}
.mainframe_ .entrypage .entry-table__head {
			display: none
		}
@media screen and (min-width: 768px) {
		.mainframe_ .entrypage .entry-table__head {
				display: grid;
				grid-template-columns: 167fr 120fr 120fr 208fr;
				height: 70px;
				background-color: #FCEDAA
		}
			}
.mainframe_ .entrypage .entry-table__head span {
				display: flex;
				align-items: center;
				justify-content: center
			}
.mainframe_ .entrypage .entry-table__head span:not(:first-child) {
					border-left: 1px solid #FFE100;
				}
.mainframe_ .entrypage .entry-table__row {
			background-color: #fff;
			border: 1px solid #FFE100
		}
.mainframe_ .entrypage .entry-table__row:not(:first-of-type) {
				margin-top: 20px;
			}
@media screen and (min-width: 768px) {
		.mainframe_ .entrypage .entry-table__row {
				display: grid;
				grid-template-columns: 167fr 120fr 120fr 208fr;
				height: 70px;
				align-items: center;
				border: 0
		}
				.mainframe_ .entrypage .entry-table__row:not(:first-of-type) {
					margin-top: 0;
					border-top: 1px solid #FFE100;
				}
			}
.mainframe_ .entrypage .entry-table__name {
			display: flex;
			align-items: center;
			justify-content: center;
			height: 70px;
			background-color: #FCEDAA
		}
@media screen and (min-width: 768px) {
		.mainframe_ .entrypage .entry-table__name {
				height: auto;
				justify-content: flex-start;
				padding-left: 21px;
				background-color: transparent
		}
			}
.mainframe_ .entrypage .entry-table__cell {
			display: grid;
			grid-template-columns: 155fr 156fr;
			height: 70px;
			border-top: 1px solid #FFE100
		}
@media screen and (min-width: 768px) {
		.mainframe_ .entrypage .entry-table__cell {
				display: flex;
				align-items: center;
				justify-content: center;
				height: auto;
				align-self: stretch;
				border-top: 0;
				border-left: 1px solid #FFE100
		}
			}
.mainframe_ .entrypage .entry-table__key {
			display: flex;
			align-items: center;
			justify-content: center;
			background-color: #FCEDAA;
			border-right: 1px solid #FFE100
		}
@media screen and (min-width: 768px) {
		.mainframe_ .entrypage .entry-table__key {
				display: none
		}
			}
.mainframe_ .entrypage .entry-table__val {
			display: flex;
			align-items: center;
			justify-content: center;
		}
.mainframe_ .entrypage .entry-table__action {
			display: flex;
			justify-content: center;
			padding-top: 12px;
			padding-bottom: 12px;
			border-top: 1px solid #FFE100
		}
@media screen and (min-width: 768px) {
		.mainframe_ .entrypage .entry-table__action {
				align-items: center;
				align-self: stretch;
				padding-top: 0;
				padding-bottom: 0;
				border-top: 0;
				border-left: 1px solid #FFE100
		}
			}
.mainframe_ .entrypage .entry-table__btn {
			width: 168px;
			font-size: 1.25rem;
		}
/* 会員特典 */
.mainframe_ .entrypage .entry-benefits {
		padding-top: 80px;
		padding-bottom: 80px;
		background-color: #F5F5F5;
	}
.mainframe_ .entrypage .entry-benefits__list {
			display: grid;
			margin-top: 60px;
			grid-row-gap: 50px;
			row-gap: 50px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .entrypage .entry-benefits__list {
				margin-top: 60px;
				grid-template-columns: repeat(3, minmax(0, 1fr));
				grid-auto-rows: 1fr;
				grid-column-gap: 48px;
				-moz-column-gap: 48px;
				     column-gap: 48px
		}
			}
.mainframe_ .entrypage .entry-benefit {
		display: flex;
		flex-direction: column;
		padding: 25px 25px 30px;
		color: inherit;
		text-decoration: none;
		background-color: #fff;
		border: 1px solid #eee
	}
@media screen and (max-width: 767px) {

	.mainframe_ .entrypage .entry-benefit {
			padding-bottom: 20px
	}
		}
.mainframe_ .entrypage .entry-benefit__img {
			aspect-ratio: 384 / 218;
			overflow: hidden;
		}
.mainframe_ .entrypage .entry-benefit__img > img {
				display: block;
				width: 100%;
				height: 100%;
				-o-object-fit: cover;
				   object-fit: cover;
			}
.mainframe_ .entrypage .entry-benefit__img.is-yellow {
				display: flex;
				align-items: center;
				justify-content: center;
				background-color: #FFE100;
			}
.mainframe_ .entrypage .entry-benefit__img.is-yellow > img {
					width: 81.8%;
					height: auto;
					-o-object-fit: contain;
					   object-fit: contain;
				}
.mainframe_ .entrypage .entry-benefit__title {
			margin-top: 18px;
			margin-bottom: 0;
			font-size: 1.25rem;
			line-height: 1.6;
			font-weight: bold;
			text-align: center;
		}
.mainframe_ .entrypage .entry-benefit__text {
			margin-top: 17px;
			margin-bottom: 0;
			line-height: 1.875;
		}
/* FAQ */
.mainframe_ .entrypage .entry-faq {
		padding-top: 80px;
		padding-bottom: 80px;
	}
.mainframe_ .entrypage .entry-faq__list {
			margin-top: 59px;
		}
/* 補足カード */
.mainframe_ .entrypage .entry-help {
		display: grid;
		margin-top: 60px;
		grid-row-gap: 50px;
		row-gap: 50px
	}
@media screen and (min-width: 768px) {
	.mainframe_ .entrypage .entry-help {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			grid-column-gap: 43px;
			-moz-column-gap: 43px;
			     column-gap: 43px
	}
		}
.mainframe_ .entrypage .entry-help__item {
			display: flex;
			flex-direction: column;
			padding: 30px 25px;
			background-color: #fff;
			border: 1px solid #eee
		}
@media screen and (min-width: 768px) {
		.mainframe_ .entrypage .entry-help__item {
				padding: 30px 35px
		}
			}
.mainframe_ .entrypage .entry-help__title {
			margin-top: 0;
			margin-bottom: 0;
			font-size: 1.5rem;
			line-height: 1.34;
			font-weight: bold;
			text-align: center;
		}
.mainframe_ .entrypage .entry-help__text {
			margin-top: 13px;
			margin-bottom: 0;
			line-height: 1.875;
			text-align: center
		}
@media screen and (max-width: 767px) {
		.mainframe_ .entrypage .entry-help__text {
				text-align: left
		}
			}
.mainframe_ .entrypage .entry-help__btns {
			display: flex;
			justify-content: center;
			margin-top: auto;
			padding-top: 21px;
		}


/* キャンペーン */
.mainframe_ .campaign01page .campaign-inner {
		margin-left: auto;
		margin-right: auto;
		padding-left: 20px;
		padding-right: 20px;
		max-width: 1400px;
		box-sizing: content-box;
	}
/* メインビジュアル */
.mainframe_ .campaign01page .campaign-hero {
		background-color: #ffe103;
	}
.mainframe_ .campaign01page .campaign-hero img {
			display: block;
			width: 100%;
			height: 600px;
			-o-object-fit: cover;
			   object-fit: cover;
		}
@media screen and (min-width: 768px) {
			.mainframe_ .campaign01page .campaign-hero img {
				max-width: 1440px;
				height: auto;
				aspect-ratio: 1440 / 600;
				margin-left: auto;
				margin-right: auto;
			}
		}
/* 共通セクション */
.mainframe_ .campaign01page .campaign-sec {
		padding-top: 80px;
		padding-bottom: 80px
	}
.mainframe_ .campaign01page .campaign-sec.is-cream {
			background-color: #FFFCDB;
		}
.mainframe_ .campaign01page .campaign-sec.is-yellow {
			background-color: #FFE100;
		}
.mainframe_ .campaign01page .campaign-sec.is-yellow .h2-title::after {
				background-color: #000;
			}
.mainframe_ .campaign01page .campaign-sec__desc {
			margin-top: 2rem;
			margin-bottom: 0;
			line-height: 1.875;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign01page .campaign-sec__desc {
				margin-left: auto;
				margin-right: auto;
				max-width: 749px
		}
			}
@media screen and (max-width: 767px) {
		.mainframe_ .campaign01page .campaign-sec__desc {
				text-align: left
		}
			}
.mainframe_ .campaign01page .campaign-sec__btn {
			margin-top: 41px;
			margin-left: auto;
			margin-right: auto;
		}
/* 特典カード（画像＋見出しのみ） */
.mainframe_ .campaign01page .campaign-perks {
		display: grid;
		margin-top: 60px;
		grid-row-gap: 50px;
		row-gap: 50px
	}
@media screen and (min-width: 768px) {
	.mainframe_ .campaign01page .campaign-perks {
			margin-top: 63px;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			grid-column-gap: 48px;
			-moz-column-gap: 48px;
			     column-gap: 48px
	}
		}
.mainframe_ .campaign01page .campaign-perk {
		display: flex;
		flex-direction: column;
		padding: 25px 25px 30px;
		background-color: #fff;
		border: 1px solid #FCEDAA;
	}
.mainframe_ .campaign01page .campaign-perk__img {
			aspect-ratio: 384 / 218;
			overflow: hidden;
		}
.mainframe_ .campaign01page .campaign-perk__img > img {
				display: block;
				width: 100%;
				height: 100%;
				-o-object-fit: cover;
				   object-fit: cover;
			}
.mainframe_ .campaign01page .campaign-perk__title {
			display: flex;
			flex-grow: 1;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			margin: 18px 0 0;
			font-size: 1.5rem;
			line-height: 36px;
			font-weight: bold;
			text-align: center;
		}
.mainframe_ .campaign01page .campaign-perk__lead {
			font-size: 1.125rem;
			line-height: 36px;
		}
/* 横並びの特典カード */
.mainframe_ .campaign01page .campaign-wide {
		display: grid;
		margin-top: 50px;
		padding: 23px 25px 25px;
		background-color: #fff;
		border: 1px solid #FCEDAA;
		grid-row-gap: 17px;
		row-gap: 17px
	}
@media screen and (min-width: 768px) {
	.mainframe_ .campaign01page .campaign-wide {
			grid-template-columns: 384px minmax(0, 1fr);
			grid-column-gap: 50px;
			-moz-column-gap: 50px;
			     column-gap: 50px;
			align-items: center
	}
		}
.mainframe_ .campaign01page .campaign-wide__img {
			aspect-ratio: 384 / 218;
			overflow: hidden;
		}
.mainframe_ .campaign01page .campaign-wide__img > img {
				display: block;
				width: 100%;
				height: 100%;
				-o-object-fit: cover;
				   object-fit: cover;
			}
.mainframe_ .campaign01page .campaign-wide__text {
			margin-top: 0;
			margin-bottom: 0;
			font-size: 1.5rem;
			line-height: 40px;
			font-weight: bold;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign01page .campaign-wide__text {
				text-align: left
		}
			}
.mainframe_ .campaign01page .campaign-wide__text strong {
				font-size: 2rem;
				line-height: 40px;
			}
.mainframe_ .campaign01page .campaign-wide__text small {
				font-size: 1.125rem;
				font-weight: normal;
				line-height: 40px;
			}
.mainframe_ .campaign01page .campaign-wide__mark {
			font-size: 1rem;
			line-height: 40px;
		}
/* 下向き矢印 */
.mainframe_ .campaign01page .campaign-arrow {
		display: flex;
		justify-content: center;
		margin-top: 23px
	}
.mainframe_ .campaign01page .campaign-arrow::after {
			content: "";
			width: 50px;
			height: 50px;
			background-color: #FFE100;
			clip-path: polygon(45% 0, 55% 0, 55% 45%, 100% 45%, 100% 55%, 55% 55%, 55% 100%, 45% 100%, 45% 55%, 0 55%, 0 45%, 45% 45%);
		}
/* クーポン */
.mainframe_ .campaign01page .campaign-coupon {
		display: grid;
		margin-top: 27px;
		padding: 40px 25px 30px;
		background-color: #FFE100;
		border-radius: 12px;
		grid-row-gap: 36px;
		row-gap: 36px
	}
@media screen and (min-width: 768px) {
	.mainframe_ .campaign01page .campaign-coupon {
			margin-left: auto;
			margin-right: auto;
			max-width: 792px;
			padding: 30px 39px 30px 61px;
			grid-template-columns: minmax(0, 1fr) 300px;
			grid-column-gap: 46px;
			-moz-column-gap: 46px;
			     column-gap: 46px;
			align-items: center;
			box-sizing: border-box
	}
		}
.mainframe_ .campaign01page .campaign-coupon__tag {
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			margin: 0;
			width: 206px;
			height: 41px;
			font-size: 1.375rem;
			font-weight: bold;
			background-color: #DEC800;
			border-radius: 223px
		}
.mainframe_ .campaign01page .campaign-coupon__tag::after {
				content: "";
				position: absolute;
				top: 100%;
				left: 96px;
				margin-top: -1px;
				width: 20px;
				height: 18px;
				background-color: #DEC800;
				clip-path: path("M19.226 16.4815 C6.88717 8.40107 13.3162 0 13.3162 0 L0 0 C0.290147 17.8282 22.6467 18.71 19.226 16.4815 Z");
			}
.mainframe_ .campaign01page .campaign-coupon__lead {
			margin: 18px 0 0;
			font-size: 1.5rem;
			line-height: 40px;
			font-weight: bold;
		}
.mainframe_ .campaign01page .campaign-coupon__lead strong {
				font-size: 2rem;
				line-height: 1;
			}
.mainframe_ .campaign01page .campaign-coupon__note {
			margin: 0;
			font-size: 1.125rem;
			line-height: 2.22;
		}
.mainframe_ .campaign01page .campaign-coupon__code {
			overflow: hidden;
			background-color: #fff;
			border: 2px solid #FFE100;
			border-radius: 12px;
		}
.mainframe_ .campaign01page .campaign-coupon__codehead {
			display: flex;
			align-items: center;
			justify-content: center;
			height: 70px;
			margin-top: 0;
			margin-bottom: 0;
			font-size: 1.25rem;
			font-weight: bold;
			background-color: #FCEDAA;
		}
.mainframe_ .campaign01page .campaign-coupon__codeval {
			display: flex;
			align-items: center;
			justify-content: center;
			height: 132px;
			margin-top: 0;
			margin-bottom: 0;
			font-size: 2.5rem;
			font-weight: bold;
			letter-spacing: -0.4px;
			color: #DECA16;
		}
/* 会員種別（キャンペーン価格） */
.mainframe_ .campaign01page .campaign-plans {
		display: grid;
		margin-top: 44px;
		grid-row-gap: 50px;
		row-gap: 50px
	}
@media screen and (min-width: 768px) {
	.mainframe_ .campaign01page .campaign-plans {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			grid-column-gap: 48px;
			-moz-column-gap: 48px;
			     column-gap: 48px
	}
		}
.mainframe_ .campaign01page .campaign-plan {
		background-color: #fff;
	}
.mainframe_ .campaign01page .campaign-plan__head {
			display: flex;
			align-items: center;
			justify-content: center;
			height: 58px;
			margin-top: 0;
			margin-bottom: 0;
			font-size: 1.5rem;
			font-weight: bold;
			background-color: #DEC800;
		}
.mainframe_ .campaign01page .campaign-plan__desc {
			margin: 29px 25px 0;
			line-height: 1.875;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign01page .campaign-plan__desc {
				margin-left: 0;
				margin-right: 0
		}
			}
@media screen and (max-width: 767px) {
		.mainframe_ .campaign01page .campaign-plan__desc {
				text-align: left
		}
			}
.mainframe_ .campaign01page .campaign-plan__prices {
			display: grid;
			margin: 23px 25px 30px;
			grid-row-gap: 20px;
			row-gap: 20px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign01page .campaign-plan__prices {
				margin: 23px 30px 52px;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				grid-column-gap: 23px;
				-moz-column-gap: 23px;
				     column-gap: 23px
		}
			}
.mainframe_ .campaign01page .campaign-price {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		height: 80px;
		background-color: #FFFCDB;
		border: 1px solid #FCEDAA;
		border-radius: 12px
	}
.mainframe_ .campaign01page .campaign-price.is-plain {
			grid-template-columns: minmax(0, 1fr)
		}
@media screen and (max-width: 767px) {
				.mainframe_ .campaign01page .campaign-price.is-plain .campaign-price__label {
					width: -moz-fit-content;
					width: fit-content;
					margin-left: auto;
					margin-right: auto;
					padding-left: 0;
				}
			}
.mainframe_ .campaign01page .campaign-price__label {
			display: flex;
			flex-direction: column;
			justify-content: center;
			padding-left: 21px;
			font-weight: bold;
		}
.mainframe_ .campaign01page .campaign-price__key {
			font-size: 1.125rem;
			line-height: 30px;
		}
.mainframe_ .campaign01page .campaign-price__val {
			font-size: 1.5rem;
			line-height: 30px;
		}
.mainframe_ .campaign01page .campaign-price__label.is-struck .campaign-price__key {
				font-size: 1.25rem;
			}
.mainframe_ .campaign01page .campaign-price__label.is-struck .campaign-price__key,
			.mainframe_ .campaign01page .campaign-price__label.is-struck .campaign-price__val {
				text-decoration: line-through;
			}
.mainframe_ .campaign01page .campaign-price__badge {
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 1.25rem;
			line-height: 1.5;
			font-weight: bold;
			text-align: center;
			background-color: #FFE100;
			border-radius: 0 11px 11px 0;
		}
.mainframe_ .campaign01page .campaign-entry__btn {
		margin-top: 50px;
		margin-left: auto;
		margin-right: auto;
		width: 362px;
		max-width: 100%;
		height: 60px;
		font-size: 1.25rem;
		color: #fff;
		background-color: #000;
	}
/* 学べるカード */
.mainframe_ .campaign01page .campaign-learn {
		display: grid;
		margin-top: 60px;
		grid-row-gap: 50px;
		row-gap: 50px
	}
@media screen and (min-width: 768px) {
	.mainframe_ .campaign01page .campaign-learn {
			grid-template-columns: repeat(3, minmax(0, 1fr));
			grid-column-gap: 48px;
			-moz-column-gap: 48px;
			     column-gap: 48px
	}
		}
.mainframe_ .campaign01page .campaign-learn__item {
			display: flex;
			flex-direction: column;
			padding: 25px 25px 30px;
			background-color: #fff;
			border: 1px solid #eee;
		}
.mainframe_ .campaign01page .campaign-learn__img {
			aspect-ratio: 384 / 218;
			overflow: hidden;
		}
.mainframe_ .campaign01page .campaign-learn__img > img {
				display: block;
				width: 100%;
				height: 100%;
				-o-object-fit: cover;
				   object-fit: cover;
			}
.mainframe_ .campaign01page .campaign-learn__img.is-yellow {
				display: flex;
				align-items: center;
				justify-content: center;
				background-color: #FFE100;
			}
.mainframe_ .campaign01page .campaign-learn__img.is-yellow > img {
					width: 81.8%;
					height: auto;
					-o-object-fit: contain;
					   object-fit: contain;
				}
.mainframe_ .campaign01page .campaign-learn__title {
			display: flex;
			flex-grow: 1;
			align-items: center;
			justify-content: center;
			margin: 18px 0 0;
			font-size: 1.25rem;
			line-height: 1.6;
			font-weight: bold;
			text-align: center;
		}
.mainframe_ .campaign01page .campaign-learn__btn {
			margin-top: 22px;
			margin-left: auto;
			margin-right: auto;
		}


/* お友達紹介キャンペーン */
.mainframe_ .campaign02page .campaign-inner {
		margin-left: auto;
		margin-right: auto;
		padding-left: 20px;
		padding-right: 20px;
		max-width: 1400px;
		box-sizing: content-box;
	}
.mainframe_ .campaign02page .campaign-hero {
		background-color: #f3eeda;
	}
.mainframe_ .campaign02page .campaign-hero img {
			display: block;
			width: 100%;
			height: 600px;
			-o-object-fit: cover;
			   object-fit: cover;
		}
@media screen and (min-width: 768px) {
			.mainframe_ .campaign02page .campaign-hero img {
				max-width: 1440px;
				height: auto;
				aspect-ratio: 1440 / 600;
				margin-left: auto;
				margin-right: auto;
			}
		}
/* リード文 */
.mainframe_ .campaign02page .campaign02-lead {
		padding-top: 80px;
		padding-bottom: 80px;
	}
.mainframe_ .campaign02page .campaign02-lead p {
			margin-top: 0;
			margin-bottom: 0;
			font-size: 1.5rem;
			line-height: 48px;
			font-weight: 600;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign02page .campaign02-lead p {
				margin-left: auto;
				margin-right: auto;
				max-width: 900px
		}
			}
@media screen and (max-width: 767px) {
		.mainframe_ .campaign02page .campaign02-lead p {
				text-align: left
		}
			}
/* 特典 */
.mainframe_ .campaign02page .campaign02-outline {
		padding-top: 80px;
		padding-bottom: 80px;
		background-color: #FFFCDB;
	}
.mainframe_ .campaign02page .campaign02-outline__cards {
			display: grid;
			margin-top: 60px;
			grid-row-gap: 50px;
			row-gap: 50px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign02page .campaign02-outline__cards {
				grid-template-columns: repeat(2, minmax(0, 1fr));
				grid-column-gap: 44px;
				-moz-column-gap: 44px;
				     column-gap: 44px
		}
			}
.mainframe_ .campaign02page .campaign02-outline__foot {
			display: grid;
			margin-top: 20px;
			grid-row-gap: 50px;
			row-gap: 50px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign02page .campaign02-outline__foot {
				margin-top: 30px;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				grid-column-gap: 44px;
				-moz-column-gap: 44px;
				     column-gap: 44px;
				grid-row-gap: 30px;
				row-gap: 30px;
				align-items: start
		}
			}
.mainframe_ .campaign02page .campaign02-outline__note {
			margin: 0;
			line-height: 1.875;
		}
/* 友達紹介キャンペーンのクーポンコード */
.mainframe_ .campaign02page .campaign02-coupon {
		display: flex;
		align-items: center;
		height: 80px;
		background-color: #fff
	}
@media screen and (max-width: 767px) {
	.mainframe_ .campaign02page .campaign02-coupon {
			flex-direction: column;
			height: 160px;
			order: -1
	}
		}
.mainframe_ .campaign02page .campaign02-coupon__head {
			display: flex;
			align-items: center;
			justify-content: center;
			flex: 0 0 auto;
			box-sizing: border-box;
			width: 44%;
			height: 100%;
			margin: 0;
			padding-left: 10px;
			padding-right: 10px;
			font-size: 1.25rem;
			font-weight: bold;
			background-color: #FFE2C6
		}
@media screen and (max-width: 767px) {
		.mainframe_ .campaign02page .campaign02-coupon__head {
				width: 100%;
				height: 80px
		}
			}
@media screen and (min-width: 768px) and (max-width: 1080px) {
		.mainframe_ .campaign02page .campaign02-coupon__head {
				font-size: 1rem
		}
			}
.mainframe_ .campaign02page .campaign02-coupon__val {
			display: flex;
			align-items: center;
			justify-content: center;
			flex: 1 1 auto;
			min-width: 0;
			margin: 0;
			font-size: 2.5rem;
			font-weight: 600;
			line-height: 1.2;
			text-align: center;
			color: #F08D2C
		}
@media screen and (max-width: 767px) {
		.mainframe_ .campaign02page .campaign02-coupon__val {
				width: 100%
		}
			}
@media screen and (min-width: 768px) and (max-width: 1080px) {
		.mainframe_ .campaign02page .campaign02-coupon__val {
				font-size: 1.75rem
		}
			}
.mainframe_ .campaign02page .campaign02-card {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		overflow: hidden;
		height: 500px;
		padding: 30px 24px;
		background-color: #fff;
		border: 1px solid #FCEDAA;
		box-sizing: border-box
	}
@media screen and (min-width: 768px) {

	.mainframe_ .campaign02page .campaign02-card {
			display: block;
			height: 252px;
			padding: 30px
	}
		}
.mainframe_ .campaign02page .campaign02-card {

		/* お友達側：配色は共通、左右反転はPCのみ */
	}
.mainframe_ .campaign02page .campaign02-card__illust {
			position: absolute;
			bottom: -42px;
			left: 50%;
			width: 248px;
			height: auto;
			max-height: none;
			transform: translateX(-50%)
		}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign02page .campaign02-card__illust {
				bottom: -41px;
				left: auto;
				right: -11px;
				transform: none
		}
			}
.mainframe_ .campaign02page .campaign02-card__body {
			position: relative;
			width: 100%;
			text-align: center
		}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign02page .campaign02-card__body {
				position: static;
				text-align: left
		}
			}
.mainframe_ .campaign02page .campaign02-card__ribbon {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 171px;
			height: 50px;
			margin: 0 auto;
			font-size: 1.25rem;
			line-height: 1.8;
			font-weight: bold;
			color: #fff;
			background-color: #75B4DC;
			-webkit-mask-image: url(../img/campaign02/campaign02_ribbon.svg);
			mask-image: url(../img/campaign02/campaign02_ribbon.svg);
			-webkit-mask-size: 100% 100%;
			mask-size: 100% 100%
		}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign02page .campaign02-card__ribbon {
				position: absolute;
				top: 50%;
				left: 30px;
				margin: 0;
				transform: translateY(-50%)
		}
			}
.mainframe_ .campaign02page .campaign02-card__text {
			margin: 43px 0 0;
			font-size: 1.5rem;
			line-height: 60px;
			font-weight: bold
			/* 402px 未満では1行の折り返しが崩れないよう文字サイズを可変にする */
		}
@media screen and (max-width: 401px) {
		.mainframe_ .campaign02page .campaign02-card__text {
				font-size: calc((100vw - 92px) / 13)
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign02page .campaign02-card__text {
				position: absolute;
				top: 50%;
				left: 221px;
				margin: 0;
				text-align: left;
				transform: translateY(-50%)
		}
			}
.mainframe_ .campaign02page .campaign02-card__text strong {
				font-size: 3rem;
				line-height: 60px;
				color: #6AA9D1
			}
@media screen and (max-width: 401px) {
			.mainframe_ .campaign02page .campaign02-card__text strong {
					font-size: calc((100vw - 92px) / 6.46)
			}
				}
.mainframe_ .campaign02page .campaign02-card__sub {
			display: block;
			font-size: 1.5rem;
			line-height: 40px
		}
@media screen and (max-width: 401px) {
		.mainframe_ .campaign02page .campaign02-card__sub {
				font-size: calc((100vw - 92px) / 13)
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign02page .campaign02-card__sub {
				line-height: 45px
		}
			}
.mainframe_ .campaign02page .campaign02-card.is-flip .campaign02-card__ribbon {
				background-color: #F08D2C;
			}
.mainframe_ .campaign02page .campaign02-card.is-flip .campaign02-card__text {
				margin-top: 0
			}
@media screen and (min-width: 768px) {
			.mainframe_ .campaign02page .campaign02-card.is-flip .campaign02-card__text {
					left: 248px
			}
				}
.mainframe_ .campaign02page .campaign02-card.is-flip .campaign02-card__text strong,
			.mainframe_ .campaign02page .campaign02-card.is-flip .campaign02-card__sub {
				color: #F08D2C;
			}
@media screen and (max-width: 767px) {
			.mainframe_ .campaign02page .campaign02-card.is-flip .campaign02-card__illust {
					transform: translateX(calc(-50% + 15px))
			}
				}
/* the ribbon points the other way on both layouts */
.mainframe_ .campaign02page .campaign02-card.is-flip .campaign02-card__ribbon {
				transform: scaleX(-1);
			}
.mainframe_ .campaign02page .campaign02-card.is-flip .campaign02-card__ribbon span {
					display: block;
					transform: scaleX(-1);
				}
@media screen and (min-width: 768px) {
				.mainframe_ .campaign02page .campaign02-card.is-flip .campaign02-card__illust {
					right: auto;
					left: -9px;
					width: 248px;
				}
				.mainframe_ .campaign02page .campaign02-card.is-flip .campaign02-card__ribbon {
					left: auto;
					right: 30px;
					transform: translateY(-50%) scaleX(-1);
				}
			}
/* キャンペーンの流れ */
.mainframe_ .campaign02page .campaign02-flow .campaign02-flow__accent {
			display: block;
			font-style: normal;
			font-weight: bold;
			line-height: 30px;
			color: #BCA600;
		}
.mainframe_ .campaign02page .campaign02-flow {
		padding-top: 80px;
		padding-bottom: 80px;
		background-color: #fff;
}
.mainframe_ .campaign02page .campaign02-flow__steps {
			margin-top: 60px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign02page .campaign02-flow__steps {
				margin-left: auto;
				margin-right: auto;
				max-width: 996px
		}
			}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign02page .campaign02-flow__row {
				display: grid;
				grid-template-columns: 120px minmax(0, 846px);
				grid-column-gap: 30px;
				-moz-column-gap: 30px;
				     column-gap: 30px;
				align-items: start
		}
			}
.mainframe_ .campaign02page .campaign02-flow__row:not(:first-child) {
				margin-top: 30px
			}
@media screen and (min-width: 768px) {
			.mainframe_ .campaign02page .campaign02-flow__row:not(:first-child) {
					margin-top: 0
			}
				}
.mainframe_ .campaign02page .campaign02-flow__label {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 120px;
			height: 30px;
			margin-left: auto;
			margin-right: auto;
			background-color: #F5F5F5
		}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign02page .campaign02-flow__label {
				margin-top: 10px;
				margin-left: 0;
				margin-right: 0
		}
			}
.mainframe_ .campaign02page .campaign02-flow__desc {
			margin: 30px 0 0;
			font-size: 1.125rem;
			font-weight: bold;
			line-height: 30px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign02page .campaign02-flow__desc {
				margin-top: 0;
				line-height: 50px
		}
			}
.mainframe_ .campaign02page .campaign02-flow__note {
			margin: 30px 0 0;
			line-height: 1.875
		}
@media screen and (min-width: 768px) {
		.mainframe_ .campaign02page .campaign02-flow__note {
				margin-top: 40px;
				margin-left: auto;
				margin-right: auto;
				max-width: 996px
		}
			}
.mainframe_ .campaign02page .campaign02-flow__note span {
				display: block;
				padding-left: 1em;
				line-height: 1.875;
				text-indent: -1em;
			}
.mainframe_ .campaign02page .campaign02-flow__btn {
			margin-top: 81px;
			margin-left: auto;
			margin-right: auto;
			width: 362px;
			max-width: 100%;
			height: 60px;
			font-size: 1.25rem;
		}


/* よくあるご質問 */
.mainframe_ .faqpage .faq-inner {
		margin-left: auto;
		margin-right: auto;
		padding-left: 20px;
		padding-right: 20px;
		max-width: 1400px;
		box-sizing: content-box;
	}
.mainframe_ .faqpage .faq-intro {
		padding-top: 60px;
		padding-bottom: 80px;
	}
.mainframe_ .faqpage .faq-intro__title {
			margin-top: 0;
			margin-bottom: 0;
			font-size: 2rem;
			line-height: 1.5;
			font-weight: bold;
			text-align: center;
		}
/* カテゴリタイル */
.mainframe_ .faqpage .faq-cats {
		display: grid;
		margin: 34px 0 0;
		padding: 0;
		list-style: none;
		grid-gap: 8px;
		gap: 8px
	}
@media screen and (min-width: 768px) {
	.mainframe_ .faqpage .faq-cats {
			margin-top: 40px;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			grid-gap: 50px 48px;
			gap: 50px 48px
	}
		}
.mainframe_ .faqpage .faq-cats__item {
			margin: 0;
		}
.mainframe_ .faqpage .faq-cats__link {
			position: relative;
			display: flex;
			align-items: center;
			min-height: 64px;
			padding-top: 17px;
			padding-bottom: 17px;
			padding-right: 50px;
			padding-left: 25px
		}
@media screen and (min-width: 768px) {
		.mainframe_ .faqpage .faq-cats__link {
				min-height: 120px;
				padding-top: 0;
				padding-bottom: 0
		}
			}
.mainframe_ .faqpage .faq-cats__link {
			font-weight: bold;
			line-height: 1.875;
			color: inherit;
			background-color: #F5F5F5
		}
@media screen and (min-width: 768px) {
		.mainframe_ .faqpage .faq-cats__link {
				padding-left: 30px
		}
			}
.mainframe_ .faqpage .faq-cats__arrow {
			position: absolute;
			top: 50%;
			right: 20px;
			display: block;
			width: 20px;
			height: auto;
			transform: translateY(-50%);
		}
/* 質問グループ */
.mainframe_ .faqpage .faq-group {
		padding-bottom: 80px;
	}
.mainframe_ .faqpage .faq-group__list {
			margin-top: 59px;
		}
/* 事務局問い合わせ */
.mainframe_ .faqpage .faq-contact {
		display: flex;
		flex-direction: column;
		margin-top: 60px;
		padding: 30px 25px;
		background-color: #fff;
		border: 1px solid #eee
	}
@media screen and (min-width: 768px) {
	.mainframe_ .faqpage .faq-contact {
			padding: 30px 35px
	}
		}
.mainframe_ .faqpage .faq-contact__title {
			margin-top: 0;
			margin-bottom: 0;
			font-size: 1.5rem;
			line-height: 1.34;
			font-weight: bold;
			text-align: center;
		}
.mainframe_ .faqpage .faq-contact__text {
			margin-top: 13px;
			margin-bottom: 0;
			line-height: 1.875
		}
@media screen and (min-width: 768px) {
		.mainframe_ .faqpage .faq-contact__text {
				text-align: center
		}
			}
.mainframe_ .faqpage .faq-contact__btn {
			margin-top: 21px;
			margin-left: auto;
			margin-right: auto;
		}


/* ホバー */
.mainframe_ .nikkor-btn,
	.mainframe_ .toppage .deals__item,
	.mainframe_ .toppage .things__item,
	.mainframe_ .entrypage .entry-benefit,
	.mainframe_ .servicepage .service-nav__link,
	.mainframe_ .faqpage .faq-cats__link,
	.mainframe_ .nikkor-nav__item a {
		transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	}
@media (hover: hover) {
		/* 黄色ボタン（opacity はグローバルCSSの a:hover 対策） */
		.mainframe_ .nikkor-btn:hover {
			opacity: 1;
			background-color: #000;
			color: #FFE100;
			border-color: #000;
		}

		.mainframe_ .aboutpage .about-photohub__btn.is-view:hover,
		.mainframe_ .servicepage .service-card__btn.is-outline:hover,
		.mainframe_ .entrypage .entry-terms__btn:hover,
		.mainframe_ .servicepage .service-card__btn.is-dark:hover {
			opacity: 1;
			background-color: #FFE100;
			color: #000;
			border-color: #FFE100;
		}

		.mainframe_ .signup__register:hover,
		.mainframe_ .photohub__btn.is-register:hover,
		.mainframe_ .branchpage .branch-entry__btn.is-dark:hover,
		.mainframe_ .campaign01page .campaign-entry__btn:hover {
			opacity: 1;
			background-color: #fff;
			color: #000;
			border-color: transparent;
		}

		/* 枠線カード */
		.mainframe_ .toppage .deals__item:hover,
		.mainframe_ .toppage .things__item:hover,
		.mainframe_ .entrypage .entry-benefit:hover {
			opacity: 1;
			background-color: #FFE100;
			border-color: #FFE100;
		}

		/* グレータイル */
		.mainframe_ .servicepage .service-nav__link:hover,
		.mainframe_ .faqpage .faq-cats__link:hover {
			opacity: 1;
			background-color: #FFE100;
		}

		/* ページ内ナビ */
			.mainframe_ .nikkor-nav__item.is-pc a:hover {
				opacity: 1;
				background-color: #FFE100;
			}
			.mainframe_ .nikkor-nav__item.is-login a:hover,
			.mainframe_ .nikkor-nav__item.is-register a:hover {
				opacity: 1;
				background-color: #000;
				color: #FFE100;
			}
	}


/* タブレット幅（768〜1279px）
   PC レイアウトは 1440px 前提の固定寸法が多いため、この幅でのみ調整する。
   767px 以下と 1280px 以上の表示には影響しない。 */
@media screen and (min-width: 768px) and (max-width: 1279px) {

		/* 入会する（共通） */
		.mainframe_ .signup__list {
			grid-column-gap: 30px;
			-moz-column-gap: 30px;
			     column-gap: 30px;
		}
		.mainframe_ .signup__item {
			flex: 1 1 0;
			min-width: 0;
		}
		.mainframe_ .signup__img {
			max-width: 100%;
		}
		.mainframe_ .signup__title {
			font-size: 1.25rem;
		}

		/* できること */
		.mainframe_ .servicepage .service-card.is-media .service-card__img {
			height: auto;
			align-self: start;
		}
		.mainframe_ .servicepage .service-card__btns.is-row {
			flex-direction: column;
		}

		/* 定期メンテナンス・修理 */
		.mainframe_ .repairpage .repair-card__head {
			height: auto;
			min-height: 83px;
			align-items: flex-start;
		}

		/* 写真がもっと好きになる */
		.mainframe_ .uservoicepage .uservoice-hero__lead .br-sp {
			display: inline;
		}
		.mainframe_ .uservoicepage .uservoice-hero__visual {
			right: auto;
			bottom: -59px;
			transform-origin: left bottom;
		}
		.mainframe_ .uservoicepage .uservoice-member__inner {
			padding-left: 40px;
			padding-right: 40px;
		}
		.mainframe_ .uservoicepage .uservoice-member__visual {
			flex: 0 0 34%;
		}
		.mainframe_ .uservoicepage .uservoice-member__visual img {
			width: 100%;
		}
		.mainframe_ .uservoicepage .uservoice-member__content {
			flex: 1 1 auto;
			min-width: 0;
		}

		.mainframe_ .campaign02page .campaign02-outline__cards,
		.mainframe_ .campaign02page .campaign02-outline__foot {
			grid-template-columns: minmax(0, 1fr);
			max-width: 720px;
			margin-left: auto;
			margin-right: auto;
		}
		.mainframe_ .campaign02page .campaign02-flow__desc {
			line-height: 30px;
			padding-top: 10px;
			padding-bottom: 10px;
		}
}

/* タブレット幅（768〜1023px） */
@media screen and (min-width: 768px) and (max-width: 1023px) {

		/* 入会する（共通）: 2列×2段 */
		.mainframe_ .signup__list {
			flex-wrap: wrap;
			justify-content: center;
			grid-column-gap: 60px;
			-moz-column-gap: 60px;
			     column-gap: 60px;
			grid-row-gap: 40px;
			row-gap: 40px;
			max-width: 520px;
		}
		.mainframe_ .signup__item {
			flex: 0 0 auto;
			width: calc((100% - 60px) / 2);
		}
		.mainframe_ .signup__img {
			width: 198px;
		}

		/* ニッコールクラブとは */
		.mainframe_ .aboutpage .about-history .h2-title h2 {
			font-size: 1.875rem;
		}

		/* できること */
		.mainframe_ .servicepage .service-nav {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			grid-gap: 20px;
			gap: 20px;
		}
		.mainframe_ .servicepage .service-cards.is-wide-left {
			grid-template-columns: minmax(0, 1fr);
		}
		.mainframe_ .servicepage .service-cards.is-3col {
			grid-column-gap: 20px;
			-moz-column-gap: 20px;
			     column-gap: 20px;
		}
		.mainframe_ .servicepage .service-cards.is-3col .service-card {
			padding: 20px 16px 24px;
		}
		.mainframe_ .servicepage .service-cards.is-3col .service-card__btn {
			font-size: 0.8125rem;
			padding-left: 8px;
			padding-right: 26px;
		}
		.mainframe_ .servicepage .service-cards.is-3col .service-card__btn.is-external::after {
			right: 12px;
		}

		/* 支部 */
		.mainframe_ .branchpage .branch-outline {
			padding-bottom: 380px;
		}
		.mainframe_ .branchpage .branch-outline__illust {
			top: auto;
			bottom: 0;
			right: 20px;
			width: 400px;
		}

		/* 定期メンテナンス・修理 */
		.mainframe_ .repairpage .repair-cards {
			grid-template-columns: minmax(0, 1fr);
			grid-row-gap: 30px;
			row-gap: 30px;
		}

		/* 会員展 */
		.mainframe_ .exhibitionpage .exhibition-flow__row {
			grid-template-columns: 210px minmax(0, 1fr);
			grid-column-gap: 20px;
			-moz-column-gap: 20px;
			     column-gap: 20px;
		}
		.mainframe_ .exhibitionpage .exhibition-flow__label {
			width: 210px;
			padding: 0 14px;
			box-sizing: border-box;
		}
		.mainframe_ .exhibitionpage .exhibition-flow__desc {
			padding-top: 5px;
			line-height: 30px;
		}

		/* 写真がもっと好きになる */
		.mainframe_ .uservoicepage .uservoice-hero__inner {
			min-height: 440px;
			padding-left: 40px;
		}
		.mainframe_ .uservoicepage .uservoice-hero__body {
			width: 340px;
		}
		.mainframe_ .uservoicepage .uservoice-hero__lead {
			font-size: 1.75rem;
		}
		.mainframe_ .uservoicepage .uservoice-hero__desc {
			margin-top: 24px;
			font-size: 1rem;
		}
		.mainframe_ .uservoicepage .uservoice-hero__visual {
			left: 380px;
			transform: scale(.6);
		}
		.mainframe_ .uservoicepage .uservoice-member__ring {
			width: 180px;
		}
		.mainframe_ .uservoicepage .uservoice-member__body {
			grid-column-gap: 32px;
			-moz-column-gap: 32px;
			     column-gap: 32px;
		}
		.mainframe_ .uservoicepage .uservoice-member__text {
			margin-top: 28px;
			font-size: 1rem;
			line-height: 1.875;
		}
		.mainframe_ .uservoicepage .uservoice-member__photos {
			grid-column-gap: 20px;
			-moz-column-gap: 20px;
			     column-gap: 20px;
			margin-top: 60px;
		}

		/* 入会する */
		.mainframe_ .entrypage .entry-plans {
			grid-template-columns: minmax(0, 1fr);
			grid-row-gap: 40px;
			row-gap: 40px;
		}
		.mainframe_ .entrypage .entry-plan__desc {
			margin-left: 30px;
			margin-right: 30px;
		}
		.mainframe_ .entrypage .entry-benefits__list {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			grid-column-gap: 30px;
			-moz-column-gap: 30px;
			     column-gap: 30px;
			grid-row-gap: 30px;
			row-gap: 30px;
		}
		.mainframe_ .entrypage .entry-help {
			grid-template-columns: minmax(0, 1fr);
			grid-row-gap: 30px;
			row-gap: 30px;
		}

		/* 入会キャンペーン */
		.mainframe_ .campaign01page .campaign-wide {
			grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
			grid-column-gap: 30px;
			-moz-column-gap: 30px;
			     column-gap: 30px;
		}
		.mainframe_ .campaign01page .campaign-wide__text {
			font-size: 1.25rem;
			line-height: 1.6;
		}
		.mainframe_ .campaign01page .campaign-wide__text strong {
			font-size: 1.5rem;
			line-height: 1.6;
		}
		.mainframe_ .campaign01page .campaign-wide__text small {
			font-size: 0.9375rem;
			line-height: 1.6;
		}
		.mainframe_ .campaign01page .campaign-wide__mark {
			font-size: 0.875rem;
			line-height: 1.6;
		}
		.mainframe_ .campaign01page .campaign-coupon {
			grid-template-columns: minmax(0, 1fr) 240px;
			grid-column-gap: 30px;
			-moz-column-gap: 30px;
			     column-gap: 30px;
			padding: 30px 30px 30px 40px;
		}
		.mainframe_ .campaign01page .campaign-coupon__codeval {
			font-size: 2rem;
		}
		.mainframe_ .campaign01page .campaign-perks {
			grid-column-gap: 20px;
			-moz-column-gap: 20px;
			     column-gap: 20px;
		}
		.mainframe_ .campaign01page .campaign-perk {
			padding: 20px 16px 24px;
		}
		.mainframe_ .campaign01page .campaign-learn {
			grid-column-gap: 20px;
			-moz-column-gap: 20px;
			     column-gap: 20px;
		}
		.mainframe_ .campaign01page .campaign-learn__item {
			padding: 20px 16px 24px;
		}
		.mainframe_ .campaign01page .campaign-learn__title {
			font-size: max(0.875rem, 1.8vw);
		}
		.mainframe_ .campaign01page .campaign-learn__btn {
			font-size: 0.875rem;
		}

		/* よくあるご質問 */
		.mainframe_ .faqpage .faq-cats {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			grid-gap: 20px 24px;
			gap: 20px 24px;
		}
		.mainframe_ .faqpage .faq-cats__link {
			min-height: 88px;
		}
		.mainframe_ .faqpage .faq-contact {
			padding-left: 20px;
			padding-right: 20px;
		}
}

/* タブレット幅（768〜1179px） */
@media screen and (min-width: 768px) and (max-width: 1179px) {
		.mainframe_ .campaign01page .campaign-plan__prices {
			grid-template-columns: minmax(0, 1fr);
			margin: 23px 20px 30px;
		}
		.mainframe_ .campaign01page .campaign-plan__desc {
			margin-left: 20px;
			margin-right: 20px;
		}
		.mainframe_ .campaign01page .campaign-learn__btn {
			width: 100%;
			max-width: 290px;
			height: auto;
			min-height: 47px;
			padding: 8px 32px 8px 12px;
			box-sizing: border-box;
			line-height: 1.4;
		}
		.mainframe_ .campaign01page .campaign-learn__btn.is-external::after {
			right: 12px;
		}
}

/* タブレット幅（1024〜1279px） */
@media screen and (min-width: 1024px) and (max-width: 1279px) {

		/* できること */
		.mainframe_ .servicepage .service-nav {
			grid-gap: 20px;
			gap: 20px;
		}
		.mainframe_ .servicepage .service-nav__link {
			padding-left: 20px;
			padding-right: 40px;
			grid-column-gap: 15px;
			-moz-column-gap: 15px;
			     column-gap: 15px;
		}
		.mainframe_ .servicepage .service-nav__img {
			width: 70px;
			height: 70px;
		}
		.mainframe_ .servicepage .service-nav__label {
			white-space: nowrap;
		}
		.mainframe_ .servicepage .service-nav__arrow {
			right: 15px;
		}

		/* 支部（1440px 時のイラストと一覧の位置関係を保つ） */
		.mainframe_ .branchpage .branch-outline__illust {
			left: calc(50% + 30px);
			right: auto;
		}

		/* 定期メンテナンス・修理 */
		.mainframe_ .repairpage .repair-cards {
			grid-column-gap: 30px;
			-moz-column-gap: 30px;
			     column-gap: 30px;
		}
		.mainframe_ .repairpage .repair-card {
			padding-left: 30px;
			padding-right: 30px;
		}
		.mainframe_ .repairpage .repair-card__head {
			grid-column-gap: 20px;
			-moz-column-gap: 20px;
			     column-gap: 20px;
			padding-left: 0;
		}
		.mainframe_ .repairpage .repair-card__title .br-sp {
			display: inline;
		}
		.mainframe_ .repairpage .repair-card__tags {
			grid-gap: 8px;
			gap: 8px;
		}
		.mainframe_ .repairpage .repair-card__tags li {
			width: auto;
			padding: 0 14px;
		}

		/* 写真がもっと好きになる */
		.mainframe_ .uservoicepage .uservoice-hero__inner {
			min-height: 520px;
			padding-left: 60px;
		}
		.mainframe_ .uservoicepage .uservoice-hero__body {
			width: 470px;
		}
		.mainframe_ .uservoicepage .uservoice-hero__visual {
			left: 540px;
			transform: scale(.8);
		}
		.mainframe_ .uservoicepage .uservoice-member__text {
			font-size: 1.125rem;
		}
		.mainframe_ .uservoicepage .uservoice-member__photos {
			grid-column-gap: 30px;
			-moz-column-gap: 30px;
			     column-gap: 30px;
			margin-top: 80px;
		}

		/* 入会する */
		.mainframe_ .entrypage .entry-plan__desc {
			margin-left: 20px;
			margin-right: 20px;
		}
		.mainframe_ .entrypage .entry-table {
			margin-left: 20px;
			margin-right: 20px;
			font-size: 1rem;
		}
		.mainframe_ .entrypage .entry-table__head,
		.mainframe_ .entrypage .entry-table__row {
			grid-template-columns: 150fr 95fr 95fr 150fr;
		}
		.mainframe_ .entrypage .entry-table__name {
			padding-left: 14px;
		}
		.mainframe_ .entrypage .entry-table__btn {
			width: calc(100% - 20px);
			max-width: 168px;
			font-size: 1.125rem;
		}
		.mainframe_ .entrypage .entry-benefits__list {
			grid-column-gap: 30px;
			-moz-column-gap: 30px;
			     column-gap: 30px;
		}
}

/* タブレット幅（1024〜1179px） */
@media screen and (min-width: 1024px) and (max-width: 1179px) {
		.mainframe_ .campaign01page .campaign-learn {
			grid-column-gap: 32px;
			-moz-column-gap: 32px;
			     column-gap: 32px;
		}
		.mainframe_ .campaign01page .campaign-learn__item {
			padding: 25px 20px 30px;
		}
		.mainframe_ .campaign01page .campaign-learn__title {
			font-size: 1.125rem;
		}
		.mainframe_ .faqpage .faq-cats {
			grid-template-columns: repeat(3, minmax(0, 1fr));
			grid-gap: 30px 32px;
			gap: 30px 32px;
		}
}

/* タブレット幅（1180〜1279px） */
@media screen and (min-width: 1180px) and (max-width: 1279px) {
		.mainframe_ .faqpage .faq-cats {
			grid-gap: 50px 24px;
			gap: 50px 24px;
		}
		.mainframe_ .faqpage .faq-cats__link {
			padding-left: 20px;
			padding-right: 44px;
		}
		.mainframe_ .faqpage .faq-cats__arrow {
			right: 16px;
		}
}

/* タブレット幅（1081〜1279px） */
@media screen and (min-width: 1081px) and (max-width: 1279px) {
		.mainframe_ .servicepage .photohub__btns {
			display: block;
		}
		.mainframe_ .servicepage .photohub__btn {
			max-width: 100%;
		}
		.mainframe_ .servicepage .photohub__btn:not(:first-child) {
			margin-top: 20px;
		}
}
