@charset "UTF-8";

/* default sp
	----------------------------------------------- */
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
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, 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, section, summary, time, mark, audio, video { padding: 0; margin: 0; font: inherit; word-wrap: break-word; border: 0; vertical-align: baseline; outline: none; }
body { padding: 0; margin: 0; color: #1e1e25; font-size: 3.4vw; font-family: var(--gothic); -webkit-text-size-adjust: 100%; font-style: normal; line-height: 1; background: #f9f7f4; }
article, aside, canvas, details, figcaption, figure, header, footer, hgroup, main, menu, nav, section, summary { display: block; }
blockquote, q { quotes: none; }
strong, b { font-weight: bold; }
ul, ol, li { list-style: none; }
table { border-spacing: 0; border-collapse: collapse; }
img, video, object { height: auto; border: none; display: block; }
ins { background: none; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
hr { height: 1px; padding: 0; margin: 1em 0; border: 0; border-top: 1px solid #ccc; display: block; }
*:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
a { color: #1e1e25; text-decoration: none; display: block; cursor: pointer; -moz-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); }
a:hover { opacity: 0.6; }
.clearfix:after { content: ''; display: block; clear: both; }
.pc { display: none; }
.sp { display: block; }

/* font
----------------------------------------------- */
:root { --mincho: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "MS P明朝", serif; --gothic: 游ゴシック体, YuGothic, 'Yu Gothic', "游ゴシック Medium", "Yu Gothic Medium", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; --black: #1e1e25; --white: #f9f7f4; --gray: #b5b4b3; }

/* midashi
----------------------------------------------- */
.midashi01 { margin-bottom: 10vw; }
.midashi01 .en { margin-bottom: 2.5vw; font-size: 7.63vw; font-family: goldenbook; letter-spacing: 1vw; display: block; }
.midashi01 .jp { font-size: 3.42vw; display: block; }
.midashi02 { margin-bottom: 2vw; font-size: 6vw; font-family: "goldenbook"; font-weight: 400; letter-spacing: .04rem; line-height: 2; border-bottom: 1px solid var(--gray); }
.midashi02 span { margin-left: 4vw; display: inline-block; font-size: 50%; }

/* common sp
----------------------------------------------- */
.wrapper { width: 100%; overflow: hidden; z-index: 1; position: relative; }

.pickup-product-items { width: 100%; }
.pickup-product-item a { background: #353439; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; }
.pickup-product-item-image { width: 28%; }
.pickup-product-item-title { width: 72%; padding: 2.5vw 4vw 2vw; color: #fff; position: relative; }
.pickup-product-item-title:after { content: ''; width: 14vw; height: 100%; background: url(../images/arrow01-white.png) no-repeat center; background-size: 2vw; border-left: 1px solid #858487; position: absolute; top: 0; right: 0; }
.pickup-product-item-title .title { margin-bottom: 1vw; font-size: 3.16vw; font-family: goldenbook; letter-spacing: 0.4vw; display: block; }
.pickup-product-item-title .en { margin-bottom: 1vw; font-size: 5vw; font-family: goldenbook; display: block; }
.pickup-product-item-title .jp { font-size: 3.42vw; display: block; }

.fixed-contact { width: 100%; z-index: 11; opacity: 0; visibility: hidden; position: fixed; bottom: 0; left: 0; -moz-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); }
.fixed-contact.active { opacity: 1; visibility: visible; }
.fixed-contact-items { width: 100%; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.fixed-contact-items li { width: 50%; height: 16vw; font-size: 3.16vw; text-align: center; line-height: 1.2; letter-spacing: 0.2vw; position: relative; }
.fixed-contact-items li.documents a { padding-left: 5vw; }
.fixed-contact-items li.documents:after { content: ''; width: 1px; height: calc(100% - 10vw); background: #f9f7f4; position: absolute; top: 50%; right: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.fixed-contact-items li.documents .title { padding-left: 5vw; background: url(../images/icon-documents.png) no-repeat center left; background-size: auto 100%; }
.fixed-contact-items li.mail a { padding-right: 5vw; }
.fixed-contact-items li.mail .title:before { content: '\e910'; margin-right: 1.5vw; font-size: 110%; font-family: 'icon'; }
.fixed-contact-items a { width: 100%; height: 100%; padding-top: 1vw; color: #fff; background: #34333a; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.fixed-contact-items .title { margin: auto; display: inline-block; }

/* header sp
----------------------------------------------- */
.header { width: 100%; height: 16vw; z-index: 10; position: fixed; top: 0; left: 0; }
.header.active { background: rgba(255, 255, 255, 0.6); }

.header-logo { width: 32vw; position: absolute; top: 50%; left: 5vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
.header-logo img { width: 100%; }

.header-navi-button { width: 12vw; height: 8vw; cursor: pointer; z-index: 11; position: absolute; top: 4vw; right: 5vw; -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi-button .line { width: 100%; height: 1px; background: #000; position: absolute; left: 0; -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi-button .line-top { top: 3.2vw; }
.header-navi-button .line-bottom { top: 4.8vw; }

.header-navi { width: 100%; height: 100%; background: #f9f7f4; visibility: hidden; z-index: 10; position: fixed; top: 0; left: 100vw; -moz-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi-inner { width: 100%; height: 100%; overflow-y: auto; -ms-overflow-style: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.header-navi-inner::-webkit-scrollbar { display: none; }
.header-navi-scroll { width: 100%; height: 100%; padding: 4.5vw 0 1px; overflow-y: auto; position: relative; -ms-overflow-style: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.header-navi-scroll::-webkit-scrollbar { display: none; }
.header-navi-content { width: 70vw; margin: auto; }
.header-navi-logo { width: 35vw; margin-bottom: 14vw; }
.header-navi-logo img { width: 100%; }
.header-navi-pickup { width: 100%; padding-bottom: 1px; margin-bottom: 10vw; }
.header-navi-pickup-head { margin-bottom: 5vw; }
.header-navi-pickup-title { margin-bottom: 2.5vw; font-size: 4.74vw; font-family: goldenbook; letter-spacing: 0.6vw; }
.header-navi-pickup-more { padding: 2vw 6vw 2vw 0; margin-left: auto; font-size: 3.16vw; font-family: goldenbook; letter-spacing: 0.2vw; background: url(../images/arrow01.png) no-repeat center right; background-size: 2vw; border-bottom: 1px solid #1e1e25; display: table; }
.header-navi-pickup-items { width: 100%; margin-bottom: 6vw; }
.header-navi-pickup-items .slick-dots { text-align: left; bottom: -6vw; }
.header-navi-pickup-items .slick-dots li { margin: 0 4vw 0 0; }
.header-navi-pickup-item a { background: #353439; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; }
.header-navi-pickup-item-image { width: 28%; }
.header-navi-pickup-item-title { width: 72%; padding: 2.5vw 4vw; color: #fff; position: relative; }
.header-navi-pickup-item-title:after { content: ''; width: 12vw; height: 100%; background: url(../images/arrow01-white.png) no-repeat center; background-size: 2vw; border-left: 1px solid #858487; position: absolute; top: 0; right: 0; }
.header-navi-pickup-item-title .en { margin-bottom: 1vw; font-size: 3.68vw; font-family: goldenbook; display: block; }
.header-navi-pickup-item-title .jp { font-size: 2.89vw; display: block; }

.header-navi-main-box { margin-bottom: 10vw; }
.header-navi-main-title { margin-bottom: 6vw; font-size: 3.95vw; font-family: goldenbook; letter-spacing: 0.6vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.header-navi-main-title:after { content: ''; height: 1px; margin-left: 2.5vw; background: #acabac; flex: 1; }
.header-navi-main-items li { margin-bottom: 5vw; font-size: 3.42vw; }

.header-navi-sub-items { width: 100%; margin: 0 auto 100px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.header-navi-sub-items li { font-size: 3.42vw; }
.header-navi-sub-items li:first-child:before { display: none; }
.header-navi-sub-items li:before { content: '|'; margin: 0 2vw 0 3vw; display: inline-block; }
.header-navi-sub-items a { display: inline-block; }

.animation { opacity: 0; visibility: hidden; -moz-transform: translateY(5px); -ms-transform: translateY(5px); -webkit-transform: translateY(5px); transform: translateY(5px); -moz-transition: all 0.5s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.5s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.5s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.5s cubic-bezier(0.76, 0, 0.24, 1); }

.header-navi-open { width: 100%; height: 100%; position: fixed; }
.header-navi-open .line-top { top: 4vw; -moz-transform: rotate(18deg); -ms-transform: rotate(18deg); -webkit-transform: rotate(18deg); transform: rotate(18deg); }
.header-navi-open .line-bottom { top: 4vw; -moz-transform: rotate(-18deg); -ms-transform: rotate(-18deg); -webkit-transform: rotate(-18deg); transform: rotate(-18deg); }
.header-navi-open .header-navi { visibility: visible; left: 0; }
.header-navi-open .fixed-contact { visibility: visible; opacity: 1; }
.header-navi-open .animation { opacity: 1; visibility: visible; -moz-transform: translateY(0); -ms-transform: translateY(0); -webkit-transform: translateY(0); transform: translateY(0); }
.header-navi-open .animation01 { -moz-transition-delay: 0.3s; -o-transition-delay: 0.3s; -webkit-transition-delay: 0.3s; transition-delay: 0.3s; }
.header-navi-open .animation02 { -moz-transition-delay: 0.4s; -o-transition-delay: 0.4s; -webkit-transition-delay: 0.4s; transition-delay: 0.4s; }
.header-navi-open .animation03 { -moz-transition-delay: 0.5s; -o-transition-delay: 0.5s; -webkit-transition-delay: 0.5s; transition-delay: 0.5s; }
.header-navi-open .animation04 { -moz-transition-delay: 0.6s; -o-transition-delay: 0.6s; -webkit-transition-delay: 0.6s; transition-delay: 0.6s; }
.header-navi-open .animation05 { -moz-transition-delay: 0.7s; -o-transition-delay: 0.7s; -webkit-transition-delay: 0.7s; transition-delay: 0.7s; }
.header-navi-open .animation06 { -moz-transition-delay: 0.8s; -o-transition-delay: 0.8s; -webkit-transition-delay: 0.8s; transition-delay: 0.8s; }
.header-navi-open .animation07 { -moz-transition-delay: 0.9s; -o-transition-delay: 0.9s; -webkit-transition-delay: 0.9s; transition-delay: 0.9s; }
.header-navi-open .animation08 { -moz-transition-delay: 1s; -o-transition-delay: 1s; -webkit-transition-delay: 1s; transition-delay: 1s; }
.header-navi-open .animation09 { -moz-transition-delay: 1.1s; -o-transition-delay: 1.1s; -webkit-transition-delay: 1.1s; transition-delay: 1.1s; }
.header-navi-open .animation10 { -moz-transition-delay: 1.2s; -o-transition-delay: 1.2s; -webkit-transition-delay: 1.2s; transition-delay: 1.2s; }

/* hero sp
----------------------------------------------- */
.hero { width: 100%; position: relative; }

.top-hero-items { width: 100%; }
.top-hero-items .slick-dots { padding: 0 5vw; text-align: left; bottom: 7vw; }
.top-hero-items .slick-dots li { margin: 0 4vw 0 0; }

.top-hero-item { width: 100vw; position: relative; }
.top-hero-item.slick-active .top-hero-item-image .image, .top-hero-item.add-animation .top-hero-item-image .image { animation: zoomOut 10s linear 0s normal both; }

.top-hero-item-image { width: 100%; height: 100vh; overflow: hidden; position: relative; }
.top-hero-item-image .image { width: 100%; height: 100%; -moz-transform: scale(1.2); -ms-transform: scale(1.2); -webkit-transform: scale(1.2); transform: scale(1.2); -moz-transition: all 10s cubic-bezier(0.25, 0.1, 0.25, 0.1); -o-transition: all 10s cubic-bezier(0.25, 0.1, 0.25, 0.1); -webkit-transition: all 10s cubic-bezier(0.25, 0.1, 0.25, 0.1); transition: all 10s cubic-bezier(0.25, 0.1, 0.25, 0.1); }
.top-hero-item-image .image01 {background: url(../images/top-hero-item-image01.jpg) no-repeat top center;background-size: cover;}
.top-hero-item-image .image02 { background: url(../images/top-hero-item-image02.jpg) no-repeat center; background-size: cover; }
.top-hero-item-image .image03 {background: url(../images/top-hero-item-image03.jpg) no-repeat top left;background-size: cover;}

@keyframes zoomOut { 0% { transform: scale(1); }
    100% { transform: scale(1.1); } }
.top-hero-content { width: 90vw; margin: auto; position: relative; }

.top-hero-title { z-index: 1; position: absolute; bottom: 46vw; left: 0; }
.top-hero-title .jp {margin-bottom: 1vw;font-size: 7.26vw;font-family: var(--mincho);line-height: 1.4;display: block;}
.top-hero-title .en { color: #ccc; font-size: 4.74vw; font-family: goldenbook; display: block; }

.top-hero-pickup-product-items { position: absolute; bottom: 14vw; }
.top-hero-pickup-product-items .pickup-product-item a { opacity: 0; overflow: hidden; -moz-transform: translateX(-18vw); -ms-transform: translateX(-18vw); -webkit-transform: translateX(-18vw); transform: translateX(-18vw); -moz-transition: cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.5s; -o-transition: cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.5s; -webkit-transition: cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.5s; transition: cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.5s; }
.top-hero-pickup-product-items .pickup-product-item a:before { content: ''; width: 100%; height: 100%; background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC44Ii8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g'); background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 0.8))); background: -moz-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8)); background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8)); background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8)); z-index: 1; position: absolute; top: 0; right: 0; -moz-transition: cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.5s; -o-transition: cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.5s; -webkit-transition: cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.5s; transition: cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.5s; -moz-transition-delay: 0.4s; -o-transition-delay: 0.4s; -webkit-transition-delay: 0.4s; transition-delay: 0.4s; }
.top-hero-pickup-product-items .slick-list { overflow: visible; }
.top-hero-pickup-product-items .slick-current a { opacity: 1; -moz-transform: translateX(0); -ms-transform: translateX(0); -webkit-transform: translateX(0); transform: translateX(0); }
.top-hero-pickup-product-items .slick-current a:before { right: -100%; }

.hero-scroll { padding-right: 8vw; font-size: 3.42vw; font-family: goldenbook; letter-spacing: 0.2vw; z-index: 1; position: absolute; right: 0; bottom: 6vw; }
.hero-scroll:before { content: ''; width: 4.8vw; height: 4.8vw; border: 1px solid #767676; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; box-sizing: initial; position: absolute; top: -28%; right: 0; opacity: 1; animation:2s circle linear infinite; }
.hero-scroll:after { content: ''; width: 4.8vw; height: 4.8vw; background: url(../images/arrow02.png) no-repeat center; background-size: 1vw; border: 1px solid #6b6b6b; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; box-sizing: initial; position: absolute; top: 50%; right: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }

@keyframes circle { 0% { transform: scale(0); }
    100% { transform: scale(1.6); opacity: 0; } }

.second-hero { height: 60vw; }
.second-hero-content { width: 90vw; height: 100%; margin: auto; position: relative; }
.second-hero-title { width: 100%; z-index: 1; position: absolute; bottom: 16vw; left: 0; }
.second-hero-title .en { margin-bottom: 2.5vw; font-size: 7.63vw; font-family: goldenbook; letter-spacing: 1vw; display: block; }
.second-hero-title .jp { font-size: 3.42vw; display: block; line-height: 1.4; }

/* bread sp
----------------------------------------------- */
.breadcrumb { padding: 3.5vw 0 3vw; background: #35343b; z-index: 1; position: relative; }

.breadcrumb-items { width: 90vw; margin: 0 auto; font-size: 0; }
.breadcrumb-items li { color: #fff; font-size: 3.16vw; position: relative; display: inline-block; }
.breadcrumb-items li:after { content: ""; width: 5vw; height: 1px; margin: 0 2vw 0 1vw; vertical-align: middle; background: #fff; display: inline-block; }
.breadcrumb-items li:last-child:after { display: none; }
.breadcrumb-items a { color: #fff; display: inline-block; }

/* footer sp
----------------------------------------------- */
.footer { width: 100%; padding: 14vw 0 24vw; z-index: 1; position: relative; }

.footer-logo { width: 38vw; margin: 0 auto 10vw; position: relative; }
.footer-logo img { width: 100%; }

.footer-navi { width: 70vw; margin: 0 auto 8vw; }
.footer-navi-box { margin-bottom: 8vw; }
.footer-navi-title { margin-bottom: 4vw; font-size: 3.95vw; font-family: goldenbook; letter-spacing: 0.4vw; position: relative; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.footer-navi-title:after { content: ''; height: 1px; margin-left: 2.5vw; background: #b7b6b6; flex: 1; }
.footer-navi-items { width: 100%; }
.footer-navi-items li { width: 100%; margin-bottom: 4vw; font-size: 3.16vw; line-height: 1.2; position: relative; }

.footer-sub-items { width: 100%; margin: 0 auto; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.footer-sub-items li { font-size: 3.16vw; }
.footer-sub-items li:first-child:before { display: none; }
.footer-sub-items li:before { content: '|'; margin: 0 2vw 0 3vw; display: inline-block; }
.footer-sub-items a { display: inline-block; }

.copyright { width: 100%; font-size: 2.63vw; font-family: goldenbook; text-align: center; letter-spacing: 0.2vw; display: block; }

.pagetop { padding-left: 7.5vw; font-size: 3.42vw; font-family: goldenbook; letter-spacing: 0.2vw; z-index: 1; position: absolute; top: 6vw; right: 5vw; }
.pagetop:before { content: ''; width: 4.8vw; height: 4.8vw; background: url(../images/arrow03.png) no-repeat center; background-size: 1vw; border: 1px solid #1e1e25; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; box-sizing: initial; position: absolute; top: 50%; left: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }

/* second sp
----------------------------------------------- */
.second { z-index: 1; position: relative; }

.second-text { width: 90vw; min-height: 100vw; padding: 8vw 0 14vw; margin: auto; }
.second-text p { margin-bottom: 4vw; font-size: 3.42vw; line-height: 1.8; }

/* =============================================
pc-size
================================================*/
@media screen and (min-width: 736px) { 

body { font-size: 15px; }
.sp { display: none; }
.pc { display: block; }

.midashi01 { margin-bottom: 40px; }
.midashi01 .en { margin-bottom: 15px; font-size: 40px; letter-spacing: 4px; }
.midashi01 .jp { font-size: 15px; letter-spacing: 1px; position: relative; top: -2px; }
.midashi02 { font-size: 35px; margin-bottom: 10px; letter-spacing: 4px; }
.midashi02 span { font-size: 14px; margin-left: 20px; }

/* common pc
----------------------------------------------- */
.pickup-product-items {width: 450px;bottom: 100px;}
.pickup-product-items a { cursor: pointer; }
.pickup-product-item-image { width: 125px; }
.pickup-product-item-title { width: 325px; padding: 5px 20px; }
.pickup-product-item-title:after { width: 80px; background-size: 12px; }
.pickup-product-item-title .title { margin-bottom: 8px; color: var(--gray); font-size: 16px; letter-spacing: 1px; }
.pickup-product-item-title .en { margin-bottom: 5px; font-size: 22px; }
.pickup-product-item-title .jp { font-size: 15px; }
.fixed-contact { width: 70px; top: 50%; right: 0; bottom: auto; left: auto; }
.fixed-contact-items { display: block; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.fixed-contact-items li { width: 100%; height: auto; font-size: 20px; letter-spacing: 1px; -ms-writing-mode: tb-rl; writing-mode: tb-rl; }
.fixed-contact-items li.documents:after { width: 16px; height: 1px; top: auto; right: auto; bottom: 0; left: 50%; -moz-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0); -webkit-transform: translate(-50%, 0); transform: translate(-50%, 0); }
.fixed-contact-items li.documents a { padding: 30px 22px 30px 0; }
.fixed-contact-items li.documents .title { padding: 30px 0 0; background-position: top center; background-size: 16px; }
.fixed-contact-items li.mail a { padding: 30px 22px 30px 0; }
.fixed-contact-items li.mail .title:before { margin: 0 auto 5px; font-size: 100%; }
.fixed-contact-items a { display: block; }

/* header pc
----------------------------------------------- */
.header { height: 100px; }
.header-content { width: 90%; max-width: 1200px; height: 100%; margin: auto; position: relative; }
.header-logo { width: 228px; left: 0; }
.header-navi-button { width: 70px; height: 50px; top: 25px; right: 15px; }
.header-navi-button .line-top { top: 20px; }
.header-navi-button .line-bottom { top: 30px; }
.header-navi-inner { background: url(../images/deco02.png) no-repeat bottom 40px left calc(50% + 510px); background-size: 350px; background-blend-mode: lighten; background-color: rgba(255, 255, 255, 0.6); }
.header-navi-scroll { padding-top: 30px; }
.header-navi-content {width: 90%;max-width: 1100px;}
.header-navi-logo { width: 228px; margin-bottom: 80px; }
.header-navi-pickup { margin-bottom: 50px; }
.header-navi-pickup-head { margin-bottom: 40px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; }
.header-navi-pickup-title { margin: 0; font-size: 26px; letter-spacing: 2px; }
.header-navi-pickup-more { padding: 10px 45px 10px 0; font-size: 18px; letter-spacing: 1px; background: url(../images/arrow01.png) no-repeat center right; background-position: center right 10px; background-size: 12px; }
.header-navi-pickup-more:hover { background-position: center right 0; opacity: 1; }
.header-navi-pickup-items { width: calc(50vw + 560px); margin-bottom: 40px; }
.header-navi-pickup-items .slick-dots { width: 100%; bottom: -35px; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.header-navi-pickup-items .slick-dots li { width: 6px; height: 6px; margin-right: 15px; }
.header-navi-pickup-item { width: 450px; margin: 0 20px; }
.header-navi-pickup-item-image { width: 125px; }
.header-navi-pickup-item-title { width: 325px; padding: 15px 20px; }
.header-navi-pickup-item-title:after { width: 80px; background: url(../images/arrow01-white.png) no-repeat center; background-size: 12px; }
.header-navi-pickup-item-title .en { margin-bottom: 15px; font-size: 20px; }
.header-navi-pickup-item-title .jp { font-size: 15px; }
.header-navi-main { display: -webkit-box;display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;-webkit-justify-content: space-between;justify-content: space-between;-webkit-align-items: flex-start;align-items: flex-start;}
.header-navi-main-box { margin: 0; }
.header-navi-main-box:nth-child(1) {width: 380px;margin-bottom: 50px;}
.header-navi-main-box:nth-child(2) {width: 720px;margin-bottom: 50px;}
.header-navi-main-title { width: 100%; margin-bottom: 25px; font-size: 26px; letter-spacing: 2px; }
.header-navi-main-title:after { display: none; }
.header-navi-main-inner { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; }
.header-navi-main-items li { margin-bottom: 20px; font-size: 16px; }
.header-navi-contact-title { width: 100%; margin-bottom: 20px; font-size: 26px; font-family: goldenbook; letter-spacing: 2px; }
.header-navi-contact-items { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.header-navi-contact-items li { width: 410px; margin: 0 60px 20px 0; border-bottom: 1px solid #868481; }
.header-navi-contact-items li.documents a:before { background: #323648 url(../images/icon-documents.png) no-repeat center; background-size: 16px; }
.header-navi-contact-items li.mail a:before { content: '\e910'; font-size: 20px; font-family: 'icon'; }
.header-navi-contact-items li.tel a:before { content: '\f095'; font-size: 20px; font-family: 'icon'; }
.header-navi-contact-items a { padding: 15px 0; background: url(../images/arrow01.png) no-repeat center right 10px; background-size: 12px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: center; align-items: center; }
.header-navi-contact-items a:hover { background-position: center right 0; background-size: 12px; opacity: 1; }
.header-navi-contact-items a:before { content: ''; width: 38px; height: 38px; margin-right: 10px; color: #fff; background: #323648; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
.header-navi-contact-item-title .jp { margin-bottom: 10px; font-size: 18px; display: block; }
.header-navi-contact-item-title .en { font-size: 15px; font-family: futura-pt; letter-spacing: 2px; display: block; }
.header-navi-open .header-navi { left: 0; }
.header-navi-open .line-top, .header-navi-open .line-bottom { top: 25px; }
.header-navi-open .fixed-contact { visibility: hidden; opacity: 0; }
.header-global-navi { width: 100%; height: 100px; }
.header-global-navi-items { width: 90%; min-width: 960px; height: 100%; margin: auto; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; }
.header-global-navi-items li { width: auto; height: 100%; font-size: 14px; text-align: center; position: relative; }
.header-global-navi-items li.request,.header-global-navi-items li.contact { display: none; }
.header-global-navi-items li:hover a, .header-global-navi-items li.current a { opacity: 1; }
.header-global-navi-items li:hover a:after, .header-global-navi-items li.current a:after { opacity: 1; bottom: 15px; }
.header-global-navi-items li.request a:after, .header-global-navi-items li.contact a:after { background: #fff; }
.header-global-navi-items li.request:after { content: ''; width: 1px; height: calc(100% - 60px); background: #9c9b9c; position: absolute; top: 50%; right: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.header-global-navi-items li.request a { color: #fff; background: #333; }
.header-global-navi-items li.contact a { color: #fff; background: #333; }
.header-global-navi-items a { height: 100%; padding: 36px 27px 0; }
.header-global-navi-items a:after { content: ''; width: 5px; height: 5px; background: #34343a; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; opacity: 0; position: absolute; bottom: 10px; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
.header-global-navi-items .jp { margin-bottom: 5px; display: block; }
.header-global-navi-items .en { font-family: futura-pt; letter-spacing: 2px; display: block; }

/* hero pc
----------------------------------------------- */
.top-hero-items .slick-dots {width: 90%;max-width: 1200px;padding: 0;bottom: 55px;left: 50%;-moz-transform: translateX(-50%);-ms-transform: translateX(-50%);-webkit-transform: translateX(-50%);transform: translateX(-50%);}
.top-hero-items .slick-dots li { width: 8px; height: 8px; margin-right: 20px; }
.top-hero-item-image .image01 { background: url(../images/top-hero-item-image01-pc.jpg) no-repeat center; background-size: cover; }
.top-hero-item-image .image02 { background: url(../images/top-hero-item-image02-pc.jpg) no-repeat center; background-size: cover; }
.top-hero-item-image .image03 { background: url(../images/top-hero-item-image03-pc.jpg) no-repeat center; background-size: cover; }
.top-hero-content { width: 90%; max-width: 1200px; }
.top-hero-title { bottom: 420px; }
.top-hero-title .jp { margin-bottom: 10px; font-size: 40px; }
.top-hero-title .en { font-size: 40px; letter-spacing: 6px; }
.top-hero-pickup-product-items .pickup-product-item a { -moz-transform: translateX(-75px); -ms-transform: translateX(-75px); -webkit-transform: translateX(-75px); transform: translateX(-75px); transition: all .6s; }
.top-hero-pickup-product-items .slick-current a { -moz-transform: translateX(0); -ms-transform: translateX(0); -webkit-transform: translateX(0); transform: translateX(0); }
.hero-scroll { padding-right: 32px; font-size: 15px; letter-spacing: 0; bottom: 50px; right: 10px; }
.hero-scroll:before { width: 20px; height: 20px; }
.hero-scroll:after { width: 20px; height: 20px; background-size: 5px; }
.second-hero { height: 380px; }
.second-hero-content { width: 90%; max-width: 1200px; }
.second-hero-title { bottom: 140px; }
.second-hero-title .en { margin-bottom: 15px; font-size: 48px; letter-spacing: 4px; }
.second-hero-title .jp { font-size: 15px; letter-spacing: 1px; position: relative; top: -2px; }

/* bread pc
----------------------------------------------- */
.breadcrumb { padding: 18px 0 16px; }
.breadcrumb-items { width: 1200px; }
.breadcrumb-items li { font-size: 14px; }
.breadcrumb-items li:after { width: 25px; margin: 0 12px 0 8px; }

/* footer pc
----------------------------------------------- */
.footer { padding: 100px 0 0; }
.footer-logo { width: 230px; margin-bottom: 60px; }
.footer-navi { width: 90%; max-width: 1200px; margin-bottom: 80px; }
.pc-footer-navi-inner { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; }
.pc-footer-navi-box { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; }
.pc-footer-navi-box:nth-child(1) { width: 56%; }
.pc-footer-navi-box:nth-child(2) { width: 38%; }
.pc-footer-navi-title { width: 100%; margin-bottom: 25px; font-size: 20px; font-family: goldenbook; letter-spacing: 2px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.pc-footer-navi-title:after { content: ''; height: 1px; margin-left: 25px; background: #d1cfcd; flex: 1; }
.pc-footer-navi-items li { width: 100%; margin-bottom: 18px; font-size: 14px; position: relative; }
.copyright { padding: 30px 0 25px; color: #fff; font-size: 15px; letter-spacing: 1px; background: #34333b; }
.pagetop { padding-left: 35px; font-size: 15px; letter-spacing: 1px; z-index: 1; top: 120px; right: calc(50% - 550px); }
.pagetop:before { width: 20px; height: 20px; background-size: 5px; }

/* second pc
----------------------------------------------- */
.second-text { width: 90%; max-width: 1200px; min-height: 600px; padding: 60px 0 100px; }
.second-text p { margin-bottom: 30px; font-size: 14px; }

@media screen and (min-width: 1200px) {
.header-global-navi-items { width: 90%; min-width: 1200px; }
.header-global-navi-items li.request,.header-global-navi-items li.contact { display: block; }
}

/* retina用
----------------------------------------------- */ }
@media screen and (min-width: 736px) and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 736px) and (min-resolution: 2dppx) { 
.header-navi-inner {background: url(../images/deco02@2x.png) no-repeat bottom 40px left calc(50% + 510px);background-size: 350px;background-blend-mode: lighten; background-color: rgba(255, 255, 255, 0.6);}
.header-navi-pickup-item-title:after { background: url(../images/arrow01-white@2x.png) no-repeat center; background-size: 12px; }
.header-navi-contact-items li.documents a:before { background: #323648 url(../images/icon-documents@2x.png) no-repeat center; background-size: 16px; }
.header-navi-contact-items a { background: url(../images/arrow01@2x.png) no-repeat center right 10px; background-size: 12px; }
.top-hero-item-image .image01 { background: url(../images/top-hero-item-image01-pc@2x.jpg) no-repeat center; background-size: cover; }
.top-hero-item-image .image02 { background: url(../images/top-hero-item-image02-pc@2x.jpg) no-repeat center; background-size: cover; }
.top-hero-item-image .image03 { background: url(../images/top-hero-item-image03-pc@2x.jpg) no-repeat center; background-size: cover; }
.pickup-product-item-title:after { background: url(../images/arrow01-white@2x.png) no-repeat center; background-size: 12px; }
.hero-scroll:after { background: url(../images/arrow02@2x.png) no-repeat center; background-size: 5px; }
.fixed-contact-items li.documents .title { background: url(../images/icon-documents@2x.png) no-repeat top center; background-size: 16px; }
.pagetop:before { background: url(../images/arrow03@2x.png) no-repeat center; background-size: 5px; } }
