@charset "utf-8";
/* display animation */
/* header
***********************/
/* home
***********************/
/* page info
***********************/
/* shop
***********************/
/* page item
***********************/
/* tab */
/* page concept
***********************/
/* page appFlow
***********************/
/* page company
***********************/
/* page price
***********************/
/* page faq
***********************/
/*@import "_chat";*/
/* page contact
***********************/
/* page chat
***********************/
/* page scene
***********************/
/* page price
***********************/
.wrap {
  max-width: 1000px;
  margin: 0 auto; }

.wrapMiddleInner {
  max-width: 880px;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
  .wrapMiddleInner {
    padding: 0 15px; } }

.wrapInner {
  max-width: 800px;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
  .wrapInner {
    padding: 0 15px; } }

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0; }

  1% {
    display: block;
    opacity: 0; }

  100% {
    display: block;
    opacity: 1; } }

@-moz-keyframes fade-in {
  0% {
    display: none;
    opacity: 0; }

  1% {
    display: block;
    opacity: 0; }

  100% {
    display: block;
    opacity: 1; } }

@-webkit-keyframes fade-in {
  0% {
    display: none;
    opacity: 0; }

  1% {
    display: block;
    opacity: 0; }

  100% {
    display: block;
    opacity: 1; } }

a {
  display: block;
  color: #4b3e2e;
  text-decoration: none; }
  @media only screen and (max-width: 768px) {
  a:hover {
    text-decoration: none; } }

a:active, a:hover {
  outline-width: 0;
  transition: all 0.3s 0s ease;
  -webkit-transition: all 0.3s 0s ease;
  -moz-transition: all 0.3s 0s ease;
  -o-transition: all 0.3s 0s ease; }

a:link:hover, a[href]:hover, #bt input:hover {
  opacity: 0.6;
  filter: alpha(opacity=0.6);
  -ms-filter: "alpha(opacity=0.6)";
  -moz-opacity: 0.6;
  -khtml-opacity: 0.6;
  zoom: 1; }

@media only screen and (max-width: 768px) {
    a[href^="tel:"] {
      display: inline-block;
      /* pointer-events: none; */
      text-decoration: none;
      color: #4b3e2e; } }
  @media only screen and (max-width: 768px) {
  a[href^="tel:"] {
    display: inline-block;
    /* pointer-events: none; */
    text-decoration: none;
    color: #4b3e2e; } }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.2; }

input[type="submit"], input[type="reset"] {
  cursor: pointer; }

.img100 {
  width: 100%;
  height: auto; }

.onlyPC {
  display: block !important; }
  @media only screen and (max-width: 768px) {
  .onlyPC {
    display: none !important; } }

.onlySP {
  display: none !important; }
  @media only screen and (max-width: 768px) {
  .onlySP {
    display: block !important; } }

.onlySPinline {
  display: none !important; }
  @media only screen and (max-width: 768px) {
  .onlySPinline {
    display: inline !important; } }

.mt0 {
  margin-top: 0px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.mb100 {
  margin-bottom: 100px !important; }
  @media only screen and (max-width: 768px) {
  .mb100 {
    margin-bottom: 50px !important; } }

.pb25 {
  padding-bottom: 25px; }

.pb30 {
  padding-bottom: 30px !important; }
  @media only screen and (max-width: 768px) {
  .pb30 {
    padding-bottom: 10px !important; } }

.taC {
  text-align: center; }

.yellowMarker {
  background: linear-gradient(transparent 60%, #fff45c 60%);
  font-weight: bold; }

.red {
  color: #d70a17; }

.bold {
  font-weight: bold; }

.referenceTxt {
  display: block;
  margin-top: -10px;
  font-size: 13px;
  word-break: break-all; }
  @media only screen and (max-width: 768px) {
  .referenceTxt {
    margin-top: -20px;
    margin-bottom: 40px; } }
  .referenceTxt a {
    display: inline;
    line-height: 22px;
    text-decoration: underline; }

.sectionTitle--en {
  margin-bottom: 30px;
  text-align: center;
  color: #4b3e2e; }
  .sectionTitle--en .sectionTitle--en__icon {
    display: block;
  }
  .sectionTitle--en .sectionTitle--en__main {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 50px;
    font-weight: 100;
    letter-spacing: 0.2em; }
    @media only screen and (max-width: 768px) {
  .sectionTitle--en .sectionTitle--en__main {
    font-size: 35px; } }
  .sectionTitle--en .sectionTitle--en__rubi {
    display: block;
    font-size: 18px;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .sectionTitle--en .sectionTitle--en__rubi {
    font-size: 13px; } }

.box-btn {
  position: relative;
  overflow: hidden;
  max-width: 400px;
  margin: 0 auto 100px;
  text-align: center;
  cursor: pointer; }
  .box-btn.corners {
    border-radius: 30px;
    margin: 0 auto; }
    @media only screen and (max-width: 768px) {
      .box-btn.corners {
        width: 96%;
        margin: 0 auto; } }

.box-btn a, .box-btn input {
  outline: none;
  text-indent: 0.01px;
  text-overflow: '';
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  height: 60px;
  margin: 0 auto;
  padding: 0 80px;
  background: white;
  border: 2px solid #7a6a56;
  font-size: 18px;
  font-weight: bold;
  line-height: 14px;
  transition: all 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 2; }
  @media only screen and (max-width: 768px) {
  .box-btn a, .box-btn input {
    padding: 15px 0;
    font-size: 14px; } }

.box-btn a.corners {
  border-radius: 30px; }

  .box-btn a.corners:before {
    position: absolute;
    color: #fff;
    content: '▶';
    width: 15px;
    height: 15px;
    background: #7a6a56;
    border-radius: 50%;
    top: 50%;
    left: 50px;
    margin-top: -7px;
    padding: 1px 0 0 3px;
    font-size: 11px;
    z-index: 10; }
    .box-btn a.corners:hover:before {
      color: #7a6a56;
      background: #fff;
      font-size: 11px;
    }

.eff-7 {
  position: absolute;
  max-width: 400px;
  width: 100%;
  min-height: 60px;
  margin: 0 auto;
  left: -100%;
  top: 0;
  background: #7a6a56;
  border: 0px solid #7a6a56;
  transition: all 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 1; }

.eff-7.corners {
  border-radius: 30px; }

.box-btn:hover .eff-7 {
  left: 0; }

.box-btn:hover a, .box-btn:hover input {
  opacity: 1;
  background: transparent;
  color: #fff; }

.icon-btn {
  position: relative;
  max-width: 540px;
  margin: 0 auto 40px; }
  .icon-btn a {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    position: relative;
    padding: 0;
    z-index: 5; }
  .icon-btn input {
    outline: none;
    text-indent: 0.01px;
    text-overflow: '';
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    position: relative;
    width: 100%;
    padding: 0;
    color: #7a6a56;
    z-index: 5; }
  .icon-btn::before {
    position: absolute;
    content: '';
    width: 15px;
    height: 15px;
    background: #7a6a56;
    border-radius: 50%;
    top: 50%;
    right: 20px;
    margin-top: -7px;
    z-index: 10; }
    @media only screen and (max-width: 768px) {
  .icon-btn::before {
    right: 10px; } }
  .icon-btn::after {
    position: absolute;
    content: '';
    width: 3px;
    height: 3px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    right: 26px;
    margin-top: -1px;
    z-index: 15; }
    @media only screen and (max-width: 768px) {
  .icon-btn::after {
    right: 16px; } }
  .icon-btn .eff-7 {
    max-width: 540px; }
  .icon-btn.input-btn {
    max-width: 340px; }

.kv--container {
  position: relative;
  width: 100%;
  margin: 0 auto; }

.kv--slider {
  overflow: hidden; }
  @media only screen and (max-width: 768px) {
  .kv--slider {
    margin-bottom: 0; } }
  .kv--slider a {
    display: block; }
  .kv--slider img {
    width: 100%;
    height: auto; }
  .kv--slider .prev_con {
    position: absolute;
    top: 50%;
    left: 0;
    margin: 0 auto;
    cursor: pointer;
    z-index: 999; }
    .kv--slider .prev_con button {
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 50px;
      height: 400px;
      margin: auto;
      background-color: transparent;
      background-repeat: no-repeat;
      background-position: center;
      background-size: 50px auto;
      border: 0;
      color: transparent;
      font-size: 0;
      line-height: 0;
      outline: none;
      cursor: pointer; }
      @media only screen and (max-width: 768px) {
  .kv--slider .prev_con button {
    width: 30px;
    background-size: 30px auto; } }
  .kv--slider .next_con {
    position: absolute;
    top: 50%;
    right: 0;
    margin: 0 auto;
    cursor: pointer;
    z-index: 999; }
    .kv--slider .next_con button {
      display: block;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      width: 50px;
      height: 400px;
      margin: auto;
      background-color: transparent;
      background-repeat: no-repeat;
      background-position: center;
      background-size: 50px auto;
      border: 0;
      color: transparent;
      font-size: 0;
      line-height: 0;
      outline: none;
      cursor: pointer; }
      @media only screen and (max-width: 768px) {
  .kv--slider .next_con button {
    width: 30px;
    background-size: 30px auto; } }

.slick-dots__con .slick-dots {
  bottom: -20px; }
  .slick-dots__con .slick-dots li {
    width: 40px;
    height: 6px;
    margin: 0 10px 0 0; }
    .slick-dots__con .slick-dots li button {
      width: 40px;
      height: 6px;
      padding: 0; }
      .slick-dots__con .slick-dots li button::before {
        width: 40px;
        height: 6px;
        background: #3b3b3b;
        font-size: 0;
        opacity: 1; }
  .slick-dots__con .slick-dots li.slick-active button::before {
    background: #d70a17;
    opacity: 1; }

.slick-dotted.slick-slider {
  margin-bottom: 0 !important; }

.bullet-list {
  padding: 12px 0; }
  .bullet-list > ul {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center; }
    .bullet-list > ul li {
      padding-right: 6px;
      font-size: 12px; }
      .bullet-list > ul li::after {
        content: '／';
        right: 0;
        padding-left: 6px; }
      .bullet-list > ul li:last-child::after {
        content: ''; }
      .bullet-list > ul li a {
        display: inline-block; }

.fv {
  position: relative;
  max-height: 150px;
  margin-bottom: 50px; }
  @media only screen and (max-width: 768px) {
  .fv {
    margin-bottom: 30px; } }
  .fv h1 {
    padding: 50px 0;
    font-size: 46px;
    font-weight: bold;
    line-height: 46px;
    text-align: center;
    letter-spacing: 0.08em; }
  .fv h2 {
    padding: 50px 0;
    font-size: 46px;
    font-weight: bold;
    line-height: 46px;
    text-align: center;
    letter-spacing: 0.08em; }
    @media only screen and (max-width: 768px) {
  .fv h1 {
    padding: 40px 0;
    font-size: 36px;
    line-height: 36px; }
  .fv h2 {
    padding: 40px 0;
    font-size: 36px;
    line-height: 36px; } }
    @media only screen and (max-width: 480px) {
  .fv h1 {
    padding: 30px 0;
    font-size: 32px;
    line-height: 32px; }
  .fv h2 {
    padding: 30px 0;
    font-size: 32px;
    line-height: 32px; } }
  .fv h1.fv__scene {
    padding: 23px 0; }
  .fv h2.fv__scene {
    padding: 23px 0; }
    @media only screen and (max-width: 768px) {
  .fv h1.fv__scene {
    padding: 20px 10px; }
  .fv h2.fv__scene {
    padding: 20px 10px; } }
    @media only screen and (max-width: 480px) {
  .fv h1.fv__scene {
    padding: 16px 10px;
    font-size: 24px;
    line-height: 30px; }
  .fv h2.fv__scene {
    padding: 16px 10px;
    font-size: 24px;
    line-height: 30px; } }
  .fv__info {
    background-image: url('../img/common/smoke08.png'), url("../img/fv/fv_info.png");
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    background-size: auto auto, cover; }
  .fv__shop {
    background-image: url('../img/common/smoke08.png'), url("../img/fv/fv_shop.png");
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    background-size: auto auto, cover; }
  .fv__item {
    background-image: url('../img/common/smoke08.png'), url("../img/fv/fv_item.png");
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    background-size: auto auto, cover; }
  .fv__concept {
    background-image: url('../img/common/smoke08.png'), url("../img/fv/fv_concept.png");
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    background-size: auto auto, cover; }
  .fv__blog {
    background-image: url('../img/common/smoke08.png'), url("../img/fv/fv_blog.png");
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    background-size: auto auto, cover; }
  .fv__appFlow {
    background-image: url('../img/common/smoke08.png'), url("../img/fv/fv_appflow.png");
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    background-size: auto auto, cover; }
  .fv__company {
    background-image: url('../img/common/smoke08.png'), url("../img/fv/fv_company.png");
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    background-size: auto auto, cover; }
  .fv__price {
    background-image: url('../img/common/smoke08.png'), url("../img/fv/fv_price.png");
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    background-size: auto auto, cover; }
  .fv__faq {
    background-image: url('../img/common/smoke08.png'), url("../img/fv/fv_faq.png");
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    background-size: auto auto, cover; }
  .fv__contact {
    background-image: url('../img/common/smoke08.png'), url("../img/fv/fv_contact.png");
    background-repeat: repeat, no-repeat;
    background-position: left top, center center;
    background-size: auto auto, cover; }
  .fv__chat {
    background-image: url('../img/common/smoke08.png'), url("../img/fv/fv_chat.png");
    background-repeat: repeat, no-repeat;
    background-position: left top, center 25%;
    background-size: auto auto, cover; }
  .fv__privacy {
    background-color: #f4f3f1; }
  .fv__scene {
    background-image: url('../img/common/smoke08.png'), url("../img/fv/fv_scene.png");
    background-repeat: repeat, no-repeat;
    background-position: left top, center 36%;
    background-size: auto auto, cover; }
    .fv__scene--subTitle {
      display: block;
      max-width: 200px;
      margin: 0 auto 17px;
      background-color: #4b3e2e;
      border-radius: 3px;
      font-size: 20px;
      font-weight: bold;
      line-height: 40px;
      letter-spacing: 1.5px;
      color: white; }
      @media only screen and (max-width: 480px) {
  .fv__scene--subTitle {
    font-size: 16px;
    line-height: 30px; } }

.result-pager {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center; }
  .result-pager-item {
    width: 35px;
    height: 35px;
    margin: 0 5px;
    background: #f6f6f6;
    font-size: 16px;
    font-weight: bold;
    line-height: 35px;
    text-align: center;
    cursor: pointer; }
  .result-pager-item.none {
    background: #f6f6f6 url('../img/common/dots.png') no-repeat center center;
    font-size: 0; }
    .result-pager-item.none:last-child {
      -webkit-transform: rotate(180deg);
      transform: rotate(180deg); }
  .result-pager-item.active {
    background: white;
    border: solid 1px #4b3e2e;
    line-height: 33px; }

.parts-pageTitle {
  max-width: 880px;
  margin: 0 auto 20px;
  padding-bottom: 12px;
  border-bottom: solid 3px #4b3e2e;
  font-size: 32px;
  font-weight: bold; }
  @media only screen and (max-width: 768px) {
  .parts-pageTitle {
    padding: 0 10px 12px;
    font-size: 26px;
    line-height: 1.5; } }

.parts-pageTitle--caption {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: flex-start;
  -webkit-justify-content: flex-start;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  font-size: 15px;
  margin-bottom: 12px; }
  .parts-pageTitle--caption__category {
    width: 100px;
    height: 26px;
    margin-left: 22px;
    background-color: #f6f6f6;
    font-size: 14px;
    font-weight: bold;
    line-height: 26px;
    text-align: center; }

.parts-imgWide {
  max-width: 800px;
  height: auto;
  margin-bottom: 34px; }
  .wrapMiddleInner .parts-imgWide {
    max-width: 880px;
    margin-bottom: 20px; }

.page-parts h3 {
  margin-bottom: 22px;
  font-size: 26px;
  font-weight: bold; }
  .page-parts h4 {
    margin-bottom: 20px;
    font-size: 15px;
    font-weight: bold; }
  .page-parts h4.bubbleTitle {
    position: relative;
    margin-bottom: 28px;
    padding: 17px 21px 16px;
    background-color: #f1f0ee;
    border-radius: 6px;
    font-size: 18px;
    font-weight: bold; }
    .page-parts h4.bubbleTitle::after {
      content: '';
      position: absolute;
      bottom: -16px;
      left: 20%;
      border-top: 26px solid #f1f0ee;
      border-right: 20px solid transparent;
      border-left: 20px solid transparent; }
  .page-parts h4.innerTitle {
    margin-bottom: 5px;
    line-height: 30px; }
  .page-parts p {
    margin-bottom: 40px;
    font-size: 15px;
    line-height: 30px; }
    .page-parts p a.in-btn {
      display: block;
      position: relative;
      margin-top: 25px;
      margin-bottom: 40px;
      padding-left: 24px;
      font-size: 15px;
      line-height: 30px;
      text-decoration: underline;
      font-weight: bold; }
      .page-parts p a.in-btn::before {
        position: absolute;
        content: '';
        width: 15px;
        height: 15px;
        background: #7a6a56;
        border-radius: 50%;
        top: 50%;
        left: 0;
        margin-top: -7px; }
      .page-parts p a.in-btn::after {
        position: absolute;
        content: '';
        width: 3px;
        height: 3px;
        border-top: solid 1px #fff;
        border-right: solid 1px #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        top: 50%;
        left: 6px;
        margin-top: -1px; }
    .page-parts p a.center-btn {
      display: inline-block;
      position: relative;
      margin-top: 0;
      margin-bottom: 10px;
      padding-left: 24px;
      font-size: 15px;
      line-height: 30px;
      text-decoration: underline;
      font-weight: bold; }
      .page-parts p a.center-btn::before {
        position: absolute;
        content: '';
        width: 15px;
        height: 15px;
        background: #7a6a56;
        border-radius: 50%;
        top: 50%;
        left: 0;
        margin-top: -7px; }
      .page-parts p a.center-btn::after {
        position: absolute;
        content: '';
        width: 3px;
        height: 3px;
        border-top: solid 1px #fff;
        border-right: solid 1px #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        top: 50%;
        left: 6px;
        margin-top: -1px; }
  .page-parts ul {
    margin-bottom: 50px;
    margin-left: 20px; }
    .page-parts ul > li {
      position: relative;
      margin-bottom: 15px;
      padding-left: 25px;
      font-size: 15px;
      line-height: 20px; }
      .page-parts ul > li::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 9px;
        height: 9px;
        margin-top: 5px;
        background-color: #7a6a56;
        border-radius: 2px; }
      .page-parts ul > li > ul {
        margin-top: 15px;
        margin-bottom: 0; }
        .page-parts ul > li > ul li {
          padding-left: 17px; }
          .page-parts ul > li > ul li::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 0;
            width: 7px;
            height: 1px;
            margin-top: 0;
            background-color: #7a6a56; }
  .page-parts ol {
    margin-bottom: 50px;
    margin-left: 20px;
    padding-left: 15px;
    list-style-type: decimal;
    font-size: 15px; }
    .page-parts ol li {
      margin-bottom: 15px; }
  .page-parts table {
    border-collapse: collapse;
    max-width: 600px;
    width: 100%;
    margin: 0 auto 50px; }
    .page-parts table caption {
      margin-bottom: 12px;
      font-size: 20px;
      font-weight: bold;
      line-height: 22px; }
    .page-parts table tbody {
      border-top: solid 1px #bfbfbf; }
    .page-parts table tr {
      border-bottom: solid 1px #bfbfbf; }
    .page-parts table th {
      background: #f1f0ee;
      width: 110px;
      padding: 18px 17px;
      font-size: 15px;
      font-weight: bold; }
    .page-parts table td {
      padding: 18px 38px;
      font-size: 15px; }
  @media only screen and (max-width: 768px) {
  .page-parts table tr, .page-parts table th, .page-parts table td {
    display: block;
    width: auto; }
    .page-parts table th, .page-parts table td {
      border-top: none; } }

.parts-2colmn {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
  .parts-2colmn {
    display: block; } }
  .parts-2colmn__col {
    max-width: 380px;
    margin-bottom: 40px; }
    @media only screen and (max-width: 768px) {
  .parts-2colmn__col {
    margin: 0 auto; } }
    .parts-2colmn__col .thmbnail {
      max-width: 380px;
      margin-bottom: 11px; }
    .parts-2colmn__col .caption {
      font-size: 13px;
      line-height: 20px; }
    .parts-2colmn__col table {
      margin-bottom: 28px; }
      .parts-2colmn__col table th {
        width: 100px; }
        @media only screen and (max-width: 768px) {
  .parts-2colmn__col table th {
    width: 100%; } }
      .parts-2colmn__col table td {
        padding: 15px 20px;
        line-height: 22px; }
  .parts-2colmn__IMGleft {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-justify-content: space-between; }
    @media only screen and (max-width: 768px) {
  .parts-2colmn__IMGleft {
    flex-wrap: wrap; } }
  .parts-2colmn__IMGright {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    flex-direction: row-reverse; }
    @media only screen and (max-width: 768px) {
  .parts-2colmn__IMGright {
    flex-wrap: wrap; } }
  .parts-2colmn p {
    margin-bottom: 0; }

.parts-3colmn {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: flex-start;
  -webkit-justify-content: flex-start; }
  @media only screen and (max-width: 768px) {
  .parts-3colmn {
    flex-wrap: wrap; } }
  .parts-3colmn__col {
    max-width: 250px;
    margin: 0 25px 40px 0; }
    .parts-3colmn__col:nth-child(3n) {
      margin: 0 0 40px; }
    @media only screen and (max-width: 768px) {
  .parts-3colmn__col {
    max-width: 100%;
    margin: 0 auto 40px; }
    .parts-3colmn__col:nth-child(3n) {
      margin: 0 auto 40px; } }
    .parts-3colmn__col .thmbnail {
      margin-bottom: 11px; }
    .parts-3colmn__col .caption {
      font-size: 13px;
      line-height: 20px; }
  .parts-3colmn p {
    margin-bottom: 0; }

.parts-bottomSankaku {
  position: relative;
  margin-bottom: 30px;
  padding-bottom: 60px; }
  .parts-bottomSankaku::after {
    position: absolute;
    left: 50%;
    bottom: 0;
    content: '';
    display: block;
    width: 42px;
    height: 42px;
    margin-left: -30px;
    border-top: solid 7px #c9c5c0;
    border-right: solid 7px #c9c5c0;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg); }

.parts-collect {
  padding: 15px 30px;
  border: solid 5px #f1f0ee; }
  @media only screen and (max-width: 768px) {
  .parts-collect {
    padding: 10px 15px; } }

.parts-contactBlock {
  border: solid 3px #4b3e2e; }
  .parts-contactBlock dt {
    background-color: #4b3e2e;
    font-size: 20px;
    font-weight: bold;
    line-height: 50px;
    text-align: center;
    color: white; }
    @media only screen and (max-width: 768px) {
  .parts-contactBlock dt {
    font-size: 16px; } }
  .parts-contactBlock dd {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    padding: 30px 36px; }
    @media only screen and (max-width: 768px) {
  .parts-contactBlock dd {
    display: block;
    padding: 20px 24px; } }
    .parts-contactBlock dd h6 {
      margin-bottom: 12px;
      padding-bottom: 11px;
      border-bottom: solid 1px #4b3e2e;
      font-size: 15px; }
  .parts-contactBlock--phone {
    max-width: 320px; }
    @media only screen and (max-width: 768px) {
  .parts-contactBlock--phone {
    max-width: 100%;
    margin-bottom: 30px; } }
    .parts-contactBlock--phone .telNumber {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 46px;
      font-weight: 700;
      line-height: 40px;
      letter-spacing: -0.02em; }
      .parts-contactBlock--phone .telNumber a {
        color: #d70a17; }
  .parts-contactBlock--tool {
    max-width: 430px; }
    @media only screen and (max-width: 768px) {
  .parts-contactBlock--tool {
    max-width: 100%; } }
    .parts-contactBlock--tool a {
      background-color: #d70a17;
      border-radius: 6px;
      font-size: 14px;
      font-weight: bold;
      text-align: center;
      text-indent: 1.5em;
      color: white; }
    .parts-contactBlock--tool__btns {
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-justify-content: space-between; }
      @media only screen and (max-width: 768px) {
  .parts-contactBlock--tool__btns {
    display: block; } }
      .parts-contactBlock--tool__btns > p {
        width: 210px; }
        .parts-contactBlock--tool__btns > p:first-child {
          margin-right: 10px; }
        @media only screen and (max-width: 768px) {
  .parts-contactBlock--tool__btns > p {
    margin: 0 auto 10px !important; } }
  .parts-contactBlock .btn--mail span {
    position: relative;
    line-height: 40px; }
    .parts-contactBlock .btn--mail span::after {
      content: '';
      position: absolute;
      left: -27px;
      top: 0;
      width: 21px;
      height: 14px;
      background-image: url('../img/common/mail_icon.svg');
      background-repeat: no-repeat;
      background-position: center;
      background-size: 100% auto; }
  .parts-contactBlock .btn--line span {
    position: relative;
    line-height: 40px; }
    .parts-contactBlock .btn--line span::after {
      content: '';
      position: absolute;
      left: -30px;
      top: -4px;
      width: 24px;
      height: 23px;
      background-image: url('../img/common/line_icon.svg');
      background-repeat: no-repeat;
      background-position: center;
      background-size: 100% auto; }

header {
  min-height: 80px;
  background-color: white;
  z-index: 3000; }
  header > .wrap {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center; }
  header .header_logo {
    padding: 11px 0 19px; }
    header .header_logo img {
      max-width: 180px;
      max-height: 50px; }
  header .header_links {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center; }
    @media only screen and (max-width: 768px) {
    header .header_links .header_links--list{
      display: none; }
    header .header_links .header_links--list._blk {
      display: block;
      margin: 0 20px 0 0; } }
    header .header_links .header_links--list._blk .yajirushi {
      display: none; }
    @media only screen and (max-width: 768px) {
      header .header_links .header_links--list._blk .yajirushi {
        display: inline-block; } }
    header .header_links a {
      font-size: 13px;
      line-height: 1em; }
    header .header_links > li {
      margin-left: 10px; }
    header .header_links > li:nth-child(1) {
      position: relative;
      margin-left: 0;
      padding-right: 10px; }
      header .header_links > li:nth-child(1)::after {
        content: '';
        width: 1px;
        height: 13px;
        position: absolute;
        right: 0;
        top: 50%;
        margin-top: -5px;
        background-color: #4b3e2e; }
      header .header_links > li:nth-child(2) {
        position: relative;
        margin-left: 10px;
        padding-right: 10px; }
      header .header_links > li:nth-child(2)::after {
        content: '';
        width: 1px;
        height: 13px;
        position: absolute;
        right: 0;
        top: 50%;
        margin-top: -5px;
        background-color: #4b3e2e; }

.header_navi {
  position: relative;
  width: 100%;
  padding: 0;
  background-color: #d70a17;
  text-align: center; }
  .header_navi:after {
    content: "";
    clear: both;
    display: block; }
  .header_navi--container .mega-dropdown {
    width: 100%;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    overflow: hidden;
    padding: 25px 35px; }
    @media only screen and (max-width: 768px) {
  .header_navi--container {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    clear: both;
    float: none;
    overflow-y: scroll;
    width: 100%;
    height: 100%;
    padding-bottom: 170px;
    background-color: #d70a17;
    transition: display 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0;
    *zoom: 1;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    z-index: 1000; } }
    .header_navi--container a {
      color: white; }
    .header_navi--container .header_links {
      display: none; }
    @media only screen and (max-width: 768px) {
    .header_navi--container .header_links {
      display: block; }
      .header_navi--container .header_links li {
        border-top: solid 1px rgba(255, 255, 255, 0.3); }
        .header_navi--container .header_links li:last-child {
          border-bottom: solid 1px rgba(255, 255, 255, 0.3); }

      .header_navi--container .header_links a {
        display: block;
        width: 100%;
        padding: 20px; } }
  .header_navi--lists {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center; }
    @media only screen and (max-width: 768px) {
  .header_navi--lists {
    display: block; } }
  .header_navi--list {
    width: calc(100% / 5);
    text-align: center; }
    @media only screen and (max-width: 768px) {
  .header_navi--list {
    border-bottom: 1px solid #f1f0e0;
    width: 100%; }
    .header_navi--list .mega-dropdown {
      display: block; } }
    .header_navi--list > a {
      position: relative;
      display: block;
      width: 100%;
      max-height: 80px;
      padding: 26px 0 41px;
      font-size: 15px;
      font-weight: bold;
      line-height: 15px;
      text-align: center;
      color: white; }
    .header_navi--list > a::after {
      position: absolute;
      left: 50%;
      bottom: 22px;
      content: '';
      display: block;
      width: 10px;
      height: 10px;
      margin-left: -4px;
      border-top: solid 2px rgba(255, 255, 255, 0.3);
      border-right: solid 2px rgba(255, 255, 255, 0.3);
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg); }
    .header_navi--list > a:hover {
      background-color: #a70b10;
      opacity: 1; }
    @media only screen and (max-width: 768px) {
    .header_navi--list > a {
      display: block; } }
    .header_navi--list .mega-dropdown {
      opacity: 0;
      background-color: #a70b10;
      transition-duration: 0.3s;
      -moz-transition-duration: 0.3s;
      -webkit-transition-duration: 0.3s;
      -o-transition-duration: 0.3s;
      -ms-transition-duration: 0.3s;
      pointer-events: none;
      z-index: 1000; }
    @media only screen and (max-width: 768px) {
    .header_navi--list .mega-dropdown {
      opacity: 1;
      display: block;
      position: static;
      background: none;
      border: none;
      padding: 0;
      pointer-events: auto; } }
    .header_navi--list:hover .mega-dropdown {
      display: block;
      opacity: 1;
      pointer-events: auto; }
  .header_navi--pointer {
    background-color: #a70b10; }

/* PC閲覧時にヘッダー固定 */
@media only screen and (min-width: 769px) {
  header {
    position: fixed;
    top: 0;
    width: 100%; }
  .header_navi--container {
    margin-top: 80px; } }

@media only screen and (min-width: 960px) {
  .header_navi--container {
    display: block !important; } }

.naviTop--menu > .wrap {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
    .naviTop--menu > .wrap {
      display: block; } }

.naviTop--local {
  width: 33%;
  text-align: left; }
  @media only screen and (min-width: 769px) {
    .naviTop--local:first-child, .naviTop--local:nth-child(2), .naviTop--local:nth-child(3) {
      margin-bottom: 50px; }
  }
  @media only screen and (max-width: 768px) {
    .naviTop--local {
      width: 100%;
      padding: 10px 30px 30px;
      background-color: #f1f0e0; }
    .naviTop--local a {
      color: #4b3e2e; }
    .mega-dropdown .wrap {
      background-color: #f1f0e0; }
  }
  .naviTop--local .naviTop--local__title {
    position: relative;
    margin-bottom: 17px;
    padding-left: 15px;
    font-size: 15px;
    font-weight: bold; }
  .naviTop--local .naviTop--local__title::after {
    position: absolute;
    left: 0;
    top: 50%;
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: solid 2px rgba(255, 255, 255, 0.3);
    border-right: solid 2px rgba(255, 255, 255, 0.3);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
  .naviTop--local .naviTop--local__lists {
    padding-left: 14px; }
  .naviTop--local .naviTop--local__lists li {
    position: relative;
    margin-bottom: 15px;
    padding-left: 15px;
    list-style: none; }
  .naviTop--local .naviTop--local__lists li:last-child {
    margin-bottom: 0; }
  .naviTop--local .naviTop--local__lists li::after {
    position: absolute;
    left: 0;
    top: 50%;
    content: '';
    display: block;
    width: 7px;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.3); }
  .naviTop--local .naviTop--local__lists a {
    display: block;
    font-size: 14px; }
  .naviTop--local .naviTop--local__lists a:focus, .naviTop--local .naviTop--local__lists a:hover {
    opacity: 0.6 !important;
    filter: alpha(opacity=0.6) !important;
    -ms-filter: "alpha(opacity=0.6)" !important;
    -moz-opacity: 0.6 !important;
    -khtml-opacity: 0.6 !important;
    zoom: 1;
    cursor: pointer; }

#menu-icon {
  position: absolute;
  right: 0;
  top: 0;
  display: none;
  width: 60px;
  height: 60px;
  padding: 20px 15px;
  background-color: #d70a17;
  z-index: 1001; }
  @media only screen and (max-width: 768px) {
  #menu-icon {
    display: block;
    cursor: pointer; } }
  #menu-icon span {
    border: 2px solid #fff;
    width: 30px;
    margin-bottom: 5px;
    display: block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s; }
  #menu-icon span:last-child {
    margin-bottom: 0; }
  @media only screen and (max-width: 768px) {
    #menu-icon.active .first {
      transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      margin-top: 8px; }
      #menu-icon.active .second {
        transform: rotate(135deg);
        -webkit-transform: rotate(135deg);
        position: relative;
        top: -9px; }
      #menu-icon.active .third {
        display: none; } }

.fixbody {
  width: 100%;
  height: 100%;
  overflow: hidden;
  /* footer
***********************/ }

.footer_franchise {
  margin: 70px auto 20px;
  padding: 40px 40px 27px;
  background: url('../img/common/footer_franchise_bg.jpg') repeat left top;
  text-align: center; }
  @media only screen and (max-width: 768px) {
  .footer_franchise {
    padding: 15px 40px 10px; } }
  .footer_franchise h3 {
    position: relative;
    display: inline-block;
    margin-bottom: 40px;
    font-size: 24px;
    font-weight: bold;
    line-height: 24px;
    text-align: center; }
  .footer_franchise h3::before {
    content: '';
    position: absolute;
    left: -51px;
    bottom: 0;
    width: 71px;
    height: 76px;
    background: url('../img/common/footer_franchise_icon.png') no-repeat left top;
    background-size: 100% auto; }
  .footer_franchise-totop {
    text-align: center;
    margin-right: auto;
    margin-bottom: 1.4em;
    margin-left: auto;
    font-size: 14px;
    line-height: 1.7em; }
  @media only screen and (max-width: 768px) {
    .footer_franchise h3 {
      margin-bottom: 35px;
      font-size: 20px;
      line-height: 20px; }
      .footer_franchise h3::before {
        content: '';
        position: absolute;
        left: -51px;
        bottom: -11px;
        width: 56px;
        height: 60px; } }
  .footer_franchise--container {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    flex-wrap: wrap;
    text-align: left; }
  @media only screen and (max-width: 768px) {
    .footer_franchise--container {
      display: block; } }
  .footer_franchise--column {
    width: 300px; }
  .footer_franchise--column:first-child {
    margin-bottom: 29px; }
  @media only screen and (max-width: 768px) {
      .footer_franchise--column:first-child {
        margin-bottom: 15px; } }
  @media only screen and (max-width: 768px) {
    .footer_franchise--column {
      width: 100%;
      margin-bottom: 15px; } }
  .footer_franchise--column dt {
    font-size: 14px;
    font-weight: bold;
    line-height: 22px; }
  .footer_franchise--column dd {
    font-size: 14px;
    line-height: 22px; }
  .footer_franchise--column ul {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    flex-wrap: wrap; }
  .footer_franchise--column a {
    margin-right: 15px; }

footer {
  padding: 45px 0;
  background-color: #353535; }
  @media only screen and (max-width: 768px) {
  footer {
    background-color: #353535; } }
  footer .footer_logo {
    max-width: 200px;
    max-height: 56px;
    margin: 0 auto 40px;
    text-align: center; }
  footer .footer_links {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
    -webkit-justify-content: center; }
  @media only screen and (max-width: 768px) {
    footer .footer_links {
      flex-wrap: wrap; } }
  footer .footer_links li {
    height: 14px;
    border-right: solid 1px white; }
  footer .footer_links li:last-child {
    border-right: none; }
  @media only screen and (max-width: 768px) {
      footer .footer_links li {
        width: 50%;
        margin-bottom: 8px;
        border-right: solid 1px #5d5d5d; }
        footer .footer_links li:nth-child(even) {
          text-align: left;
          border-right: none; }
        footer .footer_links li:nth-child(odd) {
          text-align: right; } }
  footer .footer_links a {
    padding: 0 15px;
    font-size: 14px;
    line-height: 14px;
    vertical-align: top;
    color: white; }
  @media only screen and (max-width: 768px) {
      footer .footer_links a {
        color: #5d5d5d; } }

address {
  padding: 23px;
  font-size: 12px;
  line-height: 14px;
  text-align: center;
	margin-bottom: 120px; }

.pageTopContents {
  z-index: 2000; }

.pageTop--icon {
  position: fixed;
  bottom: 50px;
  right: 10%;
  max-width: 65px;
  max-height: 65px;
  transition: all 0.6s 0s ease;
  -webkit-transition: all 0.6s 0s ease;
  -moz-transition: all 0.6s 0s ease;
  -o-transition: all 0.6s 0s ease;
  z-index: 2000; }
  @media only screen and (max-width: 768px) {
  .pageTop--icon {
    display: none;
    bottom: 20px;
    right: 10px;
    width: 16%;
    height: auto; } }

.home__info {
  padding: 70px 0 50px;
  font-size: 14px;
  line-height: 14px; }
  @media only screen and (max-width: 768px) {
  .home__info {
    padding: 50px 0 35px; } }
  .home__info--list {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    padding-top: 12px;
    padding-right: 2.0em;
    padding-bottom: 12px;
    padding-left: 0;
    border-bottom: dotted 1px #bfbfbf;
    position: relative; }
    .home__info--list::after {
      content: ">>";
      position: absolute;
      right: 0.5em;
      color: #0096ff;
      top: 50% }
  @media only screen and (max-width: 768px) {
    .home__info--list {
      display: block;
      padding: 10px 0; } }
  .home__info dt {
    /* display: flex; */
    /* display: -webkit-flex; */
    /* display: -ms-flexbox; */
    /* -webkit-box-pack: justify; */
    /* -ms-flex-pack: justify; */
    /* align-items: center; */
    /* -webkit-box-align: center; */
    /* -ms-flex-align: center; */
    margin-right: 20px;
    white-space: nowrap; }
  .home__info dd {
    line-height: 1.6em;
    width: 100%; }
  @media only screen and (max-width: 768px) {
    .home__info dt {
      margin-bottom: 5px; }
    .home__info dd {
      padding-right: 2em; } }
  .home__info--category {
    /* width: 70px; */
    margin-left: 20px;
    padding: 3px 0;
    background-color: #f6f6f6;
    text-align: center;
    font-size: 11px; }
  .home__info dd a {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    font-size: 14px;
    font-weight: bold;
    color: #0096ff;
    text-decoration: underline; }
  @media only screen and (max-width: 768px) {
      .home__info dd a {
        font-weight: normal;
        color: #0096ff; }
        .home__info dd a .home__info--text {
          text-decoration: underline; } }
  .home__info--new {
    width: 34px;
    margin-left: 10px;
    padding: 2px 0 3px;
    background-color: #d70a17;
    font-size: 12px;
    line-height: 12px;
    text-align: center;
    color: white; }

.home__concept {
  padding: 70px;
  background-color: #f1f0e0; }
  @media only screen and (max-width: 768px) {
  .home__concept {
    padding: 30px 20px; } }
  .home__concept--listBox {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center; }
  @media only screen and (max-width: 768px) {
    .home__concept--listBox {
      flex-wrap: wrap; } }
  .home__concept--list {
    height: auto; }
  .home__concept--list:nth-child(1) .thmbnail {
    background-image: url('../img/home/concept_img01.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .home__concept--list:nth-child(2) .thmbnail {
    background-image: url('../img/home/concept_img02.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .home__concept--list:nth-child(3) .thmbnail {
    background-image: url('../img/home/concept_img03.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .home__concept--list:nth-child(4) .thmbnail {
    background-image: url('../img/home/concept_img04.png');
    background-repeat: no-repeat;
    background-position: center center; }
    @media only screen and (max-width: 768px) {
      .home__concept--list:nth-child(4) .thmbnail {
        background-color: #f1f6ef; } }
  @media only screen and (max-width: 768px) {
    .home__concept--list {
      width: 48%; } }
  .home__concept--list .thmbnail {
    width: 220px;
    height: 220px;
    margin: 0 auto;
    background-color: #f6f6f6;
    border: solid 10px white;
    border-radius: 50%; }
  @media only screen and (max-width: 768px) {
      .home__concept--list .thmbnail {
        border: solid 3px white;
        margin: 0 auto; } }
  @media only screen and (max-width: 480px) {
      .home__concept--list .thmbnail {
        width: 160px;
        height: 160px; } }
  .home__concept--list dl {
    max-width: 180px;
    margin: 15px auto 10px; }
  .home__concept--list dt {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    text-align: center; }
  .home__concept--list dd {
    font-size: 13px;
    line-height: 22px; }

.home__menu {
  padding: 70px 70px 54px; }
  @media only screen and (max-width: 768px) {
  .home__menu {
    padding: 30px 20px; } }
  .home__menu--listBox {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    flex-wrap: wrap; }
  .home__menu--list {
    width: 300px;
    height: auto;
    margin-bottom: 35px; }
  .home__menu--list:nth-child(1) .thmbnail {
    background-image: url('../img/home/menu_img01.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .home__menu--list:nth-child(2) .thmbnail {
    background-image: url('../img/home/menu_img02.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .home__menu--list:nth-child(3) .thmbnail {
    background-image: url('../img/home/menu_img03.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .home__menu--list:nth-child(4) .thmbnail {
    background-image: url('../img/home/menu_img04.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .home__menu--list:nth-child(5) .thmbnail {
    background-image: url('../img/home/menu_img05.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .home__menu--list:nth-child(6) .thmbnail {
    background-image: url('../img/home/menu_img06.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  @media only screen and (max-width: 768px) {
    .home__menu--list {
      width: 48%; } }
  .home__menu--list .thmbnail {
    width: 300px;
    height: 140px;
    margin: 0 auto;
    background-color: #f6f6f6;
    border: solid 1px #a6937c; }
  @media only screen and (max-width: 768px) {
      .home__menu--list .thmbnail {
        width: 100%;
        height: 100px;
        min-height: 75px;
        border: solid 3px #fff6f6;
        margin: 0 auto; } }
  .home__menu--list dl {
    margin: 15px auto 10px; }
  .home__menu--list dt {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    text-align: center; }
  .home__menu--list dd {
    font-size: 13px;
    line-height: 22px; }
  .home__menu .box-btn {
    margin-bottom: 0; }

.home__useScene {
  padding: 50px 0 60px;
  background-color: #f1f0e0; }
  @media only screen and (max-width: 768px) {
  .home__useScene {
    padding: 30px 20px;
    background-color: transparent; } }
  .home__useScene--listBox {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    flex-wrap: wrap; }
  .home__useScene--list {
    position: relative;
    width: 220px;
    height: auto;
    margin-bottom: 35px; }
  .home__useScene--list:nth-child(1) .thmbnail {
    background-image: url('../img/home/useScene_img01.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .home__useScene--list:nth-child(2) .thmbnail {
    background-image: url('../img/home/useScene_img02.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .home__useScene--list:nth-child(3) .thmbnail {
    background-image: url('../img/home/useScene_img03.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .home__useScene--list:nth-child(4) .thmbnail {
    background-image: url('../img/home/useScene_img04.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .home__useScene--list:nth-child(5) .thmbnail {
    background-image: url('../img/home/useScene_img05.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .home__useScene--list:nth-child(6) .thmbnail {
    background-image: url('../img/home/useScene_img06.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .home__useScene--list:nth-child(7) .thmbnail {
    background-image: url('../img/home/useScene_img07.png');
    background-repeat: no-repeat;
    background-position: center left;
    background-size: cover; }
  .home__useScene--list:nth-child(8) .thmbnail {
    background-image: url('../img/home/useScene_img08.png');
    background-repeat: no-repeat;
    background-position: center right;
    background-size: cover; }
  @media only screen and (max-width: 768px) {
    .home__useScene--list {
      width: 48%;
      margin-bottom: 15px; } }
  .home__useScene--list a {
    overflow: hidden;
    display: block; }
  .home__useScene--list .thmbnail {
    overflow: hidden;
    width: 220px;
    height: 220px;
    margin: 0 auto;
    background-color: #f6f6f6; }
  @media only screen and (max-width: 768px) {
      .home__useScene--list .thmbnail {
        width: 100%;
        height: 100px;
        min-height: 75px;
        border: solid 3px #fff6f6;
        margin: 0 auto; } }
  .home__useScene--list .catch {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 18px;
    background-color: rgba(75, 62, 46, 0.9);
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    color: white; }
  @media only screen and (max-width: 768px) {
      .home__useScene--list .catch {
        position: relative;
        padding: 10px 0;
        background-color: transparent;
        font-size: 14px;
        color: #5d5d5d; } }

.info__listBox {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: flex-start;
  -webkit-justify-content: flex-start;
  flex-wrap: wrap; }
  .info__listBox .info__list {
    width: 300px;
    margin-right: 50px;
    margin-bottom: 50px;
    background-color: #f6f6f6; }
  .info__listBox .info__list:nth-child(3n) {
    margin-right: 0; }
  @media only screen and (max-width: 768px) {
    .info__listBox .info__list {
      margin: 0 auto 30px; }
      .info__listBox .info__list:nth-child(3n) {
        margin: 0 auto 30px; } }
  .info__listBox .info__list--thmbnail {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 150px; }
  .info__listBox .info__list--thmbnail img {
    display: block;
    max-width: 100%;
    height: auto;
    width: auto;
    margin: 0 auto; }
  .info__listBox .info__list--thmbnail img {
    transition: -webkit-transform 400ms;
    transition: -ms-transform 400ms;
    transition: -moz-transform 400ms;
    transition: transform 400ms; }
  .info__listBox .info__list--thmbnail:hover img {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -moz-transform: scale(1.1);
    transform: scale(1.1); }
  .info__listBox .info__list--thmbnail__new {
    font-family: 'Noto Sans JP', sans-serif;
    position: absolute;
    top: 5px;
    right: 5px;
    width: 60px;
    height: 30px;
    background: #d70a17;
    font-size: 14px;
    font-weight: bold;
    line-height: 30px;
    text-align: center;
    color: white; }
  .info__listBox .info__list--inner {
    padding: 30px; }
  .info__listBox .info__list--pics {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    margin-bottom: 15px; }
  .info__listBox .info__list--pics__days {
    margin-right: 20px;
    font-size: 14px; }
  .info__listBox .info__list--pics__category {
    width: 70px;
    padding: 3px 0;
    background-color: white;
    text-align: center;
    font-size: 11px;
    font-weight: bold; }
  .info__listBox .info__list--text dt {
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 20px;
    font-weight: bold; }
  .info__listBox .info__list--text dd {
    font-size: 13px;
    line-height: 20px; }

.sns-parts {
  background-color: #f1f0ee; }
  .sns-parts ul {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    padding: 16px 20px; }
  .sns-parts ul li {
    height: 20px; }
  .sns-parts__fb {
    margin-right: 10px; }
  .sns-parts__twi {
    margin-right: 22px; }

.shop__kv .kv--container {
  position: relative; }
  .shop__kv--title {
    position: absolute;
    top: 0;
    width: 100%;
    padding: 35px 0;
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    z-index: 30; }
  @media only screen and (max-width: 768px) {
    .shop__kv--title {
      padding: 15px 0; } }
  .shop__kv--area {
    margin-bottom: 18px;
    font-size: 26px;
    font-weight: bold;
    text-align: center; }
  @media only screen and (max-width: 768px) {
    .shop__kv--area {
      margin-bottom: 10px;
      font-size: 18px; } }
  @media only screen and (max-width: 480px) {
    .shop__kv--area {
      margin-bottom: 5px;
      font-size: 14px; } }
  .shop__kv--shopName {
    font-size: 40px;
    font-weight: bold;
    text-align: center; }
  @media only screen and (max-width: 768px) {
    .shop__kv--shopName {
      font-size: 24px; } }
  @media only screen and (max-width: 480px) {
    .shop__kv--shopName {
      font-size: 20px; } }
  .shop__kv .kv--slider .prev_con button {
    height: 550px; }
  .shop__kv .kv--slider .next_con button {
    height: 550px; }

.shop-announce {
  margin-bottom: 50px;
  padding: 16px 0;
  border: solid 5px #f1f0ee;
  font-size: 20px;
  font-weight: bold;
  text-align: center; }
  @media only screen and (max-width: 768px) {
  .shop-announce {
    margin: 0 15px 30px;
    padding: 15px;
    font-size: 16px;
    line-height: 1.4; } }

.shop__area-list-link a {
  margin: 20px auto 50px;
  display: block;
  width: 300px;
  padding: 15px 20px;
  background-color: #ff6600;
  font-weight: bold;
  text-align: center;
  color: white;
  -webkit-box-shadow: 0px 3px 5px rgba(50, 50, 50, 0.5);
  -moz-box-shadow: 0px 3px 5px rgba(50, 50, 50, 0.5);
  box-shadow: 0px 3px 5px rgba(50, 50, 50, 0.5);
  position: relative;
}
.shop__area-list-link-arrow-bottom {
  display: inline-block;
  transform: rotate(270deg);
  position: absolute;
  left: 60px;
  top: 20px;
}
.shop__area-list-link-arrow-left {
  display: inline-block;
  position: absolute;
  left: 60px;
  top: 15px;
}
.shop__area-search {
  background: #f1f0e0;
  margin: auto;
  text-align: center;
  padding: 10px 20px;
  margin-bottom: 30px;
}
.shop__area-search p {
  margin-bottom: 10px;
}
.search-member-form__input {
  height: 50px;
  padding: 0 50px 0 20px;
  width: 600px;
  border: 1px solid #ccc;
  border-radius: 30px;
  vertical-align: top;
  outline: none;
}
.search-member-form__button {
  margin-left: -30px;
  width: 125px;
  height: 50px;
  line-height: 50px;
  border: 1px solid #ccc;
  border-radius: 0 30px 30px 0;
  color: #fff;
  vertical-align: top;
  font-size: 18px;
  outline: none;
  cursor: pointer;
  background: url(/img/members/search.png) #7a6a56 no-repeat 15px 16px;
  background-size: 20px;
}
.shop__area-search-no-result {
  display: none;
  text-align: center;
  margin-bottom: 50px;
  color: red;
}
.shop__area-map {
  margin: 0 auto 50px;
  width: 500px;
  height: 500px;
  background: url(/img/members/japan.png) no-repeat;
  background-size: contain;
  position: relative;
}
.shop__area-map-link {
  margin: 20px auto 30px;
  position: absolute;
  display: block;
  width: 150px;
  padding: 10px 0;
  background-color: #ff6600;
  font-weight: bold;
  text-align: center;
  color: white;
  font-size: 13px;
  border-radius: 30px;
  -webkit-box-shadow: 0px 3px 5px rgba(50, 50, 50, 0.5);
  -moz-box-shadow: 0px 3px 5px rgba(50, 50, 50, 0.5);
  box-shadow: 0px 3px 5px rgba(50, 50, 50, 0.5);
}
.shop__area-map-link-hokkaido-tohoku {
  top: 110px;
  right: -10px;
}
.shop__area-map-link-kanto {
  top: 280px;
  right: -20px;
}
.shop__area-map-link-chubu {
  top: 350px;
  right: 20px;
}
.shop__area-map-link-kinki {
  top: 220px;
  right: 240px;
}
.shop__area-map-link-chugoku-shikoku {
  top: 400px;
  right: 180px;
}
.shop__area-map-link-kyushu-okinawa {
  top: 330px;
  right: 400px;
}
.shop__area-list-blocks {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.shop__area-list-block {
  width: 30%;
  margin-bottom: 20px;
}
.shop__area-list-block-title {
  background: #f1f0ee;
  padding: 15px;
  margin-bottom: 20px;
}
.shop__area-list-block li {
  margin-bottom: 13px;
  color: #aaa;
}
.shop__area-banners {
  text-align: center;
}
.shop__area-banner {
  margin-bottom: 30px;
}
.shop__area-banner a {
  max-width: 100%;
}
.shop__area-list-block-appeal {
  color: red;
  margin-left: 10px;
  font-size: 14px;
}
.shop__area-title {
  text-align: center;
  margin-bottom: 50px;
  font-size: 32px;
  font-weight: bold;
}
.shop__area-area-list, .shop__area-pref-list {
  text-align: center;
  margin-bottom: 40px;
}
.shop__area-area-list span, .shop__area-pref-list span {
  display: inline-block;
  margin: 0 10px 10px 0;
  color: #aaa;
}
.shop__area-table-appeal {
  width: 80%;
}

.shop__area-table {
  width: 100%;
  table-layout: fixed;
  margin-bottom: 40px;
  border-top: 1px solid #bfbfbf;
  border-bottom: 1px solid #bfbfbf;
  border-collapse: collapse; }
  .shop__area-table caption {
    margin-bottom: 16px;
    font-size: 26px;
    font-weight: bold; }
  .shop__area-table .shop__contact-btn a {
    display: block;
    width: 140px;
    padding: 10px 0;
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 12px;
    background-color: #ff6600;
    border-radius: 3px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    color: white;
    position: relative; }
  .shop__area-table .shop__contact-btn a:before {
    content: "\25b6";
    color: #fff;
    position: absolute;
    height: 50%;
    left: 12px; }
  .shop__area-table .shop__contact-btn a.tenpo-hp {
      margin-bottom: 1.8em; }

.shop__area-table tr {
  border-top: 1px solid #bfbfbf; }

.shop__area-table th {
  background-color: #f1f0ee;
  font-size: 15px;
  font-weight: bold;
  padding: 19px 12px;
  text-align: left; }

.shop__area-table td {
  padding: 19px 12px;
  word-break: break-all;
  font-size: 15px; }

@media only screen and (max-width: 768px) {
  .shop__area-search {
    padding: 10px 5px;
  }
  .shop__area-search p {
    font-size: 13px;
  }
  .search-member-form__input {
    width: 220px;
    height: 30px;
    padding: 0 20px 0 10px;
    font-size: 13px;
  }
  .search-member-form__button {
    margin-left: -20px;
    width: 75px;
    height: 30px;
    line-height: 30px;
    font-size: 14px;
    background: url(/img/members/search.png) #7a6a56 no-repeat 6px 9px;
    background-size: 13px;
  }
  .shop__area-map {
    display: none;
    margin: 0 auto 50px;
    width: 300px;
    height: 300px;
  }
  .shop__area-map-link {
    width: 100px;
    padding: 5px 0;
    font-size: 11px;
  }
  .shop__area-map-link-hokkaido-tohoku {
    top: 50px;
    right: 20px;
  }
  .shop__area-map-link-kanto {
    top: 150px;
    right: 10px;
  }
  .shop__area-map-link-chubu {
    top: 200px;
    right: 30px;
  }
  .shop__area-map-link-kinki {
    top: 130px;
    right: 150px;
  }
  .shop__area-map-link-chugoku-shikoku {
    top: 230px;
    right: 130px;
  }
  .shop__area-map-link-kyushu-okinawa {
    top: 180px;
    right: 210px;
  }
  .shop__area-list-block {
    width: 100%;
  }
  .shop__area-table .shop__contact-btn.shop__area-table-appeal-btn a {
    max-width: 50%;
  }
  .shop__area-table thead {
    display: none; }
    .shop__area-table tr {
      display: block; }
    .shop__area-table th {
      display: block;
      margin-bottom: 20px; }
    .shop__area-table tbody tr {
      margin-bottom: 20px; }
    .shop__area-table td {
      display: block;
      padding: 0 12px 19px;
      text-align: left; }
      .shop__area-table td::before {
        content: attr(data-label);
        float: left;
        font-weight: bold; }
      .shop__area-table .shop__name::before {
          margin-right: 20px;
      }
      .shop__area-table .shop__region::before {
          width: 100%;
      }
      .shop__area-table td:first-child {
        padding: 19px 12px; }
      .shop__area-table td.shop__contact-btn {
        padding: 0;
		text-align: center; }
        .shop__area-table td.shop__contact-btn::before {
          content: ''; }
        .shop__area-table td.shop__contact-btn a {
          margin: 0 auto;
          display: inline-block;
          max-width: 45%; }
        .shop__area-table .shop__contact-btn a.tenpo-hp {
          margin-bottom: 0;
          margin-right: 1.5em; } }

.item__container {
  overflow: hidden;
  margin: 1em auto;
  text-align: left; }
  @media only screen and (max-width: 768px) {
  .item__container {
    overflow: hidden;
    width: 100%;
    padding-bottom: 20px;
    font-size: 0.8em; }
    .item__container label {
      position: relative;
      width: calc(100% / 3);
      padding: 10px 0.5em;
      font-size: 12px; } }
  .item__container > input[type='radio'] {
    display: none;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    -webkit-appearance: none;
    appearance: none; }
  .item__container > label {
    float: left;
    position: relative;
    display: inline-block;
    width: 32%;
    margin-right: 2%;
    margin-bottom: 30px;
    padding: 30px 0;
    background: #f6f6f6;
    border-radius: 10px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    cursor: pointer; }
  .item__container > label.item__tab_3 {
    margin-right: 0; }

.item__tabpanel {
  clear: both;
  display: none;
  margin-top: 30px;
  animation-duration: 0.5s;
  animation-name: fade-in;
  -moz-animation-duration: 0.5s;
  -moz-animation-name: fade-in;
  -webkit-animation-duration: 0.5s;
  -webkit-animation-name: fade-in;
  /* font
*----------------------------*/ }

#itemSection_1:checked ~ .item__tabpanel.panel-1, #itemSection_2:checked ~ .item__tabpanel.panel-2, #itemSection_3:checked ~ .item__tabpanel.panel-3 {
  display: block;
  animation-duration: 0.5s;
  animation-name: fade-in;
  -moz-animation-duration: 0.5s;
  -moz-animation-name: fade-in;
  -webkit-animation-duration: 0.5s;
  -webkit-animation-name: fade-in;
  /* font
*----------------------------*/ }

#itemSection_1:checked ~ label.item__tab_1, #itemSection_2:checked ~ label.item__tab_2, #itemSection_3:checked ~ label.item__tab_3 {
  background: white;
  box-shadow: 0 0 0 5px #4b3e2e inset;
  /* tab end */ }
  #itemSection_1:checked ~ label.item__tab_1:after, #itemSection_2:checked ~ label.item__tab_2:after, #itemSection_3:checked ~ label.item__tab_3:after {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 50%;
    margin-left: -12px;
    border-top: 12px solid #4b3e2e;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent; }

.item__pageNavi {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  margin-bottom: 53px;
  background-color: #f1f0ee;
  border: solid 5px #f1f0ee; }
  @media only screen and (max-width: 768px) {
  .item__pageNavi {
    display: block; } }
  .item__pageNavi dt {
    width: 20%;
    max-width: 175px;
    min-width: 175px;
    font-weight: bold;
    text-indent: -5px;
    font-size: 15px;
    text-align: center; }
  @media only screen and (max-width: 768px) {
    .item__pageNavi dt {
      width: 100%;
      max-width: 100%;
      min-width: 100%;
      padding: 18px 0;
      text-indent: 0; } }
  .item__pageNavi dd {
    width: 80%;
    padding: 18px 30px;
    background-color: white;
    font-size: 16px; }
  @media only screen and (max-width: 768px) {
    .item__pageNavi dd {
      width: 100%;
      padding: 18px 10px; } }
  .item__pageNavi dd .item__pageNavi--listBox {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center; }
  @media only screen and (max-width: 768px) {
      .item__pageNavi dd .item__pageNavi--listBox {
        justify-content: center;
        -webkit-justify-content: center;
        flex-wrap: wrap; } }
  .item__pageNavi dd .item__pageNavi--listBox li {
    position: relative; }
    .item__pageNavi dd .item__pageNavi--listBox li::after {
      content: '';
      position: absolute;
      top: 2px;
      right: -17px;
      width: 1px;
      height: 15px;
      background-color: #4b3e2e; }
    .item__pageNavi dd .item__pageNavi--listBox li:last-child::after {
      content: '';
      position: absolute;
      right: 17px;
      width: 1px;
      height: 15px;
      background-color: transparent; }
    @media only screen and (max-width: 768px) {
      .item__pageNavi dd .item__pageNavi--listBox li {
        padding: 0 15px;
        margin-bottom: 10px; }
        .item__pageNavi dd .item__pageNavi--listBox li::after {
          content: '';
          position: absolute;
          top: 2px;
          right: 0;
          width: 1px;
          height: 15px;
          background-color: #4b3e2e; } }
  .item__pageNavi dd .item__pageNavi--listBox a {
    text-decoration: underline; }

.item__section {
  transition: all 0.3s 0s ease;
  -webkit-transition: all 0.3s 0s ease;
  -moz-transition: all 0.3s 0s ease;
  -o-transition: all 0.3s 0s ease; }
  .item__section--listBox {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
    .item__section--listBox {
      padding: 0 15px; } }
  @media only screen and (max-width: 639px) {
    .item__section--listBox {
      display: block; } }
  .item__section--list {
    width: 30%;
    max-width: 250px;
    margin-right: 25px;
    margin-bottom: 60px; }
  .item__section--list:nth-child(3n) {
    margin-right: 0; }
  @media only screen and (min-width: 1001px) {
    .item__section--list {
      max-width: 250px; } }
  @media only screen and (max-width: 639px) {
    .item__section--list {
      width: 100%;
      margin: 0 auto; }
      .item__section--list:nth-child(3n) {
        margin-right: 0;
        margin: 0 auto; }
      .item__section--list:nth-child(2n) {
        margin-right: 0;
        margin: 0 auto; } }
  .item__section--list .thmbnail {
    margin-bottom: 14px; }
  .item__section--list .listTitle {
    margin-bottom: 1px;
    font-size: 15px;
    line-height: 22px; }
  .item__section--list .price {
    margin-bottom: 10px;
    font-size: 15px;
    font-weight: bold;
    line-height: 22px;
    color: #d70a17; }
  .item__section--list .detailTxt {
    max-width: 220px;
    margin-bottom: 5px;
    font-size: 13px;
    line-height: 20px;
    word-break: break-all;
    letter-spacing: 0.01em; }
  @media only screen and (max-width: 768px) {
      .item__section--list .detailTxt {
        max-width: 100%; } }
  .item__section--list .btn a.in-btn {
    margin-top: 0;
    margin-bottom: 0; }

.item__useFlow {
  margin-bottom: 80px;
  background-color: white;
  border: solid 5px #f1f0ee; }
  .item__useFlow h5 {
    background-color: #f1f0ee;
    font-size: 20px;
    font-weight: bold;
    line-height: 50px;
    text-align: center; }
  .item__useFlow h4 {
    background-color: #f1f0ee;
    font-size: 20px;
    font-weight: bold;
    line-height: 50px;
    text-align: center; }
  .item__useFlow--container {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    padding: 30px; }
  @media only screen and (max-width: 768px) {
    .item__useFlow--container {
      flex-wrap: wrap; } }
  .item__useFlow--list {
    position: relative;
    width: 160px;
    margin-right: 30px; }
  .item__useFlow--list:last-child {
    margin-right: 0; }
  .item__useFlow--list:last-child::after {
    display: none;
    border-top: solid 3px transparent;
    border-right: solid 3px transparent; }
  .item__useFlow--list::after {
    position: absolute;
    right: -18px;
    top: 70px;
    content: '';
    display: block;
    width: 17px;
    height: 17px;
    border-top: solid 3px #c9c5c0;
    border-right: solid 3px #c9c5c0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
  @media only screen and (max-width: 768px) {
    .item__useFlow--list {
      width: 100%;
      margin-right: 0;
      margin-bottom: 50px; }
      .item__useFlow--list:last-child {
        margin-bottom: 0; }
      .item__useFlow--list::after {
        position: absolute;
        right: 46%;
        top: auto;
        bottom: -27px;
        content: '';
        display: block;
        width: 17px;
        height: 17px;
        border-top: solid 3px #c9c5c0;
        border-right: solid 3px #c9c5c0;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg); } }
  .item__useFlow--list .thmbnail {
    position: relative;
    margin-bottom: 10px; }
  .item__useFlow--list dt {
    margin-bottom: 5px;
    font-size: 15px;
    font-weight: bold;
    line-height: 22px; }
  .item__useFlow--list dd {
    font-size: 13px;
    line-height: 20px; }

.item-parts .parts-3colmn .caption {
  width: 220px;
  letter-spacing: 0.01em;
  word-break: break-all; }
  @media only screen and (max-width: 768px) {
      .item-parts .parts-3colmn .caption {
        width: 100%; } }

.concept__2columnTable {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: flex-start;
  -webkit-justify-content: flex-start;
  flex-wrap: wrap;
  margin-bottom: 20px; }
  .concept__2columnTable dl {
    width: calc(100% / 2);
    border-bottom: solid 1px #bfbfbf; }
  .concept__2columnTable dl:first-child {
    border-right: solid 1px #bfbfbf; }
  @media only screen and (max-width: 768px) {
      .concept__2columnTable dl {
        width: 100%; }
        .concept__2columnTable dl:first-child {
          border-top: solid 1px #bfbfbf;
          border-right: none; } }
  .concept__2columnTable dl dt {
    margin-bottom: 20px;
    background-color: #f1f0ee;
    border-bottom: solid 1px #bfbfbf;
    font-size: 15px;
    font-weight: bold;
    line-height: 50px;
    text-align: center; }
  .concept__2columnTable dl dd ul {
    margin-bottom: 30px; }
    .concept__2columnTable dl dd li:last-child {
      margin-bottom: 0; }

.concept__1columnTable {
  margin-bottom: 30px;
  border-top: solid 1px #bfbfbf; }
  .concept__1columnTable dl {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    flex-wrap: wrap;
    border-bottom: solid 1px #bfbfbf; }
  .concept__1columnTable dl dt {
    width: calc(100% / 2);
    padding: 0 19px;
    background-color: #f1f0ee;
    font-size: 15px;
    font-weight: bold;
    line-height: 50px; }
  @media only screen and (max-width: 768px) {
      .concept__1columnTable dl dt {
        width: 100%; } }
  .concept__1columnTable dl dd {
    width: calc(100% / 2);
    padding: 0 29px;
    line-height: 50px; }
  @media only screen and (max-width: 768px) {
      .concept__1columnTable dl dd {
        width: 100%; } }

.appFlow-parts p:last-child {
  margin-bottom: 0; }
  .appFlow-parts p a {
    display: inline-block;
    font-weight: bold;
    text-decoration: underline; }
  .appFlow-parts p .telNumber {
    display: block;
    margin-top: 20px; }
    .appFlow-parts p .telNumber a {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 30px;
      font-weight: 700;
      line-height: 30px;
      letter-spacing: 0.02em;
      text-decoration: none;
      color: #d70a17; }
  .appFlow-parts p .in-btn {
    margin-top: 0; }
    @media only screen and (max-width: 768px) {
      .appFlow-parts p .in-btn {
        margin-bottom: 0 !important; } }
  @media only screen and (max-width: 768px) {
      .appFlow-parts .parts-bottomSankaku {
        display: block;
        margin-bottom: 50px;
        padding-bottom: 20px; } }
  .appFlow-parts .parts-2colmn__col:first-child {
    margin-bottom: 0; }
  @media only screen and (max-width: 768px) {
      .appFlow-parts .parts-2colmn__col {
        margin-bottom: 50px; } }
  .appFlow--stepTitle {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    margin-bottom: 18px; }
  .appFlow--stepTitle h3 {
    margin-bottom: 0; }
  .appFlow--stepTitle__number {
    display: block;
    max-width: 100px;
    min-width: 100px;
    margin-right: 12px;
    background: #4b3e2e;
    border-radius: 50px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 40px;
    text-align: center;
    letter-spacing: 0.02em;
    color: white; }

.company-parts {
 word-break: break-all;
}
.company-parts h3 {
  margin-bottom: 10px; }
  .company-parts > dl {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    border-top: solid 1px #bfbfbf; }
  .company-parts > dl:first-child {
    margin-top: 30px; }
  .company-parts > dl:last-child {
    border-bottom: solid 1px #bfbfbf;
    margin-bottom: 60px; }
  @media only screen and (max-width: 768px) {
      .company-parts > dl {
        display: block; } }
  .company-parts > dl dt {
    width: 250px;
    padding: 20px;
    background-color: #f1f0ee;
    font-size: 15px;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .company-parts > dl dt {
        width: 100%; } }
  .company-parts > dl dd {
    padding: 20px;
    font-size: 15px;
    line-height: 22px; }
    @media only screen and (max-width: 768px) {
      .company-parts > dl dd {
        width: 100%; } }
    .company-parts > dl dd h4.innerTitle {
      margin-bottom: 0;
      line-height: 22px; }
    .company-parts > dl dd p {
      margin-bottom: 20px;
      line-height: 22px; }
      .company-parts > dl dd p:last-child {
        margin-bottom: 0; }
    .company-parts > dl dd .position {
      display: inline-block;
      width: 90px; }

.price__pageNavi {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  margin-bottom: 53px;
  background-color: #f1f0ee;
  border: solid 5px #f1f0ee; }
  @media only screen and (max-width: 768px) {
  .price__pageNavi {
    display: block; } }
  .price__pageNavi dt {
    width: 20%;
    max-width: 175px;
    min-width: 175px;
    font-weight: bold;
    text-indent: -5px;
    font-size: 15px;
    text-align: center; }
  @media only screen and (max-width: 768px) {
    .price__pageNavi dt {
      width: 100%;
      max-width: 100%;
      min-width: 100%;
      padding: 18px 0;
      text-indent: 0; } }
  .price__pageNavi dd {
    width: 80%;
    padding: 18px 15px;
    background-color: white;
    font-size: 16px; }
  @media only screen and (max-width: 768px) {
    .price__pageNavi dd {
      width: 100%;
      padding: 18px 10px; } }
  .price__pageNavi dd ul {
    width: 80%; }
  @media only screen and (max-width: 768px) {
      .price__pageNavi dd ul {
        width: 100%; } }
  .price__pageNavi dd .price__pageNavi--listBox {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
      .price__pageNavi dd .price__pageNavi--listBox {
        justify-content: center;
        -webkit-justify-content: center;
        flex-wrap: wrap; } }
  .price__pageNavi dd .price__pageNavi--listBox li {
    position: relative;
    padding: 0 15px;
    margin-bottom: 10px; }
    .price__pageNavi dd .price__pageNavi--listBox li::after {
      content: '';
      position: absolute;
      top: 2px;
      right: 0;
      width: 1px;
      height: 15px;
      background-color: #4b3e2e; }
    .price__pageNavi dd .price__pageNavi--listBox li:last-child::after {
      content: '';
      position: absolute;
      right: 17px;
      width: 1px;
      height: 15px;
      background-color: transparent; }
  .price__pageNavi dd .price__pageNavi--listBox a {
    text-decoration: underline; }

.price__area-table {
  width: 100%;
  table-layout: fixed;
  margin-bottom: 40px;
  border-bottom: 1px solid #bfbfbf;
  border-collapse: collapse; }
  .price__area-table tr {
    border-top: 1px solid #bfbfbf; }
  @media only screen and (max-width: 768px) {
    .price__area-table tr {
      display: block;
      margin-bottom: 20px;
      padding-top: 20px; } }
  .price__area-table th {
    background-color: #f1f0ee;
    font-size: 15px;
    font-weight: bold;
    padding: 17px 12px;
    text-align: left; }
  .price__area-table th:nth-child(2) {
    text-align: center; }
  @media only screen and (max-width: 768px) {
    .price__area-table th {
      display: block;
      margin-bottom: 20px; } }
  .price__area-table td {
    padding: 17px 12px;
    word-break: break-all;
    font-size: 15px;
    line-height: 1.2; }
  .price__area-table td:nth-child(2) {
    padding-right: 45px;
    font-weight: bold;
    text-align: right;
    color: #d70a17; }
  @media only screen and (max-width: 768px) {
      .price__area-table td:nth-child(2) {
        padding-right: 12px; } }
  .price__area-table td:nth-child(2) a {
    text-decoration: underline;
    color: #d70a17; }
  .price__area-table td:nth-child(3) {
    padding-right: 130px;
    font-weight: bold;
    text-align: right;
    color: #d70a17; }
  @media only screen and (max-width: 768px) {
      .price__area-table td:nth-child(3) {
        padding-right: 12px; } }
  @media only screen and (max-width: 768px) {
    .price__area-table td {
      display: block;
      padding: 10px 12px;
      text-align: right; }
      .price__area-table td::before {
        content: attr(data-label);
        float: left;
        font-weight: bold; } }
  @media only screen and (max-width: 768px) {
  .price__area-table thead {
    display: none; } }
  .price__area-table .innnerLink {
    padding-right: 25px !important; }
  @media only screen and (max-width: 768px) {
    .price__area-table .innnerLink {
      padding-right: 12px !important; } }

.faq--listBlock {
  margin-bottom: 60px; }
  .faq--accordionList {
    border-bottom: solid 1px #c9c5c0;
    text-align: left;
    cursor: pointer; }
  .faq--list__q {
    position: relative;
    padding: 27px 0 27px 50px;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s 0s ease;
    -webkit-transition: all 0.3s 0s ease;
    -moz-transition: all 0.3s 0s ease;
    -o-transition: all 0.3s 0s ease; }
  .faq--list__q::before {
    content: 'Q';
    position: absolute;
    left: 0;
    top: 17px;
    width: 40px;
    height: 40px;
    background-color: #4b3e2e;
    border-radius: 100%;
    font-size: 18px;
    line-height: 40px;
    text-align: center;
    color: white; }
  .faq--list__q::after {
    position: absolute;
    right: 0;
    top: 17px;
    display: block;
    width: 20px;
    height: 20px;
    border-top: solid 3px #c9c5c0;
    border-right: solid 3px #c9c5c0;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    transition: all 0.3s 0s ease;
    -webkit-transition: all 0.3s 0s ease;
    -moz-transition: all 0.3s 0s ease;
    -o-transition: all 0.3s 0s ease; }
  .faq--list__q.open::after {
    position: absolute;
    right: 0;
    top: 24px;
    display: block;
    width: 20px;
    height: 20px;
    border-top: solid 3px #c9c5c0;
    border-right: solid 3px #c9c5c0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    transition: all 0.3s 0s ease;
    -webkit-transition: all 0.3s 0s ease;
    -moz-transition: all 0.3s 0s ease;
    -o-transition: all 0.3s 0s ease; }
  @media only screen and (max-width: 768px) {
    .faq--list__q {
      padding: 20px 25px 20px 40px;
      font-size: 18px;
      line-height: 1.5; }
      .faq--list__q::before {
        width: 30px;
        height: 30px;
        font-size: 14px;
        line-height: 30px; } }
  .faq--list__a {
    position: relative;
    display: none;
    padding: 0 10px 24px 100px;
    font-size: 15px;
    line-height: 30px; }
  .faq--list__a::before {
    content: 'A';
    position: absolute;
    left: 50px;
    top: 0;
    width: 40px;
    height: 40px;
    background-color: #d70a17;
    border-radius: 100%;
    font-size: 18px;
    line-height: 40px;
    text-align: center;
    color: white; }
  @media only screen and (max-width: 768px) {
    .faq--list__a {
      padding: 0 10px 24px 80px; }
      .faq--list__a::before {
        left: 40px;
        width: 30px;
        height: 30px;
        font-size: 14px;
        line-height: 30px; } }

.contact--navi {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  margin-bottom: 30px; }
  .contact--navi li {
    position: relative;
    width: 32%;
    height: 80px;
    background-color: #f1f0ee;
    border-radius: 10px;
    font-size: 17px;
    font-weight: bold;
    line-height: 80px;
    text-align: center; }
  .contact--navi li::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -20px;
    width: 20px;
    height: 5px;
    margin-top: -2px;
    background-color: #f1f0ee; }
  .contact--navi li.here {
    background-color: #fbe6e7;
    box-shadow: 0 0 0 5px #d70a17 inset; }
    .contact--navi li.here::after {
      background-color: #d70a17; }
  .contact--navi li:last-child::after {
    display: none;
    background-color: transparent; }
  @media only screen and (max-width: 768px) {
      .contact--navi li {
        height: 40px;
        font-size: 10px;
        line-height: 40px; }
        .contact--navi li.here {
          box-shadow: 0 0 0 3px #d70a17 inset; } }
  .contact--tableBlock table {
    border-collapse: collapse;
    width: 100%;
    margin: 0 auto 30px; }
  .contact--tableBlock table tbody {
    border-top: solid 1px #bfbfbf; }
  .contact--tableBlock table tr {
    border-bottom: solid 1px #bfbfbf; }
  .contact--tableBlock table th {
    background: #f1f0ee;
    width: 250px;
    padding: 18px 17px;
    font-size: 15px;
    font-weight: bold;
    vertical-align: top;
    letter-spacing: -0.03em; }
  .contact--tableBlock table td {
    padding: 10px 18px;
    font-size: 15px;
    line-height: 22px; }
    @media only screen and (max-width: 768px) {
      .contact--tableBlock table td {
        padding: 18px 17px; } }
  .contact--tableBlock table input {
    padding: 0 5px;
    font-size: 15px;
    line-height: 30px; }
    .contact--tableBlock table input::placeholder {
      color: #999; }
    .contact--tableBlock table input:-ms-input-placeholder {
      color: #999; }
    .contact--tableBlock table input::-ms-input-placeholder {
      color: #999; }
  .contact--tableBlock table .form__input-text__30 {
    width: 150px; }
  .contact--tableBlock table .form__input-text__60 {
    width: 300px; }
  .contact--tableBlock table .form__input-text__100 {
    width: 100%; }
    .contact--tableBlock table .form__input-text__100::placeholder {
      color: #999; }
    .contact--tableBlock table .form__input-text__100:-ms-input-placeholder {
      color: #999; }
    .contact--tableBlock table .form__input-text__100::-ms-input-placeholder {
      color: #999; }
  .contact--tableBlock table select {
    padding: 3px 10px;
    font-size: 15px;
    background: #fff;
    border: 1px solid #aaa;
    border-radius: 3px;
    max-width: 300px;
  }
  .contact--tableBlock table .contact--form__selectBox {
    position: relative;}
    .contact--tableBlock table .contact--form__selectBox::before {
      position: absolute;
      right: 10px;
      top: 8px;
      content: "";
      border-style: solid;
      border-width: 6px 3px 0 3px;
      border-color: #4b3e2e transparent transparent transparent;
      pointer-events: none;
      -webkit-transform: rotate(180deg);
      transform: rotate(180deg);
      z-index: 1; }
    .contact--tableBlock table .contact--form__selectBox::after {
      position: absolute;
      right: 10px;
      bottom: 7px;
      content: "";
      border-style: solid;
      border-width: 6px 3px 0 3px;
      border-color: #4b3e2e transparent transparent transparent;
      pointer-events: none;
      z-index: 1; }
    .contact--tableBlock table .contact--form__selectBox select {
      outline: none;
      -moz-appearance: none;
      text-indent: 0.01px;
      text-overflow: '';
      -webkit-appearance: button;
      -moz-appearance: button;
      appearance: button;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      height: 30px;
      padding: 0 5px;
      border: solid 1px #e2e2e2;
      background-color: #f6f6f6;
      width: 100%;
      border-radius: 5px;
      font-size: 15px;
      vertical-align: middle; }
    .contact--tableBlock table .contact--form__selectBox select::-ms-expand {
      display: none; }
    .contact--tableBlock table .contact--form__selectBox select:-moz-focusring {
      color: transparent;
      text-shadow: 0 0 0 #828c9a; }
  .contact--tableBlock table .contact__checkboxBox ul {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    flex-wrap: wrap; }
    .contact--tableBlock table .contact__checkboxBox li {
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: flex-start;
      -webkit-justify-content: flex-start;
      align-items: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      margin: 0 20px 8px 0;
      font-size: 14px;
      text-align: left; }
    .contact--tableBlock table .contact__checkboxBox input {
      display: none; }
    .contact--tableBlock table .contact__checkboxBox label {
      position: relative;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: flex-start;
      -webkit-justify-content: flex-start;
      align-items: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      line-height: 20px;
      cursor: pointer; }
      .contact--tableBlock table .contact__checkboxBox label span {
        position: relative;
        display: inline-block;
        width: 20px;
        height: 20px;
        margin: 0 5px 0 0;
        border: solid 1px #ccc;
        border-radius: 5px; }
      .contact--tableBlock table .contact__checkboxBox label p {
        margin-top: 2px; }
    .contact--tableBlock table .contact__checkboxBox label input:checked ~ span::before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 3px;
      left: 0;
      transform: rotate(45deg);
      width: 7px;
      height: 10px;
      margin: auto;
      border: 1px solid #383838;
      border-top: transparent;
      border-left: transparent; }
  .contact--tableBlock table .btn-setting-check {
    display: inline-block;
    width: 200px;
    margin: 30px 25px 0;
    padding: 15px 0;
    font-size: 18px;
    line-height: 1;
    border: none;
    border-radius: 25px;
    background-color: #383838;
    color: #fff;
    transition: 0.4s; }
  .contact--tableBlock table .form__checkboxBox > ul {
    display: flex;
    flex-wrap: wrap; }
    @media only screen and (max-width: 768px) {
      .contact--tableBlock table .form__checkboxBox > ul {
        display: block; } }
  .contact--tableBlock table .form__checkboxBox > ul li {
    padding: 0 20px 0 0; }
    @media only screen and (max-width: 768px) {
      .contact--tableBlock table .form__checkboxBox > ul li {
        width: 100%;
        padding: 10px;
        border-right: none;
        font-size: 0.8em; } }
  .contact--tableBlock table .contact__form--radio {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    flex-wrap: wrap; }
    .contact--tableBlock table .contact__form--radio__select {
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: flex-start;
      -webkit-justify-content: flex-start;
      align-items: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      margin: 0 20px 8px 0; }
    .contact--tableBlock table .contact__form--radio input {
      display: none; }
    .contact--tableBlock table .contact__form--radio label {
      position: relative;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: flex-start;
      -webkit-justify-content: flex-start;
      align-items: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      line-height: 20px;
      cursor: pointer; }
      .contact--tableBlock table .contact__form--radio label span {
        position: relative;
        display: inline-block;
        width: 20px;
        height: 20px;
        margin: 0 5px 0 0;
        border: solid 1px #ccc;
        border-radius: 100%; }
      .contact--tableBlock table .contact__form--radio label p {
        margin-top: 2px; }
    .contact--tableBlock table .contact__form--radio label input:checked ~ span::before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 8px;
      height: 8px;
      margin: auto;
      background: #383838;
      border-radius: 100%; }
  @media only screen and (max-width: 768px) {
    .contact--tableBlock table tr, .contact--tableBlock table th, .contact--tableBlock table td {
      display: block;
      width: auto; }
      .contact--tableBlock table th, .contact--tableBlock table td {
        border-top: none; }
      .contact--tableBlock table .form__input-text__30 {
        width:34%; }
      .contact--tableBlock table .form__input-text__60 {
        width: 100%; } }

.icon-required {
  display: block;
  font-size: 0;
  position: relative; }
  .icon-required::after {
    content: '必須';
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
    min-width: 32px;
    max-height: 15px;
    background-color: #d70a17;
    border-radius: 4px;
    font-size: 11px;
    font-weight: bold;
    text-align: center;
    line-height: 15px;
    color: white; }
  .icon-optional {
    display: block;
    font-size: 0;
    position: relative; }
  .icon-optional::after {
    content: '任意';
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
    min-width: 32px;
    max-height: 15px;
    background-color: #4b3e2e;
    border-radius: 4px;
    font-size: 11px;
    font-weight: bold;
    text-align: center;
    line-height: 15px;
    color: white; }

.chat-group {
  position: relative; }
  .chat-parts {
    position: relative;
    width: 100%;
    min-height: 100%;
    max-height: 100%;
    top: 0;
    height: auto;
    overflow: hidden;
    margin-bottom: auto;
    z-index: 1; }
  .chat-parts > section {
    width: 100%; }
  @media only screen and (max-width: 768px) {
    .chat--talkContainer {
      overflow-x: hidden;
      width: 100%; } }
  .chat--talkContainer > div {
    display: none;
    animation-duration: 0.5s;
    animation-name: fade-in;
    -moz-animation-duration: 0.5s;
    -moz-animation-name: fade-in;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-name: fade-in;
    /* font
*----------------------------*/ }
  .chat--talkContainer .chat__inquiry-parts-active {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    animation-duration: 0.5s;
    animation-name: fade-in;
    -moz-animation-duration: 0.5s;
    -moz-animation-name: fade-in;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-name: fade-in;
    /* font
*----------------------------*/ }
  .chat--talkContainer .active {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    animation-duration: 0.5s;
    animation-name: fade-in;
    -moz-animation-duration: 0.5s;
    -moz-animation-name: fade-in;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-name: fade-in;
    /* font
*----------------------------*/ }
  .chat--talkContainer .chat__inputAnswer-active {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    animation-duration: 0.5s;
    animation-name: fade-in;
    -moz-animation-duration: 0.5s;
    -moz-animation-name: fade-in;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-name: fade-in;
    /* font
*----------------------------*/
    max-width: 740px;
    margin: 0 20px 40px auto; }
  .chat--talkContainer .chat__inputAnswer-active span {
    position: relative;
    padding: 13px 20px 12px;
    background-color: #f1f0ee;
    border-radius: 20px 0 20px 20px;
    font-size: 15px;
    line-height: 30px;
    color: #4b3e2e; }
    .chat--talkContainer .chat__inputAnswer-active span::before {
      position: absolute;
      top: 0;
      right: -10px;
      content: '';
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 10px 10px 0 0;
      border-color: #f1f0ee transparent transparent transparent; }
  .chat--talkContainer .chat__inputAnswer-active#chat--photoAnswer {
    flex-direction: column;
    text-align: right; }
    .chat--talkContainer .chat__inputAnswer-active#chat--photoAnswer > div {
      display: inline;
      max-width: 540px;
      position: relative;
      margin: 0 0 20px auto;
      padding: 13px 20px 12px;
      background-color: #f1f0ee;
      border-radius: 20px 0 20px 20px; }
      .chat--talkContainer .chat__inputAnswer-active#chat--photoAnswer > div::before {
        position: absolute;
        top: 0;
        right: -10px;
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 10px 0 0;
        border-color: #f1f0ee transparent transparent transparent; }
      .chat--talkContainer .chat__inputAnswer-active#chat--photoAnswer > div p {
        display: inline;
        color: #4b3e2e; }
        @media only screen and (max-width: 768px) {
      .chat--talkContainer .chat__inputAnswer-active#chat--photoAnswer > div p {
        display: block;
        width: 200px;
        margin: 0 0 0 auto;
        word-break: break-all; } }
      .chat--talkContainer .chat__inputAnswer-active#chat--photoAnswer > div img {
        width: 100%;
        max-width: 500px;
        margin-bottom: 5px;
        height: auto; }
        @media only screen and (max-width: 768px) {
      .chat--talkContainer .chat__inputAnswer-active#chat--photoAnswer > div img {
        max-width: 200px; } }
  .chat--inputContainer {
    padding: 20px 0;
    background-color: white;
    z-index: 20; }
  .chat--inputContainer > div {
    animation-duration: 0.5s;
    animation-name: fade-in;
    -moz-animation-duration: 0.5s;
    -moz-animation-name: fade-in;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-name: fade-in;
    /* font
*----------------------------*/
    display: none; }
  .chat--inputContainer .chat__answerBlock-active {
    animation-duration: 0.5s;
    animation-name: fade-in;
    -moz-animation-duration: 0.5s;
    -moz-animation-name: fade-in;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-name: fade-in;
    /* font
*----------------------------*/
    display: block; }
  .chat__inquiry-parts {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    max-width: 448px;
    margin-bottom: 10px; }
  .chat__inquiry-parts .thmbnail {
    position: relative;
    overflow: hidden;
    width: 40px;
    height: 40px;
    margin-right: 20px;
    border: solid 2px #d70a17;
    border-radius: 100%; }
  .chat__inquiry-parts .thmbnail img {
    position: absolute;
    top: -3px;
    left: 3px;
    min-width: 31px;
    height: auto; }
  .chat__inquiry-parts .comment {
    position: relative;
    padding: 13px 20px 12px;
    background: #fbe6e7;
    border-radius: 0 20px 20px 20px;
    font-size: 15px;
    line-height: 30px;
    color: #4b3e2e; }
  .chat__inquiry-parts .comment::before {
    position: absolute;
    top: 0;
    left: -10px;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px 0;
    border-color: transparent #fbe6e7 transparent transparent; }
  @media only screen and (max-width: 768px) {
      .chat__inquiry-parts .comment {
        max-width: calc(100% - 60px); } }
  .chat__user-parts {
    max-width: 740px;
    margin: 0 0 0 auto;
    font-size: 15px;
    line-height: 30px;
    color: #4b3e2e; }
  .chat__user-parts button {
    align-self: flex-end;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    display: inline-block;
    width: 80px;
    max-height: 48px;
    background-color: #4b3e2e;
    border: none;
    border-radius: 50px;
    font-size: 15px;
    font-weight: bold;
    line-height: 48px;
    text-align: center;
    text-decoration: none;
    color: white;
    transition: all 0.3s 0s ease;
    -webkit-transition: all 0.3s 0s ease;
    -moz-transition: all 0.3s 0s ease;
    -o-transition: all 0.3s 0s ease;
    cursor: pointer; }
  .chat__user-parts button:hover {
    opacity: 0.6;
    filter: alpha(opacity=0.6);
    -ms-filter: "alpha(opacity=0.6)";
    -moz-opacity: 0.6;
    -khtml-opacity: 0.6;
    zoom: 1; }
  @media only screen and (max-width: 768px) {
      .chat__user-parts button {
        display: block;
        width: 100%;
        margin: 10px auto 0; } }
  .chat_group-check ul {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
      .chat_group-check ul {
        flex-direction: column;
        -webkit-flex-direction: column; } }
  .chat_group-check ul li {
    margin: 0 5px 5px 0; }
    @media only screen and (min-width: 1001px) {
      .chat_group-check ul li:last-child {
        margin: 0 0 5px 0; } }
  .chat_group-check input {
    display: none; }
  .chat_group-check label {
    position: relative;
    font-size: 15px;
    line-height: 30px;
    color: #4b3e2e;
    cursor: pointer; }
  .chat_group-check label span {
    position: relative;
    display: block;
    padding: 7px 24px 8px 40px;
    background-color: white;
    border: solid 1px #4b3e2e;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s 0s ease;
    -webkit-transition: all 0.3s 0s ease;
    -moz-transition: all 0.3s 0s ease;
    -o-transition: all 0.3s 0s ease; }
    .chat_group-check label span::before {
      content: "";
      position: absolute;
      top: 16px;
      left: 24px;
      width: 13px;
      height: 13px;
      background-color: #4b3e2e;
      border-radius: 3px; }
    .chat_group-check label span:hover {
      background-color: #f1f0ee;
      border: 1px solid #f1f0ee; }
  .chat_group-check input:checked + span {
    background-color: #f1f0ee;
    border: 1px solid #f1f0ee; }
  .chat_group-check input:checked + span::after {
    content: "";
    display: block;
    position: absolute;
    top: 17px;
    left: 28px;
    transform: rotate(45deg);
    width: 5px;
    height: 8px;
    margin: auto;
    border: 2px solid white;
    border-top: transparent;
    border-left: transparent; }
  .chat_group-photo ul {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
      .chat_group-photo ul {
        flex-direction: column;
        -webkit-flex-direction: column; } }
  @media only screen and (max-width: 768px) {
        .chat_group-photo ul li {
          min-width: 48%; } }
  .chat_group-photo .chat_group-uploadButton {
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0 5px 5px 0;
    background-color: white;
    border: solid 1px #4b3e2e;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s 0s ease;
    -webkit-transition: all 0.3s 0s ease;
    -moz-transition: all 0.3s 0s ease;
    -o-transition: all 0.3s 0s ease; }
  .chat_group-photo .chat_group-uploadButton span {
    display: block;
    padding: 7px 20px 8px 45px;
    font-size: 15px;
    line-height: 30px;
    color: #4b3e2e;
    cursor: pointer; }
    .chat_group-photo .chat_group-uploadButton span:hover {
      cursor: pointer; }
    .chat_group-photo .chat_group-uploadButton span::before {
      content: url('../img/chat/photo_icon.png');
      position: absolute;
      top: 8px;
      left: 21px; }
  .chat_group-photo .chat_group-uploadButton:hover {
    background-color: #f1f0ee;
    border: 1px solid #f1f0ee;
    cursor: pointer; }
  .chat_group-photo .chat_group-uploadButton.on {
    background-color: #f1f0ee;
    border: 1px solid #f1f0ee; }
  .chat_group-photo .chat_group-uploadButton input[type=file] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    visibility: hidden; }
  .chat_group-photo .chat_group-uploadButton input[type=text], .chat_group-photo .chat_group-uploadButton input[type=email], .chat_group-photo .chat_group-uploadButton input[type=tel] {
    display: none;
    margin: -17px 15px 10px 20px;
    background: transparent;
    border: none;
    color: #4b3e2e;
    cursor: pointer; }
  .chat_group-radio ul {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
      .chat_group-radio ul {
        flex-direction: column;
        -webkit-flex-direction: column; } }
  @media only screen and (max-width: 768px) {
        .chat_group-radio ul li {
          min-width: 48%; } }
  .chat_group-radio input {
    display: none; }
  .chat_group-radio label {
    position: relative;
    font-size: 15px;
    line-height: 30px;
    color: #4b3e2e;
    cursor: pointer; }
  .chat_group-radio label span {
    position: relative;
    display: block;
    margin: 0 5px 5px 0;
    padding: 7px 30px 8px;
    background-color: white;
    border: solid 1px #4b3e2e;
    border-radius: 50px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s 0s ease;
    -webkit-transition: all 0.3s 0s ease;
    -moz-transition: all 0.3s 0s ease;
    -o-transition: all 0.3s 0s ease; }
    .chat_group-radio label span:hover {
      background-color: #f1f0ee;
      border: 1px solid #f1f0ee;
      cursor: pointer; }
  .chat_group-radio input:checked + span {
    background-color: #f1f0ee;
    border: 1px solid #f1f0ee; }
  .chat_group-text .chat__user-parts {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    flex-wrap: wrap;
    align-content: flex-end; }
  @media only screen and (max-width: 768px) {
      .chat_group-text .chat__user-parts {
        width: 100%;
        justify-content: space-between;
        -webkit-justify-content: space-between; } }
  .chat_group-text input[type=text], .chat_group-text input[type=email], .chat_group-text input[type=tel] {
    min-width: 300px;
    margin-right: 5px;
    padding: 0 15px;
    border: solid 1px #4b3e2e;
    border-radius: 5px;
    font-size: 15px;
    line-height: 30px; }
  .chat_group-text input[type=text]::placeholder, .chat_group-text input[type=email]::placeholder, .chat_group-text input[type=tel]::placeholder {
    color: #999; }
  .chat_group-text input[type=text]:-ms-input-placeholder, .chat_group-text input[type=email]:-ms-input-placeholder, .chat_group-text input[type=tel]:-ms-input-placeholder {
    color: #999; }
  .chat_group-text input[type=text]::-ms-input-placeholder, .chat_group-text input[type=email]::-ms-input-placeholder, .chat_group-text input[type=tel]::-ms-input-placeholder {
    color: #999; }
  @media only screen and (max-width: 768px) {
      .chat_group-text input[type=text], .chat_group-text input[type=email], .chat_group-text input[type=tel] {
        min-width: 100%;
        margin-right: 0;
        padding: 5px; } }
  .chat_group-text textarea {
    width: 100%;
    max-width: 500px;
    margin-right: 5px;
    padding: 0 5px;
    border: solid 1px #4b3e2e;
    border-radius: 5px;
    font-size: 15px;
    line-height: 30px; }
  .chat_group-text textarea::placeholder {
    color: #999; }
  .chat_group-text textarea:-ms-input-placeholder {
    color: #999; }
  .chat_group-text textarea::-ms-input-placeholder {
    color: #999; }
  @media only screen and (max-width: 768px) {
      .chat_group-text textarea {
        min-width: 100%;
        margin-right: 0;
        padding: 5px; } }
  @media only screen and (max-width: 768px) {
      .chat_group-season ul {
        flex-direction: column;
        -webkit-flex-direction: column; } }

.dnone {
  display: none; }

.sceneSummary {
  margin-bottom: 65px;
  background-color: white;
  border: solid 5px #f1f0ee; }
  .sceneSummary h5 {
    background-color: #f1f0ee;
    font-size: 20px;
    font-weight: bold;
    line-height: 50px;
    text-align: center; }
  .sceneSummary--container {
    padding: 40px 30px 0 40px; }
  @media only screen and (max-width: 480px) {
    .sceneSummary--container {
      padding: 20px 20px 0; } }
  @media only screen and (max-width: 480px) {
    .sceneSummary--container h3 {
      font-size: 22px; }
      .sceneSummary--container ul {
        margin-left: 0; } }

.scene--voice {
  margin-bottom: 60px;
  padding: 60px 0 20px;
  background-color: #f1f0e0; }
  .scene--voice h2 {
    margin-bottom: 36px; }
  .scene--voice h3 {
    margin-bottom: 5px;
    font-size: 20px; }
  .scene--voice h4 {
    margin-bottom: 5px;
    font-size: 15px;
    line-height: 26px; }

.sceneSummary--right h5 {
  position: relative; }
  .sceneSummary--right h5 span {
    margin-right: 10px; }
    @media only screen and (max-width: 480px) {
      .sceneSummary--right h5 span {
        display: block;
        width: 76%;
        padding: 10px 0 10px 15px;
        line-height: 1.5;
        text-align: left; } }
  .sceneSummary--right h5 img {
    position: absolute;
    bottom: 0; }
    @media only screen and (max-width: 480px) {
      .sceneSummary--right h5 img {
        right: 10px; } }
  .sceneSummary--left h5 {
    position: relative; }
  .sceneSummary--left h5 span {
    margin-left: 10px; }
    @media only screen and (max-width: 480px) {
      .sceneSummary--left h5 span {
        display: block;
        padding: 0 0 10px;
        line-height: 1.5; } }
  .sceneSummary--left h5 img {
    margin-top: -5px;
    vertical-align: middle; }
    @media only screen and (max-width: 480px) {
      .sceneSummary--left h5 img {
        left: 10px; } }
  .sceneSummary.scene03 {
    margin-bottom: 30px; }
  .sceneSummary.scene03:last-child {
    margin-bottom: 40px; }

.scene__pageNavi {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  margin-top: 38px;
  margin-bottom: 53px;
  background-color: #f1f0ee;
  border: solid 5px #f1f0ee; }
  @media only screen and (max-width: 768px) {
  .scene__pageNavi {
    display: block; } }
  .scene__pageNavi dt {
    width: 20%;
    max-width: 175px;
    min-width: 175px;
    font-weight: bold;
    text-indent: -5px;
    font-size: 15px;
    text-align: center; }
  @media only screen and (max-width: 768px) {
    .scene__pageNavi dt {
      width: 100%;
      max-width: 100%;
      min-width: 100%;
      padding: 18px 0;
      text-indent: 0; } }
  .scene__pageNavi dd {
    width: 80%;
    padding: 18px 15px;
    background-color: white;
    font-size: 16px; }
  @media only screen and (max-width: 768px) {
    .scene__pageNavi dd {
      width: 100%;
      padding: 18px 10px; } }
  .scene__pageNavi dd ul {
    width: 80%; }
  @media only screen and (max-width: 768px) {
      .scene__pageNavi dd ul {
        width: 100%; } }
  .scene__pageNavi dd .scene__pageNavi--listBox {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    flex-wrap: wrap;
    width: 100%; }
  @media only screen and (max-width: 768px) {
      .scene__pageNavi dd .scene__pageNavi--listBox {
        justify-content: center;
        -webkit-justify-content: center;
        flex-wrap: wrap; } }
  .scene__pageNavi dd .scene__pageNavi--listBox li {
    position: relative;
    padding: 0 15px;
    margin-bottom: 10px; }
    .scene__pageNavi dd .scene__pageNavi--listBox li::after {
      content: '';
      position: absolute;
      top: 2px;
      right: 0;
      width: 1px;
      height: 15px;
      background-color: #4b3e2e; }
    .scene__pageNavi dd .scene__pageNavi--listBox li:last-child::after {
      content: '';
      position: absolute;
      right: 17px;
      width: 1px;
      height: 15px;
      background-color: transparent; }
  .scene__pageNavi dd .scene__pageNavi--listBox a {
    text-decoration: underline; }

.scene-parts h3 {
  font-size: 20px; }
  .scene-parts .small {
    font-size: 12px; }
  .scene-parts table {
    max-width: 800px;
    margin-bottom: 30px; }
  .scene-parts table th {
    width: 376px; }
  @media only screen and (max-width: 768px) {
      .scene-parts table th {
        width: 100%; } }
  .scene-parts.faq--listBlock {
    margin-bottom: 60px; }
  .scene-parts .parts-3colmn__col {
    margin-bottom: 0; }
  .scene-parts .concept__2columnTable {
    border-top: solid 1px #bfbfbf; }
  .scene-parts .concept__2columnTable img {
    display: block;
    max-width: 300px;
    height: auto;
    margin: 0 auto 20px; }
  @media only screen and (max-width: 768px) {
    .scene-parts .concept__2columnTable {
      border-top: none; } }

.scene02 li a {
  text-decoration: underline; }

.beforAfter-parts {
  overflow: hidden; }
  .beforAfter-parts > div {
    float: left;
    width: 32.5%;
    margin-right: 1%;
    margin-bottom: 15px; }
  .beforAfter-parts > div:nth-child(3n) {
    margin-right: 0; }
  @media only screen and (max-width: 768px) {
  .beforAfter-parts > div {
    width: 100%;
    margin-right: 0; } }


.sitemap .c-list-parts {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  margin: 0 0 30px; }
.sitemap .list01 {
  margin: 10px 0;
  font-size: 24px;
  font-weight: bold; }
.sitemap .list02 {
  position: relative;
  width: 33%;
  margin: 10px 0 0 24px;
  font-size: 18px;}
.sitemap .list02:before {
  position: absolute;
  top: 1px;
  left: -20px;
  content: '>';
  color: #fff;
  padding: 1px 2px 2px 4px;
  background: #eee;
  border-radius: 10px;
  font-size: 12px;
}
.sitemap .list03 {
  width: 50%;
  margin: 10px 0;
  font-size: 24px;
  font-weight: bold; }

@media only screen and (max-width: 768px) {
  .sitemap .c-list-parts {
    display: block; }
  .sitemap .list02 {
    width: 100%; }
  .sitemap .list03 {
    width: 100%; } }
.home__strength {
  padding: 70px 0 50px;
  text-align: center; }
  .home__strength--listBox.wrap {
    max-width: 800px; }
  .home__strength--listBox._img {
    margin: 0 0 40px; }
    .home__strength--listBox._img img {
      max-width: 800px; }
      @media only screen and (max-width: 768px) {
        .home__strength--listBox._img img {
          max-width: 100%; } }

.home__ranking {
  padding: 50px 0;
  background-color: #f1f0e0; }
  @media only screen and (max-width: 768px) {
      .home__ranking {
        padding: 30px 5px;
      }
      .home__ranking a {
        display: flex;
        align-items: center;
      }
  }
  .home__ranking--listBox {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    flex-wrap: wrap; }
  .home__ranking--list {
    width: 300px;
    margin: 40px 0 35px;
    padding: 20px 10px;
    box-sizing: border-box;
    background: #fff; }
  @media only screen and (max-width: 768px) {
    .home__ranking--list {
      padding: 10px 5px;
      margin: 5px 0;
      width: 100%;
      box-shadow: 0px 3px 3px rgb(50 50 50 / 20%);
      border-radius: 0.5rem;
    }
  }
  .home__ranking--list .icon {
    width: 120px;
    margin: -70px auto 10px; }
    @media only screen and (max-width: 768px) {
      .home__ranking--list .icon {
        width: 30px;
        margin: 0 0 0 6px;
      }
    }
  .home__ranking--list .icon img {
    max-width: 100%; }
  .home__ranking--list .thmbnail {
    margin: 0 auto; }
  .home__ranking--list .thmbnail img {
    width: 100%; }
  @media only screen and (max-width: 768px) {
    .home__ranking--list .thmbnail {
      margin: 0;
      width: 95px; } }
  .home__ranking--list dl {
    margin: 15px auto 10px; }
  .home__ranking--list dt {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    text-align: center; }
  .home__ranking--list dd {
    font-size: 13px;
    line-height: 22px; }
  .home__ranking .box-btn {
    margin-bottom: 0; }
  @media only screen and (max-width: 768px) {
    .home__ranking dl {
        margin: 0 0 0 5px;
    }
    .home__ranking dt {
        margin: 0;
        font-size: 14px;
    }
  }
  @media only screen and (max-width: 320px) {
    .home__ranking dt {
        font-size: 10px;
    }
  }

.home__company {
padding: 70px;
word-break: break-all;
background-color: #f1f0e0; }
@media only screen and (max-width: 768px) {
.home__company {
  padding: 30px 20px; } }
.home__company--listBox {
  margin: 0 auto 20px;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-around;
  -webkit-justify-content: space-around;
  align-items: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .home__company--listBox {
      flex-wrap: wrap; } }
  .home__company--listBox._img {
    margin: 0 0 60px; }
    .home__company--listBox._img img {
      max-width: 100%; }

  @media only screen and (max-width: 768px) {
    .home__company--list {
      width: 100%; } }
  .home__company--list .thmbnail {
    width: 260px;
    height: 260px;
    margin: 0 auto;
    background-color: #f6f6f6;
    border: solid 10px white;
    border-radius: 50%;
    overflow: hidden; }
  @media only screen and (max-width: 768px) {
      .home__company--list .thmbnail {
        border: solid 3px white;
        margin: 0 auto; } }
    .home__company--list .thmbnail img {
      max-width: 100%; }
  @media only screen and (max-width: 480px) {
      .home__company--list .thmbnail {
        width: 80%;
        height: 80%;
        margin: 20px auto 0; } }
  .home__company--list dl {
    width: 240px;
    margin: 15px auto 10px; }
    @media only screen and (max-width: 768px) {
      .home__company--list dl {
        width: 100%; } }
  .home__company--list dt {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    text-align: center; }
  .home__company--list dd {
    font-size: 13px;
    line-height: 22px; }

.home__confidence {
  padding: 50px 0; }
  @media only screen and (max-width: 768px) {
  .home__confidence {
    padding: 30px 20px; } }
  .home__confidence--listBox {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    flex-wrap: wrap; }
  .home__confidence--list {
    width: 300px;
    margin: 40px 0 35px;
    padding: 20px 10px;
    box-sizing: border-box;
    background: #fef49c;
    border-radius: 6px; }
  @media only screen and (max-width: 768px) {
    .home__confidence--list {
      width: 100%; } }
  .home__confidence--list .icon {
    width: 80px;
    margin: -60px auto 10px; }
    @media only screen and (max-width: 768px) {
      .home__confidence--list .icon {
        width: 60px;
        margin: -50px auto 10px; } }
  .home__confidence--list .icon img {
    max-width: 100%; }
  .home__confidence--list dl {
    margin: 15px auto 10px; }
  .home__confidence--list dt {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    text-align: center; }
  .home__confidence--list dd {
    font-size: 13px;
    line-height: 22px; }
  .home__confidence .box-btn {
    margin-bottom: 0; }

.home__payment {
  padding: 50px 0;
  background-color: #f1f0e0; }
  @media only screen and (max-width: 768px) {
  .home__payment {
    padding: 30px 20px; } }
  .home__payment--listBox {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    flex-wrap: wrap; }
  .home__payment--list {
    width: 400px;
    margin: 20px 0 10px;
    padding: 20px 10px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 10px;
    text-align: center;
    font-weight: bold; }
  .home__payment--list img {
    max-width: 100%;
    text-align: center; }
  @media only screen and (max-width: 768px) {
    .home__payment--list {
      width: 100%;
      display: inline-table; } }
    .home__payment--list._annotation {
      position: relative;
    }
    .home__payment--list._annotation .txt {
      margin-top: 1em;
      bottom: -24px;
    }
    @media only screen and (max-width: 768px) {
      .home__payment--list._annotation .txt {
        font-size: 13px;
        bottom: -18px; } }

h3.h3 {
  margin: 20px 0 10px;
  font-size: 18px;
  font-weight: bold;
  text-align: center; }

/* トグルボタン */
  #acMenu .tgl_btn {
    display:block;
      -moz-transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      transform: rotate(0deg) 0.2s linear;
      -moz-transition: -moz-transform 0.2s linear;
      -webkit-transition: -webkit-transform 0.2s linear;
      -o-transition: -o-transform 0.2s linear;
      -ms-transition: -ms-transform 0.2s linear;
      transition: transform 0.2s linear;
    }
    #acMenu .tgl_btn img {
      width: 40px; }
    #acMenu .tgl_btn.arrow02 {
      -moz-transform: rotate(-180deg);
      -webkit-transform: rotate(-180deg);
      -o-transform: rotate(-180deg);
      -ms-transform: rotate(-180deg);
      transform: rotate(-180deg) 0.2s linear;
      -moz-transition: -moz-transform 0.2s linear;
      -webkit-transition: -webkit-transform 0.2s linear;
      -o-transition: -o-transform 0.2s linear;
      -ms-transition: -ms-transform 0.2s linear;
      transition: transform 0.2s linear; }
  #acMenu .tgl_txt {
    display:none; }

.nav-follow {
  display: none; }
  .nav-follow .nav-display {
    display: none; }
  @media only screen and (max-width: 768px) {
    .nav-listBox {
      position: fixed;
      width: 100%;
      bottom: 0px;
      z-index: 1000; }
    .nav-follow {
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: flex-start;
      -webkit-justify-content: flex-start;
      align-items: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      opacity: 0.9;
      z-index: 1010;
	    flex-wrap: wrap;
    	justify-content: space-between; }
    .nav-follow .txt2 {
      color: #fff;
      font-size: 18px;
      font-weight: bold;
			letter-spacing: 0.2em; } }

      .nav-follow .follow-list .txt1 {
        font-weight: bold;
				color: #fff;
				letter-spacing: 0.2em;
				font-size: 16px; }
      .nav-follow .follow-list .follow-detail {
        display: flex;
        display: -webkit-flex;
        display: -ms-flexbox;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: flex-start;
        -webkit-justify-content: flex-start;
        align-items: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        background: #fff; }
      .nav-follow.list-open .nav-display {
        display: block; }
      .nav-follow .nav-display {
        width: calc(33.3% - 1px);
  			height: 60px;
  			top: 60px; }

.nav-follow.nav2 .nav-display {
  width: calc(50% - 1px);
  height: 60px;
  top: 60px; }

.nav-follow__inner {
  display: flex;
  height: 60px;
  align-items: center;
  justify-content: center;
  background-color: rgba(221, 0, 17, 0.8); }

.nav-follow .txt2 {
  margin-left: 10px; }
      .nav-follow .follow-list.clicked img._del1 {
        display: none; }
      .nav-follow .follow-list img._del2 {
        display: none;
        margin: 0 auto; }
      .nav-follow .follow-list.clicked img._del2 {
        display: block; }
    .faq--list__selecter {
      text-align: center;
      margin-bottom: 2.6em; }
    .faq--list__selecter p {
      display: inline-block;
      font-size: 20px;
      font-weight: bold; }
    .faq--list__selecter select {
      margin-left: 1em;
      font-size: 20px;
      font-weight: bold; }
      @media only screen and (max-width: 480px) {
        .faq--list__selecter p {
          display: block;
          font-size: 18px; }
        .faq--list__selecter select {
			font-size: 18px;
        }
      }

.bge-contents {
	word-break: break-all;
}
.bge-contents .bge-sp-textarea a {
	color: #0096ff;
}
#ui-datepicker-div {
	z-index: 10 !important;
}
.follow-list {
  position: relative;
	border-top: 2px solid #fff;
  height: 60px; }

.follow-list.simulation {
  position: relative;
  width: 100%;
  z-index: 10;
  display: flex;
  align-items: center;
  background-color: #2962ae; }
  .follow-list.simulation img {
    display: block;
    max-width: 100%;
    max-height: 100%; }

.follow-list.contact {
  position: relative;
  background-color: rgba(221, 0, 17, 0.8);
  width: calc(50% - 1px);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 300ms;
  z-index: 30; }
  .follow-list.contact img {
    width: 50px; }

.follow-list.menu {
  position: relative;
  background-color: rgba(214, 10, 23, 0.8);
  width: calc(50% - 1px);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 300ms;
  z-index: 30; }
  .follow-list.menu img {
    width: 50px; }

@media only screen and (max-width: 768px) {
  .header_navi--container {
    display: block !important;
    backface-visibility: hidden;
    -webki-backface-visibility: hidden;
    transition: left 300ms ease-in;
    left: 100%; }
    .header_navi--container.is_open {
      left: 0; }
		.nav-listBox {
			padding: 0 2px;
			background-color: #fff; }
    .nav-listBox .nav-display {
      display: block; }
    .nav-listBox .pt1 {
      position: absolute !important;
      left: 0;
      width: 100%;
      bottom: 0;
      z-index: 10;
      opacity: 0;
      transition: all 300ms;
			background-color: #fff; }
		.nav-listBox .pt1 {
			bottom: 0;
			border-top: 2px solid #fff; }
		.nav-listBox .pt1.list-open {
			opacity: 1;
			bottom: 60px; }
		.nav-follow.pt2 {
				position: fixed !important;
				top: 100%;
				left: 0;
				width: 100%;
				height: 60px;
				z-index: 10;
				opacity: 0;
				transition: all 500ms;
				background-color: #fff;}
		.nav-follow.pt2.list-open {
			opacity: 1;
			display: block;
			top: 0;
			width: 100%;
			height: calc(100vh - 120px);
			background-color: #fff;
			position: relative;
			z-index: 20; }

    .nav-listBox .pt3 {
      display: none !important; }
    .nav-listBox .nav-follow {
      position: relative;
      z-index: 20; }
      .nav-listBox .nav-follow.list-open .nav-display {
        top: -88px; } }

				#pt1.clicked {
					background-color: #a9a9a9;
					width: 100%; }
					#pt1.clicked .txt1 {
						display: none; }
					#pt1.clicked img {
						width: 18px; }

				.nav-follow.menu_open #pt3 {
					width: 0; }
					.nav-follow.menu_open #pt3 img {
						display: none; }
					.nav-follow.menu_open #pt3 .txt1 {
						display: none; }

				#pt2.clicked {
					background-color: #323333;
					display: flex;
					align-items: center; }
					#pt2.clicked img {
						width: 100%; }

				#pt3.clicked {
					background-color: #a9a9a9; }
					#pt3.clicked .txt1 {
						display: none; }
					#pt3.clicked img {
						width: 18px; }

				.simulation-menu {
					width: 100%;
					height: 100%;
					box-sizing: border-box;
					overflow-y: scroll; }
					.simulation-menu__title {
						margin-bottom: 25px;
						background-color: #fff; }
						.simulation-menu__title img {
							display: block;
							margin: 0 auto;
							max-width: 100%; }
					.simulation-menu__text {
						margin-bottom: 25px;
						text-align: center;
						font-size: 15px;
						line-height: 1.33; }
					.simulation-menu__list {
						margin-bottom: 40px;
						padding: 35px 20px;
						background-color: #F1F0DF; }
						.simulation-menu__list li {
							width: 100%;
							max-width: 300px;
							margin: 0 auto;
							box-shadow: 0 3px 6px rgb(0 0 0 / 16%);
						}
						.simulation-menu__list li + li {
							margin-top: 25px;
						}
						.simulation-menu__list li a {
							display: block; }
						.simulation-menu__list li img {
							display: block;
							margin: 0 auto;
							max-width: 100%; }
					.simulation-menu__btn {
						display: block;
						width: 100%;
						max-width: 300px;
						margin: 0 auto 130px;
						color: #fff;
						text-align: center;
						background-color: #507EB7;
						padding: 17px 0;
						font-size: 13px;
						border-radius: 30px;
						font-weight: bold;}

				@media only screen and (max-width: 375px) {
					.nav-follow .follow-list .txt1 {
						font-size: 12px; }
					.nav-follow .txt2 {
						font-size: 12px; } }
				body.is-fixed {
					overflow: hidden;
				}
				.simulation-menu header {
					position: relative;}
