@charset "UTF-8";
/* ========================================
  reset
======================================== */
*, *:before, *:after {
  box-sizing: border-box;
}

body {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

body, div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea,
p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th {
  text-align: left;
}

q:before, q:after {
  content: '';
}

object, embed {
  vertical-align: top;
}

hr, legend {
  display: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 14px;
}

abbr, acronym, fieldset {
  border: 0;
}

li {
  list-style-type: none;
}

em, strong {
  font-style: normal;
  font-weight: bold;
}

img {
  border: 0;
  vertical-align: bottom;
}

:focus {
  outline: none;
}

a:link, a:visited {
  outline: none;
}

a:hover, a:active {
  outline: none;
}
.scene1-mew_li li a {
  padding-bottom: 0.5px;
  border-bottom: 1px solid #b7b7b7;
}


/* ========================================
  foundation
======================================== */
html {
  font-size: 62.5%;
}

body {
  color: #3c3c3c;
  font-size: 1.4em;
  font-family: 'YuGothic','Yu Gothic','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック','MS P Gothic', Helvetica, sans-serif;
  line-height: 1;
}

em {
  color: #ce181e;
}

img {
  max-width: 100%;
}

/* ========================================
  utility
======================================== */
/*clearfix */
.clearfix, header .utility, .mv {
  *zoom: 1;
}
.clearfix:after, header .utility:after, .mv:after {
  content: "";
  display: table;
  clear: both;
}

body {
  box-sizing: border-box;
  font-feature-settings: palt;
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop,
  img[src$=".svg"] {
    width: 100%;
  }
}
.bg-wrapper {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  overflow: hidden;
}

.mv-bg {
  width: 100%;
  height: 101%;
  margin: 0 auto;
  background-size: cover;
}

.main-img {
  background: url(../img/main_bg.jpg) no-repeat 50% 0/2500px auto;
  position: absolute;
  z-index: 0;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
}
@media screen and (min-height: 1188px) {
  .main-img {
    background: url(../img/main_bg.jpg) no-repeat 50% 0/auto 100%;
  }
}
@media only screen and (max-width: 759px) {
  .main-img {
    background: url(../img/main_bg_sp.jpg) no-repeat 50% 0/cover;
    overflow: hidden;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
}

.main-img.blur {
  background: url(../img/main_bg_blur.jpg) no-repeat 50% 0/2500px auto;
  position: absolute;
  z-index: 0;
  display: none;
}
@media screen and (min-height: 1188px) {
  .main-img.blur {
    background: url(../img/main_bg_blur.jpg) no-repeat 50% 0/auto 100%;
  }
}
@media only screen and (max-width: 759px) {
  .main-img.blur {
    background: url(../img/main_bg_blur_sp.jpg) no-repeat 50% 0/cover;
  }
}

.local-section {
  position: relative;
  padding: 0;
  z-index: 1;
}

.drop-shadow {
  -webkit-filter: drop-shadow(0px 10px 10px rgba(16, 30, 15, 0.8));
  filter: drop-shadow(0px 10px 10px rgba(16, 30, 15, 0.8));
}

.drop-shadow02 {
  -webkit-filter: drop-shadow(0px 30px 50px #101e0f);
  filter: drop-shadow(0px 30px 50px #101e0f);
}

/* ========================================
  header
======================================== */
header .utility {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 15px;
  width: 100%;
}
@media only screen and (max-width: 759px) {
  header .utility {
    padding: 5px 0 0;
    width: 95%;
    margin: 0 auto;
  }
}
header .utility__pokemon {
  max-width: 184px;
  float: left;
}
@media only screen and (max-width: 759px) {
  header .utility__pokemon {
    width: 30vw;
  }
}
header .utility__pokemonCompany {
  max-width: 184px;
  padding-top: 5px;
  width: 169px;
  float: right;
}
@media only screen and (max-width: 759px) {
  header .utility__pokemonCompany {
    width: 30vw;
    padding-top: 5%;
  }
}

/*----- MAIN VISUAL -----*/
.mv-wrapper {
  padding-left: 60px;
  padding-right: 60px;
}
@media only screen and (max-width: 759px) {
  .mv-wrapper {
    padding: 0;
  }
}

.mv {
  padding-top: 162px;
  max-width: 1120px;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 759px) {
  .mv {
    width: 90%;
    padding-top: 4vh;
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
  }
}
.mv__title {
  max-width: 538px;
}
@media only screen and (max-width: 759px) {
  .mv__title {
    width: 85%;
    margin: 0 auto;
  }
}
.mv__title__date {
  margin: 40px auto 80px;
  position: relative;
  text-align: center;
}
@media only screen and (min-width: 980px) {
  .mv__title__date {
    width: 50%;
  }
}
@media only screen and (min-width: 760px) and (max-width: 979px) {
  .mv__title__date {
    width: 50%;
  }
}
.mv__title__date img {
  background: url(../img/title_date_sp_bg.png) no-repeat 50% 50%/100% auto;
}
.mv__title__date:before {
  position: absolute;
  content: "";
  top: 10%;
  left: 10%;
  width: 80%;
  height: 80%;
  background: rgba(37, 40, 33, 0.15);
  border-radius: 30px;
  box-shadow: 0px 0px 110px 70px rgba(37, 40, 33, 0.15);
  z-index: -1;
}
@media only screen and (max-width: 759px) {
  .mv__title__date {
    width: 100%;
    margin: 7vw auto 100px;
    text-align: center;
  }
  .mv__title__date img {
    background: url(../img/title_date_sp_bg.png) no-repeat 50% 50%/100% auto;
    width: 70%;
  }
}
.mv .mv-inner {
  display: table;
  width: 100%;
}
@media only screen and (max-width: 759px) {
  .mv .mv-inner {
    display: block;
    padding-top: 55vw;
  }
}
.mv .mv-inner__lead {
  display: table-cell;
}
@media only screen and (min-width: 980px) {
  .mv .mv-inner__lead {
    margin-bottom: 20px;
    font-size: 14px;
    width: 60%;
    padding-right: 5%;
  }
}
@media only screen and (min-width: 760px) and (max-width: 979px) {
  .mv .mv-inner__lead {
    display: block;
    margin-bottom: 20px;
    font-size: 14px;
  }
}
@media only screen and (max-width: 759px) {
  .mv .mv-inner__lead {
    display: block;
    margin-bottom: 20px;
    font-size: 14px;
  }
}
.mv .mv-inner__lead__main {
  max-width: 532px;
  margin-bottom: 30px;
  -webkit-filter: drop-shadow(0px 0px 11px 10px rgba(16, 30, 15, 0.8));
  -moz-filter: drop-shadow(0px 0px 11px 10px rgba(16, 30, 15, 0.8));
  -ms-filter: drop-shadow(0px 0px 11px 10px rgba(16, 30, 15, 0.8));
  filter: drop-shadow(0px 0px 11px 10px rgba(16, 30, 15, 0.8));
  z-index: 10;
  position: relative;
}
@media only screen and (max-width: 759px) {
  .mv .mv-inner__lead__main {
    margin-bottom: 25px;
  }
}
.mv .mv-inner__lead p {
  color: #fff;
  font-weight: bold;
  font-feature-settings: palt;
  font-size: 20px;
  line-height: 36px;
  position: relative;
  z-index: 5;
}
@media only screen and (min-width: 769px) {
	.mv .mv-inner__lead p {
	padding-right: 10%;
}
}
.mv .mv-inner__lead p:before {
  position: absolute;
  content: "";
  top: 10%;
  left: 10%;
  width: 80%;
  height: 80%;
  background: rgba(37, 40, 33, 0.15);
  border-radius: 30px;
  box-shadow: 0px 0px 110px 70px rgba(37, 40, 33, 0.15);
  z-index: -1;
}
@media only screen and (min-width: 760px) and (max-width: 979px) {
  .mv .mv-inner__lead p {
    width: 100%;
  }
	.mv-inner__movie{
		margin-top: 30px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}
@media only screen and (max-width: 759px) {
  .mv .mv-inner__lead p {
    font-size: 14px;
    line-height: 24px;
  }
}
.mv-bnr{
	position: relative;
}
.mv-bnr01{
	position: relative;
	margin-bottom: 7%;
}
.mv-bnr_new{
	position: absolute;
	display: block;
	width: 8.1967213% !important;/* 35 / 427 * 100 */
	top:0;
	left: 0;
}
.mv-bnr02{
	margin-bottom: 2%;
}
.mv-bnr_h{
	margin-bottom: 5%;
}
.mv-bnr img, .mv-bnr_h img{
	display: block;
	width: 100%;
	height: auto;
}
.mv-detail {
  text-align: center;
  margin: 50px auto 60px;
}
@media only screen and (max-width: 759px) {
  .mv-detail {
    margin: 0 auto 25px;
    width: 90%;
  }
}

@media only screen and (min-width: 980px) {
  .mv-inner__movie.is-fixed {
    position: fixed;
    display: block;
		vertical-align: top;
    margin-top: -50px;
  }
}
.mv-inner__movieInner {
  cursor: pointer;
}

.mv-inner__mew img{
	width: 100%;
	height: auto;
}
@media only screen and (min-width: 980px) {
  .mv-inner__movie {
    /*min-height: 120px;*/
    vertical-align: top;
    top: 0;
    display: table-cell;
    width: 40%;
    position: sticky;
		
  }
}
@media only screen and (min-width: 760px) and (max-width: 979px) {
  .mv-inner__movie {
    display: block;
    max-width: inherit;
    margin: 0 0 24px;
    padding: 0;
    position: relative;
    width: 70%;
  }
}
@media only screen and (max-width: 759px) {
  .mv-inner__movie {
    display: table;
    max-width: inherit;
    margin: 0 auto 24px;
    padding: 0;
    position: relative;
  }
}
.mv-inner__movie .mv-inner__movieInner {
  background: url(../img/main_movie_bg.png) repeat 0 0/2px auto;
  display: block;
	padding: 15px 10%;
	margin-bottom: 10px;
}
@media only screen and (max-width: 759px) {
  .mv-inner__movie .mv-inner__movieInner {
    position: relative !important;
  }
}
.mv-inner__movie .mv-inner__movieInner a:hover {
  opacity: 0.9;
}
.mv-inner__movie .mv-inner__movieInner .movieTitle {
  width: 77.61194%; /* 260 /  335 * 100 */
	margin: 0 auto 15px auto;
  color: #fff;
}
.mv-inner__movie .mv-inner__movieInner .movieTitle img {
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 759px) {
  .mv-inner__movie .mv-inner__movieInner .movieTitle {
    display: block;
  }
}
.mv-wrap{
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.mv-wrap a.mv-in{
	width: 47.4626865%; /* 159 /  335 * 100 */
	display: block;
	position: relative;
}
a.mv-in.new:before {
	content: "";
	position: absolute;
	top: 0;
	height: 100%;
  background: url(../img/mv_new.png) left top no-repeat;
	background-size: 100% auto;
	z-index: 2;
	right: 0;
  width: 22.2929936%;/* 35 / 157 * 100 */
}

/* ========================================
  scene_common
======================================== */
.scene {
  max-width: 1120px;
  margin: 0 auto;
  border: 3px solid #fff;
  border-radius: 12px;
  position: relative;
}
@media only screen and (max-width: 759px) {
  .scene {
    width: 90%;
    margin: 0 auto;
  }
}
.scene:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: inset 0px 0px 31px 22px rgba(0, 0, 0, 0.21);
  border-radius: 12px;
  z-index: 10;
}
.scene .scene-title {
  background: url(../img/ico-monstarball.svg) no-repeat 0 50%/44px 44px;
  min-height: 60px;
  font-weight: bold;
  font-size: 30px;
  line-height: normal;
  margin: 30px 0 15px;
  padding-left: 60px;
  display: table;
}
@media only screen and (max-width: 759px) {
  .scene .scene-title {
    margin: 30px 0 0;
    background: url(../img/ico-monstarball.svg) no-repeat 0 50%/46px 46px;
  }
}
.scene .scene-title span {
  display: table-cell;
  vertical-align: middle;
}
@media screen and (min-width: 760px) and (max-width: 1000px) {
  .scene .scene-title {
    font-size: 20px;
  }
}
@media only screen and (max-width: 759px) {
  .scene .scene-title {
    font-size: 15px;
    line-height: 21px;
    font-weight: bold;
  }
}
.scene .scene1ttl {
  color: #ff2c03;
}
.scene .scene2ttl {
  color: #2c4a98;
}
.scene .txt {
  font-weight: bold;
  line-height: 30px;
  color: #000;
  font-size: 16px;
  width: 80%;
  margin: 0 auto;
}

@media only screen and (max-width: 759px) {
  .scene .txt {
    font-size: 13px;
    width: 100%;
		line-height: 2.0;
  }
}

/* ========================================
  scene1
======================================== */
.scene_wrapper {
  padding-left: 60px;
  padding-right: 60px;
}


#scene1 {
  margin-bottom: 60px;
}
@media only screen and (max-width: 759px) {
  .scene_wrapper {
    padding: 0;
  }
	#scene1 {
  margin-bottom: 20px;
}
}
#scene1 .scene1-hdg {
  background: url(../img/scene1_bg.png) repeat 0 0/8px 6px;
  border-radius: 12px 12px 0 0 / 12px 12px 0 0;
  text-align: center;
}
@media only screen and (max-width: 759px) {
  #scene1 .scene1-hdg {
    background: url(../img/scene1_bg_sp.png) repeat 0 0/8px 6px;
  }
}

#scene1 .scene1-inner {
  margin: 0 auto;
  padding: 40px 0;
  background: url(../img/scene_bg.png) repeat 50% 50%/8px 6px;
}
#scene1 .scene1-inner.scene1-inner02{
	padding: 10px 0 20px 0;
}
@media only screen and (max-width: 759px) {
  #scene1 .scene1-inner {
    padding: 23px 0;
    width: 100%;
    background: url(../img/scene_bg_sp.png) repeat 0 0/8px 6px;
  }
  #scene1 .scene1-inner > .txt {
    width: 90%;
    margin: 0 auto;
  }
}
#scene1 .scene1-inner .scene1-img1 {
  width: 100%;
  position: relative;
  text-align: left;
  margin: 30px auto 0;
  padding: 0 0 85px 10%;
}
@media only screen and (max-width: 759px) {
  #scene1 .scene1-inner .scene1-img1 {
    width: 100%;
    padding-bottom: 20px;
    padding-left: 5%;
    margin: 10px auto 0;
    position: relative;
  }
  #scene1 .scene1-inner .scene1-img1 img {
    width: 87%;
  }
}
#scene1 .scene1-inner .scene1-img1:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 400%;
  height: 100%;
  background: url(../img/img_sec1_hand.png) no-repeat 100% 0/436px auto;
  z-index: 2;
}
@media screen and (min-width: 1033px) and (max-width: 1176px) {
  #scene1 .scene1-inner .scene1-img1:before {
    background: url(../img/img_sec1_hand.png) no-repeat 100% 0/300px auto;
  }
}
@media screen and (min-width: 760px) and (max-width: 1032px) {
  #scene1 .scene1-inner .scene1-img1:before {
    background: url(../img/img_sec1_hand.png) no-repeat 100% 0/300px auto;
  }
}
@media only screen and (max-width: 759px) {
  #scene1 .scene1-inner .scene1-img1:before {
    top: 10%;
    right: 0;
    width: 120%;
    height: 200%;
    background: url(../img/img_sec1_hand.png) no-repeat 100% 0/100px auto;
  }
}
@media screen and (min-width: 760px) and (max-width: 1032px) {
  #scene1 .scene1-inner .scene1-img1 img {
    width: 70%;
  }
}
#scene1 .scene1-inner .scene1-img1 .txt {
  position: relative;
  z-index: 10;
  width: 60%;
  text-align: left;
  margin: 0;
}
@media only screen and (max-width: 759px) {
  #scene1 .scene1-inner .scene1-img1 .txt {
    width: 95%;
  }
}
#scene1 .scene1-inner .scene1-img2 {
  position: relative;
  z-index: 3;
  width: 80%;
  margin: -37px auto 0;
  display: table;
}
@media only screen and (max-width: 759px) {
  #scene1 .scene1-inner .scene1-img2 {
    display: block;
    width: 100%;
    padding: 0 5%;
  }
}
#scene1 .scene1-inner .scene1-img2__img {
  display: table-cell;
  vertical-align: middle;
  width: 35%;
}
@media only screen and (max-width: 759px) {
  #scene1 .scene1-inner .scene1-img2__img {
    display: block;
    text-align: center;
    width: 70%;
    margin: 0 auto;
  }
}
#scene1 .scene1-inner .scene1-img2__txt {
  display: table-cell;
  vertical-align: middle;
  padding-left: 20px;
}
@media only screen and (max-width: 759px) {
  #scene1 .scene1-inner .scene1-img2__txt {
    display: block;
    margin-top: -10%;
    padding-left: 0;
  }
}
#scene1 .scene1-inner .scene1-img2__txt .scene1ttl {
  margin-top: -20px;
}
#scene1 .scene1-inner .scene1-img2 .txt {
  width: 100%;
}
@media only screen and (max-width: 759px) {
  #scene1 .scene1-inner .scene1-img2 {
    margin-top: 0;
    min-height: inherit;
  }
}
#scene1 .scene1-inner .scene1-img3 {
  position: relative;
  z-index: 3;
}
@media only screen and (max-width: 759px) {
  #scene1 .scene1-inner .scene1-img3 {
    padding: 0 5% 0%;
    margin-top: 0;
    min-height: inherit;
    width: 100%;
  }
  #scene1 .scene1-inner .scene1-img3 .scene1ttl {
    margin: 15px 0 0;
  }
}
#scene1 .scene1-inner .scene1-img3 > img {
	position: relative;
	
  margin-bottom: 10px;
}
#scene1 .scene1-inner .scene1-img3 .txt {
  width: 100%;
}
#scene1 .scene1-inner .scene1-img3 .txt span {
  display: block;
  font-size: 12px;
}

/* ========================================
  scene2
======================================== */
#scene2 {
  margin-bottom: 50px;
}
#scene2 .scene2-hdg {
  background: url(../img/scene2_bg.png) repeat 0 0/8px 6px;
  border-radius: 8px 8px 0 0;
  text-align: center;
  padding: 10px 0 0;
}
@media only screen and (max-width: 759px) {
  #scene2 .scene2-hdg {
    background: url(../img/scene2_bg_sp.png) repeat 0 0/8px 6px;
  }
}
#scene2 .scene2-hdg .ttl {
  width: 80%;
  margin: 0 auto;
  padding: 15px 0 11px;
}
@media only screen and (max-width: 759px) {
  #scene2 .scene2-hdg .ttl {
    width: 60%;
  }
}
#scene2 .scene2-hdg .lead {
  font-size: 17px;
  background: rgba(0, 0, 0, 0.29);
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  padding: 10px 0;
  line-height: 30px;
  padding: 13px 0;
}
#scene2 .scene2-hdg .lead img {
  width: auto;
}

@media only screen and (max-width: 759px) {
	#scene2 .scene2-hdg .lead {
		line-height: 1.0;
		padding: 0 0 13px 0;
	}
}
#scene2 .scene2-inner {
  width: 100%;
  margin: 0 auto;
  padding: 40px 0;
  background: url(../img/scene_bg.png) repeat 50% 50%/8px 6px;
}
@media only screen and (max-width: 759px) {
  #scene2 .scene2-inner {
    padding: 23px 5% 10px;
    width: 100%;
    background: url(../img/scene_bg_sp.png) repeat 50% 50%/8px 6px;
  }
  #scene2 .scene2-inner .txt {
    width: 100%;
  }
}
#scene2 .scene2-inner .txt .ncommon-link {
  margin-left: 5px;
  color: #2c4a98;
  position: relative;
  display: inline-block;
  z-index: 1000;
}
#scene2 .scene2-inner .txt .ncommon-link:before {
  content: "";
  position: absolute;
  display: inline-block;
  height: 3px;
  width: 80%;
  bottom: 0;
  left: 10%;
  background: #2c4a98;
}
#scene2 .scene2-inner .txt .ncommon-link:after {
  content: '';
  display: inline-block;
  width: 15px;
  height: 13px;
  background: url(../img/icon_blank.svg) no-repeat;
  -moz-background-size: contain;
  -o-background-size: contain;
  background-size: contain;
  vertical-align: baseline;
}
#scene2 .scene2-inner .txt .ncommon-link span {
  padding-right: 10px;
}

#scene2 .scene2-inner .txt .ncommon-icon {
  vertical-align: text-top !important;
}
#scene2 .scene2-bottom {
  width: 100%;
  padding: 110px 0 120px 0;
  background:#e5eaf1 url("../img/scene2inner_bg.jpg") repeat 100% 0/cover;
  /*border-radius: 0 0 8px 8px;*/
}
@media screen and (min-width: 1024px) and (max-width: 1150px) {
  #scene2 .scene2-bottom {
    background: url("../img/scene2inner_bg.jpg") repeat 14% 0/cover;
  }
}
@media screen and (min-width: 980px) and (max-width: 1022px) {
  #scene2 .scene2-bottom {
    background: url("../img/scene2inner_bg.jpg") repeat 16% 0/cover;
  }
}
@media screen and (min-width: 760px) and (max-width: 980px) {
  #scene2 .scene2-bottom {
    background: url("../img/scene2inner_bg.jpg") repeat 39% 0/cover;
  }
}
@media only screen and (max-width: 759px) {
  #scene2 .scene2-bottom {
    background: none;
    background: url(../img/scene_bg_sp.png) repeat 50% 0/8px 6px;
    padding: 10px 0 30px;
  }
  #scene2 .scene2-bottom .scene2ttl {
    margin: 0;
  }
}
@media screen and (min-width: 760px) {
  #scene2 .scene2-bottom .txt {
    width: 100%;
  }
}
#scene2 .scene2-bottom__inner {
  width: 45%;
  margin: 0 0 0 10%;
}
@media only screen and (max-width: 759px) {
  #scene2 .scene2-bottom__inner {
    padding-top: 20px;
  }
}
@media screen and (min-width: 760px) and (max-width: 1150px) {
  #scene2 .scene2-bottom__inner {
    width: 59%;
  }
}
@media only screen and (max-width: 759px) {
  #scene2 .scene2-bottom__inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 5%;
  }
}

/* ========================================
  function
======================================== */
.function {
  width: 100%;
  margin: 0 auto;
  padding-bottom: 30px;
	background: url(../img/function_bg.png) #fff no-repeat top center;
	background-size: 57% auto;
  z-index: 10;
}
.function .function-ttl {
  width: 100%;
  text-align: center;
  margin: 0 auto 30px;
  border-bottom: 1px solid #ccc;
}
.function .function-ttl span {
  display: block;
  width: 50%;
  margin: 5px auto 0;
  position: relative;
  padding-bottom: 20px;
  max-width: 352px;
}
.function .function-ttl.prod-ttl {
	margin: 0 auto 40px auto;
}
.function .function-ttl.prod-ttl span img{
	width: 60%;
	max-width: 193px;
}
.function .function-ttl span:after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: -1%;
  right: -2%;
  height: 3px;
  background-color: #ff2c04;
}
.function .function-inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 100px 60px 0 60px;
}
@media only screen and (max-width: 759px) {
  .function .function-inner {
    padding: 20px 0 0 0;
    width: 100%;
  }
}
.function .function-inner__parts {
  text-align: center;
  margin-bottom: 30px;
}
@media only screen and (max-width: 759px) {
  .function .function-inner__parts {
    display: block;
    width: 90%;
    margin: 0 auto 10px;
  }
}
.function .function-inner__parts .parts {
  border: 1px solid #e6e6e6;
  align-items: center;
  width: 49.5%;
  text-align: center;
  padding: 30px 30px 0;
  position: relative;
  margin: 0 0 18px 0;
}
@media only screen and (max-width: 759px) {
  .function .function-inner__parts .parts {
    width: 100%;
    padding: 20px 20px 0;
  }
}
.function .function-inner__parts .parts:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 94px;
  height: 30px;
}
@media only screen and (max-width: 759px) {
  .function .function-inner__parts .parts:before {
    width: 100%;
  }
}
.function .function-inner__parts .front:before {
  background: url(../img/function_front_label.png) no-repeat 0 0/52px auto;
}
.function .function-inner__parts .back:before {
  background: url(../img/function_back_label.png) no-repeat 0 0/52px auto;
}
.function .function-inner__tbl {
  border-collapse: collapse;
  margin-bottom: 90px;
}
@media only screen and (max-width: 759px) {
  .function .function-inner__tbl {
    width: 90%;
    margin: 12px auto 40px auto;
  }
}
.function .function-inner__tbl table {
  width: 100%;
  border-collapse: collapse;
}
.function .function-inner__tbl table tr {
  border-bottom: 1px solid #e9e9e9;
}
@media only screen and (max-width: 759px) {
  .function .function-inner__tbl table tr {
    border: none;
  }
}
.function .function-inner__tbl table td,
.function .function-inner__tbl table th {
  padding: 28px 0;
  color: #3c3c3c;
  line-height: 24px;
}
@media only screen and (max-width: 759px) {
  .function .function-inner__tbl table td,
  .function .function-inner__tbl table th {
    border: none;
    padding: 0;
  }
}
.function .function-inner__tbl table tr:first-child th {
  border-top: 1px solid #e9e9e9;
}
@media only screen and (min-width: 980px) {
  .function .function-inner__tbl table tr:first-child td {
    border-top: 1px solid #e9e9e9;
  }
}
.function .function-inner__tbl table th {
  text-align: center;
  font-weight: bold;
  width: 15%;
  border-right: 1px solid #e9e9e9;
}
@media only screen and (max-width: 759px) {
  .function .function-inner__tbl table th {
    display: block;
    width: 100%;
    border: none;
    text-align: left;
    position: relative;
    padding: 20px 0 5px 17px;
  }
  .function .function-inner__tbl table th:before {
    content: "●";
    position: absolute;
    top: 42%;
    left: 0;
    width: 12px;
    height: 12px;
    color: #ccc;
  }
}
.function .function-inner__tbl table td {
  padding-left: 45px;
  padding-right: 23px;
}
@media only screen and (max-width: 759px) {
  .function .function-inner__tbl table td {
    display: block;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid #e9e9e9;
    padding-left: 0;
    padding-right: 0;
    padding: 0 5px 20px;
  }
}
.function .function-inner__tbl table span {
  font-size: 12px;
  display: block;
  text-indent: -1em;
  padding-left: 1em;
}
.function .function-inner__tbl table a {
  padding-bottom: 2px;
  border-bottom: 2px solid #b7b7b7;
}
.function .function-inner__tbl table a:hover {
  opacity: .7;
}
.function .function-inner__cont {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (max-width: 759px) {
  .function .function-inner__cont {
    display: block;
    width: 90%;
    margin: 0 auto;
  }
}
.function .function-inner__cont .pkg {
  width: 40%;
}
@media only screen and (max-width: 759px) {
  .function .function-inner__cont .pkg {
    width: 90%;
    margin: 10% 16% 0 -5%;
  }
}
.function .function-inner .cont {
  width: 60%;
  padding-left: 5%;
}
.function .function-inner .function-inner__spset .cont {
	padding-left: 0;
	margin: 0 auto;
}
@media only screen and (max-width: 759px) {
  .function .function-inner .cont {
    width: 90%;
    padding-left: 0;
  }
}
.function .function-inner .function-contTtl {
  font-weight: bold;
  font-size: 28px;
  color: #000;
  width: 70%;
  background: url(../img/function_ttl_bg.png) repeat-y 0 0/9px auto;
  padding-left: 24px;
  margin-top: 20px;
  position: relative;
}
.function .function-inner .function-inner__spset .function-contTtl{
	font-size: 20px;
	width: 95%;
	line-height: 1.5;
}
.function .function-inner .function-inner__spset .spset-left .function-contTtl{
	background: url(../img/function_ttl_bg_spset01.png) repeat-y 0 0/9px auto;
}
.function .function-inner .function-inner__spset .spset-right .function-contTtl{
	background: url(../img/function_ttl_bg_spset02.png) repeat-y 0 0/9px auto;
}
@media only screen and (max-width: 759px) {
  .function .function-inner .function-contTtl {
    width: 100%;
  }
}
.function .function-inner .function-contTtl .maker {
  display: block;
  font-size: 14px;
  color: #999;
  padding-top: 10px;
}
.function .function-inner .price {
  font-weight: bold;
  margin: 20px 0;
  font-size: 30px;
  line-height: 24px;
  display: inline-block;
  vertical-align: text-bottom;
}
.function .function-inner .function-inner__spset .price{
	text-align: center !important;
	display: block;
	margin: 40px 0 20px 0;
}
@media only screen and (max-width: 759px) {
  .function .function-inner .price {
    margin: 40px 0 20px;
    line-height: 14px;
  }
	.function .function-inner .function-inner__spset .price{
		width: 90%;
		text-align: left !important;
		margin: 30px auto 20px auto;
		line-height: 18px;
	}
}
.function .function-inner .price .num {
  font-family: 'roboto', sans-serif;
}
.function .function-inner .price .day {
  color: #fff;
  background: #000;
  width: 20px;
  height: 20px;
  border-radius: 20px;
  font-size: 14px;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  padding: 0 3px;
  line-height: 20px;
  margin: 0 7px;
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .function .function-inner .price .day { line-height: 25px; } /* IE11 */
}
@media only screen and (max-width: 759px) {
  .function .function-inner .price > span {
    display: block;
    line-height: 14px;
  }
}
.function .function-inner .price > span:first-child {
  padding-right: 24px;
}
.function .function-inner .price .small {
  font-size: 14px;
}
.function .function-inner .set {
  background: #f5f5f5;
  width: 100%;
  padding: 14px 0;
  margin-bottom: 24px;
}
.function .function-inner .function-inner__spset .set{
	width: 60%;
	margin-left: auto;
	margin-right: auto;
}
.function .function-inner .set dl {
  display: table;
  min-height: 95px;
  width: 100%;
  color: #666;
}
@media only screen and (max-width: 759px) {
  .function .function-inner .set dl {
    min-height: inherit;
  }
}
.function .function-inner .set dl dt,
.function .function-inner .set dl dd {
  font-size: 14px;
  font-weight: bold;
  display: table-cell;
  vertical-align: middle;
  padding-top: 10px;
}
@media only screen and (max-width: 759px) {
	.function .function-inner .function-inner__spset .set{
		width: 90%;
		 padding-right:1%;
	}
  .function .function-inner .set dl dt,
  .function .function-inner .set dl dd {
    padding: 20px 0;
  }
}
.function .function-inner .set dl dt {
  color: #000;
  position: relative;
  width: 30%;
  text-align: center;
}
/*.function .function-inner .set dl dt:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 2px;
  height: 100%;
  background: #adadad;
}*/
.function .function-inner .set dl dd {
  text-align: left;
  line-height: 24px;
  padding-left: 50px;
	border-left: 2px solid #adadad; 
}
.function .function-inner .function-inner__spset .set dl dt {
	width: 25%;
	vertical-align: top;
	padding-top: 25px;
}
.function .function-inner .function-inner__spset .set dl dd {
	padding: 0 0 15px 35px;
	vertical-align: top;
}

@media only screen and (max-width: 759px) {
  .function .function-inner .set dl dd {
    padding: 0 5%;
  }
	.function .function-inner .function-inner__spset .set dl dd {
	padding: 0 0 15px 5%;
}
}
.function .function-inner .notice {
  font-size: 12px;
  text-indent: -1em;
  padding-left: 1em;
  line-height: 20px;
}
.function .function-inner__cont .notice a {
  padding-left: 15px;
}
.function .function-inner__cont .notice .ncommon-icon {
  vertical-align: middle;
}
.function .function-inner__cont .notice .ncommon-link span {
  padding-left: 10px;
}
.function .function-inner .function-inner__spset .notice a {
padding-bottom: 2px;
  border-bottom: 2px solid #b7b7b7;
}
.function-inner__parts_sp {
  width: 90%;
  margin: 0 auto;
}
.function-inner__parts_sp > .parts-item:first-child {
  background: url(../img/function_bg_sp_01.jpg) no-repeat 100% 0/74px auto;
  min-height: 74px;
  padding: 12px 0;
  margin-bottom: 5px;
}
.function-inner__parts_sp > .parts-item:nth-child(2) {
  background: url(../img/function_bg_sp_02.jpg) no-repeat 100% 0/74px auto;
  min-height: 74px;
  padding: 12px 0;
  margin-bottom: 5px;
}
.function-inner__parts_sp .parts-item {
  position: relative;
  font-weight: bold;
  margin-bottom: 20px;
}
.function-inner__parts_sp .parts-item .item-notice {
  font-size: 12px;
}
.function-inner__parts_sp .parts-item .item:before {
  content: "";
  font-size: 10px;
  line-height: 18px;
  text-align: center;
  color: #fff;
  display: inline-block;
  font-weight: bold;
  width: 18px;
  height: 18px;
  background: #b4b4b4;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  margin: 0 6px 0 0;
}
.function-inner__parts_sp .parts-item .item.parts-item01, .function-inner__parts_sp .parts-item .item.parts-item02, .function-inner__parts_sp .parts-item .item.parts-item01 + p, .function-inner__parts_sp .parts-item .item.parts-item02 + p {
  padding-right: 80px;
  margin-bottom: 10px;
}
.function-inner__parts_sp .parts-item .item.parts-item01:before {
  content: "1";
}
.function-inner__parts_sp .parts-item .item.parts-item02:before {
  content: "2";
}
.function-inner__parts_sp .parts-item .item.parts-item03:before {
  content: "3";
}
.function-inner__parts_sp .parts-item .item.parts-item04:before {
  content: "4";
}
.function-inner__parts_sp .parts-item .item.parts-item05:before {
  content: "5";
}
.function-inner__parts_sp .parts-item .item.parts-item06:before {
  content: "6";
}
.function-inner__parts_sp .parts-item .item.parts-item07:before {
  content: "7";
}
.function-inner__parts_sp .parts-item .item.parts-item08:before {
  content: "8";
}
.function-inner__parts_sp .parts-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.function-inner__parts_sp .parts-flex .parts-item {
  width: 50%;
}

/* ========================================
  footer
======================================== */
.ftr-bnr {
  background: url(../img/ftr_bnr_bg.jpg) no-repeat 50% 50%/cover;
  text-align: center;
  overflow: hidden;
}
.ftr-bnr__inner {
  overflow: hidden;
  padding: 16px 0;
  position: relative;
  z-index: 0;
}
.ftr-bnr__inner:before {
  content: "";
  position: absolute;
  top: 0;
  left: -5%;
  width: 110%;
  height: 100%;
  background: transparent;
  box-shadow: 0px 0px 19px 9px inset rgba(21, 50, 27, 0.64);
  z-index: 1;
}
.ftr-bnr__inner:after {
  content: "";
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.13);
}
@media only screen and (max-width: 759px) {
  .ftr-bnr__inner {
    width: 90%;
    margin: 0 auto;
  }
}
.ftr-bnr__inner a {
  display: block;
  position: relative;
  z-index: 10;
}
.ftr-bnr__inner a:hover {
  -webkit-filter: brightness(105%);
  filter: brightness(105%);
}

.ftr-copyright {
  background: #fff;
  padding-bottom: 50px;
}
@media only screen and (max-width: 759px) {
  .ftr-copyright__inner {
    width: 90%;
    margin: 0 auto;
  }
}
.ftr-copyright__inner .ftr_copyright {
  overflow: hidden;
  padding: 35px 0 5px;
  font-size: 10px;
  color: #737373;
  text-align: center;
  margin-bottom: 30px;
  line-height: 19px;
}
@media only screen and (max-width: 759px) {
  .ftr-copyright__inner .ftr_copyright {
    text-align: left;
  }
}
.ftr-copyright__inner .ftr_utility {
  margin: 0 auto 20px;
  text-align: center;
  padding: 40px 0;
  position: relative;
}
.ftr-copyright__inner .ftr_utility:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
  background: #e6e6e6;
}
@media only screen and (max-width: 759px) {
  .ftr-copyright__inner .ftr_utility:before {
    width: 100vw;
    left: -5%;
  }
}
.ftr-copyright__inner .ftr_utility:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #e6e6e6;
}
@media only screen and (max-width: 759px) {
  .ftr-copyright__inner .ftr_utility:after {
    width: 100vw;
    left: -5%;
  }
}
@media only screen and (max-width: 759px) {
  .ftr-copyright__inner .ftr_utility {
    text-align: left;
    margin-bottom: 30px;
    padding: 30px 0 20px;
  }
}
.ftr-copyright__inner .ftr_utility a {
  padding: 0 15px;
}
@media only screen and (max-width: 759px) {
  .ftr-copyright__inner .ftr_utility a {
    padding: 0 0 15px;
  }
}

.oss {
  overflow: hidden;
  padding: 15px 0 5px;
  font-size: 10px;
  color: #737373;
  text-align: left;
  margin-bottom: 30px;
  line-height: 19px;
  width: 60%;
  margin: 0 auto;
}
@media only screen and (max-width: 759px) {
  .oss {
    width: 100%;
  }
}

[data-njs="gallery__body"].js-visible {
  z-index: 10200 !important;
}

/*clearfix */
.clearfix, header .utility, .mv {
  *zoom: 1;
}
.clearfix:after, header .utility:after, .mv:after {
  content: "";
  display: table;
  clear: both;
}

/* ========================================
  spset
======================================== */
.function-inner__spset{
	width: 100%;
	border-top: 1px solid #e6e6e6;
	margin-top: 75px;
	padding-top: 40px;
}
.spset-title{
	font-size:24px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 40px;
}
.function-inner__spset_in{
	width: 90%;
	margin: 0 auto;
	overflow: hidden;
}
.spset-left{
	width: 50%;
	float: left;
}
.spset-right{
	width: 50%;
	float: right;
}
.pkg-spset{
	margin: 0 0 40px 55px;
}
.align-c{
	text-align: center;
}
.function-inner__spset .ico-plus{
	margin: 5px auto;
	text-align: center;
}
@media only screen and (max-width: 759px) {
	.function{
		padding-bottom: 5px;
	}
	.function-inner__spset{
		margin-top: 35px;
		padding-top: 25px;
	}
	.spset-title{
		font-size:20px;
		margin-bottom: 20px;
	}
	.function-inner__spset_in{
		width: 90%;
	}
	.spset-left{
		width: 100%;
		float: none;
	}
	.spset-right{
		width: 100%;
		float: none;
	}
	.pkg-spset{
		margin: 0 auto;
	}
}
/* ========================================
  designset
======================================== */
.designset_wrap{
	border: 1px solid #e6e6e6;
	margin: 55px auto;
	padding-top: 40px;
	max-width: 880px;
}
.designset_wrap .spset-title{line-height: 1.3;}
.designset_in{
	width: 750px;
	margin: 0 auto 10px auto;
	overflow: hidden;
}
.left{float: left;}
.right{float: right;}

.designset_in .left{
	width: 29.2%; /*219 / 750 * 100*/
	padding-top: 1.7%;
}
.designset_in .right{
	width: 66.66%; /*500 / 750 * 100*/
}
.designset_in .right p{
	font-weight: bold;
	font-size:20px;
	line-height: 1.5;
	padding-left: 27px;
	margin-top: 5px;
}
.designset_in .right p span.maker {
  display: block;
  font-size: 14px;
  color: #999;
  padding-top: 5px;
}
.designset_in .right p.dset01{
	background: url(../img/function_ttl_bg_spset01.png) repeat-y left top;
}
.designset_in .right p.dset02{
	background: url(../img/function_ttl_bg_spset02.png) repeat-y left top;
}
.designset_wrap .price{
	display: block !important;
	margin: 30px auto !important;
	text-align: center !important;
}
.designset_btn a{
	display: block;
	background-color: #f5f5f5;
	padding: 25px 0;
	text-align: center;
	color: #ff2c04;
	font-size:14px;
	font-weight: bold !important;
}
.designset_btn a:hover{
	opacity: 0.7;
}
.designset_btn a .btn_txt{
	display: table;
	width: 140px;
	margin: 0 auto;
}
.designset_btn a .ico_arr{
	width: 20px;
	height: 20px;
	display: table-cell;
}
.designset_btn a .btn_txt span{
	display: table-cell;
	vertical-align: middle;
}
@media only screen and (max-width: 759px) {
		/* ========================================
		designset SP
	======================================== */
	.designset_wrap{
		margin: 25px auto;
		padding-top: 20px;
		max-width: 86.4%;
		width: 86.4%; /* 646 / 750 * 100 */
	}
	.designset_in{
		width: 87.3%; /* 564 / 646 * 100 */
		margin: 15px auto 0 auto;
	}
	.left, .right{float: none;}
	.designset_in .left{
		display: none;
	}
	.designset_in .right{
		width: 100%;
	}
	.designset_in .right p{
		font-size:15px;
		margin-top: 0;
	}
	.designset_wrap .price{
		width: 87.3%; /* 564 / 646 * 100 */
		text-align: left !important;
		margin: 25px auto 20px auto !important;
	}

	.designset_btn a{
		padding: 15px 0;
	}
	.designset_btn a .btn_txt{
		font-size:14px;
		width: 41.7956656%; /* 270/ 646 * 100 */
	}
	.designset_btn a .ico_arr{
		width: 14.8148148%; /* 40 / 270 * 100 */
		height: auto;
	}

}