@charset "UTF-8";
@import "reset5.css";

body { color:#020102; line-height:1;  padding: 0; position: relative; min-height: 100%; background: #fff; }
html { min-height: 100%; }

* {word-wrap: break-word; }
img { -ms-interpolation-mode: bicubic; }
/* !font-size 14px default setting */
body { font-size: 14px; letter-spacing: 0.08em; font-family: neue-haas-grotesk-text, dnp-shuei-gothic-gin-std, Helvetica, Arial, Sans-Serif }
p, th, td, li, dt, dd, span { line-height: 2.0; letter-spacing: 0.12em; font-feature-settings: "palt" 1; }
h2, h3, h4, h5 { font-family: neue-haas-grotesk-display, dnp-shuei-gothic-gin-std, Helvetica, Arial, Sans-Serif; line-height: 1.6; letter-spacing: 0.16em; font-weight: 600; font-style: normal }

.mincho { font-family: YuMincho, 'Yu Mincho', serif;}

/* !clearfix */
hr { display: none; }

.cfix { zoom:1; }
.cfix:after{
    content:"";
    clear:both;
    display:block;
    height:0;
	font-style:italic
}

/* スクロールバーの有無によるズレ対策 */
html {
	overflow-y: scroll;
}

img { vertical-align: bottom; }


/* margin-bottom
=========================================*/
.mb0 { margin-bottom:0 !important; }
.mb3 { margin-bottom:3px !important; }
.mb4 { margin-bottom:4px !important; }
.mb5 { margin-bottom:5px !important; }
.mb7 { margin-bottom:7px !important; }
.mb10 { margin-bottom:10px !important; }
.mb12 { margin-bottom:12px !important; }
.mb15 { margin-bottom:15px !important; }
.mb20 { margin-bottom:20px !important; }
.mb25 { margin-bottom:25px !important; }
.mb30 { margin-bottom:30px !important; }
.mb35 { margin-bottom:35px !important; }
.mb40 { margin-bottom:40px !important; }
.mb50 { margin-bottom:50px !important; }
.mb60 { margin-bottom:60px !important; }
.mb80 { margin-bottom:80px !important; }

.mb1em { margin-bottom: 1em !important; }


/* margin-top
=========================================*/
.mt0 { margin-top:0 !important; }
.mt3 { margin-top:3px !important; }
.mt4 { margin-top:4px !important; }
.mt5 { margin-top:5px !important; }
.mt7 { margin-top:7px !important; }
.mt10 { margin-top:10px !important; }
.mt12 { margin-top:12px !important; }
.mt15 { margin-top:15px !important; }
.mt20 { margin-top:20px !important; }
.mt25 { margin-top:25px !important; }
.mt30 { margin-top:30px !important; }
.mt35 { margin-top:35px !important; }
.mt40 { margin-top:40px !important; }
.mt50 { margin-top:50px !important; }
.mt60 { margin-top:60px !important; }

.ml30 { margin-left:30px !important; }

.mr5 { margin-right:5px !important; }
.mr10 { margin-right:10px !important; }
.mr20 { margin-right:20px !important; }
.mr40 { margin-right:40px !important; }
.mr80 { margin-right:80px !important; }



/* padding-top
=========================================*/
.pt0 { padding-top:0 !important; }
.pt3 { padding-top:3px !important; }
.pt4 { padding-top:4px !important; }
.pt5 { padding-top:5px !important; }
.pt7 { padding-top:7px !important; }
.pt10 { padding-top:10px !important; }
.pt12 { padding-top:12px !important; }
.pt15 { padding-top:15px !important; }
.pt20 { padding-top:20px !important; }
.pt25 { padding-top:25px !important; }
.pt30 { padding-top:30px !important; }
.pt35 { padding-top:35px !important; }
.pt40 { padding-top:40px !important; }
.pt50 { padding-top:50px !important; }
.pt60 { padding-top:60px !important; }


.tx9 { font-size: 9px }
.tx10 { font-size: 10px }
.tx11 { font-size: 11px }
.tx12 { font-size: 12px }
.tx13 { font-size: 13px }
.tx14 { font-size: 14px }
.tx15 { font-size: 15px }
.tx16 { font-size: 16px }
.tx18 { font-size: 18px }
.tx20 { font-size: 20px }
.tx24 { font-size: 24px }

.ts-larger { font-size: 1.12em !important }
.ts-smaller { font-size: 0.88em !important }

.fltR { float: right; }
.fltL { float: left; }

.txtR { text-align: right; }
.txtL { text-align: left; }
.txtC { text-align: center; }

.pc_none { display: none }
.sp_none { display: block }


/* !Links */
a { cursor: pointer }
a:link { color: #272727; text-decoration: none }
a:visited { color: #272727; text-decoration: none }
a:hover { color: #a7a7a7; text-decoration: underline }
a:active { color: #af9c5e; text-decoration: none }


html {  }
#loader { position: fixed; left: 50%; top: 50%; z-index: 10000 }
#wrapper { position: relative; width: 100%; text-align: left; min-height: 100%; overflow: hidden }
#wrapper .w-cvr { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #fff; z-index: 100 }

/* リストの高さ揃える */
.list-flex { display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}


/* header */
#header { width:100%; height: 100px; background: #fff; text-align:left; position:fixed; left:0; top:0; z-index: 101; font-family: neue-haas-grotesk-display, sans-serif; letter-spacing: 0.12em; }
#header h1 { margin: 40px 0 0 2.9vw; }
#header .globalNav { position:absolute; right: 5.8vw; top: 0; margin-right: 25px; }
#header .globalNav li { float: left; }
#header .globalNav li a { display: block; font-size: 15px; padding: 35px 25px; }
#header .btn-menu { position: absolute; top: 0; right: 0; width: 5.8vw; height: 100px; line-height: 0; text-align: center; cursor:pointer; transition: all 0.2s }
#header .btn-menu span { position: absolute; width: 50%; height: 1px; left: 25%; top: 50%; background: #020102; display: block; line-height: 0; transition: all 0.2s }
#header .btn-menu span.ln1 { margin: -6px 0 0; }
#header .btn-menu span.ln2 { margin: 4px 0 0; }
#header .btn-menu:hover, #header .btn-menu.on { background: #e7e7e7 }
#header .btn-menu:hover span { width: 66.66%; left: 16.66% }
#header .btn-menu.on span.ln1 { transform: rotate(45deg); margin: 0; }
#header .btn-menu.on span.ln2 { transform: rotate(-45deg); margin: 0; }
#header .lang { position: absolute; top: 42px; left: 365px; margin: 0 0 0 2.9vw; }
#header .lang p { font-size: 15px; line-height: 1; letter-spacing: 0.16em }
#header .lang p a { color: #acabac; }
#header .lang p a:hover { color: #272727 }
#mega-menu { position: fixed; left: 0; top: 100px; width: 100%; background:#e7e7e7; z-index: 100; display: none }

/* footer */
#footer { position: relative; background:#e7e7e7; z-index: 1 }
.sitemap { text-align:left; padding:60px 11.6vw 50px; position: relative; }
.sitemap ul.clm { float: left; }
.sitemap .home { margin: 0 0 40px;}
.sitemap .home a { font-size:16px; letter-spacing:0.2em; }
.sitemap ul.clm1 { width:21%; }
.sitemap ul.clm2 { width:22%; }
.sitemap ul.clm3 { width:22%; }
.sitemap ul.clm4 { width:20%; }
.sitemap ul.clm5 { width:15%; }
.sitemap ul.clm li { margin:0 0 35px; }
.sitemap ul.clm li li { margin:0; }
.sitemap ul ul { margin:5px 0 0; }
.sitemap ul li.cat { font-size:16px; }
.sitemap ul li.cat span { color: #acabac; font-size: 11px; line-height: 1; margin: 0 0 25px; display: block; }
.sitemap ul li.cat li {font-size:14px; letter-spacing: 0.08em; padding: 0 0 8px 15px; }
.sitemap .sns_btn { font-size:0; margin: 0 0 0 -25px !important; width: 150px; }
.sitemap .sns_btn li { display:inline-block; margin:0 0 0 25px !important; }
.sitemap .sns_btn li a { display: block }
.sitemap .sns_btn li a:hover { transform: scale(1.08) }
.footer-logo { position: relative; text-align: center; background: #fff; padding: 15px 4.8vw; margin-bottom: 56.25vw; z-index: 10 }
.bottom-area { position: fixed; left: 0; bottom: 0; width: 100%; height: 56.25vw; background: url("../img/footer_img.jpg") no-repeat; background-size: cover; z-index: 0 }
.bottom-area .copy { color:#fff; font-size: 12px; position: absolute; bottom: 0; left: 50%; margin: 0 0 50px -55px; }
.bottom-area .sowell-logo { position: absolute; bottom: 85px; left: 50%; margin: 0 0 0 -90px; }
.bottom-area .since { color: #fff; font-size: 18px; font-weight: 500; position: absolute; top: 0; left: 50%; margin: 20px 0 0 -95px; }
.bottom-area img { position: relative; z-index: 0 }



.tagline { position: fixed; top: 350px; right: 0; margin: 0; width: 5.8vw; font-family: neue-haas-grotesk-display, sans-serif; letter-spacing: 0.12em; z-index: 10 }
.tagline p {font-size: 12px; color: #acabac; white-space: nowrap; transform: rotate(90deg); margin: 0; }
#top .tagline { top: 50%; }

#main { position: relative; padding: 100px 0 0; z-index: 1; background: #fff }
#main .main-img { padding: 0 5.8vw 0 0; }
#main h2.btit { color: #fff; font-size: 60px; line-height: 1; letter-spacing: 0.1em; position: absolute; bottom: -6px; left: 5.8vw; width: 100%; }

#contents { position: relative; padding: 0 0 180px; background: #fff; z-index: 10; }

.fd { position: relative; opacity: 0 }
.fd .fd-inner { position: relative; top: 120px }
.fd .fd-inner .cvr { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background: #fff; /*opacity: 0.9*/ }


/* top */
#top #contents { padding: 80px 0 200px; }
#top h3 { font-size: 44px; letter-spacing: 0.06em; line-height: 1; }
#top .btn-more { text-align: right; }
#top .btn-more a { font-size: 16px; font-weight: 600; position: relative; display: block; }
#top .btn-more a .arw { position: absolute; bottom: 0.2em; right: 13.6em; }

.shitate { padding: 0 0 320px; position: relative; } 
.shitate .read { font-size: 20px; font-weight: 600; letter-spacing: 0.3em; position: absolute; top: 0; left: 0; padding: 0 0 0 56.2%; }
.shitate h2 { margin: 0 0 75px 11.6vw; }
.shitate .pic01 {padding: 0 49.2% 0 0;}
.shitate .pic02 {position: absolute; top: 95px; left: 0; padding: 0 0 0 56.2%; }
.shitate p { font-size: 16px; padding: 60px 11.6vw 0; }
.shitate .btn-more a { position: absolute; bottom: 0.2em; right: 5.8vw; }
.shitate .btn-more a .arw { right: 8.2em !important; }

.brand-collection { padding: 0 0 160px; position: relative; }
.brand-collection .cvr { height: calc(100% + 170px) }
.brand-collection h3 { position: absolute; top: -170px; left: 5.8vw; }
.brand-collection ul { margin: 0 0 0 -5.5vw; padding: 0 0 0 5.8vw; border-bottom: 1px solid #e5deca; position: relative; }
.brand-collection ul li { float: left; width: 32vw; }
.brand-collection ul li .inner { padding: 0 0 0 5.5vw; }
.brand-collection ul li h4 { font-size: 18px; font-weight: 600; line-height: 0.6; margin: 50px 0 0; }
.brand-collection ul li a { display: block;}
.brand-collection ul li a img { transition: all 0.2s }
.brand-collection ul li a:hover img { transform: scale(1.08) }
.brand-collection .row01 { margin: 0 0 100px; }
.brand-collection .row02 { margin: 0 0 100px; }
.brand-collection .row03 { margin: 0 0 30px; }
.brand-collection .row01 li.feature { width: 63%; position: absolute; bottom: 0; right: 2vw; } 
.brand-collection .row02 ul { text-align: center; }
.brand-collection .row02 ul li { display: inline-block; float: inherit; text-align: left; }
.brand-collection .btn-more a { padding: 0 5.8vw; }
.brand-collection .vr-view { padding: 0 5.8vw }
.brand-collection .vr-view .vr-inner { position: relative; max-height: 720px; border-bottom: solid 1px #e5deca; text-align: center; overflow: hidden }
.brand-collection .vr-view .vr-inner h4 { position: absolute; left: 0; bottom: 0; font-size: 18px; line-height: 0.6; font-weight: 600; }
.brand-collection .vr-view .vr-inner h4 span { font-weight: 400 }
.brand-collection .vr-view .vr { position: relative; margin: -8.8vh auto 0 }

.original-parts { padding: 0 0 160px 5.8vw; } 
.original-parts ul { padding: 40px 11.6% 0 0; }
.original-parts ul li { width: 33.333%; float: left; border-left: 1px solid #e5deca; box-sizing: border-box; }
.original-parts ul li .inner { margin: 10px 0 60px; }
.original-parts ul li img:not(.ico) { width: 18vw; transition: all 0.2s }
.original-parts ul li h4 { font-size: 26px; line-height: 1; letter-spacing: 0.06em; margin: 50px 0 0; }
.original-parts ul li h4 span { font-size: 16px; font-weight: normal; line-height: 1; display: block; margin: 10px 0 0; }
.original-parts ul li a { display: block;}
.original-parts ul li a:hover img { transform: scale(1.08) }
.original-parts ul li:nth-child(1) .pic { padding: 0 0 0 4vw; }
.original-parts ul li:nth-child(2) .pic { padding: 0 0 0 4.7vw; }
.original-parts ul li:nth-child(3) .pic { padding: 0 0 0 5.5vw; }
.original-parts .btn-more a { padding: 2em 5.8vw 0; }

.surface-treatment {}
.surface-treatment h3 { padding: 0 0 0 5.8vw; }
.surface-treatment ul { margin: 50px 0 0 -2.2vw; }
.surface-treatment ul li { width: 33.333%; float: left; }
.surface-treatment ul li .inner { margin: 0 0 0 2.2vw; position: relative; }
.surface-treatment ul li h4 { color: #fff; font-size: 30px; line-height: 1; letter-spacing: 0.06em; position: absolute; bottom: 6.6vw; left: 2.57vw; }
.surface-treatment ul li h4 span { font-size: 16px; font-weight: normal; display: block; margin: 5px 0 0; }
.surface-treatment ul li a { display: block; transition: all 0.2s }
.surface-treatment ul li a:hover { transform: scale(1.032) }
.surface-treatment .btn-more a { padding: 2em 5.8vw 0; }

.news { padding: 0 5.8vw; }
.news ul { border-top: 1px solid #e5deca; margin: 35px 0 0; }
.news ul li { position: relative; border-bottom: 1px solid #e5deca; padding: 40px 5.8vw; }
.news ul li .date { color: #acabac; font-size: 18px; font-weight: 600; float: left; width: 13.6%; }
.news ul li a { font-size: 18px; float: left; width: 86.4%; }
.news ul li .det { float: left; padding: 2em 0 0 13.6%; display: none }
.news ul li .plus { position: absolute; right: 2.9vw; top: 2.9vw; font-size: 18px; line-height: 1em; transition: all 0.2s }
.news ul li.on .plus { transform: rotate(45deg) }
.news .btn-more a { padding: 2em 0 0; }
.news .btn-more a .arw { right: 8.2em !important; }


/* top-2510 */
#top-2510 #header { background: none }
#top-2510 #contents { background: #fff; padding: 0; }
#top-2510 .btn-more { text-align: right; }
#top-2510 .btn-more a { font-size: 16px; font-weight: 600; position: relative; display: block; }
#top-2510 .btn-more a .arw { position: absolute; bottom: 0.2em; right: 13.6em; }
#brand-mov { position: relative; width: 100%; height: 100vh; background: #000; z-index: 1 }
.kv { position: relative; width: 100%; height: 100vh; background: url("../img/kv02.jpg") no-repeat center center; background-size: cover; z-index: 1; }
.mov { position: relative; background: #000; width: 100%; height: 100vh; overflow: hidden }
.mov video { position: absolute; left: 0; top: 0; }
.snd-btn { position: absolute; right: 36px; bottom: 36px; width: 36px; height: 36px; background: url("../img/sound_on.png") no-repeat; background-size: contain; transition: all 0.2s; cursor: pointer }
.snd-btn.muted { position: absolute; right: 36px; bottom: 36px; width: 36px; height: 36px; background: url("../img/sound_off.png") no-repeat; background-size: contain; transition: all 0.2s; cursor: pointer }
.snd-btn:hover { opacity: 0.5; transform: scale(1.12) }
.top-brand-concept { background: #ebe9e5; padding: 6.4vw 0 0 }
.top-brand-concept h2.en { font-size: 32px; color: #fff; letter-spacing: 0.08em }
.top-brand-concept h3 { font-size: 20px; margin-bottom: 1em }
.top-brand-concept .concept-01 { position: relative; }
.top-brand-concept .concept-01 .vis { position: relative; z-index: 0 }
.top-brand-concept .concept-01 h2 { position: absolute; left: 61.8%; top: 21.56%; font-size: 24px; color: #fff; z-index: 10 }
.top-brand-concept .concept-01 .block-inner { position: absolute; left: 61.8%; top: calc(21.56% + 76px); max-width: 450px; color: #fff }
.top-brand-concept .concept-01 .block-inner .logotype { margin-top: 2em }
.top-brand-concept .concept-02 { position: relative; }
.top-brand-concept .concept-02 .vis { position: relative; z-index: 0 }
.top-brand-concept .concept-02 h2.en { position: absolute; left: 6.4vw; top: 30%; color: #fff; z-index: 10 }
.top-brand-concept .concept-02 h2.ja { position: absolute; left: 73.75%; top: 21.5%; font-size: 24px; letter-spacing: 0.5em; color: #fff; writing-mode: vertical-rl;　z-index: 10;　　}
.top-brand-concept .concept-02 .block-inner { position: absolute; left: 61.8%; bottom: 6.4vw; max-width: 450px; color: #fff }
.top-brand-concept .concept-02 .block-inner h3 { font-size: 20px !important }
.top-brand-concept .concept-03 { position: relative; padding: 6.4vw 6.4vw 0 0; text-align: right }
.top-brand-concept .concept-03 .vis { width: 58.8vw }
.top-brand-concept .concept-03 h2.en { position: absolute; left: 38vw; top: 50%; z-index: 10 }
.top-brand-concept .concept-03 .block-inner { position: absolute; left: 6.4vw; top: 12.8vw; text-align: left }
.top-brand-concept .concept-04 { position: relative; padding: 0 6.4vw 0 0; }
.top-brand-concept .concept-04 .vis { width: 65vw }
.top-brand-concept .concept-04 h2.en { position: absolute; left: 6.4vw; bottom: 6.4vw; z-index: 10 }
.top-brand-concept .concept-04 .block-inner { position: absolute; left: 71.4vw; top: 6.4vw; text-align: left }
.top-links { padding: 6.4vw; text-align: center }
.top-links li { display: inline-block; margin: 0 auto }
.top-links li a { position: relative; display: inline-block; font-size: 24px; line-height: 2em; font-weight: 500; width: auto; padding-right: 36px; white-space: nowrap; }
.top-links li a:link,.top-brand-concept .links li a:visited { text-decoration: underline }
.top-links li a::after { position: absolute; content: ""; right: 2px; top: calc(50% - 4px); width: 14px; height: 8px; background: url("../img/arw_link.png") no-repeat; background-size: contain; transition: all 0.2s }
.top-links li a:hover::after { right: 0 }
.top-new-collection { padding: 0 0 3.2vw; border-bottom: solid 1px #ebe9e5 }
.top-new-collection .head { position: relative }
.top-new-collection .head h2 { position: absolute; left: 0; top: 50%; width: 100%; font-size: 40px; letter-spacing: 0.08em; color: #fff; text-align: center }
.top-new-collection ul { padding: 3.2vw 0 0 }
.top-new-collection li { width: 50% }
.top-new-collection li a { position: relative; display: block; padding: 0 6.4vw 3.2vw; transition: all 0.2s }
.top-new-collection li a img { transition: all 0.2s }
.top-new-collection li a:hover { opacity: 0.5 }
.top-new-collection li a:hover img { transform: scale(1.08) }
.top-new-collection li a .ico-new { position: relative; font-size: 12px; line-height: 1em; color: #f10505 }
.top-new-collection li a h3 { position: relative; font-size: 20px; font-weight: 600; letter-spacing: 0.08em; line-height: 1.5em }
.top-new-collection li a h3 .ja { font-size: 14px; font-weight: 400; margin-left: 0.75em; }
.top-new-collection li:nth-child(odd) a::after { content: ""; position: absolute; right: 0; top: 3.2vw; display: block; width: 1px; height: calc(100% - 6.4vw); background: #ebe9e5 }
.top-collection {}
.top-collection .block-inner { border-bottom: solid 1px #ebe9e5 }
.top-collection .block-inner .head { padding: 3.2vw 6.4vw }
.top-collection .block-inner h2 { font-size: 32px; letter-spacing: 0.08em }
.top-collection .block-inner p { font-size: 15px }
.top-collection .block-inner ul { padding: 0 }
.top-collection .block-inner li { width: 25% }
.top-collection .block-inner li a { position: relative; display: block; padding: 0 3.2vw 4.8vw; border-right: solid 1px #ebe9e5; transition: all 0.2s }
.top-collection .block-inner li a img { transition: all 0.2s }
.top-collection .block-inner li a:hover { opacity: 0.5 }
.top-collection .block-inner li a:hover img { transform: scale(1.08) }
.top-collection .block-inner li:last-child a { border-right: none }
.top-collection .block-inner li a .ico-new { font-size: 12px; line-height: 1em; color: #f10505 }
.top-collection .block-inner li a h3 { font-size: 18px; font-weight: 600; letter-spacing: 0.08em; line-height: 1.5em }
.top-collection .block-inner li a h3 .ja { font-size: 12px; font-weight: 400; margin-left: 0.75em; }
.top-collection #alternative.block-inner li { width: 33.33% }
.top-collection #alternative.block-inner li a { padding: 0 4.8vw 4.8vw; }
.top-collection .top-links { padding: 4.8vw 6.4vw }
.top-others { position: relative; margin-top: 6.4vw }
.top-others ul { position: absolute; left: 9.6vw; top: calc(50% - 6em) }
.top-others li { display: block; margin-bottom: 1em }
.top-others li a { position: relative; display: block; font-size: 24px; line-height: 2em; font-weight: 500; width: 11em }
.top-others li a:link, .top-others li a:visited { color: #fff }
.top-others li a:hover { color: #a7a7a7; }
.top-others li a .ja { position: absolute; left: 8.5em; bottom: 0.5em; font-size: 14px; font-weight: 400 }
.top-others li a:link,.top-brand-concept .links li a:visited { text-decoration: underline }
.top-others li a::after { position: absolute; content: ""; right: 2px; top: calc(50% - 4px); width: 14px; height: 8px; background: url("../img/arw_link.png") no-repeat; background-size: contain; transition: all 0.2s }
.top-others li a:hover::after { right: 0 }

/* shitate */
#shitate h2.btit { position: absolute; bottom: 0; left: 5.8vw; }

#shitate .intro { padding: 75px 5.8vw 120px; position: relative; }
#shitate .intro .sec-inner { position: relative; }
#shitate .intro h2 { position: absolute; top: 0; left: 0; }
#shitate .intro .box01 { padding: 60px 0 0 375px; }
#shitate .intro .box02 { padding: 120px 375px 0 80px; }
#shitate .intro h3 { font-size: 20px; letter-spacing: 0.2em; margin: 0 0 35px; }
#shitate .intro { font-size: 16px; }
#shitate .intro .figure { position: absolute; bottom: 0; right: 0; }
#shitate .link-area ul { margin: 0 0 0 -2.2vw; }
#shitate .link-area ul li { float: left; width: 33.333%; }
#shitate .link-area ul.four li { width: 25%; }
#shitate .link-area ul li .inner { margin: 0 0 0 2.2vw; position: relative; }
#shitate .link-area ul li h3 { color: #fff; font-size: 36px; font-weight: normal; position: absolute; bottom: 6.6vw; left: 1vw; }
#shitate .link-area ul li .arw { position: absolute; bottom: 2.2vw; right:2.2vw; transition: all 0.2s }
#shitate .link-area ul li a { display: block; transition: all 0.2s }
#shitate .link-area ul li a:hover { transform: scale(1.032) }
#shitate .link-area ul li a:hover .arw { right: 1.8vw; transform: scale(1.08) }
#shitate .message { padding: 120px 5.8vw; position: relative; }
#shitate .message .txt { background: #fff; background:rgba(255,255,255,0.8); position: absolute; top: 0; left: 0; height: 100%; width: 50% }
#shitate .message .txt .inner { padding: 8vw 0 0 5.5vw; }
#shitate .message .txt p { font-size: 16px; width:500px; }
#shitate .message .txt p span { font-weight: 500; }
#shitate .logo_sowell { text-align: center; margin: 60px 0 0; }
#shitate .logo_sowell a { display: block; transition: all 0.2s }
#shitate .logo_sowell a:hover { transform: scale(1.06); }


/* shitate-lower */
#shitate-lower .lower-tit { padding: 60px 0 0; }
#shitate-lower .lower-tit h2 { font-size: 64px; font-weight: 500; padding: 0 3.4vw; }
#shitate-lower h2.btit { position: absolute; bottom: 0; left: 5.8vw; }
#shitate-lower .lower-tit .tit-l { float: left; width: 26.4vw }
#shitate-lower .lower-tit .txt-r { float: left; width: 60vw;}
#shitate-lower .lower-tit .txt-r p { font-size: 16px; }

#shitate-lower h3 { font-size: 32px; letter-spacing: 0.1em; margin: 0 0 15px; }
#shitate-lower h3 .ja { font-size: 18px; color: #acabac; font-weight: 500; display: block; }
#shitate-lower h3 span { line-height: 1.2 }
#shitate-lower .item { font-size: 12px; }
#shitate-lower .item span { font-weight: 600; text-decoration: underline; }

#shitate-lower .shitate-idx p { font-size: 18px; font-weight: 500; padding: 0 5.8vw; }
#shitate-lower .shitate-idx p span { font-weight: normal; font-style: italic; }
#shitate-lower .shitate-idx ul { margin: 0 0 0 -2.2vw; }
#shitate-lower .shitate-idx ul li { float: left; width: 33.333%; margin: 0 0 3.6vw; }
#shitate-lower .shitate-idx ul li:nth-child(n+4) { width: 25%; }
#shitate-lower .shitate-idx ul li .inner { margin: 0 0 0 2.2vw; position: relative; }
#shitate-lower .shitate-idx ul li h3 { color: #fff; font-size: 32px; font-weight: normal; position: absolute; top: calc(50% - 0.8em); left: 1vw; }
#shitate-lower .shitate-idx ul li .arw { position: absolute; bottom: 2.2vw; right:2.2vw; transition: all 0.2s }
#shitate-lower .shitate-idx ul li a { display: block; transition: all 0.2s }
#shitate-lower .shitate-idx ul li a:not(.cur):hover { transform: scale(1.032) }
#shitate-lower .shitate-idx ul li a:not(.cur):hover .arw { right: 1.8vw; transform: scale(1.08) }

.quality { padding: 0 0 160px; }
.quality .list-parts { padding: 80px 5.8vw 120px; }
.quality .list-parts ul { margin: 0 0 0 -4.4vw; }
.quality .list-parts ul li { width: 33.333%; float: left; padding: 2.2vw 0; }
.quality .list-parts ul li .inner { margin: 0 0 0 4.4vw; }
.quality .list-parts p { font-size: 15px; margin: 40px 0 0; }
.quality .list-parts .num { font-size: 16px; color: #acabac; display: block }
.quality .list-parts .line { border-left: 1px solid #f1eee3; padding: 0 0 20px 20px; }
.quality .list-parts .figure { padding: 0 16vw 4.4vw; }
.quality .t-spine { padding: 2.2vw 8.8vw 0; }
.quality .t-spine .pic { padding: 0 8.8vw; }
.quality .t-spine .box { margin: 30px 0 0;}
.quality .t-spine .box .pic { float: left; width: 45%; padding: 0; }
.quality .t-spine .box .txt { float: left; width: 55%; }
.quality .t-spine .box .txt p { margin: 0 0 0 3vw; }
.quality .sample ul { margin: 0 0 8.8vw -5.8vw; }
.quality .sample ul li { width: 50%; float: left; }
.quality .sample ul li .inner { margin: 0 0 0 5.8vw; }
.quality .sample ul li .pic {margin: 15px 0 0} 
.quality .sample ul li:nth-child(odd) .item { padding: 0 0 0 5.8vw; }
.quality .new { font-size: 20px; color: tomato; display: block; }

.feeling { padding: 0 0 160px; }
.feeling p { font-size: 16px; }
.feeling .block01 { position: relative; margin: 30px 0 0; }
.feeling .block01 .txt-l { width: 50%; position: absolute; top: 0; left: 0; }
.feeling .block01 .txt-l .inner { padding: 2.5vw 2.9vw 0 8.8vw; }
.feeling .block01 .pic { text-align: right; padding: 0 4.4vw 0 0; }
.feeling .block02 { margin: 130px 0 0; }
.feeling .block02 .img-l { width: 50%; float: left; }
.feeling .block02 .img-l .pic { padding: 0 2.9vw 0 0; }
.feeling .block02 .txt-r { width: 50%; float: left; }
.feeling .block02 .txt-r .inner { padding: 0 5.8vw 0 2.9vw; }
.feeling .block02 .item { padding: 10px 0 0 5.8vw; }
.feeling ul { margin: 90px 0 8.8vw -4.4vw; }
.feeling ul li { width: 33.3%; float: left; }
.feeling ul li .inner { margin: 0 0 0 4.4vw; }
.feeling .inner-block { padding: 0 8.7vw; margin: 40px 0 0 }
.feeling .inner-block h3.s { font-size: 24px !important }
.feeling .inner-block .s-line { margin-right: -20px }
.feeling .inner-block .s-line .cont { float: left; width: calc(100% - 648px - 5.8vw); margin-right: 5.8vw }
.feeling .inner-block .s-line .cont-s { float: left; width: 284px ; margin: 0 20px}
.feeling .inner-block .s-line .cont-s h4 { font-size: 18px; margin-bottom: 0.25em }
.feeling .inner-block .s-line .cont-s p { font-size: 14px }
.feeling .block01 .s-lt { width: 50%; margin: 70px auto 0; text-align: center }
.feeling .block01 .s-lt h4 { font-size: 20px; margin-top: 1em }
.feeling .block01 .s-lt h4 .ja { font-size: 16px; color: #acabac; font-weight: 500; margin-left: 1em }

.beauty { padding: 0 0 160px; }
.beauty ul { margin: 70px 0 0 -5.8vw; }
.beauty ul li { width: 50%; float: left; margin: 0 0 8.8vw; }
.beauty ul li .inner { margin: 0 0 0 5.8vw; }
.beauty ul li .pic { margin: 0 0 40px; }
.beauty ul li p { font-size: 16px; }
.beauty ul li:nth-child(odd) h3 { padding: 0 0 0 5.8vw; }
.beauty ul li:nth-child(odd) p { padding: 0 0 0 5.8vw; }
.beauty ul li:nth-child(even) h3 { padding: 0 5.8vw 0 0; }
.beauty ul li:nth-child(even) p { padding: 0 5.8vw 0 0; }
.beauty ul li .item { margin: 20px 0 0; }

.designer { padding: 0 0 160px; }
.designer h4 { font-size: 32px !important; margin: 0 0 30px; }
.designer h4 span { font-size: 18px !important; }
.designer .block { padding: 70px 5.8vw 0; }
.designer .block .img-r { width: 50%; float: right; }
.designer .block .img-r .pic { padding: 0 0 0 2.9vw; }
.designer .block .txt-l { width: 50%; float: left; }
.designer .block .txt-l .inner { padding: 0 2.9vw; }
.designer .block .txt-l { font-size: 16px; }
.designer .office { margin: 70px 0 0; }
.designer .office a { display: block; transition: all 0.2s }
.designer .office a:hover { opacity: 0.6; }
.designer .office p { font-size: 14px; margin: 20px 0 0; }

.legacy { padding: 0 0 160px; }
.legacy .block { padding: 70px 0 0 5.8vw; }
.legacy .block .img-r { width: 50%; float: right; }
.legacy .block .img-r .pic { padding: 0 0 0 2.9vw; }
.legacy .block .img-r .cap { font-size: 12px; padding: 10px 0 0; }
.legacy .block .txt-l { width: 50%; float: left; }
.legacy .block .txt-l .inner { padding: 0 2.9vw; }
.legacy .block .txt-l { font-size: 16px; }

.origin { padding: 0 0 160px; }
.origin .block01 { padding: 70px 5.8vw 0 0; }
.origin .block01 .img-l { width: 50%; float: left; }
.origin .block01 .img-l .pic { padding: 0 2.9vw 0 0; }
.origin .block01 .img-l .cap { font-size: 12px; padding: 10px 5.8vw 0; }
.origin .block01 .txt-r { width: 50%; float: right; }
.origin .block01 .txt-r .inner { padding: 0 0 0 2.9vw; }
.origin .block01 .txt-r { font-size: 16px; }
.origin .block01 h4 { font-size: 18px !important; margin: 0 0 0.5em; }
.origin .block02 { padding: 70px 11.7vw 80px; }
.origin .block02 h4 { font-size: 24px !important; letter-spacing: 0.3em !important; margin: 0 0 20px; }
.origin .block02 h4 span { color: #020102 !important; font-weight: normal !important; display: inline !important; }
.origin .block02 p { font-size: 16px; }

.special-bnr { padding: 0 5.8vw; }
.special-bnr .bnr { background: #f7f7f7; position: relative; }
.special-bnr .pic { width: 50%; float: right; }
.special-bnr .txt { position: absolute; top: 50%; left: 0; margin: -55px 0 0; padding: 0 0 0 5.8vw; width:32vw; }
.special-bnr .txt .tit { font-size: 19px; letter-spacing: 0.2em; margin: 5px 0 0; }
.special-bnr .txt .tit span { font-size: 24px; }
.special-bnr .txt .person span { font-size: 18px; }
.special-bnr a { display: block; color: #020102; transition: all 0.2s }
.special-bnr a:hover { transform: scale(1.02) }

.designer-interview-bnr { padding: 0 5.8vw; margin: 100px 0 0; }
.designer-interview-bnr .bnr { background: #f7f7f7; position: relative; }
.designer-interview-bnr .pic { width: 50%; float: left; }
.designer-interview-bnr .txt { position: absolute; top: 50%; left: 0; margin: -55px 0 0; padding: 0 0 0 49vw; width:32vw;  }
.designer-interview-bnr .txt .person { margin: 15px 0 0; }
.designer-interview-bnr .txt .person span { font-size: 18px; }
.designer-interview-bnr a { display: block; color: #020102; transition: all 0.2s }
.designer-interview-bnr a:hover { transform: scale(1.02) }

.history { padding: 0 0 160px; }
#shitate-lower .history .lower-tit h2 { font-size: 48px; font-weight: 600; padding: 0 5.8vw; }
#shitate-lower .history .lower-tit h2 span { font-size: 32px; font-weight: 500; font-family: YuMincho, 'Yu Mincho', serif; }
.history .inner-block { padding: 70px 5.8vw 0; margin: 0 auto; max-width: 960px }
.history .inner-block table { font-size: 16px }
.history .inner-block table th { font-weight: 600; padding: 2em; border-bottom: solid 1px #565656; vertical-align: top }
.history .inner-block table td { padding: 2em; border-bottom: solid 1px #acabac }
 
/* collection */
#collection .search-area { padding: 20px 0 0; }
#collection .search-area .btn { font-size: 14px; line-height: 1; padding: 13px 0; border: 1px solid #e5deca; border-radius: 40px; display: block; width: 13.6vw; text-align: center; transition: all 0.2s }
#collection .search-area .btn:hover { transform: scale(1.04); background: #f8f7f2 } 
#collection .search-area .cur { border: 1px solid #af9c5e; }
#collection .search-area .area01 { padding: 0 5.8vw 40px; }
#collection .search-area .area01 p { font-size: 20px; font-weight: 500; margin: 0 0 30px; }
#collection .search-area .area01 ul { margin: 0 0 0 -1.47vw; }
#collection .search-area .area01 ul li { float: left; }
#collection .search-area .area01 ul li .inner { margin: 0 0 0 1.47vw; }
#collection .search-area .area02 ul { border-top: 1px solid #ababab; border-bottom: 1px solid #ababab; }
#collection .search-area .area02 ul li { float: left; width: 25%; border-left: 1px solid #ababab; box-sizing: border-box; text-align: left; }
#collection .search-area .area02 ul li:first-child { border-left: none; }
#collection .search-area .area02 ul li .btn { margin: 0 auto; }
#collection .search-area .area02 ul li .inner { padding: 40px 5.8vw; }
#collection .search-area .area02 ul li p { font-size: 18px; line-height: 1; margin: 0 0 15px; }
#collection .search-area .area02 ul li p span { color: #acabac; font-size: 12px; display: block; }
#collection .search-area .btn-search { text-align: center; }
#collection .search-area .btn-search a { font-size: 18px; font-weight: 600; padding: 60px 0; line-height: 1em; position: relative; display: block }
#collection .search-area .btn-search a span { line-height: 1em; }
#collection .search-area .btn-search a:hover { text-decoration: none; background: #f8f7f2 }
#collection .search-area .btn-search .ico {  }
#collection .sur-lists { border-bottom: 1px solid #ababab; padding: 40px 5.8vw; display: none }
#collection .sur-lists ul { text-align: center }
#collection .sur-lists li { display: inline-block; margin: 0 0.5em }
#collection .sur-lists li .btn { padding: 13px 24px; width: auto }
#collection .search-foot { position: relative }
#collection .search-foot .counter { position: absolute; top: 50%; right: 5.8vw; margin-top: -2em } 
#collection .search-foot .counter span { font-size: 24px; }
#collection .idx { position: relative; }
#collection .idx ul { border-top: 1px solid #e5deca; }
#collection .idx ul li.item { width: 33.333%; float: left; border-right: 1px solid #e5deca; border-bottom: 1px solid #e5deca; box-sizing: border-box; }
/*#collection .idx ul li.item:first-child { border-left: none; }*/
#collection .idx ul li.item .inner { padding: 2.75vw; }
#collection .idx ul li.item a { display: block; height: 27.5vw; position: relative; transition: all 0.2s }
#collection .idx ul li.item a .ico { position: absolute; right: 0; top: 0; }
#collection .idx ul li.item a .cur { background: #f8f7f2; display: block; width: 100%; height: 27.5vw; position: absolute; top: 0; left: 0; mix-blend-mode:multiply; opacity: 0; transition: all 0.2s }
#collection .idx ul li.item a:hover { transform: scale(1.04)}
#collection .idx ul li.item a:hover .cur { opacity: 1; }
#collection .idx ul li.item img:not(.ico) { margin: 5.8vw 0 0; }
#collection .idx ul li.item h3 { font-size: 20px; line-height: 1; position: absolute; bottom: 0; left: 2.9vw; }
#collection .idx ul li.item h3 .kana { font-size: 12px; margin: 5px 0 0; display: block; }
#collection h2.tit-original-item { font-size: 40px; line-height: 1; letter-spacing: 0.1em; text-align: center; padding: 80px 0 40px; }


#search-lay { position: fixed; left: 0; top: 0; width: 100%; height: 100vh; background: rgba(0,0,0,0.66); z-index: 1000; display: none }
#search-lay .sl-lists { position: absolute; left: 25%; top: 0; width: 0%; height: 100vh; background: #fff; overflow-y: scroll }
#search-lay .sl-lists li { padding: 3vw; border-bottom: 1px solid #e5deca; display: block; cursor: pointer; opacity: 0 }
#search-lay .sl-lists li:hover { background: #f8f7f2; }
#search-lay .sl-lists:nth-child(2) { left: 50%; }
#search-lay .sl-lists:nth-child(3) { left: 75%; }

/* collection-detail */
.back { padding: 30px 5.8vw 0;}
.detail { padding: 80px 17vw 130px; }
.detail .date { text-align: center; display: block; margin-bottom: 0.5em }
.detail h3 { font-size: 40px; letter-spacing: 0.1em; text-align: center; margin: 0 0 50px; }
.detail h3 .kana { font-size: 20px; line-height: 1; display: block; }
.detail main { margin: 0 0 1em }
.detail .outline { padding: 0 8vw; margin: 0 0 40px; }
.detail .outline p { font-size: 15px; margin: 0 0 35px; }
.detail .tag { margin: 0 0 0 -10px; }
.detail .tag li { line-height: 1;  background: #f7f6f3; border-radius: 40px; padding: 10px 20px; margin: 5px 0; display: inline-block; } 
.detail .product p { text-align: center; }
.detail .product ul { margin: 60px 0 0; }
.detail .product ul li { margin: 0 0 120px; }
.detail .product h4 { font-size: 16px; font-weight: normal; padding: 0 8vw; }
.detail .product h4 span { font-size: 18px; font-weight: 600; }
.detail .product .btn-more { text-decoration: underline; font-style: italic; position: absolute; bottom: 0; right: 0; }
.detail .vr-view { position: relative; margin: 0 0 120px; border-bottom: solid 1px #e5deca }
.detail .vr-view h4 { font-size: 18px; font-weight: 600; padding: 0 8vw; }
.detail .vr-view .ico { position: absolute; right: 0; top: 0; }
/*.detail .vr-view .vrWrap { border: solid 2px #e7e7e7 }*/
.detail .spec { padding: 0 8vw; }
.detail .spec p { float: left; text-align: left; line-height: 2.4 !important; width: 75%; }
.detail .spec .item { width: 100px !important; }
.detail .spec .box_l { width: 50%; float: left; }
.detail .spec .box_r { width: 50%; float: left; }
.detail .product.original-item ul li:last-child { margin-bottom: 0; }
.detail .original-item-detail { margin: 120px 0 0; }
.detail .original-item-detail .clm1 li { margin: 0 0 40px; }
.detail .original-item-detail .clm1 li:last-child { margin-bottom: 0; }
.detail .original-item-detail .clm1 li p { margin: 10px 0 0; }
.detail .original-item-detail .clm2 { margin: 0 0 0 -30px; }
.detail .original-item-detail .clm2 li { width: calc(50% - 30px); float: left; margin: 0 0 0 30px; }

.original-item .block01, .original-item .block02 { margin: 0 0 100px; } 
.original-item .block03 ul li { margin: 0 !important; }

.btn-prev-next { border-bottom: 1px solid #e5deca; padding: 0 5.8vw; }
.btn-prev-next a { font-size: 20px; font-style: italic; line-height: 0.7; }
.btn-prev-next .prev { float: left; width: 20% }
.btn-prev-next .next { float: right; width: 20%; text-align: right }
.btn-back-to-idx { text-align: center; margin: 30px 0 0; }
.btn-back-to-idx a { font-size: 20px; font-weight: 500; font-style: italic; border-bottom: 1px solid #020102; }
.btn-back-to-idx span { font-style: normal; }

.pager { text-align: center; margin: 20px 0 0; }
.pager li { display: inline-block }
.pager li a { display: block; line-height: 40px; width: 40px }
.pager li a.cur { border-radius: 20px; background: #f2eee4 }



/* Stores */
#stores .search-area { padding: 20px 0 0; }
#stores .search-area .btn { font-size: 14px; line-height: 1; padding: 13px 0; border: 1px solid #e5deca; border-radius: 40px; display: block; width: 100%; text-align: center; transition: all 0.2s }
#stores .search-area .btn:hover { transform: scale(1.04); background: #f8f7f2 } 
#stores .search-area .cur { border: 1px solid #af9c5e; }
#stores .search-area .area01 { padding: 0 5.8vw 40px; }
#stores .search-area .area01 p { font-size: 20px; font-weight: 500; margin: 0 0 40px; }
#stores .search-area .area01 h3 { font-size: 16px; font-weight: 500; margin: 0; }
#stores .search-area .area02 ul { border-top: 1px solid #ababab; border-bottom: 1px solid #ababab; }
#stores .search-area .area02 ul li { float: left; width: 33.33%; border-left: 1px solid #ababab; box-sizing: border-box; text-align: left; }
#stores .search-area .area02 ul li:first-child { border-left: none; }
#stores .search-area .area02 ul li .btn { margin: 0 auto; display: block }
#stores .search-area .area02 ul li .inner { padding: 40px 5.8vw; }
#stores .search-area .area02 ul li p { font-size: 18px; line-height: 1; margin: 0 0 15px; }
#stores .search-area .area02 ul li p span { color: #acabac; font-size: 12px; display: block; }
#stores .search-area .area02 ul li:last-child .inner { padding: 0; }
#stores .search-area .btn-search { text-align: center; }
#stores .search-area .btn-search a { font-size: 18px; font-weight: 600; padding: 80px 0; line-height: 1em; position: relative; display: block }
#stores .search-area .btn-search a span { line-height: 1em; }
#stores .search-area .btn-search a:hover { text-decoration: none; background: #f8f7f2 }
#stores .search-area .btn-search .ico {  }

#stores .idx { position: relative; }
#stores .idx .title { padding: 3vw 5.8vw; }
#stores .idx .title h2 { font-size: 18px }
#stores .idx ul { border-top: 1px solid #e5deca; }
#stores .idx ul li.store { width: 33.333%; float: left; border-right: 1px solid #e5deca; border-bottom: 1px solid #e5deca; box-sizing: border-box; }
#stores .idx ul li.store .inner { padding: 5.8vw; }
#stores .idx ul li.store h3 { font-size: 16px; margin: 0 0 0.5em }
#stores .idx ul li.store p a:link, #stores .idx ul li.store p a:visited { font-weight: 700; text-decoration: underline }
#stores .idx ul li.store p a:hover { color: #af9c5e }

#stores #search-lay .sl-lists { position: absolute; left: 33.33%; }
#stores #search-lay .sl-lists li { padding: 3vw; }
#stores #search-lay .sl-lists:nth-child(2) { left: 66.66%; }


/* Media */
#media .intro { padding: 20px 5.8vw 40px; }
#media .intro p { font-size: 20px; font-weight: 500; margin: 0 0 40px; }
#media .intro p.lead { font-size: 16px; font-weight: 400; padding: 0 5.8vw; }
#media .idx ul { border-top: 1px solid #ababab; }
#media .idx ul li.ico { float: left; width: calc(33.333% - 1px); border: 1px solid #ababab; border-width: 0 1px 1px 0; }
#media .idx ul li.ico .inner { padding: 15px; }
#media .idx ul li.ico a { display: block; position: relative; transition: all 0.2s }
#media .idx ul li.ico a h3 { padding: 2.75vw; font-size: 18px; letter-spacing: 0.12em }
#media .idx ul li.ico a h3 span { font-weight: 400; font-size: 14px; }
#media .idx ul li.ico a .cur { background: #f8f7f2; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; mix-blend-mode:multiply; opacity: 0; transition: all 0.2s }
#media .idx ul li.ico a:hover { transform: scale(1.04) }
#media .idx ul li.ico a:hover .cur { opacity: 1; }
#media .publication h2 { font-size: 20px; font-weight: 500; padding: 5.8vw }
#media .publication .sec-inner { padding: 0 calc(5.8vw + 1em) }
#media .publication ul { padding: 0 1.5vw 5.8vw; margin-top: -1.5vw }
#media .publication ul li.pub { float: left; width: 25% }
#media .publication ul li.pub a { display: block; padding: 1.5vw }
#media .publication ul li.pub a .date { margin: 0.5em 0; display: inline-block }
#media .publication ul li.pub a h3 { font-weight: 600; font-size: 15px }
#media .publication ul li.pub a:hover .thumb { transition: all 0.2s }
#media .publication ul li.pub a:hover .thumb { transform: scale(1.04) }
#media .mov { width: 100%; height: 0; position: relative; padding-top: 56.25%; overflow: hidden; }
#media .mov iframe { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }

#media .detail h3 { font-size: 32px;}
.detail .sec-pub { padding: 3vw 8vw }
.detail .sec-pub h4 { font-size: 18px; margin-bottom: 1em }


/* News */
#news .stit { padding: 20px 5.8vw 40px; }
#news .stit p { font-size: 20px; font-weight: 500; }
.news-foot { margin: 0 -5.8vw; padding: 5.8vw 0 0 }


/* Journal */
.journal { padding: 5.8vw 0 0 }
.journal .special-bnr, .journal .designer-interview-bnr, .journal { margin: 0 0 2.9vw; }
.bnr-pic-l { padding: 0 5.8vw; margin: 0 0 2.9vw; }
.bnr-pic-l .bnr { background: #f7f7f7; position: relative; }
.bnr-pic-l .pic { width: 50%; float: left; }
.bnr-pic-l .txt { position: absolute; top: 50%; left: 0; margin: -55px 0 0; padding: 0 0 0 49vw; width:32vw; }
.bnr-pic-l .txt .tit { font-size: 19px; letter-spacing: 0.2em; margin: 5px 0 0; }
.bnr-pic-l .txt .tit span { font-size: 24px; }
.bnr-pic-l .txt .person span { font-size: 18px; }
.bnr-pic-l a { display: block; color: #020102; transition: all 0.2s }
.bnr-pic-l a:hover { transform: scale(1.02) }
.journal .special-feature { text-align: center; }
.journal .special-feature .date { font-size: 14px; margin: 10px 0 0; }
.journal .special-feature .mincho { font-size: 16px;  margin: 10px 0 0; }


/* Conatact */
#contact .stit { padding: 20px 5.8vw 40px; }
#contact .stit p { font-size: 20px; font-weight: 500; }
#contact section.contact { padding: 0 5.8vw; }
#contact section.contact .sec-inner { padding: 0 1em; }
.thanks { text-align: center; padding: 5.8vw 0; }
.thanks h3 { font-size: 32px; margin-bottom: 1em; }


/* After Service */
#after-service .intro { padding: 30px 5.8vw 40px; text-align: left }
#after-service .intro h2 { font-size: 32px; font-weight: 500; margin: 0 0 40px; font-family: YuMincho, 'Yu Mincho', serif; }
#after-service .intro p.lead { font-size: 16px; font-weight: 400; }
.after-service { padding: 0; }
.after-service .inner-block { padding: 0 5.8vw; margin: 0 auto; max-width: 960px }
.after-service .container { padding: 40px; background: #f7f7f7; border-radius: 16px }
.after-service .container h3 { font-size: 18px; margin-bottom: 0.5em }
.after-service h3.mincho { font-size: 22px; margin: 40px 0 0.5em }
.after-service .container ul { margin: -1em 0 }
.after-service .container li { padding: 1em 0; border-top: dotted 1px #acabac }
.after-service .container li:first-child { border: none }
.after-service .container li h4 { font-size: 16px; margin-bottom: 0.25em }
.after-service .cap { margin-top: 2em }


a.zoom { display: block; position: relative; transition: all 0.2s }
a.zoom:hover { transform: scale(1.04) }
a.zoom .ico { position: absolute; right: 20px; top: 0; }
.view { position: fixed; left: 0; top: 100%; width: 100%; height: 100%; background: #e7e7e7; /*display: none;*/ z-index: 10001 }
.view-inner { width: 100%; height: 100%; margin: 0; background: #fff; }
.view .box { position: absolute; left: 50%; top: 50%; width: 1024px; height:682px; margin: -341px 0 0 -512px; background-color: #fff; text-align: center; }
.view .close { position: absolute; left: 0; bottom: 5%; width: 100%; text-align: center; z-index: 1000 }

img.gray {
opacity: 0.33;
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: grayscale(100%);
}


@media screen and (max-width: 1220px) {
    #header .globalNav li a { padding: 35px 15px; }
} 


@media screen and (max-width: 1080px) {
    #header .globalNav { display: none; }
}


@media screen and (max-width: 780px) {
	
    body { font-size: 13px; line-height: 1.6; -webkit-text-size-adjust: none; }
	
    a { text-decoration:none; -webkit-tap-highlight-color:rgba(0,0,0,0); -webkit-touch-callout:none; }

    .pc_none { display: block }
    .sp_none { display: none }
    
    /* header */
    #header { height: 60px; }
    #header h1 { margin: 15px 0 0 2.9vw; }
    #header h1 img { height: 9px; }
    #header .globalNav { display: none; }
    #header .btn-menu { width: 40px; height: 60px }
	#header .btn-menu span { width: 50%; }
    #header .lang { position: absolute; top: 23px; left: 235px; margin: 0; }
    #header .lang p { font-size: 13px; line-height: 1; }
	#mega-menu { left: 0; top: 60px; width: 100%; height: calc(100vh - 60px); overflow-y: scroll }


    /* footer */
    #footer .sitemap { padding: 20px 5.8vw 0; }
    #footer .home { margin: 0 0 20px;}
    #footer .home a { font-size:15px; }
    #footer .sitemap ul.clm1 { width: 50%; }
    #footer .sitemap ul.clm2 { width:50%; }
    #footer .sitemap ul.clm3 { width:50%; }
    #footer .sitemap ul.clm4 { width:50%; }
    #footer .sitemap ul.clm5 { width:50%; }
    #footer .sitemap ul.clm li { margin: 0 0 20px; }
    #footer .sitemap ul ul { margin:0; }
    #footer .sitemap ul li.cat { font-size:14px; }
    #footer .sitemap ul li.cat span { font-size: 10px; margin: 0; display: block; }
    #footer .sitemap ul li.cat ul { margin-top: 1em }
    #footer .sitemap ul li.cat li { font-size:10px; letter-spacing: 0.08em; padding: 0 0 0 10px; margin: 0 }
    /*#footer .sitemap .sns_btn { position: absolute; bottom: 33px; left: 58%; margin: 0 !important; }
    #footer .sitemap .contact { position: absolute; bottom: 50px; left: 66.66%; }*/
    .bottom-area .copy { font-size: 10px; position: absolute; bottom: 0; left: 50%; margin: 0 0 10px -50px; }
    .bottom-area .sowell-logo { position: absolute; bottom: 45px; left: 50%; margin-left: -60px; }
    .bottom-area .sowell-logo img { width: 120px }
    .bottom-area .since { font-size: 15px; margin: 20px 0 0 -75px; }
    
    .tagline { position: fixed; top: 68px; letter-spacing: 0.08em; }
    .tagline p {font-size: 8px; }
    #top .tagline { top: 68px; }
    
    #main { padding: 60px 0 0; }
    #main .main-img { padding: 0 5.8vw 0 0; }
    #main h2.btit { font-size: 30px; position: absolute; bottom: -3px; left: 20px; }
    
    
    #mega-menu .sitemap { padding: 20px 5.8vw 0; }
    #mega-menu .home { margin: 0 0 20px; }
    #mega-menu .home a { font-size:15px; display: block; padding-bottom: 1em; border-bottom: dotted 1px #fff }
    #mega-menu .sitemap ul.clm1 { width:100%; }
    #mega-menu .sitemap ul.clm2 { width:100%; }
    #mega-menu .sitemap ul.clm3 { width:100%; }
    #mega-menu .sitemap ul.clm4 { width:100%; margin: 0; }
    #mega-menu .sitemap ul.clm5 { width:100%; margin: 0; }
    #mega-menu .sitemap ul.clm li { margin:0 0 20px; }
    #mega-menu .sitemap ul ul { margin:0; }
    #mega-menu .sitemap ul li.cat { font-size:15px; padding-bottom: 1em; border-bottom: dotted 1px #fff }
    #mega-menu .sitemap ul li.cat a { display: block }
    #mega-menu .sitemap ul li.cat span { font-size: 10px; margin: 0; display: block; }
    #mega-menu .sitemap ul li.cat li { display: none; }
    #mega-menu .sitemap .sns_btn { position: relative; bottom: inherit; left: inherit; margin: 0 !important; }
    #mega-menu .sitemap .contact { position: relative; bottom: inherit; left: inherit; }

	
    #contents { padding: 0 0 100px; }
    

    /* top */
    #top #contents { padding: 40px 0 100px; }
    #top h3 { font-size: 32px; }
    #top .btn-more a { font-size: 14px; }
    #top .btn-more a .arw { position: absolute; bottom: 0.33em; right: 10em; height: 8px; }

    .shitate { padding: 0 0 80px; } 
    .shitate .read { font-size: 16px; line-height: 1.6; position: static; padding: 0 5.8vw; }
    .shitate h2 { margin: 0 5.8vw 20px; }
    .shitate h2 img { width: 180px; }
    .shitate .pic01 {padding: 0 0 5.8vw 5.8vw; margin: 30px 0 0; }
    .shitate .pic02 {position: static; padding: 2.9vw 5.8vw }
    .shitate p { font-size: 14px; padding: 5.8vw 5.8vw 0; }
    .shitate .btn-more a { position: static; padding: 1em 0 0; }
 
    .brand-collection { padding: 0 0 80px; }
    .brand-collection h3 { position: static; padding: 0 5.8vw; margin: 0 0 30px; }
    .brand-collection ul { padding: 0; border-bottom: none; }
    .brand-collection ul li { width: 100%; border-bottom: 1px solid #e5deca; margin: 0 0 50px; }
    .brand-collection ul li a { padding: 0 5.8vw !important }
    .brand-collection ul li h4 { font-size: 15px; margin: 30px 0 0; }  
    .brand-collection .row01 { margin: 0; }
    .brand-collection .row02 { margin: 0; }
    .brand-collection .row03 { margin: 0; }
    .brand-collection .row01 li.feature { width: 100%; position: static; } 
    .brand-collection .row02 ul li { float: none; width: 100%; }
    .brand-collection .row03 ul li:last-child { margin: 0 }
    .brand-collection .btn-more a { padding: 1em 5.8vw 0;  }
    .brand-collection .vr-view .vr-inner { max-height: inherit; padding: 11.6vw 0 }
    .brand-collection .vr-view .vr-inner h4 { font-size: 15px; }
    .brand-collection .vr-view .vr { margin: 0 auto }
 
    .original-parts { padding: 0 0 80px; }
    .original-parts h3 { padding: 0 5.8vw; }
    .original-parts ul { padding: 30px 0 0 0; }
    .original-parts ul li { width: 100%; }
    .original-parts ul li .inner { margin: 10px 5.8vw 20px; }
    .original-parts ul li img:not(.ico) { width: 100%; }
    .original-parts ul li .zoom .ico { right: 0 !important }
    .original-parts ul li h4 { font-size: 24px; margin: 0; }
    .original-parts ul li h4 span { font-size: 13px; font-weight: normal; line-height: 1; display: block; margin: 10px 0 0; }
    .original-parts ul li:nth-child(1) .pic { padding: 20px 25vw; }
    .original-parts ul li:nth-child(2) .pic { padding: 20px 25vw; }
    .original-parts ul li:nth-child(3) .pic { padding: 0 25vw 10px; }
    .original-parts ul li:nth-child(1) { border-bottom: 1px solid #e5deca; }
    .original-parts ul li:nth-child(2) { border-bottom: 1px solid #e5deca; }
    .original-parts .btn-more a { padding: 1em 5.8vw 0; }
    
    .surface-treatment {}
    .surface-treatment ul { margin: 10px 0 0 0; padding: 0 5.8vw; }
    .surface-treatment ul li { width: 100%; margin: 10px 0 0; }
    .surface-treatment ul li .inner { margin: 0; }
    .surface-treatment ul li h4 { font-size: 26px; }
    .surface-treatment ul li h4 span { font-size: 13px; }
    .surface-treatment .btn-more a { padding: 1em 5.8vw 0;  }

    .news ul { padding: 0; }
    .news ul li { padding: 15px 5.8vw; }
    .news ul li .date { font-size: 13px; float: none; width: 100%; }
    .news ul li a { font-size: 13px; float: none; width:100% }
    .news ul li .det { float: none; padding: 2em 0 0; display: none }
    .news ul li .plus { right: 0 }
    
    /* top-2510 */
    #top-2510 #contents { background: #fff; padding: 0; }
    #top-2510 .btn-more a { font-size: 14px; }
    #top-2510 .btn-more a .arw { position: absolute; bottom: 0.33em; right: 10em; height: 8px; }
    #brand-mov { position: relative; width: 100%; height: 100vh; height: 100dvh; background: #000; z-index: 1 }
    .kv { position: relative; width: 100%; height: 100vh; height: 100dvh; background: url("../img/kv02_sp.jpg") no-repeat center center; background-size: cover; z-index: 1; }
	.snd-btn { right: 12px; bottom: 12px; }
    .top-brand-concept { background: #ebe9e5; padding: 6vw 0 0 }
    .top-brand-concept h2.en { font-size: 20px; color: #fff; letter-spacing: 0.08em }
    .top-brand-concept h3 { font-size: 15px; margin-bottom: 0.66em }
    .top-brand-concept .concept-01 { padding: 0 0 9vw }
    .top-brand-concept .concept-01 h2 { position: relative; left: inherit; top: inherit; font-size: 20px; color: #020102; padding: 6vw 6vw 1em }
    .top-brand-concept .concept-01 .block-inner { position: relative; left: inherit; top: inherit; max-width: inherit; color: #020102; padding: 0 6vw }
    .top-brand-concept .concept-01 .block-inner .logotype { margin-top: 1em }
    .top-brand-concept .concept-02 { position: relative; }
    .top-brand-concept .concept-02 h2.en { position: absolute; left: 6vw; top: 10%; color: #fff; z-index: 10 }
    .top-brand-concept .concept-02 h2.ja { position: absolute; left: 80%; top: 10%; font-size: 16px; letter-spacing: 0.4em; color: #fff; writing-mode: vertical-rl;　z-index: 10;　　}
    .top-brand-concept .concept-02 .block-inner { position: relative; left: inherit; bottom: inherit; max-width: inherit; color: #020102; padding: 6vw 6vw 9vw }
    .top-brand-concept .concept-02 .block-inner h3 { font-size: 16px !important }
    .top-brand-concept .concept-03 { position: relative; padding: 0 6vw; text-align: left }
    .top-brand-concept .concept-03 .vis { width: 100% }
    .top-brand-concept .concept-03 h2.en { position: absolute; left: 12vw; top: 50vw; z-index: 10 }
    .top-brand-concept .concept-03 .block-inner { position: relative; left: inherit; top: inherit; padding: 6vw 0 9vw 6vw; text-align: left }
    .top-brand-concept .concept-04 { position: relative; padding: 0 6vw 0 0; }
    .top-brand-concept .concept-04 .vis { width: 100% }
    .top-brand-concept .concept-04 h2.en { position: absolute; left: 6vw; bottom: inherit; top: 48vw; z-index: 10 }
    .top-brand-concept .concept-04 .block-inner { position: relative; left: inherit; top: inherit; padding: 6vw 0 6vw 12vw; text-align: left }
    .top-links { padding: 6vw; text-align: center }
    .top-links li { display: inline-block }
    .top-links li a { position: relative; display: block; font-size: 18px; line-height: 2em; font-weight: 500; padding-right: 36px }
    .top-links li a::after { position: absolute; content: ""; right: 2px; top: calc(50% - 4px); width: 14px; height: 8px; background: url("../img/arw_link.png") no-repeat; background-size: contain; transition: all 0.2s }
    .top-new-collection { padding: 0 0 3vw; border-bottom: solid 1px #ebe9e5 }
    .top-new-collection .head { position: relative }
    .top-new-collection .head h2 { position: absolute; left: 0; top: 50%; width: 100%; font-size: 22px; letter-spacing: 0.08em; color: #fff; text-align: center }
    .top-new-collection ul { padding: 3vw 6vw 0 }
    .top-new-collection li { width: 100% }
    .top-new-collection li a { position: relative; display: block; padding: 0 6vw 3vw; border-bottom: solid 1px #ebe9e5 }
    .top-new-collection li:last-child a { border-bottom: none }
    .top-new-collection li a .thumb { margin-bottom: -6vw }
    .top-new-collection li a .ico-new { font-size: 10px; }
    .top-new-collection li a h3 { font-size: 16px; line-height: 1.25em; }
    .top-new-collection li a h3 .ja { font-size: 12px; font-weight: 400; margin-left: 0.5em; }
    .top-new-collection li:nth-child(odd) a::after { display: none; }
    .top-collection {}
    .top-collection .block-inner { border-bottom: none }
    .top-collection .block-inner .head { padding: 6vw 6vw 3vw }
    .top-collection .block-inner h2 { font-size: 20px; letter-spacing: 0.08em }
    .top-collection .block-inner p { font-size: 13px }
    .top-collection .block-inner ul { padding: 0 }
    .top-collection .block-inner li { width: 50% }
    .top-collection .block-inner li a { position: relative; display: block; padding: 0 3vw 6vw; border-right: solid 1px #ebe9e5; border-bottom: solid 1px #ebe9e5; }
    .top-collection .block-inner li a img { transition: all 0.2s }
    .top-collection .block-inner li a:hover { opacity: 0.5 }
    .top-collection .block-inner li a:hover img { transform: scale(1.08) }
    .top-collection .block-inner li:last-child a { border-right: none }
    .top-collection .block-inner li a .ico-new { font-size: 12px; line-height: 1em; color: #f10505 }
    .top-collection .block-inner li a h3 { font-size: 14px; font-weight: 600; letter-spacing: 0.08em; line-height: 1.5em }
    .top-collection .block-inner li a h3 .ja { font-size: 10px; font-weight: 400; margin-left: 0.5em; }
    .top-collection #alternative.block-inner li { width: 50% }
    .top-collection #alternative.block-inner li a { padding: 0 3vw 6vw; }
    .top-collection #alternative.block-inner li:last-child a { border-right: solid 1px #ebe9e5; }
    .top-collection .top-links { padding: 4.8vw 6.4vw }
    .top-others { position: relative; margin-top: 6vw }
    .top-others ul { position: absolute; left: 9vw; top: calc(50% - 4.5em) }
    .top-others li { display: block; margin-bottom: 0 }
    .top-others li a { position: relative; display: block; font-size: 18px; line-height: 2em; font-weight: 500; width: 11em }
    .top-others li a:link, .top-others li a:visited { color: #fff }
    .top-others li a:hover { color: #a7a7a7; }
    .top-others li a .ja { position: absolute; left: 8.5em; bottom: 0.5em; font-size: 12px; font-weight: 400 }
    .top-others li a:link,.top-brand-concept .links li a:visited { text-decoration: underline }
    .top-others li a::after { position: absolute; content: ""; right: 2px; top: calc(50% - 4px); width: 14px; height: 8px; background: url("../img/arw_link.png") no-repeat; background-size: contain; transition: all 0.2s }
    .top-others li a:hover::after { right: 0 }

    
       
    /* shitate */
	#shitate h2.btit { position: absolute; bottom: 0; left: 20px; }	
	
    #shitate .intro { padding: 40px 5.8vw 0; margin: 0 0 40px; }
    #shitate .intro h2 { position: static; top: 0; left: 0; }
    #shitate .intro h2 img { width: 180px; }
    #shitate .intro .box01 { padding: 30px 0 0 0; }
    #shitate .intro .box02 { padding: 30px 0 0 0; }
    #shitate .intro h3 { font-size: 18px; margin: 0 0 5px; }
    #shitate .intro { font-size: 15px; }
    #shitate .intro .figure { position: static; text-align: center; padding: 0 11.6vw; margin: 20px 0 0; }
    #shitate .intro .figure img { width: 100%; }
    #shitate .link-area { padding: 0 5.8vw; }   
    #shitate .link-area ul { margin: 0; }
    #shitate .link-area ul li { width: calc(50% - 2px); margin: 1px; }
    #shitate .link-area ul.four li { width: calc(50% - 2px); }
    #shitate .link-area ul li .inner { margin: 0; }
    #shitate .link-area ul li h3 { font-size: 24px; }
    #shitate .link-area ul.four li h3 { font-size: 20px; }
    #shitate .message { margin: 0; padding: 40px 5.8vw }
    #shitate .message img { width: calc(100% + 11.6vw); margin: 0 -5.8vw }
    #shitate .message .txt { position: static; margin: 20px 0 0; width: 100%  }
    #shitate .message .txt .inner {padding: 0; }
    #shitate .message .txt p { font-size: 15px; width: auto; }
	#shitate .logo_sowell { margin: 40px 0 0; }
	#shitate .logo_sowell img { width: 200px; }
	#shitate .logo_sowell a:hover { transform: scale(1.0); }		
	
	
	/* shitate-lower */
	#shitate-lower .lower-tit { padding: 50px 5.8vw 0; }
	#shitate-lower .lower-tit h2 { font-size: 34px; padding: 0; margin: 0 0 0 -20px; }
	#shitate-lower h2.btit { position: absolute; bottom: 0; left: 20px; }		
	#shitate-lower .lower-tit .tit-l { width: 100%; }
	#shitate-lower .lower-tit .txt-r { width: 100%; margin: 20px 0 0; }
    #shitate-lower .lower-tit .txt-r p { font-size: 13px; }
	#shitate-lower h3 { font-size: 28px; }
	#shitate-lower h3 .ja { font-size: 15px; }
    #shitate-lower p { font-size: 14px }

	#shitate-lower .shitate-idx p { padding: 0 5.8vw; }
	#shitate-lower .shitate-idx ul li { width: 50%; margin: 0 0 2.2vw; }
    #shitate-lower .shitate-idx ul li:nth-child(n+4) { width: 50%; }
	#shitate-lower .shitate-idx ul li h3 { font-size: 16px; }
	#shitate-lower .shitate-idx ul li .arw { height: 8px; }
	

	.quality { padding: 0 0 50px; }
	.quality .list-parts { padding: 50px 5.8vw 40px; }
	.quality .list-parts ul { margin: 0; }
	.quality .list-parts ul li { width: 100%; padding: 5.8vw 0 0; }
	.quality .list-parts ul li .inner { margin: 0; }
	.quality .list-parts p { font-size: 14px; margin: 20px 0 0; }
	.quality .list-parts .figure { padding: 0; }
	.quality .list-parts .figure img { width: 100%; }
	.quality .t-spine { padding: 5.8vw 0 0 0; }
	.quality .t-spine .pic { padding: 0; }
	.quality .t-spine .box { margin: 15px 0 0; padding: 0 4.4vw; }
	.quality .t-spine .box .pic { width: 100%; }
	.quality .t-spine .box .txt { width: 100%; }
	.quality .t-spine .box .txt p { margin: 10px 0 0; }
	.quality .sample ul { margin: 0 0 2vw; }
	.quality .sample ul li { width: 100%; margin: 0 0 10vw; }
	.quality .sample ul li .inner { margin: 0; }
	.quality .sample ul li .pic {margin: 10px 0 0} 
	.quality .sample ul li .item { padding: 0 5.8vw; }
	.quality .new { font-size: 16px; }

	.feeling { padding: 0 0 60px; }
	.feeling .block01 { margin: 40px 5.8vw 0; }
	.feeling .block01 .txt-l { width: 100%; position: static; }
	.feeling .block01 .txt-l .inner { padding: 0; }
	.feeling .block01 .pic { padding: 0; margin: 0 0 30px; }
	.feeling .block01 .pic img { width: 100%; }	
	.feeling .block02 { margin: 50px 0 0; }
	.feeling .block02 .img-l { width: 100%; }
	.feeling .block02 .img-l .pic { padding: 0; }
	.feeling .block02 .txt-r { width: 100%; margin: 20px 0 0; }
	.feeling .block02 .txt-r .inner { padding: 0 5.8vw; }
	.feeling ul { margin: 40px 5.8vw 2vw; }
	.feeling ul li { width: 100%; }
	.feeling ul li { margin: 0 0 5.8vw; }
	.feeling ul li .inner { margin: 0; }
    .feeling .inner-block { padding: 0 5.8vw; margin: 20px 0 0 }
    .feeling .inner-block .pic { margin: 0 -3.9vw }
    .feeling .inner-block h3.s { font-size: 18px !important }
    .feeling .inner-block .s-line { margin: 0 }
    .feeling .inner-block .s-line .cont { float: none; width: 100% }
    .feeling .inner-block .s-line .cont-s { float: none; width: 80%; margin: 30px auto 0 }
    .feeling .inner-block .s-line .cont-s h4 { font-size: 16px; margin-bottom: 0.25em }
    .feeling .inner-block .s-line .cont-s p { font-size: 13px }
    .feeling .block01 .s-lt { width: 100%; margin: 30px auto 0; text-align: center }
    .feeling .block01 .s-lt h4 { font-size: 16px; margin-top: 1em }
    .feeling .block01 .s-lt h4 .ja { font-size: 13px; color: #acabac; font-weight: 500; margin-left: 1em }

	.beauty { padding: 0 0 80px; }
	.beauty ul { margin: 40px 0 0 0; }
	.beauty ul li { width: 100%; margin: 0 0 11.6vw; }
	.beauty ul li .inner { margin: 0; }
	.beauty ul li .pic { margin: 0 0 20px; }
	.beauty ul li:nth-child(odd) h3 { padding: 0 5.8vw; }
	.beauty ul li:nth-child(odd) p { padding: 0 5.8vw; }	
	.beauty ul li:nth-child(even) h3 { padding: 0 5.8vw; }
	.beauty ul li:nth-child(even) p { padding: 0 5.8vw; }
	.beauty ul li .item { margin: 10px 0 0; }

	.designer { padding: 0 0 80px; }
	.designer h4 { font-size: 24px !important; margin: 30px 0 10px; }
	.designer h4 span { font-size: 16px !important; }
	.designer .block { padding: 20px 5.8vw 0; }
	.designer .block .img-r { width: 100%; }
	.designer .block .img-r .pic { padding: 0; }
	.designer .block .txt-l { width: 100%;  }
	.designer .block .txt-l .inner { padding: 0; }
	.designer .office { margin: 40px 0 0; text-align: center; }
	.designer .office p { font-size: 12px; }

	.legacy { padding: 0 0 80px; }
	.legacy .block { padding: 20px 0 0; }
	.legacy .block .img-r { width: 100%; }
	.legacy .block .img-r .pic { padding: 0; margin: 20px 0 0; }
	.legacy .block .img-r .cap { font-size: 12px; padding: 10px 5.8vw 0; }
	.legacy .block .txt-l { width: 100%; }
	.legacy .block .txt-l .inner { padding: 0 5.8vw; }

	.origin { padding: 0 0 80px; }
	.origin .block01 { padding: 20px 0 0; }
	.origin .block01 .img-l { width: 100%; }
	.origin .block01 .img-l .pic { padding: 0; margin: 20px 0 0; }
	.origin .block01 .img-l .cap { padding: 10px 0 0 5.8vw; }
	.origin .block01 .txt-r { width: 100%; }
	.origin .block01 .txt-r .inner { padding: 0 5.8vw; }
    .origin .block01 h4 { font-size: 16px !important; margin: 0 0 0.5em; }
	.origin .block02 { padding: 30px 5.8vw 40px; }
	.origin .block02 h4 { font-size: 18px !important; margin: 0 0 10px; }
	.origin .block02 p { font-size: 14px; }

	.special-bnr .pic { width: 100%; }
	.special-bnr .txt { position: static; margin: 0; padding: 20px; width: auto; }
	.special-bnr .txt img { height: 30px; width: auto; margin: 20px 0 0; }
	.special-bnr .txt .tit { font-size: 19px; }
	.special-bnr .txt .tit span { font-size: 24px; }
	.special-bnr .txt .person span { font-size: 16px; }
	.special-bnr .txt .thx { text-align: center; }
	.special-bnr .txt .thx img { height: 50px; width: auto; margin: 20px auto 0; }

	.designer-interview-bnr { margin: 50px 0 0; }
	.designer-interview-bnr .pic { width: 100%; }
	.designer-interview-bnr .txt { position: static; margin: 0; padding: 20px; width: auto; }
	.designer-interview-bnr .txt img { width: 80%; height: auto; margin: 20px 0 0; }
	.designer-interview-bnr .txt .person { margin: 15px 0 0; }
	.designer-interview-bnr .txt .person span { font-size: 16px; }
    
    .history { padding: 0 0 80px; }
    #shitate-lower .history .lower-tit h2 { font-size: 24px; padding: 0 5.8vw; }
    #shitate-lower .history .lower-tit h2 span { font-size: 16px; }
    .history .inner-block { padding: 20px 5.8vw 0; margin: 0 auto; max-width: inherit }
    .history .inner-block table { font-size: 13px; margin: 0 -5.8vw; width: calc(100% + 11.6vw) }
    .history .inner-block table th { font-weight: 600; padding: 1em 1em 1em 5.8vw; border-bottom: solid 1px #565656 }
    .history .inner-block table td { padding: 1em 5.8vw 1em 1em; border-bottom: solid 1px #acabac }

    
    /* collection */
    #collection .search-area { padding: 25px 0; }
    #collection .search-area .btn { font-size: 11px; padding: 12px 0; width: 100%; }
    #collection .search-area .area01 { padding: 0 5.8vw 15px; }
    #collection .search-area .area01 p { font-size: 15px; margin: 0 0 5px; }
    #collection .search-area .area01 ul { margin: 0 0 0 -10px; }
    #collection .search-area .area01 ul li { width: 50%; }
    #collection .search-area .area01 ul li .inner { margin: 0 0 0 10px; }
    #collection .search-area .area01 .btn:last-child { margin-top: 10px }
    #collection .search-area .area02 ul li { width: 50%; }
    #collection .search-area .area02 ul li:first-child { border-left: none; border-bottom: 1px solid #020102; }
    #collection .search-area .area02 ul li:nth-child(2) { border-bottom: 1px solid #020102; }
    #collection .search-area .area02 ul li:nth-child(3) { border-left: none; }
    #collection .search-area .area02 ul li .inner { padding: 15px 5.8vw; }
    #collection .search-area .area02 ul li p { font-size: 14px; margin: 0 0 3px; } 
    #collection .search-area .area02 ul li p span { font-size: 10px; }
    #collection .search-area .btn-search { margin: 0; }
    #collection .search-area .btn-search a { font-size: 16px; padding: 30px 0; }
    #collection .sur-lists { border-bottom: 1px solid #ababab; padding: 30px 5.8vw; display: none }
    #collection .sur-lists ul { text-align: left }
    #collection .sur-lists li { display: inline-block; margin: 0 0 5px 0 }
    #collection .sur-lists li .btn { padding: 12px; width: auto }
    #collection .idx .counter { position: absolute; top: -58px; right: 5.8vw; } 
    #collection .idx .counter span { font-size: 18px; }
    #collection .idx ul li.item { width: 50%; }
    #collection .idx ul li.item:nth-child(odd) { border-left: none; }
    #collection .idx ul li.item a { height: 41vw; }
	#collection .idx ul li.item a .cur { height: 41vw; }
    #collection .idx ul li.item img:not(.ico) { margin: 7vw 0 0; }
    #collection .idx ul li.item a .ico { position: absolute; right: 0; top: 0; margin: 0; width: 30px }
    #collection .idx ul li.item h3 { font-size: 15px; }
	#collection .idx ul li.item h3 .kana { font-size: 10px; margin: 0; }	
	#collection h2.tit-original-item { font-size: 24px; padding: 40px 0 20px; }
	#collection .idx.original-item ul li.item a { height: 50vw; }
	
    #search-lay .sl-lists { left: 50%; top: 0; width: 0%; }
    #search-lay .sl-lists:nth-child(2) { left: 0; }
    #search-lay .sl-lists:nth-child(3) { left: 50%; }
    #search-lay .sl-lists:nth-child(2) { left: 0; }

    /* collection-detail */
    .back { padding: 10px 5.8vw 0; }
    .back img { height: 8px; } 
    .detail { padding: 10px 5.8vw 60px; }
    .detail h3 { font-size: 30px; margin: 0 0 20px; }
	.detail h3 .kana { font-size: 14px; }	
    .detail .outline { padding: 0; margin: 0 0 25px; }
    .detail .outline p { font-size: 14px; margin: 0 0 20px; }
    .detail .outline .tag { margin: 10px 0 0 -5px; }
    .detail .outline .tag li { font-size: 12px; padding: 10px 20px; margin: 0 0 5px 5px; } 
    #collection .detail .product ul { margin: 20px 0 0; }
    #collection .detail .product ul li { margin: 0 0 50px; }
    #collection .detail .product h4 { font-size: 15px; }
    #collection .detail .product h4 span { font-size: 16px; }
	#collection .detail .product .btn-more { font-size: 12px; position: static; text-align: center; margin: 10px 0 0; }		
	#collection .detail .spec { padding: 0; }	
	#collection .detail .spec .item { width: 90px !important; }
    #collection .detail .spec .box_l { width: 100%; }
    #collection .detail .spec .box_r { width: 100%; }
	.detail .original-item-detail { margin: 80px 0 0; }
	.detail .original-item-detail .clm1 li { margin: 0 0 20px; }
	.detail .original-item-detail .clm2 { margin: 0; }
	.detail .original-item-detail .clm2 li { width: 100%; margin: 0 0 20px; }	
	.detail .original-item-detail .clm2.mt60 { margin-top: 40px !important; }
	
	.original-item .block01, .original-item .block02 { margin: 0 0 50px; } 

    .btn-prev-next a { font-size: 16px; }
    .btn-back-to-idx { margin: 20px 0 0; }
    .btn-back-to-idx a { font-size: 18px; }
    
    /* Stores */
    #stores .search-area { padding: 20px 0 0; }
    #stores .search-area .btn { font-size: 14px; line-height: 1; padding: 13px 0; border: 1px solid #e5deca; border-radius: 40px; display: block; width: 100%; text-align: center; transition: all 0.2s }
    #stores .search-area .btn:hover { transform: scale(1.04); background: #f8f7f2 } 
    #stores .search-area .cur { border: 1px solid #af9c5e; }
    #stores .search-area .area01 { padding: 0 5.8vw 20px; }
    #stores .search-area .area01 p { font-size: 14px; margin: 0 0 20px; }
    #stores .search-area .area01 h3 { font-size: 16px; margin: 0; }
    #stores .search-area .area02 ul li { float: left; width: 50%; }
    #stores .search-area .area02 ul li:first-child { border-left: none; }
    #stores .search-area .area02 ul li:last-child { border-left: none; width: 100%; border-top: 1px solid #e5deca; }
    #stores .search-area .area02 ul li .inner { padding: 30px 5.8vw; }
    #stores .search-area .area02 ul li p { font-size: 14px; line-height: 1; margin: 0 0 15px; }
    #stores .search-area .area02 ul li p span { color: #acabac; font-size: 12px; display: block; }
    #stores .search-area .area02 ul li:last-child .inner { padding: 0; }
    #stores .search-area .btn-search { text-align: center; }
    #stores .search-area .btn-search a { font-size: 16px; padding: 30px 0; }
    
    #stores .idx .title { padding: 30px 5.8vw; }
    #stores .idx .title h2 { font-size: 16px }
    #stores .idx ul li.store { width: 100%; }
    #stores .idx ul li.store h3 { font-size: 16px; }
    
    #stores #search-lay .sl-lists { position: absolute; left: 50%; }
    #stores #search-lay .sl-lists li { padding: 3vw; }
    #stores #search-lay .sl-lists:nth-child(2) { left: 0; }
    
    /* Media */
    #media .intro { padding: 20px 5.8vw 0; }
    #media .intro p { font-size: 14px; font-weight: 500; margin: 0 0 30px; }
    #media .intro p.lead { font-size: 14px; font-weight: 400; padding: 0; }
    #media .idx ul { border-top: 1px solid #ababab; }
    #media .idx ul li.ico { float: left; width: calc(50% - 1px); }
    #media .idx ul li.ico .inner { height: calc(100% - 5.8vw) }
    #media .idx ul li.ico a h3 { padding: 2.75vw; font-size: 16px; letter-spacing: 0.12em }
    #media .idx ul li.ico a h3 span { font-size: 12px }
    #media .publication h2 { font-size: 16px; font-weight: 500; padding: 30px 5.8vw }
	#media .publication .sec-inner { padding: 0 calc(5.8vw + 1em) }
    #media .publication ul { padding: 0 2vw 5.8vw; margin-top: -2vw }
    #media .publication ul li.pub { float: left; width: 50% }
    #media .publication ul li.pub a { display: block; padding: 2vw }
    #media .publication ul li.pub a .date { margin: 0.5em 0; display: inline-block }
    #media .publication ul li.pub a h3 { font-weight: 600; font-size: 14px }
    #media .publication ul li.pub a:hover .thumb { transition: all 0.2s }
    #media .publication ul li.pub a:hover .thumb { transform: scale(1.04) }
	#media .mt40 { margin-top: 20px !important; }
    
    #media .detail h3 { font-size: 20px;}
    .detail .sec-pub { padding: 5.6vw }
    .detail .sec-pub h4 { font-size: 16px; }
    
    /* News */
    #news .stit { padding: 10px 5.8vw 0; }
    #news .stit p { font-size: 14px; }
    .news-foot { margin: 0 -5.8vw; padding: 5.8vw 0 0 }
    
    /* Journal */
    .journal { padding: 5.8vw 0 0 }
	.bnr-pic-l .pic { width: 100%; margin: 0 0 20px; }
	.bnr-pic-l .txt { position: static; margin: 0; padding: 20px; width: auto; }
	.bnr-pic-l .txt .tit { font-size: 19px; }
	.bnr-pic-l .txt .tit span { font-size: 24px; }
	.bnr-pic-l .txt .person span { font-size: 16px; }
	.journal .special-feature .date { font-size: 12px; margin: 5px 0 0; }
	.journal .special-feature .mincho { font-size: 14px;  margin: 0; }	
    
    /* Conatact */
    #contact .stit { padding: 10px 5.8vw 0; }
    #contact .stit p { font-size: 14px; }
    .thanks { padding: 11.6vw 0 0 }
    .thanks h3 { font-size: 24px; margin-bottom: 0.5em; }
    
    /* After Service */
    #after-service .intro { padding: 20px 5.8vw; }
    #after-service .intro h2 { font-size: 24px; margin: 0 0 20px; }
    #after-service .intro p.lead { font-size: 14px; }
    .after-service .inner-block { padding: 0 2.9vw; margin: 0 auto; max-width: inherit }
    .after-service .container { padding: 5.8vw; background: #f7f7f7; border-radius: 16px }
    .after-service .container h3 { font-size: 15px; margin-bottom: 0.5em }
    .after-service h3.mincho { font-size: 16px; margin: 40px 2.9vw 0.5em }
    .after-service .container ul { margin: -1em 0 }
    .after-service .container li { padding: 1em 0; border-top: dotted 1px #acabac }
    .after-service .container li:first-child { border: none }
    .after-service .container li h4 { font-size: 14px; margin-bottom: 0.25em }
    .after-service .cap { margin-top: 1em; padding: 0 2.9vw }
    
    .view .box { width: 120vw; height: 80vw; margin: -50vw 0 0 -50vw; }
    
    a.zoom .ico { position: absolute; right: 0; top: 0; width: 32px }
}




@media screen and (max-width: 320px) {

}


/**
 * ==============================================
 * Dot Typing
 * ==============================================
 */
.dot-typing {
  position: relative;
  left: -9999px;
  width: 5px;
  height: 5px;
  border-radius: 2.5px;
  background-color: #e9cbce;
  color: #e9cbce;
  box-shadow: 9986px 0 0 0 #a7a7a7, 9999px 0 0 0 #c7c7c7, 10012px 0 0 0 #e7e7e7;
  -webkit-animation: dot-typing 1s infinite linear;
  animation: dot-typing 1s infinite linear;
}

@-webkit-keyframes dot-typing {
  0% {
    box-shadow: 9986px 0 0 0 #a7a7a7, 9999px 0 0 0 #c7c7c7, 10012px 0 0 0 #e7e7e7;
  }
  16.667% {
    box-shadow: 9986px -8px 0 0 #a7a7a7, 9999px 0 0 0 #c7c7c7, 10012px 0 0 0 #e7e7e7;
  }
  33.333% {
    box-shadow: 9986px 0 0 0 #a7a7a7, 9999px 0 0 0 #c7c7c7, 10012px 0 0 0 #e7e7e7;
  }
  50% {
    box-shadow: 9986px 0 0 0 #a7a7a7, 9999px -10px 0 0 #c7c7c7, 10012px 0 0 0 #e7e7e7;
  }
  66.667% {
    box-shadow: 9986px 0 0 0 #a7a7a7, 9999px 0 0 0 #c7c7c7, 10012px 0 0 0 #e7e7e7;
  }
  83.333% {
    box-shadow: 9986px 0 0 0 #a7a7a7, 9999px 0 0 0 #c7c7c7, 10012px -8px 0 0 #e7e7e7;
  }
  100% {
    box-shadow: 9986px 0 0 0 #a7a7a7, 9999px 0 0 0 #c7c7c7, 10012px 0 0 0 #e7e7e7;
  }
}

@keyframes dot-typing {
  0% {
    box-shadow: 9986px 0 0 0 #a7a7a7, 9999px 0 0 0 #c7c7c7, 10012px 0 0 0 #e7e7e7;
  }
  16.667% {
    box-shadow: 9986px -8px 0 0 #a7a7a7, 9999px 0 0 0 #c7c7c7, 10012px 0 0 0 #e7e7e7;
  }
  33.333% {
    box-shadow: 9986px 0 0 0 #a7a7a7, 9999px 0 0 0 #c7c7c7, 10012px 0 0 0 #e7e7e7;
  }
  50% {
    box-shadow: 9986px 0 0 0 #a7a7a7, 9999px -10px 0 0 #c7c7c7, 10012px 0 0 0 #e7e7e7;
  }
  66.667% {
    box-shadow: 9986px 0 0 0 #a7a7a7, 9999px 0 0 0 #c7c7c7, 10012px 0 0 0 #e7e7e7;
  }
  83.333% {
    box-shadow: 9986px 0 0 0 #a7a7a7, 9999px 0 0 0 #c7c7c7, 10012px -8px 0 0 #e7e7e7;
  }
  100% {
    box-shadow: 9986px 0 0 0 #a7a7a7, 9999px 0 0 0 #c7c7c7, 10012px 0 0 0 #e7e7e7;
  }
}