@charset "utf-8";


/* effect
-------------------------------------------------- */

@keyframes intro-title {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes intro-character {
	0% {
		transform: translateY(70px);
		opacity: 0;
	}

	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

@keyframes bg-loop {
	from {
		background-position: left  bottom;
	}
	to {
			background-position: -2732px bottom;
	}
}

/* 768px - 1000px */

@media (min-width: 768px) and (max-width: 1000px) {
	@keyframes intro-character {
		0% {
			transform: translateY(7vw);
			opacity: 0;
		}

		100% {
			transform: translateY(0);
			opacity: 1;
		}
	}
}

/* SP Only */

@media (max-width: 767px) {
	@keyframes intro-character {
		0% {
			transform: translateY(8.66666vw);
			opacity: 0;
		}

		100% {
			transform: translateY(0);
			opacity: 1;
		}
	}

	@keyframes bg-loop {
		from {
			background-position: left  bottom;
		}
		to {
				background-position: -492vw bottom;
		}
	}
}

@keyframes visual_scroll {
	20% {
		opacity: 0;
		transform: translateX(0%) scale3d(0.5, 0.5, 0.5);

	}

	40% {
		opacity: 1;
		transform: translateX(-30%) scale3d(1, 1, 1);
	}

	80% {
		opacity: 1;
		transform: translateX(-70%) scale3d(1, 1, 1);
	}

	100% {
		opacity: 0;
		transform: translateX(-100%) scale3d(0.5, 0.5, 0.5);
	}
}

@keyframes mark-rotate {
	0% {
		transform: rotate(0);
	}

	100% {
		transform: rotate(360deg);
	}
}

@keyframes back-arrow {
	0% {
		right: 0;
		opacity: 1;
	}

	50% {
		right: -12%;
		opacity: 0;
	}

	51% {
		right: 12%;
		opacity: 0;
	}

	100% {
		right: 0;
		opacity: 1;
	}
}


/* font
-------------------------------------------------- */

@font-face {
	font-family: "Yu Gothic M";
	src: local("Yu Gothic Medium");
}

@font-face {
	font-family: "Yu Gothic M";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}

.smile {
	font-family: "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-feature-settings: "palt";
}


/* layout
-------------------------------------------------- */

body {
	overflow-x: hidden;
}

section {
	position: relative;
}

/* PC Only */

@media (min-width: 768px) {
	.smile__pc__only {
		display: inline-block !important;
	}

	.smile__sp__only {
		display: none !important;
	}
}

/* SP Only */

@media (max-width: 767px) {
	.smile__pc__only {
		display: none !important;
	}

	.smile__sp__only {
		display: inline-block !important;
	}
}


/* common
-------------------------------------------------- */

.smile {
	position: relative;
	line-height: 1;
}

.smile sup {
	vertical-align: 0.125em;
}

.smile sub {
	font-size: 0.7em;
}

.smile__content__wrapper {
	position: relative;
	margin-top: 50px;
	padding-top: 180px;
	border-radius: 100px;
}

.smile__category {
	position: relative;
	margin: 0 auto;
	padding: 0 5px 30px 5px;
	max-width: 414px;
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAoCAYAAABpYH0BAAAD6klEQVRoQ+2bTWgTQRTHd2aThmyaUwvBGL9IqoUqFKrYS6F6E8RLtRXrSQS/Ws+WYgmVau+1WEU8+VVsL6JXLfSgooWCFqpt8CsWgq2XNAn52F3fhk2pUtpN571NlOyl0Mz8973fvtmZefOWSWVw6eEw/zIwcEBT1UMaY/uZru/WJWkrmOYxzUswSfqhM/aJ6/o7Lssvd/b2vmXhsFZq88Gu0l1RtzuQymYvMU3rBGDbirEEDP+uc/7A7XQOB1KpaDF9MduWBGDU661JJZP9kq6fBWeqBB3KSIzddStKXyAeXxLUKrq77QDnZLkdwA2DpbVFW7t+h0XGWFdIVUeRddeVsw2g3trqiExODum6fp7SQYA4Emxp6WYTEznK+xS0bQG44PcriVhsFCLvqB1OwZB+5vH5OvwLC0nq+5EDNCNvHCLvGLUzq/UhEp9CJLZRRyI5wHlZHgF45+yEtzK8GLsN70TaVwalYwCvA+A9przHRtqcsVNBVX20UbvN/k4WgfmlSiIxSzDbFuvrr2pFqd+yvPyz2I5W2pMBhOi7RT3jWnHQaAPvQ7KhTAIw4nZv19LpebDdadVJ4nZZ7nKFgqnUN+z7kACcczhuSJp2BdtYIT3OB+tyuR4hjTU6owM0EgPz/f1f4V4BbGMF9aKhvr4d2AkIdICfnc6DOVV9LegsSXeHLDfvymbfYIqjA5zj3Bgm1zGNxNLiktQT1LRBLL38BIUpZmhBsmAMtmxt2LooeoyN16nqcRQtUwQd4Dzn7yG3txfTSCwtcPZDSNP2YenRRCDniyBcg2kkotZSnaahptHQIxDegWlwWDRJisjsD6kMAHRhilcACtKkAFgZwiIPpTKJiNCrLGME6RkAKwtpMYiwlWuGrdwrMRWa3v/EVq6STEB4+JV0liDEfMlGOh0powV1xu1yBSlKQNDXgQX2kFQYhqTCRcFngdLdOGyH07kLKGJ/iZABNA+VPpbBvnjJ7fHsoaqbIQNoPCg4WDoJB0tkR4pWIgqONTvhWPOhlbabaUMK0IRYyoP1OzB0SQ/1yQHqDQ1VkdnZJyUp7aivP8FmZjKbiSyrfcgBGoYYxUXJWGwMIB6xaphIO5g0nis+X/t/UVxUAKE3NTkj09NGeRvtkIJD9GBjYzebmsqKPASrfW2JwNXGmBPLEPwPNTMMeoswYVymrINZC6rtAPND2uutTSaT1yAazyAstjMwZO8pinLVH48buUhbr5IALHhoFpl3QRXDafifUZVfzPVD4vw+FJnfpNhhWDWkpABX3o/mZw6QxTkMlUBNxmcO8FsATveqjTZg5DL8iRqfOcDuZgqyKi/K5TOH328/czioP6SVAAAAAElFTkSuQmCC) center bottom repeat-x;
	background-size: 24px;
}

.smile__category img {
	width: 100%;
}

.smile__lead {
	margin-top: 50px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.8em;
	text-align: center;
	letter-spacing: 0.05em;
}

.smile__mark {
	position: absolute;
	top: 100px;
	left: 50px;
	width: 262.5px;
}

.smile__mark img {
	width: 100%;
}

.smile__mark img:nth-of-type(2) {
	position: absolute;
	top: 0;
	left: 0;
	animation: mark-rotate 20s linear infinite;
}

.smile__content {
	margin: 50px auto 0 auto;
	padding: 0 17.5px 130px 17.5px;
	max-width: 1070px;
	display: flex;
	flex-wrap: wrap;
}

.smile__content li {
	position: relative;
	margin: 100px 17.5px 0 17.5px;
	width: 310px;
}

.smile__content li a {
	width: 100%;
	display: block;
	perspective: 620px;
	transform-style: preserve-3d;
	cursor: pointer;
}

.smile__content li figure {
	overflow: hidden;
	border: #db0202 4px solid;
	border-radius: 50%;
}

.smile__content li img {
	width: 100%;
}

.smile__content__title {
	position: absolute;
	top: -37px;
	left: -15%;
	width: 130%;
	display: block;
	color: #db0202;
	font-size: 22px;
	font-weight: bold;
	line-height: 1em;
	letter-spacing: -0.04em;
	text-align: center;
	white-space: nowrap;
	opacity: 0;
	transform: translateY(37px);
	transition: transform 0.6s cubic-bezier(0.5, 1, 0.89, 1);
}

.smile__content--active .smile__content__title {
	opacity: 1;
}

.smile__content--active .smile__content__title {
	transform: translateY(0) !important;
}

.smile__content__title span {
	opacity: 0;
	transition: opacity 0.6s;
}

.smile__content--active .smile__content__title span {
	opacity: 1;
}

.smile__front {
	position: relative;
	backface-visibility: hidden;
	z-index: 1;
	transform: rotateY(0deg);
	transition: transform 0.6s cubic-bezier(0.45, 0, 0.55, 1);
	backface-visibility: hidden;
}

.smile__back {
	position: absolute;
	top: 0;
	left: 0;
	padding-top: 20px;
	width: 100%;
	height: 310px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	backface-visibility: hidden;
	background-color: #db0202;
	border-radius: 50%;
	transform: rotateY(180deg);
	transition: transform 0.6s cubic-bezier(0.45, 0, 0.55, 1);
}

.smile__back__summary {
	width: 240px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.75em;
	letter-spacing: 0.05em;
	text-align: justify;
}

.smile__back__btn {
	margin-top: 15px;
	width: 124px;
	height: 27px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #db0202;
	font-size: 12px;
	font-weight: bold;
	line-height: 1em;
	letter-spacing: 0.05em;
	background-color: #fff;
	border-radius: 13.5px;
}

.smile__back__btn span {
	position: relative;
	padding-right: 12px;
}

.smile__back__btn span::before {
	content: "";
	position: absolute;
	top: 2px;
	right: 0;
	width: 7px;
	height: 7px;
	border-top: #db0202 2px solid;
	border-right: #db0202 2px solid;
	transform: rotate(45deg);
}

.smile__link__blank {
	position: relative;
	margin-left: 6px;
	width: 17px;
	height: 17px;
	display: inline-block;
	vertical-align: middle;
}

.smile__link__blank::before,
.smile__link__blank::after {
	content: "";
	position: absolute;
	width: 9px;
	height: 9px;
	background-color: #fff;
	border: #db0202 2px solid;
}

.smile__link__blank--pink {
	margin-bottom: 3px;
	width: 16px;
	height: 16px;
}

.smile__link__blank--pink::before,
.smile__link__blank--pink::after {
	width: 8px;
	height: 8px;
	background-color: #f5e1d9;
}

.smile__link__blank::before {
	bottom: 0;
	left: 0;
}

.smile__link__blank::after {
	top: 0;
	right: 0;
}

.smile__link__pdf {
	margin-left: 6px;
	width: 26px;
	height: 31px;
	display: inline-block;
	vertical-align: middle;
	background: url(../img/icon_pdf.svg) center center no-repeat;
	background-size: contain;
}

.smile__content__bg {
	height: 500px;
	border-radius: 100px;
}

.smile__content__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.simpleParallax {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 100px;
	z-index: 1;
}

/* 768px - 1200px */

@media (min-width: 768px) and (max-width: 1200px) {
	.smile__category {
		padding: 0 0.41666vw 2.5vw 0.41666vw;
		max-width: 34.5vw;
		background-size: 2vw;
	}

	.smile__mark {
		top: 8.33334vw;
		left: 4.16667vw;
		width: 21.875vw;
	}
}

/* 768px - 1070px */

@media (min-width: 768px) and (max-width: 1070px) {
	.smile__content {
		max-width: 725px;
	}
}

/* 768px - 850px */

@media (min-width: 768px) and (max-width: 850px) {
	.smile__lead {
		font-size: 2.58823vw;
	}
}

/* hover */

@media (hover: hover) {
	.smile a:hover img {
		opacity: 1;
	}

	.smile__content li:hover .smile__front {
		transform: rotateY(-180deg);
	}

	.smile__content li:hover .smile__back {
		transform: rotateY(0);
	}

	.smile__content li:hover .smile__back__btn span::before {
		animation: back-arrow 1s linear 0.6s infinite;
	}
}

/* SP Only */

@media (max-width: 767px) {
	.smile__content__wrapper {
		margin-top: 13.33333vw;
		padding-top: 34.66666vw;
		border-radius: 13.33333vw;
	}

	.smile__category {
		padding: 0 0.2vw 4.26666vw 0.2vw;
		max-width: 53.73333vw;
		background-size: 3.2vw;
	}

	.smile__lead {
		margin-top: 6.66666vw;
		font-size: 4.26666vw;
	}

	.smile__mark {
		top: 8vw;
		left: 4vw;
		width: 26.66666vw;
	}

	.smile__content {
		margin: 5.33333vw auto 0 auto;
		padding: 0 0 18.66666vw 0;
		max-width: 66.66666vw;
		display: flex;
	}

	.smile__content li {
		margin: 18.66666vw 0 0 0;
		width: 66.66666vw;
	}

	.smile__content li a {
		perspective: 133.33333vw;
	}

	.smile__content li figure {
		border-width: 1.06666vw;
	}

	.smile__content li.smile__content--turn .smile__front {
		transform: rotateY(-180deg);
	}

	.smile__content li.smile__content--turn .smile__back {
		transform: rotateY(0);
	}

	.smile__content__title {
		top: -8vw;
		font-size: 5.33333vw;
		transform: translateY(8vw);
	}

	.smile__back {
		padding-top: 5.33333vw;
		height: 66.66666vw;
	}

	.smile__back__summary {
		width: 48vw;
		font-size: 3.59999vw;
	}

	.smile__back__btn {
		margin-top: 1.33333vw;
		width: 32vw;
		height: 6.93333vw;
		font-size: 2.93333vw;
		border-radius: 3.46666vw;
	}

	.smile__back__btn span {
		padding-right: 3.2vw;
	}

	.smile__back__btn span::before {
		top: 0.26666vw;
		width: 1.86666vw;
		height: 1.86666vw;
		border-width: 0.5.33333vw;
	}

	.smile__content li.smile__content--turn .smile__back__btn span::before {
		animation: back-arrow 1s linear 0.6s infinite;
	}

	.smile__link__blank {
		margin-left: 1.06666vw;
		width: 2.66666vw;
		height: 2.66666vw;
	}

	.smile__link__blank::before,
	.smile__link__blank::after {
		width: 1.6vw;
		height: 1.6vw;
		border-width: 0.26666vw;
	}

	.smile__link__pdf {
		margin-left: 1.06666vw;
		width: 5.33333vw;
		height: 5.86666vw;
	}

	.smile__content__bg {
		height: 60vw;
		border-radius: 13.33333vw;
	}

	.simpleParallax {
		border-radius: 13.33333vw;
	}
}


/* smile__lnavi
-------------------------------------------------- */

#smile__lnavi {
	position: absolute;
	top: 20px;
	right: 20px;
	display: block;
	z-index: 50;
}

.smile__lnavi__list {
	position: absolute;
	top: 50%;
	right: -895px;
	width: 875px;
	display: flex;
	flex-wrap: wrap;
	opacity: 0;
	transform: translateY(-50%);
	transition: opacity 0.3s, right 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}

.smile__lnavi__list li {
	padding-left: 15px;
	transition: transform 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}

.smile__lnavi__list li span {
	transition: transform 0.3s;
}

.smile__lnavi__list li a {
	width: 160px;
	height: 39px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 17px;
	font-weight: bold;
	line-height: 1em;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
	white-space: nowrap;
	background-color: #db0202;
	border-radius: 19.5px;
}

.smile__lnavi__menu {
	position: relative;
	width: 156px;
	cursor: pointer;
}

.smile__lnavi__menu img {
	width: 100%;
}

.smile__lnavi__menu__icon {
	position: absolute;
	top: 27px;
	left: 61px;
	width: 42px;
	height: 42px;
	display: block;
	transition: transform 0.3s;
}

.smile__lnavi__menu__icon i {
	position: absolute;
	top: 50%;
	margin-top: -4px;
	width: 8px;
	height: 8px;
	display: block;
	background-color: #fff;
	border-radius: 4px;
	transition: all 0.3s;
}

.smile__lnavi__menu__icon i:nth-of-type(1) {
	left: 0;
}

.smile__lnavi__menu__icon i:nth-of-type(2) {
	left: 50%;
	margin-left: -4px;
}

.smile__lnavi__menu__icon i:nth-of-type(3) {
	right: 0;
}

.smile__lnavi--open .smile__lnavi__menu__icon i {
	position: absolute;
	top: 50%;
	margin-top: -2.5px;
	width: 5px;
	height: 5px;
	display: block;
	background-color: #fff;
	border-radius: 2.5px;
}

.smile__lnavi--open .smile__lnavi__menu__icon i:nth-of-type(1) {
	left: 50%;
	margin-top: -22px;
	margin-left: -2.5px;
	height: 44px;
	transform: rotate(45deg);
}

.smile__lnavi--open .smile__lnavi__menu__icon i:nth-of-type(2) {
	opacity: 0;
}

.smile__lnavi--open .smile__lnavi__menu__icon i:nth-of-type(3) {
	right: 50%;
	margin-top: -22px;
	margin-right: -2.5px;
	height: 44px;
	transform: rotate(-45deg);
}

/* PC Only */

@media (min-width: 768px) {
	.smile__lnavi--open .smile__lnavi__list {
		right: 170px;
		opacity: 1;
	}

	.smile__lnavi__list li:nth-of-type(2) {
		transform: translateX(-100%);
	}

	.smile__lnavi__list li:nth-of-type(3) {
		transform: translateX(-200%);
	}

	.smile__lnavi__list li:nth-of-type(4) {
		transform: translateX(-300%);
	}

	.smile__lnavi__list li:nth-of-type(5) {
		transform: translateX(-400%);
	}

	.smile__lnavi--open .smile__lnavi__list li {
		transform: translateX(0);
	}
}

/* 768px - 1000px */

@media (min-width: 768px) and (max-width: 1080px) {
	.smile__lnavi__list {
		width: 525px;
	}

	.smile__lnavi__list li {
		margin-top: 10px;
	}
}

/* hover */

@media (hover: hover) {
	.smile__lnavi__list li:hover span {
		transform: scale(1.1);
	}

	.smile__lnavi__menu:hover .smile__lnavi__menu__icon {
		transform: scale(1.2);
	}
}

/* SP Only */

@media (max-width: 767px) {
	#smile__lnavi {
		top: 2.66666vw;
		right: 0;
	}

	.smile__lnavi__list {
		position: absolute;
		top: 0;
		right: -42.66666vw;
		padding: 16vw 4vw 2.66666vw 6.66666vw;
		width: 42.66666vw;
		display: block;
		background-color: #db0202;
		border-radius: 6.66666vw 0 0 6.66666vw;
		transform: translateY(0);
	}

	.smile__lnavi--open .smile__lnavi__list {
		right: 0;
		opacity: 1;
	}

	.smile__lnavi__list li {
		padding-left: 0;
		border-top: #fff 0.26666vw solid;
	}

	.smile__lnavi__list li:first-child {
		border-top: none;
	}

	.smile__lnavi__list li + li {
		margin-left: 0;
	}

	.smile__lnavi__list li a {
		padding: 4vw 0;
		width: auto;
		height: auto;
		display: block;
		font-size: 3.73333vw;
		background-color: transparent;
		border-radius: initial;
	}

	.smile__lnavi__menu {
		position: relative;
		top: 4vw;
		margin-right: 4vw;
		width: 17.33333vw;
		z-index: 101;
	}

	.smile__lnavi--open .smile__lnavi__menu img {
		filter: brightness(0) invert(1);
	}

	.smile__lnavi__menu__icon {
		top: 2.66666vw;
		left: 6.4vw;
		width: 5.33333vw;
		height: 5.33333vw;
	}

	.smile__lnavi__menu__icon i {
		margin-top: -0.53333vw;
		width: 1.06666vw;
		height: 1.06666vw;
		border-radius: 0.53333vw;
	}

	.smile__lnavi__menu__icon i:nth-of-type(2) {
		margin-left: -0.53333vw;
	}

	.smile__lnavi--open .smile__lnavi__menu__icon i {
		margin-top: -0.4vw;
		width: 0.8vw;
		height: 0.8vw;
		border-radius: 0.4vw;
		background-color: #db0202;
	}

	.smile__lnavi--open .smile__lnavi__menu__icon i:nth-of-type(1) {
		margin-top: -2.66666vw;
		margin-left: -0.4vw;
		height: 5.33333vw;
	}

	.smile__lnavi--open .smile__lnavi__menu__icon i:nth-of-type(3) {
		margin-top: -2.66666vw;
		margin-right: -0.4vw;
		height: 5.33333vw;
	}
}


/* smile__visual
-------------------------------------------------- */

.smileContents #smile__visual {
	position: relative;
	overflow: hidden;
	background-color: #db0202;
	height: 1703px;
}

/* @media (min-width: 1000px) {
	#smile__visual {
		height: 1703px;
	}
} */

.l-activityPage #smile__visual {
	position: relative;
	height: 540px;
	overflow: hidden;
	background: url(../img/header_bg_pc.jpg) center center / contain no-repeat;
	background-size: auto 540px;
}

@media (max-width: 767px) {
	.l-activityPage #smile__visual {
		background: url(../img/header_bg_sp.jpg) center center / contain no-repeat;
		background-size: 100% auto;
		height: 118vw;
	}
}

.smile #smile__visual::before {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(calc(-50% + 215px), -50%);
    /* right: 13%; */
    /* transform: translateY(-50%); */
    width: 300px;
    height: 150px;
    background: url(../img/header_title.png) center center / contain no-repeat;
    content: "";
}

@media (max-width: 767px) {
	.smile #smile__visual::before {
		top: auto;
        bottom: 30px;
        /* top: 77%; */
        right: 0;
        left: 50%;
        transform: translateX(-50%);
	}
}

.smile__visual__kvImg {
	width: 100%;
	height: auto;
}

.smileContents .smile__visual__bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 1703px;
    overflow: hidden;
    z-index: 0;
}



.smile__visual__bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.32);
    z-index: 1;
    transition: background 0.3s ease;
}

.smile__visual__bg.video-hidden::after {
    background: #ffffff;
}

/* .smile__visual__video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: 0;
} */
.smileContents .smile__visual__video {
    position: fixed;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
	object-position: center;
	overflow: hidden;
    z-index: -1;
}

@media (max-width: 767px) {
	.smileContents .smile__visual__video {
		height: 100%;
	}
}

.smile__visual__outer {
    position: relative;
	width: 100%;
}

.smile__visual__outer img {
	width: 100%;
}

.smile__visual__character {
    width: 100%;
	height: calc(100vh - 120px);
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	opacity: 0;
}
.smile__visual__character picture {
	max-width: 600px;
    width: 100%;
	margin-top: -120px;
}

.smile__visual__character img{
    width: 100%;
}

.smile__visual--active .smile__visual__character {
	animation: intro-character 0.6s 3.3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.smileContents .kv-wrapper {
    position: relative;
	height: 1703px;
}

/* @media (min-width: 1000px) {
	.kv-wrapper {
		height: 1703px;
	}
} */
body.lock-scroll {
    overflow: hidden;
}

/* .smile__visual__title {
    position: relative;
	margin-top: 24px;
	margin-bottom: 24px;
    width: 100%;
    text-align: center;
    order: 2;
} */

.smile__visual__textWrap {
	width: 100%;
	height: 800px;
	opacity: 0;
    filter: blur(8px);
    transition: all 1s 0.2s ease;
}

.smile__visual__textWrap.smile__visual__textWrap {
	opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
    -webkit-transition: all 1s 0.2s ease;
    transition: all 1s 0.2s ease;
}

.smile__visual__title {
    position: relative;
	margin-bottom: 24px;
    width: 100%;
    text-align: center;
    order: 2;
  -webkit-filter: blur(25px);
          filter: blur(25px);
	transition: 1s;
}

.smile__visual__title__text {
	font-size: 24px;
	font-weight: 600;
	color: #fff;
	line-height: 1.8;
}

@media (max-width: 767px) {
	.smile__visual__title__text {
		font-size: 16px;
		line-height: 2.4;
	}
}

.smile__visual__title__text + .smile__visual__title__text {
	margin-top: 40px;
}

.smile__visual__title.js-scroll {
	opacity: 1;
	-webkit-filter: blur(0);
          filter: blur(0);
		  -webkit-transition: all .3s 0.2s ease;
		  transition: all .3s 0.2s ease;
}

/* .smile__visual__title__text.js-scroll {
	opacity: 1;
	-webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transition: all 1s 0.2s ease;
  transition: all 1s 0.2s ease;
} */

.smile__visual__title img {
    width: 100%;
    max-width: 406px;
}


/* .smile__visual__scroll {
	position: absolute;
	bottom: 115px;
	left: 82px;
	display: flex;
	align-items: center;
	transform: rotate(-90deg);
	transform-origin: left bottom;
	z-index: 5;
} */

/* .smile__visual__scroll img {
	max-width: 23px;
	opacity: 0;
	transform: scale3d(0.5, 0.5, 0.5);
} */

/* .smile__visual__scroll img:nth-of-type(1) {
	animation: visual_scroll 3s ease-out 0s infinite;
}

.smile__visual__scroll img:nth-of-type(2) {
	animation: visual_scroll 3s ease-out 0.5s infinite;
}

.smile__visual__scroll img:nth-of-type(3) {
	animation: visual_scroll 3s ease-out 1s infinite;
}

.smile__visual__scroll span {
	padding-bottom: 4px;
	color: #db0202;
	font-size: 16px;
	font-weight: bold;
	line-height: 1em;
	letter-spacing: 0.2em;
} */

.smile__visual__btn {
    position: relative;
    width: 254px;
    height: 41px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 20px;
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    background-color: #db0202;
    border-radius: 20.5px;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    order: 3;
}

.smile__visual__btn:hover {
	opacity: 0.7;
}

.smile__visual__btn::before {
    content: "";
    width: 12px;
    height: 2px;
    background-color: #ffffff;
    position: absolute;
	right: 20px;
    transition: transform 0.3s ease;
	transform: rotate(90deg);
}

.smile__visual__btn::after {
    content: "";
    width: 12px;
    height: 2px;
    background-color: #ffffff;
    position: relative;
    transition: transform 0.3s ease;
}

.smile__visual__btn.expanded::before {
    transform: rotate(0deg);
}

.smile__visual__intro {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	z-index: 10000000000;
	transition: visibility 0s 3s;
}

.smile__visual--active .smile__visual__intro {
	visibility: hidden;
}

.smile__visual__intro::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	background-color: #db0202;
	transition: opacity 1s 2s;
}

.smile__visual--active .smile__visual__intro::before {
	opacity: 0;
}

/* .smile__visual__text {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 786px;
    text-align: center;
    z-index: 10;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.5s ease, opacity 0.5s ease, padding 0.5s ease;
} */

.smile__visual__text img {
    width: 100%;
}

/* .smile__visual__text.expanded {
	margin-top: 40px;
    max-height: 500px;
    opacity: 1;
} */

.smile__visual__text {
    width: 100%;
    text-align: center;
    z-index: 10;
	margin-top: 40px;
	opacity: 0;
  -webkit-filter: blur(25px);
          filter: blur(25px);
		  display: flex;
		  justify-content: center;
		  align-items: center;
}

.smile__visual__text.js-scroll {
	opacity: 1;
	-webkit-filter: blur(0);
	filter: blur(0);
	-webkit-transition: all .3s 0.2s ease;
	transition: all .3s 0.2s ease;
}

.smile__visual__intro__mask {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform 1s 2s cubic-bezier(0.11, 0, 0.5, 0);
	z-index: 1;
}

.smile__visual--active .smile__visual__intro__mask {
	transform: scale(10);
}

.smile__visual__intro__title {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 650px;
	opacity: 0;
	transform: translateX(-50%) translateY(-50%);
	z-index: 2;
}

.smile__visual--active .smile__visual__intro__title {
	animation: intro-title 1s 0.2s forwards;
}

/* 768px - 1000px */

/* SP Only */

@media (max-width: 767px) {
	#smile__visual {
		/* height: calc(100vh - -9.33334vw); */
		/* height: calc(100vh - 18.66666vw); */
	}

	.smile__visual__outer {
		margin-top: -15px;
		width: 86.93333vw;
	}

	.smile__visual__character {
		height: calc(100vh - 70px);
	}

	/* .smile__visual__title {
		margin-top: 32px;
		width: 110%;
	} */

	.smile__visual__scroll img {
		max-width: 4.8vw;
	}

	.smile__visual__intro {
		padding-bottom: 8vw;
	}

	.smile__visual--active .smile__visual__intro__mask {
		transform: scale(25);
	}

	.smile__visual__intro__title {
		margin-top: -3vw;
		width: 86.93333vw;
	}
}


/* smile__statement
-------------------------------------------------- */

#smile__statement {
	padding: 50px;
	/* background-color: #db0202; */
}

.smile__statement__wrapper {
	position: relative;
	text-align: right;
	background-color: #fff;
	border-radius: 80px;
}

.smile__statement__leadcopy {
	position: sticky;
	top: 67px;
	padding-left: 8%;
	width: 45%;
	height: calc(100vh - 67px);
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.smile__statement__leadcopy h2 {
	position: relative;
	display: inline-block;
	color: #db0202;
	font-size: 36px;
	font-weight: bold;
	line-height: 2.63888em;
	letter-spacing: 0.1em;
	text-align: left;
	white-space: nowrap;
	opacity: 0;
	transition: opacity 1s;
}

.smile__statement__leadcopy h2.smile__effect--active {
	opacity: 1;
}

.smile__statement__leadcopy h2 img {
	position: absolute;
	top: 112px;
	left: 59%;
	width: 220px;
}

.smile__statement__bodycopy {
	padding: 200px 0 200px 8%;
	width: 55%;
	text-align: left;
	display: inline-block;
}

.smile__statement__bodycopy p {
	margin-top: 60px;
	backface-visibility: hidden;
	color: #db0202;
	font-size: 20px;
	font-weight: bold;
	line-height: 3em;
	letter-spacing: 0.1em;
	opacity: 0;
	transition: opacity 1s;
}

.smile__statement__bodycopy p.smile__effect--active {
	opacity: 1;
}

/* 768px - 1200px */

@media (min-width: 768px) and (max-width: 1200px) {
	.smile__statement__leadcopy h2 {
		font-size: 3vw;
	}

	.smile__statement__leadcopy h2 img {
		top: 9.33333vw;
		width: 18.33333vw;
	}

	.smile__statement__bodycopy p {
		font-size: 1.66667vw;
	}
}

/* SP Only */

@media (max-width: 767px) {
	#smile__statement {
		padding: 13.33333vw 3.2vw;
	}

	.smile__statement__wrapper {
		padding: 26.66666vw 0;
		text-align: left;
		border-radius: 13.33333vw;
	}

	.smile__statement__leadcopy {
		position: sticky;
		top: 13.33333vw;
		padding-left: 6.66666vw;
		width: 100%;
		height: auto;
		display: block;
		z-index: 2;
	}

	.smile__statement__leadcopy::after {
		content: "";
		position: absolute;
		top: -26.66666vw;
		left: 0;
		width: 100%;
		height: calc(100% + 53.33333vw);
		background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 80%, rgba(255, 255, 255, 0) 100%);
		border-radius: 13.33333vw;
	}

	.smile__statement__leadcopy h2 {
		position: relative;
		font-size: 6.4vw;
		z-index: 1;
	}

	.smile__statement__leadcopy h2 img {
		top: 20vw;
		width: 40.79999vw;
	}

	.smile__statement__bodycopy {
		position: relative;
		padding: 26.66666vw 0 0 6.66666vw;
		width: 100%;
		z-index: 1;
	}

	.smile__statement__bodycopy p {
		margin-top: 16vw;
		font-size: 4vw;
	}
}


/* smile__snavi
-------------------------------------------------- */

#smile__snavi {
	position: fixed;
	top: 50%;
	right: -149px;
	margin-top: 68px;
	padding: 10px 20px 10px 0;
	transform: translateY(-50%);
	background: url(../img/snavi_line.png) right center no-repeat;
	background-size: 17.5px auto;
	z-index: 10;
	transition: right 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}

#smile__snavi.smile__snavi--current {
	right: 15px;
}

.smile__snavi__list {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.smile__snavi__list li {
	position: relative;
	width: 81px;
	transition: width 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}

.smile__snavi__list li.smile__content--current {
	width: 110px;
}

.smile__snavi__list li + li {
	margin-top: 40px;
}

.smile__snavi__list li img {
	width: 100%;
}

.smile__snavi__list li img:first-child {
	transition: opacity 0.3s;
}

.smile__snavi__list li.smile__content--current img:first-child {
	opacity: 0;
}

.smile__snavi__list li img + img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	display: block;
	opacity: 0;
	transition: opacity 0.3s;
}

.smile__snavi__list li.smile__content--current img + img {
	opacity: 1;
}

.smile__snavi__list li a {
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	line-height: 1em;
	letter-spacing: 0.1em;
	text-align: center;
	transition: color 0.3s, font-size 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}

.smile__snavi__list li.smile__content--current a {
	font-size: 20px;
}

.smile__snavi__list li:nth-of-type(1).smile__content--current a {
	color: #f56902;
}

.smile__snavi__list li:nth-of-type(2).smile__content--current a {
	color: #02c998;
}

.smile__snavi__list li:nth-of-type(3).smile__content--current a {
	color: #fd4579;
}

.smile__snavi__list li span {
	margin-top: 8px;
	display: inline-block;
	white-space: nowrap;
}

/* hover */

@media (hover: hover) {
	.smile__snavi__list li:hover img:first-child {
		opacity: 0;
	}

	.smile__snavi__list li:hover img + img {
		opacity: 1;
	}

	.smile__snavi__list li:nth-of-type(1):hover a {
		color: #f56902;
	}

	.smile__snavi__list li:nth-of-type(2):hover a {
		color: #02c998;
	}

	.smile__snavi__list li:nth-of-type(3):hover a {
		color: #fd4579;
	}
}

/* SP Only */

@media (max-width: 767px) {
	#smile__snavi {
		right: -12vw;
		margin-top: 0;
		padding: 2.93333vw 3vw 2.93333vw 0;
		background-size: 2.4vw auto;
	}

	#smile__snavi.smile__snavi--current {
		right: 1vw;
	}

	.smile__snavi__list li {
		width: 8.53333vw;
	}

	.smile__snavi__list li.smile__content--current {
		width: 12.8vw;
	}

	.smile__snavi__list li + li {
		margin-top: 4vw;
	}

	.smile__snavi__list li a {
		font-size: 2.66666vw;
	}

	.smile__snavi__list li.smile__content--current a {
		font-size: 3.2vw;
	}

	.smile__snavi__list li span {
		margin-top: 1.06666vw;
	}
}


/* smile__make
-------------------------------------------------- */

#smile__make {
	background-color: #f7e9db;
}

.smile__make__character {
	position: absolute;
	top: 87px;
	right: -150px;
	max-width: 135px;
	opacity: 0;
	transform: translateY(70px);
	transition: opacity 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.smile__make__character.smile__effect--active {
	transform: translateY(0);
	opacity: 1;
}

/* 768px - 1200px */

@media (min-width: 768px) and (max-width: 1200px) {
	.smile__make__character {
		top: 7.24999vw;
		right: -12.5vw;
		max-width: 11.25vw;
	}
}

/* SP Only */

@media (max-width: 767px) {
	.smile__make__character {
		top: 56vw;
		left: -16vw;
		right: auto;
		max-width: 21.33333vw;
	}
}


/* smile__deliver
-------------------------------------------------- */

#smile__deliver {
	background-color: #e9f7ef;
}

.smile__deliver__character {
	position: absolute;
	top: 60px;
	right: -170px;
	max-width: 145px;
	opacity: 0;
	transform: translateY(70px);
	transition: opacity 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.smile__deliver__character.smile__effect--active {
	transform: translateY(0);
	opacity: 1;
}

/* 768px - 1200px */

@media (min-width: 768px) and (max-width: 1200px) {
	.smile__deliver__character {
		top: 5vw;
		right: -14.16666vw;
		max-width: 12.08333vw;
	}
}

/* SP Only */

@media (max-width: 767px) {
	.smile__deliver__character {
		top: 46.66666vw;
		left: -18.66666vw;
		right: auto;
		max-width: 24.8vw;
	}
}


/* smile__eat
-------------------------------------------------- */

#smile__eat {
	background-color: #fae7e8;
}


/* smile__people
-------------------------------------------------- */

#smile__people {
	position: relative;
	padding: 150px 0 65px 0;
	background: url(../img/people_bg.png) left bottom repeat-x;
	background-size: auto 237px;
	animation: bg-loop 40s linear infinite;
}

#smile__people .smile__category {
	max-width: 651px;
}

#smile__people .smile__mark {
	top: 150px;
}

.smile__people__banner {
	max-width: 740px;
	margin: 55px auto 0 auto;
}

.smile__people__banner a {
	transition: opacity 0.3s;
}

.smile__people__banner img {
	width: 100%;
}

/* hover */

@media (hover: hover) {
	.smile__people__banner a:hover {
		opacity: 0.7;
	}
}

/* 768px - 1300px */

@media (min-width: 768px) and (max-width: 1300px) {
	#smile__people .smile__category {
		max-width: 50%;
	}
}

/* SP Only */

@media (max-width: 767px) {
	#smile__people {
		padding: 38vw 0 13.33333vw 0;
		background-size: auto 18vw;
		animation-duration: 67.5s;
	}

	#smile__people .smile__mark {
		top: 8vw;
	}

	#smile__people .smile__category {
		padding-left: 1vw;
		padding-right: 1vw;
		max-width: 75vw;
	}

	.smile__people__banner {
		max-width: 78.13333vw;
		margin: 6.66666vw auto 0 auto;
	}
}


/* smile__gallery
-------------------------------------------------- */

#smile__gallery {
	margin-top: 150px;
}

.smile__gallery__head {
	position: relative;
	padding-top: 250px;
	height: 498px;
	background: url(../img/gallery_roof.png) center bottom no-repeat;
	background-size: auto 100%;
}

.smile__gallery__category {
	margin: 0 auto;
	max-width: 572px;
}

.smile__gallery__category img {
	width: 100%;
}

.smile__gallery__lead {
	margin-top: 20px;
	color: #fff;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.5em;
	text-align: center;
	letter-spacing: 0.15em;
}

#smile__gallery .smile__mark {
	top: 140px;
	left: 50%;
	margin-left: -620px;
}

.smile__gallery__wrapper {
	background-color: #FFFAF3;
	border-radius: 0 0 100px 100px;
}

.smile__gallery__wrapper img {
	width: 100%;
	height: auto;
}

.smileContents .smile__gallery__section {
	padding: 80px 0;
}

@media (max-width: 767px) {
	.smileContents .smile__gallery__section {
		padding: 40px 0;
	}
}

@media (max-width: 767px) {
	.smileContents .smile__gallery__section + .smile__gallery__section  {
		padding-top: 0;
	}
}

.smile__gallery__section {
	padding: 80px 32px;
}

.contentsInner {
	margin: 0 auto;
	max-width: 1280px;
	padding: 80px 0;
    background-color: #FFFAF3;
    border-radius: 100px 100px 100px 100px;
}

.smile__gallery__media {
	text-align: center;
}

.smile__gallery__media span {
	margin: 0 auto;
	padding: 3px 36px 0 36px;
	height: 60px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 30px;
	font-weight: bold;
	line-height: 1em;
	letter-spacing: 0.08em;
	text-indent: 0.08em;
	background-color: #db0202;
	border-radius: 30px;
}

.smile__gallery__black1 {
	margin: 0 auto;
	padding-bottom: 100px;
	max-width: 1052px;
	text-align: center;
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAoCAYAAABpYH0BAAAD6klEQVRoQ+2bTWgTQRTHd2aThmyaUwvBGL9IqoUqFKrYS6F6E8RLtRXrSQS/Ws+WYgmVau+1WEU8+VVsL6JXLfSgooWCFqpt8CsWgq2XNAn52F3fhk2pUtpN571NlOyl0Mz8973fvtmZefOWSWVw6eEw/zIwcEBT1UMaY/uZru/WJWkrmOYxzUswSfqhM/aJ6/o7Lssvd/b2vmXhsFZq88Gu0l1RtzuQymYvMU3rBGDbirEEDP+uc/7A7XQOB1KpaDF9MduWBGDU661JJZP9kq6fBWeqBB3KSIzddStKXyAeXxLUKrq77QDnZLkdwA2DpbVFW7t+h0XGWFdIVUeRddeVsw2g3trqiExODum6fp7SQYA4Emxp6WYTEznK+xS0bQG44PcriVhsFCLvqB1OwZB+5vH5OvwLC0nq+5EDNCNvHCLvGLUzq/UhEp9CJLZRRyI5wHlZHgF45+yEtzK8GLsN70TaVwalYwCvA+A9przHRtqcsVNBVX20UbvN/k4WgfmlSiIxSzDbFuvrr2pFqd+yvPyz2I5W2pMBhOi7RT3jWnHQaAPvQ7KhTAIw4nZv19LpebDdadVJ4nZZ7nKFgqnUN+z7kACcczhuSJp2BdtYIT3OB+tyuR4hjTU6owM0EgPz/f1f4V4BbGMF9aKhvr4d2AkIdICfnc6DOVV9LegsSXeHLDfvymbfYIqjA5zj3Bgm1zGNxNLiktQT1LRBLL38BIUpZmhBsmAMtmxt2LooeoyN16nqcRQtUwQd4Dzn7yG3txfTSCwtcPZDSNP2YenRRCDniyBcg2kkotZSnaahptHQIxDegWlwWDRJisjsD6kMAHRhilcACtKkAFgZwiIPpTKJiNCrLGME6RkAKwtpMYiwlWuGrdwrMRWa3v/EVq6STEB4+JV0liDEfMlGOh0powV1xu1yBSlKQNDXgQX2kFQYhqTCRcFngdLdOGyH07kLKGJ/iZABNA+VPpbBvnjJ7fHsoaqbIQNoPCg4WDoJB0tkR4pWIgqONTvhWPOhlbabaUMK0IRYyoP1OzB0SQ/1yQHqDQ1VkdnZJyUp7aivP8FmZjKbiSyrfcgBGoYYxUXJWGwMIB6xaphIO5g0nis+X/t/UVxUAKE3NTkj09NGeRvtkIJD9GBjYzebmsqKPASrfW2JwNXGmBPLEPwPNTMMeoswYVymrINZC6rtAPND2uutTSaT1yAazyAstjMwZO8pinLVH48buUhbr5IALHhoFpl3QRXDafifUZVfzPVD4vw+FJnfpNhhWDWkpABX3o/mZw6QxTkMlUBNxmcO8FsATveqjTZg5DL8iRqfOcDuZgqyKi/K5TOH328/czioP6SVAAAAAElFTkSuQmCC) center bottom repeat-x;
	background-size: 10px;
}

.smile__gallery__black2 {
	margin: 0 auto;
	padding: 30px 40px 0 40px;
	max-width: 1140px;
}

.smile__gallery__illust {
	position: relative;
	padding: 0 126px;
	display: inline-block;
}

.smile__gallery__illust::before,
.smile__gallery__illust::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 93px;
	height: 152px;
	background: center center no-repeat;
	background-size: contain;
}

.smile__gallery__illust::before {
	left: 0;
	background-image: url(../img/smile__gallery__illust1.png);
}

.smile__gallery__illust::after {
	right: 0;
	background-image: url(../img/smile__gallery__illust2.png);
}

.smile__gallery__column2 {
	margin-top: 30px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.smile__gallery__column2 figure {
	width: 47.54717%;
}

.smile__gallery__date {
	margin-top: 60px;
	color: #db0202;
	font-size: 16px;
	font-weight: bold;
	line-height: 2em;
	letter-spacing: 0.05em;
	text-align: center;
}

.smile__gallery__title {
	margin: 20px 0 15px 0;
	color: #db0202;
	font-size: 23px;
	font-weight: bold;
	line-height: 1.35em;
	letter-spacing: 0.05em;
	text-align: center;
}

.smile__gallery__black1 .smile__gallery__title {
	font-size: 28px;
}

.smile__gallery__movie2 .smile__gallery__title {
	font-size: 18px;
}

.smile__gallery__btn {
	margin-top: 30px;
	text-align: center;
}

.smile__gallery__btn a {
	margin: 0 auto;
	width: 100%;
	max-width: 370px;
	height: 50px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	color: #db0202;
	font-size: 19px;
	font-weight: bold;
	line-height: 1em;
	letter-spacing: 0.05em;
	background-color: #fff;
	border-radius: 25px;
}

.smile__gallery__btn__outer {
	transition: transform 0.3s;
}

.smile__gallery__btn__inner {
	vertical-align: middle;
}

.smile__gallery__notes {
	margin-top: 40px;
	font-size: 15px;
	line-height: 1.5em;
	letter-spacing: 0.05em;
	text-align: center;
}

.smile__gallery__notes a {
	color: #db0202;
}

.smile__gallery__frame {
	position: relative;
	background-color: #000;
	border: #db0202 6px solid;
}

.smile__gallery__movie1 {
	margin: 60px auto 0 auto;
	padding: 0 40px;
	max-width: 1140px;
}

.smile__gallery__window {
	margin-top: -30px;
	padding: 32px 130px;
	background: url(../img/gallery_window.png) center center no-repeat;
	background-size: contain;
}

.smile__gallery__movie2 {
	margin: 60px auto 0 auto;
	padding: 0 40px;
	max-width: 1280px;
	display: flex;
	justify-content: space-evenly;
}

.smile__gallery__movie2 figure {
	width: 31.66667%;
}

.smile__gallery__video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.smile__gallery__video > div {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.smile__gallery__thumb,
.smile__gallery__icon {
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity 0.3s;
}

.smile__gallery__icon {
	cursor: pointer;
}

.smile__gallery__thumb--hide {
	opacity: 0;
	pointer-events: none;
}

.smile__gallery__newspaper__wrap {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	justify-content: space-between;
}

.smile__gallery__newspaper img {
	margin-top: 15px;
}

.smile__gallery__newspaper__item {
	width: calc((100% - 20px) / 2);
}

.smile__gallery__newspaper__item:last-of-type {
	margin-left: 20px;
}

.smile__gallery__newspaper__btn__wrap {
	margin: 32px auto 0;
  max-width: 372px;
}

.smile__gallery__newspaper__btn {
	transition: opacity 0.3s;
}

.smile__gallery__newspaper__btn img {
	height: auto;
}

/* 768px - 1200px */

@media (min-width: 768px) and (max-width: 1200px) {
	#smile__gallery .smile__mark {
		margin-left: -51.66667vw;
	}
}

/* 768px - 1000px */

@media (min-width: 768px) and (max-width: 1000px) {
	.smile__gallery__category {
		max-width: 57.2vw;
	}
}

/* hover */

@media (hover: hover) {
	.smile__gallery__btn a:hover > .smile__gallery__btn__outer {
		transform: scale(1.1);
	}

	.smile__gallery__notes a:hover {
		text-decoration: underline;
	}

	.smile__gallery__newspaper__btn:hover {
		opacity: 0.7;
	}
}

/* SP Only */

@media (max-width: 767px) {
	#smile__gallery {
		margin-top: 13.33333vw;
	}

	.smile__gallery__head {
		padding-top: 40vw;
		height: 85.33333vw;
	}

	.smile__gallery__category {
		max-width: 74.66666vw;
	}

	.smile__gallery__lead {
		margin-top: 5.33333vw;
		font-size: 4.8vw;
	}

	#smile__gallery .smile__mark {
		top: 8vw;
		margin-left: -46.13333vw;
	}

	.smile__gallery__wrapper {
		padding-bottom: 18.66666vw;
		border-radius: 0 0 13.33333vw 13.33333vw;
	}

	.smile__gallery__section {
		padding-top: 16vw;
	}

	.smile__gallery__media span {
		padding: 0.53333vw 6.4vw 0 6.4vw;
		height: 11.2vw;
		font-size: 6.4vw;
		border-radius: 5.6vw;
	}

	.smile__gallery__black1 {
		margin: 0 auto;
		padding-bottom: 13.33333vw;
		max-width: 85.33333vw;
		background-size: 2.4vw;
	}

	.smile__gallery__black2 {
		padding: 0;
	}

	.smile__gallery__illust {
		padding: 0 10.66666vw;
	}

	.smile__gallery__illust::before,
	.smile__gallery__illust::after {
		width: 8.79999vw;
		height: 14.39999vw;
	}

	.smile__gallery__column2 {
		margin-top: 8vw;
		display: block;
	}

	.smile__gallery__column2 figure {
		margin: 0 auto;
		width: 100%;
	}

	.smile__gallery__column2 figure + figure {
		margin-top: 10.66666vw;
	}

	.smile__gallery__date {
		margin-top: 10.66666vw;
		font-size: 3.33333vw;
	}

	.smile__gallery__title {
		margin: 5.33333vw 0 4vw 0;
		font-size: 4.53333vw;
	}

	.smile__gallery__black1 .smile__gallery__title,
	.smile__gallery__movie2 .smile__gallery__title {
		font-size: 4.66666vw;
	}

	.smile__gallery__btn {
		margin: 4vw auto 0 auto;
	}

	.smile__gallery__black2 .smile__gallery__btn {
		width: 70.13333vw;
	}

	.smile__gallery__btn a {
		max-width: 98.66666vw;
		height: 9.33333vw;
		font-size: 3.73333vw;
		border-radius: 4.66666vw;
		padding: 0 2.333vw;
	}

	.smile__gallery__notes {
		margin-top: 8vw;
		font-size: 3.33333vw;
	}

	.smile__gallery__frame {
		margin: 0 auto;
		width: 70.13333vw;
		border-width: 0.8vw;
	}

	.smile__gallery__movie1 {
		margin-top: 10.66666vw;
		padding: 0;
	}

	.smile__gallery__window {
		margin-top: -2.66666vw;
		padding: 2.66666vw 14.93334vw;
	}

	.smile__gallery__movie2 {
		margin-top: 8vw;
		padding: 0;
		display: block;
	}

	.smile__gallery__movie2 figure {
		width: 100%;
	}

	.smile__gallery__movie2 figure + figure {
		margin-top: 10.66666vw;
	}

	.smile__gallery__newspaper__wrap {
		flex-direction: column;
		padding: 0;
	}

	.smile__gallery__newspaper {
		margin: 0 auto;
		padding: 0;
		max-width: 85.33333vw;
		width: 100%;
	}

	.smile__gallery__newspaper__item {
		width: 100%;
	}

	.smile__gallery__newspaper__item:last-of-type {
		margin-left: 0;
	}

	.smile__gallery__newspaper__btn__wrap {
		width: 72vw;
    margin: 3vw auto 0;
	}
}


/* smile__gallery
-------------------------------------------------- */

.sns_list {
	margin: 50px auto 0 auto;
	width: 470px;
	display: flex;
}

.sns_list li {
	border-radius: 10px;
}

.sns_list li a {
	width: 220px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.sns_list li:not(:nth-child(1)) {
	margin-left: 30px;
}

.sns_list li:nth-child(1) {
	border: #3b5998 2px solid;
}

.sns_list li:nth-child(2) {
	border: #000000 2px solid;
}

.sns_list li:nth-child(3) {
	display: none;
	border: #03b900 2px solid;
}

.sns_list li a {
	text-align: center;
}

/* hover */

@media (hover: hover) {
	.sns_list li a:hover {
		opacity: 0.8;
	}
}

/* SP Only */

@media (max-width: 767px) {
	.sns_list {
		margin-top: 30px;
		width: 93%;
	}

	.sns_list li {
		width: 32%;
	}

	.sns_list li a {
		width: 100%;
	}

	.sns_list li:not(:nth-child(1)) {
		margin-left: 10px;
	}

	.sns_list li:nth-child(1) img {
		width: 13px;
	}

	.sns_list li:nth-child(2) img {
		width: 29px;
	}

	.sns_list li:nth-child(3) {
		display: flex;
	}

	.sns_list li:nth-child(3) img {
		width: 30px;
	}
}

/* 2025/11/17追記 */
.smileContents .smile__visual__bg {
	border-radius: 0 0 0 0;
}

.smileContents .smile__visual__container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
	display: flex;
	width: 90%;
}

.smileContents .smile__content__outer {
	padding: 0;
	margin: 0 auto;
	max-width: 1280px;
	background: #fff;
    position: relative;
    z-index: 1;
}

.smileContents .smile__content__outer.AD {
	padding-top: 80px;
	padding-left: 32px;
	padding-right: 32px;
}

@media (max-width: 767px) {
	.smileContents .smile__content__outer.AD {
		padding-top: 56px;
		padding-right: 0;
		padding-left: 0;
	}
}

.smile__content__outer {
	padding: 0 32px;
	margin-top: 80px;
}

.smile__content__outer.activity {
	margin-bottom: 80px;
	padding-left: 32px;
	padding-right: 32px;
}

@media (max-width: 767px) {
	.smile__content__outer.activity {
		padding: 0;
		margin-bottom: 56px;
	}
}

.smile__content__outer.comeonHouseArea {
	margin: 0 auto;
	max-width: 1280px;
	padding-left: 32px;
	padding-right: 32px;
}

@media (max-width: 767px) {
	.smile__content__outer.comeonHouseArea {
		padding-left: 0;
		padding-right: 0;
	}
}

.smileContents .p-card__image__text {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
}

@media (max-width: 767px) {
	.smileContents .p-card__image__text {
		font-size: 18px;
	}
}

.smile__content__outer .smile__gallery__wrapper {
	border-radius: 100px 100px 100px 100px;
}

.p-card__image.mw-278 {
	max-width: 278px;
	margin: 0 auto;
}

.smile__gallery__media .mw-120 {
	max-width: 120px;
}

.smileContents .cm_wrapper {
	padding: 0 68px;
}

.smileContents .buttonList {
	display: flex;
	gap: 8px;
}

.smileContents .buttonList img {
	width: 98px;
	height: auto;
}

.smileContents .smile__gallery__newspaper__wrap {
	margin-top: 40px;
	padding: 0 252px;
}

.smileContents .smile__gallery__newspaper__item{
	width: calc((100% - 24px) / 2);
}

.smileContents .smile__gallery__newspaper__btn img {
	display: block;
	margin: 0 auto;
	max-width: 133px;
	height: auto;
}

.smileContents .p-card-group--3col {
	padding: 0 68px;
	gap: 32px 16px;
}

.smileContents .p-card-group--3col .p-card-group__item {
	margin-right: 0;
}

.smileContents .p-card-group__item .p-card__image {
	border-radius: 24px;
}

@media (max-width: 767px) {
	.smileContents .p-card-group__item .p-card__image {
		border-radius: 16px;
	}
}

.smileContents .buttonBox {
	display: block;
	margin-top: 40px !important;
	text-align: center;
}

.smileContents .buttonBox img {
	max-width: 205px;
	width: 100%;
	height: auto;
}

.smileContents .smile__content__wrapper {
	max-width: 1280px;
	padding-top: 80px;
	padding-bottom: 80px;
}

.p-card__image.activity {
	display: flex;
	flex-direction: column;
}

.p-card__image.human {
	display: flex;
	flex-direction: column;
}

.smileContents .imgBox {
	display: flex;
	justify-content: center;
	margin-top: 40px
}

.smileContents .imgBox img {
	max-width: 740px;
	height: auto;
	width: 100%;
}

.smileContents .p-card__image.human .titleImg {
	max-width: 748px;
	margin-top: 16px;
}

.smileContents .comeonHouse .imgBox img {
	max-width: 528px;
	width: 100%;
}

.smile__content__wrapper.andHouse {
	margin: 0 auto 80px;
	max-width: 1280px;
	background-color: #E9F3F7 !important;
}

@media (max-width: 767px) {
	.smile__content__wrapper.andHouse {
		margin: 0 auto 56px;
	}
}

.smile__content__wrapper.comeonHouse {
	background-color: #FFEDE5;
}

.smileContents .smile__gallery__wrapper {
	/* padding: 80px 0; */
	/* background-color: #FFF; */
}

.smileContents .card__image__mainTitleIcon {
	font-size: 48px;
	font-weight: 600;
	color: #db0202;
	margin: 16px auto 0;
}

@media (max-width: 767px) {
	.smileContents .card__image__mainTitleIcon {
		width: 100%;
		font-size: 32px;
	}
}

.smileContents .smile__content__area {
	background: #fff;
    position: relative;
    width: 100%;
	padding: 0 !important;
}

.smileContents .cm_title {
	position: relative;
	font-size: 40px;
	font-weight: 600;
	color: #db0202
}

.smileContents .cm_title::after {
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	background: url(../img/dot_line.png) center center / contain no-repeat;
	width: 120px;
	height: 6px;
	content: "";
}

@media (max-width: 767px) {
	.smileContents .cm_title {
		font-size: 32px;
	}
}

@media (max-width: 767px) {
	.smile__content__outer {
		padding: 0;
	}
}

@media (max-width: 767px) {
	.smileContents .cm_wrapper {
		padding: 0 20px;
	}
}

@media (max-width: 767px) {
	.smileContents .buttonList {
		display: none;
	}
}

@media (max-width: 767px) {
	.smileContents .c-arrow-text::after {
		content: '';
		width: 20px;
		height: 20px;
		position: relative;
		top: 0.3em;
		right: 0;
		margin-left: 0.2em;
		display: inline-block;
		-webkit-transition: right 0.2s;
		transition: right 0.2s;
		background: url(../img/icon_arrow.png) center center / contain no-repeat;
	}
}

@media (max-width: 767px) {
	.smileContents .smile__gallery__newspaper__wrap {
		padding: 0 20px;
	}
}

@media (max-width: 767px) {
	.smileContents .smile__gallery__newspaper__item {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.smileContents .smile__gallery__newspaper__item + .smile__gallery__newspaper__item {
		margin-top: 50px;
		width: 100%;
	}
}

@media (max-width: 767px) {
	.smile__gallery__section {
		padding-top: 8px;
		padding-bottom: 0;
		padding-right: 0;
		padding-left: 0;
	}
}

@media (max-width: 767px) {
	.smile__content__outer .smile__gallery__wrapper {
		padding: 0;
		border-radius: 40px 40px 40px 40px;
	}
}

@media (max-width: 767px) {
	.smile__gallery__wrapper {
		padding-bottom: 40px;
	}
}

@media (max-width: 767px) {
	.card__image__titleIcon {
		width: 278px;
	}
}

@media (max-width: 767px) {
	.card__image__mainTitleIcon {
		width: 192px;
	}
}

@media (max-width: 767px) {
	.smileContents .smile__gallery__media {
		padding: 0 20px;
	}
}

@media (max-width: 767px) {
	.smileContents .p-card-group--3col {
		padding: 0 7.5px;
		gap: 16px 16px;
	}
}

@media (max-width: 767px) {
	.smileContents .p-card-group--3col .p-card-group__item {
		width: calc((100% - 16px) / 2);
		margin-left: 0;
	}
}

@media (max-width: 767px) {
	.smileContents .buttonBox {
		padding: 0 12.5px;
	}
}

@media (max-width: 767px) {
	.smileContents .smile__content__wrapper {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}

@media (max-width: 767px) {
	.smileContents .human .p-card__image__text {
		margin-top: 28px !important; 
	}
}

@media (max-width: 767px) {
	.smileContents .andHouse .imgBox {
		padding: 0 20px;
	}
}

@media (max-width: 767px) {
	.smileContents .p-card__image.human .titleImg {
		max-width: 273px;
	}
}

@media (max-width: 767px) {
	.smileContents .comeonHouse .imgBox {
		padding: 0 21.5px;
	}
}

@media (max-width: 767px) {
	.smileContents .smile__visual__container {
		flex-direction: column;
	}
}

@media (max-width: 767px) {
	.l-activityPage.l-content {
		background-color: #fff;
	}
}

@media (max-width: 767px) {

}

/* コンポーネント */
.cardBtnList {
	display: flex;
	gap: 8px;
}

.cardBtnList__link {
	position: relative;
	display: block;
	box-sizing: border-box;
	max-width: 98px;
	width: 100%;
	min-height: 38px;
	border-radius: 30px;
	border: 2px solid #e60012;
	color: #e60012;
	background-color: #fff;
}

.cardBtnList__link:hover {
	background-color: rgba(219, 2, 2, 0.08);
}

.cardBtnList__text {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 8px 44px 8px 16px;
	width: 100%;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.cardBtnList__text::after {
	position: absolute;
	top: 50%;
	right: 8.5px;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background: url(../img/icon_arrow.png) center center / contain no-repeat;
	content: "";
}

.pdfBtn__link {
	position: relative;
	display: block;
	margin: 0 auto;
	box-sizing: border-box;
	width: 133px;
	min-height: 48px;
	border-radius: 30px;
	border: 2px solid #e60012;
	color: #e60012;
	background-color: #fff;
}

.pdfBtn__link__text {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 11px 20px 8px;
	width: 100%;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
}

.pdfBtn__link:hover {
	background-color: rgba(219, 2, 2, 0.08);
}

.smileContents .p-card {
	border-radius: 20px;
	border: 3px solid #e9f7ef;
}

.smileContents .p-card:hover {
	border: 3px solid #e60012;
}

.activityBtn__link {
	position: relative;
	display: block;
	margin: 0 auto;
	box-sizing: border-box;
	max-width: 406px;
	width: 100%;
	min-height: 56px;
	border-radius: 30px;
	border: 2px solid #e60012;
	color: #fff;
	background-color: #e60012;
	margin-top: 13px;
}

.activityBtn__text {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 17px 32px;
	width: 100%;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
}

@media (max-width: 767px) {
	.activityBtn__text {
		font-size: 14px;
	}
}

/* .activityBtn__text::after {
	position: absolute;
	top: 50%;
	right: 32px;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background: url(../img/icon_blank.png) center center / contain no-repeat;
	content: "";
} */

.activityBtn__link:hover {
	opacity: 0.7;
}

.andHouse .imgBox__img:hover {
	opacity: 0.7;
}

.comeonHouse .imgBox__img:hover {
	opacity: 0.7;
}

.smileContents .p-card__image:hover {
	opacity: 1 !important;
}

.activity .activityImgBox {
	border-radius: 16px 16px 0 0;
	overflow: hidden;
}

.activity .activityImgBox__img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.activity .activityTextBox {
	border-radius: 0 0 16px 16px;
	overflow: hidden;
}

.activity .activityTextBox__text {
	padding: 16px 19px 24px 19px;
	background-color: #fff;
	font-size: 20px;
	font-weight: 600;
	color: #db0202;
}

@media (max-width: 767px) {
	.activity .activityTextBox__text {
		padding: 8px 12px 32px 12px;
		font-size: 13px;
	}
}

.p-card__image__titleText {
	font-size: 24px;
	font-weight: 600;
	margin-top: 16px;
}

@media (max-width: 767px) {
	.p-card__image__titleText {
		font-size: 17px;
	}
}

.pcOnly {
	display: none;
}

@media (max-width: 767px) {
	.pcOnly {
		display: block;
	}
}

.smile__gallery__media__titleText {
	position: relative;
	font-size: 32px;
	font-weight: 600;
	color: #db0202;
}

.smile__gallery__media__titleText::after {
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	background: url(../img/dot_line.png) center center / contain no-repeat;
	max-width: 120px;
	width: 100%;
	height: 6px;
	content: "";
}

.smile__content__outer.AD .c-arrow-text::after {
	display: none;
}

@media (max-width: 767px) {
	.smile__content__outer.AD .p-card__text-area {
		padding: 8px 8px 20px;
	}
}

@media (max-width: 767px) {
	.smile__content__outer.AD .cardBtnList {
		margin-bottom: 16px;
	}
}

.smileContents .hover__none:hover {
	color: #333;
	pointer-events: none !important;
}

.smile_sectionText {
	font-size: 24px;
	font-weight: 700;
	margin: 30px;
	line-height: 1.5;
	text-align: center;
}

.smile__visualBox {
    transform: scale(1.8);
    transform-origin: top center;

}

.l-activityPage .spOnly {
	display: none;
}

@media (max-width: 767px) {
	.l-activityPage .spOnly {
		display: block;
	}
}
