/*
Theme Name: 富士ライフ 2021
Author: 8litre.com
Description: 富士ライフ 2021 v1.1.1
Version: 1.1.1
*/

/*------------------------
font
------------------------*/

/* Icons */
@font-face {
	font-family: 'iconFont';
	src:
	  url('css/fonts/8litre.ttf?kuw6ii') format('truetype'),
	  url('css/fonts/8litre.woff?kuw6ii') format('woff'),
	  url('css/fonts/8litre.svg?kuw6ii#8litre') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: block;
  }
  
  [class^="icon-"], [class*=" icon-"] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'iconFont' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
  
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
  }
  
  .iconFont{
	  font-family: 'iconFont' !important;
  }
  
  .icon--2:before {
	content: "\e902" !important;
	  margin-right:0.25rem;
  }
  .icon-1:before {
	content: "\e909" !important;
	color: #4b4b4b;
  }
  .icon-uniE90A:before {
	content: "\e90a" !important;
	color: #4b4b4b;
  }
  .icon--8:before {
	content: "\e904" !important;
  }
  .icon--9:before {
	content: "\e905" !important;
  }
  .icon--10:before {
	content: "\e906" !important;
  }
  .icon--7:before {
	content: "\e907" !important;
  }
  .icon--6:before {
	content: "\e908" !important;
  }
  .icon-facebook:before {
	content: "\e900" !important;
  }
  .icon-insta:before {
	content: "\e901" !important;
  }
  .icon-twitter:before {
	content: "\e903" !important;
  }
  
  /*------------------------
  anti alias
  ------------------------*/
  
  body {
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
  }
  
  @media only screen and 
  (-webkit-min-device-pixel-ratio: 2),
  (min-resolution: 2dppx) {
	body {
	  -webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;
	}
  }
  
  
  p,h1,h2,h3,h4,h5,h6,li{transform: rotate(0.05deg);}
  li img{transform: rotate(-0.05deg);}
  
  /*------------------------
  common
  ------------------------*/
  
  img { -ms-interpolation-mode: bicubic; max-width:100%;}
  
  ::selection {
	  color:#111111;
	  background: #f1ef3f;
  }
  
  .clearfix:after {
	content: "";
	clear: both;
	display: block;
  }
  
  .preloadImage{
	  position: absolute;
	  top: 0;
	  left: 0;
	  display:none;
	  width: 0px;
	  height: 0px;
	  z-index: -1;
  }
  
  html {
	  font-size:14px;
  }
  
  body {
	  width:100%;
	  background:#ffffff;
	  -webkit-text-size-adjust: 100%;
	  font-family:'Noto Sans JP',"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	  font-weight: 400;
	  color:#222222;
	  line-height:1.8;
  }
  
  .FontNormal {
	  font-family:'Noto Sans JP',"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
  }
  
  object,embed{
	  outline: none;
  }
  div,nav,main,section,article,ul,li,dl,dt,dd,p,a,span,em{
	  box-sizing: border-box;
  }
  
  h1,h2,h3,h4,h5,h6{position: relative; font-weight:400; line-height:1.625; }
  
  h1{font-size:300%; font-weight:500;}
  h2{font-size:228.5%; font-weight:500;}
  h3{font-size:200%;}
  h4{font-size:171.142%;}
  h5{font-size:128.571%;}
  h6{font-size:114.285%;}
  .HighLight{font-family:'M PLUS Rounded 1c'; font-weight:500;}
  h1 em,h2 em,h3 em,h4 em,h5 em,h6 em{font-size:75%;}
  
  span.focus{
	  position:relative;
	  display:inline-block;
	  z-index: 1;
  }
  span.focus::before{
	  content: '';
	  position: absolute;
	  bottom: 0;
	  left: 0;
	  display: block;
	  width: 0;
	  width: 100%;
	  height: 0.5em;
	  background: #f1ef3f;
	  transition: 0.25s;
	  z-index: -1;
  }
  
  /*a{transition:1s;}*/
  a:link,a:visited{position:relative; color:#111111; text-decoration:none; position:relative;}
  a:link:before,a:visited:before{
	  content:'';
	  position:absolute;
	  bottom:0;
	  left:0;
	  display:block;
	  width:0;
	  height:0.5em;
	  background:#edb3c9;
	  transition:0.25s;
	  z-index:-1;
  }
  a:hover{}
  .findLink:hover a:before,a:hover:before{width:100%;}
  .findLink{cursor:pointer;}
  a.noHover:hover:before{width:0;}
  a:focus{outline: none;}
  a.arw:before{
	  content:'▶ ';
  }
  
  input, select, textarea {
	  font-size: 100%;
	  font-family:'Noto Sans JP',"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	  margin: 0 0.5em 0 0;
	  transform: rotate(-0.05deg)
  }
  
  .annotation1{ padding-left: 1em; text-indent: -1em; }
  .annotation2{ padding-left: 2em; text-indent: -2em; }
  .annotation3{ padding-left: 3em; text-indent: -3em; }
  .annotation4{ padding-left: 4em; text-indent: -4em; }
  .annotation5{ padding-left: 5em; text-indent: -5em; }
  .annotation6{ padding-top: 6em; text-indent: -6em; }
  
  hr{
	  border:1px solid #eeeeee;
	  border-width:1px 0 0;
	  width:100%;
	  height:0;
	  margin:12px auto;
  }
  
  hr.dotted{
	  border:1px dotted #eeeeee;
	  border-width:1px 0 0;
	  width:100%;
	  height:0;
	  margin:0;
  }
  
  hr.void{
	  border:none;
	  width:100%;
	  height:0;
  }
  
  hr.underMargin{
	  border:none;
	  width:100%;
	  height:15vh;
	  margin:0;
  }
  
  div.m36{
	  margin:36px;
  }
  
  em{ font-style: inherit; font-weight: inherit;}
  
  .mgB0a{margin:0 auto;}
  .mgB0{margin-bottom:0 !important;}
  .mgB0-5e{margin-bottom:0.5rem !important;}
  .mgB1e{margin-bottom:1rem !important;}
  .mgB1-5e{margin-bottom:1.5rem !important;}
  .mgB2e{margin-bottom:2rem !important;}
  .mgB2-5e{margin-bottom:2.5rem !important;}
  .mgB3e{margin-bottom:3rem !important;}
  .mgB3-5e{margin-bottom:3.5rem !important;}
  .mgB4e{margin-bottom:4rem !important;}
  .mgB5e{margin-bottom:5rem !important;}
  .mgB6e{margin-bottom:6rem !important;}
  
  .mgR0{margin-right:0 !important;}
  .mgR0-5e{margin-right:0.5rem !important;}
  .mgR1e{margin-right:1rem !important;}
  
  .mgT0{margin-top:0 !important;}
  .mgT0-5e{margin-top:0.5rem !important;}
  .mgT1e{margin-top:1rem !important;}
  .mgT1-5e{margin-top:1.5rem !important;}
  .mgT2e{margin-top:2rem !important;}
  .mgT2-5e{margin-top:2.5rem !important;}
  .mgT3e{margin-top:3rem !important;}
  .mgT4e{margin-top:4rem !important;}
  .mgT5e{margin-top:5rem !important;}
  .mgT6e{margin-top:6rem !important;}
  
  .pad0{padding:0rem !important;}
  .pad1{padding:1rem;}
  .pad2{padding:2rem;}
  .pad3{padding:3rem;}
  
  .padL0{padding-left:0 !important;}
  .padL1{padding-left:1rem !important;}
  .padL2{padding-left:2rem !important;}
  .padL3{padding-left:3rem !important;}
  .padL4{padding-left:4rem !important;}
  .padL5{padding-left:5rem !important;}
  .padR6{padding-right:6rem !important;}
  
  .pad1tp{padding-top:1rem !important;}
  .pad2tp{padding-top:2rem !important;}
  .pad3tp{padding-top:3rem !important;}
  .pad4tp{padding-top:4rem !important;}
  .pad5tp{padding-top:5rem !important;}
  
  .pad1bt{padding-bottom:1rem !important;}
  .pad2bt{padding-bottom:2rem !important;}
  .pad3bt{padding-bottom:3rem !important;}
  .pad4bt{padding-bottom:4rem !important;}
  .pad5bt{padding-bottom:5rem !important;}
  
  .pad0tt{padding-top:0 !important; padding-bottom:0 !important;}
  .pad1tt{padding-top:1rem !important; padding-bottom:1rem !important;}
  .pad2tt{padding-top:2rem !important; padding-bottom:2rem !important;}
  .pad3tt{padding-top:3rem !important; padding-bottom:3rem !important;}
  
  .pad0yk{padding-left:0 !important; padding-right:0 !important;}
  .pad1yk{padding-left:1rem !important; padding-right:1rem !important;}
  .pad2yk{padding-left:2rem !important; padding-right:2rem !important;}
  .pad3yk{padding-left:3rem !important; padding-right:3rem !important;}
  .pad4yk{padding-left:4rem !important; padding-right:4rem !important;}
  .pad5yk{padding-left:5rem !important; padding-right:5rem !important;}
  .pad6yk{padding-left:6rem !important; padding-right:6rem !important;}
  
  .ResPad4yk{padding:0 4rem;}
  
  .Reletive{position: relative;}
  .Block{display:block;}
  .inlineBlock{display:inline-block;}
  .Medium{font-weight:500;}
  .Bolder{font-weight:bolder;}
  .Bold{font-weight:bold;}
  .Mini{font-size:70%;}
  .Small{font-size:84%;}
  .Large{font-size:120%;}
  .Larger{font-size:114%;}
  .ExLarge{font-size:135%;}
  .Normal{font-size:1rem;}
  .txWhite{color:#ffffff;}
  .alignLeft{text-align:left;}
  .alignRight{text-align:right;}
  .alignCenter{text-align:center;}
  .alignLR{text-align: justify; text-justify: inter-ideograph;}
  .Wrap{white-space:normal !important;}
  .noWrap{white-space:nowrap !important;}
  .LHbst{line-height:2.0}
  .Comments{font-size: 0.75rem; vertical-align: baseline; padding: 0 0.125rem;}
  /*.mx100{max-width:100vw}*/
  .mx180{max-width:180px}
  .w100{width:100% !important;}
  
  .viewPC,.onlyPC{display:block;}
  .viewSP,.onlySP{display:none;}
  
  a:link.arw {
	  position: relative;
	  display: inline-block;
	  padding-right:1.25em;
  }
  
  a:link.arw::before {
	  content: '\e909';
	  position: absolute;
	  right:0;
	  left:auto;
	  bottom: auto;
	  width: 1em;
	  height: 1em;
	  font-family: 'iconFont';
	  font-size: 0.75em;
	  top: 50%;
	  line-height: 1;
	  background: none;
	  transform: translate(0,-50%);
	  z-index: 0;
  }
  
  .Button, a.Button, a:link.Button {
	  position: relative;
	  display: block;
	  width: 25%;
	  min-width: 20rem;
	  max-width: 640px;
	  border: 3px solid #222222;
	  margin: 0 auto;
	  padding: 0.9rem 2rem;
	  color: #222222;
	  background: #ffffff;
	  font-size: 150%;
	  text-align: center;
	  line-height: 1.0;
	  font-weight: 500;
	  transition: background 0.5s;
  }
  
  .Button::before, a.Button::before, a:link.Button::before, .Sublink::before, a.Sublink::before, a:link.Sublink::before {
	  content: '\e909';
	  position: absolute;
	  left: auto;
	  right: 1rem;
	  top: 50%;
	  bottom: auto;
	  width: auto;
	  height: auto;
	  font-family: 'iconFont';
	  font-size: 1.1rem;
	  line-height: 1;
	  background: none;
	  transform: translate(0,-50%);
	  z-index: 0;
  }
  
  .Button:hover, a.Button:hover, a:link.Button:hover {
	  color: #ffffff;
	  background: #222222;
  }
  
  .Button:hover::before, a.Button:hover::before, a:link.Button:hover::before {
	  width: auto;
	  background: none;
	  transition: 0;
  }
  
  .phone_number{
	  padding:0 0 0.5em 0;
	  line-height: 1;
  }
  
  .phone_number img{
	  margin:0 0 2px;
	  width:1.2em;
  }
  
  .tate{
	  writing-mode: vertical-rl;
	  -ms-writing-mode: tb-rl;
	  -webkit-writing-mode:vertical-rl;
	  -ms-text-combine-horizontal: digits;
	  -webkit-text-combine: 2;
	  text-combine-upright: digits;
	  white-space: nowrap;
  }
  
  .tcy {
	-webkit-text-combine: horizontal;
	  -ms-text-combine-horizontal: all;
	  text-combine-upright: all;
  }
  
  .webfont{
	  font-family:'M PLUS Rounded 1c';
	  font-style: normal;
	  font-weight: 400;
  }
  
  .darkBg{
	  color:#ffffff;
  }
  
  .GoogeMap{
	  width:100%;
	  height: 50vh;
  }
  
  .GoogeMap iframe{
	  width:100%;
	  height:100%;
	  /*-webkit-filter: grayscale(100%);
	  -moz-filter: grayscale(100%);
	  -ms-filter: grayscale(100%);
	  -o-filter: grayscale(100%);
	  filter: grayscale(100%);*/
	  vertical-align:bottom;
  }
  
  
  
  /*------------------------
  Loader
  ------------------------*/
  #loader {
	  position:fixed;
	  display:table;
	  width: 100%;
	  height:100%;
	  margin: 0 auto;
	  background:#ffffff;
	  color:#999999;
	  z-index:999999;
  }
  
  #loader .innnerContent{
	  display:table-cell;
	  text-align: center;
	  vertical-align:middle;
  }
  
  #loader .innnerContent img{
	  display:block;
	  width:100%;
	  max-width:300px;
	  margin: 0 auto 2rem;
	  padding: 0 5rem;
  }
  
  #bar {
	  width: 25%;
	  height: auto;
	  padding: 1px;
	  font-size: 1px;
	  margin:1rem auto 0 ;
  }
  #bar span {
	  display: block;
	  width: 0px;
	  height: 1px;
	  background: #999999;
		display: block !important;
  }
  
  /*------------------------
  main section
  ------------------------*/
  
  main{
	  position:relative;
	  /*min-height:100vh;*/
	  box-sizing:content-box;
	  padding-bottom: 5rem;
  }
  
  main .mainSide{
	  width:calc(100% - 300px);
	  display:inline-block;
	  padding:0 2rem 0 0;
  }
  
  section,
  article{
	  position:relative;
	  display:block;
  
  }
  
  section .inner,
  article .inner,
  footer .inner{
	  position:relative;
	  display:block;
	  margin:0 auto;
	  max-width:1400px;
	  padding:0 4rem;
  }
  
  section{
	  margin-bottom:6rem;
  }
  
  section.BgArea{
	  background:#f4dbe5;
	  padding-top:4rem;
	  padding-bottom:4.3rem;
	  overflow:hidden;
  }
  
  section.BgArea#About{
	  padding-bottom:0;
  }
  
  section.BgArea img.subImage{
	  position: absolute;
	  left: 40%;
	  top:auto;
	  bottom: 0;
	  width: auto;
	  max-width: none;
	  transform: translate(-50%,0);
  }
  
  article section.BgArea{
	  background:#f4dbe5;
  }
  
  section.BgArea#About{
	  padding-top:1rem;
  }
  
  a.promotion_banner{
	  display:block;
	  width:50%;
	  max-width:640px;
	  margin:0 auto;
	  background:#ffffff;
  }
  
  a.promotion_banner:hover{
	  background:#f1ef3f;
  }
  
  .container{
	  display:table;
  }
  
  .container .case{
	  display:table-cell;
	  vertical-align:top;
  }
  
  .container .imz{
	  width:50%;
	  padding:0 2rem 0 0;
  }
  
  .container .text{
  
  }
  
  .accordion dt{
	  cursor:pointer;
	  color:#347135;
	  font-size:125%;
	  background:#f8f8f8;
	  padding:0.25rem 0.5rem;
	  border:1px solid #eeeeee;
  }
  
  .accordion dt:before{
	  content:'[＋] ';
  }
  
  .accordion dt.open:before{
	  content:'[－] ';
  }
  
  .accordion dt.open{
	  border-width:1px 1px 0;
  }
  
  .accordion dd{
	  padding:0;
  }
  
  
  
  /*------------------------
  header
  ------------------------*/
  
  
  
  header{
	  position:relative;
	  display:block;
	  box-sizing: border-box;
	  overflow:hidden;
  }
  
  header .inner{
	  position:relative;
	  left:0;
	  height:0;
	  display:block;
	  width: 100%;
	  height: 100%;
  }
  
  header span.bg{
	  content:'';
	  position:absolute;
	  right:0;
	  top:0;
	  display:block;
	  width:50%;
	  height:100%;
	  background: #f4f4f2;
  }
  
  header .CatchCopy{
	  position:absolute;
	  right:3.5vw;
	  right:calc(3.3vw + 16px);
	  top:18vh;
	  width:35vw;
	  max-height:70vh;
  }
  
  header .CatchCopy img{
	  max-height:70vh;
  }
  
  
  header #Hero{
	  position:relative;
	  width:100%;
	  height:100%;
  }
  
  /*header #Hero:before{
	  content:"";
	  display: block;
	  padding-top: 76%;
  }*/
  
  header img,
  header video{
	  position:absolute;
	  left:50%;
	  top:50%;
	  min-width:100%;
	  max-width:none;
	  min-height:100%;
	  transform:translate(-50%,-50%);
  }
  
  header .inner p{
	  position:absolute;
	  left:22px;
	  bottom:0;
	  background:rgba(255,255,255,0.8);
	  padding:0 0.5em;
  }
  
  header .mainImage{
	  position:absolute;
	  left:0;
	  top:0;
	  max-width:50%;
	  height: auto;
  }
  
  header .mainMock{
	  position:absolute;
	  right:0;
	  bottom:0;
	  width: 25%;
	  max-width:100%;
	  transform:rotate(12.96deg) translate(0,50%);
  }
  
  header h1#mainTitle{
	  position:absolute;
	  left:50%;
	  top:55%;
	  top:calc(50% + 4.5rem/2);
	  width: 50%;
	  max-width:640px;
	  transform:translate(-50%,-50%);
	  filter: drop-shadow(0 0 10px rgba(50,75,150,0.5));
	  font-size: 0;
	  padding:3rem 0;
	  box-sizing:border-box;
  }
  
  header h1#mainTitle img{
	  position:relative;
	  left:auto;
	  top:auto;
	  width: 100%;
	  max-width: 100%;
	  max-height:100%;
	  transform:none;
  }
  
  header .mainCopy{
	  position:absolute;
	  right:5%;
	  top:12.5%;
	  width: 33.3%;
  }
  
  header .mainTitle img,
  header .mainCopy img{
	  width:100%;
  }
  
  header .mainCopy h2 img{
	  width: 75%;
  }
  
  header .nowStartSP{
	  position: absolute;
	  display:none;
	  left: 50%;
	  bottom: 3%;
	  height: 22%;
	  transform: translate(-50%,0);
  }
  
  header .nowStartSP a,
  header .nowStartSP a:link{
	  display:block;
	  height: 100%;
  }
  
  header .nowStartSP img{
	  width: auto;
	  height: 100%;
  }
  
  .startButton{
	  position:absolute;
	  display:block;
	  left:50%;
	  bottom:5%;
	  /*top:calc(100vh - 5%);*/
	  width: 33.3%;
	  transform:translate(-52%,0);
  }
  
  .startButton img{
	  width:100%;
  }
  
  .spacer075{
	  margin-right:0.75rem;
  }
  
  .backSide{
	  opacity:0 !important;
	  transition:0.5s;
  }
  
  /*------------------------
  SubHero
  ------------------------*/
  
  
  #Sub header{
	  height: 25vh;
	  background:#778899;
	  min-height:240px;
  }
  
  #Sub header img{
	  min-width:100%;
	  max-width:none;
	  min-height:100%;
	  max-height:150%;
  }
  
  #Sub header h1{
	  position:absolute;
	  left:50%;
	  top:55%;
	  top:calc(50% + 4.5rem/2);
	  width: 100%;
	  max-width:1400px;
	  transform:translate(-50%,-50%);
	  font-size: 300%;
	  padding: 0 4rem;
	  box-sizing: border-box;
	  color:#ffffff;
  }
  
  #Sub header h1 a,
  #Sub header h1 a:link,
  #Sub header h1 a:visited{
	  color:#ffffff;
  }
  
  #Sub header h1 img{
	  position:relative;
	  left:auto;
	  top:auto;
	  width: 100%;
	  max-width: 100%;
	  max-height:100%;
	  transform:none;
  }
  
  nav.Sub{
	  width: 100%;
	  max-width: 640px;
  }
  nav.Sub ul {
	  display:flex;
	  justify-content: left;
	  margin:0 -1rem;
  }
  
  nav.Sub ul li{
	  padding:0 1rem;
  }
  
  nav.Sub ul li a{
	  position:relative;
	  padding:0 0 0 1rem;
  }
  
  nav.Sub ul li a:after{
	  content:"";
	  position:absolute;
	  left:0rem;
	  top:50%;
	  width: 0;
	  height: 0;
	  border-style: solid;
	  border-width: 0.6rem 0.36rem 0 0.36rem;
	  border-color: #367637 transparent transparent transparent;
	  transform:translate(0,-50%);
  }
  
  /*------------------------
  Navigation
  ------------------------*/
  
  /*.isCurrent a{color:#00ad75;}*/
  
  nav#Navigation{
	  position:fixed;
	  left:0;
	  top:0;
	  width:100%;
	  height:4.5rem;
	  padding:0.75rem 0;
	  background: #e899b7;
	  color:#ffffff;
	  z-index: 2;
	  border-width:0 0 1px;
	  transform:translate(0,0);
	  transition:transform 0.25s;
  }
  
  nav#Navigation.OnMain{
	  transform:translate(0,0);
  }
  
  #top nav#Navigation.Opening{
	  transform:translate(0,-120%);
  }
  
  
  /*nav#Navigation.inField{
	  transform:translate(0,0);
  }*/
  
  
  nav#Navigation .nav_flex{
	  display: -webkit-box;
	  display: -ms-flexbox;
	  display: -webkit-flex;
	  display: flex;
	  -ms-flex-wrap: wrap;
	  -webkit-flex-wrap: wrap;
	  flex-wrap: wrap;
	  -webkit-box-align: center;
	  -ms-flex-align: center;
	  -webkit-align-items: center;
	  align-items: center;
	  height: 100%;
	  max-width:1400px;
	  margin:0 auto;
	  padding: 0 4rem;
	  /*box-sizing: content-box;*/
  }
  
  nav#Navigation h1{
	  height:100%;
	  font-size:200%;
  }
  
  nav#Navigation h1 span{
	  display: block;
	  line-height:1.0;
  }
  
  nav#Navigation h1 em{
	  font-size:64%;
	  line-height:1.0;
	  /*padding-bottom:5px;*/
  }
  
  nav#Navigation h1 a{
	  display:flex;
	  align-items: center;
	  line-height:1;
	  padding:0 1rem 0 0;
	  height:100%;
  }
  
  nav#Navigation h1 img{
	  display:inline-block;
	  height:100%;
  }
  
  nav#Navigation .menu{
	  flex-grow:3;
  }
  
  nav#Navigation ul{
	  display: -webkit-box;
	  display: -ms-flexbox;
	  display: -webkit-flex;
	  display: flex;
	  -ms-flex-wrap: wrap;
	  -webkit-flex-wrap: wrap;
	  flex-wrap: wrap;
	  -webkit-justify-content: flex-end;
	  -ms-flex-pack: end;
	  justify-content: flex-end;
	  -webkit-box-align: center;
	  -ms-flex-align: center;
	  -webkit-align-items: center;
	  align-items: center;
  }
  
  nav#Navigation ul li{
	  font-size:128.57%;
	  padding:0 2rem 0 0;
  }
  
  nav#Navigation ul li h1 img{
	  width:50%;
	  max-width:160px;
	  margin:0 auto;
  }
  
  
  nav#Navigation ul li:last-child{
	  padding:0;
  }
  
  nav#Navigation ul li h4{
	  line-height:1;
	  border:1px solid #a9aec0;
	  border-width:0 1px 0 0;
	  padding:0 1rem 0 0;
  }
  
  nav#Navigation ul li:last-child h4{
	  padding:0;
	  border:none;
  }
  
  nav#Navigation ul li a {
	  position:relative;
	  padding:0 0 0 1.25rem;
  }
  
  nav#Navigation ul li.icon a {
	  padding:0;
  }
  
  nav#Navigation ul li a:after {
	  content:"■";
	  position:absolute;
	  left:0rem;
	  top:50%;
	  font-size:60%;
	  transform:translate(0,-50%);
  }
  
  nav#Navigation ul li.icon a:after {
	  content:"";
	  display:none;
  }
  
  nav#Navigation a:link,
  nav#Navigation a:visited{
	  position:relative; color:#ffffff;
  }
  
  .navIcon{
	  position: absolute;
	  right: 0;
	  top:0;
	  height: 100%;
	  cursor: pointer;
	  z-index: 1;
	  border: 1.25rem solid transparent;
	  font-size:0;
  }
  
  .navIcon img{
	  height: 100%;
	  max-width: none;
  }
  
  .closeIcon {
	  display:none;
	  position: fixed;
	  right: 0;
	  top:0;
	  width: 4rem;
	  height: 4rem;
	  cursor: pointer;
	  z-index: 1;
	  border: 0.75rem solid transparent;
	  box-sizing: border-box;
	  transition:transform 0.5s 0.5s;
  }
  
  .closeIcon {
	  position: absolute;
	  z-index: 3;
  }
  
  .closeIcon span{
	  position: absolute;
	  display: block;
	  width: 100%;
	  height: 1px;
	  top: 50%;
	  bottom: 0;
	  left: 0;
	  right: 0;
	  transition: 0.5s;
  }
  
  .closeIcon span:before, .closeIcon span:after {
	  content: "";
	  position: absolute;
	  display: block;
	  margin: auto;
	  width: 100%;
	  height: 1px;
	  background: #111111;
	  transform: translate(0,-0.75rem) rotate(0);
	  border-radius: 10px;
	  transition: 0.5s;
  }
  
  .closeIcon span:after {
	  transform: translate(0,0.75rem) rotate(0);
  }
  
  .closeIcon span {
  }
  
  .closeIcon span:before {
	  transform: translate(0,0) rotate(45deg);
  }
  
  .closeIcon span:after {
	  transform: translate(0,0) rotate(-45deg);
  }
  
  
  section#SubNavigation{
	  position:fixed;
	  display:none;
	  left:0;
	  top:0;
	  width:100%;
	  height:100%;
	  background: rgba(255,255,255,0.95);
	  backdrop-filter: blur(5px);
	  z-index:10;
  
  }
  section#SubNavigation h1{
	  width:100%;
	  padding:0 0 3rem;
  }
  
  section#SubNavigation h1 img {
	  position: relative;
	  left: auto;
	  top: auto;
	  width: 100%;
	  max-width: 25%;
	  max-height: 100%;
	  transform: none;
  }
  
  
  section#SubNavigation ul{
	  position:absolute;
	  top:50%;
	  display: flex;
	  width:100%;
	  flex-wrap: wrap;
	  flex-direction:column;
	  justify-content: center;
	  align-items: center;
	  text-align:center;
	  transform: translate(0,-50%);
  }
  
  section#SubNavigation ul li{
	  padding:0 2rem;
	  font-size:200%;
  }
  
  section#SubNavigation ul li a{
	  padding-left:2rem;
  }
  
  section#SubNavigation ul li a:after {
	  content: "■";
	  position: absolute;
	  left: 0rem;
	  top: 50%;
	  font-size: 60%;
	  transform: translate(0,-50%);
  }
  
  section#SubNavigation ul li.icon a{
	  padding-left:0;
  }
  
  
  section#SubNavigation ul li.icon a:after {
	  content: "";
	  display:none;
  }
  
  
  section#SubNavigation ul li:last-child{
	  padding:2rem 2rem 0;
	  font-size:200%;
  }
  
  /*------------------------
  PleaseScroll
  ------------------------*/
  
  #PleaseScroll {
	  position:absolute;
	  /*display:none;*/
	  left:50%;
	  bottom:0;
	  padding: 0;
	  transform:translate(-50%,0);
	  z-index:2;
	  font-size:12px;
	  text-align:center;
  }
  
  #PleaseScroll:before{
	  content:'SCROLL';
	  position:relative;
	  display:block;
	  width:100%;
	  font-family:'Noto Sans JP',"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	  font-weight: 400;
	  font-style: normal;
	  line-height:1.33;
	  background:none;
	  transform:translate(0,-1rem);
	  animation: pScr 1s ease infinite;
  }
  
  a#PleaseScroll:hover:before{
	  background:none;
  }
  
  #PleaseScroll:after{
	  content:'';
	  position:relative;
	  display:block;
	  width:1px;
	  height:1.25rem;
	  margin:0 auto;
	  background:#111111;
  }
  
  @keyframes pScr {
	0% {opacity: 0;}
	75% {opacity: 1;}
	100% {opacity: 1;}
  }
  
  /*------------------------
  List
  ------------------------*/
  
  /*flexList*/
  
  ul.flexList{
	  display: -webkit-box;
	  display: -ms-flexbox;
	  display: -webkit-flex;
	  display: flex;
	  -ms-flex-wrap: wrap;
	  -webkit-flex-wrap: wrap;
	  flex-wrap: wrap;
	  margin:0 -1rem;
  }
  
  ul.flexList.OverHead .Head{
	  position:absolute;
	  left:0;
	  bottom:-1px;
	  width:100%;
	  background:#f4dbe5;
	  padding:0.5em 1rem;
	  box-sizing:border-box;
	  z-index:+1;
  }
  
  ul.flexList li{
	  position:relative;
	  padding:0 1rem;
	  transform: rotate(0deg);
  }
  
  ul.flexList li.flex_fullimg img{
	  /*width:100%;*/
	  max-width:none;
  }
  
  ul.flexList li.flex_numbering div{
	  position:relative;
  }
  
  ul.flexList li.flex_numbering div span{
	  position:absolute;
	  left:0;
	  top:0;
	  display:block;
	  width:2em;
	  height:2em;
	  padding:0.5em 0;
	  border:1px solid #555555;
	  border-radius:10em;
	  text-align:center;
	  font-family:'M PLUS Rounded 1c';
	  font-style: normal;
	  font-weight: 700;
	  line-height:1.0;
	  z-index:1;
  }
  
  
  ul.flexList.w25 li{
	  flex:0 0 25%;
  }
  
  ul.flexList.w33 li{
	  position:relative;
	  flex:0 0 33.333%;
	  padding:0 1rem;
  }
  
  ul.flexList.w50 li{
	  position:relative;
	  flex:0 0 50%;
  }
  
  ul.flexList.w50 li.w100{
	  flex:0 0 100%;
	  padding:0 1rem;
  }
  
  ul.flexList.w25 li:nth-child(n + 5),
  ul.flexList.w33 li:nth-child(n + 4),
  ul.flexList.w50 li:nth-child(n + 3){
	  padding:2rem 1rem 0;
  }
  
  ul.flexList.w50 li.w100:nth-child(n + 2){
	  padding:2rem 1rem 0;
  }
  
  ul.flexList.w50 li.w100 img{
	  display:block;
	  margin:0 auto;
	  min-width:100%;
  }
  
  
  ul.flexList li h6{
	  margin-bottom:0.5rem;
  }
  
  div.thumbnail_notice:after{
	  content:'※虫等が苦手な方は閲覧注意';
	  position:absolute;
	  left:0;
	  top:0;
	  display:block;
	  width:100%;
	  height:100%;
	  background:rgba(0,0,0,0.25);
	  backdrop-filter: blur(5px);
	  color:#fff;
	  font-size:150%;
	  text-align:center;
	  padding-top:22%;
	  box-sizing:border-box;
  }
  
  @-moz-document url-prefix() {
	  div.thumbnail_notice img{
		  filter:blur(5px);
	  }
  }
  
  
  
  /* 吹き出し本体 */
  .balloon{
	  position: relative;
	  padding: 20px;
	  background:#f4dbe5;
	  margin-top:1.25rem;
  }
  
  /* beforeで三角を表現 */
  .balloon::before{
	content: '';
	position: absolute;
	left: 10px;
	top: -10px;
	display: block;
	width: 0;
	height: 0;
	border-right: 15px solid transparent;
	border-bottom: 15px solid #f4dbe5;
	border-left: 15px solid transparent;
  }
  
  /*------------------------
  dl dt dd
  ------------------------*/
  
  dl.phoneNumber{
	  display:flex;
	  flex-wrap: wrap;
	  justify-content: left;
	  align-items: left;
	  line-height:1.6;
  }
  
  dl.phoneNumber dt{
	  width:7em;
  }
  
  dl.phoneNumber dd{
	  width:calc(100% - 7em);
  }
  
  dl.phoneNumber dt:last-child,
  dl.phoneNumber dt:nth-last-child(2),
  dl.phoneNumber dd:last-child{
	  padding:0;
	  border:none;
	  border-width:0;
	  margin:0;
  }
  
  dl.Ymd{
	  display:flex;
	  flex-wrap: wrap;
	  justify-content: left;
	  align-items: left;
	  line-height:1.6;
  }
  
  dl.Ymd dt{
	  width:7em;
  }
  
  dl.Ymd dd{
	  width:calc(100% - 7em);
  }
  
  dl.Ymd dt:last-child,
  dl.Ymd dt:nth-last-child(2),
  dl.Ymd dd:last-child{
	  padding:0;
	  border:none;
	  border-width:0;
	  margin:0;
  }
  
  /*------------------------
  aspect
  ------------------------*/
  
  div.aspect1_1,
  div.aspect4_3,
  div.aspect3_2,
  div.aspect16_9,
  div.aspect61,
  div.aspectSP {
	  position: relative;
	  width: 100%;
	  overflow:hidden;
  }
  
  div.aspect1_1:before,
  div.aspect4_3:before,
  div.aspect3_2:before,
  div.aspect16_9:before,
  div.aspect61:before,
  div.aspectSP:before {
	  content:"";
	  display: block;
	  padding-top: 100%;
  }
  
  div.notice_image {
	  position:absolute;
	  top: 0;
	  display: flex;
	  justify-content: center;
	  width: 100%;
	  height:100%;
	  color: #ffffff;
	  align-items: center;
	  text-align:center;
	  background:rgba(0,0,0,0.5);
	  backdrop-filter: blur(5px);
	  padding:2rem;
  }
  
  div.aspect4_3:before {padding-top: 75%;}
  div.aspect3_2:before {padding-top: 66.7%;}
  div.aspect16_9:before {padding-top: 56.25%;}
  div.aspect61:before {padding-top: 61.6%;}
  div.aspectSP:before {padding-top: 360px;}
  
  div.aspect1_1 img,
  div.aspect4_3 img,
  div.aspect3_2 img,
  div.aspect16_9 img,
  div.aspect61 img,
  div.aspectSP img{
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  height:100%;
	  width:auto;
	  max-width:none;
	  transform:translate(-50%,-50%) rotate(-0.05deg) /*scale(1.05,1.05)*/;
  }
  div.aspect1_1 iframe,
  div.aspect4_3 iframe,
  div.aspect3_2 iframe,
  div.aspect16_9 iframe,
  div.aspect61 iframe,
  div.aspectSP iframe{
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  height:100%;
	  width:100%;
	  max-width:none;
	  transform:translate(-50%,-50%) rotate(-0.05deg);
  }
  
  div.aspect3_2 img,
  div.aspect16_9 img,
  div.aspect61 img {
	  height:auto;
	  width:100%;
  }
  
  
  #About.BgArea div.aspect1_1{
	  overflow:visible;
  }
  
  
  /*------------------------------
  block_content
  ------------------------------*/
  
  .wide_block{
	  display:block;
	  width:100%;
	  padding:0 0.8333em;
  }
  
  .wide_block .inquiry input{
	  display: block;
	  margin: 5px auto;
	  width: 100%;
	  box-sizing: border-box;
	  padding: 5px 10px;
  }
  
  .wide_block .inquiry textarea{
	  display: block;
	  margin: 5px auto;
	  width: 100%;
	  box-sizing: border-box;
	  padding: 5px 10px;
  }
  
  .inlineParent{
	  letter-spacing:-0.4rem;
	  margin:0 -1rem;
  }
  
  .half_block{
	  display:inline-block;
	  width:50%;
	  padding:0 1rem 2rem;
	  vertical-align: top;
	  letter-spacing:normal;
  }
  
  .half_block ul{
	  display:block;
	  padding:0.8333em 0 0 1.6667em;
  }
  
  .half_block ul li{
	  line-height:1.5;
	  padding:0 0 0.5em;
  }
  
  .half_block ul li:last-child{
	  padding:0;
  }
  
  .half_block #FB_wrap,
  .three_block #FB_wrap{
	  padding:0.8333em 0 0 0;
	  text-align: center;
  }
  
  .grey_block{
	  background:#f5f5f5;
	  padding:2em;
	  box-sizing:border-box;
  }
  
  .seven_block{
	  display: inline-block;
	  width: 70%;
	  vertical-align: top;
	  padding: 0 0.8333em;
  }
  
  .three_block{
	  display: inline-block;
	  width: 30%;
	  vertical-align: top;
	  padding: 0 0.8333em;
  }
  
  .full_width{
	  width:100%;
  }
  
  .full_width img{
	  width:100%;
  }
  
  hr.Mg,
  .articleContent hr.Mg{
	  margin: 1.6667em 0;
  }
  
  .articleContent hr{
	  /*margin: 0.3333em 0;*/
  }
  
  .articleContent hr.article_under{
	  height: 0.8333em;
  }
  
  .articleContent .Attention{
	  font-weight:bold;
	  font-size:120%;
  }
  
  .articleContent .inlineblock{
	  display:inline-block;
	  padding: 0 1em 0 0;
  }
  
  /*------------------------
  table
  ------------------------*/
  
  section table{
	  width:100%;
	  border:1px solid #eeeeee;
	  border-width:1px 0 0 1px;
	  margin:0 auto;
	  padding:0;
  }
  
  section table tbody,
  section table tr{
	  width:100%;
	  border:none;
	  margin:0;
	  padding:0;
  }
  
  section table td,
  section table th{
	  width:auto;
	  border:1px solid #eeeeee;
	  border-width: 0 1px 1px 0;
	  margin:0;
	  padding:0.5rem 1rem;
	  text-align:center;
  }
  
  section table.respo td,
  section table.respo th{
	  min-width:8rem;
  }
  
  section#Course table td:nth-child(2){
	  text-align:left;
  }
  
  section#Lift table td:nth-child(5){
	  text-align:left;
  }
  
  .bgAccent{
	  background:#eeeeee;
  }
  
  
  /*------------------------
  footer
  ------------------------*/
  
  footer{
	  background-color:#fbfbfb;
	  text-align: center;
  }
  
  footer .inner{
	  position:relative;
	  display:block;
	  margin:0 auto;
	  max-width:1400px;
	  padding:4.5rem 4rem;
  }
  
  footer h2{
	  width:66%;
	  max-width:640px;
	  margin:0 auto 2rem;
  }
  
  footer .campany_logo{
	  padding:0;
	  width:25%;
	  max-width:210px;
	  margin:0 auto;
	  font-size:1rem;
  }
  
  footer div.tbl div.logo img{
	  width:100%;
  }
  
  footer nav ul {
	  display:flex;
	  flex-wrap: wrap;
	  justify-content: center;
	  margin:0 -0.5rem;
	  font-size:130%;
  }
  
  footer nav ul li {
	  padding:0 1rem;
  }
  
  footer nav ul li a {
	  position:relative;
	  padding:0 0 0 1.25rem;
  }
  
  footer nav ul li.icon a {
	  padding:0;
  }
  
  footer ul li a:after {
	  content:"■";
	  position:absolute;
	  left:0rem;
	  top:50%;
	  font-size:60%;
	  /*width: 0;
	  height: 0;
	  border-style: solid;
	  border-width: 0.3rem 0 0.3rem 0.6rem;
	  border-color: transparent transparent transparent #111111;*/
	  transform:translate(0,-50%);
  }
  
  footer ul li.icon a:after {
	  content:"";
	  display:none;
  }
  
  footer ul li a{
	  padding:0 0.5em;
  }
  
  footer .copyright {
	  font-size: 10px;
	  margin: 0 auto;
	  padding: 0;
	  width: 100%;
	  font-style: italic;
  }
  
  footer .mail_address{
	  display:block;
  }
  
  footer .mail_address img{
	  height:1em;
	  vertical-align: baseline;
  }
  /*------------------------
  article
  ------------------------*/
  
  article h2{
	  /*text-align:center;*/
  
  }
  
  article h2 em{
	  display:block;
	  color:#00ad75;
  }
  
  article section{
	  max-width:960px;
	  margin:0 auto;
  
  }
  
  article section.BgArea{
	  max-width:none;
  
  }
  
  article section.Image .wrap{
	  width:100%;
	  margin:0 -1em;
  
  }
  
  article section.Image img{
	  display:inline-block;
	  width:50%;
	  padding:1em;
	  box-sizing:border-box;
  }
  
  article section.Image img:first-child{
	  width:100%;
  }
  
  
  /*------------------------
  iconSq
  ------------------------*/
  
  .iconSq{}
  
  dl.iconSq{
	  margin-bottom:1rem;
  }
  
  dl.iconSq dt{
	  position:relative;
	  font-size:128.571%;
	  padding-left:1.25rem;
  }
  
  dl.iconSq dt::before{
	  content:'';
	  position:absolute;
	  left:0;
	  top:50%;
	  width:0.9rem;
	  height:0.9rem;
	  background:#adc2ae;
	  transform:translate(0,-50%);
  }
  
  dl.iconSq dd{
	  padding-left:1.25rem;
  }
  
  /*------------------------
  select
  ------------------------*/
  
  #select {
	  border: 1px #dddddd solid;
	  padding: 1em 1.5em;
  }
  
  #select p{
	  font-size:120%;
	  padding: 0 0 0.5em;
  }
  
  #select .selector{
	  padding:0.5em 0 0;
	  /*margin:0 0 0 -1em;*/
  }
  
  #select .selector label{
	  display: inline-block;
	  padding:0 0 0.5em;
	  width:16.666666%;
	  /*width:-webkit-calc(100% / 6);*/
	  /*width:calc(100% / 6);*/
	  vertical-align:top;
  }
  
  #select .selector label.wide{
	  width:33.333333%;
	  /*width:-webkit-calc(100% / 3);*/
	  /*width:calc(100% / 3);*/
	  vertical-align:top;
  }
  
  #shop_list [class*="hidden-"] {
	  display: none;
  }
  
  a.Banner img{
	  width:100%;
  }
  
  /*------------------------
  shop_list
  ------------------------*/
  
  .list_outer{
	  /*text-align:center;*/
  }
  
  ul.shop_list{
	  display:block;
	  margin:0 -2em;
  }
  
  ul.shop_list li{
	  position:relative;
	  display:inline-block;
	  width:33.33333%;
	  /*width:-webkit-calc(100% / 3);
	  width:calc(100% / 3);*/
	  box-sizing:border-box;
	  padding:1.5em 2em;
	  text-align: center;
	  vertical-align:top;
  }
  
  ul.shop_list li div.thumbnail {
	  display: block;
	  overflow: hidden;
	  margin: 0 0 0.5em;
	  padding: 2px 2px 5px;
  }
  
  ul.shop_list li div.book {
	  display: block;
	  overflow: hidden;
	  margin:0 0 0.83333em;
  }
  
  ul.shop_list img{
	  width:auto;
	  max-width: 100%;
	  max-height: 320px;
	  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2);
	  margin:0 auto;
  }
  
  ul.shop_list li.loadImage img{
	  display:none;
  }
  
  /*------------------------
  sns
  ------------------------*/
  
  
  #sns_icons{
	  position: absolute;
	  right: 0;
	  top: 0;
	  width:6em;
  }
  
  #sns_icons ul{
	  margin:0 -0.5em;
  }
  
  #sns_icons ul li{
	  position:relative;
	  display:inline-block;
	  width:50%;
	  box-sizing:border-box;
	  padding:0 0.5em;
	  vertical-align: middle;
  }
  
  #sns_icons ul li img{
	  width:100%;
  }
  
  #sns_icons ul li span{
	  font-size:0;
	  line-height:0;
  }
  
  /*------------------------
  slider-container
  ------------------------*/
  
  .slider-container{
	  position: relative;
	  /*height:100%;*/
	  z-index:1;
  }
  
  .slider-container ul{
	  margin:0 -1rem;
  }
  
  .slider-container ul li{
	  padding:1rem;
  }
  
  .slider-container ul li div{
	  position: relative;
	  width: 100%;
	  padding:0;
	  overflow:hidden;
  }
  
  .slider-container ul li div:before {
	  content:"";
	  display: block;
	  padding-top: 56.25%; /* 高さを幅の75%に固定 */
  }
  
  .responseYposTune{transform: translate(0,-5vh);}
  
  .slider-container ul li div img{
	  position: absolute;
	  top: 0;
	  left: 50%;
	  width:auto;
	  height:100%;
	  transform: translate(-50%,0);
  }
  
  
  .slider-container ul li p{
	  padding:0;
  }
  
  .slider{
	opacity: 0;
	transition: opacity .3s linear;
  }
  .slider.slick-initialized{
	opacity: 1;
  }
  
  /*------------------------
  carousel
  ------------------------*/
  
  /*ul.carousel{
	  margin: 0 -1rem;
  }*/
  
  ul.carousel li{
	  margin: 0 0.5rem;
  }
  
  
  /*------------------------
  ContentList
  ------------------------*/
  
  ul.ContentList{
	  display: -webkit-box;
	  display: -ms-flexbox;
	  display: -webkit-flex;
	  display: flex;
	  -ms-flex-wrap: wrap;
	  -webkit-flex-wrap: wrap;
	  flex-wrap: wrap;
	  margin:0 -1rem;
  }
  
  ul.ContentList li{
	  width: 25%;
	  padding:0 1rem 2rem;
  }
  
  /*------------------------
  VerticalList
  ------------------------*/
  
  .VerticalList li{
	  display: flex;
	  flex-wrap: wrap;
	  margin: 0 -1rem 3rem;
  }
  
  .VerticalList li:lasr-child{
	  margin: 0 -1rem;
  }
  
  .VerticalList li div.pict{
	  flex: 25%;
	  border: 1rem solid transparent;
	  border-width: 0 1rem;
  }
  
  .VerticalList li div.discript{
	  flex: 75%;
	  padding:0 1rem;
  }
  
  /*------------------------
  flex
  ------------------------*/
  
  .flex_parent,
  .flex_parent_RP{
	  display: flex;
	  flex-wrap: wrap;
  }
  
  .flex_dir_row,
  .flex_dir_row_RP{
	  display: flex;
	  flex-direction:row;
  }
  
  .flex_dir_rev,
  .flex_dir_rev_RP{
	  flex-direction:row-reverse;
  }
  
  .flex_vertical_center{
	  align-items:center;
  }
  
  .flex_dir_col{
	  display: flex;
	  flex-direction:column;
	  flex-wrap: wrap;
	  justify-content: center;
	  align-items: center;
  }
  
  .sp_Bt{
	  justify-content: space-between;
  }
  
  .fl_End{
	  justify-content: flex-end;
  }
  
  .flex75,
  .flex75RP{
	  flex: 75%;
  }
  
  .flex75.padL{
	  padding-left:3rem;
  }
  
  .flex66,
  .flex66RP{
	  flex: 66.6%;
  }
  
  .flex50{
	  flex: 50%;
  }
  
  .flex33,
  .flex33RP{
	  flex: 33.3%;
  }
  
  .flex25,
  .flex25RP{
	  flex: 25%;
  }
  
  .flex25RP{
	  padding-left:3rem;
  }
  
  .flex1,
  .flex_parent.flex1 * {
	  flex: 1;
  }
  
  .flex2,
  .flex_parent.flex2 * {
	  flex: 2;
  }
  
  /*------------------------
  FukigashiL
  ------------------------*/
  
  .FukigashiL{
	  position:relative;
	  border-radius:2rem;
	  background:#f0f0f0;
	  padding:2rem;
  }
  
  .FukigashiL:before{
	  content:"";
	  position:absolute;
	  top:6rem;
	  left:100%;
	  display:block;
	  width: 0;
	  height: 0;
	  border-style: solid;
	  border-width: 0.75rem 0 0.75rem 1.5rem;
	  border-color: transparent transparent transparent #f0f0f0;
  }
  
  /*------------------------
  back2top
  ------------------------*/
  
  #back2top{
	  position:fixed;
	  display:none;
	  right:0;
	  bottom:2em;
	  padding: 0 2em;
	  z-index: 1;
	  cursor:pointer;
  }
  
  #back2top span{
	  position:relative;
	  display:block;
	  width:1px;
	  height:2.5em;
	  background:#aaaaaa;
  }
  
  #back2top span:before{
	  content:'';
	  position:absolute;
	  display:block;
	  left:1px;
	  top:0;
	  width:0.5em;
	  height:1px;
	  background:#aaaaaa;
	  transform: rotate(45deg);
	  transform-origin:left top;
  }
  
  /*#back2top{
	  background:#111111 no-repeat center center;
	  opacity:0.4;
	  border-radius:20px;
  }
  
  #back2top:hover{
	  opacity:0.7;
  }
  
  #back2top img{
	  width:100%;
	  font-size: 0;
  }*/
  
  /*------------------------
  backReturn
  ------------------------*/
  
  #backReturn{
	  /*display:none;*/
	  position:fixed;
	  bottom:1em;
	  left:1em;
	  width:30px;
	  z-index: 1;
  }
  
  #backReturn a{
	  display:block;
	  background:#111111 no-repeat center center;
	  opacity:0.4;
	  border-radius:20px;
	  font-size: 0;
  }
  
  #backReturn a:hover{
	  opacity:0.7;
  }
  
  #backReturn a img{
	  width:100%;
  }
  
  #backReturn2 {
	  display:none;
	  line-height: 1.0;
	  position: fixed;
	  bottom: 1.6em;
	  left: 2em;
	  z-index: 1;
	  height: 30px;
	  overflow: hidden;
	  border: 1px solid #222222;
	  border-radius: 9999em;
  }
  
  #backReturn2 a {
	  display:block;
	  height:100%;
	  background-color:rgba(255,255,255,0.8);
  }
  
  #backReturn2 img {
	  height:100%;
  }
  
  #backReturn2 a:hover{
	  background-color:rgba(245,245,245,0.8);
  }
  
  /*------------------------
  click2prev
  ------------------------*/
  
  #click2prev{
	  display:none;
	  position:fixed;
	  bottom:28px;
	  right:2%;
	  width:30px;
  }
  
  #click2prev a{
	  display:block;
	  background:#111111 no-repeat center center;
	  opacity:0.4;
	  border-radius:20px;
	  font-size: 0;
  }
  
  #click2prev a:hover{
	  opacity:0.7;
  }
  
  #click2prev a img{
	  width:100%;
  }
  
  @media screen and (min-width: 1920px){
	  html { font-size:18px; }
  }
  
  @media screen and (min-width: 1600px){
	  html { font-size:14px; }
  }
  
  
  @media only screen and (max-width: 1280px){
	  html { font-size:12px; }
  }
  
  @media only screen and (max-width: 1024px){
  
	  .onlyPC{display:none;}
	  .onlySP{display:block;}
	  span.onlySP{display:inline;}
  
	  html { font-size:14px; }
	  main .mainSide { width: 100%; padding: 0;}
	  aside{display:none;}
	  section .inner, article .inner, footer .inner { padding: 0 2rem;}
	  footer .inner { padding: 3rem 2rem;}
	  #Sub header h1{padding: 0 2rem;}
  
	  nav#Navigation {height: 4rem;}
	  nav#Navigation.Open {transform:translate(0,-100%);}
	  nav#Navigation h1{width:100%; justify-content: center;}
	  nav#Navigation h1 a{justify-content: center; text-align:center;}
  
	  .navIcon,.closeIcon {display:block;}
  
	  nav#Navigation .nav_flex{
		  justify-content: center;
		  align-items: center;
		  height: 100%;
		  max-width:1400px;
		  margin:0 auto;
		  padding: 0 4rem;
		  box-sizing: content-box;
	  }
  
	  nav#Navigation .menu {display:none;}
	  nav#Navigation ul{flex-direction:column;}
  
	  header h1#mainTitle{
		  top:55%;
		  top:calc(50% + 4.2rem/2);
		  width:66%;
	  }
	  
	  a.promotion_banner{width:66%;}
  
	  .FukigashiL:before {
		  content: "";
		  position: absolute;
		  top: 100%;
		  left: 80%;
		  border-width: 1.5rem 1.5rem 0 0;
		  border-color: #f0f0f0 transparent transparent transparent;
	  }
  
	  .flex_dir_rev_RP{
		  flex-direction:column-reverse;
	  }
	  
	  .flex25RP {
		  flex: 100%;
		  padding-left: 0;
		  padding-top:2rem;
	  }
  
	  .flex66RP,
	  .flex33RP {
		  flex: 100%;
		  padding-left: 0;
		  padding-top:2rem;
	  }
  
	  ul.flexList.w25 li,
	  ul.flexList.w33 li,
	  ul.flexList.w50 li{
		  position:relative;
		  flex:0 0 50%;
		  padding:0 1rem 0;
	  }
  
	  ul.flexList.w25 li:nth-child(n + 3),
	  ul.flexList.w33 li:nth-child(n + 3),
	  ul.flexList.w50 li:nth-child(n + 3){
		  padding:2rem 1rem 0;
	  }
  
  
	  #About .flex66RP {
		  padding-top:0;
		  padding-bottom: 1rem;
	  }
	  
	  
	  #About .flex33RP {
		  padding-top: 0;
	  }
  
	  #About.BgArea div.aspect1_1:before{
		  padding-top: 75%;
	  }
  
  section.BgArea img.subImage{
	  left: 50%;
  }
  
	  ul.flexList li h6{font-size:125%;}
  
	  .VerticalList li div.pict{flex: 50%;}
	  .VerticalList li div.discript{flex: 50%;}
  }
  
  
  @media (max-aspect-ratio: 2/1) {
	  header#Hero .SlideShow {transform: translate(0,-45%);}
  }
  @media (min-aspect-ratio: 16/9) {
	  header#Hero img,header#Hero video{width:100%; height:auto;}
  
  }
  
  @media (max-aspect-ratio: 16/9) {
	  header#Hero .SlideShow {transform: translate(0,-47.5%);}
	  .SlideShow ul li div:before {padding-top: 50%;}
  
  }
  
  @media (max-aspect-ratio: 3/2) {
	  .SlideShow ul li div:before {padding-top: 56.25%;}
  }
  
  @media (max-aspect-ratio: 4/3) {
	  .SlideShow ul li div:before {padding-top: 66.6%;}
  }
  
  @media (max-aspect-ratio: 5/4) {
  
	  /*header#Hero h1{
		  width: 65%;
		  max-width:320px;
		  left: 50%;
		  transform: translate(-50%,-50%);
		  top: 23%;
	  }
	  header#Hero .OverImage{
		  transform: translate(-50%,-50%);
		  top:33%;
		  left: 50%;
		  width: 150%;
	  }*/
	  
	  header#Hero .SlideShow{width:100%; top:62%; transform: translate(0,-50%); left:0; transition:opacity 1s 0.5s;}
	  header#Hero .slideMask{display:none;}
	  
	  
	  header#Hero.Opening h1{top:50%;}
	  header#Hero.Opening .slideMask,header#Hero.Opening .SlideShow{left:0; opacity:0;}
	  header#Hero.MaskSmallParts .SlideShow ul.slick-dots{opacity:0;}
	  
	  .SlideShow ul li div:before {padding-top: 50%;}
	  .SlideShow ul.slick-dots { left: 1rem; bottom: -2rem; }
  
  }
  
  @media (max-aspect-ratio: 1/1) {
	  .SlideShow ul li div:before {padding-top: 56.25%;}
	  /*#Sub header {height: 33vh;}*/
	  #Sub header h1{
		  top:52%;
		  top:calc(50% + 4rem/2);
		  font-size:2.2rem;
	  }
  
	  section.BgArea{
		  padding-top:4rem;
		  padding-bottom:4.3rem;
		  background-size:cover;
	  }
  
	  #Top section.BgArea#About{
		  padding-top:4rem;
	  }
  }
  
  @media (max-aspect-ratio: 3/4) {
	  .viewPC{display:none;}
	  .viewSP{display:block;}
  
	  /*header#Hero h1{max-width:480px;}*/
	  .SlideShow ul li div:before {padding-top: 72%;}
	  .SlideShow ul li div img{width:auto; height:100%;}
  }
  
  @media (max-aspect-ratio: 2/3) {
  
  }
  
  @media (max-aspect-ratio: 9/16) {
  
  }
  
  @media only screen and (max-width: 768px){
  
	  html { font-size:13px; }
  
	  h1{font-size:2.0rem;}
	  h2{font-size:1.5rem;}
	  h3{font-size:1.33rem;}
	  h4{font-size:1.2rem;}
	  h5{font-size:1.1rem;}
	  h6{font-size:1.0rem;}
	  .Title{right:2rem;}
	  .Title h1 {font-size:3.6rem; line-height:1.4;}
	  .ResPad4yk {padding:0 2rem;}
	  .container .case{display:block;}
	  .container .imz{width:100%; padding:0 0 2rem;}
  
  
	  header h1#mainTitle{
		  width:75%;
	  }
  
	  #SubHero {margin: 3rem 0;}
  
  
	  ul.ContentList li {width: 50%;}
	  
	  section table.respo,
	  section table.respo2{
		  display: block;
		  border: none;
	  }
  
	  section table.respo tbody,
	  section table.respo2 tbody {
		  display: block;
	  }
	  
	  section table.respo tr,
	  section table.respo2 tr  {
		  display: block;
		  margin:0 0 0.5rem;
	  }
	  
	  section table.respo td {
		  display: block;
		  text-align: left;
		  border: none;
		  padding: 0.25rem 0 0.25rem 1.25rem;
	  }
	  
	  section table.respo2 tr td {
		  display: inline-block;
		  text-align: left;
		  border: none;
		  padding: 0.25rem 0 0.25rem 1.25rem;
	  }
	  
	  section table.respo2 tr td:nth-child(1) {
		  float: left;
		  padding-right:1rem;
	  }
	  
	  section table.respo2 tr td.bgAccent:nth-child(1) {
		  float: none;
		  padding-right:0;
	  }
	  
	  section table.respo2 tr td:nth-child(2) {
		  display: block;
	  }
	  
	  section table.respo th,
	  section table.respo2 th {
		  display: none;
	  }
	  
	  section table.respo td:empty, section table.respo th:empty,
	  section table.respo2 td:empty, section table.respo2 th:empty {
		  display: none;
		  /*background:#cccccc;*/
	  }
	  
	  section table.respo td:first-child::before,
	  section table.respo2 td:first-child::before {
		  content: '-';
		  position: absolute;
		  left: 0;
	  }
	  
	  section table.respo td.bgAccent:first-child::before,
	  section table.respo2 td.bgAccent:first-child::before {
		  content: '';
	  }
	  
	  section table.respo td.bgAccent,
	  section table.respo2 td.bgAccent {
		  display: block;
		  text-align: left;
		  border: none;
		  padding: 0.25rem 0 0.25rem 1.25rem;
	  }
  
	  ul.flexList.w33 li,
	  ul.flexList.w50 li{
		  position:relative;
		  flex:0 0 100%;
		  padding:0 1rem 0;
	  }
  
	  ul.flexList.w33 li:nth-child(n + 2),
	  ul.flexList.w50 li:nth-child(n + 2){
		  padding:2rem 1rem 0;
	  }
  
	  .half_block{width:100%; padding-bottom:0;}
	  
	  
	  footer h2{
		  width:100%;
	  }
  
  }
  
  @media only screen and (max-width: 540px){
  
  }
  
  @media only screen and (max-width: 480px){
	  /*ul.flexList li,ul.flexList li:nth-child(n + 4),ul.flexList li:nth-last-child(2){flex: 0 0 100%; padding:0 1rem 3rem;}
	  ul.flexList li:last-child{flex: 0 0 100%; padding:0 1rem;}*/
	  .VerticalList li div.pict{flex: 100%; margin-bottom:0.5rem;}
	  .VerticalList li div.discript{flex: 100%;}
	  a.promotion_banner{width:100%;}
  }
  
  @media only screen and (max-width: 400px){
	  html { font-size:12px; }
  }