@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;500;600;700;900');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700');
@import url('https://fonts.googleapis.com/css2?family=Itim&display=swap');


@media screen and (min-width: 751px) {
/* 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; overflow-x: hidden; font-size:16px; padding-top:0; margin-top:0!important; background:#F7F6F4; }
body { /* min-height:100%; */  font-size: 100%; color: #000; word-wrap: break-word; overflow:hidden; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none /* for ipad */; }
body { font-family: 'Noto Sans JP', sans-serif; font-size:16px; font-weight:400; }
_:-ms-input-placeholder, :root body { font-family: Meiryo, sans-serif; }
select { font-family: 'Noto Sans JP', sans-serif; font-size:16px; font-weight:400; color:#000; }
_:-ms-input-placeholder, :root select { font-family: Meiryo, sans-serif; }
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; */ }
div { font-size:16px; letter-spacing:0px; }
table { word-break: break-word; }
img { max-width: 100%; vertical-align: bottom; border: none; }
li { list-style-type: none; }
ol { margin-bottom:2.0em; }
ol li {  margin-left:20px; padding-left:5px; list-style-type:decimal; margin-bottom:0.2em; line-height:180%; }
ul { margin-bottom:2.0em; }
ul li {  margin-left:20px; padding-left:0px; list-style-type:disc; margin-bottom:0.5em; line-height:180%; }
dt { font-weight:bold; line-height:160%; margin-bottom:0.5em; }
dd { margin-bottom:1.5em; line-height:160%; }
p { margin-bottom: 2.0em; line-height:200%; }
p:last-child { margin-bottom:0; }
p > a { text-decoration:underline; }
p > a:hover { text-decoration:none; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }
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; }
.sp { display: none!important; }
.center { text-align:center; }
.pc-center { text-align:center; }
.right { text-align:right; } 
.pc-right { text-align:right; } 
.img-left { float:left; margin-right:50px; margin-bottom:50px; width:41.66666666666667%; }
.img-right { float:right; margin-left:50px; margin-bottom:50px; width:41.66666666666667%; }
strong { /* color:#C00; */ }
em { /* color:#960; */ font-weight:bold; font-style:normal; }
* { box-sizing:border-box; }
.nowrap { white-space:nowrap; display:inline-block; }
.red { color:#ff0000; }
.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 { max-width:1200px; margin:0 auto; padding:0 20px 150px; position:relative; box-sizing: content-box; }

.topic-path { opacity:0; position:absolute; left:0; top:330px; 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 12px 0 15px; 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:150px; pointer-events:none; }
.section * { pointer-events:auto; }
.section:last-child { margin-bottom:0; }
.section > .inner { max-width:1200px; }
.block { margin-bottom:140px; }
.article { margin:0 0 130px; }
.article p { line-height:180%; }
.indent01 { margin:0 45px 0; }
.red { color:#e60012; }


.page-title { position:relative; z-index:1; background:#F7F6F4; background-size:cover; margin:0 0 200px; padding:0 20px; height:450px; }
.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:210px; left:0; }
.page-title h1 span:nth-child(1) { display:block; position:relative; font-size:42px; 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:18px; font-family:Itim; font-weight:400; color:#843352; }
.page-title > .inner .img { position:absolute; left:0; top:0; height:550px; border-radius:0 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.company .page-title > .inner .img:before { background-image:url(../../company/img/bg_pagetitle02.png); }
body.mokuriva .page-title > .inner .img { background-image:url(../../mokuriva/img/bg_pagetitle01.jpg); }
body.mokuriva .page-title > .inner .img:before { background-image:url(../../mokuriva/img/bg_pagetitle02.png); left:-340px; top:153px; width:387px; height:317.51px;  }
body.mortex .page-title > .inner .img { background-image:url(../../mortex/img/bg_pagetitle01.jpg); }
body.mortex .page-title > .inner .img:before { background-image:url(../../mortex/img/bg_pagetitle02.png); left:-340px; top:153px; width:387px; height:317.51px; }
body.works .page-title > .inner .img { background-image:url(../../works/img/bg_pagetitle01.jpg); }
body.works .page-title > .inner .img:before { background-image:url(../../works/img/bg_pagetitle02.png); left:-340px; top:182px; width:387px; height:313px; }
body.simulation .page-title > .inner .img { background-image:url(../../simulation/img/bg_pagetitle01.jpg); }
body.simulation .page-title > .inner .img:before { background-image:url(../../simulation/img/bg_pagetitle02.png); left:-340px; top:158px; width:403px; height:315.82px; }
body.shop .page-title > .inner .img { background-image:url(../../shop/img/bg_pagetitle01.jpg); }
body.shop .page-title > .inner .img:before { background-image:url(../../shop/img/bg_pagetitle02.png); left:-317px; top:176px; width:385px; height:310.18px; }
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:110px; }


.title01 { position:relative; margin-bottom:140px; line-height:140%; }
.title01:first-child { margin-top:0; }
.title01 span:nth-child(1) { font-size:34px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; }
.title01 span:nth-child(2) { font-size:18px; font-family:Itim; font-weight:400; color:#843352; position:absolute; left:0; bottom:-60px; }
.title01:after { content:""; display:block; position:absolute; left:0; bottom:-20px; background:#FFD800; width:15px; height:3px; }
.title02 { position:relative; margin-top:100px; margin-bottom:100px; line-height:140%; font-size:34px; 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:100px auto 100px; 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:260px; line-height:64px; text-align:center; font-size:18px; 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:23px 23px; width:23px; height:23px; 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 { display:flex; flex-wrap:wrap; margin:0 auto; }
.box-flex01 > * { width:calc(540 / 1200 * 100%); margin-right:calc(40 / 1200 * 100%); margin-bottom:90px; }
.box-flex01 > *:nth-child(2n) { margin-right:0; }
.box-flex02 { display:flex; flex-wrap:wrap; margin:0 auto 10px; }
.box-flex02 > * { width:calc(285 / 1200 * 100%); margin-right:calc(20 / 1200 * 100%); margin-bottom:20px; }
.box-flex02 > *:nth-child(4n) { margin-right:0; }


.border-box01 { position:relative; border:1px solid #ccc; margin-bottom:85px; margin-top:60px; padding:50px 90px; }
.border-box01 p { position:absolute; left:310px; top:50%; transform:translateY(-50%); padding-right:20px; }


.table01 { margin-bottom:70px;}
.table01 table { width:100%; line-height:180%; }
.table01 table th {  border-bottom:1px solid #843352; font-weight:700; padding:24px 0px 24px 0px; text-align:center; width:190px; }
.table01 table td { border-bottom:1px solid #CCC; padding:24px 0px 24px 100px; 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:24px 0px 24px 0px; text-align:left; width:190px; }
.table02 table td { border-bottom:1px solid #CCC; padding:24px 0px 24px 50px; 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:20px 25px; font-weight:400; width:150px; }
.data-block01 dd { display:table-cell; vertical-align:middle; border-right:1px solid #CCCCCC; border-bottom:1px solid #CCCCCC; padding:20px 25px; }




/* home */
body.home .contact-section { display:none!important; }
body.home .contents { background:#F7F6F4; padding-bottom:160px; }
body.home .main-content { padding-bottom:0; }
body.home .main-visual { background:url(../../img/img_main.jpg) no-repeat center center; background-size:cover; background-size:cover; height:100vh; min-height:800px; position:relative; }
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(208 / 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:5s ease-in-out; }
body.home .main-visual .char01.out { left:calc(1900 / 1400 * 100%); transition:8s ease-in-out 5s; }
body.home .main-visual .char02 { position:absolute; right:calc(-500 / 1400 * 100%); top:calc(796 / 1080 * 100%); height:calc(75 / 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(-400 / 1400 * 100%); transition:0s ease-in-out; }
body.home .main-visual .char02.stay { right:calc(310 / 1400 * 100%); transition:5s ease-in-out; }
body.home .main-visual .char02.out { right:calc(2000 / 1400 * 100%); transition:8s ease-in-out 5s; }
body.home .main-visual .char03 { position:absolute; right:calc(-450 / 1400 * 100%); top:calc(830 / 1080 * 100%); height:calc(75 / 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(-480 / 1400 * 100%); transition:0s ease-in-out; }
body.home .main-visual .char03.stay { right:calc(230 / 1400 * 100%); transition:5s ease-in-out; }
body.home .main-visual .char03.out { right:calc(1920 / 1400 * 100%); transition:8s ease-in-out 5s; }
body.home .main-visual .char04 { position:absolute; right:calc(-400 / 1400 * 100%); top:calc(780 / 1080 * 100%); height:calc(75 / 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(-540 / 1400 * 100%); transition:0s ease-in-out; }
body.home .main-visual .char04.stay { right:calc(170 / 1400 * 100%); transition:5s ease-in-out; }
body.home .main-visual .char04.out { right:calc(1860 / 1400 * 100%); transition:8s ease-in-out 5s; }
body.home .main-visual .char01.sp-anime { display:none; }
body.home .main-visual .char02.sp-anime { display:none; }
body.home .main-visual .char03.sp-anime { display:none; }
body.home .main-visual .char04.sp-anime { display:none; }



.section-odd { margin:135px 0 135px 0; position:relative; padding:0; }
.section-odd .inner { padding:120px 0 140px; max-width:1200px; margin:0 auto; position:relative; }
.section-odd .inner:before { opacity:0; content:""; display:block; position:absolute; right:305px; 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 .box {  position:relative; z-index:2; left:0px; width:550px; padding:0 0 0; }
.section-odd .box:after { opacity:0; content:""; display:block; position:absolute; z-index:-2; left:600px; top:5px; background:url(../../img/pho01.jpg) no-repeat center center; background-size:cover; width:600px; height:360px; border-radius:30px; }
.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-bottom:0; text-align:left; }

.section-even { margin:135px 0 135px 0; position:relative; padding:0; }
.section-even .inner { padding:120px 0 140px 650px; max-width:1200px; margin:0 auto; position:relative; }
.section-even .inner:before { opacity:0; content:""; display:block; position:absolute; left:305px; 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 .box {  position:relative; z-index:2; left:0px; width:550px; padding:0 0 0; }
.section-even .box:after { opacity:0; content:""; display:block; position:absolute; z-index:-2; right:600px; top:5px; background:url(../../img/pho02.jpg) no-repeat center center; background-size:cover; width:600px; height:360px; border-radius:30px; }
.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-bottom:0; text-align:right; }

.section-simulation .box:after { background-image:url(../../img/pho01.jpg); }
.section-simulation:after { content:""; display:block; position:absolute; left:-230px; top:300px; z-index:-1; background:url(../../img/bg_body.png) no-repeat; background-size:cover; width:959.66px; height:994.68px; }
.section-mokuriva .box:before { opacity:0; content:""; display:block; position:absolute; left:-620px; top:-45px; z-index:-1; background:url(../img/img_dog02.png) no-repeat; background-size:cover; width:43.3px; height:50.14px; }
.section-mokuriva .box:after { background-image:url(../../img/pho02.jpg); }
.section-mokuriva:after { content:""; display:block; position:absolute; right:-950px; top:400px; z-index:1; background:url(../../img/bg_body.png) no-repeat; background-size:cover; width:959.66px; height:994.68px; }
.section-mortex .box:after { background-image:url(../../img/pho03.jpg); }
.section-works .box:after { background-image:url(../../img/pho04.jpg); }
.section-works .box:before { opacity:0; content:""; display:block; position:absolute; left:-280px; top:-405px; z-index:-1; background:url(../../img/img01.png) no-repeat; background-size:cover; width:202.52px; height:329.45px; }

.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 .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 .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:190px; }
.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:70px; }
.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:-97px; top:8px; background:url(../../img/img_onlineshop01.png) no-repeat; background-size:cover; width:44.22px; height:39.48px; }
.section-shop .title01 span:nth-child(1):after { content:""; display:block; position:absolute; right:-97px; top:8px; background:url(../../img/img_onlineshop02.png) no-repeat; background-size:cover; width:44.22px; height:39.48px; }
.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 auto; }
.section-shop .btn01 { margin:0 0 0; top:32px; }


/* company */
.catchcopy { font-size:32px; font-family:"新ゴ R",'Noto Sans JP'; font-weight:400; margin-bottom:30px; line-height:160%; }
.map iframe { width:100%; height:745px; }
.maker-list { border-radius:30px; box-shadow:0 0 30px rgba(0,0,0,0.08); }
.maker-list .items { display:flex; flex-wrap:nowrap; padding:90px 70px; }
.maker-list .items > div { width:32%; margin-right:3%; }
.maker-list .items > div:last-child { margin-right:0; }
.maker-list .items ul { margin:0; padding:0; }
.maker-list .items li { list-style-type:none; margin:0 0 45px; 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 */
.mokuriva-box { background:#F7F6F4; border-radius:30px; padding:55px; }
.mokuriva-box .box { position:relative; background:#FFF; border-radius:30px; padding:20px; margin:0 auto 108px; max-width:900px; }
.mokuriva-box .box p { text-align:center; }
.mokuriva-box .box:after { content:""; display:block; position:absolute; left:50%; transform:translateX(-50%); bottom:-75px; background:url(../../mokuriva/img/img_arrow01.png) no-repeat; background-size:cover; width:40px; height:26px; }
.mokuriva-box .char-box { position:relative; width:830.42px; height:145.5px; margin:0 auto; }
.mokuriva-box .char-box p { position:absolute; left:300px; top:28px; text-align:center; }
.mokuriva-box .char-box:before { content:""; display:block; position:absolute; left:0; top:0; background:url(../../mokuriva/img/img01.png) no-repeat; background-size:cover; width:830.42px; height:145.5px; }
.title-mokuriva { position:relative; font-size:26px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; border-bottom:1px solid #CCC; border-top:1px solid #CCC; line-height:84px; padding-left:135px; margin-top:100px; margin-bottom:45px; }
.title-mokuriva.num01 { background:url(../../mokuriva/img/ttl01.png) no-repeat 10px 0; background-size:91.64px 70.5px; }
.title-mokuriva.num02 { background:url(../../mokuriva/img/ttl02.png) no-repeat 10px 0; background-size:91.64px 70.5px; }
.title-mokuriva.num03 { background:url(../../mokuriva/img/ttl03.png) no-repeat 10px 0; background-size:91.64px 70.5px; }
.title-mokuriva + p + .note { font-size:13px; }
.sub-title-mokuriva { font-size:18px; font-weight:700; margin-top:85px; margin-bottom:35px; line-height:140%; text-align:center; }
.sub-title02-mokuriva { 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; }
.mokuriva-items01 { display:flex; max-width:630px; margin:0 auto -100px; }
.mokuriva-items01 .item { width:calc(260 / 630 * 100%); margin-right:calc(110 / 630 * 100%); margin-bottom:100px; text-align:center; }
.mokuriva-items01 .item:last-child { margin-right:0; }
.mokuriva-items01 .item .img { margin-bottom:25px; }
.mokuriva-items02 { display:flex; max-width:740px; margin:0 auto; }
.mokuriva-items02 .item { width:calc(260 / 740 * 100%); margin-right:calc(220 / 740 * 100%); margin-bottom:100px; }
.mokuriva-items02 .item:last-child { margin-right:0; }
.mokuriva-items02 .item .img { margin-bottom:20px; }
.mokuriva-items02 .item .title { font-size:18px; text-align:center; line-height:140%; margin-bottom:15px; }
.mokuriva-items02 .item p {}

.mokuriva-amount01 { text-align:center; max-width:740px; background:#F7F2F4; font-size:22px; 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:30px; 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:-64px; 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:55px 35px; box-shadow:0 0 30px rgba(0,0,0,0.08); margin-bottom:150px; }
.mokuriva-maintenance .title { font-size:22px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; color:#fff; text-align:center; background:#000; line-height:60px; margin-bottom:35px; }
.mokuriva-maintenance .img { max-width:990px; margin:0 auto; }
.title-mokuriva.num03 + .img { max-width:940px; margin:90px auto 150px; }
.sub-title02-mokuriva.num01 + .img { max-width:420px; margin:0 auto; }
.sub-title02-mokuriva.num02 + .img { max-width:624px; margin:0 auto; }
.sub-title02-mokuriva.num02 + .img + .note { text-align:center; margin-top:50px; }


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


/* works */
body.works .section > .inner > p { margin-bottom:130px; }
.works-items .item { display:flex; flex-wrap:nowrap; border-radius:30px; box-shadow:0 0 30px rgba(0,0,0,0.08); margin-bottom:90px; }
.works-items .item:last-child { margin-bottom:0; }
.works-items .item .photo { width:calc(600 / 1200 * 100%); border-radius:30px 0 0 30px; }
.works-items .item:nth-child(1) .photo { background:url(../../works/img/pho01.jpg) no-repeat; background-size:cover; }
.works-items .item:nth-child(2) .photo { background:url(../../works/img/pho02.jpg) no-repeat; background-size:cover; }
.works-items .item:nth-child(3) .photo { background:url(../../works/img/pho03.jpg) no-repeat; background-size:cover; }
.works-items .item .texts { width:calc(600 / 1200 * 100%); padding:60px 65px; }
.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:14px; font-weight:500; line-height:28px; display:inline-block; background:#000; color:#fff; padding:0 10px; margin-right:18px; margin-bottom:14px; }
.works-items .item .texts p { margin-bottom:30px; }
.works-items .item .texts .btn01 { margin:0; text-align:left; }

.works-title01 { position:relative; background: url(../../works/img/ttl01.png) no-repeat left bottom; background-size:35.21px 45.07px; font-size:26px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; line-height:47px; margin-bottom:70px; margin-top:110px; padding-left:60px; }
.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:26px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; line-height:47px; margin-bottom:50px; margin-top:110px; padding-left:60px; }

.works-slide { display:flex; flex-wrap:no-wrap; max-width:1100px; margin:0 auto; }
.works-slide > .swiper:nth-child(1) { width:calc(100% - 150px); }
.works-slide > .swiper:nth-child(2) { width:125px; margin-left:25px; }
.works-slide .swiper {}
.works-slide .swiper-slide {background-size: cover;background-position: center;}
.works-slide .mySwiper2 { height:600px;}
.works-slide .mySwiper { height:600px; box-sizing: border-box;  }
.works-slide .mySwiper .swiper-slide {width:125px; height:79px; margin-bottom:15px; cursor:pointer; }
.works-slide .mySwiper .swiper-slide-thumb-active { opacity: 0.5; }
.works-slide .swiper-slide img { display: block;width: 100%;height: 100%;object-fit: cover;}
.swiper-button-next { background:url(../../works/img/slide_next.png) no-repeat; background-size:34.5px 34.5px; width:35px; height:35px; right:22px; }
.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:34.5px 34.5px; width:35px; height:35px; left:22px; }
.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:130px; }
.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:24px 41px; width:24px; height:41px; 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 45px; 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 45px; text-align:center; font-weight:600; }
.works-category { max-width:1100px; margin:22px auto 120px; }
.works-category span { font-size:14px; font-weight:500; line-height:28px; display:inline-block; background:#000; color:#fff; padding:0 10px; margin-right:18px; }
.works-point { border-radius:30px; box-shadow:0 0 30px rgba(0,0,0,0.08); position:relative; padding:80px 50px 50px; }
.works-point:before {  content:""; display:block; position:absolute; left:50px; top:-52px; background:url(../../works/img/ttl_point.png) no-repeat; background-size:157.61px 105.54px; width:158px; height:106px; }
.works-point + .works-slide { margin-top:110px; }
.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:75px 45px; margin-top:80px; }
.simulation-box .items { display:flex; flex-wrap:wrap; max-width:1105px; margin:0 auto; }
.simulation-box .item { width:calc(525 / 1105 * 100%); margin-right:calc(55 / 1105 * 100%); }
.simulation-box .item:last-child { margin-right:0; }
.simulation-box .item .title { position:relative; font-size:26px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; line-height:44px; margin-bottom:35px; 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.type-a .title:before { background-image:url(../../simulation/img/ttl01.png); }
.simulation-box .item.type-b .title:before { background-image:url(../../simulation/img/ttl02.png); }
.simulation-box .item .btn01 { margin:60px auto 0; }
body.simulation .lead { margin-bottom:100px; text-align: center}
.simulation-catchcopy { padding-top:130px; text-align: center }
.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 50px; }
.simulation-selecter .simulation-header .title { position:relative; font-size:26px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; line-height:44px; padding-left:140px; }
.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:124.4px 43.15px; width:125px; height:44px; }
.simulation-selecter .simulation-header .sub-title { position:absolute; right:50px; top:50%; transform:translateY(-50%); text-align:right; }
.simulation-selecter .simulation-header .sub-title span:nth-child(1) { display:block; font-size:18px; 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:18px; 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:30px 50px; }
.simulation-selecter .simulation-body .img-selector { display:flex; flex-wrap:wrap; position:relative; max-width:1100px; }
.simulation-selecter .simulation-body .img-selector .img { position:relative; width:calc(825 / 1100 * 100%); margin-right:calc(25 / 1100 * 100%); }
.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 { width:calc(250 / 1100 * 100%); }
.simulation-selecter .simulation-body .img-selector .group { border:1px solid #ccc; margin-bottom:calc(64 / 600 * 100%); height:calc(286.5 / 600 * 100%); }
.simulation-selecter .simulation-body .img-selector .group .title { position:relative; background:#EFEFEF; border-bottom:1px solid #ccc; height:calc(74 / 286.5 * 100%); }
.simulation-selecter .simulation-body .img-selector .group .title:after { content:""; display:block; position:absolute; right:calc(20 / 250 * 100%); top:50%; transform:translateY(-50%); background:url(../../simulation/img/img_select01.png) no-repeat; background-size:73.07px 31.26px; width:74px; height:32px; }
.simulation-selecter .simulation-body .img-selector .group.roof .title:after { background-image:url(../../simulation/img/img_select01.png) ; background-size:73.07px 31.26px; width:74px; height:32px; }
.simulation-selecter .simulation-body .img-selector .group.wall .title:after { background-image:url(../../simulation/img/img_select02.png) ; background-size:42.72px 42.72px; width:42.72px; height:42.72px; }
.simulation-selecter .simulation-body .img-selector .group .title span { position:absolute; left:calc(20 / 250 * 100%); top:50%; transform:translateY(-50%); display:inline-block; font-size:16px; font-family:"新ゴ B",'Noto Sans JP'; font-weight:700; background:#000; color:#fff; border-radius:50px; width:83px; line-height:35px; text-align:center; }
.simulation-selecter .simulation-body .img-selector .group .color-items { display:flex; flex-wrap:wrap; height:calc(212.5 / 286.5 * 100%); }
.simulation-selecter .simulation-body .img-selector .group .color-items .item { position:relative; width:50%; height:50%; border-right:1px solid #ccc; text-align:center; cursor:pointer; }
.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:10px; 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:40px; height:40px; 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:64px; width:calc(566 / 1100 * 100%); padding:0 34px; }
.simulation-selecter .simulation-body .active-color > div { display:inline-block; margin-right:65px; }
.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 .roof { height:calc(180 / 600 * 100%); }
.simulation-selecter.type-b .simulation-body .img-selector .roof .title { height:calc(74 / 180 * 100%); }
.simulation-selecter.type-b .simulation-body .img-selector .roof .color-items { height:calc(106 / 180 * 100%); }
.simulation-selecter.type-b .simulation-body .img-selector .roof .color-items { height:calc(106 / 180 * 100%); }
.simulation-selecter.type-b .simulation-body .img-selector .roof .color-items .item:nth-child(1) { width:100%; height:100%; border:none; }
.simulation-selecter.type-b .simulation-body .img-selector .wall { height:calc(392 / 600 * 100%); }
.simulation-selecter.type-b .simulation-body .img-selector .wall .title { height:calc(74 / 392 * 100%); }
.simulation-selecter.type-b .simulation-body .img-selector .wall .color-items { height:calc(318 / 392 * 100%); }
.simulation-selecter.type-b .simulation-body .img-selector .wall .color-items { height:calc(318 / 392 * 100%); }
.simulation-selecter.type-b .simulation-body .img-selector .wall .color-items .item { height:33.33333333%; }
.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:0; position:absolute; right:0; top:0; width:calc(492 / 1100 * 100%); }
.simulation-selecter .simulation-body .btn01 a { position:absolute; right:0; top:0;  width:100%; }
.simulation-selecter + .note { font-size:12px; text-align: center}
body.simulation .note { font-size:14px; text-align: center}
.simulation .btn01.simulation-btn > * {width: 330px}

/* shop */
.shop-items { display:flex; flex-wrap:wrap; margin:90px auto -90px;  }
.shop-items .item { width:calc(350 / 1200 * 100%); margin-right:calc(75 / 1200 * 100%); margin-bottom:110px; transition:0.3s ease-in-out; }
.shop-items .item:hover { text-decoration:none; opacity:0.7; }
.shop-items .item:nth-child(3n) { margin-right:0; }
.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:100px; text-align: center}
.shop-catchcopy { font-size:25px; font-family:"新ゴ R",'Noto Sans JP'; font-weight:400; line-height:180%; margin-bottom:50px; text-align:center; }
.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 { display:flex; flex-wrap:nowrap; margin:90px auto 100px; max-width:1020px; }
.shop-info .thumb { position:relative; width:calc(100% - 420px); margin-right:calc(75 / 1020 * 100%); border-radius:30px; box-shadow:0 0 15px rgba(0,0,0,0.08); padding:50px 80px; }
.shop-info .thumb img { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:80%; }
.shop-info .texts { width:345px;  }
.shop-info .maker { font-size:16px; line-height:140%; margin-bottom:20px; }
.shop-info .name { font-size:24px; font-weight:700; line-height:140%; margin-bottom:20px; }
.shop-info .price { font-size:30px; line-height:140%; margin-bottom:70px; }
.shop-info .price span { font-size:13px;}
.cartjs_box { width:300px; padding-bottom:0!important; }
.cartjs_product_table table { display:block; width:300px!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:300px!important; border:1px solid #ccc!important; border-radius:0!important; height:58px!important; padding:0 15px!important; margin-bottom:30!important; position: relative}
.cartjs_option1 select {
  -webkit-appearance: auto;
  appearance: auto;
}
.cartjs_product_table input { font-size:16px!important; font-family:'Noto Sans JP'; width:300px!important; border:1px solid #ccc!important; border-radius:0!important; height:58px!important; padding:0 15px!important; margin-bottom:30px!important;  }
.cartjs_cart_in { position:relative; margin:100px 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); }
.shop-btn { margin-top:160px; margin-bottom:0; }
.shop h4 {margin:15px 0 10px 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 > .inner > p { margin-bottom:75px; font-size:18px; font-weight:500; }
.progress { width:576px; margin:0 auto 50px; display:flex; flex-wrap:nowrap; }
.progress > div { position:relative; border:1px solid #757070; background:#fff; border-radius:100px; color:#757070; text-align:center; width:108px; line-height:108px; opacity:0.5; margin-right:126px; }
.progress > div:after { content:""; display:block; background:#757070; width:126px; height:1px; position:absolute; left:107px; 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 { }
.progress.complete { margin:-50px auto 140px; }
.progress.complete + p { margin-bottom:85px!important; }
.contact-form-items { background:#F7F6F4; border-top:3px solid #000; padding:80px 0; font-size:16px; }
.contact-form-items table { max-width:calc(750 / 1100 * 100%); margin:0 auto; }
.contact-form-items th { padding:42px 0 0; vertical-align:top; padding-right:70px; font-weight:700; line-height:160%; width:calc(220 / 830 * 100%); text-align:left; white-space:nowrap; }
.contact-form-items td { padding:30px 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; }
.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;}
.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=checkbox],
.contact-form-items input[type=radio] { margin:0 10px 0 0px; }
.contact-form-items .msg-choose-text { margin-bottom:15px; }
.contact-form-items .member { display:block; margin-bottom:10px; }
.contact-form-items .msg { margin-top:20px; }
.contact-form-items .error { background:#c00; color:#fff; border-radius:5px; padding:12px 15px; margin:0 0 10px; }
.contact-form-items .thanks { max-width:calc(830 / 1100 * 100%); margin:0 auto -30px; }
.contact-form-items.confirm td { padding:42px 0 30px; }
.contact-form-items.confirm .btns { text-align:center; }
.contact-form-items.confirm .btns > div { width:250px; display:inline-block; margin:50px 12px 0; }
.contact-form-items.confirm .btns > div a { width:100%; }
.contact-form-items.confirm .submit-area { padding:0; }
.contact-form-items.confirm .submit-area .btn { margin:90px 60 0; }
.g-recaptcha { text-align:center; }
.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; }


}




@media screen and (min-width: 1200px) {
	
/*
 * header & footer
 */
#header { position:fixed; top:0; left:50%; transform:translateX(-50%); height:90px; width:100%; max-width:1400px; z-index:2500; background:#fff; border-radius:0 0 30px 30px; box-shadow:0 0 20px rgba(0,0,0,0.13); }
#header.hidden { background:rgba(255,255,255,0.9); }
#header-inner { margin:0 auto; padding:0 20px; position:relative; z-index:10; box-sizing:content-box; }
#header .logo { width:254px; display:block; margin:0 auto; position:absolute; left:50px; top:25px; }
#header .logo:hover { text-decoration:none; }
#header .header-gnav { position:absolute; right:40px; top:0; }
#header .header-gnav > ul { margin:0; }
#header .header-gnav > ul > li { position:relative; display:inline-block; list-style-type:none; margin-left:45px; }
#header .header-gnav > ul > li > a { color:#000; display:inline-block; line-height:90px; font-size:14px; font-family:"新ゴ R",'Noto Sans JP'; position:relative; white-space:nowrap; transition: 0.3s ease-in-out; }
#header .header-gnav > ul > li > a:after { content:""; display:block; width:0%; height:2px; background:#067EF5; position:absolute; left:0; top:89px; transition:width 0.3s ease-in-out; }
#header .header-gnav > ul > li > a:hover { text-decoration:none; color:#6A1033; }
#header .header-gnav .sub { opacity:0; pointer-events:none; position:absolute; width:182px; left:50%; transform:translateX(-50%); top:68px; background:#FFF; transition:0.3s ease-in-out; -webkit-backface-visibility:hidden; backface-visibility:hidden; filter: blur(0); -webkit-filter: blur(0); overflow:hidden; border-radius:0 0 30px 30px; padding-top:8px; }
#header .header-gnav li:hover .sub { opacity:1; pointer-events:auto; }
#header .header-gnav .sub ul { padding:0 18px; margin:0 0 5px; }
#header .header-gnav .sub ul li { list-style-type:none; margin:0; padding:0; }
#header .header-gnav .sub ul li a { display:block; color:#000; text-align:center; line-height:45px; font-size:14px; font-family:"新ゴ R",'Noto Sans JP'; position:relative; white-space:nowrap; transition: 0.3s ease-in-out; border-top:1px solid #ccc; }
#header .header-gnav .sub ul li:first-child a:after { content:""; display:block; background:url(../img/img_gnav.svg); background-size:cover; width:9px; height:6px; position:absolute; left:50%; transform:translateX(-50%); top:-7px; }
#header .header-gnav .sub ul li a:hover { text-decoration:none; color:#6A1033; }
#contact { position:fixed; right:0; top:190px; z-index:2500; }
#contact a { display:block; background:url(../img/btn_contact.png) no-repeat; background-size:cover; width:53px; height:277px; transition:0.3s ease-in-out; text-indent:-9999px; box-shadow:0 0 20px rgba(0,0,0,0.16); border-radius:20px 0 0 20px; }
#contact a:hover { background-image:url(../img/btn_contact_on.png); }
	
#header .header-gnav > ul > li.cart {display: none}
body.shop #header .header-gnav > ul > li.shop {display: none}
body.shop #header .header-gnav > ul > li.cart {display: inline-block}
body.shop #header .header-gnav > ul > li.cart a { position: relative; padding-left: 25px}
body.shop #header .header-gnav > ul > li.cart a:before  { content:""; display:block; background:url("../img/icon-cart.png"); background-size:cover; width:20px; height:19px; position:absolute; left:0; top:50%; transform:translateY(-50%);  }
	
.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 { opacity:1; color:rgba(0,0,0,0); background:#0F4991; width:45px; height:45px; top:85px; transition:opacity 0.3s ease-in-out; }
.mfp-close-btn-in .mfp-close:hover { opacity:0.7; }
.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:flex; flex-wrap:nowrap; max-width:1086px; margin:0 auto; }
.contact-section .item { width:calc(480 / 1086 * 100%); margin-right:calc(126 / 1086 * 100%); }
.contact-section .item:nth-child(2) { margin-right: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:30px;  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:30px; left:-73px; }
.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.tel a  { pointer-events:none; }
.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; right:85px; top:-55px; background:url(../img/img_dog02.png) no-repeat; background-size:cover; width:65.81px; height:76.21px; }*/
#footer > .inner a { }
#footer .page-top { opacity:0; position:fixed; right:55px; bottom:40px; z-index:3000; 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 { position:absolute; left: 50%; top: 0; margin: 0 auto; width: 100%; transform: translateX(-50%); max-width: 1200px; padding:0 20px; }
#footer .footer-gnav > .inner { position:absolute; right:0; top:45px; display:flex; }
#footer .footer-gnav .group { padding:0 0 0px 60px; }
#footer .footer-gnav .group > ul { margin-bottom:0; }
#footer .footer-gnav .group > ul > li { margin:0 0 10px 0; padding:0; list-style-type:none; }
#footer .footer-gnav .group > ul > li > a { color:#000; font-size:14px; font-family:"新ゴ R",'Noto Sans JP'; font-weight:700; white-space:nowrap; transition:0.3s ease-in-out; }
#footer .footer-gnav .group > ul > li > a:hover { color:#6A1033; text-decoration:none; }
#footer .footer-gnav .group > ul > li:last-child { margin-bottom:0; }
#footer .footer-gnav .group > ul > li > ul { margin-top:5px; margin-bottom:0; }
#footer .footer-gnav .group > ul > li > ul > li { margin:0 0 0px 0; padding:0; list-style-type:none; white-space:nowrap; }
#footer .footer-gnav .group > ul > li > ul > li > a { color:#000; font-size:14px; font-family:"新ゴ R",'Noto Sans JP'; white-space:nowrap; transition:0.3s ease-in-out; }
#footer .footer-gnav .group > ul > li > ul > li > a:before { content:"・"; }
#footer .footer-gnav .group > ul > li > ul > li > a:hover { color:#6A1033; text-decoration:none; }
#footer .footer-gnav .group > ul > li > ul > li:last-child { margin-bottom:0; }

#footer .logo { width:210px; margin-bottom:35px; }
#footer .footer-utils { margin:0 auto; max-width:1200px; padding:0; }
#footer .address-area {}
#footer .address-area > .inner { position:relative; }
#footer .address-area .address { line-height:160%; margin-bottom:25px; font-size: 14px }
#footer .address-area .address span { 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:13px; font-family:Montserrat; }



}

@media screen and (min-width: 751px) and (max-width: 1250px) {
body.home .contents { padding-top:0; }
.section-odd { margin:100px -20px 100px -20px; position:relative; padding:0; }
.section-odd .inner { padding:100px 20px 100px; 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 { max-width:800px; margin-left:auto; margin-right:auto; }
.section-odd .img { display:block!important; max-width:800px; width:100%; position:relative; margin:0 auto 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; max-width:800px; width:100%; margin:0 auto; z-index:2; left:0px; padding:0 0 0; }
.section-odd .box:after { display:none; }
.section-odd .box:before { display:none; }
.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; text-align:center; }

.section-even { margin:100px -20px 100px -20px; position:relative; padding:0; }
.section-even .inner { padding:100px 20px 100px; 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 { max-width:800px; margin-left:auto; margin-right:auto; }
.section-even .img {  display:block!important; max-width:800px; width:100%; position:relative; margin:0 auto 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; max-width:800px; width:100%; margin:0 auto; z-index:2; left:0px; padding:0 0 0; }
.section-even .box:after { display:none; }
.section-even .box:before { display:none; }
.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; text-align:center; }


.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; }

}

@media screen and (min-width: 751px) and (max-width: 1199px) {
	
.contents { padding-top:60px; }


/*
 * 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:254px; display:block; margin:0 auto; position:absolute; left:30px; top:10px; }
#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; 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; width: 300px; margin: 0 auto; }
#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:480px; 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:30px;  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:30px; 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.tel a  { pointer-events:none; }
.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:156px; 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 { display:none; 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; }



/* mokuriva */
.mokuriva-box .char-box { width:auto; height:auto; padding-bottom:200px; }
.mokuriva-box .char-box p { position:static; max-width:900px; width:100%; margin:0 auto; text-align:center; border:3px solid #000; padding:20px; }
.mokuriva-box .char-box:before { content:""; display:block; position:absolute; left:50%; transform:translateX(-50%); top:auto; bottom:-0px; background:url(../img/img_char01.png) no-repeat; background-size:165.12px 141.5px; width:166px; height:142px; }


/* simulation */
.simulation-catchcopy { padding-top: 40px; }

}

@media screen and (min-width: 1000px) and (max-width: 1199px) {
	
/* compnay */
.maker-list .items > div { width:auto; margin-right:10%; }


/* simulation */
.simulation-selecter .simulation-body .img-selector .group .color-items .item span { bottom:10%; font-size:9px; }
.simulation-selecter .simulation-body .img-selector .group .color-items .item:before {}
	
}

@media screen and (min-width: 751px) and (max-width: 999px) {
	
body .page-title > .inner .img:before { display:none; }

/* compnay */
.maker-list .items { display:block; }
.maker-list .items > div { width:auto; margin-right:0; }


/* simulation */
.simulation-selecter .simulation-body .active-color { width:auto; }
.simulation-selecter .simulation-body .btn01 { margin:30px auto 0; position:relative; width:492px; }
.simulation-selecter .simulation-body .btn01 a { position:relative; }

.simulation-selecter .simulation-body .img-selector .group .color-items .item span { bottom:10%; font-size:9px; }
.simulation-selecter .simulation-body .img-selector .group .color-items .item:before { width:25px; height:25px; }
.simulation-selecter .simulation-body .img-selector .group .title span { line-height:30px; font-size:14px; left:50%; transform:translate(-50%,-50%); }
.simulation-selecter .simulation-body .img-selector .group .title:after { display:none; }

}
