@charset "UTF-8";

/* top
---------------------------------------------------------------------------*/
#wrap {
	background-color: #FFFEEE;
	transition: 1s linear;
}

header,
header:before,
header .logo img {
	transition: .4s cubic-bezier(0.77, 0, 0.175, 1);
}

header {
	position: relative;
	background-position: left top;
	margin-bottom: 130px;
	padding-top: 99px;
	z-index: 1;
}

header:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: #FFFEEE;
	width: 100%;
	height: 88px;
	z-index: 0;
	opacity: 0;
}

header.fixed {
	padding-top: 48px;
}

header.fixed:before {
	opacity: 1;
	transition: 1s linear;
}

header.bg:before {
	background-color: #FFFFFF;
}

header .sns,
header .snav {
	display: none;
	opacity: 0;
}

header.fixed .logo {
	top: 26px;
}

header .logo a {
	display: block;
}

header .logo a:hover {
	opacity: 0.5;
}

header .logo img {
	display: block;
}

header.fixed .logo img {
	width: 310px;
	height: auto;
}

.header-inner {
	max-width: 100%;
}

footer {
	margin-top: 100px;
}

/* media query
-----------------------------------*/
@media (min-width: 1480px) {
	.gnav {
		margin-right: -5px;
	}
	.gnav > ul > li > a,
	.gnav > ul > li > span {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}
}
@media (min-width: 1600px) {
	.gnav {
		margin-right: -10px;
	}
	.gnav > ul > li > a,
	.gnav > ul > li > span {
		padding-right: 25px !important;
		padding-left: 25px !important;
	}
}


/* .btn-index
------------------------------------*/
.btn-index {
	position: absolute;
	top: 0;
	right: 0;
}

.btn-index a {
	display: inline-block;
	background: url(../img/share/ico-arrow-btn-red.svg) no-repeat right center / 30px 30px;
	padding: 5px 45px 5px 0;
}


/* .top-loading
---------------------------------------------------------------------------*/
header,
.top-news,
.top-scroll {
	pointer-events: none;
}

header .logo,
header .gnav > ul > li,
#topContents,
.top-main .copy-en,
.top-main .copy,
.top-news,
.tomato-wrap .tomato,
.top-scroll {
	opacity: 0;
}

.top-loading .tomato1 {
	position: fixed;
	bottom: -20%;
	right: 50%;
	width: 8%;
	min-width: 120px;
	margin-right: -40%;
	transform-origin: center bottom;
	z-index: 101;
}

.top-loading .tomato1 img {
	width: 100%;
	height: auto;
}

.top-loading .tomato2 {
	position: fixed;
	bottom: 0;
	left: -5%;
	background: url(../img/share/bg-footer.png) repeat-x left bottom / 1150px 76px;
	width: 110%;
	height: 76px;
	transform-origin: center bottom;
	z-index: 102;
	opacity: 0;
}


/*.top-main
---------------------------------------------------------------------------*/
.top-main {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	width: 100%;
	min-width: 1260px;
	margin-bottom: -39px;
	padding-right: 130px;
	z-index: 2;
}

.top-main,
.slider-top .inner {
	height: calc(100vh - 145px);
	min-height: 820px;
	max-height: 1000px;
}

.slider-top,
.slider-top .inner {
	overflow: hidden;
	border-radius: 0 0 180px 0;
}

.slider-top:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	background-color: #FFFEEE;
	width: 100%;
	height: 100%;
	z-index: 9999;
	transition: 1s cubic-bezier(0.23, 1, 0.32, 1) .3s;
}

.slider-top.active:before {
	width: 0;
}

.slider-top .inner {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
}

.slider-top .inner:nth-of-type(1) { background-image: url(../img/top/slide-top1.jpg); }

.top-main .copy-en {
	position: absolute;
	top: 41px;
	left: 32px;
}

.top-main .copy {
	position: absolute;
	top: 62px;
	right: 48px;
}

.top-main .tomato-wrap {
	position: absolute;
	bottom: 0;
	right: -70px;
}

/* .top-news
------------------------------------*/
.top-news {
	position: absolute;
	bottom: 245px;
	right: 225px;
	background-color: #006D3C;
	border-radius: 21px;
	width: 230px;
	transform-origin: center bottom;
}

.top-news:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -19px;
	right: 20px;
	border-style: solid;
	border-width: 0 11px 19px 0;
	border-color: transparent #006D3C transparent transparent;
	width: 0;
	height: 0;
}

.top-news-close {
	position: absolute;
	top: -23px;
	right: -20px;
	width: 45px;
	height: 45px;
	cursor: pointer;
	transition: .15s ease-out;
	z-index: 1;
}

.top-news-close:hover {
	opacity: 0.5;
}

.top-news-close .inner {
	position: relative;
	background-color: #EA0000;
	border-radius: 50px;
	width: 29px;
	height: 29px;
	margin: 10px 0 0 10px;
}

.top-news-close .inner:before,
.top-news-close .inner:after {
	display: block;
	content: '';
	position: absolute;
	top: 13px;
	left: 8px;
	background-color: #FFFFFF;
	width: 13px;
	height: 2px;
	transform-origin: center center;
}

.top-news-close .inner:before { transform: rotate(40deg); }
.top-news-close .inner:after { transform: rotate(-40deg); }

.top-news a,
.top-news > span {
	display: block;
	padding: 15px 19px 18px 19px;
	color: #FFFFFF;
	font-size: 15px;
	line-height: 1.8;
	text-align: justify;
	letter-spacing: 0.04em;
}

.top-news > span {
	line-height: 1.6;
	letter-spacing: 0.02em;
}

.top-news a span {
	border-bottom: 1px solid #FFFFFF;
}

.top-main .tomato {
	transform-origin: right bottom;
}

.top-main .tomato img {
	display: block;
	width: 246px;
	height: auto;
	transform: rotate(-21deg);
}

/* .top-scroll
------------------------------------*/
.top-scroll {
	overflow: hidden;
	position: absolute;
	bottom: 32px;
	left: 50%;
	width: 88px;
	margin-left: -44px;
	text-align: center;
	z-index: 10;
}

.top-scroll a {
	position: relative;
	display: block;
	width: 100%;
	padding-top: 78px;
}

.top-scroll .bar {
	position: absolute;
	top: 0;
	left: 43px;
	background-color: #FFFFFF;
	width: 1px;
/* 	height: 64px; */
	height: 0;
}

.top-scroll .bar.active {
	top: inherit;
	bottom: 27px;
	animation: anime_bar 2.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;
}

@keyframes anime_bar {
	0% { height: 64px; bottom: 27px; top: inherit; }
	30% { height: 0; bottom: 27px; top: inherit; }
	70% { height: 0; bottom: inherit; top: 0; }
	100% { height: 64px; bottom: inherit; top: 0; }
}


/* .sec-bnr
---------------------------------------------------------------------------*/
.sec-bnr {
	box-sizing: border-box;
	width: 100%;
	max-width: 1350px;
	margin: 0 auto 140px;
	padding: 0 60px;
}

/* .bnr-sub
------------------------------------*/
.bnr-sub .bnr {
	float: left;
	width: 30.8%;
	margin-right: 3.8%;
}

.bnr-sub .bnr:nth-of-type(3n) {
	margin-right: 0;
}

.bnr-sub .bnr a {
	display: block;
}

.bnr-sub .bnr h3 {
	margin-bottom: 28px;
	text-align: center;
}

.bnr-sub .bnr h3 span {
	position: relative;
	display: inline-block;
}

.bnr-sub .bnr h3 span:before,
.bnr-sub .bnr h3 span:after {
	display: block;
	content: '';
	position: absolute;
	top: -7px;
	background: url(../img/share/parts-fukidashi.svg) no-repeat;
	width: 22px;
	height: 47px;
}

.bnr-sub .bnr h3 span:before {
	left: -36px;
}

.bnr-sub .bnr h3 span:after {
	right: -36px;
	transform: scaleX(-1);
}

.bnr-sub .bnr h3 img {
	width: auto;
	height: 28px;
}

.bnr-sub .bnr figure {
	margin-bottom: 25px;
}

.bnr-sub .bnr figure img {
	width: 100%;
	height: auto;
}

.bnr-sub .bnr h2,
.bnr-sub .bnr p {
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: justify;
}

.bnr-sub .bnr h2 {
	margin-bottom: 10px;
	color: #E60013;
	font-size: 18px;
	letter-spacing: 0.14em;
}


/* .sec-product
---------------------------------------------------------------------------*/
.sec-product {
	position: relative;
	width: 100%;
	margin-bottom: 125px;
}

.tomato-txt {
	position: absolute;
	top: 65px;
	left: -35px;
	z-index: 1;
}

.tomato-txt .txt {
	position: absolute;
	top: -49px;
	left: 116px;
}

.tomato-txt .tomato {
	display: block;
	width: 124px;
	height: auto;
	transform: rotate(35deg);
}

.sec-product h2 {
	margin-bottom: 42px;
	text-align: center;
}

.sec-product h2 em {
	display: block;
	margin-bottom: 22px;
}

.sec-product .btn-index {
	top: 47px;
	right: 45px;
}

.sec-product .bnr-wrap {
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	width: 100%;
}

.sec-product .bnr a:hover {
	opacity: 0.75;
}

.sec-product .bnr img {
	width: 100%;
	height: auto;
}

.sec-product .inner {
	display: -webkit-box;
	display: flex;
}

.sec-product .inner .bnr:nth-of-type(1) { order: 1;	}
.sec-product .inner .bnr:nth-of-type(2) { order: 3;	}
.sec-product .inner .bnr:nth-of-type(3) { order: 2;	}

.sec-product .bnr-wrap .tomato {
	display: block;
	position: absolute;
	bottom: 35%;
	right: -100px;
	width: 332px;
	margin-top: -115px;
	transform: rotate(-19deg);
}


/* .sec-news
---------------------------------------------------------------------------*/
.sec-news {
	position: relative;
	width: 1110px;
	margin: 0 auto 145px;
}

.sec-news:last-child {
	margin-bottom: 0;
}

.sec-news > h2 {
	margin: 0 0 80px 10px;
}

.sec-news .btn-index {
	top: 30px;
	right: 0;
}

/* .news-list
------------------------------------*/
.news-list {
	width: 100%;
	margin: 0;
}

.news-list article {
	float: left;
	width: 45%;
	margin-top: 65px;
	padding: 0 4px 25px 8px;
}

.news-list article:nth-of-type(1),
.news-list article:nth-of-type(2) {
	margin-top: 0;
}

.news-list article:nth-child(even) {
	float: right;
}

.news-list .inner > div {
	position: absolute;
	top: -30px;
	left: 8px;
}

.news-list figure {
	border-radius: 5px;
	width: 140px;
	min-width: 140px;
	height: 93px;
}

.news-list .inner {
	padding: 0 0 0 25px;
}

.news-list h2 {
	margin: 0 0 2px;
	transform: translateY(-5px);
}

.news-list article.important i {
	top: -38px !important;
	left: -50px;
}


/* .movie-in
---------------------------------------------------------------------------*/
.movie-in {
	width: 1040px;
	height: calc(1040px * 0.5625);
	margin: -10px auto 95px;
}

.onlineshop-category + .movie-in {
	margin-top: 160px;
}

.movie-in iframe {
	width: 100%;
	height: 100%;
}