@charset "utf-8";

@media screen and (max-width: 1179px) {
	.u-title_page {
		padding-inline: 0;
	}
	
	.l-news .u-button.-button > * {
		min-width: 0;
	}
	
}

@media screen and (max-width: 999px) {
	.l-mv .title {
		width: 520px;
	}
	
	.l-mv .title .text {
		font-size: 1.8vw;
	}
	
	.l-mv .logos {
		width: calc(100% - 60px);
		margin-top: 20px;
	}
	
	.l-mv .logos > * p {
		font-size: 1.2vw;
	}
	
	.l-mv .logos > *:nth-child(5) img {
		height: 20px;
	}
	
	.l-ourwish .inner {
		margin-inline: -60px;
		flex-direction: column;
	}
	
	.l-ourwish .title {
		text-align: center;
		width: 100%;
		padding-right: 0;
		padding-left: .5em;
	}
	
	.l-ourwish .image {
		width: 200px;
		margin-top: 30px;
		margin-left: 20px;
	}
	
	.l-ourwish .u-text {
		text-align: center;
		width: 100%;
	}
	
	.l-ourwish .u-text span {
		white-space: normal;
		padding-right: 1em;
	}
	
	.l-about:after {
		width: 55%;
		margin-top: 45%;
	}
	
	.l-about .title {
		width: 65%;
	}
	
	.l-about .image {
		width: calc(100% - 65%);
		margin-top: 15%;
	}
	
	.l-about .image figure:nth-child(3) {
		transform: translate(-35%, 225%);
	}
	
	.l-news .title {
		width: 35%;
		padding-right: 20px;
	}
	
	.l-news .u-news_list {
		width: calc(100% - 35%)
	}
	
	.u-news_list .u-text {
		font-size: 16rem;
	}
	
	.l-instruction {
		margin-top: 35% !important;
	}
	
	.l-instruction .main_image {
		width: 200px;
		margin-right: 7%;
		left: auto;
		right: 0;
	}
	
	.l-instruction .title {
		width: calc(100% - 55%);
	}
	
	.l-instruction .image {
		width: 55%;
	}
	
	.l-support .main_image {
		transform: translate(calc(-50% + 80px), calc(-50% - 50px));
	}
	
}

@media screen and (max-width: 767px) {
	.l-op .text {
		width: 100%;
		margin: 10% 0 0;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0,0);
	}
	
	.l-op .text p {
		font-size: max(1.5vw, 16rem);
		line-height: 2.25em;
		text-align: center;
		top: 0;
		left: 50%;
		transform: translate(-50%,0);
	}
	
	.l-op .text p:nth-child(1) {
		letter-spacing: .35em;
	}
	
	.l-op .text p:nth-child(2) {
		letter-spacing: .15em;
	}
	
	.l-op .images {
		width: 85%;
		height: 50%;
		margin-top: 10%;
		position: absolute;
		top: 0;
		left: 50%;
		opacity: 0;
		transform: translate(-50%,0);
	}
	
	.scene1 .l-op .images {
		transform: translate(-60%,0);
	}
	
	.l-op .logos {
		width: calc(100% - 40px);
		margin-top: 5%;
		top: 50%;
		left: 50%;
		transform-origin: center;
		transform: translate(-50%,-100%) scale(1.25);
	}
	
	.scene3 .l-op .logos {
		transform: translate(-50%,-100%) scale(1);
	}
	
	.l-op .okan {
		width: 60%;
	}

	.l-op .bg {
		top: 25%;
		left: 25%;
		transform: translate(-25%,-50%) rotateY(180deg) rotateZ(-20deg) scale(1.7);
	}
	
	@keyframes a-op_bg {
		0% {
			transform: translate(-25%,-50%) rotateY(180deg) rotateZ(-20deg) scale(1.7);
		}
		100% {
			transform: translate(-45%,-70%) rotateY(180deg) rotateZ(-20deg) scale(1.7);
		}
	}
	
	.g-container {
		padding-top: var(--header_h);
	}
	
	.l-mv {
		padding: 90% 0 0;
	}
	
	.l-mv .title {
		width: calc(100% + (20px * 2));
		margin-top: 0;
		padding-bottom: 10%;
		z-index: 0;
	}
	
	.l-mv .title .logo {
		width: 55%;
		margin-top: 2.5%;
	}
	
	.l-mv .title .text {
		font-size: 3vw;
		margin-top: 3.5%;
	}
	
	.l-mv_slide {
		background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
	}
	
	.l-mv .logos {
		width: 100%;
		margin-top: 0;
		padding-top: 20px;
		padding-bottom: 70px;
		background: url("/_assets/images/home/bg_01_mobile.svg") no-repeat bottom center / 100% auto;
	}
	
	.l-mv .logos:after {
		display: none;
	}
	
	.l-mv .logos > * {
		width: auto;
		margin-top: 20px;
		padding-inline: 10px;
	}
	
	.l-mv .logos > *:nth-child(5) {
		width: auto;
	}
	
	.l-mv .logos > *:nth-child(1) {
		padding-inline: 10px;
		justify-content: flex-end;
	}
	
	.l-mv .logos > *:nth-child(2) {
		padding-inline: 10px;
		justify-content: flex-start;
	}
	
	.l-mv .logos > *:nth-child(2) img {
		height: 40px;
	}
	
	.l-mv .logos > *:nth-child(3),
	.l-mv .logos > *:nth-child(6) {
		justify-content: flex-end;
	}
	
	.l-mv .logos > *:nth-child(4),
	.l-mv .logos > *:nth-child(7) {
		justify-content: flex-start;
	}
	
	.l-mv .logos > *:nth-child(5) {
		justify-content: center;
	}
	
	.l-mv .logos > *:nth-child(5) img {
		height: 20px;
	}
	
	.l-mv .logos > *:nth-child(7) {
		margin-inline: 0;
	}
	.l-mv .logos > *:nth-child(9) {
		width: calc(100% / 2 );
	}
	.l-mv .logos > *:nth-child(9) img {
		height:  14px;
	}

	.l-mv .logos > * p {
		font-size: 11rem;
	}
	
	.l-mv .note {
		padding: 5px 20px;
		position: absolute;
		z-index: 10;
	}
	
	.l-ourwish {
		margin-top: 15%;
	}
	
	.l-ourwish:after {
		content: '';
		width: 140%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-45%, -60%);
	}
	
	.l-ourwish .title {
		font-size: 28rem;
	}
	
	.l-ourwish .image {
		width: 176px;
		margin-left: 0;
	}
	
	.l-ourwish .u-text {
		margin-top: 20px;
		padding-left: .5em;
	}
	
	.u-title_page {
		margin-top: 0;
	}
	
	.u-title_page .label .en {
		font-size: 11rem;
		letter-spacing: .2em;
	}
	
	.u-title_page .label .en:before {
		width: 17px;
		height: 21px;
	}
	
	.u-title_page .label .jp {
		font-size: 28rem;
	}
	
	.u-corner.-white {
		padding-top: 60px;
	}
	
	.l-news {
		margin-top: 0;
		flex-direction: column;
	}
	
	.l-news .u-title_page {
		padding-left: 20px;
	}
	
	.l-news .title {
		width: 100%;
		padding-right: 0;
	}
	
	.l-news .title + * {
		margin-top: 30px;
	}
	
	.l-news .u-news_list {
		width: 100%;
	}
	
	.l-news .title .image {
		width: 100px;
		margin: -20px 20px 0 0;
		position: absolute;
		top: 0;
		left: auto;
		right: 0;
	}
	
	@keyframes a-news_fly {
		0% {
			transform: rotate(0deg) scale(-1,1);
		}
		50% {
			transform: rotate(-5deg) scale(-1,1);
		}
		100% {
			transform: rotate(0deg) scale(-1,1);
		}
	}
	
	.u-news_list + .u-text {
		text-align: center;
		margin: 30px 0 0;
	}
	
	.u-corner {
		padding-bottom: 90%;
	}
	
	.u-corner:before {
		content: '';
		width: 75%;
		height: 75%;
		transform: translate(-40%, 20%);
	}
	
	.u-corner:after {
		aspect-ratio: 1 / .5;
		background-image: url("/_assets/images/common/bg_06_mobile.svg");
		background-position: top center;
	}
	
	.u-corner .main_image {
		width: 85%;
		margin-bottom: 22%;
	}
	
	.l-about {
		margin-top: -12.5% !important;
	}
	
	.l-about .u-title_low {
		margin-top: 20px !important;
	}
	
	.l-about .inner {
		display: block;
	}
	
	.l-about .title {
		width: 100%;
		padding-right: 0;
	}
	
	.l-about .u-title_low em {
		font-size: 20rem;
	}
	
	.l-about .u-title_low + * {
		margin-top: 1em;
	}
	
	.l-about .u-title_low + .u-text {
		font-size: 16rem;
	}
	
	.l-about .u-text + .u-text {
		text-align: right;
	}
	
	.l-about .image {
		width: 100%;
		margin-top: 0;
		padding-top: 160%;
	}
	
	.l-about .image figure:nth-child(1) {
		width: calc(46% - 30px);
		right: auto;
		left: 0;
		transform: translate(0%, 25%);
	}
	
	.l-about .image figure:nth-child(2) {
		width: 67.25%;
		margin: 30% -60px 0 0;
		z-index: 0;
	}
	
	.l-about .image figure:nth-child(3) {
		transform: translate(0%, 150%);
	}
	
	.l-about .image .note {
		padding-right: 40px;
	}
	
	.l-instruction .main_image {
		width: 32.5%;
		height: auto;
		margin: 0 0 0 20%;
		padding: 40% 0 0;
		right: auto;
		left: 0;
		transform: scale(-1,1) translate(0,-85%);
	}
	
	.l-instruction .inner {
		flex-direction: column;
	}
	
	.l-instruction .title {
		width: 100%;
	}
	
	.l-instruction .image {
		width: 100%;
	}
	
	.l-instruction .u-title_page + .u-text {
		font-size: 16rem;
		margin-top: 20px;
	}
	
	.l-instruction .u-text + .u-text {
		text-align: right;
	}
	
	.l-instruction .image {
		margin-top: 30px;
		padding-right: 0;
	}
	
	.l-instruction .image .u-text {
		text-align: right;
		margin-top: 20px;
		position: relative;
		right: auto;
		bottom: auto;
		transform: none;
	}
	
	.l-support .main_image {
		width: 72%;
		margin: 0 -60px 0 0;
		left: auto;
		right: 0;
		transform: translate(0, -75%);
	}
	
	.l-support .u-text {
		font-size: 16rem;
		margin-top: 20px;
	}
	
	.l-support .buttons {
		margin-top: 20px;
		flex-direction: column;
	}
	
	.l-support .buttons > * {
		width: 100%;
		padding-inline: 20px;
	}
	
	.l-support .buttons .u-button.-button > * {
		min-height: 76px;
		margin-top: 10px;
		margin-bottom: 10px;
	}
	
	.l-support .buttons .u-button.-button > * * {
		font-size: 18rem;
	}
	
	.l-support .buttons + .u-title_low {
		margin-top: 30px;
	}
	
	.u-card .title {
		font-size: 18rem;
		letter-spacing: 0;
	}
	
	.u-card .u-text {
		line-height: 1.35;
	}
	
	.u-card .u-text small {
		font-size: 11rem;
	}
	
}

@media screen and (max-width: 499px) {
	.l-mv {
		padding-top: 92.5%;
	}
	
	.l-mv .logos {
		padding: 20px 20px 60px;
	}
	
	.l-mv .logos > * {
		width: calc(100% / 2) !important;
		margin-top: 15px;
		padding-inline: 5px;
	}
	
	.l-mv .logos > *:nth-child(5),
	.l-mv .logos > *:nth-child(7) {
		justify-content: flex-end;
	}
	
	.l-mv .logos > *:nth-child(6) {
		justify-content: flex-start;
	}
	
	.l-mv .logos > *:nth-child(9),
	.l-mv .logos > *:nth-child(10) {
		width: 100% !important;
	}
	
	.l-mv .logos > *:nth-child(9) {
		margin-right: 5%;
	}
	
	.l-mv .logos > *:nth-child(9) figure {
		width: 240px;
		margin-inline: auto;
	}
	
	.l-mv .logos > * img {
		height: 26px;
	}
	
	.l-mv .logos > *:nth-child(10) p {
		font-size: 10rem;
	}
	
	.l-mv .logos > *:nth-child(1) img {
		height: 36px;
	}
	
	.l-mv .logos > *:nth-child(2) img {
		height: 42px;
	}

	.l-mv .logos > *:nth-child(8) {
		text-align: left;
	}

	.l-mv .logos > *:nth-child(8) img {
		height: 24px;
	}

	.l-mv .logos > *:nth-child(9) {
		text-align: right;
	}
	
	.l-mv .logos > *:nth-child(9) img {
		max-width: 90%;
	}

	.l-mv .logos > *:nth-child(10) img {
		height: 32px;
	}

		
	.l-mv .note {
		font-size: 9rem;
	}
	
	.l-ourwish:after {
		width: 200%;
		transform: translate(-45%, -60%) rotate(90deg) scale(-1,-1);
	}
	
	.l-ourwish .u-text {
		font-size: 4vw;
		letter-spacing: 0;
	}
	
	.l-about .image figure:nth-child(2) {
		margin: 30% -40px 0 0;
	}
	
	.l-about .image .note {
		font-size: 9rem;
	}
	
	.l-instruction .image .note {
		font-size: 9rem;
	}
	
	.l-support .main_image {
		margin-right: -30px;
		transform: translate(0, -90%);
	}
	
	
}
