@charset "utf-8";

/* =========================================================

 base

========================================================= */

/* -------------------------------------
 reset
------------------------------------- */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}

img {
	vertical-align: top;
}

html {
	line-height: 1.6;
}

ol,
ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption,
th,
td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}

q,
blockquote {
	quotes: none;
}

q:before,
q:after,
blockquote:before,
blockquote:after {
	content: "";
	content: none;
}

a img {
	border: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	display: block;
}

sup {
	position: relative;
	top: -0.5em;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}

sub {
	position: relative;
	bottom: 0;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

/* -------------------------------------
 swiper_reset
------------------------------------- */

.swiper {
	overflow: clip;
}

.swiper-button-next,
.swiper-button-prev {
	margin-top: 0;
}

*,
*:before,
*:after {
	box-sizing: border-box;
}

*:focus {
	outline: none;
}

html {
	font-size: 62.5%;
	overflow-x: clip;
}

body {
	overflow-x: clip;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: normal;
	line-height: 1;
	background-color: #fff;
	color: #1a1a1a;
}

a {
	text-decoration: none;
	cursor: pointer;
}

img {
	width: 100%;
	height: auto;
}

/* =========================================================

 state

========================================================= */

.pc {
	display: block;
}

.sp {
	display: none;
}

.is_fade_in {
	animation-name: fadeIn;
	animation-duration: 3s;
}

.is_absolute_top {
	position: absolute !important;
	top: 0 !important;
}

.is_absolute_bottom {
	position: absolute !important;
	bottom: 0 !important;
}

.is_fixed {
	position: fixed !important;
}

.is_fixed_top {
	position: fixed !important;
	top: 0 !important;
}

.is_bg_fixed {
	background-attachment: fixed !important;
}

/* =========================================================

 module

========================================================= */

.m_titleline {
	position: relative;
}

.m_titleline::after {
	content: "";
	width: 71px;
	height: 10px;
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
	background: url(../img/common/module/section.svg) no-repeat;
	background-size: contain;
}

.m_titleline.is_left::after {
	content: "";
	right: auto;
}

.m_btn {
	position: relative;
	overflow: hidden;
}

.m_btn.has_type_lage {
	font-size: 1.6rem;
	padding: 14px 40px 16px;
}

.m_btn.has_type_line_white {
	color: #fff;
	z-index: 1;
	border: 2px solid #fff;
	border-radius: 50px 15px 50px 50px;
	transition: all 0.4s ease;
}

.m_btn.has_type_line_white::before {
	content: "";
	width: 150%;
	height: 522%;
	position: absolute;
	top: 50%;
	left: 100%;
	z-index: -1;
	background-color: #fff;
	border-radius: 50%;
	transition: all 0.4s ease;
}

.m_btn.has_type_line_white:hover {
	color: #1a1a1a;
	transition: all 0.4s ease;
}

.m_btn.has_type_line_white:hover::before {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.m_btn.has_type_line_black {
	color: #1a1a1a;
	z-index: 1;
	border: 2px solid #1a1a1a;
	border-radius: 50px 15px 50px 50px;
	transition: all 0.4s ease;
}

.m_btn.has_type_line_black::before {
	content: "";
	width: 150%;
	height: 522%;
	position: absolute;
	top: 50%;
	left: 100%;
	z-index: -1;
	background-color: #1a1a1a;
	border-radius: 50%;
	transition: all 0.4s ease;
}

.m_btn.has_type_line_black:hover {
	color: #fff;
	transition: all 0.4s ease;
}

.m_btn.has_type_line_black:hover::before {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.m_hover_btn {
	position: relative;
	overflow: hidden;
}

.m_hover_btn.has_type_small {
	font-size: 1.4rem;
	padding: 10px 20px 10px;
}

.m_hover_btn.has_type_base_white {
	color: #1a1a1a;
	z-index: 1;
	background-color: #fff;
	border-radius: 50px 15px 50px 50px;
	transition: all 0.4s ease;
}

.m_hover_btn.has_type_base_white::before {
	content: "";
	width: 150%;
	height: 522%;
	position: absolute;
	top: 50%;
	left: 100%;
	z-index: -1;
	background-color: #cb171a;
	border-radius: 50%;
	transition: all 0.4s ease;
}

.m_hover_btn.has_type_base_white:hover {
	color: #fff;
	transition: all 0.4s ease;
}

.m_hover_btn.has_type_base_white:hover::before {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.m_slider_btn {
	width: 112px;
	height: 56px;
	position: relative;
	border-top: 2px solid #c6c6c6;
	border: 2px solid #c6c6c6;
	border-radius: 28px 8px 28px 28px;
}

.m_slider_btn.is_hidden {
	display: none;
}

.m_slider_btn .swiper-button-prev {
	position: absolute;
	top: 0;
	left: 0;
	right: auto;
	width: 50%;
	height: 100%;
}

.m_slider_btn .swiper-button-prev::after {
	content: "";
	position: absolute;
	top: 0;
	left: 25px;
	bottom: 0;
	display: block;
	width: 12px;
	height: 12px;
	margin: auto;
	border-bottom: 2px solid #1a1a1a;
	border-left: 2px solid #1a1a1a;
	transform: rotate(45deg);
}

.m_slider_btn .swiper-button-prev:hover::after {
	border-bottom: 2px solid #cb171a;
	border-left: 2px solid #cb171a;
}

.m_slider_btn .swiper-button-next {
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	width: 50%;
	height: 100%;
}

.m_slider_btn .swiper-button-next::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 25px;
	display: block;
	width: 12px;
	height: 12px;
	margin: auto;
	border-top: 2px solid #1a1a1a;
	border-right: 2px solid #1a1a1a;
	transform: rotate(45deg);
}

.m_slider_btn .swiper-button-next:hover::after {
	border-top: 2px solid #cb171a;
	border-right: 2px solid #cb171a;
}

.m_slider_unit_btn {
	position: relative;
	top: 0;
	left: 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 52px;
	height: 52px;
	border: 2px solid #1a1a1a;
	border-radius: 28px 8px 28px 28px;
}

.m_slider_unit_btn::after {
	content: "";
	width: 12px;
	height: 12px;
	color: #1a1a1a;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}

.m_slider_unit_btn.is_left {
	transform: scaleX(-1);
}

.m_movie_btn {
	display: block;
	position: relative;
	overflow: hidden;
	width: 64px;
	height: 64px;
	z-index: 1;
	background-color: #fff;
	border-radius: 32px 5px 32px 32px;
	transition: 0.2s ease;
	cursor: pointer;
}

.m_movie_btn::before {
	content: "";
	width: 200%;
	height: 200%;
	position: absolute;
	top: 50%;
	left: 100%;
	z-index: -1;
	background-color: #cb171a;
	border-radius: 50%;
	transition: all 0.4s ease;
}

.m_movie_btn::after {
	content: "";
	position: absolute;
	width: 17px;
	height: 23px;
	top: 20px;
	left: 26px;
	background: url(../img/common/module/movie_start_black.svg) no-repeat;
	background-size: contain;
	transition: all 0.4s ease;
}

.m_movie_btn:hover::before {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.m_movie_btn:hover::after {
	background: url(../img/common/module/movie_start_white.svg) no-repeat;
	background-size: contain;
	transition: all 0.4s ease;
}

.m_productslider {
	display: flex;
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}

.m_productslider li {
	margin: 0 1.7182130584%;
	width: 29.8969072165%;
}

.m_separator_symbol {
	height: 14px;
	margin: 0;
	padding: 0;
	background: url(../img/common/module/section_line.svg) repeat-x 0 0;
	background-size: auto 100%;
	background-position: left center;
	border: 0;
}

.m_slide_right {
	animation-name: slideAnime;
	animation-duration: 2s;
	animation-fill-mode: forwards;
	animation-iteration-count: 1;
	opacity: 0;
}

.m_zoom_in {
	animation-name: zoomInAnime;
	animation-duration: 2s;
	animation-fill-mode: forwards;
}

.m_fadeup_20 {
	animation-name: fadeUpAnime20;
	animation-duration: 2s;
	animation-fill-mode: forwards;
}

.m_fadeup_60 {
	animation-name: fadeUpAnime60;
	animation-duration: 2s;
	animation-fill-mode: forwards;
}

.m_fadeup_80 {
	animation-name: fadeUpAnime80;
	animation-duration: 2s;
	animation-fill-mode: forwards;
}

.m_fadeup_160 {
	animation-name: fadeUpAnime160;
	animation-duration: 2s;
	animation-fill-mode: forwards;
}

.m_spread_around_zoomout.is_viewed {
	animation: 2s ease forwards spreadAroundSmall, 1.5s ease forwards fadeInZoomOut;
}

.m_open_side_pc.is_viewed {
	animation: 2s ease forwards openSideSmall;
}

.m_fadeup_sp {
	animation: none;
}

.m_small_in.is_viewed {
	animation: 2s ease forwards smallInAnime;
}

.svg_white {
	fill: #fff;
}

/* =========================================================

 module

========================================================= */

.l_header {
	width: 100%;
	background-color: #fff;
}

.l_header.is_fixed {
	position: fixed;
	top: 0;
	z-index: 99;
}

.l_header .header_inner {
	display: flex;
	justify-content: space-between;
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}

.l_header .header_inner .menu_btn.open {
	display: block;
	position: relative;
	margin: 40px 0;
	transition: all 0.32s;
	cursor: pointer;
}

.l_header .header_inner .menu_btn.open:hover {
	color: #cb171a;
}

.l_header .header_inner .menu_btn.open:hover .header_menu_bar span {
	background-color: #cb171a;
}

.l_header .header_inner .menu_btn.open .header_menu_bar {
	position: absolute;
	z-index: 99;
	padding-left: 30px;
}

.l_header .header_inner .menu_btn.open .header_menu_bar span {
	position: absolute;
	display: inline-block;
	width: 20px;
	height: 2px;
	background-color: #1a1a1a;
	transition: all 0.32s;
}

.l_header .header_inner .menu_btn.open .header_menu_bar span:nth-of-type(1) {
	top: 0;
}

.l_header .header_inner .menu_btn.open .header_menu_bar span:nth-of-type(2) {
	top: 7px;
}

.l_header .header_inner .menu_btn.open .header_menu_bar span:nth-of-type(3) {
	top: 14px;
}

.l_header .header_inner .menu_btn.open .header_menu_text {
	display: inline-block;
	margin-left: 60px;
	vertical-align: middle;
	font-size: 1.6rem;
}

.l_header .header_inner .header_logo {
	position: absolute;
	width: 184px;
	right: 0;
	left: 0;
	margin: 27px auto;
}

.l_header .header_inner .header_sns {
	margin: 35px 30px 0 0;
}

.l_header .header_inner .header_sns a {
	margin-right: 20px;
}

.l_header .header_inner .header_sns a:last-of-type {
	margin-right: 0;
}

.l_header .header_inner .header_sns a span {
	display: inline-block;
	width: 25px;
}

.l_menu_open {
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}

.l_menu_open .menu_open {
	opacity: 0;
}

.l_menu_open .menu_open.active {
	opacity: 1;
	position: fixed;
	top: 0;
	z-index: 9999;
	width: 100%;
	height: 100vh;
}

.l_menu_open .menu_open.active .menu_block .nav_list {
	display: block;
}

.l_menu_open .menu_open.active .menu_block .nav_list ul li {
	transform: translateX(0);
}

.l_menu_open .menu_open.active .menu_block .nav_list ul li:nth-child(5) {
	transition-delay: 0.2s;
}

.l_menu_open .menu_open.active .menu_block .nav_list ul li:nth-child(4) {
	transition-delay: 0.3s;
}

.l_menu_open .menu_open.active .menu_block .nav_list ul li:nth-child(3) {
	transition-delay: 0.4s;
}

.l_menu_open .menu_open.active .menu_block .nav_list ul li:nth-child(2) {
	transition-delay: 0.5s;
}

.l_menu_open .menu_open.active .menu_block .nav_list ul li:nth-child(1) {
	transition-delay: 0.6s;
}

.l_menu_open .menu_open .menu_btn.close {
	padding: 40px 0 0 20px;
	width: 50%;
	position: absolute;
	z-index: 9999;
	transition: all 0.32s;
	cursor: pointer;
}

.l_menu_open .menu_open .menu_btn.close:hover {
	color: #cb171a;
}

.l_menu_open .menu_open .menu_btn.close:hover .header_menu_bar span {
	background-color: #cb171a;
}

.l_menu_open .menu_open .menu_btn.close .header_menu_bar span {
	position: absolute;
	display: inline-block;
	width: 20px;
	height: 2px;
	background-color: #1a1a1a;
	transition: all 0.32s;
}

.l_menu_open .menu_open .menu_btn.close .header_menu_bar span:nth-of-type(1) {
	top: 47px;
	transform: rotate(-45deg);
}

.l_menu_open .menu_open .menu_btn.close .header_menu_bar span:nth-of-type(2) {
	opacity: 0;
}

.l_menu_open .menu_open .menu_btn.close .header_menu_bar span:nth-of-type(3) {
	top: 47px;
	transform: rotate(45deg);
}

.l_menu_open .menu_open .menu_btn.close .header_menu_text {
	display: inline-block;
	margin-left: 32px;
	vertical-align: middle;
	font-size: 1.6rem;
}

.l_menu_open .menu_open .menu_block {
	display: flex;
	flex-direction: column;
	width: 50%;
	height: 100vh; /* 親要素の高さを指定 */
	box-sizing: border-box;
	position: absolute;
	z-index: 999;
}

.l_menu_open .menu_open .menu_block .nav_list {
	overflow-y: auto; /* 要素をスクロールさせる */
	margin: 136px 0 40px;
	padding-left: 80px;
}

.l_menu_open .menu_open .menu_block .nav_list::-webkit-scrollbar {
	width: 4px;
}

.l_menu_open .menu_open .menu_block .nav_list::-webkit-scrollbar-thumb {
	background-color: #1a1a1a;
}

.l_menu_open .menu_open .menu_block .nav_list::-webkit-scrollbar-track {
	background-color: #f2f2f2;
}

.l_menu_open .menu_open .menu_block .nav_list ul li {
	margin-bottom: 64px;
	transform: translateX(-1000px);
	transition: all 0.8s;
}

.l_menu_open .menu_open .menu_block .nav_list ul li a {
	font-size: 2rem;
	color: #757575;
	transition: 0.32s ease;
}

.l_menu_open .menu_open .menu_block .nav_list ul li a:hover {
	color: #1a1a1a;
}

.l_menu_open .menu_open .menu_block .image_block {
	position: fixed;
	top: 0;
	left: 50%;
	z-index: 9999;
	width: 50%;
	opacity: 0;
	display: none;
}

.l_menu_open .menu_open .menu_block .image_block img {
	height: 100vh;
	object-fit: cover;
}

.l_menu_open .menu_open .menu_block .image_block.active_image {
	animation-name: imageAnime;
	animation-duration: 1s;
	animation-delay: 0.2s;
	animation-fill-mode: forwards;
	display: block;
}

.circle_bg {
	position: fixed;
	z-index: 998;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background: #fff;
	transform: scale(0);
	left: -50px;
	top: -50px;
	transition: all 1.5s;
}

.circle_bg.circleactive {
	transform: scale(70);
}

.l_footer {
	width: 100%;
	margin-top: 80px;
	padding: 144px 0 120px;
	background: url(../img/common/module/footer_line.gif) repeat-x;
}

.l_footer .footer_logo {
	display: block;
	width: 250px;
	margin: 0 auto;
}

.l_pagetop {
	position: fixed;
	z-index: 99;
	right: 0;
	bottom: 80px;
	border-radius: 5px 0 0 5px;
	background-color: #f2f2f2;
}

.l_pagetop a {
	display: block;
	padding: 15px;
}

.l_pagetop a img {
	width: 17px;
}

.l_products_list_slider {
	padding-left: 2.7491408935%;
	padding-right: 2.7491408935%;
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}

.l_products_list_slider .products_list_inner {
	position: relative;
}

.l_products_list_slider .content_block {
	position: absolute;
	width: calc(33.3333333333% - 24px);
	opacity: 1;
	z-index: 10;
	transition: opacity 0.32s ease-in;
}

.l_products_list_slider .content_block.is_hidden {
	opacity: 0;
}

.l_products_list_slider .products_list_titleline {
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 8px;
	font-size: 4rem;
	line-height: 1.2;
	font-weight: bold;
	font-feature-settings: "palt";
}

.l_products_list_slider .products_list_titleline_sub {
	font-size: 2rem;
	font-weight: normal;
}

.l_products_list_slider .products_list_text_block {
	color: #757575;
	font-size: 1.6rem;
	line-height: 1.5;
	padding-right: 10%;
	margin-top: 24px;
}

.l_products_list_slider .btn {
	display: inline-block;
	text-align: center;
	margin-top: 32px;
}

.l_products_list_slider .slider_block {
	position: relative;
}

.l_products_list_slider .slide_product_img {
	position: relative;
}

.l_products_list_slider .slide_product_img--hover {
	position: absolute;
	inset: 0;
	display: grid;
	place-content: center;
	background: #f2f2f2;
	opacity: 0;
	transition: opacity 0.32s ease-in;
}

.l_products_list_slider .slide_product_img--hover img {
	max-width: 100%;
}

.l_products_list_slider .slide_product_name {
	font-size: 1.6rem;
	margin-top: 24px;
	color: #1a1a1a;
}

.l_products_list_slider .swiper_products_list {
	overflow-x: visible;
}

.l_products_list_slider .slider_btn_block {
	display: flex;
	justify-content: flex-end;
	margin-top: 32px;
}

.l_single_page_list_slider {
	padding-left: 2.7491408935%;
	padding-right: 2.7491408935%;
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}

.l_single_page_list_slider .singlepage_list_inner {
	position: relative;
}

.l_single_page_list_slider .content_block {
	position: absolute;
	width: calc(33.3333333333% - 24px);
	opacity: 1;
	z-index: 10;
	transition: opacity 0.32s ease-in;
}

.l_single_page_list_slider .content_block.is_hidden {
	opacity: 0;
}

.l_single_page_list_slider .singlepage_list_titleline {
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 8px;
	font-size: 4rem;
	line-height: 1.2;
	font-weight: bold;
	font-feature-settings: "palt";
}

.l_single_page_list_slider .singlepage_list_titleline_sub {
	font-size: 2rem;
	font-weight: normal;
}

.l_single_page_list_slider .slider_block {
	position: relative;
}

.l_single_page_list_slider .slider_block .swiper_single_page {
	overflow: visible;
}

.l_single_page_list_slider .slider_block .swiper_single_page .swiper-wrapper .swiper-slide {
	flex-shrink: 0;
}

.l_single_page_list_slider .slider_block .swiper_single_page .swiper-wrapper .swiper-slide .slide_box .slide_image {
	position: relative;
	overflow: hidden;
}

.l_single_page_list_slider .slider_block .swiper_single_page .swiper-wrapper .swiper-slide .slide_box .slide_image img {
	transition: transform 0.2s linear;
}

.l_single_page_list_slider .slider_block .swiper_single_page .swiper-wrapper .swiper-slide .slide_box .slide_image:hover img {
	transform: scale(1.25);
}

.l_single_page_list_slider .slider_block .swiper_single_page .swiper-wrapper .swiper-slide .slide_box .slide_image:hover .hover_btn {
	transition: all 0.4s ease;
	opacity: 1;
}

.l_single_page_list_slider .image_block {
	position: relative;
	overflow: hidden;
}

.l_single_page_list_slider .image_block img {
	transition: transform 0.2s linear;
}

.l_single_page_list_slider .image_block:hover img {
	transform: scale(1.25);
}

.l_single_page_list_slider .image_block:hover .hover_btn {
	transition: all 0.4s ease;
	opacity: 1;
}

.l_single_page_list_slider .image_block .hover_btn {
	position: absolute;
	bottom: 30px;
	left: 30px;
	opacity: 0;
}

.l_single_page_list_slider .slide_singlepage_name {
	font-size: 1.6rem;
	margin-top: 24px;
	color: #1a1a1a;
}

.l_single_page_list_slider .swiper_singlepage_list {
	overflow-x: visible;
}

.l_single_page_list_slider .slider_btn_block {
	display: flex;
	justify-content: flex-end;
	margin-top: 32px;
}

@media (hover: hover) {

.m_slider_unit_btn:hover::after {
	color: #cb171a;
}

.l_products_list_slider .slide_product_img:hover .slide_product_img--hover {
	opacity: 1;
}

}

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

.m_productslider li {
	margin: 0 2.0833333333%;
	width: 45.8333333333%;
}

.l_single_page_list_slider .slider_block .swiper_single_page .swiper-wrapper .swiper-slide {
	padding: 0 2.0833333333%;
}

}

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

.pc {
	display: none;
}

.sp {
	display: block;
}

.m_titleline::after {
	width: 20.5729166667vw;
	height: 2.6041666667vw;
}

.m_btn.has_type_small {
	font-size: 4.1666666667vw;
	padding: 2.6041666667vw 0 2.6041666667vw;
}

.m_btn.has_type_lage {
	font-size: 4.1666666667vw;
	padding: 3.90625vw 0 3.90625vw;
}

.m_slider_btn {
	width: 36.4583333333vw;
	height: 14.3229166667vw;
	border-radius: 50px 15px 50px 50px;
}

.m_slider_btn .swiper-button-prev::after {
	left: 8.4635416667vw;
}

.m_slider_btn .swiper-button-next::after {
	right: 8.4635416667vw;
}

.m_slider_unit_btn {
	width: 10.4166666667vw;
	height: 10.4166666667vw;
	min-width: 40px;
	min-height: 40px;
	border-radius: 100px 20px 100px 100px;
}

.m_slider_unit_btn::after {
	width: 1.5625vw;
	height: 1.5625vw;
	min-width: 12px;
	min-height: 12px;
}

.m_productslider li {
	margin: 0 5.2083333333vw;
	width: 79.1666666667vw;
}

.m_separator_symbol {
	height: 2.2786458333vw;
}

.m_open_side_pc.is_viewed {
	animation: none;
}

.m_fadeup_sp.is_viewed {
	animation: 2s ease forwards fadeInUp;
}

.l_header .header_inner .menu_btn.open {
	height: 5.2083333333vw;
	margin: 5.2083333333vw 0;
}

.l_header .header_inner .menu_btn.open .header_menu_bar {
	padding-left: 5.2083333333vw;
}

.l_header .header_inner .menu_btn.open .header_menu_bar span {
	width: 6.5104166667vw;
	height: 0.5208333333vw;
}

.l_header .header_inner .menu_btn.open .header_menu_bar span:nth-of-type(1) {
	top: 0;
}

.l_header .header_inner .menu_btn.open .header_menu_bar span:nth-of-type(2) {
	top: 2.34375vw;
}

.l_header .header_inner .menu_btn.open .header_menu_bar span:nth-of-type(3) {
	top: 4.6875vw;
}

.l_header .header_inner .header_logo {
	width: 32.5520833333vw;
	margin: 4.1666666667vw auto;
}

.l_menu_open .menu_open .menu_btn.close {
	padding-left: 5.2083333333vw;
}

.l_menu_open .menu_open .menu_block {
	width: 100%;
}

.l_menu_open .menu_open .menu_block .nav_list {
	width: 83.3333333333vw;
	margin: 96px auto 0;
	padding: 0;
}

.l_menu_open .menu_open .menu_block .nav_list ul li {
	margin-bottom: 10.4166666667vw;
}

.l_menu_open .menu_open .menu_block .nav_list ul li a {
	font-size: 4.1666666667vw;
}

.l_menu_open .menu_open .menu_block .image_block.active_image {
	display: none;
}

.l_menu_open .menu_open .menu_block .nav_sns {
	display: flex;
	justify-content: space-between;
	width: 35.6770833333vw;
	margin: 5.2083333333vw auto 12.5vw;
}

.l_menu_open .menu_open .menu_block .nav_sns a span {
	display: inline-block;
	width: 6.5104166667vw;
}

.l_footer {
	margin-top: 7.8125vw;
	padding: 15.625vw 0 15.3645833333vw;
	background-size: auto 2.6041666667vw;
}

.l_footer .footer_logo {
	width: 14.5833333333vw;
}

.l_pagetop {
	bottom: 26.0416666667vw;
}

.l_pagetop a {
	padding: 3.90625vw;
}

.l_pagetop a img {
	width: 4.5572916667vw;
}

.l_products_list_slider {
	padding-left: 10.4166666667vw;
	padding-right: 10.4166666667vw;
}

.l_products_list_slider .content_block {
	position: relative;
	width: 100%;
}

.l_products_list_slider .products_list_titleline {
	gap: 2.0833333333vw;
	font-size: 7.2916666667vw;
	align-items: center;
	text-align: center;
}

.l_products_list_slider .products_list_titleline_sub {
	font-size: 4.1666666667vw;
}

.l_products_list_slider .products_list_text_block {
	font-size: 4.1666666667vw;
	padding-right: 0;
	margin-top: 8.3333333333vw;
}

.l_products_list_slider .btn {
	display: block;
	margin-top: 8.3333333333vw;
}

.l_products_list_slider .slider_block {
	margin-top: 8.3333333333vw;
}

.l_products_list_slider .slide_product_name {
	font-size: 4.1666666667vw;
	margin-top: 6.25vw;
	line-height: 1.5em;
}

.l_products_list_slider .slider_btn_block {
	justify-content: center;
	margin-top: 8.3333333333vw;
}

.l_single_page_list_slider {
	padding-left: 10.4166666667vw;
	padding-right: 10.4166666667vw;
}

.l_single_page_list_slider .content_block {
	position: relative;
	width: 100%;
}

.l_single_page_list_slider .singlepage_list_titleline {
	gap: 2.0833333333vw;
	font-size: 7.2916666667vw;
	align-items: center;
	text-align: center;
}

.l_single_page_list_slider .singlepage_list_titleline_sub {
	font-size: 4.1666666667vw;
}

.l_single_page_list_slider .slider_block {
	margin-top: 8.3333333333vw;
}

.l_single_page_list_slider .slider_block .swiper_single_page .swiper-wrapper .swiper-slide {
	padding: 0 2.6041666667vw;
}

.l_single_page_list_slider .slider_block .swiper_single_page .swiper-wrapper .swiper-slide .slide_box .slide_image {
	margin-bottom: 10.4166666667vw;
}

.l_single_page_list_slider .slide_singlepage_name {
	font-size: 4.1666666667vw;
	margin-top: 6.25vw;
}

.l_single_page_list_slider .btn_area {
	margin-top: 6.25vw;
	text-align: center;
}

.l_single_page_list_slider .slider_btn_block {
	justify-content: center;
	margin-top: 8.3333333333vw;
}

}

@keyframes fadeIn {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@keyframes slideAnime {

from {
	opacity: 0;
	transform: translateX(400px);
}

to {
	opacity: 1;
	transform: translateX(0);
}

}

@keyframes zoomInAnime {

from {
	transform: scale(0.4);
}

to {
	transform: scale(1);
}

}

@keyframes fadeUpAnime20 {

from {
	transform: translateY(20px);
}

to {
	transform: translateY(0);
}

}

@keyframes fadeUpAnime60 {

from {
	transform: translateY(60px);
}

to {
	transform: translateY(0);
}

}

@keyframes fadeUpAnime80 {

from {
	transform: translateY(80px);
}

to {
	transform: translateY(0);
}

}

@keyframes fadeUpAnime160 {

from {
	transform: translateY(160px);
}

to {
	transform: translateY(0);
}

}

@keyframes openSideSmall {

from {
	clip-path: inset(0 18% 0 18%);
}

to {
	clip-path: inset(0 0 0 0);
}

}

@keyframes spreadAroundSmall {

from {
	clip-path: inset(8%);
}

to {
	clip-path: inset(0);
}

}

@keyframes fadeInUp {

from {
	transform: translateY(40px);
	opacity: 0;
}

to {
	transform: translateY(0);
	opacity: 1;
}

}

@keyframes fadeInZoomOut {

from {
	transform: scale(1.1);
	opacity: 0;
}

to {
	transform: scale(1);
	opacity: 1;
}

}

@keyframes smallInAnime {

from {
	scale: 1.1;
}

to {
	scale: 1;
}

}

@keyframes imageAnime {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

