@charset "utf-8";

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

/* reset css */
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}body {line-height:1;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display:block;}nav ul {list-style:none;}blockquote, q {quotes:none;}blockquote:before, blockquote:after,q:before, q:after {content:'';content:none;}a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}/* change colours to suit your needs */ins {background-color:#ff9;color:#000;text-decoration:none;}/* change colours to suit your needs */mark {background-color:#ff9;color:#000; font-style:italic;font-weight:bold;}del {text-decoration: line-through;}abbr[title], dfn[title] {border-bottom:1px dotted;cursor:help;}table {border-collapse:collapse;border-spacing:0;}/* change border colour to suit your needs */hr {display:block;height:1px;border:0; border-top:1px solid #cccccc;margin:1em 0;padding:0;}input, select {vertical-align:middle;}


/*
 * defaut style
 */
html { height:100%; overflow-y:scroll; background:#F7F6F4; font-size:15px; min-height:600px; -webkit-text-size-adjust: 100%; }
body { color:#000;  word-wrap:break-word; -webkit-font-smoothing: antialiased; }
body { font-family: 'Noto Sans JP', sans-serif; font-size:15px; font-weight:400; }
select { font-family: 'Noto Sans JP', sans-serif; font-size:15px; font-weight:400; color:#000; }
input[type=text], select {
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid #000;
  border-radius: 0px;
}
body.loading .contents,
body.loading #header { opacity:0.2; }
body.loading2 .contents,
body.loading2 #header  { opacity:0; }
body.loaded .contents,
body.loaded #header { opacity:1; /* animation:fadeInEx2 0.5s ease 0.8s forwards!important; */ }
body.loaded2 .contents,
body.loaded2 #header { opacity:1; /* animation:fadeInEx 0.5s ease 0s forwards!important; */ }
body.loading #header-inner { opacity:0; }
body.loaded #header-inner { opacity:1; /* animation:fadeInEx 0.5s ease 0.8s forwards!important; */ }
table { word-break:break-word; } 
div { font-size:15px; }
img,input[type=image],video { max-width:100%; height:auto; width:auto; vertical-align:bottom; border:none; }
li { list-style-type:none; }
ol li {  margin-left:20px; padding-left:5px; list-style-type:decimal; margin-bottom:0.5em; line-height:180%; }
ul li {  margin-left:20px; padding-left:5px; list-style-type:disc; margin-bottom:0.5em; line-height:180%; }
p { margin-bottom:1.5em; line-height:180%; }
p:last-child { margin-bottom:0; }
a { color: inherit; text-decoration: none; }
sup { position:relative; font-size:60%; top:-5px; }
sub { position:relative; font-size:100%; bottom:-5px; }
.clearfix { *zoom: 1; }
.clearfix:after { content: ''; display: block; clear: both; height: 0; margin-top: -1px; }
.pc { display:none!important; }
.sp { display:block; }
img.sp { display:inline-block; }
.center { text-align:center; }
.right { text-align:right; } 
strong { /* color:#C00; */ }
em { /* color:#960; */ font-weight:bold; font-style:normal; }
.container iframe { max-width:100%; height:200px; }
iframe[name=google_conversion_frame] { display:none; }
.eng { font-family: din-2014, sans-serif; }


#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 9999;
}
#loader { position: fixed;	z-index: 10000; left:50%; top:50%; transform:translate(-50%,-50%); }
#loader .dog { position:fixed; left:calc(50% - 5px); top:calc(50% - 100px); transform:translate(-50%,-50%); width:65px; }
#loader .dog img { position:absolute; left:0; top:0; }
#loader .dog img:nth-child(2) { display:none; }
#loader .dog.frame_1 img:nth-child(1) { display:block; }
#loader .dog.frame_1 img:nth-child(2) { display:none; }
#loader .dog.frame_2 img:nth-child(1) { display:none; }
#loader .dog.frame_2 img:nth-child(2) { display:block; }
#loader .bar { position: fixed;	width:150px; height:8px; overflow:hidden; z-index: 10000; left:50%; top:50%; transform:translate(-50%,-50%); }
#loader .bar span { position:absolute; width:150px; height:8px; left:0; bottom:0;  overflow:hidden; display:block; border-radius:50px; }
#loader .bar span:nth-child(2) { width	:0%; }
#loader .bar span:nth-child(1) { width:150px; height:8px; background:#cfcfcf; }
#loader .bar span:nth-child(2) { position:absolute; left:0; bottom:0; background:#000000; }








/*
 * contents
 */
body.loading { overflow:hidden; height:100%; }
body.loading #container { visibility:hidden; }

.contents {  padding-top:0; background:#fff; }
.content-wrapper { }
.main-content { margin:0 20px 0; padding-bottom:50px; position:relative; z-index:1; }

.topic-path { opacity:0; position:absolute; left:0; top:250px; margin:0 auto 30px; line-height:45px; transition:opacity 0.3s ease-in-out 0.5s; }
.topic-path.visible { opacity:1; }
.topic-path ul { white-space:nowrap; text-overflow: ellipsis; overflow:hidden; visibility: visible;  }
.topic-path ul li { display:inline; line-height:26px; font-size:14px; margin:0; padding:0; }
.topic-path ul li:after { content:"／"; margin:0 8px 0 11px; color:#AFA9A9; }
.topic-path ul li:last-child:after { display:none; }
.topic-path ul li a { position:relative; display:inline; line-height:45px; color:#000; vertical-align:bottom; transition:0.3s ease-in-out; }
.topic-path ul li:first-child a { width:26px; height:26px; margin-right:0px; padding-left:26px; }
.topic-path ul li:first-child a:after { position:absolute; left:0; top:50%; transform:translateY(-50%); content:""; display:inline-block; width:26px; height:26px; background:#fff; background:url(../img/ico_home.svg) no-repeat; background-size:cover; }
.topic-path ul li a:hover { text-decoration:none; opacity:0.7; }


/* 汎用 */
.section { margin-bottom:35px; pointer-events:none; }
.section * { pointer-events:auto; }
.section > .inner { }
.section:last-child { margin-bottom:0; }
.block { margin-bottom:80px; }
.article { margin:0 0 75px; }
.article p { }
.indent01 { margin:40px 0 0; }
.red { color:#e60012; }

.page-title { position:relative; z-index:1; background:#F7F6F4; background-size:cover; margin:0 0 80px; padding:0 20px; height:250px; }
.page-title > .inner { width:100%; height:100%; max-width:1200px; margin:0 auto; padding:0; box-sizing:content-box; position:relative; }
.page-title > .bg { width:100%; height:100%; padding:0; box-sizing:content-box; position:absolute; left:0; top:0; overflow:hidden; pointer-events:none; }
.page-title > .bg > .inner { width:100%; height:100%; max-width:1200px; margin:0 auto; padding:0; box-sizing:content-box; position:relative; }
.page-title > .bg > .inner:before { content:""; display:block; position:absolute; left:calc(-176 / 1200 * 100%); top:-126px; z-index:1; background:url(../img/bg_pagetitle_back.png) no-repeat; background-size:cover; width:775.77px; height:804.08px; z-index:-1; }
.page-title h1 { position:absolute; top:150px; left:0; }
.page-title h1 span:nth-child(1) { display:block; position:relative; font-size:22px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; margin-bottom:5px; }
.page-title h1 span:nth-child(2) { display:block; position:relative; font-size:16px; font-family:Itim; font-weight:400; color:#843352; }
.page-title > .inner .img { position:absolute; left:0; top:100px; height:150px; border-radius:30px 0 0 30px; background:no-repeat center center; background-size:cover; left:calc(780 / 1200 * 100%); }
/* .page-title > .inner .img:before { content:""; display:block; position:absolute; left:-272px; top:186px; background:no-repeat; background-size:cover; width:420px; height:288px; } */
body.company .page-title > .inner .img { background-image:url(../../company/img/bg_pagetitle01.jpg); }
body.mokuriva .page-title > .inner .img { background-image:url(../../mokuriva/img/bg_pagetitle01.jpg); }
body.mortex .page-title > .inner .img { background-image:url(../../mortex/img/bg_pagetitle01.jpg); }
body.works .page-title > .inner .img { background-image:url(../../works/img/bg_pagetitle01.jpg); }
body.simulation .page-title h1 span:nth-child(1) { font-size:18px; }
body.simulation .page-title > .inner .img { background-image:url(../../simulation/img/bg_pagetitle01.jpg); }
body.shop .page-title > .inner .img { background-image:url(../../shop/img/bg_pagetitle01.jpg); }
body.contact .page-title { margin-bottom:110px; }
body.law .page-title { margin-bottom:110px; }
body.privacy .page-title { margin-bottom:110px; }
body.terms .page-title { margin-bottom:110px; }
body.error .page-title { margin-bottom:50px; }
/* body.company .page-title > .inner .img:before { display:none; background-image:url(../../company/img/bg_pagetitle02.png); } */

.title01 { position:relative; margin-bottom:110px; line-height:140%; text-align:center; }
.title01:first-child { margin-top:0; }
.title01 span:nth-child(1) { font-size:22px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; }
.title01 span:nth-child(2) { font-size:16px; font-family:Itim; font-weight:400; color:#843352; position:absolute; left:50%; transform:translateX(-50%); bottom:-60px; }
.title01:after { content:""; display:block; position:absolute; left:50%; transform:translateX(-50%); bottom:-20px; background:#FFD800; width:15px; height:3px; }
.title02 { position:relative; margin-top:100px; margin-bottom:60px; line-height:140%; font-size:22px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700;  }
.title02:after { content:""; display:block; position:absolute; left:0; bottom:-20px; background:#FFD800; width:15px; height:3px; }
.title03 { position:relative; margin:60px 0 20px; line-height:140%; font-size:22px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; }
.title03:first-child { margin-top:0; }


.btn01 { position:relative; margin:50px auto 50px; text-align:center; }
.btn01 > * { position:relative; display:block; display:inline-block; background:linear-gradient(130deg, rgba(141,56,88,1) 0%, rgba(83,20,44,1) 48%); color:#fff; width:100%; max-width:400px; line-height:50px; text-align:center; font-size:16px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; border-radius:10px; transition:0.3s ease-in-out; }
.btn01 > *:before { content:""; display:block; position:absolute; left:0; top:0; height:100%; opacity:0; width:100%; background:linear-gradient(130deg, rgba(175,84,118,1) 0%, rgba(113,7,47,1) 48%); border-radius:10px; transition:0.3s ease-in-out; }
.btn01 > *:after { content:""; display:block; position:absolute; right:20px; top:50%; transform:translateY(-50%); background:url(../img/ico_arrow01.png) no-repeat; background-size:17px 17px; width:17px; height:17px; transition:0.3s ease-in-out; }
.btn01 > * > * { position:relative; z-index:1; }
.btn01 > *:hover { text-decoration:none; color:#fff; }
.btn01 > *:hover:before { opacity:1; width:100%; }
.btn01 > *:hover:after { background-image:url(../img/ico_arrow01_on.png); }


.box01 { background:#F7F9FC; padding:20px; margin:40px 0; }

.box-flex01 {}
.box-flex01 > * { display:block; margin:0; margin-bottom:30px; }

.border-box01 { position:relative; border:1px solid #ccc; margin-bottom:40px; margin-top:30px; padding:25px; text-align:center; }
.border-box01 p { margin-top:20px; text-align:left; }

.table01 { margin-bottom:70px;}
.table01 table { width:100%; line-height:180%; }
.table01 table th {  border-bottom:1px solid #843352; font-weight:700; padding:15px 0px 15px 0px; text-align:center; width:100px; }
.table01 table td { border-bottom:1px solid #CCC; padding:15px 0px 15px 15px; text-align:left;  }
.table02 { margin-bottom:70px;}
.table02 table { width:100%; line-height:180%; }
.table02 table th { border-bottom:1px solid #000; font-weight:400; padding:15px 0px 15px 0px; text-align:left; width:100px; }
.table02 table td { border-bottom:1px solid #CCC; padding:15px 0px 15px 15px; text-align:left;  }
.table02 table tr:first-child th { border-top:1px solid #000; }
.table02 table tr:first-child td { border-top:1px solid #CCC; }


.data-block01 { display:table; width:100%; border-left:1px solid #CCCCCC; border-top:1px solid #CCCCCC; }
.data-block01 dl { display:table-row; }
.data-block01 dt { display:table-cell; vertical-align:middle; border-right:1px solid #CCCCCC; border-bottom:1px solid #CCCCCC; background:#F5F5F5; padding:15px 10px; font-weight:400; width:70px; font-size:13px; line-height:180%; }
.data-block01 dd { display:table-cell; vertical-align:middle; border-right:1px solid #CCCCCC; border-bottom:1px solid #CCCCCC; padding:15px 10px; font-size:13px; line-height:180%; }



/* home */
body.home .contact-section { display:none!important; }
body.home .contents { background:#F7F6F4; padding-bottom:130px; overflow:hidden; }
body.home .main-content { padding-bottom:0; }
body.home .main-visual { background:url(../../img/sp/img_main.jpg) no-repeat center center; background-size:cover; background-size:cover; height:100vh; min-height:500px; position:relative; overflow:hidden; }
body.home .main-visual .inner { position:relative; max-width:1400px; width:100%; height:100%; margin:0 auto; }
body.home .main-visual h1 { width:153px; height:auto; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
body.home .main-visual .char01 { position:absolute; left:calc(-500 / 1400 * 100%); top:calc(160 / 1080 * 100%); height:calc(140 / 1080 * 100%); transition:5s ease-in-out; }
body.home .main-visual .char01 span { opacity:0; transition:2s ease-in-out; }
body.home .main-visual .char01 img { position:absolute; left:0; top:0; }
body.home .main-visual .char01 img:nth-child(2) { display:none; }
body.home .main-visual .char01.frame_1 img:nth-child(1) { display:block; }
body.home .main-visual .char01.frame_1 img:nth-child(2) { display:none; }
body.home .main-visual .char01.frame_2 img:nth-child(1) { display:none; }
body.home .main-visual .char01.frame_2 img:nth-child(2) { display:block; }
body.home .main-visual .char01.fade-in span { opacity:1; }
body.home .main-visual .char01.fade-out span { opacity:0; transition:2s ease-in-out 5s; }
body.home .main-visual .char01.in { left:calc(-500 / 1400 * 100%); transition:0s ease-in-out; }
body.home .main-visual .char01.stay { left:calc(100 / 1400 * 100%); transition:2s ease-in-out; }
body.home .main-visual .char01.out { left:calc(1900 / 1400 * 100%); transition:3s ease-in-out 5s; }
body.home .main-visual .char02 { position:absolute; right:calc(-500 / 1400 * 100%); top:calc(796 / 1080 * 100%); height:calc(90 / 1080 * 100%); transition:5s ease-in-out; }
body.home .main-visual .char02 span { opacity:0; transition:2s ease-in-out; }
body.home .main-visual .char02 img { position:absolute; left:0; top:0; }
body.home .main-visual .char02 img:nth-child(2) { display:none; }
body.home .main-visual .char02.frame_1 img:nth-child(1) { display:block; }
body.home .main-visual .char02.frame_1 img:nth-child(2) { display:none; }
body.home .main-visual .char02.frame_2 img:nth-child(1) { display:none; }
body.home .main-visual .char02.frame_2 img:nth-child(2) { display:block; }
body.home .main-visual .char02.fade-in span { opacity:1; }
body.home .main-visual .char02.fade-out span { opacity:0; transition:2s ease-in-out 5s; }
body.home .main-visual .char02.in { right:calc(-250 / 1400 * 100%); transition:0s ease-in-out; }
body.home .main-visual .char02.stay { right:calc(460 / 1400 * 100%); transition:2s ease-in-out; }
body.home .main-visual .char02.out { right:calc(2150 / 1400 * 100%); transition:3s ease-in-out 5s; }
body.home .main-visual .char03 { position:absolute; right:calc(-500 / 1400 * 100%); top:calc(860 / 1080 * 100%); height:calc(90 / 1080 * 100%); transition:5s ease-in-out; }
body.home .main-visual .char03 span { opacity:0; transition:2s ease-in-out; }
body.home .main-visual .char03 img { position:absolute; left:0; top:0; }
body.home .main-visual .char03 img:nth-child(2) { display:none; }
body.home .main-visual .char03.frame_1 img:nth-child(1) { display:block; }
body.home .main-visual .char03.frame_1 img:nth-child(2) { display:none; }
body.home .main-visual .char03.frame_2 img:nth-child(1) { display:none; }
body.home .main-visual .char03.frame_2 img:nth-child(2) { display:block; }
body.home .main-visual .char03.fade-in span { opacity:1; }
body.home .main-visual .char03.fade-out span { opacity:0; transition:2s ease-in-out 5s; }
body.home .main-visual .char03.in { right:calc(-470 / 1400 * 100%); transition:0s ease-in-out; }
body.home .main-visual .char03.stay { right:calc(240 / 1400 * 100%); transition:2s ease-in-out; }
body.home .main-visual .char03.out { right:calc(1930 / 1400 * 100%); transition:3s ease-in-out 5s; }
body.home .main-visual .char04 { position:absolute; right:calc(-500 / 1400 * 100%); top:calc(770 / 1080 * 100%); height:calc(90 / 1080 * 100%); transition:5s ease-in-out; }
body.home .main-visual .char04 span { opacity:0; transition:2s ease-in-out; }
body.home .main-visual .char04 img { position:absolute; left:0; top:0; }
body.home .main-visual .char04 img:nth-child(2) { display:none; }
body.home .main-visual .char04.frame_1 img:nth-child(1) { display:block; }
body.home .main-visual .char04.frame_1 img:nth-child(2) { display:none; }
body.home .main-visual .char04.frame_2 img:nth-child(1) { display:none; }
body.home .main-visual .char04.frame_2 img:nth-child(2) { display:block; }
body.home .main-visual .char04.fade-in span { opacity:1; }
body.home .main-visual .char04.fade-out span { opacity:0; transition:2s ease-in-out 5s; }
body.home .main-visual .char04.in { right:calc(-600 / 1400 * 100%); transition:0s ease-in-out; }
body.home .main-visual .char04.stay { right:calc(110 / 1400 * 100%); transition:2s ease-in-out; }
body.home .main-visual .char04.out { right:calc(1800 / 1400 * 100%); transition:3s ease-in-out 5s; }
body.home .main-visual .char01.pc-anime { display:none; }
body.home .main-visual .char02.pc-anime { display:none; }
body.home .main-visual .char03.pc-anime { display:none; }
body.home .main-visual .char04.pc-anime { display:none; }


.section-odd { margin:100px -20px 100px -20px; position:relative; padding:0; }
.section-odd .inner { padding:55px 20px 55px; max-width:1200px; margin:0 auto; position:relative; }
.section-odd .inner:before { opacity:0; content:""; display:block; position:absolute; right:0; top:0; background:#FFF; width:3000px; height:100%; border-radius:0 100px 100px 0; box-shadow:0 0 40px rgba(0,0,0,0.03); }
.section-odd .inner > .title { opacity:0; transform:translateY(30px); }
.section-odd .img { position:relative; margin:0 20px 30px; }
.section-odd .img img { display:block; position:relative; width:100%; border-radius:30px; box-shadow:0 0 10px rgba(0,0,0,0.16); margin-bottom:30px; }
.section-odd .box {  position:relative; z-index:2; left:0px; padding:0 0 0; }
.section-odd .box .title { opacity:0; position:relative; margin-bottom:40px; font-size:18px; font-weight:700; line-height:160%; padding:0; transform:translateY(30px); }
.section-odd .box p { opacity:0; transform:translateY(30px); }
.section-odd .btn01 { opacity:0; transform:translateY(30px); margin:50px 20px 0; }

.section-even { margin:100px -20px 100px -20px; position:relative; padding:0; }
.section-even .inner { padding:55px 20px 55px; max-width:1200px; margin:0 auto; position:relative; }
.section-even .inner:before { opacity:0; content:""; display:block; position:absolute; left:0; top:0; background:#FFF; width:3000px; height:100%; border-radius:100px 0 0 100px; box-shadow:0 0 40px rgba(0,0,0,0.03); }
.section-even .inner > .title { opacity:0; transform:translateY(30px); }
.section-even .img { position:relative; margin:0 20px 30px; }
.section-even .img img { display:block; position:relative; width:100%; border-radius:30px; box-shadow:0 0 10px rgba(0,0,0,0.16); margin-bottom:30px; }
.section-even .box {  position:relative; z-index:2; left:0px; padding:0 0 0; }

.section-even .box .title { opacity:0; position:relative; margin-bottom:40px; font-size:18px; font-weight:700; line-height:160%; padding:0; transform:translateY(30px); }
.section-even .box p { opacity:0; transform:translateY(30px); }
.section-even .btn01 { opacity:0; transform:translateY(30px); margin:50px 20px 0; }

.section-simulation:after { content:""; display:block; position:absolute; left:-124px; top:660px; z-index:-1; background:url(../../img/bg_body.png) no-repeat; background-size:cover; width:376.22px; height:389.95px; }
.section-mokuriva .img:before { content:""; display:block; position:absolute; right:10px; top:-26px; z-index:2; background:url(../img/img_dog02.png) no-repeat; background-size:cover; width:43.3px; height:50.14px; }
.section-mokuriva:after { content:""; display:block; position:absolute; right:-214px; top:690px; z-index:1; background:url(../../img/bg_body.png) no-repeat; background-size:cover; width:376.22px; height:389.95px }
.section-works .img:before { content:""; display:block; position:absolute; left:0px; top:-30px; z-index:2; background:url(../../img/img01.png) no-repeat; background-size:cover; width:97.89px; height:159.24px; }

.section-odd.is-animated .inner:before { opacity:1; transition:0.5s ease-in-out 0s; }
.section-odd.is-animated .inner > .title { opacity:1; transform:translateY(0px); transition:0.5s ease-in-out 0s; }
.section-odd.is-animated .img:before { opacity:1; transform:translateY(0px); transition:0.5s ease-in-out 2s; }
.section-odd.is-animated .box:before { opacity:1; transform:translateY(0px); transition:0.5s ease-in-out 2s; }
.section-odd.is-animated .box:after { opacity:1; transition:0.5s ease-in-out 1.5s; }
.section-odd.is-animated .box .title { opacity:1; transform:translateY(0px); transition:0.5s ease-in-out 0.8s; }
.section-odd.is-animated .box p { opacity:1; transform:translateY(0px); transition:0.5s ease-in-out 0.8s; }
.section-odd.is-animated .box .btn01 { opacity:1; transform:translateY(0px); transition:0.5s ease-in-out 0.8s; }
.section-even.is-animated .inner:before { opacity:1; transition:0.5s ease-in-out 0s; }
.section-even.is-animated .inner > .title { opacity:1; transform:translateY(0px); transition:0.5s ease-in-out 0s; }
.section-even.is-animated .img:before { opacity:1; transform:translateY(0px); transition:0.5s ease-in-out 2s; }
.section-even.is-animated .box:before { opacity:1; transform:translateY(0px); transition:0.5s ease-in-out 2s; }
.section-even.is-animated .box:after { opacity:1; transition:0.5s ease-in-out 1.5s; }
.section-even.is-animated .box .title { opacity:1; transform:translateY(0px); transition:0.5s ease-in-out 0.8s; }
.section-even.is-animated .box p { opacity:1; transform:translateY(0px); transition:0.5s ease-in-out 0.8s; }
.section-even.is-animated .box .btn01 { opacity:1; transform:translateY(0px); transition:0.5s ease-in-out 0.8s; }

.section-shop { position:relative; padding-top:90px; }
.section-shop:before { content:""; display:block; background:url(../../img/bg_onlineshop.jpg) no-repeat center center; background-size:cover; width:100vw; height:100%; position:absolute; left:50%; top:0; transform:translateX(-50%); }
.section-shop .inner { position:relative; z-index:1; background:#fff; border-radius:30px 30px 0 0; max-width:1200px; margin:0 auto; padding-top:40px; }
.section-shop .title01 { text-align:center; }
.section-shop .title01:first-child { margin-top:0; }
.section-shop .title01 span:nth-child(1) { position:relative; }
.section-shop .title01 span:nth-child(1):before { content:""; display:block; position:absolute; left:-45px; top:8px; background:url(../../img/img_onlineshop01.png) no-repeat; background-size:cover; width:23.81px; height:21.26px; }
.section-shop .title01 span:nth-child(1):after { content:""; display:block; position:absolute; right:-45px; top:8px; background:url(../../img/img_onlineshop02.png) no-repeat; background-size:cover; width:23.81px; height:21.26px; }
.section-shop .title01 span:nth-child(2) { left:50%; transform:translateX(-50%); }
.section-shop .title01:after { left:50%; transform:translateX(-50%); }
.section-shop .box { max-width:580px; margin:0 20px; }
.section-shop .btn01 { margin:0 0 0; top:32px; }


/* company */
.catchcopy { font-size:20px; font-family:"新ゴ R",'Noto Sans JP'; font-weight:400; margin-bottom:30px; line-height:160%; }
.map iframe { width:100%; height:300px; }
.maker-list { border-radius:30px; box-shadow:0 0 30px rgba(0,0,0,0.08); }
.maker-list .items { padding:50px 30px; }
.maker-list .items ul { margin:0; padding:0; }
.maker-list .items li { list-style-type:none; margin:0 0 30px; padding:0; line-height:140%; white-space:nowrap; }
.maker-list .items li a { color:#6A1031; position:relative; background:url(../img/ico_link.svg) no-repeat right center; background-size:15.39px 15.39px; padding-right:20px; }



/* mokuriva */
body.mokuriva .catchcopy { margin-bottom:-60px; }
.mokuriva-box { background:#F7F6F4; border-radius:30px; padding:40px 15px; }
.mokuriva-box .box { position:relative; background:#FFF; border-radius:30px; padding:15px; margin:0 auto 90px; max-width:900px; }
.mokuriva-box .box p { text-align:center; font-size:14px; }
.mokuriva-box .box:after { content:""; display:block; position:absolute; left:50%; transform:translateX(-50%); bottom:-60px; background:url(../../mokuriva/img/img_arrow01.png) no-repeat; background-size:cover; width:40px; height:26px; }
.mokuriva-box .char-box { position:relative; margin:0 auto; padding-bottom:180px; }
.mokuriva-box .char-box p { text-align:center; border:3px solid #000; padding:20px; }
.mokuriva-box .char-box:before { content:""; display:block; position:absolute; left:50%; transform:translateX(-50%); bottom:0; background:url(../img/img_char01.png) no-repeat; background-size:165.12px 141.5px; width:166px; height:142px; }
.title-mokuriva { position:relative; font-size:22px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; border-bottom:1px solid #CCC; border-top:1px solid #CCC; line-height:65px; padding-left:100px; margin-top:60px; margin-bottom:30px; }
.title-mokuriva.num01 { background:url(../../mokuriva/img/ttl01.png) no-repeat 10px 0; background-size:70.4px 54.5px; }
.title-mokuriva.num02 { background:url(../../mokuriva/img/ttl02.png) no-repeat 10px 0; background-size:70.4px 54.5px; }
.title-mokuriva.num03 { background:url(../../mokuriva/img/ttl03.png) no-repeat 10px 0; background-size:70.4px 54.5px; }
.title-mokuriva + p + .note { font-size:13px; }
.sub-title-mokuriva { font-size:18px; font-weight:700; margin-top:50px; margin-bottom:35px; line-height:140%; text-align:center; }
.sub-title02-mokuriva { font-size:16px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; margin-top:50px; margin-bottom:30px; line-height:140%; padding:10px; background:#F7F6F4; text-align:center; }
.mokuriva-items01 { display:flex; max-width:630px; margin:0 auto -100px; }
.mokuriva-items01 .item { width:calc(290 / 630 * 100%); margin-right:calc(50 / 630 * 100%); margin-bottom:100px; text-align:center; }
.mokuriva-items01 .item:last-child { margin-right:0; }
.mokuriva-items01 .item .img { margin-bottom:15px; }
.mokuriva-items01 .item p { font-size:14px; }
.mokuriva-items02 { display:flex; max-width:630px; margin:0 auto; }
.mokuriva-items02 .item { width:calc(290 / 630 * 100%); margin-right:calc(50 / 630 * 100%); margin-bottom:50px; text-align:center; }
.mokuriva-items02 .item:last-child { margin-right:0; }
.mokuriva-items02 .item .img { margin-bottom:15px; }
.mokuriva-items02 .item .title { font-size:14px; text-align:center; line-height:140%; margin-bottom:15px; }
.mokuriva-items02 .item p { font-size:14px; }

.mokuriva-amount01 { text-align:center; max-width:740px; background:#F7F2F4; font-size:16px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; border-radius:50px; margin:60px auto 30px; line-height:140%; padding:25px; }
.mokuriva-amount02 { text-align:center; max-width:740px; font-size:26px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; color:#6A1033; margin:0 auto 25px; }
.mokuriva-amount02 span { position:relative; display:inline-block; line-height:33px; background:url(../../mokuriva/img/img_arrow02.png) no-repeat right center; background-size:41.37px 32.26px; padding-right:65px; }
.mokuriva-amount03 { text-align:center; max-width:740px; border:1px solid #CCC;  margin:0 auto 70px; line-height:140%; padding:20px; }
.mokuriva-photos { max-width:740px; margin:0 auto; }
.mokuriva-photos .photo { position:relative; margin-bottom:90px; }
.mokuriva-photos .photo:after { content:""; display:block; position:absolute; left:50%; transform:translateX(-50%); bottom:-60px; background:url(../../mokuriva/img/img_arrow03.png) no-repeat; background-size:cover; width:40px; height:26px; }
.mokuriva-photos .photo:last-child { margin-bottom:0; }
.mokuriva-photos .photo:last-child:after { display:none; }
.mokuriva-photos + .note { text-align:center; margin-top:10px; }
.mokuriva-maintenance { border-radius:30px; padding:20px; box-shadow:0 0 30px rgba(0,0,0,0.08); margin-bottom:100px; }
.mokuriva-maintenance .title { font-size:18px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; color:#fff; text-align:center; background:#000; line-height:40px; margin-bottom:35px; }
.mokuriva-maintenance .img { max-width:990px; margin:0 auto; }
.title-mokuriva.num03 + .img { max-width:940px; margin:40px auto 50px; }
.sub-title02-mokuriva.num01 + .img { max-width:420px; margin:0 auto; text-align: center}
.sub-title02-mokuriva.num02 + .img { max-width:624px; margin:0 auto; }
.sub-title02-mokuriva.num02 + .img + .note { text-align:center; margin-top:30px; }


/* mortex */
body.mortex .catchcopy { margin-bottom:-60px; }
.mortex-box { background:url(../../mortex/img/bg01.jpg) no-repeat; background-size:cover; border-radius:30px; padding:50px 30px; }
.mortex-box .logo { max-width:250px; margin:0 auto 50px; }
.mortex-box > p { font-weight:500; margin-bottom:30px; }
.mortex-box .box { position:relative; background:rgba(255,255,255,0.75); max-width:624px; padding:20px; margin:0 auto 50px; }
.mortex-box .box:last-child { margin-bottom:0; }


/* works */
body.works .section > .inner > p { margin-bottom:50px; }
.works-items .item { display:flex; flex-wrap:nowrap; flex-direction:column; border-radius:30px; box-shadow:0 0 30px rgba(0,0,0,0.08); margin-bottom:50px; }
.works-items .item .photo { height:200px; border-radius:30px 30px 0 0; }
.works-items .item:nth-child(1) .photo { background:url(../../works/img/pho01.jpg) no-repeat center center; background-size:cover; }
.works-items .item:nth-child(2) .photo { background:url(../../works/img/pho02.jpg) no-repeat center center; background-size:cover; }
.works-items .item:nth-child(3) .photo { background:url(../../works/img/pho03.jpg) no-repeat center center; background-size:cover; }
.works-items .item .texts { padding:20px; }
.works-items .item .texts .name { font-size:26px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; line-height:140%; margin-bottom:20px; }
.works-items .item .texts .category { margin-bottom:30px; }
.works-items .item .texts .category span { font-size:10px; font-weight:500; line-height:28px; display:inline-block; background:#000; color:#fff; padding:0 8px; margin-right:10px; }
.works-items .item .texts p { margin-bottom:30px; }
.works-items .item .texts .btn01 { margin:0; text-align:center; }


.works-title01 { position:relative; background: url(../../works/img/ttl01.png) no-repeat left bottom; background-size:35.21px 45.07px; font-size:20px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; line-height:47px; margin-bottom:40px; margin-top:60px; padding-left:50px; }
.works-title01:after { content:""; display:block; background:#6A1032; width:calc(100% - 9px); height:1px; position:absolute; left:9px; bottom:0px; }
.works-title02 { position:relative; background: url(../../works/img/ttl01.png) no-repeat left bottom; background-size:35.21px 45.07px; font-size:20px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; line-height:47px; margin-bottom:40px; margin-top:60px; padding-left:50px; }

.works-slide { /*display:flex; flex-wrap:no-wrap; */max-width:1100px; margin:0 auto; }
.works-slide > .swiper:nth-child(1) { width:100%; }
.works-slide > .swiper:nth-child(2) { /*width:70px; margin-right:5px;*/ }
.works-slide .swiper {}
.works-slide .swiper-slide {background-size: cover;background-position: center;}
/*.works-slide .mySwiper2 { height:200px;}*/
/*.works-slide .mySwiper { height:200px; box-sizing: border-box;  }*/
.swiper-vertical > .swiper-wrapper {flex-direction: row; flex-wrap: wrap; margin-bottom: 10px}
.works-slide .mySwiper .swiper-slide {width:65px; height:auto!important; cursor:pointer; margin: 5px 5px 5px 0 }
.works-slide .mySwiper .swiper-slide-thumb-active { opacity: 0.5; }
.works-slide .mySwiper .swiper-slide img { display: block; width: 100%; }
.swiper-button-next { background:url(../../works/img/slide_next.png) no-repeat; background-size:20px 20px; width:20px; height:20px; right:5px; }
.swiper-button-next:hover { opacity:0.7; }
.swiper-button-next:after { display:none; }
.swiper-button-prev { background:url(../../works/img/slide_prev.png) no-repeat; background-size:20px 20px; width:20px; height:20px; left:5px; }
.swiper-button-prev:hover { opacity:0.7; }
.swiper-button-prev:after { display:none; }

.works-before-after { display:flex; flex-wrap:nowrap; position:relative; margin-bottom:60px; }
.works-before-after .before .photo { position:relative; }
.works-before-after .before .photo:after { content:""; display:block; background:url(../../works/img/img_arrow.png) no-repeat; background-size:12px 20.5px; width:12px; height:21px; position:absolute; left:calc(600 / 555 * 100%); top:50%; transform:translate(-50%,-50%); }
.works-before-after > div { width:calc(555 / 1200 * 100%); margin-right:calc(90 / 1200 * 100%) }
.works-before-after > div:last-child { margin-right:0; }
.works-before-after .before .title { background:#9B9B9B; color:#FFF; font-family:Montserrat; line-height:30px; width:100px; margin:0 auto 20px; text-align:center; font-weight:600; }
.works-before-after .after .title { background:#6A1032; color:#FFF; font-family:Montserrat; line-height:30px; width:100px; margin:0 auto 20px; text-align:center; font-weight:600; }
.works-category { max-width:1100px; margin:0px auto 60px; }
.works-category span { font-size:10px; font-weight:500; line-height:28px; display:inline-block; background:#000; color:#fff; padding:0 8px; margin-right:10px; }
.works-point { border-radius:30px; box-shadow:0 0 30px rgba(0,0,0,0.08); position:relative; padding:55px 40px; }
.works-point:before {  content:""; display:block; position:absolute; left:20px; top:-20px; background:url(../../works/img/ttl_point.png) no-repeat; background-size:85.94px 57.55px; width:86px; height:58px; }
.works-point + .works-slide { margin-top:60px; }
.works-btn { margin-bottom:0; }



/* simulation */
.simulation-box { border-radius:30px; box-shadow:0 0 30px rgba(0,0,0,0.08); border:1px solid #CCCCCC; padding:30px 20px; margin-top:50px; }
.simulation-box .items { max-width:1105px; margin:0 auto; }
.simulation-box .item { margin-bottom:60px; }
.simulation-box .item:last-child { margin-bottom:0; }
.simulation-box .item .title { position:relative; font-size:22px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; line-height:44px; margin-bottom:20px; padding-left:140px; }
.simulation-box .item .title:before { content:""; display:block; position:absolute; left:0px; top:50%; transform:translateY(-50%); background:url(../../simulation/img/ttl01.png) no-repeat; background-size:124.4px 43.15px; width:125px; height:44px; }
.simulation-box .item .btn01 { margin:20px auto 0; }
body.simulation .lead { margin-bottom:50px; text-align: left}
.simulation-catchcopy { margin-bottom:50px; text-align: left;padding-top:100px; }
.simulation-selecter { border-radius:30px; box-shadow:0 0 30px rgba(0,0,0,0.08); border:1px solid #CCCCCC; margin:40px 0; }
.simulation-selecter .simulation-header { position:relative; background:#F4F4F4; border-bottom:1px solid #ccc; border-radius:30px 30px 0 0; padding:22px 20px; }
.simulation-selecter .simulation-header .title { position:relative; font-size:20px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; line-height:30px; padding-left:80px; }
.simulation-selecter .simulation-header .title:before { content:""; display:block; position:absolute; left:0px; top:50%; transform:translateY(-50%); background:url(../../simulation/img/ttl01.png) no-repeat; background-size:63.39px 21.99px; width:64px; height:22px; }
.simulation-selecter .simulation-header .sub-title { position:absolute; right:20px; top:55%; transform:translateY(-50%); text-align:right; }
.simulation-selecter .simulation-header .sub-title span:nth-child(1) { display:block; font-size:10px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; margin-bottom:5px; }
.simulation-selecter .simulation-header .sub-title span:nth-child(2) { display:block; font-size:8px; font-family:Itim; font-weight:400; color:#843352; }
.simulation-selecter.type-a .simulation-header .title:before { background-image:url(../../simulation/img/ttl01.png); }
.simulation-selecter.type-b .simulation-header .title:before { background-image:url(../../simulation/img/ttl02.png); }
.simulation-selecter .simulation-body { padding:20px; }
.simulation-selecter .simulation-body .img-selector { position:relative; max-width:1100px; }
.simulation-selecter .simulation-body .img-selector .img { position:relative; margin-bottom:20px; }
.simulation-selecter .simulation-body .img-selector .img .roof { position:absolute; left:0; top:0; }
.simulation-selecter .simulation-body .img-selector .img .roof img { display:none; }
.simulation-selecter .simulation-body .img-selector .img .roof img:nth-child(1) { display:block; }
.simulation-selecter .simulation-body .img-selector .img .wall img { display:none; }
.simulation-selecter .simulation-body .img-selector .img .wall img:nth-child(1) { display:block; }
.simulation-selecter .simulation-body .img-selector .selector { display:flex; flex-wrap:nowrap; }
.simulation-selecter .simulation-body .img-selector .group { width:48%; margin-right:4%; border:1px solid #ccc; }
.simulation-selecter .simulation-body .img-selector .group:last-child { margin-right:0; }
.simulation-selecter .simulation-body .img-selector .group .title { position:relative; background:#EFEFEF; border-bottom:1px solid #ccc; text-align:center; padding:10px; }
.simulation-selecter .simulation-body .img-selector .group .title span { display:inline-block; font-size:14px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; background:#000; color:#fff; border-radius:50px; width:83px; line-height:25px; text-align:center; }
.simulation-selecter .simulation-body .img-selector .group .color-items { display:flex; flex-wrap:wrap; }
.simulation-selecter .simulation-body .img-selector .group .color-items .item { position:relative; width:50%; min-height:80px; border-right:1px solid #ccc; box-sizing:border-box; text-align:center;  }
.simulation-selecter .simulation-body .img-selector .group .color-items .item:nth-child(1),
.simulation-selecter .simulation-body .img-selector .group .color-items .item:nth-child(2) { border-bottom:1px solid #ccc; }
.simulation-selecter .simulation-body .img-selector .group .color-items .item:nth-child(2n) { border-right:0; }
.simulation-selecter .simulation-body .img-selector .group .color-items .item:hover,
.simulation-selecter .simulation-body .img-selector .group .color-items .item.active { background:#F7F2F4; }
.simulation-selecter .simulation-body .img-selector .group .color-items .item:hover:after,
.simulation-selecter .simulation-body .img-selector .group .color-items .item.active:after { content:""; display:block; width:100%; height:100%; border:1px solid #6A1032; position:absolute; left:-1px; top:-1px; }
.simulation-selecter .simulation-body .img-selector .group .color-items .item span { position:absolute; left:50%; bottom:20%; transform:translateX(-50%); font-size:8px; line-height:120%; white-space:nowrap; }
.simulation-selecter .simulation-body .img-selector .group .color-items .item:before { content:""; display:block; position:absolute; left:50%; top:40%; transform:translate(-50%,-50%); background:#FFFFFF; border:1px solid #CCCCCC; width:25px; height:25px; border-radius:50px; }
.simulation-selecter .simulation-body .img-selector .roof .color-items .item:nth-child(1):before { background-color:#FFF; }
.simulation-selecter .simulation-body .img-selector .roof .color-items .item:nth-child(2):before { background-color:#FDFBE9; }
.simulation-selecter .simulation-body .img-selector .roof .color-items .item:nth-child(3):before { background-color:#4F2C1F; }
.simulation-selecter .simulation-body .img-selector .roof .color-items .item:nth-child(4):before { background-color:#000; }
.simulation-selecter .simulation-body .img-selector .wall .color-items .item:nth-child(1):before { background-color:#FDF6DF; }
.simulation-selecter .simulation-body .img-selector .wall .color-items .item:nth-child(2):before { background-color:#593112; }
.simulation-selecter .simulation-body .img-selector .wall .color-items .item:nth-child(3):before { background-color:#D4C85E; }
.simulation-selecter .simulation-body .img-selector .wall .color-items .item:nth-child(4):before { background-color:#5F7380; }
.simulation-selecter .simulation-body .results { position:relative; margin-top:25px; }
.simulation-selecter .simulation-body .active-color { background:#F7F2F4; line-height:50px; width:auto; padding:10px 34px; }
.simulation-selecter .simulation-body .active-color > div { display:inline-block; font-size:14px; }
.simulation-selecter .simulation-body .active-color > div:last-child { margin-right:0; }
.simulation-selecter .simulation-body .active-color .color { position:relative; display:inline-block; padding-left:35px; margin-left:10px; }
.simulation-selecter .simulation-body .active-color .color:before { content:""; display:inline-block; position:absolute; left:0; top:50%; transform:translateY(-50%); background:#FFFFFF; border:1px solid #000; width:26px; height:26px; border-radius:50px; }
.simulation-selecter .simulation-body .active-color .color01.idx_0:before { background-color:#FFF; }
.simulation-selecter .simulation-body .active-color .color01.idx_1:before { background-color:#FDFBE9; }
.simulation-selecter .simulation-body .active-color .color01.idx_2:before { background-color:#4F2C1F; }
.simulation-selecter .simulation-body .active-color .color01.idx_3:before { background-color:#000; }
.simulation-selecter .simulation-body .active-color .color02.idx_0:before { background-color:#FDF6DF; }
.simulation-selecter .simulation-body .active-color .color02.idx_1:before { background-color:#593112; }
.simulation-selecter .simulation-body .active-color .color02.idx_2:before { background-color:#D4C85E; }
.simulation-selecter .simulation-body .active-color .color02.idx_3:before { background-color:#5F7380; }

.simulation-selecter.type-b .simulation-body .img-selector .wall .color-items .item:nth-child(3),
.simulation-selecter.type-b .simulation-body .img-selector .wall .color-items .item:nth-child(4) { border-bottom:1px solid #ccc; }
.simulation-selecter.type-b .simulation-body .img-selector .wall .color-items .item:last-child { border:none; }
.simulation-selecter.type-b .simulation-body .img-selector .wall .color-items .item:last-child:hover:after,
.simulation-selecter.type-b .simulation-body .img-selector .wall .color-items .item:last-child.active:after {width:calc(100% - 1px); height:calc(100% - 1px); }

.simulation-selecter.type-b .simulation-body .img-selector .roof .color-items .item:nth-child(1):before { background-color:#000; }
.simulation-selecter.type-b .simulation-body .img-selector .wall .color-items .item:nth-child(1):before { background-color:#D1A366; }
.simulation-selecter.type-b .simulation-body .img-selector .wall .color-items .item:nth-child(2):before { background-color:#F5F1ED; }
.simulation-selecter.type-b .simulation-body .img-selector .wall .color-items .item:nth-child(3):before { background-color:#A4AEB5; }
.simulation-selecter.type-b .simulation-body .img-selector .wall .color-items .item:nth-child(4):before { background-color:#8C3819; }
.simulation-selecter.type-b .simulation-body .img-selector .wall .color-items .item:nth-child(5):before { background-color:#593608; }

.simulation-selecter.type-b .simulation-body .active-color .color01.idx_0:before { background-color:#000; }
.simulation-selecter.type-b .simulation-body .active-color .color02.idx_0:before { background-color:#D1A366; }
.simulation-selecter.type-b .simulation-body .active-color .color02.idx_1:before { background-color:#F5F1ED; }
.simulation-selecter.type-b .simulation-body .active-color .color02.idx_2:before { background-color:#A4AEB5; }
.simulation-selecter.type-b .simulation-body .active-color .color02.idx_3:before { background-color:#8C3819; }
.simulation-selecter.type-b .simulation-body .active-color .color02.idx_4:before { background-color:#593608; }


.simulation-selecter .simulation-body .btn01 { margin:20px auto 0; position:relative; right:0; top:0; width:100%; max-width:492px; }
.simulation-selecter .simulation-body .btn01 a { position:relative; right:0; top:0;  width:100%; font-size:14px; }
.simulation-selecter .simulation-body .btn01 > *:after { right:10px; }
.simulation-selecter + .note { font-size:12px; }
body.simulation .note { font-size:12px;}

/* shop */
.shop-items { margin:50px auto -50px; max-width:450px;  }
.shop-items .item { display:block; margin-bottom:50px; transition:0.3s ease-in-out; }
.shop-items .item:hover { text-decoration:none; opacity:0.7; }
.shop-items .item .thumb { border-radius:10px; box-shadow:0 0 15px rgba(0,0,0,0.08); padding:32px; margin-bottom:20px; }
.shop-items .item .maker { font-size:13px; line-height:140%; margin-bottom:3px; }
.shop-items .item .name { font-size:16px; font-weight:700; line-height:140%; margin-bottom:8px; }
.shop-items .item .price { font-size:20px; line-height:140%; }
.shop-items .item .price span { font-size:13px; }
body.shop .lead { margin-bottom:50px; text-align: left}
.shop-catchcopy { font-size:20px; font-family:"新ゴ R",'Noto Sans JP'; font-weight:400; line-height:180%; margin-bottom:50px; text-align:left; }
.shop-title { font-size:20px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; margin-top:85px; margin-bottom:50px; line-height:140%; padding:20px; background:#F7F6F4; text-align:center; }
.shop-title + .inner { max-width:1020px; margin:0 auto; }
.shop-title + .inner dt { font-weight:700; margin-bottom:5px; line-height:160%; }
.shop-title + .inner dd { margin-bottom:30px; line-height:160%; }
.shop-info { margin:50px auto 50px; max-width:1020px; }
.shop-info .thumb { position:relative; border-radius:30px; box-shadow:0 0 15px rgba(0,0,0,0.08); padding:50px 50px; margin-bottom:30px; }
.shop-info .texts { width:100%; max-width:500px; margin:0 auto;  }
.shop-info .maker { font-size:14px; line-height:140%; margin-bottom:10px; }
.shop-info .name { font-size:20px; font-weight:700; line-height:140%; margin-bottom:10px; }
.shop-info .price { font-size:24px; line-height:140%; margin-bottom:40px; }
.shop-info .price span { font-size:13px; }
.cartjs_box { width:100%; max-width:500px; margin:0 auto; padding-bottom:0!important; }
.cartjs_product_table table { display:block; width:100%!important; max-width:500px!important; margin:0 0 0!important; }
.cartjs_product_table table tbody { display:block; }
.cartjs_product_table tr { display:block;}
.cartjs_product_table th { display:block;}
.cartjs_product_table td { display:block; padding-bottom:0; }
.cartjs_product_table select { font-size:16px!important; font-family:'Noto Sans JP'; width:100%!important; border:1px solid #ccc!important; border-radius:0!important; height:58px!important; padding:0 15px!important; margin-bottom:30!important; }
.cartjs_product_table input { font-size:16px!important; font-family:'Noto Sans JP'; width:100%!important; border:1px solid #ccc!important; border-radius:0!important; height:58px!important; padding:0 15px!important; margin-bottom:30px!important; box-sizing: border-box; }
.cartjs_cart_in { position:relative; margin:50px auto 0!important; text-align:center; height:60px!important; }
.cartjs_cart_in:hover { opacity:0.7; transition:0.3s ease-in-out; }
.cartjs_cart_in > * { position:relative; display:block; display:inline-block; background:linear-gradient(130deg, rgba(141,56,88,1) 0%, rgba(83,20,44,1) 48%); color:#fff; width:100%!important; line-height:60px; text-align:center; font-size:18px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; border-radius:10px; transition:0.3s ease-in-out; padding-left: 45px!important; }
.cartjs_cart_in > *:before { content:""; display:block; position:absolute; left:0; top:0; height:100%; opacity:0; width:100%; background:linear-gradient(130deg, rgba(175,84,118,1) 0%, rgba(113,7,47,1) 48%); border-radius:10px; transition:0.3s ease-in-out; }
.cartjs_cart_in:after { content:""; display:block; position:absolute; left:70px; top:50%; transform:translateY(-50%); background:url(../../shop/img/ico_cart.png) no-repeat; background-size:24.67px 22.43px; width:25px; height:23px; transition:0.3s ease-in-out; }
.cartjs_cart_in > * > * { position:relative; z-index:1; }
.cartjs_cart_in > *:hover { text-decoration:none; color:#fff; }
.cartjs_cart_in > *:hover:before { opacity:1; width:100%; }
.cartjs_cart_in > *:hover:after { background-image:url(../img/ico_arrow01_on.png); }
.cartjs_option1 select {
  -webkit-appearance: auto;
  appearance: auto;
}
.shop h4 {margin:5px 0 5px 0}


/* privacy */
body.privacy .section ul li { list-style-type:none; }
body.privacy .section ul ol { margin-top:15px; }
body.privacy .section ul ol p { margin-left:20px; }
body.privacy .section ol li { list-style-type:none; }


/* error */
body.error .section p { margin-bottom:75px; font-size:18px; font-weight:500; }
body.error .section a { position:relative; display:inline-block; line-height:26px; padding-left:42px; font-family:"新ゴ R",'Noto Sans JP'; font-weight:400; font-size:14px; transition:0.3s ease-in-out; }
body.error .section a:after { position:absolute; left:0; top:50%; transform:translateY(-50%); content:""; display:inline-block; width:26px; height:26px; background:#fff; background:url(../img/ico_home.svg) no-repeat; background-size:cover; transition:0.3s ease-in-out }
body.error .section a:hover { text-decoration:none; color:#6A1033; }
body.error .section a:hover:after { opacity:0.7; }




/* contact */
body.contact .section { }
body.contact .section > .inner > p { }
.progress { width:300px; margin:0 auto 20px; display:flex; flex-wrap:nowrap; }
.progress > div { position:relative; font-size:12px; border:1px solid #757070; background:#fff; border-radius:100px; color:#757070; text-align:center; width:75px; line-height:75px; opacity:0.5; margin-right:37px; }
.progress > div:after { content:""; display:block; background:#757070; width:37px; height:1px; position:absolute; left:74px; top:50%; transform:translateY(-50%); }
.progress > div:last-child { margin-right:0; }
.progress > div:last-child:after { display:none; }
.progress > div.current { opacity:1; border-color:#000; background:#000; color:#fff; }
.progress > div.current:after { opacity:0.5; }
.progress.complete { margin:50px auto 50px; }
.progress.complete + p { margin-bottom:50px!important;  }
.contact-form-items { background:#F7F6F4; border-top:3px solid #000; padding:40px 20px; font-size:16px; }
.contact-form-items table { margin:0 auto; width:100%;}
.contact-form-items tr { display:block; padding:10px; }
.contact-form-items tr:last-child { }
.contact-form-items th { display:block; padding:10px 0; line-height:160%; text-align:left; }
.contact-form-items td { display:block; padding:10px 0; line-height:160%; }
.contact-form-items th span { white-space:nowrap; display:inline-block; }
.contact-form-items .select { background:#fff; border:1px solid #CCCCCC; border-radius:5px; width:180px; height:auto;  position:relative; }
.contact-form-items .select select { padding:13px 15px; height:auto; }
.contact-form-items .select:before { content:"";
display:block;
width: 5px;
height: 5px;
border-top: 2px solid #000;
border-right: 2px solid #000;
background:none;
transform: rotate(135deg) translate(0,-50%);
position:absolute;
top:50%;
right:20px;
margin-top:-6px;
transition-duration: .4s;
z-index:2;
}
.contact-form-items ::placeholder { color:#CDCCCC; }
.contact-form-items input[type=text] { background:#fff; border:1px solid #CCCCCC; border-radius:5px; width:100%; padding:12px 15px; font-family: 'Noto Sans JP', sans-serif; font-size:16px; color:#000; box-sizing:border-box; }
.contact-form-items input[name^="group"],
.contact-form-items input[name^="birthday"] { width:32%; margin-right:2%; }
.contact-form-items input[name^="group"]:last-child,
.contact-form-items input[name^="birthday"]:last-child { margin-right:0; }
.contact-form-items textarea { background:#fff; border:1px solid #CCCCCC; border-radius:5px; height:180px; width:100%; padding:12px 15px; font-family: 'Noto Sans JP', sans-serif; font-size:16px; color:#000; box-sizing:border-box;}
.contact-form-items .select,
.contact-form-items *[id*="location"] { margin-bottom:12px; }
.contact-form-items .form-must { background:#DC000C; color:#fff; font-size:10px; font-weight:700; border-radius:3px; line-height:20px; width:44px; text-align:center; display:inline-block; position:relative; top:-2px; margin-right:12px; }
.contact-form-items .form-any { background:#B1B1B1; color:#fff; font-size:10px; font-weight:700; border-radius:3px; line-height:20px; width:44px; text-align:center; display:inline-block; position:relative; top:-2px; margin-right:12px; }
.contact-form-items .agree-text { font-size:14px; }
.contact-form-items label { margin-right:10px; white-space:nowrap; }
.contact-form-items input[type=radio] { margin:0 10px 0 10px; }
.contact-form-items .msg-choose-text { margin-bottom:15px; }
.contact-form-items .msg-choose { display:block; margin-bottom:5px; }
.contact-form-items .msg { margin-top:0px; }
.contact-form-items .error { background:#c00; color:#fff; border-radius:5px; padding:12px 15px; margin:0 0 10px; }
.contact-form-items p a { text-decoration:underline; }
.contact-form-items .thanks { max-width:calc(830 / 1100 * 100%); margin:0 auto -30px; }
.contact-form-items.confirm .btns { text-align:center; }
.contact-form-items.confirm .btns > div { max-width: 300px; display: block; margin: 20px auto 0; }
.contact-form-items.confirm .btns > div a { width:100%; }
.contact-form-items.complete p { margin:15px; }
.g-recaptcha { text-align:center; margin-top:-60px; }
.g-recaptcha > div { display:inline-block; }
.gotop { position:relative; display:inline-block; text-decoration:none; padding-right:22px; }
.gotop:after {
pointer-events:none;
content:"";
display:block;
width: 7px;
height: 7px;
border-top: 1px solid #6A1033;
border-right: 1px solid #6A1033;
transform: rotate(45deg) translate(50%,50%);
position:absolute;
top:8px;
right:0px;
transition:0.3s ease-in-out;
z-index:2;
}
.gotop:hover { text-decoration:none; color:#6A1033; }
.grecaptcha-badge { visibility:hidden; }
.grecaptcha-text { margin-top:50px; }




/* animation */
.standby { transform: translateY(30px); opacity:0; }
.is-animated { transition-delay:0.50s!important; transform: translateY(0px); opacity:1; transition-duration: .5s!important; transition-property:transform,opacity!important; }
.is-completed { transition-delay:0s!important; transition-duration:0s!important; }






/*
 * header & footer
 */
#header .pc { display:none!important; }
#header .sp { display:block!important; }
#header img.sp { display:inline-block!important; }
#header { position:fixed; left:20px; top:0; width:calc(100% - 40px); height:60px; z-index:2100; background:#fff; border-radius:0 0 30px 30px; box-shadow:0 0 20px rgba(0,0,0,0.13);  }
#header-bg { display:block; position:fixed; left:-20px; top:0; width:calc(100% + 20px); height:100%; background:#fff; opacity:0; z-index:2; transition:0.3s ease-in-out; pointer-events:none; }
#header.isopen + #header-bg { opacity:1; }
#header ul li { list-style-type:none; }
#header-inner { }
#header .logo { width:185px; display:block; margin:0 auto; position:absolute; left:20px; top:15px; }
#header .logo:hover { text-decoration:none; }
#header .header-gnav { position:absolute; width:100%; top:0px; /* opacity:0; */ height:100vh; pointer-events:none; transition:opacity 0.3s ease-in-out; }
#header .header-gnav.isopen { opacity:1; height:100vh; padding:0 0 80px;  /* opacity:1; */ pointer-events:auto; overflow-y:auto; }
#header #sp-menu .btn { cursor:pointer; display:block; width:34px; height:34px; position:absolute; right:20px; top:10px; transition:0.2s ease-in-out; z-index:20; -webkit-tap-highlight-color:rgba(0,0,0,0); cursor:pointer; }
#header #sp-menu .btn i { height:1px; background:#843352; display:block; position:absolute; left:0px; top:0px; transform-origin: 50% 0%; transition:0.5s ease-in-out; }
#header #sp-menu .btn i:nth-child(1) { width:35px; top:10px; }
#header #sp-menu .btn i:nth-child(2) { width:30px; top:20px; }
#header #sp-menu .btn i:nth-child(3) { width:20px; top:30px; }
#header #sp-menu.isopen .btn { top:13px; }
#header #sp-menu.isopen .btn i { width:25px; }
#header #sp-menu.isopen .btn i:nth-child(1) { top:17px; transform:rotate(45deg); }
#header #sp-menu.isopen .btn i:nth-child(2) { opacity:0; }
#header #sp-menu.isopen .btn i:nth-child(3) { top:17px; transform: rotate(-45deg); }
	
#header .header-gnav { /* display:none; */ position:fixed; z-index:3; width:calc(100% - 40px); top:60px; padding-top:0px; height:calc(0px); overflow: auto; -webkit-overflow-scrolling: touch; transition:opacity 0.5s ease-in-out; font-size:16px; opacity:0;  }
#header .header-gnav.isopen {  opacity:1; height:calc(100vh - 54px); top:60px; /* display:block; */ }
#header .header-gnav ul { margin:0; padding:0px; }
#header .header-gnav > ul { margin:30px;  /* box-shadow:0 0 15px rgba(0,0,0,0.15); */ border-top:1px solid #ddd; }
#header .header-gnav > ul > li { margin:0; padding:0; border-bottom:1px solid #ddd; }
#header .header-gnav > ul > li > a { position:relative; line-height:140%; display:block; color:#000; font-family:"新ゴ R",'Noto Sans JP'; padding:20px 10px; }
#header .header-gnav > ul > li > a:hover { text-decoration:none; }
#header .header-gnav > ul > li > a:before { content:""; display:block; background:url(../img/gnav_arrow01.png) no-repeat; background-size:cover; width:13px; height:13px; position:absolute; top:50%; right:20px; transform: translateY(-50%); }
#header .header-gnav > ul > li .sub { display:none!important; visibility:visible!important; }
#header .header-gnav > ul > li .sub.sp-open { display:block!important; }
#header .header-gnav > ul > li .sub > .nav > ul { padding:0; border-top:1px solid #ddd; }
#header .header-gnav > ul > li .sub > .nav > ul > li { margin:0; padding:0; }
#header .header-gnav > ul > li .sub > .nav > ul > li > a { position:relative; line-height:140%; display:block; color:#000; font-size:14px; font-family:"新ゴ R",'Noto Sans JP'; border-bottom:1px solid #ddd; padding:20px 10px 20px 25px; }
#header .header-gnav > ul > li .sub > .nav > ul > li > a:hover { text-decoration:none; }
#header .header-gnav > ul > li.contact a:before,
#header .header-gnav > ul > li.has-child > a:before{ background-image:url(../img/gnav_arrow02.png); }
#header .header-gnav > ul > li.has-child > a.sp-open:before{ background-image:url(../img/gnav_arrow03.png); }
#header .header-gnav .utils { margin-bottom:50px; }
#header .header-gnav .utils ul { text-align:center; }
#header .header-gnav .utils li { display:inline-block; margin:0 5px; }
#header .header-gnav .utils a { font-size:12px; font-family:"新ゴ R",'Noto Sans JP'; }
#header .address-area { position:relative; margin:30px; padding-bottom:50px; }
#header .address-area :after { content:""; display:block; position:absolute; left:240px; top:0; background:url(../img/img_dog02.png) no-repeat; background-size:cover; width:43.3px; height:50.14px; }
#header .address-area > .inner { position:relative; }
#header .address-area .address { font-size:10px; font-family:"新ゴ R",'Noto Sans JP'; line-height:160%; margin-bottom:45px; }
#header .address-area .address span { font-size:12px; font-weight:700; display:block; margin-bottom:10px; }
#header .copyright { margin-top:35px; white-space:nowrap;  font-size:10px; font-family:Montserrat; }
#contact { display:none; }




.mfp-wrap { z-index:3000; }
.mfp-bg { z-index:3000; background:#041E38; opacity:0.95; }
.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content { width:100%; max-width:1100px; }
.mfp-close-btn-in .mfp-close { position:fixed; opacity:1; color:rgba(0,0,0,0); background:#0F4991; width:45px; height:45px; right:0; top:0px; transition:opacity 0.3s ease-in-out; }
.mfp-close-btn-in .mfp-close:before,
.mfp-close-btn-in .mfp-close:after { content:""; width:30px; height:1px; display:block; position:absolute; left:8px; top:0; transform-origin: 50% 0%; background:#fff; }
.mfp-close-btn-in .mfp-close:before { top:22px; transform:rotate(45deg); }
.mfp-close-btn-in .mfp-close:after { top:22px; transform: rotate(-45deg); }
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.95;
}
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

.contact-section { position:relative; z-index:1; background:#F7F6F4; color:#000; padding:0 20px; margin-top:0px; }
.contact-section > .inner { position:relative; max-width:1200px; margin:0 auto; padding:55px 0 75px;  }
.contact-section .box { display:block; max-width:1086px; margin:0 auto; }
.contact-section .item { width:335px;  margin:0 auto 65px; }
.contact-section .item:nth-child(2) { margin-bottom:0; }
.contact-section .item .label { font-size:18px; font-family:"新ゴ R",'Noto Sans JP'; font-weight:400; margin-bottom:30px; text-align:center; }
.contact-section .item a { display:block; padding:18px; background:#FFF; border:3px solid #E6E6E6; border-radius:10px; text-align:center; transition:opacity 0.3s ease-in-out; text-align:center; }
.contact-section .item a:hover { text-decoration:none; }
.contact-section .item a .label span { }
.contact-section .item a .label + p { text-align:left; margin-bottom:20px; }
.contact-section .item a .number { display:inline-block; margin-left:37px; }
.contact-section .item a .number span { font-size:22px;  font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; position:relative; line-height:50px; position:relative; display:inline-block; }
.contact-section .item a .hours { display:block; font-size:15px;  font-family:"新ゴ R",'Noto Sans JP'; font-weight:400; text-align:center; background-color:#F7F6F4; line-height:29px; margin:10px auto 0; }
.contact-section .item a .title span { font-size:26px;  font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; position:relative; line-height:50px; position:relative; display:inline-block; }
.contact-section .item.tel a .number span:before { content:""; display:inline-block; background:url(../img/ico_tel.svg) no-repeat; background-size:42.49px 38.72px; width:43px; height:39px; position:absolute; top:25px; left:-63px; }
.contact-section .item.mail a .title span:before { content:""; display:inline-block; background:url(../img/ico_mail.svg) no-repeat; background-size:34.81px 26.16px; width:35px; height:27px; position:relative; top:6px; margin-right:30px; }
.contact-section .item.mail a { line-height:89px; }


#footer { position:relative; z-index:1; width:100%; }
#footer > .inner { position:relative; margin:0 auto; max-width:1400px; padding:45px 20px; z-index:2500; background:#fff; border-radius:30px 30px 0 0; box-shadow:0 0 20px rgba(0,0,0,0.13); }
/*#footer > .inner:after { content:""; display:block; position:absolute; left:50%; top:-45px; transform:translateX(-50%); background:url(../img/img_dog02.png) no-repeat; background-size:cover; width:47.03px; height:54.46px; }*/
#footer > .inner a { }
#footer .page-top { opacity:0; position:fixed; right:20px; bottom:40px; z-index:5000; transition:0.3s ease-in-out; }
#footer .page-top.visible { opacity:1; }
#footer .page-top.end { opacity:0; }
#footer .page-top a { background:url(../img/pagetop.png) no-repeat; background-size:cover; width:18px; height:135.5px; display:block; transition:0.3s ease-in-out; }
#footer .page-top a:hover { opacity:0.7; }
#footer .footer-gnav { display:none;}

#footer .logo { width:200px; margin:0 auto 45px; }
#footer .footer-utils { margin:0 auto; max-width:1200px; padding:0; }
#footer .address-area {}
#footer .address-area > .inner { position:relative; }
#footer .address-area .address { font-size:10px; font-family:"新ゴ R",'Noto Sans JP'; line-height:160%; margin-bottom:20px; text-align:center; }
#footer .address-area .address span { font-size:12px; font-weight:700; display:block; margin-bottom:10px; }
#footer .copyright-area { }
#footer .copyright-area > .inner { position:relative; margin:0 auto; max-width:1200px; padding:0; white-space:nowrap; }
#footer .utils { position:absolute; right:0px; bottom:0px;  }
#footer .utils ul { margin:0; }
#footer .utils li { display:inline; font-size:12px; font-family:"新ゴ R",'Noto Sans JP'; margin:0 0 0 30px; padding:0; }
#footer .utils li a { color:#000; transition:0.3s ease-in-out; }
#footer .utils li a:hover { color:#6A1033; text-decoration:none; }
#footer .copyright { white-space:nowrap;  font-size:10px; font-family:Montserrat; text-align:center; }





}
