@charset "utf-8";

/* font */
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC&display=swap');
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');

/* reset */
* { padding: 0; margin: 0; box-sizing: border-box; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }
address, caption, cite, code, dfn, em, var { font-style: normal; font-weight: normal; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
q:before, q:after { content: ''; }
abbr, acronym { border: 0; }
section, article { display: block; }
input, button, textarea, select, table, td, th { font-family: inherit; }

/* iOS reset */
input[type=text] { border:none; -webkit-border-radius : 0; -webkit-appearance : none; -webkit-tap-highlight-color : rgba(0,0,0,0); }
input[type="submit"],
input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer; }
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration { display: none; }
input[type="submit"]::focus,input[type="button"]::focus { outline-offset: -2px; }
select { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; outline: none; background: transparent; }
button,input[type="submit"] { color: #333; -webkit-appearance: none; -moz-appearance: none; appearance: none; padding: 0; border: none; outline: none; background: transparent; }
input[type="radio"] { display: none; }
input[type="radio"]:checked + label { background: #ff0000; }

/* base */
html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { animation: fadeIn 1s ease 0s 1 normal; -webkit-animation: fadeIn 1s ease 0s 1 normal;
  -webkit-font-smoothing: auto; -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt'; word-wrap : break-word; overflow-wrap : break-word; font-kerning: normal; -webkit-font-kerning: normal;
  font-family: YakuHanMP,'Zen Old Mincho', serif; text-align: center; letter-spacing: 0.05em;
  box-sizing: border-box; background-color: #FFF; color: #333; padding: 0; margin: 0; }
html[lang="zh"] body { font-family: YakuHanMP, 'Noto Serif TC', serif; }
html[lang="en"] body { font-family: "EB Garamond", serif; }
img { vertical-align: bottom; height: auto; width: 100%; }
::selection { background: #333; color: #FFF; }
::-moz-selection { background: #333; }

/* iOS */
input[type="submit"],input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer; }
input[type="submit"]::-webkit-search-decoration,input[type="button"]::-webkit-search-decoration { display: none; }
input[type="submit"]::focus,input[type="button"]::focus { outline-offset: -2px; }
select { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; outline: none; background: transparent; }
button,input[type="submit"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; padding: 0; border: none; outline: none; background: transparent; }
input[type="radio"] { display: none; }
input[type="radio"]:checked + label { background: #ff0000; }

/* link */
a:link, a:visited, a:active { color: #333; text-decoration: none; word-break: break-all !important; }
a:hover { color: #333; text-decoration: none; transition: color 0.05s linear; -webkit-transition: color 0.05s linear; transition: border-color 0.05s linear; -webkit-transition: border-color 0.05s linear; transition: background-color 0.05s linear; -webkit-transition: background-color 0.05s linear; }
a:link img { transition: 0.2s linear; }
a:hover img { -webkit-filter: brightness(105%); -moz-filter: brightness(105%); -o-filter: brightness(105%); -ms-filter: brightness(105%); filter: brightness(105%); }
a[href="#"]{ color: #dddddd; }

/* clear */
.clear { clear: both; }
.cbox { zoom: 100%; }
.cbox:after { content: ""; clear: both; height: 0; display: block; visibility: hidden; }

/* options */
.r { border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; overflow: hidden; }
.rl { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
.tb { -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; font-feature-settings : "palt"; }
.pc { display:block; }
.sp { display:none; }
.pcbr { display:block; }
.spbr { display:inline; }
.pc_inline { display:inline; }
.sp_inline { display:none; }
.sp_menu { display:none; }

/* flex */
.flex { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.fill { object-fit: cover; }

/* common */
.l2 { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: stretch; }
.l2 .li { width: 48%; margin: 0 4% 3rem 0; }
.l2 .li.fit img { object-fit: cover; font-family: 'object-fit: cover;'; width:100%; height:100%; }
.l2 .li.li_2_3 { width: 60%; }
.l2 .li.li_1_3 { width: 35%; }
.l2 .li:nth-child(2n) { margin-right: 0; }
.l2 .li:nth-child(2n+1) { clear: both; }
.l2 .li:nth-last-child(-n+2) { margin-bottom: 0; }
.l3 { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; }
.l3 .li { width: 30%; margin: 0 5% 4rem 0; }
.l3 .li:nth-child(3n) { margin-right: 0; }
.l3 .li:nth-child(3n+1) { clear: both; }
.l3 .li:nth-last-child(-n+3) { margin-bottom: 0; }
.l3n { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; }
.l3n .li { width: 33.333%; margin: 0 0 0 0; }
.l3n .li:nth-child(3n+1) { clear: both; }
.l4 { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; }
.l4 .li { width: 22%; margin: 0 4% 3rem 0; }
.l4 .li:nth-child(4n) { margin-right: 0; }
.l4 .li:nth-child(4n+1) { clear: both; }
.l4 .li.fix { height:15em; }
.l4s { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.l4s .li { width: 22%; margin: 0 0 3rem 0; }
.li.fix img { object-fit: cover; font-family: 'object-fit: cover;'; width:100%; height:100%; }
.no_trim { height:auto !important; }
.no_trim img { object-fit: contain !important; }

/* fadein */
.fadein { opacity : 0; transform: translateY(0); transition: all 0.6s; }
@keyframes fadeIn { 0% { opacity: 0 } 100% { opacity: 1 } }
@-webkit-keyframes fadeIn { 0% { opacity: 0 } 100% { opacity: 1 } }

/* youtube */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/* wrapper */
#wrapper { padding:0 0; min-width:1024px; }

/* header */
#header .header_head .header_head_title { mix-blend-mode: multiply; position: fixed; z-index: -1; bottom:2.5vw; left:2.6vw; font-size: 1.6em; line-height: 1; }
.page-template-home #header .header_head .header_head_title { top:auto; bottom:2.5rem; left:3rem; }
#header .header_logo { position: fixed; z-index: 2; top:1.75rem; right:2.5vw; width:15%; z-index: 777; }
#header .header_gnav { mix-blend-mode: multiply; position: fixed; z-index: 2; top:2.5rem; left:6.5rem; }
#header .header_gnav ul { margin:0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-end; }
#header .header_gnav ul li { width:1.9rem; margin:0 1.9rem 0 0; position: relative; }
#header .header_gnav ul li .cart_count { position: absolute; top:0; right:-3.5em; background-color: #eee; color:#333; border-radius: 50%; font-size: 1em; line-height: 2em; width:2em; text-align: center; }
#header .header_gnav ul li:hover .cart_count { background-color: #333; color:#fff; }
#header .header_badge { width:7.5%; position: absolute; top:7.5em; right:1.5em; z-index: 77; }

.lang_nav { position: fixed; top:3.5vw; right:20vw; mix-blend-mode: multiply; }
.lang_nav ul { display: flex; align-items: center; }
.lang_nav li { font-size: 1.2rem; line-height: 1em; border-right:solid 1px #ddd; }
.lang_nav li:last-child { border-right:none; }
.lang_nav li a { color:#ddd; display:block; padding:0 1em; }
html[lang="ja"] .lang_nav li.lang_nav--ja a,
html[lang="zh"] .lang_nav li.lang_nav--zh a,
html[lang="en"] .lang_nav li.lang_nav--en a,
.lang_nav li a:hover { color: #333; }

/* drawer */
.sp_gnav { text-align: left; padding:6rem 2rem 0 2rem; }
.sp_gnav .sp_gnav_li { border-bottom:solid 1px #ddd; }
.sp_gnav .sp_gnav_li > a { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; padding:1.25em 0; font-size: 1.1em; line-height: 1;  }
.sp_gnav .sp_gnav_li > a span { font-size: 1em; line-height: 1; display: flex; align-items: center; gap:0 0.5em; }
.sp_gnav .sp_gnav_li > a span small { font-size: 0.7em; line-height: 1; }
.sp_gnav .sp_gnav_li > a i { font-size: 1.3em; line-height: 1;  }
.sp_gnav .sp_gnav_li > button { width:100%; cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; align-items: center; padding:1.5em 0; font-size: 1.1em; letter-spacing: 0.1em; line-height: 1;  }
.sp_gnav .sp_gnav_li > button .sp_gnav_li_title { width: 100%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.sp_gnav .sp_gnav_li > button .sp_gnav_li_mark { width: 100%; padding:0 0 0 0; }
.sp_gnav .sp_gnav_li .sp_gnav--ja { font-size: 1.2em; }
.sp_gnav .sp_gnav_li .sp_gnav--zh { font-size: 1.2em; }
.sp_gnav .sp_gnav_li .sp_gnav--en { font-size: 1.2em; }
.sp_gnav .sp_gnav_li .sp_gnav--sub { display: flex; justify-content: space-between; }
.sp_gnav .sp_gnav_li .sp_gnav--sub.is-open { padding:0 0 2em 0; }
.sp_gnav .sp_gnav_li .sp_gnav--sub ul > li > a,
.sp_gnav .sp_gnav_li .sp_gnav--sub ul > li > span { text-align: left; display:block; line-height: 0; opacity: 0; visibility: hidden; transition: padding-top .2s ease-out, padding-bottom .2s ease-out; }
.sp_gnav .sp_gnav_li .sp_gnav--sub .sp_gnav--lang--en { border-left:solid 1px #ddd; width:45%; }
.sp_gnav .sp_gnav_li .sp_gnav--sub .sp_gnav--lang--en ul > li > a,
.sp_gnav .sp_gnav_li .sp_gnav--sub .sp_gnav--lang--en ul > li > span { text-align: right; }
.sp_gnav .sp_gnav_li .sp_gnav--sub.is-open ul li > a,
.sp_gnav .sp_gnav_li .sp_gnav--sub.is-open ul li > span { padding:0.5em 0; font-size: 1.1em; line-height: 1; opacity: 1; visibility: visible; transition: padding-top .2s ease-out, padding-bottom .2s ease-out; }
.sp_gnav .sp_gnav_li .sp_gnav--sub ul li > a { color: #aaa; }
.sp_gnav .sp_gnav_li .sp_gnav--sub ul li > a:hover { color:#333; }

/* main */
#main { width:85%; margin:auto; padding:0 0 0 0;  }
.page-template-home #main { width:100%; margin:auto; padding:0; }

#main .main_head .main_head_title .main_head_title--ja { position: fixed; z-index: -1; bottom:2.5vw; right:3vw; font-size: 1.6em; line-height: 1; }
#main .main_head .main_head_title .main_head_title--zh { position: fixed; z-index: -1; bottom:2.5vw; right:3vw;; font-size: 1.6em; line-height: 1; }
#main .main_head .main_head_title .main_head_title--en { position: fixed; z-index: 2; top:2.5vw; left:15vw; font-size: 1.6em; line-height: 1; }
.onlinestore #main .main_head .main_head_title .main_head_title--en { left: 15vw; }

#main .top_main { height:100vh; }
#main .top_main img { object-fit: contain; width:100%; height:100%; }
#main .top_main.top_main_cover img { object-fit: cover; width:100%; height:100%; }
#main .enter_btn { position: fixed; width:4rem; right:2rem; bottom:2rem; }

#main .photo_full.photo_top { margin:8rem 0 8rem 0; }
#main .photo_full { margin:8rem 0; }

#main .txt { width:50%; margin:3rem auto 3rem auto; display: flex; justify-content: space-between; }
#main .txt.txt_top { margin:10rem auto 5rem auto; }
#main .txt.txt_last { margin:5rem auto 15rem auto; }
#main .txt .txt_title { margin:0 auto 0 auto; display: flex; flex-direction: column; justify-content:center; align-items: center; }
#main .txt .txt_title .txt_title--ja { font-size: 2.2em; line-height: 1; letter-spacing: 0.15em; text-align: center; margin:0 0 0 0; }
#main .txt .txt_title .txt_title--zh { font-size: 2.2em; line-height: 1; letter-spacing: 0.15em; text-align: center; margin:0 0 0 0; }
#main .txt .txt_title .txt_title--en { font-size: 2.2em; line-height: 1; text-align: center; margin:0 0 0 0; }
#main .txt .txt--ja { width: 100%; }
#main .txt .txt--ja p { font-size: 1.4em; line-height: 2; text-align: justify; margin:0 0 1.5em 0; }
#main .txt .txt--zh { width: 100%; }
#main .txt .txt--zh p { font-size: 1.4em; line-height: 2; text-align: justify; margin:0 0 1.5em 0; }
#main .txt .txt--en { width: 100%; }
#main .txt .txt--en p { font-size: 1.4em; line-height: 1.7; text-align: left; margin:0 0 0.75em 0; }
#main .txt p:last-child { margin:0 0 0 0;  }
#main .txt p.cap { font-size: 1.1em; line-height: 2; text-align: justify; margin:0 0 1.5em 0; }
#main .txt p.links { margin:2em 0 2em 0; }
#main .txt p.links a { background-color: #333; color:#fff; text-align: center; padding:1em; display:block; }
#main .txt p.links a:hover { background-color: #eee; color:#333; }

#main .news { width:100%; margin:7rem auto 5rem auto; background-color: #eee; padding:7rem; }
#main .news h2 { margin:0 0 4rem 0; display: flex; flex-direction: column; }
#main .news h2 .news_h2--ja { font-size: 2em; line-height: 1.5; margin:0 0 0.5em 0; }
#main .news h2 .news_h2--zh { font-size: 2em; line-height: 1.5; margin:0 0 0.5em 0; }
#main .news h2 .news_h2--en { font-size: 2em; line-height: 1.5; }
#main .news .news_cover { width:50%; margin:5rem auto; background-color: #fff; }
#main .news .news_sub { width:100%; margin:3rem auto 0 auto; border-top: solid 1px #ccc; }
#main .news .news_sub img { margin: 3rem auto 0 auto; }
#main .news .news_txt { display:flex; justify-content: space-between; flex-wrap: wrap; padding: 0 0 5rem 0; margin:0 auto 5rem auto; border-bottom:solid 1px #ccc; }
#main .news .news_txt .news_txt--ja { width:45%; }
#main .news .news_txt .news_txt--ja p { font-size: 1.3em; line-height: 1.8; text-align: justify; margin:0 0 1.5em 0; }
#main .news .news_txt .news_txt--zh { width:45%; }
#main .news .news_txt .news_txt--zh p { font-size: 1.3em; line-height: 1.8; text-align: justify; margin:0 0 1.5em 0; }
#main .news .news_txt .news_txt--en { width:45%; }
#main .news .news_txt .news_txt--en p { font-size: 1.3em; line-height: 1.7; text-align: left; margin:0 0 1.5em 0; }
#main .news .news_txt .news_txt--en .news_h2--en--att { display:block; font-size: 0.9em; text-align: right; margin-top:2em; }
#main .news .news_txt p a { text-decoration: underline; }
#main .news .news_txt table { width:100%; border-top: solid 1px #ccc; margin:3rem auto; }
#main .news .news_txt table th,
#main .news .news_txt table td { border-bottom:solid 1px #ccc; padding:1em 0; }
#main .news .news_nav { margin:0 0 0 0; }
#main .news .news_nav ul { display: flex; justify-content: flex-start; flex-wrap: wrap; }
#main .news .news_nav ul li { width:27%; margin:0 9.5% 5rem 0; }
#main .news .news_nav ul li:nth-child(3n) { margin:0 0 5rem 0; }
#main .news .news_nav ul li .news_nav--thumb { margin: 0 0 1.5em 0; background-color: #fff; aspect-ratio: 3/4; }
#main .news .news_nav ul li .news_nav--thumb img { object-fit: cover; width:100%; height:100%; }
#main .news .news_nav ul li .news_nav--title { color:#333; text-align: left; display: flex; flex-direction: column; }
#main .news .news_nav ul li .news_nav--title .news_nav--title--ja { font-size: 1.2em; line-height: 1.6; margin:0 0 0.5em 0; }
#main .news .news_nav ul li .news_nav--title .news_nav--title--zh { font-size: 1.2em; line-height: 1.6; margin:0 0 0.5em 0; }
#main .news .news_nav ul li .news_nav--title .news_nav--title--en { font-size: 1em; line-height: 1.6; margin:0 0 1em 0; }
#main .news .news_nav ul li .news_nav--time { width:100%; font-size: 0.8em; line-height: 1.6; text-align: left; }

/* wp-pagenavi */
.wp-pagenavi { width:100%; display: flex; justify-content: center; align-items: center; margin:0 auto 0 auto; font-size: 1rem; line-height: 1em;}
.wp-pagenavi .pages { font-size: 1rem; padding:0 0.75em; }
.wp-pagenavi .current,
.wp-pagenavi .page,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink { font-size: 1rem; text-align: center; width:3em; line-height: 3em; background-color: #ffffff; margin:0.25em; }
.wp-pagenavi .current,
.wp-pagenavi .page:hover,
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover { background-color: #333; color:#fff; }

#main .news .news_list { width:100%; }
#main .news .news_list li { margin:0 0 1em 0; }
#main .news .news_list li a { width:100%; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; }
#main .news .news_list li time { font-size: 1em; line-height: 1.5; width:20%; text-align: left; }
#main .news .news_list li span { font-size: 1.2em; line-height: 1.5; width:80%; text-align: left; }

#main .head { width:50%; margin:0 auto 8rem auto; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; }
#main .head .head_title { width:22%; font-size: 1.8em; line-height: 1; margin:0; }
#main .head .head--ja { width:100%; }
#main .head .head--ja p { font-size: 1.4em; line-height: 2; text-align: justify; }
#main .head .head--zh { width:100%; }
#main .head .head--zh p { font-size: 1.4em; line-height: 2; text-align: justify; }
#main .head .head--en { width: 100%; }
#main .head .head--en p { font-size: 1.3em; line-height: 1.7; text-align: left; }

#main .note { width:70%; margin:12rem auto 0 auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .note:last-child { margin:6rem auto 6rem auto; }
#main .note .note_txt { width:45%; }
#main .note .note_txt h2 { font-size: 1.2em; line-height: 1; margin:0 0 3em 0; text-align: center; border-left:solid 1px #333; border-right:solid 1px #333; padding:0 0 0 0; }
#main .note .note_txt p {font-size: 1.2em; line-height: 1.8; text-align: justify; }
#main .note .note_txt--zh { width:45%; }
#main .note .note_txt--zh h2 { font-size: 1.2em; line-height: 1; margin:0 0 3em 0; text-align: center; border-left:solid 1px #333; border-right:solid 1px #333; padding:0 0 0 0; }
#main .note .note_txt--zh p {font-size: 1.2em; line-height: 1.8; text-align: justify; }
#main .note .note_txt--zh .note_txt--zh--att { display:block; font-size: 0.75em; text-align: right; margin-top:2em; }
#main .note .note_txt--en { width:45%; }
#main .note .note_txt--en h2 { font-size: 1.2em; line-height: 1; margin:0 0 3em 0; text-align: center; border-left:solid 1px #333; border-right:solid 1px #333; padding:0 0 0 0; }
#main .note .note_txt--en p {font-size: 1.2em; line-height: 1.6; text-align: left; }
#main .note .note_txt--en .note_txt--en--att { display:block; font-size: 0.75em; text-align: right; margin-top:2em; }
#main .note figure { width:55%; margin:0 -10% 0 0; }
#main .note:nth-child(even) { flex-direction: row-reverse; }
#main .note:nth-child(even) figure { width:55%; margin:0 0 0 -10%; }

#main .contact { padding:0 0 5rem 0; }
#main .contact .contact_form { width:70%; border-top:solid 1px #333; padding:5rem 0 0 0; margin:5rem auto 0 auto; }
#main .contact .contact_form dl { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .contact .contact_form dl dt { width:30%; text-align: right; border:none; display: flex; flex-direction: column; }
#main .contact .contact_form dl dt .contact_form--ja { font-size: 1.3em; line-height: 1.2; margin:0 0 0.5em 0; }
#main .contact .contact_form dl dt .contact_form--zh { font-size: 1.3em; line-height: 1.2; margin:0 0 0.5em 0; }
#main .contact .contact_form dl dt .contact_form--en { font-size: 1em; line-height: 1.2; }
#main .contact .contact_form dl dd { width:65%; padding:1em 0; border:none; text-align: left; }
#main .contact .contact_form dl dd input[type="text"],
#main .contact .contact_form dl dd input[type="email"],
#main .contact .contact_form dl dd input[type="tel"] { width:100% !important; background-color: #eee !important; border:none !important; padding:0.75em 0.75em; font-size: 1.4em; line-height: 1.5; }
#main .contact .contact_form dl dd textarea { width:100% !important; height:20em !important; border:none; background-color: #eee; padding:0.5em 0.75em; font-size: 1.4em; line-height: 1.8; }
#main .contact .contact_form dl dd ul { }
#main .contact .contact_form dl dd li { font-size: 1.2em; line-height: 1.2; margin:1em auto; display:flex; align-items: center; }
#main .contact .contact_form dl dd li input[type="radio"] { display:block; background-color: #eee; border:solid 1px #eee; margin-right:1.5em; }
#main .contact .contact_form .contact_form_pp { background-color: #eee; padding:1.5em 0.5em; font-size: 1.1em; line-height: 1.6; margin: 2em auto; }
#main .contact .contact_form .contact_form_pp .contact_form_pp--ex { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; }
#main .contact .contact_form .contact_form_pp .contact_form_pp--ex input { margin-right:1.5em; }
#main .contact .contact_form .contact_form_pp .contact_form_pp--ex a { text-decoration: underline; }
#main .contact .contact_form .contact_form_pp .contact_form_pp--ex label { text-align: left; }
#main .contact .contact_form .contact_form_pp .contact_form_pp--ex .mfp_err { width:100%; margin-top:0.5em; text-align: center; }
#main .contact .contact_form .contact_form_submit button[type="submit"] { cursor:pointer; width:100% !important; display:block; background-color: #333; color:#fff; margin:2em 0 0 0; padding:1em 0.75em; font-size: 1.4em; line-height: 1; }
#main .contact .contact_form .contact_form_submit button[type="submit"]:hover { background-color: #eee; color:#333; }

#main .contact .contact_form #mfp_phase_confirm_inner h4 { color:#333; font-size: 1.4em; line-height: 1; letter-spacing: 0.15em; text-align: center; margin:0 0 2em 0; background-color:#eee; padding:1em; }
#main .contact .contact_form #mfp_phase_confirm_inner table { width:100%; }
#main .contact .contact_form #mfp_phase_confirm_inner table th { width:35%; text-align:right; font-size: 1.3em; line-height: 1.8; padding:0 2em 1em 0; color:#333; font-weight: normal; }
#main .contact .contact_form #mfp_phase_confirm_inner table td { width:65%; text-align:left; font-size: 1.3em; line-height: 1.8; padding:0 0 1em 0; }
#main .contact .contact_form #mfp_phase_confirm_inner .mfp_buttons #mfp_button_send { cursor:pointer; width:100%; background-color:#333; color:#eee; padding:1em 0.75em; font-size: 1.4em; line-height: 1; letter-spacing: 0.05em; margin:2em 0 1em 0; }
#main .contact .contact_form #mfp_phase_confirm_inner .mfp_buttons #mfp_button_send:hover { background-color:#eee; color:#333; }
#main .contact .contact_form #mfp_phase_confirm_inner .mfp_buttons #mfp_button_cancel { cursor:pointer; color:#333; padding:1em 0.75em; font-size: 1.4em; line-height: 1; letter-spacing: 0.05em; }
#main .contact .contact_form #mfp_phase_confirm_inner .mfp_buttons #mfp_button_cancel:hover { color:#333; }

#main .contact .other { width:50%; margin:3rem auto 3rem auto; display:flex; flex-wrap: wrap; justify-content: space-between; }
#main .contact .other.privacypolicy { padding-top:8rem; }
#main .contact .other a { text-decoration: underline; }
#main .contact .other h3 { width:100%;  margin:0 0 4rem 0; display:flex; flex-direction: column; }
#main .contact .other h3 .other_h3--ja { font-size: 1.8em; line-height: 1; margin:0 auto 1em auto; }
#main .contact .other h3 .other_h3--zh { font-size: 1.8em; line-height: 1; margin:0 auto 1em auto; }
#main .contact .other h3 .other_h3--en { font-size: 1.8em; line-height: 1; }
#main .contact .other h4 { font-size: 1.6em; line-height: 1; margin: 2em auto 1em auto; }
#main .contact .other .other--ja { width: 100%; text-align: left; }
#main .contact .other .other--ja p { font-size: 1.3em; line-height: 2; margin:0 0 3em 0; }
#main .contact .other .other--ja dl { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .contact .other .other--ja dl dt { width:25%; padding:0.25em 0; font-size: 1.3em; line-height: 1.6; }
#main .contact .other .other--ja dl dd { width:75%; padding:0.25em 0; font-size: 1.3em; line-height: 1.6; }
#main .contact .other .other--zh { width: 100%; text-align: left; }
#main .contact .other .other--zh p { font-size: 1.3em; line-height: 2; margin:0 0 3em 0; }
#main .contact .other .other--zh dl { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .contact .other .other--zh dl dt { width:25%; padding:0.25em 0; font-size: 1.3em; line-height: 1.6; }
#main .contact .other .other--zh dl dd { width:75%; padding:0.25em 0; font-size: 1.3em; line-height: 1.6; }
#main .contact .other .other--en { width: 100%; text-align: left; }
#main .contact .other .other--en p { font-size: 1.3em; line-height: 1.6; margin:0 0 3em 0; }
#main .contact .other .other--en dl { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .contact .other .other--en dl dt { width:25%; padding:0.25em 0; font-size: 1.3em; line-height: 1.6; }
#main .contact .other .other--en dl dd { width:75%; padding:0.25em 0; font-size: 1.3em; line-height: 1.6; }

#main .gallery_ex { margin:0 auto 10rem auto; }
#main .gallery_slide { width:60%; height:75dvh; margin:15dvh auto 0 auto; }
@media (orientation: portrait) {
  #main .gallery_slide { width:90%; }
}
#main .gallery_slide figure { height:75dvh; }
#main .gallery_slide figure img { object-fit: cover; width:100%; height:100%; }

#main .howto { border-top:solid 1px #333; width:70%; margin:0 auto 0 auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#main .howto.howto_top { margin:10rem auto 0 auto; }
#main .howto.howto_last { margin:0 auto 5rem auto; border-bottom:solid 1px #333;  }
#main .howto figure { width:40%; height:auto; margin:0; }
#main .howto figure img { object-fit: cover; width:100%; height:100%; }
#main .howto .howto_list { width:50%; text-align: left; padding:4rem 0 3rem 0; }
#main .howto .howto_list h2 { font-size: 1.8em; line-height: 1; margin:0 0 1.5em 0; }
#main .howto .howto_list li { font-size: 1.2em; line-height: 1.4; margin:0 0 1em 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .howto .howto_list li i { width:7%; line-height: 1.6; }
#main .howto .howto_list li a { width:93%; line-height: 1.6; }

#main .about_navi { margin:6rem auto 2rem auto; }
#main .about_navi figure {  }
#main .about_navi figure figcaption { display: flex; flex-direction: column; justify-content: center; }
#main .about_navi figure figcaption .about_navi--ja { font-size: 1.5em; line-height: 1; margin:2em auto 0 auto; }
#main .about_navi figure figcaption .about_navi--zh { font-size: 1.5em; line-height: 1; margin:2em auto 0 auto; }
#main .about_navi figure figcaption .about_navi--en { font-size: 1.5em; line-height: 1; margin:2em auto 0 auto; }
#main .about_navi figure figcaption small { display:block; font-size: 0.6em; line-height: 1; margin:1.25em auto 0 auto; }

#main .qa { border-top:solid 1px #333; padding:5rem 0 0 0; width:70%; margin:0 auto 5rem auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .qa h2 { font-size: 2em; line-height: 1; margin:0 0 1.5em 0; }
#main .qa .qa_list { text-align: left; padding:0 0 0 10%; }
#main .qa .qa_list li { font-size: 1.2em; line-height: 1.4; margin:0 0 1em 0; }
#main .qa .qa_list li i { margin:0 0.5em; }

#main .howto_head { width:100%; margin:0 auto 3rem auto; display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: center; align-items: flex-start; }
#main .howto_head .howto_head_title { width:auto; font-size: 1.8em; line-height: 1; margin:auto; text-align: center; margin:0 auto 3rem auto; }
#main .howto_head_qa { margin:10rem auto 0 auto; }
#main .howto_txt { border-top:solid 1px #333; width:70%; margin:3rem auto 3rem auto; }
#main .howto_txt .howto_txt_ex { width:80%; margin:5rem auto 7rem auto; }
#main .howto_txt .howto_txt_ex h3 { font-size: 1.8em; line-height: 1.5; text-align: left; margin:4em 0 1em 0; }
#main .howto_txt .howto_txt_ex h4 { font-size: 1.6em; line-height: 1.5; text-align: left; margin:3em 0 1em 0; border-left:solid 1px #333; padding:0 0 0 1em; }
#main .howto_txt .howto_txt_ex h5 { font-size: 1.4em; line-height: 1.5; text-align: left; margin:3em 0 1em 0; }
#main .howto_txt .howto_txt_ex h6 { font-size: 1.2em; line-height: 1.5; text-align: left; margin:3em 0 1em 0; }
#main .howto_txt .howto_txt_ex p { font-size: 1.4em; line-height: 2; text-align: justify; margin:0 0 1.5em 0; }
#main .howto_txt .howto_txt_ex p:last-child { margin:0 0 0 0; }
#main .howto_txt .howto_txt_ex .ex dt { margin:0 0 1em 0; }
#main .howto_txt .howto_txt_ex .ex dd { font-size: 1.1em; line-height: 1.8; text-align: justify; }
#main .howto_txt .howto_txt_ex .season { background-color: #eee; padding:3rem 4rem; margin:3rem 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .howto_txt .howto_txt_ex .season dt { width:25%; margin:1em 0; }
#main .howto_txt .howto_txt_ex .season dt span { display:block; border:solid 1px #333; background-color: #fff; border-radius: 50%; height:4em; width:4em; font-size: 2em; line-height: 4em; text-align: center; }
#main .howto_txt .howto_txt_ex .season dd { width:75%; font-size: 1.4em; line-height: 1.8; text-align: justify; margin:1.5em 0; }
#main .howto_txt .howto_txt_ex .box { border:solid 1px #333; padding:3rem; margin:3rem 0; }
#main .howto_txt .howto_txt_ex .box h3,
#main .howto_txt .howto_txt_ex .box h4,
#main .howto_txt .howto_txt_ex .box h5,
#main .howto_txt .howto_txt_ex .box h6 { margin-top:0; }
#main .howto_txt .howto_txt_ex .box p { font-size: 1.2em; line-height: 2; text-align: justify; margin:0 0 1em 0; }
#main .howto_txt .howto_txt_ex p:last-child { margin:0 0 0 0; }
#main .howto_txt .howto_txt_ex p.links a { display:block; margin:2em 0; padding:0.5em 1.5em; color:#333; border-radius: 0.5em; background-color: #eee; }
#main .howto_txt .howto_txt_ex p.links a:hover { color:#fff; background-color: #333; }
#main .howto_txt .howto_txt_ex p.links a::before { font-family: 'icomoon' !important; content: "\e902"; margin:0 0.5em 0 0; }

#main .howto_txt_en { width:50%; margin:3rem auto 8rem auto; }
#main .howto_txt_en .howto_txt_en--sec { margin:3rem auto; }
#main .howto_txt_en .howto_txt_en--sec h3 { text-align: left; font-size: 1.6em; line-height: 1.5em; margin:0 auto 1em auto; border-left:solid 1px #333; padding:0 0 0 1em; }
#main .howto_txt_en .howto_txt_en--sec p { text-align: left; font-size: 1.2em; line-height: 1.8em; }
#main .howto_txt_en .howto_txt_en--water { display:flex; justify-content: space-between; margin:5rem auto; }
#main .howto_txt_en .howto_txt_en--water img { width:60%; padding:0 5rem; }
#main .howto_txt_en .howto_txt_en--water p { width:40%; }
#main .howto_txt_en .howto_txt_en--tips { display:flex; justify-content: space-between; align-items: center; margin:0 auto 1.5rem auto; }
#main .howto_txt_en .howto_txt_en--tips .howto_txt_en--tips--title { font-size: 1.5em; font-style: italic; width:25%; padding:1em 0; border-top:solid 1px #333; border-bottom: solid 1px #333; display:flex; align-items:center;  justify-content: center;}
#main .howto_txt_en .howto_txt_en--tips img { width: 25%; padding:0 2em; }
#main .howto_txt_en .howto_txt_en--tips p { width:65%; }

#main .free_head { width:100%; margin:0 auto 3rem auto; display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: center; align-items: flex-start; }
#main .free_head .free_head_title { width:auto; font-size: 1.8em; line-height: 1; margin:auto; text-align: center; margin:0 auto 2rem auto; }
#main .free_txt { margin:0 auto 6rem auto; }
#main .free_txt  p { font-size: 1.4em; line-height: 2; text-align: center; margin:0 0 1.5em 0; }

#main .zukan { margin:7rem auto 0 auto; width:100%; }
#main .zukan .search { background-color: #eee; margin:0 auto 3rem auto; padding:2.5rem 3rem 1.5rem 3rem; width:100%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .zukan .search form { width:50%; }
#main .zukan .search form dl { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; border-bottom:solid 1px #333; padding:0 0 0.5em 0; }
#main .zukan .search form dt { width:5%; }
#main .zukan .search form dt i { font-size: 1.5em; line-height: 1; margin:0 0.5em 0 0; }
#main .zukan .search form dd { width:90%; }
#main .zukan .search form dd .search_bn { width:100%; font-size: 1.2em; line-height: 1; padding:0.5em; background-color: #eee; }
#main .zukan .search #feature { width:45%; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; align-items: center; }
#main .zukan .search #feature li { margin:0 2em 0 0; text-align: left; }
#main .zukan .search #feature li div { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; align-items: center; }
#main .zukan .search #feature li i { font-size: 1em; line-height: 1.5; margin:0 1em 0 0; }
#main .zukan .search #feature li select { color:#333; font-size: 1.2em; line-height: 1.5; margin:0.25em 0; }
#main .zukan .search #feature li #names--ja,
#main .zukan .search #feature li #names--zh,
#main .zukan .search #feature li #names--en { width:7em; }
#main .zukan .search #feature li #genre--ja,
#main .zukan .search #feature li #genre--zh,
#main .zukan .search #feature li #genre--en { width:6em; }
#main .zukan .search #feature li #features--ja,
#main .zukan .search #feature li #features--zh,
#main .zukan .search #feature li #features--en { width:8em; }
#main .zukan .search #leaf { width:100%; margin:1.5rem 0 0 0;  }
#main .zukan .search #leaf ul { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: flex-start; }
#main .zukan .search #leaf ul li { width:10%; margin:0 1rem; }
#main .zukan .search #leaf ul li a { cursor:pointer; }

#main .zukan .zukan_list { margin:0 0 0 0; }
#main .zukan .zukan_list figure { position: relative; }
#main .zukan .zukan_list figure figcaption { position: absolute; top:1rem; left:1.5rem; font-size: 1.4em; line-height: 1; padding:0 0 0.5em 0; margin:0; border-bottom:solid 1px #333; }
#main .zukan .zukan_list .zukan_list_title { padding:0 0 0 0; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; }
#main .zukan .zukan_list .zukan_list_title .zukan_list_title--name { text-align: left; display:flex; flex-direction: column; justify-content: flex-start; }
#main .zukan .zukan_list .zukan_list_title .zukan_list_title--name--ja { font-size: 1.2em; line-height: 1.4; margin:0 0 0.5em 0; }
#main .zukan .zukan_list .zukan_list_title .zukan_list_title--name--zh { font-size: 1.2em; line-height: 1.4; margin:0 0 0.5em 0; }
#main .zukan .zukan_list .zukan_list_title .zukan_list_title--name--en { font-size: 0.8em; line-height: 1.4; }
#main .zukan .zukan_list .zukan_list_title i { font-size: 1.2em; line-height: 1; }
#main .zukan .zukan_list .zukan_list_price { font-size: 1.1em; line-height: 1; text-align: left; margin:1em 0 0 0.25em; }

#main .zukan_ex { margin:0 0 0 0; }
#main .zukan_ex .zukan_ex_photo { width:70%; margin:0 auto 5rem auto; }

#main .zukan_ex_poem { padding:0 0 5rem 0; }
#main .zukan_ex_poem blockquote { margin:auto; text-align: left; }
#main .zukan_ex_poem blockquote p { font-size: 1.8em; line-height: 2.4; margin:0 0 0 1em; }
#main .zukan_ex_poem blockquote cite { font-size: 1em; line-height: 2; }

#main .zukan_ex_txt { width:70%; margin:0 auto 8rem auto; border-top:solid 1px #333; border-bottom:solid 1px #333; padding:4rem 0; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: stretch; }
#main .zukan_ex_txt .zukan_ex_txt_feature { width:60%; text-align: left; }
#main .zukan_ex_txt .zukan_ex_txt_feature .zukan_ex_txt_feature_title { margin:0 0 2em 0; display:flex; flex-direction: column; text-align: left; }
#main .zukan_ex_txt .zukan_ex_txt_feature .zukan_ex_txt_feature_title .zukan_ex_txt_feature_title--ja { font-size: 2em; line-height: 1.4; margin:0 0 0.5em 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature .zukan_ex_txt_feature_title .zukan_ex_txt_feature_title--zh { font-size: 2em; line-height: 1.4; margin:0 0 0.5em 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature .zukan_ex_txt_feature_title .zukan_ex_txt_feature_title--en { font-size: 1em; line-height: 1.4; }
#main .zukan_ex_txt .zukan_ex_txt_feature .comment { margin: 0 0 3rem 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature .comment .comment--ja { font-size: 1.3em; line-height: 2; margin:0 0 2em 0; text-align: justify; }
#main .zukan_ex_txt .zukan_ex_txt_feature .comment .comment--zh { font-size: 1.3em; line-height: 2; margin:0 0 2em 0; text-align: justify; }
#main .zukan_ex_txt .zukan_ex_txt_feature .comment .comment--en { font-size: 1em; line-height: 1.8; margin:0 0 2em 0; letter-spacing: 0.05em; text-align: left; }
#main .zukan_ex_txt .zukan_ex_txt_feature details { display:block; width:100%; border-top:solid 1px #333; padding:2rem 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature details:first-of-type { margin:1rem 0 0 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature details[open] .summary_mark::before { content:"−"; }
#main .zukan_ex_txt .zukan_ex_txt_feature details[open] .details-content { animation: fadeIn 0.5s ease; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary { display:block; width:100%; outline: none; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .summary_title { width:100%; display:flex; justify-content: space-between; align-items: center; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .summary_title .summary_title--ja { font-size: 0.9em; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .summary_title .summary_title--zh { font-size: 0.9em; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .summary_title .summary_title--en { font-size: 0.7em; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .summary_box { display:block; width:100%; font-size: 1.5em; line-height: 1.2em; cursor:pointer; list-style: none; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary::-webkit-details-marker { display:none; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .zukan_ex_txt_feature_title { display:block; width:90%; font-size: 2.2em; line-height: 1.4; margin:0 0 1em 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .summary_mark { display:block; text-align: right; width:10%; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .summary_mark::before { content:"＋"; }
#main .zukan_ex_txt .zukan_ex_txt_feature details .details-content h3 { font-size: 1.3em; line-height: 1.4; margin:3em 0 1.5em 0; border:solid 1px #333; padding:0.5em; text-align: center; }
#main .zukan_ex_txt .zukan_ex_txt_feature details .details-content h4 { font-size: 1.3em; line-height: 1.4; margin:3em 0 1.5em 0; border-left:solid 1px #333; padding:0 0 0 1em; }
#main .zukan_ex_txt .zukan_ex_txt_feature details .details-content p { font-size: 1.15em; line-height: 2; margin:0 0 1.5em 0; text-align: justify; }
#main .zukan_ex_txt .zukan_ex_txt_feature details .details-content p:first-child { margin:2em 0 1.5em 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature details .details-content p a { text-decoration: underline; }
#main .zukan_ex_txt .zukan_ex_txt_feature details .details-content .details-content--en p { text-align: left; line-height: 1.6em; }
#main .zukan_ex_txt .zukan_ex_txt_data { width:35%; padding:0 0 0 5%; border-left:solid 1px #333; text-align: left; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_a { width:100%; border-bottom:solid 1px #333; padding:0 0 2em 0; margin:0 0 2em 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_a dt { width:30%; font-size: 2em; line-height: 1.5em; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_a dd { width:65%; font-size: 1.05em; line-height: 1.8em; text-align: justify; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_b { width:100%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_b dt { width:45%; font-size: 1.6em; line-height: 1.5em; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_b dd { width:55%; padding:1em 0; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_att { border-bottom:solid 1px #333; padding:0 0 2rem 0; margin:0 0 2rem 0; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_att p { font-size: 1.1em; line-height: 1.8; text-align: justify; margin:0 0 1em 0; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data--ja { display: block; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data--zh { display: block; }
#main .zukan_ex_txt .zukan_ex_txt_data dt .zukan_ex_txt_data--en { display: block; font-size: 0.5em; letter-spacing: 0.05em; line-height: 1em; margin-top: 0.75em; }
#main .zukan_ex_txt .zukan_ex_txt_data dd .zukan_ex_txt_data--en { display: block; font-size: 0.9em; letter-spacing: 0.05em; line-height: 1.5em; margin-top: 1em; text-align: left; }

#main .store_photo { margin:7rem 0 0 0; }
#main .store_photo figure { position: relative; }
#main .store_photo figure figcaption { position: absolute; left:3rem; bottom:3rem; font-size: 2em; line-height: 1; color:#fff; text-align:left; padding:0 3rem 0 0; }
#main .store_photo .store_photo--slide { margin: 7rem auto 7rem, auto; }
#main .store_photo .store_photo--slide div { width:100%; aspect-ratio: 16/9; }
#main .store_photo .store_photo--slide div img { object-fit: cover; width:100%; height:100%; }
#main .store_photo .store_photo--lead { margin:4rem auto 4rem auto; font-size: 1.5em; line-height: 1.5; letter-spacing: 0.25em; }
#main .store_pickup { margin: 4rem 0; }
#main .store_pickup .store_pickup--slide div a { display:block; aspect-ratio: 16/9; }
#main .store_pickup .store_pickup--slide div a img { object-fit: cover; width:100%; height:100%; }
#main .store_pickup .store_pickup--slide div a span { display:block; text-align: center; font-size: 1rem; line-height: 1em; padding:2em 0 0.5em 0;  }

@media screen and (max-width: 600px) {
  #main .store_photo .store_photo--slide div { aspect-ratio: 1/1; }
  #main .store_photo .store_photo--lead { font-size: 1.3em; letter-spacing: 0.15em; }
  #main .store_pickup { margin: 0; }
  #main .store_pickup .store_pickup--slide { width: 90%; margin: 3rem auto; }
}

#main .store_info { text-align: left; background-color: #eee; margin:0 auto 0 auto; padding:2rem; width:100%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#main .store_info .store_info_l { width:55%; padding:0 0 0 1rem; }
#main .store_info .store_info_l .store_info_title { font-size: 1.5em; line-height: 1; margin:0 0 1em 0; }
#main .store_info .store_info_l dl { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: center; margin-bottom:0; }
#main .store_info .store_info_l dl dt { width:20%; font-size: 1.1em; line-height: 1.5; margin:0.5em 0 0 0; }
#main .store_info .store_info_l dl dd { width:80%; font-size: 1.2em; line-height: 1.5; margin:0.5em 0 0 0; }
#main .store_info .store_info_r { width:45%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#main .store_info .store_info_r .store_banner { width:47%; height:100%; }
#main .store_info .store_info_r .store_banner a { font-size: 1.2em; display: flex; justify-content: center; align-items: center; border:solid 1px #fff; height:100%; text-align: center; color:#333; }
#main .store_info .store_info_r .store_banner a i { margin:0 1em 0 0; }
#main .store_info .store_info_r .store_banner a:hover { background-color: #fff; }

#main .store { margin:3rem auto 3rem auto; width:100%; }
#main .store .store_list { margin:0 0 3rem 0; }
#main .store .store_list .li { position: relative; }
#main .store .store_list figure { position: relative; }
#main .store .store_list figure figcaption { position: absolute; top:1rem; right:1rem; font-size: 0.8em; line-height: 1; padding:0 0 0.4em 0; margin:0; border-bottom:solid 1px #fff; color:#fff; }
#main .store .store_list .store_list_title { padding:1.5em 0 0 0; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; }
#main .store .store_list .store_list_title span { width:90%; display:block; font-size: 1.1em; line-height: 1.5; text-align: left; }
#main .store .store_list .store_list_title i { width:10%; font-size: 1.1em; line-height: 1.5; }
#main .store .store_list .store_list_title .store_list_title_txt img { display:none !important; }
#main .store .store_list .store_list_title .store_list_title_txt span { display:inline-block; width:auto; position: absolute; font-size: 0.8em; line-height: 1; padding:0 0 0.4em 0; top:1rem; left:1rem; border-bottom:solid 1px #fff; color:#fff; }
#main .store .store_list .store_list_title .store_list_title_txt img[src="https://img.shop-pro.jp/img/new/icons5.gif"]+span::before { content:"NEW"; }
#main .store .store_list .store_list_title .store_list_title_txt img[src="https://img.shop-pro.jp/img/new/icons59.gif"]+span::before { content:"再入荷"; }
#main .store .store_list .store_list_price { font-size: 1.1em; line-height: 1; text-align: left; margin:1em 0 0 0.25em; }
#main .store .store_recomended { padding:3rem 0 0 0; margin:3rem 0 0 0; border-top:solid 1px #333; }
#main .store .store_recomended h3 { font-size: 1.6em; line-height: 1; text-align: left; margin:0 0 3rem 0; }
#main .store .store_other { padding:3rem 0 0 0; margin:3rem auto 3rem auto; border-top:solid 1px #333; }
#main .store.store_top .store_other { padding:3rem 0 0 0; margin:4rem auto 4rem auto; border-top:none; }
#main .store .store_guide { margin:0 0 0 0; padding:3rem 0; border-top:solid 1px #333; border-bottom:solid 1px #333;  display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#main .store .store_guide .guide_ex { width:25%; text-align: left; }
#main .store .store_guide .guide_line { content:""; border-right:solid 1px #333; }
#main .store .store_guide .guide_ex h3 { font-size: 1.5em; line-height: 1; text-align: left; margin:0 0 1em 0; }
#main .store .store_guide .guide_ex h4 { font-size: 1.2em; line-height: 1; text-align: left; margin:2em 0 1em 0; border-left:solid 1px #333; padding:0 0 0 0.75em; }
#main .store .store_guide .guide_ex p { font-size: 1.1em; line-height: 1.8; text-align: justify; margin:0 0 1em 0; letter-spacing: 0; }

#main .store_all { border-top:solid 1px #333; }

#main .store_cat { margin:0 0 0 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#main .store_cat .li { font-size: 0.9em; padding:0 0 1.5em 0; width: 12.5%; margin: 0; background-color: #eee; border-top:solid 1px #fff; border-right:solid 1px #fff; }
#main .store_cat .li.cat_08 { border-right:none; }
#main .store_cat.cat_01 .li.cat_01,
#main .store_cat.cat_02 .li.cat_02,
#main .store_cat.cat_03 .li.cat_03,
#main .store_cat.cat_04 .li.cat_04,
#main .store_cat.cat_05 .li.cat_05,
#main .store_cat.cat_06 .li.cat_06,
#main .store_cat.cat_07 .li.cat_07,
#main .store_cat.cat_08 .li.cat_08,
#main .store_cat .li:hover { background-color: #fff; }
#main .store_cat .store_search { border-top:solid 1px #fff; width:100%; padding:0; margin: 0; background-color: #eee; }
#main .store_cat .store_search form { margin:0; padding:0; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: stretch; }
#main .store_cat .store_search form input[type="text"] { width:62.5%; border:none; font-size: 1.1em; line-height: 1; padding:1.5em 2em; background-color: #eee; }
#main .store_cat .store_search form input::placeholder { font-size: 1em; line-height: 1; color:#333; }
#main .store_cat .store_search form button { width:37.5%; background-color:#333; color:#fff; font-size: 1em; line-height: 1; padding:1em; }
#main .store_cat .store_search form button:hover { background-color:#fff; color:#333; }

#main .store_sort { margin:3rem 0 0 0; padding:0 0 0 0; }

#main .store_more { width:100%; padding:3rem 0 0 0; margin:3rem auto 2rem auto; border-top:solid 1px #333; }
#main .store_more a { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; width:100%; font-size: 1.2em; line-height: 1; border:solid 1px #eee; background-color: #eee; padding:1.5rem 0; }
#main .store_more a:hover { background-color: #fff; color:#333; }
#main .store_more a i { margin:0 1em 0 0; }

#main .store_pager { background-color: #eee; padding:1rem 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; font-size: 1.1em; }
#main .store_pager .store_pager_list { margin:0.5em 0.5em; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; }
#main .store_pager .store_pager_list .store_pager_list_item { margin:0.5em 0.5em; }
#main .store_pager .store_pager_list .store_pager_list_item .store_pager_list_link { color:#333; padding:0.25em; }
#main .store_pager .store_pager_list .store_pager_list_item .store_pager_list_link:hover { color:#333; border-top:solid 1px #333; border-bottom:solid 1px #333; }
#main .store_pager .store_pager_list .store_pager_list_item .store_pager_list_link.is-current { color:#333; border-top:solid 1px #333; border-bottom:solid 1px #333; }

#main .store_ex { margin:7rem 0 0 0; }
#main .store_ex .store_ex_photo { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: stretch; margin:0 0 5rem 0; }
#main .store_ex .store_ex_photo .store_ex_photo_main { width:65.5%; }
#main .store_ex .store_ex_photo .store_ex_photo_main figure { display:block; }
#main .store_ex .store_ex_photo .store_ex_photo_sub { width:31.5%; display: flex; flex-direction: column; justify-content: space-between; align-items: stretch; }
#main .store_ex .store_ex_photo .store_ex_photo_sub figure { display:none; }
#main .store_ex .store_ex_photo .store_ex_photo_sub figure:nth-child(2),
#main .store_ex .store_ex_photo .store_ex_photo_sub figure:nth-child(3) { display:block; }

#main .store_ex_txt { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: stretch; }
#main .store_ex_txt .store_ex_txt_line { border-right:solid 1px #333; }
#main .store_ex_txt .store_ex_txt_feature { width:60%; text-align: left; padding:2rem 5%; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_title { font-size: 2em; line-height: 1.4; margin:0 0 1em 0; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_title_explain { font-size: 1em; line-height: 1.4; margin:1em 0 2em 0; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex { font-size: 1.3em; line-height: 2; margin:0 0 1em 0; text-align: justify; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex h1 { font-size: 1.5em; line-height: 2; margin:2em 0 1em 0; text-align: left; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex h2 { font-size: 1.5em; line-height: 2; margin:2em 0 1em 0; text-align: left; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex h3 { font-size: 1.5em; line-height: 2; margin:2em 0 1em 0; text-align: left; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex h4 { font-size: 1.4em; line-height: 2; margin:2em 0 1em 0; text-align: left; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex h5 { font-size: 1.3em; line-height: 2; margin:2em 0 1em 0; text-align: left; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex h6 { font-size: 1.2em; line-height: 2; margin:2em 0 1em 0; text-align: left; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex h4+br { display:none; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex strong { font-weight: normal; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex a { text-decoration: underline; }
#main .store_ex_txt .store_ex_txt_data { width:25%; padding:0 0; text-align: left; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_a { width:100%; border-bottom:solid 1px #333; padding:0 0 2em 0; margin:0 0 2em 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_a dt { width:25%; font-size: 1.5em; line-height: 1.5em; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_a dd { width:75%; font-size: 1.2em; line-height: 1.8em; text-align: justify; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_b { width:100%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_b dt { width:45%; font-size: 1.5em; line-height: 1.5em; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_b dd { width:55%; padding:1em 0; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_att { border-bottom:solid 1px #333; padding:0 0 2rem 0; margin:0 0 2rem 0; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_att p { font-size: 1.1em; line-height: 1.8; text-align: justify; margin:0 0 1em 0; }
#main .store_ex_txt .store_ex_txt_data .cart {  }
#main .store_ex_txt .store_ex_txt_data .cart .cart_price { font-size: 1.4em; line-height: 1; margin:0 0 0 0; background-color: #eee; border:solid 1px #eee; padding:1em 0.5em; text-align: center; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: center; align-items: center; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_price .cart_price_title { font-size: 0.7em; line-height: 1em; margin:0 1em 1em 0; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_price .cart_price_num { font-size: 1em; line-height: 1em; }
#main .store_ex_txt .store_ex_txt_data .cart .init-list__detail-num { display:none; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_option dl { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_option dl dt { width:100%; padding:0; margin:1.5em 0 0.5em 0; font-size: 1em; line-height: 1.5; font-weight: normal; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_option dl dd { position: relative; width:100%; padding:0; margin:0 0 0 0; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_option dl dd::before { position: absolute; top:1em; right:1em; font-family: 'icomoon' !important; content: "\e901"; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_option dl dd select { width:100%; display:block; background-color: #eee; color:#333; padding:1em; height:auto; margin:0; font-size: 1.2em; line-height: 1; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_bot { margin:1em 0; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_bot button[type="submit"] { border:solid 1px #333; display:block; font-size: 1.4em; line-height: 1; text-align: center; padding:1.25em; background-color: #333; color:#fff; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_bot button[type="submit"]:hover { border:solid 1px #eee; background-color: #eee; color:#333; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_bot input[type="button"] { height:auto; border:solid 1px #333; display:block; font-size: 1.4em; line-height: 1; text-align: center; padding:1.25em; background-color: #333; color:#fff; }
#main .store_ex_txt .store_ex_txt_data .cart .free_shipping { margin:0 0 1.5em 0; }
#main .store_ex_txt .store_ex_txt_data .cart .free_shipping .free_shipping_ex { display:none; text-align: center; color:#333; border:solid 1px #333; padding:1em; }
#main .store_ex_txt .store_ex_txt_data .cart .free_shipping .free_shipping_ex:first-child { display:block; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_links { margin:0; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_links li { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: center; font-size: 1em; line-height: 1.8; text-align: justify; margin:0 0 0.25em 0; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_links li i { margin:0 0.75em 0 0; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_att { margin:0 0 2rem 0; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_att dt { text-align: center; font-weight: normal; font-size: 1.2em; line-height: 1; padding:1.5em 0; margin:0 0 0 0; border-top:solid 1px #333; border-bottom:solid 1px #333; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_att dd { padding:1.25em 0; margin:0; font-size: 1em; line-height: 1.8; border-bottom:solid 1px #333; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_att dd a { text-decoration: underline; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_links_sub_btn { margin:1.5em 0 0 0; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_links_sub_btn.cart_links_sub_btn_top { margin:3em 0 0 0; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_links_sub_btn a { display:block; padding:1em; text-align: center; border:solid 1px #333; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_links_sub_btn a:hover { background-color: #333; color:#fff;}

#main .common { margin:10rem auto; width:80%; text-align: left; display:flex; justify-content: space-between; }
#main .common .common--ja { width:45%; }
#main .common .common--zh { width:45%; }
#main .common h2 { font-size: 1.7em; line-height: 1; margin:3em 0 1.5em 0; border-left:solid 1px #333; padding:0 0 0 1em; }
#main .common p { font-size: 1.2em; line-height: 2; margin:0 0 2em 0; }
#main .common dl { margin:0 0 1.5em 0; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .common dl dt { width:100%; text-align: left; margin:1em 0 0.5em 0; font-size: 1.4em; line-height: 2; }
#main .common dl dd { width:100%; text-align: justify; margin:0 0 0 0; font-size: 1.2em; line-height: 2; }
#main .common dl dd img { width:auto; margin:0 0 1.5em 0; }
#main .common .common--en { width: 45%; }
#main .common .common--en p { font-size: 1.2em; line-height: 1.7; margin:0 0 2em 0; text-align: left; }
#main .common .common--en dl dd { width:100%; font-size: 1.2em; line-height: 1.7; text-align: left; }

#footer { padding:4rem 0 2rem 0; }
#footer footer { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; }
#footer footer .footer_logo { width:30%; }
#footer footer .footer_nav { width:60%; font-size: 1.7em; line-height: 1; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-end; align-items: flex-start; }
#footer footer .footer_nav .footer_nav_a { margin:0 0 0 1em; order:2; display: flex; flex-direction: row-reverse; flex-wrap: nowrap; justify-content: flex-start; align-items: flex-start; }
#footer footer .footer_nav .footer_nav_b { order:1; display: flex; flex-direction: row-reverse; flex-wrap: nowrap; justify-content: flex-start; align-items: flex-start; }
#footer footer .footer_nav li { margin:0 0 0 1.5rem; }
#footer footer .footer_nav li.sns { font-size: 1.6em; line-height: 1; }
#footer footer .footer_nav li.twitter { margin:0 1rem 0 1.5rem; }
#footer footer .footer_nav li.facebook { margin:0 0 0 4rem; }

/* sp */
@media screen and (max-width: 600px) {

/* options */
.pc { display:none; }
.sp { display:block; }
.pcbr { display:inline; }
.spbr { display:block; }
.pc_inline { display:none; }
.sp_inline { display:inline; }

/* common */
.l2 { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: stretch; }
.l2 .li { width: 100%; margin: 0 0 2rem 0; }
.l2.l2_sp .li { width: 48%; margin: 0 4% 2rem 0; }
.l2.l2_sp .li:nth-last-child(-n+2) { margin: 0 4% 2rem 0; }
.l2.l2_sp .li:nth-child(2n) { margin: 0 0 2rem 0; }
.l2.l2_sp .li:nth-child(2n+1) { clear: both; }
.l2 .li.fit img { object-fit: cover; font-family: 'object-fit: cover;'; width:100%; height:100%; }
.l2 .li.li_2_3 { width: 100%; }
.l2 .li.li_1_3 { width: 100%; }
.l2 .li:nth-child(2n) { margin: 0 0 2rem 0; }
.l2 .li:nth-child(2n+1) { clear: both; }
.l2 .li:nth-last-child(-n+2) { margin: 0 0 2rem 0; }

.l3 { padding:0 0 0 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.l3 .li { width: 48%; margin: 0 0 2rem 0; }
.l3 .li:nth-child(3n) { margin-right: 0; }
.l3 .li:nth-child(3n+1) { clear: both; }
.l3 .li:nth-last-child(-n+3) { margin: 0 0 2rem 0; }
.l3n { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; }
.l3n .li { width: 100%; margin: 0 0 0 0; }
.l3n .li:nth-child(3n+1) { clear: both; }
.l4 { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; }
.l4 .li { width: 47%; margin: 0 6% 2rem 0; }
.l4 .li:nth-child(4n) { margin-right: 6%; }
.l4 .li:nth-child(4n+1) { clear: none; }
.l4 .li:nth-child(2n) { margin-right: 0; }
.l4 .li:nth-child(2n+1) { clear: both; }
.l4 .li.fix { height:15em; }
.l4s { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.l4s .li { width: 47%; margin: 0 0 2rem 0; }
.l4.l4_sp .li { width: 48%; margin: 0 4% 0.8rem 0; }
.l4.l4_sp .li:nth-last-child(-n+2) { margin: 0 4% 0.8rem 0; }
.l4.l4_sp .li:nth-child(4n) { margin: 0 4% 0.8rem 0; }
.l4.l4_sp .li:nth-child(4n+1) { clear: both; }
.l4.l4_sp .li:nth-child(2n) { margin: 0 0 0.8rem 0; }
.l4.l4_sp .li:nth-child(2n+1) { clear: both; }

.li.fix img { object-fit: cover; font-family: 'object-fit: cover;'; width:100%; height:100%; }
.no_trim { height:auto !important; }
.no_trim img { object-fit: contain !important; }

/* wrapper */
#wrapper { padding:0; min-width:0; }

#header {  }
#header .header_head .header_head_title { display:none; }
.page-template-home #header .header_head .header_head_title { display:none; position: absolute; top:auto; bottom:2rem; left:1.5rem; right:auto; font-size: 1.3em; line-height: 1; -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; font-feature-settings : "palt"; }
#header .header_logo { position: fixed; top:0.7rem; right:0.7rem; width:45%; z-index: 777; }
#header .header_gnav { position: fixed; top:1.5rem; left:5rem; }
#header .header_gnav ul { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-end; }
#header .header_gnav ul li { width:2rem; margin:0 1.5rem 0 0; position: relative; }
#header .header_gnav ul li .cart_count { position: absolute; top:0; right:-3em; background-color: #eee; color:#333; border-radius: 50%; font-size: 1.2em; line-height: 2em; width:2em; text-align: center; }
#header .header_gnav ul li:hover .cart_count { background-color: #333; color:#fff; }
#header .header_badge { width:18%; position: absolute; top:11em; right:1.25em; z-index: 1; }

/* drawer */
.sp_gnav { text-align: left; padding:5rem 2rem 0 2rem; }
.sp_gnav .sp_gnav_li { border-bottom:solid 1px #ddd; }
.sp_gnav .sp_gnav_li > a { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; padding:1.25em 0; font-size: 1.1em; line-height: 1; }
.sp_gnav .sp_gnav_li > a span { font-size: 1em; line-height: 1;  }
.sp_gnav .sp_gnav_li > a i { font-size: 1.3em; line-height: 1;  }
.sp_gnav .sp_gnav_li > button { width:100%; cursor: pointer; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; padding:1.5em 0; font-size: 1.2em; letter-spacing: 0.1em; line-height: 1;  }
.sp_gnav .sp_gnav_li > button .sp_gnav_li_mark { padding:0 0.5em 0 0; }

.lang_nav { position: fixed; top:7rem; right:0.5rem; left:auto; bottom:auto; }
.lang_nav ul { display: flex; align-items: center; }
.lang_nav li { font-size: 1.1rem; line-height: 1em; border-right:solid 1px #ddd; white-space: nowrap;}
.lang_nav li:last-child { border-right:none; }
.lang_nav li a { color:#ddd; display:block; padding:0 0.75em; }

#main { width:100%; padding:5rem 0 1.5rem 0; }
.page-template-home #main { width:100%; margin:auto; padding:5rem 0 0 0; }

#main .main_head .main_head_title { width:90%; margin:1.85em auto; display:flex; justify-content: space-between; align-items: center; }
#main .main_head .main_head_title .main_head_title--ja { display:block; margin:0 0 0 0; position: static; font-size: 1.5em; line-height: 1; -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; font-feature-settings : "palt"; }
#main .main_head .main_head_title .main_head_title--zh { display:block; margin:0 0 0 0; position: static; font-size: 1.5em; line-height: 1; -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; font-feature-settings : "palt"; }
#main .main_head .main_head_title .main_head_title--en { display: block; margin:0 0 0 0; position: static; font-size: 1.5em; line-height: 1; -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; font-feature-settings : "palt"; }

#main .top_main { height: calc(100dvh - 5rem); }
#main .top_main img { object-fit: contain; width:100%; height:100%; }
#main .top_main.top_main_cover { height:75vh; }
#main .top_main.top_main_cover img { object-fit: cover; width:100%; height:100%; }
#main .enter_btn { width:14%; position: absolute; bottom:1.2rem; right:0.75rem; }

#main .photo_full.photo_top { margin:0 0 3rem 0; }
#main .photo_full { margin:3rem 0; }

#main .txt { width:80%; flex-direction: column; margin:3rem auto 3rem auto; }
#main .txt.txt_top { margin:6rem auto 3rem auto; }
#main .txt.txt_last { margin:3rem auto 10rem auto; }
#main .txt .txt_title { margin:0 auto 0 auto; }
#main .txt .txt_title .txt_title--ja { font-size: 1.7em; line-height: 1.4; letter-spacing: 0.15em; text-align: center; margin:0 0 0 0; }
#main .txt .txt_title .txt_title--zh { font-size: 1.7em; line-height: 1.4; letter-spacing: 0.15em; text-align: center; margin:0 0 0 0; }
#main .txt .txt_title .txt_title--en { font-size: 1.8em; line-height: 1.4; text-align: center; margin:0 0 0 0; }
#main .txt .txt--ja { width: 100%; margin: 0 0 2em 0; }
#main .txt .txt--ja p { font-size: 1.2em; line-height: 2; text-align: justify; margin:0 0 1.5em 0; }
#main .txt .txt--zh { width: 100%; margin: 0 0 2em 0; }
#main .txt .txt--zh p { font-size: 1.2em; line-height: 2; text-align: justify; margin:0 0 1.5em 0; }
#main .txt .txt--en { width: 100%; }
#main .txt .txt--en p { font-size: 1.2em; }
#main .txt p:last-child { margin:0 0 0 0;  }
#main .txt p.cap { font-size: 1em; line-height: 2; text-align: justify; margin:0 0 1.5em 0; }
#main .txt p.links { margin:2em 0 2em 0; }
#main .txt p.links a { background-color: #333; color:#fff; text-align: center; padding:1em; display:block; }
#main .txt p.links a:hover { background-color: #eee; color:#333; }

#main .news { width:100%; margin:2rem auto 2rem auto; background-color: #eee; padding:3rem 2rem; }
#main .news h2 { width: 80%; margin:0 auto; display: flex; flex-direction: column; text-align: left; }
#main .news h2 .news_h2--ja { font-size: 1.5em; line-height: 1.6; margin:0 0 0.5em 0; }
#main .news h2 .news_h2--zh { font-size: 1.5em; line-height: 1.6; margin:0 0 0.5em 0; }
#main .news h2 .news_h2--en { font-size: 1.5em; line-height: 1.6; margin:0 0 0.5em 0; }
#main .news .news_cover { width:100%; margin:2rem auto; }
#main .news .news_txt { flex-direction: column; }
#main .news .news_txt .news_txt--ja { width:100%; margin:0 0 2rem 0; }
#main .news .news_txt .news_txt--ja p { font-size: 1.2em; line-height: 1.8; text-align: justify; margin:0 0 1.5em 0; }
#main .news .news_txt .news_txt--zh { width:100%; margin:0 0 2rem 0; }
#main .news .news_txt .news_txt--zh p { font-size: 1.2em; line-height: 1.8; text-align: justify; margin:0 0 1.5em 0; }
#main .news .news_txt .news_txt--en { width:100%; }
#main .news .news_txt .news_txt--en p { font-size: 1.2em; line-height: 1.6; text-align: left; margin:0 0 1.5em 0; }
#main .news .news_txt p a { text-decoration: underline; }
#main .news .news_nav {  }
#main .news .news_nav ul { display: flex; justify-content: space-between; flex-direction: column; }
#main .news .news_nav ul li { width:70%; margin:3rem auto; }
#main .news .news_nav ul li:nth-child(3n) { margin:3rem auto; }
#main .news .news_nav ul li .news_nav--thumb { margin: 0 0 1.5em 0; }
#main .news .news_nav ul li .news_nav--title { color:#333; text-align: left; display: flex; flex-direction: column; }
#main .news .news_nav ul li .news_nav--title .news_nav--title--ja { font-size: 1.2em; line-height: 1.6; margin:0 0 0.5em 0; }
#main .news .news_nav ul li .news_nav--title .news_nav--title--zh { font-size: 1.2em; line-height: 1.6; margin:0 0 0.5em 0; }
#main .news .news_nav ul li .news_nav--title .news_nav--title--en { font-size: 1.2em; line-height: 1.6; margin:0 0 0.5em 0; }

/* wp-pagenavi */
.wp-pagenavi { width:100%; display: flex; justify-content: center; align-items: center; margin:0 auto 0 auto; font-size: 0.8rem; line-height: 1em;}
.wp-pagenavi .pages { font-size: 0.8rem; padding:0 0.5em; }
.wp-pagenavi .current,
.wp-pagenavi .page,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink { font-size: 0.8rem; text-align: center; width:2.25em; line-height: 2.25em; background-color: #ffffff; margin:0.25em; }
.wp-pagenavi .current,
.wp-pagenavi .page:hover,
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover { background-color: #333; color:#fff; }

#main .news .news_list { width:100%; }
#main .news .news_list li { margin:0 0 1em 0; }
#main .news .news_list li a { width:100%; display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; }
#main .news .news_list li time { font-size: 1em; line-height: 1; width:100%; text-align: left; margin:1.5em 0 1em 0; }
#main .news .news_list li span { font-size: 1.2em; line-height: 1.5; width:100%; text-align: left; }

#main .head { width:80%; margin:0 auto 3rem auto; display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: center; align-items: flex-start; }
#main .head .head_title { width:auto; font-size: 1.7em; line-height: 1; margin:auto; text-align: center; margin:0 auto 3rem auto; }
#main .head .head--ja { width:100%; }
#main .head .head--ja p { font-size: 1.2em; line-height: 1.8; text-align: justify; margin:0 0 2em 0; }
#main .head .head--zh { width:100%; }
#main .head .head--zh p { font-size: 1.2em; line-height: 1.8; text-align: justify; margin:0 0 2em 0; }
#main .head .head--en { width: 100%; }
#main .head .head--en p { font-size: 1.2em; line-height: 1.8; text-align: left; margin: 0 0 2em 0; }

#main .note { width:100%; margin:3rem auto 0 auto; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .note:last-child { margin:3rem auto 0 auto; }
#main .note:first-of-type { margin:0 auto 0 auto; }
#main .note .note_txt { order:2; width:80%; margin:0 auto 0 auto; }
#main .note .note_txt h2 { font-size: 1.2em; line-height: 1; margin:0 0 2em 0; text-align: center; border-left:solid 1px #333; border-right:solid 1px #333; padding:0 0 0 0; }
#main .note .note_txt p {font-size: 1.2em; line-height: 2; text-align: justify; }
#main .note .note_txt--zh { order:2; width:80%; margin:0 auto 0 auto; }
#main .note .note_txt--zh h2 { font-size: 1.2em; line-height: 1; margin:0 0 2em 0; text-align: center; border-left:solid 1px #333; border-right:solid 1px #333; padding:0 0 0 0; }
#main .note .note_txt--zh p {font-size: 1.2em; line-height: 2; text-align: justify; }
#main .note .note_txt--en { order:2; width:80%; margin:0 auto 0 auto; }
#main .note .note_txt--en h2 { font-size: 1.2em; line-height: 1; margin:0 0 2em 0; text-align: center; border-left:solid 1px #333; border-right:solid 1px #333; padding:0 0 0 0; }
#main .note .note_txt--en p {font-size: 1.2em; line-height: 1.6; text-align: left; }
#main .note figure { order:1; width:90%; margin:1rem auto 3rem auto; }
#main .note:nth-child(even) { flex-direction: column; }
#main .note:nth-child(even) figure { width:90%; margin:1rem auto 3rem auto; }

#main .contact { padding:0 0 3rem 0; }
#main .contact .contact_form { width:80%; border-top:solid 1px #333; padding:2rem 0 0 0; margin:2rem auto 0 auto; }
#main .contact .contact_form dl { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .contact .contact_form dl dt { width:100%; margin: 1em 0 0 0; text-align: left; border:none; flex-direction: row; justify-content: space-between; }
#main .contact .contact_form dl dt .contact_form--ja { font-size: 1.1em; line-height: 1.2; }
#main .contact .contact_form dl dt .contact_form--zh { font-size: 1.1em; line-height: 1.2; }
#main .contact .contact_form dl dt .contact_form--en { font-size: 0.9em; line-height: 1.2; }
#main .contact .contact_form dl dd { width:100%; padding:0.5em 0 1.5em 0; border:none; }
#main .contact .contact_form dl dd input[type="text"],
#main .contact .contact_form dl dd input[type="email"],
#main .contact .contact_form dl dd input[type="tel"] { width:100%; background-color: #eee; border:none; padding:0.5em 0.75em; font-size: 1.4em; line-height: 1; }
#main .contact .contact_form dl dd textarea { width:100%; height:20em; border:none; background-color: #eee; padding:0.5em 0.75em; font-size: 1.4em; line-height: 1.8; }
#main .contact .contact_form .contact_form_submit button[type="submit"] { width:100%; display:block; background-color: #333; color:#fff; margin:0 0 0 0; padding:1em 0.75em; font-size: 1.4em; line-height: 1; }
#main .contact .contact_form .contact_form_submit button[type="submit"]:hover { background-color: #eee; color:#333; }

#main .contact .contact_form #mfp_phase_confirm_inner h4 { color:#333; font-size: 1.2em; line-height: 1; letter-spacing: 0.15em; text-align: center; margin:0 0 2em 0; background-color:#eee; padding:1em; }
#main .contact .contact_form #mfp_phase_confirm_inner table { display:block; width:100%; }
#main .contact .contact_form #mfp_phase_confirm_inner table th { display:block; width:100%; border-left:solid 1px #333; padding:0 0 0 0.75em; margin:0 0 0.5em 0; text-align:left; font-size: 1.2em; line-height: 1.8;  color:#333; font-weight: normal; }
#main .contact .contact_form #mfp_phase_confirm_inner table td { display:block; width:100%; text-align:left; font-size: 1.2em; line-height: 1.8; padding:0 0 2em 0; }
#main .contact .contact_form #mfp_phase_confirm_inner .mfp_buttons #mfp_button_send { cursor:pointer; width:100%; background-color:#333; color:#eee; padding:1em 0.75em; font-size: 1.2em; line-height: 1; letter-spacing: 0.05em; margin:2em 0 1em 0; }
#main .contact .contact_form #mfp_phase_confirm_inner .mfp_buttons #mfp_button_send:hover { background-color:#eee; color:#333; }
#main .contact .contact_form #mfp_phase_confirm_inner .mfp_buttons #mfp_button_cancel { cursor:pointer; color:#333; padding:1em 0.75em; font-size: 1.2em; line-height: 1; letter-spacing: 0.05em; }
#main .contact .contact_form #mfp_phase_confirm_inner .mfp_buttons #mfp_button_cancel:hover { color:#333; }

#main .contact .other { width:80%; margin:3rem auto 0 auto; }
#main .contact .other h3 { width:100%;  margin:0 0 4rem 0; display:flex; flex-direction: column; }
#main .contact .other h3 .other_h3--ja { font-size: 1.8em; line-height: 1; margin:0 auto 1em auto; }
#main .contact .other h3 .other_h3--zh { font-size: 1.8em; line-height: 1; margin:0 auto 1em auto; }
#main .contact .other h3 .other_h3--en { font-size: 1.8em; line-height: 1; }
#main .contact .other .other--ja { width: 100%; text-align: left; margin: 0 0 4rem 0 ; }
#main .contact .other .other--ja p { font-size: 1.2em; line-height: 2; margin:0 0 3em 0; }
#main .contact .other .other--ja dl { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .contact .other .other--ja dl dt { width:25%; padding:0.25em 0; font-size: 1.1em; line-height: 1.6; }
#main .contact .other .other--ja dl dd { width:75%; padding:0.25em 0; font-size: 1.1em; line-height: 1.6; }
#main .contact .other .other--zh { width: 100%; text-align: left; margin: 0 0 4rem 0 ; }
#main .contact .other .other--zh p { font-size: 1.2em; line-height: 2; margin:0 0 3em 0; }
#main .contact .other .other--zh dl { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .contact .other .other--zh dl dt { width:25%; padding:0.25em 0; font-size: 1.1em; line-height: 1.6; }
#main .contact .other .other--zh dl dd { width:75%; padding:0.25em 0; font-size: 1.1em; line-height: 1.6; }
#main .contact .other .other--en { width: 100%; text-align: left; }
#main .contact .other .other--en p { font-size: 1.1em; line-height: 1.6; margin:0 0 3em 0; }
#main .contact .other .other--en dl { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .contact .other .other--en dl dt { width:25%; padding:0.25em 0; font-size: 1.1em; line-height: 1.6; }
#main .contact .other .other--en dl dd { width:75%; padding:0.25em 0; font-size: 1.1em; line-height: 1.6; }

#main .gallery_slide { width:90%; height:75dvh; margin:0 auto 0 auto; }
#main .gallery_slide figure { height:75dvh; }
#main .gallery_slide figure img { object-fit: cover; width:100%; height:100%; }

#main .howto { width:80%; margin:0 auto 0 auto; display: flex; flex-direction: column-reverse; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .howto.howto_top { margin:5rem auto 0 auto; }
#main .howto.howto_last { margin:0 auto 0 auto; border-bottom:none; }
#main .howto figure { width:100%; height:auto; }
#main .howto figure img { object-fit: contain; width:100%; height:100%; }
#main .howto .howto_list { width:100%; text-align: left; padding:2rem 0 2rem 0; }
#main .howto .howto_list h2 { font-size: 1.5em; line-height: 1; margin:0 0 1.5em 0; }
#main .howto .howto_list li { font-size: 1.2em; line-height: 1.4; margin:0 0 1em 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .howto .howto_list li i { width:7%; line-height: 1.6; }
#main .howto .howto_list li a { width:93%; line-height: 1.6; }

#main .about_navi { margin:6rem auto 0 auto; }
#main .about_navi figure {  }
#main .about_navi figure figcaption { display: flex; flex-direction: column; justify-content: center; }
#main .about_navi figure figcaption .about_navi--ja { font-size: 1.3em; line-height: 1; margin:2em auto 1em auto; }
#main .about_navi figure figcaption .about_navi--zh { font-size: 1.3em; line-height: 1; margin:2em auto 1em auto; }
#main .about_navi figure figcaption .about_navi--en { font-size: 1.15em; line-height: 1; margin:2em auto 1em auto; }

#main .qa { padding:3rem 0; width:80%; margin:0 auto 3rem auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .qa h2 { font-size: 1.5em; line-height: 1; margin:0 0 2em 0; }
#main .qa .qa_list { text-align: left; width:100%; margin:auto; padding:0; }
#main .qa .qa_list li { font-size: 1.2em; line-height: 1.5; margin:1em 0 0 0; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; align-items: flex-start; text-align: justify; }
#main .qa .qa_list li i { width:5%; margin:0 5% 0 0; line-height: 1.5; }
#main .qa .qa_list li a { width:90%; }

#main .howto_head { width:100%; margin:0 auto 0 auto; display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: center; align-items: flex-start; }
#main .howto_head .howto_head_title { width:auto; font-size: 1.5em; line-height: 1; margin:auto; text-align: center; margin:0 auto 0 auto; }
#main .howto_head_qa { margin:3rem auto 0 auto; }
#main .howto_txt { border-top:solid 1px #333; width:80%; margin:3rem auto 3rem auto; }
#main .howto_txt .howto_txt_ex { width:100%; margin:2rem auto 2rem auto; }
#main .howto_txt .howto_txt_ex h3 { font-size: 1.6em; line-height: 1.5; text-align: left; margin:3em 0 1em 0; }
#main .howto_txt .howto_txt_ex h4 { font-size: 1.4em; line-height: 1.5; text-align: left; margin:2em 0 1em 0; }
#main .howto_txt .howto_txt_ex h5 { font-size: 1.2em; line-height: 1.5; text-align: left; margin:2em 0 1em 0; }
#main .howto_txt .howto_txt_ex h6 { font-size: 1em; line-height: 1.5; text-align: left; margin:2em 0 1em 0; }
#main .howto_txt .howto_txt_ex p { font-size: 1.2em; line-height: 2; text-align: justify; margin:0 0 1.5em 0; }
#main .howto_txt .howto_txt_ex p:last-child { margin:0 0 0 0;  }
#main .howto_txt .howto_txt_ex .season { background-color: #eee; padding:1.5rem; margin:2rem 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .howto_txt .howto_txt_ex .season dt { width:35%; margin:1em 0; }
#main .howto_txt .howto_txt_ex .season dt span { display:block; border:solid 1px #333; background-color: #fff; border-radius: 50%; height:4em; width:4em; font-size: 1.5em; line-height: 4em; text-align: center; }
#main .howto_txt .howto_txt_ex .season dd { width:65%; font-size: 1.1em; line-height: 1.8; text-align: justify; margin:1em 0; }
#main .howto_txt .howto_txt_ex .box { border:solid 1px #333; padding:2rem; margin:2rem 0; }
#main .howto_txt .howto_txt_ex .box h3,
#main .howto_txt .howto_txt_ex .box h4,
#main .howto_txt .howto_txt_ex .box h5,
#main .howto_txt .howto_txt_ex .box h6 { margin-top:0; }
#main .howto_txt .howto_txt_ex .box p { font-size: 1.1em; line-height: 2; text-align: justify; margin:0 0 1em 0; }
#main .howto_txt .howto_txt_ex p:last-child { margin:0 0 0 0; }
#main .howto_txt .howto_txt_ex p.links a { display:block; margin:2em 0; padding:0.5em 1.5em; color:#333; border-radius: 0.5em; background-color: #eee; }
#main .howto_txt .howto_txt_ex p.links a:hover { color:#fff; background-color: #333; }
#main .howto_txt .howto_txt_ex p.links a::before { font-family: 'icomoon' !important; content: "\e902"; margin:0 0.5em 0 0; }

#main .howto_txt_en { width:90%; margin:2rem auto 2rem auto; }
#main .howto_txt_en .howto_txt_en--sec { flex-direction: column; margin:2rem auto; }
#main .howto_txt_en .howto_txt_en--sec h3 { width:100%; text-align: left; font-size: 1.4em; line-height: 1.5em; margin:2em auto 1em auto; }
#main .howto_txt_en .howto_txt_en--sec p { width:100%; text-align: left; font-size: 1.1em; line-height: 1.6em; }
#main .howto_txt_en .howto_txt_en--water { flex-direction: column; justify-content: center; margin:2rem auto; }
#main .howto_txt_en .howto_txt_en--water img { width:100%; padding:0 5rem; margin:0 0 2rem 0; }
#main .howto_txt_en .howto_txt_en--water p { width:100%; }
#main .howto_txt_en .howto_txt_en--tips { display:flex; justify-content: space-between; align-items: center; margin:0 auto 1.5rem auto; }
#main .howto_txt_en .howto_txt_en--tips .howto_txt_en--tips--title { font-size: 1.5em; font-style: italic; width:25%; padding:1em 0; border-top:solid 1px #333; border-bottom: solid 1px #333; display:flex; align-items:center;  justify-content: center; }
#main .howto_txt_en .howto_txt_en--tips img { width: 25%; padding:0; }
#main .howto_txt_en .howto_txt_en--tips p { width:65%; }

#main .free_head { width:100%; margin:0 auto 1rem auto; display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: center; align-items: flex-start; }
#main .free_head .free_head_title { width:auto; font-size: 1.5em; line-height: 1; margin:auto; text-align: center; margin:0 auto 1rem auto; }
#main .free_txt { margin:0 auto 3rem auto; }
#main .free_txt  p { font-size: 1.2em; line-height: 2; text-align: center; margin:0 0 1.5em 0; }

#main .zukan { margin:0 auto 0 auto; width:100%; }
#main .zukan .search { border-radius: 1em; background-color: #eee; margin:2rem auto 2rem auto; padding:2rem; width:90%; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .zukan .search form { width:100%; }
#main .zukan .search form dl { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; border-bottom:solid 1px #333; padding:0 0 1em 0; }
#main .zukan .search form dt { width:5%; }
#main .zukan .search form dt i { font-size: 1.5em; line-height: 1; margin:0 0.5em 0 0; }
#main .zukan .search form dd { width:90%; }
#main .zukan .search form dd .search_bn { width:100%; font-size: 1.2em; line-height: 1; padding:0.5em; background-color: #eee; }
#main .zukan .search #feature { width:100%; padding:2em 0 0 0; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; }
#main .zukan .search #feature li { width:100%; margin:0 0 0 0; display: flex; justify-content: space-between; }
#main .zukan .search #feature li div { width:47%; }
#main .zukan .search #feature li i { font-size: 1em; line-height: 1.5; margin:0 0.5em 0 0; }
#main .zukan .search #feature li select { font-size: 1.2em; line-height: 1.5; margin:0.5em 0; }
#main .zukan .search #feature li #names--ja,
#main .zukan .search #feature li #names--zh,
#main .zukan .search #feature li #names--en { width:7em; }
#main .zukan .search #feature li #genre--ja,
#main .zukan .search #feature li #genre--zh,
#main .zukan .search #feature li #genre--en { width:6em; }
#main .zukan .search #feature li #features--ja,
#main .zukan .search #feature li #features--zh,
#main .zukan .search #feature li #features--en { width:8em; }
#main .zukan .search #leaf { width:100%; margin:2rem 0 0 0;  }
#main .zukan .search #leaf ul { width:100%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .zukan .search #leaf ul li { width:33%; margin:0; }

#main .zukan .zukan_list { width:90%; margin:0 auto 0 auto; }
#main .zukan .zukan_list figure { position: relative; }
#main .zukan .zukan_list figure figcaption { position: absolute; top:1rem; left:1.5rem; font-size: 1.4em; line-height: 1; padding:0 0 0.4em 0; margin:0; border-bottom:solid 1px #333; }
#main .zukan .zukan_list .zukan_list_title { padding:1.5em 0 0 1; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; }
#main .zukan .zukan_list .zukan_list_title span { font-size: 1em; line-height: 1; }
#main .zukan .zukan_list .zukan_list_title i { font-size: 1em; line-height: 1; }
#main .zukan .zukan_list .zukan_list_price { font-size: 1em; line-height: 1; text-align: left; margin:1em 0 0 0.25em; }

#main .zukan_ex { margin:0 0 0 0; }
#main .zukan_ex .zukan_ex_photo { width:100%; margin:0 0 6rem 0; }

#main .zukan_ex_poem { padding:0 0 3rem 0; }
#main .zukan_ex_poem blockquote { margin:auto; text-align: left; }
#main .zukan_ex_poem blockquote p { font-size: 1.5em; line-height: 2.2; margin:0 0 0 1em; }
#main .zukan_ex_poem blockquote cite { font-size: 1em; line-height: 2; }

#main .zukan_ex_txt { width:80%; margin:0 auto 3rem auto; border-top:solid 1px #333; border-bottom:solid 1px #333; padding:3rem 0 2rem 0; display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: space-between; align-items: stretch; }
#main .zukan_ex_txt .zukan_ex_txt_feature { width:100%; text-align: left; margin:0 0 3rem 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature .zukan_ex_txt_feature_title { margin:0 0 2em 0; display:flex; flex-direction: column; text-align: left; }
#main .zukan_ex_txt .zukan_ex_txt_feature .zukan_ex_txt_feature_title .zukan_ex_txt_feature_title--ja { font-size: 2em; line-height: 1.4; margin:0 0 0.5em 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature .zukan_ex_txt_feature_title .zukan_ex_txt_feature_title--zh { font-size: 2em; line-height: 1.4; margin:0 0 0.5em 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature .zukan_ex_txt_feature_title .zukan_ex_txt_feature_title--en { font-size: 1em; line-height: 1.4; }
#main .zukan_ex_txt .zukan_ex_txt_feature .comment { margin: 0 0 3rem 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature .comment .comment--ja { font-size: 1.3em; line-height: 2; margin:0 0 2em 0; text-align: justify; }
#main .zukan_ex_txt .zukan_ex_txt_feature .comment .comment--zh { font-size: 1.3em; line-height: 2; margin:0 0 2em 0; text-align: justify; }
#main .zukan_ex_txt .zukan_ex_txt_feature .comment .comment--en { font-size: 1em; line-height: 1.8; margin:0 0 2em 0; letter-spacing: 0.05em; text-align: left; }
#main .zukan_ex_txt .zukan_ex_txt_feature details { display:block; width:100%; border-top:solid 1px #333; padding:2rem 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature details:first-of-type { margin:5rem 0 0 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature details[open] .summary_mark::before { content:"−"; }
#main .zukan_ex_txt .zukan_ex_txt_feature details[open] .details-content { animation: fadeIn 0.5s ease; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary { display:block; width:100%; outline: none; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .summary_title { width:100%; display:flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .summary_title .summary_title--ja { font-size: 0.9em; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .summary_title .summary_title--zh { font-size: 0.9em; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .summary_title .summary_title--en { font-size: 0.7em; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .summary_box { display:block; width:100%; font-size: 1.4em; line-height: 1.2em; cursor:pointer; list-style: none; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary::-webkit-details-marker { display:none; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .zukan_ex_txt_feature_title { display:block; width:90%; font-size: 2.2em; line-height: 1.4; margin:0 0 1em 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .summary_mark { display:block; text-align: right; width:10%; }
#main .zukan_ex_txt .zukan_ex_txt_feature details summary .summary_mark::before { content:"＋"; }
#main .zukan_ex_txt .zukan_ex_txt_feature details .details-content h3 { font-size: 1.3em; line-height: 1.4; margin:3em 0 1.5em 0; border:solid 1px #333; padding:0.5em; text-align: center; }
#main .zukan_ex_txt .zukan_ex_txt_feature details .details-content h4 { font-size: 1.3em; line-height: 1.4; margin:3em 0 1.5em 0; border-left:solid 1px #333; padding:0 0 0 1em; }
#main .zukan_ex_txt .zukan_ex_txt_feature details .details-content p { font-size: 1.2em; line-height: 2; margin:0 0 1.5em 0; text-align: justify; }
#main .zukan_ex_txt .zukan_ex_txt_feature details .details-content p:first-child { margin:2em 0 1.5em 0; }
#main .zukan_ex_txt .zukan_ex_txt_feature details .details-content p a { text-decoration: underline; }

#main .zukan_ex_txt .zukan_ex_txt_data { width:100%; padding:2em 0 0 0; border-left:none; border-top:solid 1px #333; text-align: left; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_a { width:100%; border-bottom:solid 1px #333; padding:0 0 2em 0; margin:0 0 2em 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_a dt { width:25%; font-size: 1.8em; line-height: 1.5em; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_a dd { width:75%; font-size: 1.05em; line-height: 1.8em; text-align: justify; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_b { width:100%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_b dt { width:45%; font-size: 1.4em; line-height: 1.5em; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_b dd { width:45%; padding:1em 0; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_att { border-bottom:solid 1px #333; padding:0 0 2rem 0; margin:0 0 2rem 0; }
#main .zukan_ex_txt .zukan_ex_txt_data .zukan_ex_txt_data_att p { font-size: 1.1em; line-height: 1.8; text-align: justify; margin:0 0 1em 0; }

#main .store_photo { margin:0 0 0 0; }
#main .store_photo figure { position: relative; }
#main .store_photo figure figcaption { position: absolute; left:1.5rem; bottom:1.5rem; font-size: 1.2em; line-height: 1.5; color:#fff; text-align:left; padding:0 1.5rem 0 0; }
#main .store_info { text-align: left; background-color: #eee; margin:0 auto 0 auto; padding:1.5rem; width:100%; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .store_info .store_info_l { width:100%; padding:0 0 0 0;  }
#main .store_info .store_info_l .store_info_title { font-size: 1.3em; line-height: 1; margin:0 0 1em 0; }
#main .store_info .store_info_l dl { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; }
#main .store_info .store_info_l dl dt { width:25%; font-size: 0.9em; line-height: 2; margin:0.75em 0 0 0; letter-spacing: 0; font-weight: normal; }
#main .store_info .store_info_l dl dd { width:75%; font-size: 1.1em; line-height: 1.5; margin:0.75em 0 0 0; text-align: left; letter-spacing: 0.05; }
#main .store_info .store_info_r { width:100%; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#main .store_info .store_info_r .store_banner { width:100%; height:100%; margin:1rem 0 0 0; }
#main .store_info .store_info_r .store_banner a { font-size: 1.2em; display: flex; justify-content: center; align-items: center; border:solid 1px #fff; height:4rem; text-align: center; color:#333; }
#main .store_info .store_info_r .store_banner a i { margin:0 1em 0 0; }
#main .store_info .store_info_r .store_banner a:hover { background-color: #fff; }

#main .store { margin:0 auto 3rem auto; width:100%; }
#main .store .store_list { margin:0 0 0 0; }
#main .store .store_list figure { position: relative; }
#main .store .store_list figure figcaption { position: absolute; top:1rem; right:1rem; font-size: 0.8em; line-height: 1; padding:0 0 0.4em 0; margin:0; border-bottom:solid 1px #fff; color:#fff; }
#main .store .store_list .store_list_title { padding:1em 0.1em 0 1em; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; }
#main .store .store_list .store_list_title span { width:90%; display:block; font-size: 1em; line-height: 1.5; text-align: left; }
#main .store .store_list .store_list_title .store_list_title_txt span { display:inline-block; width:auto; position: absolute; font-size: 0.8em; line-height: 1; padding:0 0 0.4em 0; top:1rem; left:1rem; border-bottom:solid 1px #fff; color:#fff; }
#main .store .store_list .store_list_title i { display:none; }
#main .store .store_list .store_list_price { padding:0 1em; font-size: 1em; line-height: 1; text-align: left; margin:0.5em 0 0 0; }
#main .store .store_recomended { width:90%; padding:2rem 0 0 0; margin:2rem auto 2rem auto; border-top:solid 1px #333; }
#main .store .store_recomended h3 { font-size: 1.3em; line-height: 1; text-align: left; margin:0 0 2rem 0; }
#main .store .store_recomended .store_list figure figcaption { position: absolute; top:0.5rem; right:0.5rem; font-size: 0.7em; line-height: 1; padding:0 0 0.4em 0; margin:0; border-bottom:solid 1px #fff; color:#fff; }
#main .store .store_recomended .store_list .store_list_title { padding:1em 0 0 0; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; }
#main .store .store_recomended .store_list .store_list_title span { width:90%; display:block; font-size: 1em; line-height: 1.5; text-align: left; }
#main .store .store_recomended .store_list .store_list_title .store_list_title_txt span { display:inline-block; width:auto; position: absolute; font-size: 0.8em; line-height: 1; padding:0 0 0.4em 0; top:1rem; left:1rem; border-bottom:solid 1px #fff; color:#fff; }
#main .store .store_recomended .store_list .store_ist_title i { width:10%; font-size: 1em; line-height: 1.5; }
#main .store .store_recomended .store_list .store_list_price { padding:0; font-size: 0.9em; line-height: 1; text-align: left; margin:1em 0 0 0;  letter-spacing: 0.03; }

#main .store .store_other { width:90%; padding:2rem 0 0 0; margin:2rem auto 2rem auto; border-top:solid 1px #333; }
#main .store.store_top .store_other { padding:0 0 0 0; margin:0 auto 1rem auto; border-top:none; }
#main .store .store_other .store_list figure figcaption { position: absolute; top:0.5rem; right:0.5rem; font-size: 0.7em; line-height: 1; padding:0 0 0.4em 0; margin:0; border-bottom:solid 1px #fff; color:#fff; }
#main .store .store_other .store_list .store_list_title { padding:1em 0 0 0; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; }
#main .store .store_other .store_list .store_list_title span { width:90%; display:block; font-size: 1em; line-height: 1.5; text-align: left; }
#main .store .store_other .store_list .store_list_title .store_list_title_txt span { display:inline-block; width:auto; position: absolute; font-size: 0.8em; line-height: 1; padding:0 0 0.4em 0; top:1rem; left:1rem; border-bottom:solid 1px #fff; color:#fff; }
#main .store .store_other .store_list .store_ist_title i { width:10%; font-size: 1em; line-height: 1.5; }
#main .store .store_other .store_list .store_list_price { padding:0; font-size: 0.9em; line-height: 1; text-align: left; margin:1em 0 0 0;  letter-spacing: 0.03; }

#main .store .store_guide { width:90%; margin:0 auto 0 auto; padding: 0 ; border-top:none; border-bottom:solid 1px #333;  display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#main .store .store_guide .guide_ex { width:100%; text-align: left; border-top:solid 1px #333; padding:1.5rem 5%;  }
#main .store .store_guide .guide_line { display: none; }
#main .store .store_guide .guide_ex h3 { font-size: 1.4em; line-height: 1; text-align: left; margin:0 0 1em 0; }
#main .store .store_guide .guide_ex h4 { font-size: 1.3em; line-height: 1; text-align: left; margin:2em 0 1em 0; }
#main .store .store_guide .guide_ex p { font-size: 1.1em; line-height: 1.8; text-align: left; margin:0 0 1em 0; letter-spacing: 0.05em; }
#main .store .store_guide .guide_ex p:last-child { margin:0 0 0 0; }

#main .store_all { width:90%; margin:0 auto; }
#main .store_sort { margin:0 auto; padding:2rem 0 0 0; border-bottom:none; }

#main .store_cat { margin:0 0 0 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#main .store_cat .li { font-size: 0.8em; padding:0 0 1.5em 0; border-top:solid 1px #fff; width: 25%; margin: 0; background-color: #eee; border-right:solid 1px #fff; }
#main .store_cat .li:last-child { border-right:none; }
#main .store_cat .li:nth-child(4) { border-right:none; }
#main .store_cat .li:hover { background-color: #fff; }
#main .store_cat .store_search { border-top:solid 1px #fff; width:100%; padding:0; margin: 0; background-color: #eee; }
#main .store_cat .store_search form { margin:0; padding:0; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: stretch; }
#main .store_cat .store_search form input[type="text"] { width:62.5%; border:none; font-size: 1.1em; line-height: 1; padding:1.5em 1em; background-color: #eee; }
#main .store_cat .store_search form input::placeholder { font-size: 0.9em; line-height: 1; color:#333; }
#main .store_cat .store_search form button { width:37.5%; background-color:#333; color:#fff; font-size: 0.9em; line-height: 1; padding:1em; }
#main .store_cat .store_search form button:hover { background-color:#fff; color:#333; }

#main .store_more { width:90%; padding:2rem 0 0 0; margin:3rem auto 2rem auto; border-top:solid 1px #333; }
#main .store_more a { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; font-size: 1.2em; line-height: 1; border:solid 1px #eee; background-color: #eee; padding:1.5rem 0; }
#main .store_more a:hover { background-color: #fff; color:#333; }
#main .store_more a i { margin:0 1em 0 0; }

#main .store_pager { background-color: #eee; padding:1.5rem 5% 0.75rem 5%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; font-size: 1.1em; }
#main .store_pager .store_pager_list { margin:0.5em 0.5em; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; }
#main .store_pager .store_pager_list .store_pager_list_item { margin:0.5em 0.5em; }
#main .store_pager .store_pager_list .store_pager_list_item .store_pager_list_link { color:#333; padding:0.25em; }
#main .store_pager .store_pager_list .store_pager_list_item .store_pager_list_link:hover { color:#333; border-top:solid 1px #333; border-bottom:solid 1px #333; }
#main .store_pager .store_pager_list .store_pager_list_item .store_pager_list_link.is-current { color:#333; border-top:solid 1px #333; border-bottom:solid 1px #333; }

#main .store_ex { margin:0 0 0 0; }
#main .store_ex .store_ex_photo { display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: space-between; align-items: stretch; margin:0 0 5rem 0; }
#main .store_ex .store_ex_photo .store_ex_photo_main { width:100%; margin:0 0 3rem 0; }
#main .store_ex .store_ex_photo .store_ex_photo_sub { display: none; }

#main .store_ex_txt { width:80%; margin:auto; padding:0 0 0 0; display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: space-between; align-items: stretch; }
#main .store_ex_txt .store_ex_txt_line { border-right:solid 1px #333; }
#main .store_ex_txt .store_ex_txt_feature { width:100%; text-align: left; padding:0 0; margin:0 0 2em 0; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_title { font-size: 1.6em; line-height: 1.4; margin:0 0 1em 0; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_title_explain { font-size: 0.8em; line-height: 1.4; margin:1em 0 3em 0; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex { font-size: 1.2em; line-height: 2; margin:0 0 1em 0; letter-spacing: 0.03; text-align: justify; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex h1 { font-size: 1.5em; line-height: 2; margin:2em 0 1em 0; text-align: left; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex h2 { font-size: 1.5em; line-height: 2; margin:2em 0 1em 0; text-align: left; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex h3 { font-size: 1.5em; line-height: 2; margin:2em 0 1em 0; text-align: left; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex h4 { font-size: 1.4em; line-height: 2; margin:2em 0 1em 0; text-align: left; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex h5 { font-size: 1.3em; line-height: 2; margin:2em 0 1em 0; text-align: left; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex h6 { font-size: 1.2em; line-height: 2; margin:2em 0 1em 0; text-align: left; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex h4+br { display:none; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex strong { font-weight: normal; }
#main .store_ex_txt .store_ex_txt_feature .store_ex_txt_feature_ex a { text-decoration: underline; }
#main .store_ex_txt .store_ex_txt_data { width:100%; padding:0 0 0 0; text-align: left; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_a { width:100%; border-bottom:solid 1px #333; padding:0 0 2em 0; margin:0 0 2em 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_a dt { width:25%; font-size: 1.2em; line-height: 1.5em; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_a dd { width:75%; font-size: 1em; line-height: 1.8em; text-align: justify; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_b { width:100%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_b dt { width:45%; font-size: 1.2em; line-height: 1.5em; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_b dd { width:55%; padding:1em 0; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_att { border-bottom:solid 1px #333; padding:0 0 2rem 0; margin:0 0 2rem 0; }
#main .store_ex_txt .store_ex_txt_data .store_ex_txt_data_att p { font-size: 1em; line-height: 1.8; text-align: justify; margin:0 0 1em 0; }
#main .store_ex_txt .store_ex_txt_data .cart {  }
#main .store_ex_txt .store_ex_txt_data .cart .cart_price { font-size: 1.6em; line-height: 1; margin:0 0 1rem 0; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_option dl { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_option dl dt { width:100%; padding:0; margin:1.5em 0 0.5em 0; font-size: 1em; line-height: 1.5; font-weight: normal; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_option dl dd { position: relative; width:100%; padding:0; margin:0 0 0 0; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_option dl dd::before { position: absolute; top:1em; right:1em; font-family: 'icomoon' !important; content: "\e901"; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_option dl dd select { width:100%; display:block; background-color: #eee; color:#333; padding:1em; height:auto; margin:0; font-size: 1.2em; line-height: 1; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_bot { margin:1em 0; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_bot button[type="submit"] { border:solid 1px #333; display:block; font-size: 1.4em; line-height: 1; text-align: center; padding:1.25em; background-color: #333; color:#fff; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_bot button[type="submit"]:hover { border:solid 1px #eee; background-color: #eee; color:#333; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_bot input[type="button"] { height:auto; border:solid 1px #333; display:block; font-size: 1.4em; line-height: 1; text-align: center; padding:1.25em; background-color: #333; color:#fff; }
#main .store_ex_txt .store_ex_txt_data .cart .free_shipping { margin:0 0 1.5em 0; }
#main .store_ex_txt .store_ex_txt_data .cart .free_shipping .free_shipping_ex { display:none; text-align: center; color:#999; border:solid 1px #999; padding:1em; }
#main .store_ex_txt .store_ex_txt_data .cart .free_shipping .free_shipping_ex:first-child { display:block; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_links {  }
#main .store_ex_txt .store_ex_txt_data .cart .cart_links li { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: center; font-size: 1em; line-height: 1.8; text-align: justify; margin:0 0 0.25em 0; }
#main .store_ex_txt .store_ex_txt_data .cart .cart_links li i { margin:0 0.75em 0 0; }

#main .common { margin:5rem auto; width:80%; text-align: left; }
#main .common h2 { font-size: 1.5em; line-height: 1; margin:3em 0 1.5em 0; border-left:solid 1px #333; padding:0 0 0 1em; }
#main .common p { font-size: 1.2em; line-height: 2; margin:0 0 2em 0; }
#main .common dl { margin:0 0 1.5em 0; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#main .common dl dt { width:100%; text-align: left; margin:1em 0 0.5em 0; font-size: 1.4em; line-height: 1.8; }
#main .common dl dd { width:100%; text-align: justify; margin:0 0 0 0; font-size: 1.2em; line-height: 1.8; }
#main .common dl dd img { width:auto; margin:0 0 1.5em 0; }

#main .common { flex-direction: column; }
#main .common .common--ja { width:100%; }
#main .common .common--zh { width:100%; }
#main .common .common--en { width: 100%; }

#footer { margin:0 -3rem 0 -3rem; padding:8rem 0 0 0; }
#footer footer { display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: center; align-items: flex-start; }
#footer footer .footer_logo { width:84%; margin:0 auto 4rem auto; }
#footer footer .footer_nav { width:100%; font-size: 1.6em; line-height: 1; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: center; align-items: flex-start; }
#footer footer .footer_nav .footer_nav_a { margin:0 auto 3rem auto; order:1; display: flex; flex-direction: row-reverse; flex-wrap: wrap; justify-content: center; align-items: flex-start; }
#footer footer .footer_nav .footer_nav_b { margin:0 auto 0 auto; order:2; font-size: 1em; letter-spacing: 0; display: flex; flex-direction: row-reverse; flex-wrap: wrap; justify-content: center; align-items: flex-start; }
#footer footer .footer_nav li { margin:0 0.5em; }
#footer footer .footer_nav li.sns { font-size: 1.2em; line-height: 1; }
#footer footer .footer_nav li.twitter { margin:0 0.35em; }
#footer footer .footer_nav li.facebook { margin:0 0.35em 0 1em; }

}

@media screen and (max-width: 374px) {
#header .header_logo { position: fixed; top:1rem; right:0.7rem; width:40%; }
#header .header_gnav { position: fixed; top:1.4rem; left:4rem; }
#header .header_gnav ul { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-end; }
#header .header_gnav ul li { width:1.25rem; margin:0 1rem 0 0; position: relative; }
#header .header_gnav ul li .cart_count { position: absolute; top:0; right:-3em; background-color: #eee; color:#333; border-radius: 50%; font-size: 1.2em; line-height: 2em; width:2em; text-align: center; }
#header .header_gnav ul li:hover .cart_count { background-color: #333; color:#fff; }
}

/* size */
html {
  font-size: clamp(12px, 0.925vw, 15px);
}

@media screen and (max-width: 600px) {
  html {
    font-size: clamp(0px, 3.2vw, 100px);
  }
}
