/* common.scss */
.mode_sp { display: none !important; }

@media (min-width: 1500px) { .mode_sp { display: none !important; } }

@media (max-width: 1200px) { .mode_sp { display: none !important; } }

@media (max-width: 768px) { .mode_sp { display: block !important; } }

@media (max-width: 414px) { .mode_sp { display: block !important; } }

@media (max-width: 768px) { .mode_pc { display: none !important; } }

@media (max-width: 414px) { .mode_pc { display: none !important; } }

/** Reset **/
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td { margin: 0; padding: 0; border: 0; font-weight: 300; font-feature-settings: "palt"; vertical-align: baseline; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

article, header, footer, aside, figure, figcaption, nav, section { display: block; }

html { font-size: 62.5%; }

@media (max-width: 1200px) { html { font-size: 56.75%; } }

@media (max-width: 768px) { html { font-size: 43.75%; } }

html, body { -webkit-font-smoothing: antialiased; font-variant-ligatures: none; height: 100%; margin: 0; padding: 0; }

body { color: #5f4532; line-height: 1; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-family: "Noto Sans JP", sans-serif; font-size: 1.6rem; letter-spacing: 2px; background: #fdd901; }

ol, ul { list-style: none; list-style-type: none; }

img { max-width: 100%; }

a, a:active { text-decoration: none; color: #000; }

input, button, textarea, select { font-family: inherit; font-size: inherit; color: inherit; vertical-align: middle; margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

.js-hidden { display: none; }

.js-opening { overflow: hidden; }

.btn { width: 100%; max-width: 250px; height: 5.5rem; margin: 0 auto; padding: 0; font-size: 1.8rem; color: #da461d; display: flex; justify-content: center; align-items: center; text-align: center; line-height: 1.2; text-align: center; box-sizing: border-box; transition: all .2s ease-in-out; opacity: 1; background: #fff; border-radius: 100vh; }

@media (max-width: 768px) { .btn { width: 65%; } }

.btn span { font-family: "Suez One", serif; }

.btn a { width: 100%; height: 100%; display: block; background: #da461d; color: #fff; border-radius: 100vh; display: flex; justify-content: center; align-items: center; position: relative; }

.btn a:after { width: .8rem; height: .8rem; content: ""; display: block; position: absolute; top: 50%; right: 2rem; margin-top: -5px; border-top: solid 1px #fff; border-right: solid 1px #fff; -webkit-transform: translateX(-5%) rotate(45deg); -ms-transform: translateX(-5%) rotate(45deg); transform: translateX(-5%) rotate(45deg); }

.content_ttl { font-size: 4.4rem; font-family: "Suez One", serif; color: #da461d; margin-bottom: 8rem; line-height: 1; }

@media (max-width: 768px) { .content_ttl { font-size: 3.2rem; margin-bottom: 5rem; } }

.loading { width: 100%; height: 100vh; position: fixed; top: 0; left: 0; z-index: 3; background: #fdd901; }

.loading .js-op-parts { width: 78%; margin: 0 auto; /*transform: translate3d(-1.8%, -2.7%, 0px);*/ position: absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); -webkit-transform: translateY(-50%) translateX(-50%); }

@media (max-width: 768px) { .loading .js-op-parts { width: 157%; margin: 8% auto 0; top: 43%; left: 47%; } }

@media (max-width: 414px) { .loading .js-op-parts { width: 143%; margin: 3% auto 0; top: 43.5%; left: 47.5%; } }

.nav_trigger { width: 22px; height: 15px; cursor: pointer; transition: all 0.4s; position: absolute; top: 28px; right: 13px; z-index: 3; }

.nav_trigger .hamburger { position: absolute; top: 15%; left: 50%; width: 100%; height: 100%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

.nav_trigger .hamburger .line { position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin-top: 0; -ms-transform: translate(0, 0%); -webkit-transform: translate3d(0, 0%, 0); transform: translate3d(0, 0%, 0); -webkit-transition: width 222ms cubic-bezier(0.215, 0.61, 0.355, 1) 444ms, margin-top 222ms cubic-bezier(0.215, 0.61, 0.355, 1) 222ms, -webkit-transform 222ms cubic-bezier(0.215, 0.61, 0.355, 1) 222ms; transition: width 222ms cubic-bezier(0.215, 0.61, 0.355, 1) 444ms, margin-top 222ms cubic-bezier(0.215, 0.61, 0.355, 1) 222ms, transform 222ms cubic-bezier(0.215, 0.61, 0.355, 1) 222ms; }

.nav_trigger .hamburger .line:nth-of-type(2) { -ms-transform: translate(0, 50%); -webkit-transform: translate3d(0, 50%, 0); transform: translate3d(0, 50%, 0); visibility: visible; -webkit-transition: visibility linear 222ms; transition: visibility linear 222ms; }

.nav_trigger .hamburger .line:nth-child(3) { -ms-transform: translate(0, 100%); -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); }

.nav_trigger .hamburger .line span { position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: #da461d; -ms-transform: rotate(0deg); -webkit-transform: rotate(0deg) translate3d(0, 0, 0); transform: rotate(0deg) translate3d(0, 0, 0); -webkit-transition: -webkit-transform 222ms cubic-bezier(0.215, 0.61, 0.355, 1); transition: transform 222ms cubic-bezier(0.215, 0.61, 0.355, 1); }

.js-open { overflow: hidden; }

.js-open .l_header .global_nav_list { transform: translate(0, 0); }

.js-open .nav_trigger { z-index: 3; }

.js-open .nav_trigger .hamburger .line { width: 100%; -ms-transform: translate(0, 50%); -webkit-transform: translate3d(0, 50%, 0); transform: translate3d(0, 50%, 0); -webkit-transition: width 222ms cubic-bezier(0.215, 0.61, 0.355, 1), margin-top 222ms cubic-bezier(0.215, 0.61, 0.355, 1) 222ms, -webkit-transform 222ms cubic-bezier(0.215, 0.61, 0.355, 1) 222ms; transition: width 222ms cubic-bezier(0.215, 0.61, 0.355, 1), margin-top 222ms cubic-bezier(0.215, 0.61, 0.355, 1) 222ms, transform 222ms cubic-bezier(0.215, 0.61, 0.355, 1) 222ms; }

.js-open .nav_trigger .hamburger .line span { -webkit-transition: -webkit-transform 222ms cubic-bezier(0.215, 0.61, 0.355, 1) 444ms; transition: transform 222ms cubic-bezier(0.215, 0.61, 0.355, 1) 444ms; }

.js-open .nav_trigger .hamburger .line:nth-child(1) span { -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg) translate3d(0, 0, 0); transform: rotate(45deg) translate3d(0, 0, 0); }

.js-open .nav_trigger .hamburger .line:nth-child(2) span { visibility: hidden; -webkit-transition: visibility linear 444ms; transition: visibility linear 444ms; }

.js-open .nav_trigger .hamburger .line:nth-child(3) span { -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg) translate3d(0, 0, 0); transform: rotate(-45deg) translate3d(0, 0, 0); }

.l_container { text-align: center; margin: 0 auto; position: relative; }

.l_header { /* width: 40%; max-width: 625px; */ width: 50%; max-width: 700px; position: absolute; top: 2rem; right: 2rem; z-index: 5; opacity: 0; }

@media (max-width: 768px) { .l_header { width: 100%; max-width: none; height: 7rem; position: fixed; background: #fff; top: 0; left: 0; } }

@media (max-width: 768px) { .l_header .header_title { text-align: left; font-size: 2rem; padding: 2.4rem 0 0 2rem; } }

@media (max-width: 768px) { .l_header .global_nav_list { height: 100vh; width: 100%; background: #fdd901; transform: translate(100%, 0); transition: all 0.4s; position: fixed; top: 0; right: 0; } }

.l_header ul { width: 100%; background: #fff; border-radius: 100vh; display: flex; justify-content: space-between; align-items: center; }

@media (max-width: 768px) { .l_header ul { width: 80%; margin: 10rem auto 0; flex-direction: column; border-radius: 3rem; } }

.l_header ul li { width: 25%; position: relative; }

@media (max-width: 768px) { .l_header ul li { width: 84%; margin: 0 auto; } }

.l_header ul li:not(:last-child):after { width: 1px; height: 38%; background: #fdd901; display: block; content: ""; position: absolute; top: 32%; right: 0; }

@media (max-width: 768px) { .l_header ul li:not(:last-child):after { width: 100%; height: 1px; top: auto; bottom: 0; right: auto; } }

.l_header ul li a { display: block; width: 100%; padding: 1.5rem 0; color: #000; font-family: "Suez One", serif; }

@media (max-width: 768px) { .l_header ul li a { font-size: 2.5rem; padding: 4.5rem 0; } }

.l_content { overflow: hidden; }

@media (max-width: 768px) { .l_content { padding-top: 7rem; } }

.l_content .mv { width: 100%; height: 100%; min-height: 100vh; position: relative; }

@media (max-width: 768px) { .l_content .mv { height: calc(82% - 7rem); min-height: calc(80vh - 7rem); } }

.l_content .mv .mv_inner { height: 100%; display: flex; justify-content: center; align-items: center; }

.l_content .mv .mv_inner #logo { opacity: 0; }

.l_content .mv .mv_inner .mv_parts { width: 100%; position: absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); -webkit-transform: translateY(-50%) translateX(-50%); z-index: 1; opacity: 0; }

@media (max-width: 768px) { .l_content .mv .mv_inner .mv_parts { top: 56%; } }

@media (max-width: 414px) { .l_content .mv .mv_inner .mv_parts { top: 50%; } }

.l_content .mv .mv_inner .mv_parts img { max-width: none; width: 100%; }

.l_content .mv .mv_inner h1 { width: 78%; position: absolute; display: flex; flex-direction: column; top: 50%; align-items: center; justify-content: center; left: 50%; transform: translateY(-50%) translateX(-50%); -webkit-transform: translateY(-50%) translateX(-50%); }

@media (max-width: 768px) { .l_content .mv .mv_inner h1 { width: 157%; margin: 15% auto 0; top: 43%; left: 47%; } }

@media (max-width: 414px) { .l_content .mv .mv_inner h1 { width: 143%; margin: 8% auto 0; top: 43.5%; left: 47.5%; } }

.l_content .mv .mv_inner h1 img { width: 100%; /*padding-top: 23%;*/ }

@media (max-width: 768px) { .l_content .mv .mv_inner h1 img { max-width: none; } }

.l_content .mv .mv_inner .scroll_parts { width: 4%; max-width: 58px; position: absolute; right: 2rem; bottom: 2rem; z-index: 4; opacity: 0; }

.l_content .content_item { margin: 0 auto; padding: 0 1rem; }

.l_content .content_item.news { padding: 18% 1rem 10%; background: #da461d; }

@media (max-width: 768px) { .l_content .content_item.news { margin: 0 auto; padding: 23% 1rem 16%; } }

@media (max-width: 414px) { .l_content .content_item.news { margin: 0 auto; padding: 16% 1rem; } }

.l_content .content_item.news .content_ttl { color: #fff; }

.l_content .content_item.news .img { padding-right: 10%; }

.l_content .content_item.news .text { text-align: center; color: #fff; }

.l_content .content_item.news .text dt { font-size: 2.2rem; font-weight: 600; margin-bottom: 7.5rem; }

@media (max-width: 768px) { .l_content .content_item.news .text dt { font-size: 1.9rem; margin-bottom: 5rem; } }

.l_content .content_item.news .text dd { line-height: 1.5; letter-spacing: 1px; }

.l_content .content_item.news .text dd span { font-size: 2.2rem; font-weight: 600; }

@media (max-width: 768px) { .l_content .content_item.news .img { width: 50%; padding-right: 3%; } }

@media (max-width: 414px) { .l_content .content_item.news .img { width: 100%; padding-right: 0; order: 2; }
  .l_content .content_item.news .text { width: 100%; order: 1; margin: 0 auto 2rem; }
  .l_content .content_item.news .text dt { text-align: center; }
  .l_content .content_item.news .text dd { text-align: center; } }

.l_content .content_item.concept { padding: 17% 1rem; position: relative; }

@media (max-width: 768px) { .l_content .content_item.concept { margin: 0 auto; padding: 13% 1rem 16%; }
  .l_content .content_item.concept .content_ttl { text-align: center; } }

.l_content .content_item.concept:before { display: block; content: ""; width: 100%; height: 100%; background: url("/assets/img/bg_parts_up.png") no-repeat center; background-size: cover; position: absolute; bottom: -38%; left: 0; z-index: -1; }

@media (max-width: 768px) { .l_content .content_item.concept:before { background: url("/assets/img/bg_parts_up_sp.png") no-repeat center; background-size: cover; height: 24%; bottom: 2%; } }

@media (max-width: 414px) { .l_content .content_item.concept:before { height: 14%; bottom: 2%; } }

.l_content .content_item.concept .text { max-width: 1080px; text-align: left; margin: 0 auto; color: #5f4532; font-size: 2.4rem; line-height: 2; letter-spacing: 1px; }

@media (max-width: 768px) { .l_content .content_item.concept .text { text-align: center; font-size: 2rem; margin-bottom: 2rem; } }

.l_content .content_item.concept .img { position: absolute; width: 50%; top: -6%; right: 4%; }

@media (max-width: 768px) { .l_content .content_item.concept .img { position: relative; width: 52%; top: auto; right: auto; margin: 0 auto; } }

@media (max-width: 414px) { .l_content .content_item.concept .img { position: relative; width: 100%; top: auto; right: auto; } }

.l_content .content_item.shopinfo { margin: 0 auto; padding: 0 1rem 17%; position: relative; }

@media (max-width: 768px) { .l_content .content_item.shopinfo { padding: 13% 1rem 17%; } }

.l_content .content_item.shopinfo:before { display: block; content: ""; width: 100%; height: 100%; background: url("/assets/img/bg_parts_down.png") no-repeat; background-size: cover; position: absolute; bottom: -27%; left: 0; z-index: -1; }

@media (max-width: 768px) { .l_content .content_item.shopinfo:before { background: url("/assets/img/bg_parts_down_sp.png") no-repeat center; background-size: cover; height: 13%; bottom: -2%; } }

@media (max-width: 414px) { .l_content .content_item.shopinfo:before { background: url("/assets/img/bg_parts_down_sp.png") no-repeat center; background-size: contain; bottom: -2%; } }

.l_content .content_item.shopinfo .shopinfo_inner { width: 100%; max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; }

@media (max-width: 768px) { .l_content .content_item.shopinfo .shopinfo_inner { flex-direction: column; } }

.l_content .content_item.shopinfo .shopinfo_inner .shopinfo_item { width: 33%; display: flex; flex-direction: column; }

@media (max-width: 768px) { .l_content .content_item.shopinfo .shopinfo_inner .shopinfo_item { width: 73%; margin: 0 auto 7.5rem; } }

.l_content .content_item.shopinfo .shopinfo_inner .shopinfo_item .img { margin-bottom: 4rem; }

.l_content .content_item.shopinfo .shopinfo_inner .shopinfo_item dl { flex-grow: 1; padding-bottom: 4rem; }

.l_content .content_item.shopinfo .shopinfo_inner .shopinfo_item dt { font-size: 2.2rem; font-weight: 600; margin-bottom: 2rem; }

@media (max-width: 768px) { .l_content .content_item.shopinfo .shopinfo_inner .shopinfo_item dt { font-size: 2rem; } }

.l_content .content_item.shopinfo .shopinfo_inner .shopinfo_item dd { line-height: 1.8; text-align: left; padding: 0 2rem; }

@media (max-width: 768px) { .l_content .content_item.shopinfo .shopinfo_inner .shopinfo_item dd { font-size: 1rem; letter-spacing: 1px; } }

.l_content .content_item.sns { margin: 0 auto; padding: 0 1rem 13%; }

@media (max-width: 768px) { .l_content .content_item.sns { padding: 0 1rem 23%; } }

.l_content .content_item.sns .sns_inner ul { display: flex; justify-content: center; align-items: center; }

.l_content .content_item.sns .sns_inner ul li { width: 54px; margin: 0 3rem; }

@media (max-width: 768px) { .l_content .content_item.sns .sns_inner ul li { width: 40px; } }

.l_content .content_item.sns .sns_inner ul li.icon_fb img { width: 50%; }

.l_footer { background: #da461d; padding: 2.5rem 0; }

.l_footer p { font-family: "Suez One", serif; font-size: 1.2rem; letter-spacing: 0; color: #fff; }

@media (max-width: 414px) { .l_footer p { font-size: 1.2rem; } }

.l_footer .float_bnr { width: 30%; max-width: 400px; position: fixed; right: 0; bottom: 0; z-index: 4; -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); transition: -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); opacity: 0; }

@media (max-width: 768px) { .l_footer .float_bnr { width: 100%; max-width: inherit; right: auto; } }

.l_footer .float_bnr.hide { -webkit-transform: translate(100%, 0); -ms-transform: translate(100%, 0); transform: translate(100%, 0); }

@media (max-width: 768px) { .l_footer .float_bnr.hide { -webkit-transform: translate(0, 100%); -ms-transform: translate(0, 100%); transform: translate(0, 100%); } }
