/* BASIC css start */
.drawer-open { overflow: hidden !important; }
.drawer-nav { position: fixed; z-index: 101; top: 0px; overflow: hidden; width: 16.25rem; height: 100%; color: rgb(34, 34, 34); background-color: rgb(255, 255, 255); }
.drawer-brand { font-size: 1.5rem; font-weight: bold; line-height: 3.75rem; display: block; padding-right: 0.75rem; padding-left: 0.75rem; text-decoration: none; color: rgb(34, 34, 34); }
.drawer-menu { margin: 0px; padding: 0px; list-style: none; }
.drawer-menu img { transition: all 0.5s ease 0s; }
.drawer-menu img:hover { opacity: 0.5; }
.drawer-menu-item { font-size: 1rem; display: block; padding: 0.75rem; text-decoration: none; color: rgb(34, 34, 34); }
.drawer-menu-item:hover { text-decoration: underline; color: rgb(85, 85, 85); background-color: transparent; }
.drawer-overlay { position: fixed; z-index: 100; top: 0px; left: 0px; display: none; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.2); }
.drawer-open .drawer-overlay { display: block; }
.drawer--top .drawer-nav { top: -100%; left: 0px; width: 100%; height: auto; max-height: 100%; transition: top 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0s; }
.drawer--top.drawer-open .drawer-nav { top: 0px; }
.drawer--top .drawer-hamburger, .drawer--top.drawer-open .drawer-hamburger { right: 10px; }
.drawer--left .drawer-nav { left: -16.25rem; transition: left 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0s; }
.drawer--left.drawer-open .drawer-nav, .drawer--left .drawer-hamburger, .drawer--left.drawer-open .drawer-navbar .drawer-hamburger { left: 0px; }
.drawer--left.drawer-open .drawer-hamburger { left: 16.25rem; }
.drawer--right .drawer-nav { right: -16.25rem; transition: right 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0s; }
.drawer--right.drawer-open .drawer-nav, .drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-navbar .drawer-hamburger { right: 0px; }
.drawer--right.drawer-open .drawer-hamburger { right: 16.25rem; }
.drawer-hamburger { position: fixed; z-index: 9999; top: 0px; display: block; box-sizing: content-box; width: 2rem; padding: 18px 0.75rem 30px; transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0s; transform: translate3d(0px, 0px, 0px); border: 0px; outline: 0px; background-color: transparent; }
.drawer-hamburger:hover { cursor: pointer; background-color: transparent; }
.drawer-hamburger-icon { position: relative; display: block; margin-top: 10px; }
.drawer-hamburger-icon, .drawer-hamburger-icon::before, .drawer-hamburger-icon::after { width: 100%; height: 1px; transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0s; background-color: rgb(34, 34, 34); }
.drawer-hamburger-icon::before, .drawer-hamburger-icon::after { position: absolute; top: -7px; left: 0px; content: " "; }
.drawer-hamburger-icon::after { top: 7px; }
.drawer-open .drawer-hamburger-icon { background-color: transparent; }
.drawer-open .drawer-hamburger-icon::before, .drawer-open .drawer-hamburger-icon::after { top: 0px; }
.drawer-open .drawer-hamburger-icon::before { transform: rotate(45deg); }
.drawer-open .drawer-hamburger-icon::after { transform: rotate(-45deg); }
.sr-only { position: absolute; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); width: 1px; height: 1px; margin: -1px; padding: 0px; border: 0px; }
.sr-only-focusable:active, .sr-only-focusable:focus { position: static; overflow: visible; clip: auto; width: auto; height: auto; margin: 0px; }
.drawer--sidebar { background-color: rgb(255, 255, 255); }
.drawer--sidebar .drawer-contents { background-color: rgb(255, 255, 255); }
@media (min-width: 64em) {
  .drawer--sidebar .drawer-hamburger { display: none; visibility: hidden; }
  .drawer--sidebar .drawer-nav { display: block; transform: none; position: fixed; width: 12.5rem; height: 100%; }
  .drawer--sidebar.drawer--left .drawer-nav { left: 0px; border-right: 1px solid rgb(221, 221, 221); }
  .drawer--sidebar.drawer--left .drawer-contents { margin-left: 12.5rem; }
  .drawer--sidebar.drawer--right .drawer-nav { right: 0px; border-left: 1px solid rgb(221, 221, 221); }
  .drawer--sidebar.drawer--right .drawer-contents { margin-right: 12.5rem; }
  .drawer--sidebar .drawer-container { max-width: 48rem; }
}
@media (min-width: 75em) {
  .drawer--sidebar .drawer-nav { width: 16.25rem; }
  .drawer--sidebar.drawer--left .drawer-contents { margin-left: 16.25rem; }
  .drawer--sidebar.drawer--right .drawer-contents { margin-right: 16.25rem; }
  .drawer--sidebar .drawer-container { max-width: 60rem; }
}
.drawer--navbarTopGutter { padding-top: 3.75rem; }
.drawer-navbar .drawer-navbar-header { border-bottom: 1px solid rgb(221, 221, 221); background-color: rgb(255, 255, 255); }
.drawer-navbar { z-index: 102; top: 0px; width: 100%; }
.drawer-navbar--fixed { position: fixed; }
.drawer-navbar-header { position: relative; z-index: 102; box-sizing: border-box; width: 100%; height: 3.75rem; padding: 0px 0.75rem; text-align: center; }
.drawer-navbar .drawer-brand { line-height: 3.75rem; display: inline-block; padding-top: 0px; padding-bottom: 0px; text-decoration: none; }
.drawer-navbar .drawer-brand:hover { background-color: transparent; }
.drawer-navbar .drawer-nav { padding-top: 3.75rem; }
.drawer-navbar .drawer-menu { padding-bottom: 7.5rem; }
@media (min-width: 64em) {
  .drawer-navbar { height: 3.75rem; border-bottom: 1px solid rgb(221, 221, 221); background-color: rgb(255, 255, 255); }
  .drawer-navbar .drawer-navbar-header { position: relative; display: block; float: left; width: auto; padding: 0px; border: 0px; }
  .drawer-navbar .drawer-menu--right { float: right; }
  .drawer-navbar .drawer-menu li { float: left; }
  .drawer-navbar .drawer-menu-item { line-height: 3.75rem; padding-top: 0px; padding-bottom: 0px; }
  .drawer-navbar .drawer-hamburger { display: none; }
  .drawer-navbar .drawer-nav { position: relative; left: 0px; overflow: visible; width: auto; height: 3.75rem; padding-top: 0px; transform: translate3d(0px, 0px, 0px); }
  .drawer-navbar .drawer-menu { padding: 0px; }
  .drawer-navbar .drawer-dropdown-menu { position: absolute; width: 16.25rem; border: 1px solid rgb(221, 221, 221); }
  .drawer-navbar .drawer-dropdown-menu-item { padding-left: 0.75rem; }
}
.drawer-dropdown-menu { display: none; box-sizing: border-box; width: 100%; margin: 0px; padding: 0px; background-color: rgb(255, 255, 255); }
.drawer-dropdown-menu > li { width: 100%; list-style: none; }
.drawer-dropdown-menu-item { line-height: 3.75rem; display: block; padding: 0px 0.75rem 0px 1.5rem; text-decoration: none; color: rgb(34, 34, 34); }
.drawer-dropdown-menu-item:hover { text-decoration: underline; color: rgb(85, 85, 85); background-color: transparent; }
.drawer-dropdown.open > .drawer-dropdown-menu { display: block; }
.drawer-dropdown .drawer-caret { display: inline-block; width: 0px; height: 0px; margin-left: 4px; transition: transform 0.2s ease 0s, opacity 0.2s ease 0s, -webkit-transform 0.2s ease 0s; transform: rotate(0deg); vertical-align: middle; border-top: 4px solid; border-right: 4px solid transparent; border-left: 4px solid transparent; }
.drawer-dropdown.open .drawer-caret { transform: rotate(180deg); }
.drawer-container { margin-right: auto; margin-left: auto; }
@media (min-width: 64em) {
  .drawer-container { max-width: 60rem; }
}
@media (min-width: 75em) {
  .drawer-container { max-width: 70rem; }
}
@media screen and (min-width: 769px) {
  .drawer-toggle { display: none; }
  .drawer-nav { position: static; width: 100%; overflow: visible; }
}

@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }
html { font-size: 62.5%; }
body { color: rgb(46, 50, 59); font-family: 游ゴシックOS, "Yu Gothic", YuGothic, "游ゴシック Medium", メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif; line-height: 1.8; animation: 2s ease 0s 1 normal none running fadeIn; }
@media screen and (min-width: 769px) {
  body { min-width: 1024px; }
}
@keyframes fadeIn { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@-webkit-keyframes fadeIn { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
img { max-width: 100%; }
@media screen and (max-width: 768px) {
  html, body { height: auto; }
  img { max-width: 100%; height: auto; }
}
.clear { clear: both; font-size: 1%; line-height: 0; height: 0px; }
.center { text-align: center; }
.right { text-align: right; }
.left { text-align: left; }
.clearfix { width: 100%; }
.clearfix::after { content: ""; display: block; clear: both; }
input, button, select, textarea { font-family: 游ゴシックOS, "Yu Gothic", YuGothic, "游ゴシック Medium", メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif; outline: none; }
a { transition: all 0.3s ease 0s; }
a:link { color: rgb(49, 49, 49); text-decoration: none; }
a:visited { color: rgb(49, 49, 49); text-decoration: none; }
a:hover { color: rgb(174, 8, 51); text-decoration: none; }
a .pic { display: block; }
a .pic img { transition: opacity 0.5s ease 0s; }
a:hover .pic img { opacity: 0.6; }
@media screen and (max-width: 768px) {
  a:hover { transition: none 0s ease 0s !important; }
}
.navskip { display: none; }
h1, h2, h3, h4 { clear: both; font-weight: normal; }
p { margin: 1em 0px; font-size: 1.5rem; }
.large { font-size: 2rem; }
.small { font-size: 1.3rem; }
.txt_deco01 { color: rgb(174, 8, 51); }
.txt_deco02 { color: rgb(153, 153, 153); }
@media screen and (max-width: 767px) {
  html { text-size-adjust: 100%; }
  html { font-size: 58%; }
  p { font-size: 3vw; }
  .small { font-size: 2.5vw; }
}
.container { margin: 0px auto; padding: 0px 50px; width: 100%; }
.text_container { padding: 50px; text-align: center; }
@media screen and (max-width: 768px) {
  .container { box-sizing: border-box; padding-left: 10px !important; padding-right: 10px !important; width: 100% !important; }
  .text_container { margin: 0px auto; padding: 15px 0px; width: 85%; text-align: center; }
}
.container02 { margin: 50px auto; width: 1100px; }
.bg01 > .container02 { margin: 30px auto; }
@media screen and (max-width: 1240px) {
  .container02 { margin: 20px auto; box-sizing: border-box; width: 100% !important; }
}
header a:link, header a:visited { text-decoration: none; }
header { position: relative; margin: 50px auto 0px; padding: 0px 50px; width: 100%; background-color: rgb(255, 255, 255); }
@media screen and (max-width: 1240px) {
  header { margin: 10px auto 0px; padding: 0px 50px 0px 10px; width: 100%; height: 80px; z-index: auto; border-top: none; }
}
@media screen and (max-width: 768px) {
  header { padding: 0px 10px; height: 50px; }
}
#logo { position: absolute; top: 50px; left: 50px; display: inline-block; z-index: 1; margin: 0px; }
#logo img { display: block; margin: 0px auto; width: 290px; height: 180px; }
@media screen and (max-width: 1240px) {
  #logo { width: 220px; }
  #logo img { height: auto; }
}
@media screen and (max-width: 768px) {
  #logo { width: 130px; }
}
#gnav { padding: 15px 0px 30px; text-align: right; }
#gnav nav { margin: 0px auto; width: 100%; }
#gnav nav li { display: inline-block; margin-left: 3em; margin-top:  3em; font-size: 1.8rem; }
#gnav nav li a { display: block; padding: 0.5em 0px; line-height: 1.5; letter-spacing: 0.05em; transition: color 0.3s ease 0s; }
#gnav nav li a::after { content: ""; padding-bottom: 10px; width: 0px; transition: all 0.5s ease 0s; border-bottom: 1px solid rgb(173, 8, 51); display: block; }
#gnav nav li a:hover::after { width: 100%; border-bottom: 1px solid rgb(173, 8, 51); }
#gnav nav li.select a { color: rgb(173, 8, 51); }
#gnav nav li.select a::after { width: 100%; border-bottom: 1px solid rgb(173, 8, 51); }
@media screen and (max-width: 1500px) {
  #gnav nav li { margin-left: 1.5em; font-size: 1.4rem; }
}
@media screen and (max-width: 1200px) {
  #gnav nav li { margin-left: 1.2em; font-size: 1.2rem; }
}
@media screen and (max-width: 768px) {
  #gnav { display: flex; align-items: center; padding: 0px; width: 100%; height: 100vh; }
  #gnav nav { width: 100%; }
  #gnav nav li { position: relative; display: block; margin-left: 0px; width: 100%; text-align: center; font-size: 1.6rem; }
  #gnav nav li a { display: block; padding: 5px 0px; max-width: none; }
  #gnav nav li a::after, #gnav nav li a:hover::after { border-bottom: none; }
  #gnav nav li.select a::after { border-bottom: none; }
}
#contents { position: relative; }
@media screen and (max-width: 768px) {
  #contents { }
}
main.container { padding: 60px 0px 30px; }
@media screen and (max-width: 768px) {
  main.container { padding: 30px 0px 15px; }
}
@media screen and (max-width: 1240px) {
  .company .container02, .contact .container02, .privacy .container02 { width: 90% !important; }
}
.bg01 { margin-top: 60px; padding: 60px 0px; background-color: rgb(245, 245, 245); }
@media screen and (max-width: 768px) {
  .bg01 { margin-top: 30px; padding: 10px 0px; }
}
.boxnav { display: flex; flex-wrap: nowrap; letter-spacing: 0.2em; }
.boxnav h2 { position: relative; margin-bottom: 1.5em; font-size: 2.4rem; color: rgb(174, 8, 51); }
.boxnav h2::after { position: absolute; bottom: -7px; left: 45%; z-index: 2; content: ""; width: 10%; height: 1px; background-color: rgb(174, 8, 51); }
.boxnav_inner { flex: 1 0 0%; margin: 0px auto 10px; cursor: pointer; }
.boxnav_inner .picarea a img { transition: all 0.4s ease 0s; }
.boxnav_inner:hover .picarea a img { opacity: 0.7; }
.boxnav_inner .textarea { margin: -120px auto 0px; padding: 40px 50px; width: 380px; background-color: rgb(255, 255, 255); text-align: center; }
.tips .boxnav_inner .textarea { margin: -80px auto 0px; }
.boxnav_inner .textarea p { text-align: left; }
.boxnav_inner .textarea .text_btn { margin: 2.5em auto 0px; }
@media screen and (max-width: 1160px) {
  .boxnav_inner .textarea, .tips .boxnav_inner .textarea { margin: -50px auto 0px; padding: 20px 20px 25px; width: 80%; }
  .boxnav_inner .textarea .text_btn a { min-width: 100%; }
}
@media screen and (max-width: 768px) {
  .boxnav_inner .textarea, .tips .boxnav_inner .textarea { margin: -50px auto 0px; padding: 5px 20px 25px; width: 90%; }
  .boxnav h2 { margin-top: 1.4em; font-size: 1.6rem; }
  .boxnav_inner .textarea .text_btn a { padding: 5px 25px; font-size: 1.4rem; min-width: 100%; }
}
@media screen and (max-width: 767px) {
  .boxnav { display: block; padding: 10px 0px 0px; }
  .boxnav h2 { font-size: 3.5vw; }
  .boxnav_inner { display: block; margin: 0px auto 15px; width: 100%; }
  .boxnav_inner .picarea a img { width: 100%; }
  .boxnav_inner .textarea { margin: -50px auto 0px; padding: 10px 25px 25px; width: 90%; }
  .boxnav_inner .textarea .text_btn { margin: 1.5em auto 0px; }
}
.item_list ul { display: flex; flex-flow: row wrap; justify-content: space-between; margin: 0px; font-size: 90%; }
.item_list li { position: relative; list-style: none; margin: 1% 0px; }
.item_list li::after { display: none; }
.item_list.col2 li { width: 49%; }
.item_list.col3 li { width: 33.333%; }
.item_list.col4 li { width: 25%; }
.item_list li img { width: 100%; }
@media screen and (max-width: 768px) {
  .item_list ul { margin: 15px 0px 5px; }
  .item_list.col3 li, .item_list.col4 li { width: 49%; }
  .contact_list li:nth-child(1), .contact_list li:nth-child(2) { width: 100%; }
}
#main { margin: 0px 0px 50px; width: 73%; float: right; }
#main p { margin: 20px 0px; }
@media screen and (max-width: 768px) {
  #main { margin: 0px 0px 30px; width: 100%; float: none; }
}
#subnav { position: absolute; top: -50px; right: 50px; z-index: 1; display: inline-block; }
#subnav ul { padding: 30px 35px; background-color: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 2px; }
#subnav li { display: inline-block; margin: 0px 15px; font-size: 1.5rem; }
#subnav li a { display: block; line-height: 1.5; letter-spacing: 0.05em; transition: color 0.3s ease 0s; }
#subnav li a::after { content: ""; padding-bottom: 5px; width: 0px; transition: all 0.5s ease 0s; border-bottom: 1px solid rgb(173, 8, 51); display: block; }
#subnav li a:hover::after { width: 100%; border-bottom: 1px solid rgb(173, 8, 51); }
#subnav li.select a { color: rgb(173, 8, 51); }
#subnav li.select a::after { width: 100%; border-bottom: 1px solid rgb(173, 8, 51); }
@media screen and (max-width: 768px) {
  #subnav { top: -30px; right: auto; width: 100%; text-align: center; }
  #subnav ul { margin: 0px 10px; padding: 25px 5px 15px; }
  #subnav li { margin: 0px 10px; font-size: 1.3rem; }
  #subnav li a::after { padding-bottom: 3px; }
}
#maintitle { letter-spacing: 0.2em; text-align: center; }
#maintitle h1 { position: relative; margin-bottom: 2em; font-size: 3.6rem; }
#maintitle h1::after { position: absolute; bottom: -7px; left: 50%; z-index: 2; content: ""; margin-left: -15px; width: 30px; height: 2px; background-color: rgb(174, 8, 51); }
@media screen and (max-width: 768px) {
  #maintitle { margin-top: 5em; }
  #maintitle h1 { font-size: 5vw; }
}
.ttl { margin-bottom: 1em; font-size: 3.4rem; }
.ttl02 { margin-top: 1.5em; font-size: 2rem; }
.ttl03 { font-size: 1.6rem; }
@media screen and (max-width: 768px) {
  .ttl { font-size: 4.5vw; }
  .ttl02 { font-size: 4vw; }
  .ttl03 { font-size: 3.5vw; }
}
main ul { margin: 15px 0px 15px 35px; font-size: 1.5rem; }
main ul li { position: relative; margin: 0px; }
main ul li::after { display: block; content: ""; position: absolute; top: 0.7em; left: -1em; width: 2px; height: 2px; background-color: rgb(33, 33, 33); border-radius: 100%; }
main ul li ul, main ul li ol, main ol li ul, main ol li ol { margin: 5px 0px 5px 35px; font-size: 100%; }
main ul li ul li::after { width: 4px; height: 4px; background-color: rgb(255, 255, 255); border: 1px solid rgb(121, 142, 204); }
main ol { margin: 15px 0px 15px 35px; font-size: 1.5rem; }
main ol li { margin: 0px; list-style-type: decimal; }
@media screen and (max-width: 767px) {
  main ul, main ol { margin: 15px 0px 15px 20px; font-size: 3vw; }
}
.caption01 { color: rgb(255, 255, 255); font-size: 1.3rem; text-shadow: rgb(33, 33, 33) 1px 1px 5px, rgb(33, 33, 33) -1px 1px 5px, rgb(33, 33, 33) 1px -1px 5px, rgb(33, 33, 33) -1px -1px 5px; }
.caption02 { font-size: 1.3rem; }
.caption_pic { position: relative; }
.caption01, .caption02 { position: absolute; right: 0px; bottom: 0px; padding: 0px 10px; }
.box01 { margin: 20px 0px; padding: 10px 30px; background-color: rgb(255, 255, 255); border: 1px solid rgb(136, 136, 136); }
@media screen and (max-width: 768px) {
  .box01 { margin: 10px 0px; padding: 10px 20px; }
}
.img_right { margin: 0px 0px 20px 40px; float: right; text-align: center; }
.img_right img { display: block; }
.img_left { margin: 0px 40px 20px 0px; float: left; text-align: center; }
.img_left img { display: block; }
@media screen and (max-width: 768px) {
  .img_right, .img_left { margin: 0px 0px 10px; float: none; }
}
.text_btn { margin: 5em auto 0px; }
.text_btn a { display: inline-block; margin: 0px auto; padding: 8px 25px; font-size: 1.5rem; min-width: 260px; background-color: rgb(255, 255, 255); border: 1px solid rgb(33, 33, 33); text-align: center; transition: all 0.3s ease 0s; }
.text_btn a:hover { border: 1px solid rgb(173, 8, 51); text-decoration: none; }
.text_btn.text_btn_clear a { color: rgb(255, 255, 255); background-color: transparent; border: 1px solid rgb(255, 255, 255); }
.text_btn.text_btn_clear a:hover { color: rgb(173, 8, 51); background-color: rgb(255, 255, 255); border: 1px solid rgb(173, 8, 51); text-decoration: none; }
.text_btn02 a { position: relative; display: inline-block; font-size: 1.5rem; }
.text_btn02 a::before, .text_btn02 a::after { position: absolute; top: 15%; right: 0px; bottom: 0px; margin: auto; content: ""; vertical-align: middle; }
.text_btn02 a::before { width: 30px; height: 1px; background: rgb(153, 153, 153); }
.text_btn02 a::after { width: 9px; height: 9px; border-top: 1px solid rgb(153, 153, 153); transform: rotate(45deg); right: 1px; bottom: -1px; }
.text_btn02 a:hover::before { background: rgb(174, 8, 51); transition: all 0.3s ease 0s; }
.text_btn02 a:hover::after { border-top: 1px solid rgb(174, 8, 51); transition: all 0.3s ease 0s; }
.text_btn02 a span { display: block; padding-right: 40px; }
.text_btn03 { margin: 5em auto 0px; }
.text_btn03 a { display: inline-block; margin: 0px auto; padding: 12px 25px; color: rgb(255, 255, 255); font-size: 1.8rem; min-width: 360px; background-color: rgb(173, 8, 51); border: 1px solid rgb(173, 8, 51); text-align: center; transition: all 0.3s ease 0s; }
.text_btn03 a:hover { color: rgb(173, 8, 51); background-color: rgb(255, 255, 255); text-decoration: none; }
.text_btn_catalog { margin: 5em auto 0px; }
.text_btn_catalog a { display: inline-block; margin: 0px auto; padding: 35px 25px; color: rgb(255, 255, 255); min-width: 100%; background-color: rgb(33, 33, 33); border: 1px solid rgb(33, 33, 33); text-align: center; transition: all 0.3s ease 0s; }
.text_btn_catalog a:hover { opacity: 0.7; text-decoration: none; }
.text_btn_catalog a h2 { font-size: 2.8rem; }
.text_btn_catalog a p { margin: 0px; }
@media screen and (max-width: 767px) {
  .text_btn, .text_btn03 { margin: 2.5em auto 0px; }
  .text_btn a, .text_btn03 a { font-size: 3vw; width: 80%; min-width: auto; }
  .text_btn02 a { font-size: 3vw; }
  .text_btn_catalog { margin: 1em auto 0px; }
  .text_btn_catalog a { padding: 20px 10px; }
  .text_btn_catalog a h2 { font-size: 4vw; }
}
a[href^="tel:"] { color: rgb(49, 49, 49); text-decoration: none; cursor: text; }
@media screen and (max-width: 768px) {
  a[href^="tel:"] { cursor: pointer; }
}
@media screen and (max-width: 768px) {
  .br_none { display: none; }
}
table { margin: 10px 0px; font-size: 1.5rem; width: 100%; }
table th, table td { padding: 12px 15px; background-color: rgb(255, 255, 255); border: 1px solid rgb(204, 204, 204); vertical-align: top; z-index: -1; }
table th:first-child, table td:first-child { border-left: none; }
table th:last-child, table td:last-child { border-right: none; }
table th { font-weight: normal; background-color: rgb(238, 238, 238); text-align: left; }
.contacttable { margin-top: 2em; }
@media screen and (max-width: 767px) {
  table:not(.tblNormal), table:not(.tblNormal) thead, table:not(.tblNormal) tbody, table:not(.tblNormal) tr, table:not(.tblNormal) th, table:not(.tblNormal) td { display: block; width: 100%; box-sizing: border-box; }
  table caption { display: block; }
  table { border-bottom: 1px solid rgb(204, 204, 204); }
  table th, table td { padding: 5px; font-size: 90%; border-bottom: none; }
  table th { clear: both; text-align: left; }
  table th:first-child, table td:first-child { border-left: 1px solid rgb(204, 204, 204); }
  table th:last-child, table td:last-child { border-right: 1px solid rgb(204, 204, 204); }
  .contacttable { margin-top: 0px; }
}
#footer { padding-bottom: 60px; font-size: 1.5rem; border-top: 1px solid rgb(229, 229, 229); }
#footer small { display: block; font-size: 1.2rem; text-align: center; }
#footernav { display: flex; justify-content: space-between; padding: 80px 0px; border-bottom: 1px solid rgb(238, 238, 238); }
#footernav .column { width: auto; }
#footernav h2 { font-size: 1.6rem; }
#footernav ul { margin-top: 1.5em; font-size: 1.4rem; }
#footernav ul li { margin-bottom: 5px; }
@media screen and (max-width: 1240px) {
  #footernav .column { width: auto; }
}
@media screen and (max-width: 768px) {
  #footernav { display: block; padding: 25px 0px; text-align: center; }
  #footernav h2 { margin: 5px 0px; }
  #footernav ul { display: none; }
}
@media screen and (max-width: 767px) {
  #footernav h2 { font-size: 3vw; }
}
.logo_footer { margin-top: 60px; text-align: center; }
.logo_footer img { width: 230px; }
.logo_footer address { margin: 30px 0px; font-size: 1.3rem; }
@media screen and (max-width: 768px) {
  .logo_footer { margin-top: 30px; }
  .logo_footer img { width: 130px; }
  .logo_footer address { margin: 20px 0px; font-size: 2.5vw; }
  .logo_footer address .br::before { content: "\a "; white-space: pre; }
}
#pagetop { position: fixed; bottom: 20px; right: 40px; width: 35px; height: 35px; border-top: 1px solid rgb(0, 0, 0); border-right: 1px solid rgb(0, 0, 0); transform: rotate(-45deg); overflow: hidden; }
#pagetop:hover { border-color: rgb(173, 8, 51); transition: all 0.3s ease 0s; }
#pagetop a { display: block; padding-top: 35px; text-decoration: none; }
@media screen and (max-width: 768px) {
  #pagetop { position: fixed; bottom: 20px; right: 20px; width: 25px; height: 25px; }
}
.topblock { letter-spacing: 0.2em; }
.topblock h2 { font-size: 3.6rem; }
.topblock h2 .en { position: relative; display: block; margin-bottom: 2em; color: rgb(174, 8, 51); font-size: 1.8rem; }
.topblock h2 .en::after { position: absolute; bottom: -7px; left: 0px; z-index: 2; content: ""; width: 30px; height: 1px; background-color: rgb(174, 8, 51); }
.topblock h2 .en.large { margin-bottom: 1em; font-size: 5rem; }
.topblock .textarea p { line-height: 2; }
@media screen and (max-width: 768px) {
  .topblock h2 { font-size: 5vw; }
  .topblock h2 .en { margin-bottom: 1.5em; font-size: 3vw; }
  .topblock h2 .en.large { font-size: 6vw; }
  .topblock h2 .en::after { position: absolute; bottom: -7px; left: 48%; z-index: 2; content: ""; width: 4%; height: 1px; background-color: rgb(174, 8, 51); }
}
#mainvisual { overflow: hidden; display: flex; align-items: center; flex-direction: row-reverse; position: relative; }
#mainvisual .picarea { width: 85%; }
#mainvisual .picarea img { width: 100%; }
#mainvisual .textarea { position: absolute; left: 8%; }
@media screen and (max-width: 768px) {
  #mainvisual { display: block; }
  #mainvisual.container { padding-left: 0px !important; padding-right: 0px !important; }
  #mainvisual .picarea { width: 100%; height: 580px; overflow: hidden; }
  #mainvisual .picarea img { position: relative; left: -35%; width: 170%; max-width: none; }
  #mainvisual .textarea { position: static; padding-top: 15px; font-size: 100%; text-align: center; }
}
@media screen and (max-width: 420px) {
  #mainvisual .picarea { height: 250px; }
}
.pickup { margin-top: 60px; padding: 60px 0px; background-color: rgb(245, 245, 245); }
.pickup h2, .pickup .text_btn { text-align: center; }
.pickup h2 .en::after { left: 49%; }
.pickup h3 { font-size: 1.6rem; }
.pickup h3 .en { padding-right: 0.4em; color: rgb(174, 8, 51); font-size: 2.8rem; vertical-align: -2px; }
.pickup_inner { display: flex; justify-content: space-around; align-items: center; margin: 50px auto 30px; width: 890px; }
.pickup_inner + .pickup_inner { flex-direction: row-reverse; }
.pickup_inner .picarea a img { transition: all 0.4s ease 0s; }
.pickup_inner .picarea a:hover img { opacity: 0.7; }
@media screen and (max-width: 768px) {
  .pickup { margin-top: 30px; padding: 30px 0px; }
  .pickup h2 .en::after { left: 46%; }
  .pickup h3 { margin-top: 1.4em; font-size: 3.5vw; }
  .pickup h3 .en { font-size: 4.5vw; }
  .pickup_inner { display: block; margin: 30px auto 20px; width: 80%; }
  .pickup_inner .picarea a img { width: 100%; }
  .pickup_inner .textarea p { line-height: 1.6; }
}
.swiper-container { width: 410px; height: 380px; margin: 0px !important; }
@media screen and (max-width: 768px) {
  .swiper-container, .swiper-container img { width: 100%; height: auto; }
}
.history { display: flex; align-items: center; flex-direction: row-reverse; position: relative; margin-top: 60px; padding: 100px 0px; background: url("../img/top/bg_history.jpg") 0px 0px / 100% no-repeat rgb(35, 33, 31); }
.history .textarea { position: relative; right: 10%; }
.history .textarea h2, .history .textarea p { color: rgb(255, 255, 255); }
@media screen and (max-width: 768px) {
  .history { display: block; margin-top: 10px; padding: 30px 0px; background-position: 40% 0px; background-size: 180%; }
  .history .textarea { position: static; right: auto; margin-top: 120px; text-align: center; }
}
.facebook { padding: 60px 0px; }
.facebook_inner { display: flex; justify-content: space-around; align-items: center; margin: 50px auto 30px; width: 890px; }
.fb_btn { margin: 5em auto 0px; }
.fb_btn a { display: inline-block; margin: 0px auto; padding: 8px 25px; font-size: 1.5rem; min-width: 260px; background: rgb(255, 255, 255); border: 1px solid rgb(33, 33, 33); text-align: center; transition: all 0.3s ease 0s; }
.fb_btn a:hover { border: 1px solid rgb(173, 8, 51); text-decoration: none; }
.fb_btn a .ico_fb { display: inline-block; margin: 0px 5px -3px 0px; width: 1.2em; height: 1.2em; background: url("../img/top/facebook-brands.svg") no-repeat; }
@media screen and (max-width: 768px) {
  .facebook { padding: 30px 0px; }
  .facebook_inner { display: block; margin: 0px auto; width: 80%; }
  .facebook_inner .picarea img { width: 100%; }
  .facebook_inner .textarea { text-align: center; }
  .facebook_inner .textarea p { line-height: 1.6; }
  .fb_btn { margin: 2em auto; }
  .fb_btn a { font-size: 3vw; width: 100%; min-width: auto; }
}
.concept p { font-size: 1.6rem; }
.concept_main img { width: 100%; }
.concept .container { padding: 80px 0px; background-color: rgb(245, 245, 245); text-align: center; }
.concept .container h2 .en::after { left: 49%; width: 2%; }
@media screen and (max-width: 767px) {
  .concept p { padding: 0px 20px; font-size: 3vw; }
  .concept_main { background-attachment: scroll; background-position: 50% 0px; }
  .concept .container { padding: 30px 0px; }
  .concept .container br { display: none; }
}
.heritage01 { display: flex; align-items: center; justify-content: center; flex-direction: row-reverse; padding: 0px 60px; background-color: rgb(4, 0, 4); }
.heritage01 .picarea { position: relative; }
.heritage01 .textarea h2, .heritage01 .textarea p { color: rgb(255, 255, 255); }
.heritage02 { padding: 60px 0px; background: linear-gradient(-90deg, rgb(241, 236, 231) 0%, rgb(220, 210, 200) 40%); }
.heritage02 .container { display: flex; align-items: center; justify-content: center; margin: 0px auto; width: 90%; }
.heritage02 .picarea { position: relative; }
.heritage02 .picarea .caption02 { left: 0px; }
.heritage02 .textarea { width: 50%; }
.heritage03 { padding: 60px 0px; background-color: rgb(245, 245, 245); }
.heritage03 .container { display: flex; align-items: center; justify-content: center; flex-direction: row-reverse; margin: 0px auto; width: 90%; }
.heritage03 .textarea { padding-right: 50px; width: 50%; }
.heritage04 { padding: 60px 0px; }
.heritage04 .container { display: flex; align-items: center; justify-content: center; margin: 0px auto; width: 90%; }
.heritage04 .picarea { position: relative; }
.heritage04 .picarea .caption02 { left: 0px; }
.heritage04 .textarea { padding-left: 50px; width: 50%; }
.heritage05 { display: flex; align-items: center; justify-content: center; flex-direction: row-reverse; padding: 0px 60px; max-height: 700px; background: linear-gradient(90deg, rgb(233, 232, 233) 20%, rgb(173, 172, 179) 50%); overflow: hidden; }
.heritage05 .picarea { position: relative; }
.heritage05 .textarea { margin-right: -100px; }
@media screen and (max-width: 1700px) {
}
@media screen and (max-width: 1500px) {
  .heritage01, .heritage05 { padding: 0px 0px 0px 60px; }
  .heritage01 .textarea, .heritage02 .textarea, .heritage03 .textarea, .heritage04 .textarea, .heritage05 .textarea { width: 60%; }
  .heritage.topblock h2 { font-size: 3rem; }
}
@media screen and (max-width: 1240px) {
  .heritage01 { padding: 30px 0px 30px 5%; }
  .heritage05 { padding: 0px 0px 0px 5%; }
  .heritage02 .container, .heritage03 .container, .heritage04 .container { width: 100%; }
  .heritage01 .textarea, .heritage02 .textarea, .heritage03 .textarea, .heritage04 .textarea, .heritage05 .textarea { width: 80%; }
  .heritage05 .text_btn { margin-top: 2em; }
}
@media screen and (max-width: 768px) {
  .heritage.topblock h2 { font-size: 5vw; }
  .heritage.topblock h2 .en::after { left: 0px; }
  .heritage img { width: 100%; }
  .heritage01, .heritage05 { display: block; background-color: rgb(255, 255, 255); background-image: none; }
  .heritage01 .picarea { width: 100%; overflow: hidden; }
  .heritage05 .picarea { width: 100%; overflow: hidden; background-color: rgb(173, 172, 179); }
  .heritage01 .textarea, .heritage02 .textarea, .heritage03 .textarea, .heritage04 .textarea, .heritage05 .textarea { position: static; margin: 20px auto; padding: 0px; width: 90%; }
  .heritage01 .textarea h2, .heritage01 .textarea p { color: rgb(46, 50, 59); }
  .heritage01 .textarea br, .heritage05 .textarea br { display: none; }
  .heritage01, .heritage02, .heritage03, .heritage04, .heritage05 { padding: 0px 0px 20px; max-height: none; background: rgb(255, 255, 255); }
  .heritage02 .container, .heritage03 .container, .heritage04 .container { display: block; padding: 0px !important; }
  .heritage05 .text_btn { text-align: center; }
}
@media screen and (max-width: 420px) {
  #mainvisual .picarea { height: 250px; }
}
.pickupproduct { position: relative; margin-top: 60px; padding: 100px 0px; background: url("../img/products/bg_pickup.jpg") 100% 50% no-repeat rgb(243, 243, 245); }
.pickupproduct .textarea { position: relative; left: 8%; display: inline-block; }
.pickupproduct .textarea h2 { font-size: 2.8rem; }
.pickupproduct .textarea h2 .en_l { margin-right: 0.5em; color: rgb(174, 8, 51); font-size: 3.8rem; }
.caption_box { margin: 60px auto 0px; padding: 25px 30px; width: 940px; }
.caption_box p { font-size: 1.4rem; }
.product_list { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 60px auto 0px; width: 940px; }
.product_list li { margin-bottom: 3em; width: 47%; }
.product_list li::after { display: none; }
.product_list li h3 { margin-top: 1em; color: rgb(174, 8, 51); font-size: 1.8rem; }
.product_list li p { margin-top: 0.5em; }
.product_list li img { width: 100%; }
@media screen and (max-width: 1240px) {
  .pickupproduct { background-position: 20% 0px; }
  .pickupproduct .textarea { left: 0px; }
}
@media screen and (max-width: 768px) {
  .pickupproduct { margin-top: 30px; padding: 20px 0px; background-position: 70% 0px; background-size: auto 250px; }
  .pickupproduct .textarea { position: static; display: block; margin: 250px auto 0px; width: 90%; text-align: center; }
  .caption_box { margin: 30px auto 0px; padding: 15px 20px; width: 90%; }
  .product_list { margin: 30px auto 0px; width: 90%; }
}
@media screen and (max-width: 767px) {
  .pickupproduct .textarea h2 { font-size: 5vw; }
  .pickupproduct .textarea h2 .en_l { margin-right: 0px; color: rgb(174, 8, 51); font-size: 5vw; }
  .pickupproduct .textarea h2 .en_l::after { content: "\a "; white-space: pre; }
  .pickupproduct .textarea br { display: none; }
  .caption_box p { font-size: 3vw; }
  .product_list li { margin-bottom: 1.5em; width: 100%; }
}
.catalog { margin-top: 60px; padding: 60px 0px; background-color: rgb(245, 245, 245); }
.catalog_inner { display: flex; justify-content: space-around; align-items: center; flex-direction: row-reverse; margin: 50px auto 30px; width: 1240px; }
.catalog_inner .picarea a img { transition: all 0.4s ease 0s; }
.catalog_inner .picarea a:hover img { opacity: 0.7; }
@media screen and (max-width: 1240px) {
  .catalog_inner { margin: 30px auto 20px; width: 90%; }
  .catalog_inner .picarea { padding-left: 20px; width: 50%; }
}
@media screen and (max-width: 768px) {
  .catalog { margin-top: 30px; padding: 30px 0px; }
  .catalog_inner { display: block; margin: 30px auto 20px; width: 80%; }
  .catalog_inner .picarea { padding-left: 0px; width: 100%; }
  .catalog_inner .picarea a img { width: 100%; }
  .catalog_inner .textarea p { line-height: 1.6; }
  .catalog.topblock h2 { margin-top: 1em; text-align: center; }
  .catalog .text_btn03 a { width: 100%; }
}
.type_main { position: relative; }
.type_main img { width: 100%; }
.type_main .caption01 { position: absolute; right: 50px; bottom: 0px; padding: 2px 7px; }
.type .bg01 { margin-top: 0px; }
@media screen and (max-width: 768px) {
  .type_main .caption01 { right: 10px; bottom: -1em; }
}
.itembox { display: flex; justify-content: space-between; }
.itembox .textarea { flex: 1 1 0%; margin-right: 50px; }
.itembox .picarea { width: 350px; }
.itembox .picarea img { margin-top: 15px; }
@media screen and (max-width: 1240px) {
  .material .container02 { width: 90% !important; }
}
@media screen and (max-width: 769px) {
  .material .container02 { width: 100% !important; }
}
@media screen and (max-width: 768px) {
  .itembox { display: block; margin: 0px auto; width: 90%; }
  .itembox .textarea { margin-right: 0px; }
  .material .textarea h2 { text-align: center; }
  .itembox .picarea { width: 100%; }
  .itembox .picarea img { width: 100%; }
}
.accordionbox { margin: 2.5em auto 1.5em; border-top: 1px solid rgb(204, 204, 204); border-bottom: 1px solid rgb(204, 204, 204); }
.accordionlist dt { display: block; padding: 10px 0px 10px 5px; border-top: 1px solid rgb(204, 204, 204); cursor: pointer; }
.accordionlist dt:first-child { border-top: none !important; }
main .accordionlist > dd > ul { margin-top: 5px; }
.accordionlist dt .ttl02 { margin: 0px; padding-left: 10px; font-size: 1.6rem; float: left; }
.accordionlist dd { display: none; padding: 0px 0px 20px 15px; }
.accordion_icon, .accordion_icon span { display: inline-block; transition: all 0.4s ease 0s; box-sizing: border-box; }
.accordion_icon { position: relative; margin: 5px 5px 0px 0px; width: 25px; height: 25px; float: right; }
.accordion_icon span { position: absolute; left: 6px; width: 50%; height: 2px; background-color: rgb(174, 8, 51); border-radius: 4px; }
.accordion_icon span:nth-of-type(1) { top: 5px; transform: rotate(0deg); }
.accordion_icon span:nth-of-type(2) { top: 5px; transform: rotate(90deg); }
.accordion_icon.active span:nth-of-type(1) { display: none; }
.accordion_icon.active span:nth-of-type(2) { top: 5px; transform: rotate(180deg); }
@media screen and (max-width: 1240px) {
  .finish .container02 { width: 90% !important; }
}
@media screen and (max-width: 769px) {
  .finish .container02 { width: 100% !important; }
}
@media screen and (max-width: 768px) {
  .accordionlist dt { padding: 10px 0px 10px 5px; }
  .finish .textarea h2 { text-align: center; }
}
@media screen and (max-width: 767px) {
  .accordionlist dt .ttl02 { font-size: 3.5vw; }
}
.gmap { margin-top: 20px; height: 520px; border: 10px solid rgb(255, 255, 255); }
.gmap iframe { width: 100%; }
@media screen and (max-width: 768px) {
  .gmap { height: 320px; }
  .gmap iframe { width: 100%; height: 300px; }
}
input[type="button"], input[type="submit"] { appearance: none; }
form input[type="text"], form input[type="email"], form textarea { padding: 5px 10px; font-size: 16px; width: 100%; background: rgb(255, 255, 255); border: 1px solid rgb(213, 213, 213); }
form input#zip { margin-right: 10px; width: 35%; }
form input#zip + input[type="button"] { padding: 5px 10px; color: rgb(255, 255, 255); background-color: rgb(49, 49, 49); border: none; }
form input#age { margin-right: 10px; width: 25%; }
form select { padding: 4px; font-size: 16px; background: rgb(255, 255, 255); border: 1px solid rgb(213, 213, 213); }
form input[type="radio"] { display: none; }
form label.radiobtn { position: relative; display: inline-block; padding: 3px 15px 3px 27px; font-size: 16px; cursor: pointer; }
form label.radiobtn::before { position: absolute; content: ""; top: 50%; left: 0px; width: 18px; height: 18px; margin-top: -10px; background: rgb(255, 255, 255); border: 1px solid rgb(187, 187, 187); border-radius: 100%; }
form input[type="radio"]:checked + label.radiobtn::after { position: absolute; content: ""; top: 50%; left: 5px; width: 10px; height: 10px; margin-top: -5px; background: rgb(174, 8, 51); border-radius: 100%; }
.attention { display: inline-block; padding: 3px; color: rgb(255, 255, 255); font-size: 1.2rem; line-height: 1; float: right; background-color: rgb(174, 8, 51); text-align: center; border-radius: 3px; }
.submit_area { margin: 30px 0px; text-align: center; }
.submit_area .contact_btn { display: flex; justify-content: center; align-items: center; flex-direction: row-reverse; margin: 0px; }
.submit_area .contact_btn li { margin: 15px 0px 0px; }
main .submit_area .contact_btn li::after { display: none; }
.submit_area .contact_btn input { margin: 0px auto; padding: 12px 20px; color: rgb(255, 255, 255); font-size: 1.6rem; min-width: 400px; background-color: rgb(174, 8, 51); border: 1px solid rgb(174, 8, 51); transition: all 0.3s ease 0s; }
.contact_btn input:hover { color: rgb(174, 8, 51); background-color: rgb(255, 255, 255); text-decoration: none; }
.contact_btn .btn_back input { margin-right: 10px; padding: 10px 30px; color: rgb(49, 49, 49); background-color: rgb(255, 255, 255); border: 1px solid rgb(187, 187, 187); }
.contact_btn .btn_back input:hover { color: rgb(174, 8, 51); background-color: rgb(255, 255, 255); }
.text_link a { text-decoration: underline; }
@media screen and (max-width: 768px) {
  #actionform { padding-top: 1px; }
  .attention { margin-left: 5px; float: none; }
  .submit_area { margin: 15px 0px; }
  .submit_area .contact_btn { display: block; }
  .submit_area .contact_btn input { font-size: 3vw; min-width: 90%; }
  .submit_area .text_link a::before { content: "\a "; white-space: pre; }
  .contact_btn .btn_back input { margin: 0px; }
}
.privacy h2 { margin-bottom: 1em; font-size: 2.5rem; text-align: center; }
.privacy ol { margin-top: 2em; }
.privacy ol li { margin-bottom: 0.5em; }
.privacy ol + h2 { margin-top: 2em; }
@media screen and (max-width: 768px) {
  .privacy h2 { margin-bottom: 1em; padding-top: 1em; font-size: 4vw; }
  .privacy ol + h2 { margin-top: 0px; }
}
.box404 { text-align: center; }
@media screen and (max-width: 768px) {
  .box404 { margin: 25px auto; text-align: left; width: 90% !important; }
  .box404 .text_btn a { width: 100%; }
}
.mt0 { margin-top: 0px; }
.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt50 { margin-top: 50px; }
.mb0 { margin-bottom: 0px !important; }
.mb5 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }
.mt2em { margin-top: 2em; }
.mt2_5em { margin-top: 2.5em; }
.mt3em { margin-top: 3em; }
.mt4_5em { margin-top: 4.5em; }
.mt5em { margin-top: 5em; }
.mb3em { margin-bottom: 3em; }
@media screen and (max-width: 768px) {
  .mb50 { margin-bottom: 20px; }
}
.w100 { width: 100px; }
.w200 { width: 200px; }
@media print {
  body { width: 1024px; }
  #logo { top: -30px; left: 0px; width: 220px; }
  #logo img { height: auto; }
  #gnav { display: none; }
  .container02 { margin: 0px auto; width: 90%; }
  .boxnav_inner .textarea, .tips .boxnav_inner .textarea { margin: -50px auto 0px; padding: 20px 20px 25px; width: 80%; }
  .boxnav_inner .textarea .text_btn a { min-width: 100%; }
  .heritage .container { width: 100%; }
  .heritage .textarea { width: 100%; }
  .heritage01, .heritage05 { padding-top: 50px; padding-bottom: 50px; }
  .heritage01 .textarea br, .heritage05 .textarea br { display: none; }
  #footernav .column { width: auto; }
}

---리셋----

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 100%; font-style: normal; vertical-align: baseline; background: transparent; }
sup, sub { height: 0px; line-height: 1; vertical-align: baseline; position: relative; }
sup { bottom: 1ex; }
sub { top: 0.5ex; }
body { line-height: 1; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; }
ul, ol { list-style: none; }
blockquote, q { quotes: none; }
blockquote::before, blockquote::after, q::before, q::after { content: none; }
a { margin: 0px; padding: 0px; font-size: 100%; vertical-align: baseline; background: transparent; }
ins { background-color: rgb(255, 255, 153); color: rgb(0, 0, 0); text-decoration: none; }
mark { background-color: rgb(255, 255, 153); color: rgb(0, 0, 0); font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0px; }
hr { display: block; height: 1px; border-width: 1px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; border-top-style: solid; border-top-color: rgb(204, 204, 204); margin: 1em 0px; padding: 0px; }
input, select { vertical-align: middle; }
img { vertical-align: bottom; font-size: 0px; }
label, input[type="button"], input[type="submit"], button { cursor: pointer; }
* { box-sizing: border-box; }


================

/* 메인 비쥬얼 배너 */
/*
mainvisual
---------------------------------------------------------*/

/*컨테이너 배너 실험*/
#mainvisual {
    overflow: hidden;
	display: flex;
	align-items: right;
	flex-direction: row-reverse;
	position: relative;
}
	#mainvisual .picarea {
		width: 85%;
        align-items: right;
        position: relative; top: 4px;
       
	}
		#mainvisual .picarea img {
		width: 97%;  
        align-items: right;
        position:relative;
		}
	#mainvisual .textarea {
		position: absolute;
		left: 8%;
        top: 32%;
        font-size: 16px;   
        line-height: 28px;
} 
        #mainvisual.picarea{


	}
.preview{opacity:0%;}
.h_title{ }
.prd-price{opacity:0%;}
.topblock container{
        position: center;  
@font-face {
  font-family: Noto sans CJK; //필수 폰트명 설정
  src: url(http://fonts.googleapis.com/earlyaccess/notosanskr.css);
  font-weight : bold//폰트 css설정 가능
}}

#contentWrapper .item-cont { font-size: 2em; text-align: center; position: center; }
#contentWrapper .item-wrap mt-60 pb-50 {width:400px;}

/* BASIC css end */

