@charset "UTF-8";
.inner {
  width: 100%;
  margin: 0 auto;
  padding: 8rem 0 0; }

.innner, .ttl_h1b, .f_sub .breadcrumb, .f_sub .copyRight, .fm {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 8rem 0; }

.pc_none {
  display: none; }

@media (max-width: 768px) {
  .inner {
    padding: 4rem 0; }

  .sp_none {
    display: none; }

  .pc_none {
    display: block; } }
body {
  color: #3a3a3a; }

a {
  color: #0c0c0c; }

@media (min-width: 800px) {
  a[href^="tel:"] {
    pointer-events: none; } }
.flex, .breadcrumb, .flexB, .flexC, .formStep, .comp .box_btn, .top_nav, .top_nav > div, .flexW, .flexS {
  display: flex;
  align-items: center; }

.flexB {
  justify-content: space-between; }

.flexC, .formStep, .comp .box_btn, .top_nav, .top_nav > div {
  justify-content: center; }

.flexW {
  flex-wrap: wrap; }

.flexS {
  justify-content: space-around; }

.wrap {
  flex-direction: column;
  min-height: 100vh; }

main {
  flex: 1 0 auto;
  min-height: 0%; }

header, footer {
  flex: 0 0 auto; }

.btn1 {
  position: relative;
  display: block;
  padding: 1.7rem 0;
  color: white;
  margin: 2rem auto;
  text-align: center;
  font-weight: bold;
  max-width: 350px;
  background: #0c0c0c;
  font-size: 1.142rem; }
  .btn1 span {
    font-size: 1rem; }
  .btn1::after {
    content: '';
    position: absolute;
    right: 1.3rem;
    bottom: 1rem;
    width: 130px;
    height: 10px;
    display: block;
    background-image: url(../images/arr_2.png);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
    -webkit-animation: btnArr 1.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0s infinite;
    animation: btnArr 1.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0s infinite; }

.btn2 {
  display: block;
  margin: 0 auto;
  width: 200px; }
  @media (min-width: 800px) {
    .btn2 {
      width: 250px; } }

.btn3 {
  text-align: center; }
  .btn3 a {
    display: inline-block;
    border: 1px solid;
    border-radius: 2em;
    padding: 1em 1.2em;
    line-height: 1; }

.btn4 {
  width: 100%;
  display: block;
  margin: 0 auto;
  height: 60px;
  line-height: 60px;
  background: #000;
  color: #fff;
  font-weight: bold;
  max-width: 700px;
  font-size: 1.143rem; }

.top-btn {
  position: relative;
  display: block;
  padding: .8rem 0;
  text-align: center;
  animation: entryBtn 4s ease infinite; }
  .top-btn::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 130px;
    height: 10px;
    display: block;
    background-image: url("../images/arr.png");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
    -webkit-animation: btnArr 1.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0s infinite;
    animation: btnArr 1.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0s infinite; }

@keyframes btnArr {
  0%, 5% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px);
    opacity: 0; }
  25%, 75% {
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
    opacity: 1; }
  95%, 100% {
    -webkit-transform: translateX(6px);
    transform: translateX(6px);
    opacity: 0; } }
.f-btn {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 100; }
  .f-btn button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none; }

.f-btn > div {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.75);
  cursor: pointer;
  z-index: 1;
  text-align: center;
  line-height: 50px;
  margin: .5rem 0;
  letter-spacing: .04em; }

.f-btn > div, .f-btn > div a, .f-btn > div button {
  color: white;
  font-weight: bold; }

.f-btn > div a, .f-btn > div button {
  font-size: .8em; }

.f-btn > div .icon.icon-arrow_up, .f-btn > div .icon.icon-telephone, .f-btn > div .icon.icon-reserved {
  fill: #fff;
  width: 50%;
  height: 100%;
  display: block;
  margin: 0 auto;
  line-height: 50px; }

.f-btn > div .icon.icon-reserved {
  width: 60%; }

.pageTop:hover, .sp-top div:hover {
  background-color: black; }

@media (max-width: 800px) {
  .sp-top {
    right: 10px; }
    .sp-top div {
      margin: .5rem 0; } }
.icon {
  display: inline-block;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
  width: 1.5rem;
  height: 1.5rem; }

.s-btn {
  text-align: center; }
  .s-btn .top-btn {
    display: inline-block;
    padding: 1rem 2rem; }

.s-inner {
  padding: 6rem 0;
  width: 100%;
  margin: 0 auto; }

@media (max-width: 800px) {
  .s-inner {
    padding: 5rem 2rem 4rem; } }
.new_area .sn-inner {
  /*display: flex;
  justify-content: center;
  align-items: center;*/
  margin-bottom: 2rem; }
.new_area h2 {
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: .2rem; }
  .new_area h2 span {
    display: block;
    font-size: 1.1rem;
    font-family: 'EB Garamond';
    line-height: 1; }
.new_area .new_list {
  max-width: 680px;
  margin: 0 auto;
  min-width: 320px; }
  .new_area .new_list div {
    margin-bottom: 1rem;
    flex-wrap: nowrap;
    align-items: flex-start; }
    .new_area .new_list div dt {
      min-width: 200px;
      color: #666666; }
      .new_area .new_list div dt span {
        background: #000;
        min-width: 100px;
        color: #fff;
        padding: 0 .3rem;
        margin: 0 .7rem;
        display: inline-block;
        text-align: center; }
    .new_area .new_list div dd {
      font-weight: bold; }

@media (max-width: 800px) {
  .new_area .new_list div {
    flex-direction: column; }
    .new_area .new_list div dt {
      min-width: 90px;
      margin-right: .5rem;
      margin-bottom: .3rem;
      font-size: 1.16rem; }
      .new_area .new_list div dt span {
        min-width: inherit;
        font-size: 1rem; } }
/*店舗紹介*/
.shop {
  /*.slick-dotted.slick-slider{margin-bottom: 0;}*/ }
  .shop .s-inner {
    overflow: hidden;
    align-items: flex-start;
    padding: 0; }
  .shop .inshop {
    width: calc(100% / 4);
    margin-bottom: 3rem; }
    .shop .inshop .inshop-pt {
      position: relative; }
      .shop .inshop .inshop-pt span {
        display: block;
        padding: .5rem 1rem;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background: rgba(255, 255, 255, 0.8);
        font-weight: bold;
        font-size: 1.2rem;
        text-align: center; }
    .shop .inshop a:link, .shop .inshop a:visited {
      display: block;
      overflow: hidden;
      transition: all 0.3s ease 0s; }
    .shop .inshop a:hover img {
      transform: scale(1.05); }
    .shop .inshop a img {
      width: 100%;
      height: auto;
      margin: 0;
      padding: 0;
      vertical-align: bottom;
      transition: all 0.3s ease 0s; }
    .shop .inshop dl {
      text-align: center;
      margin-top: 2rem;
      letter-spacing: .2rem; }
      .shop .inshop dl dt {
        font-weight: bold;
        font-size: 1.142rem;
        margin-bottom: .3rem; }
      .shop .inshop dl dd {
        font-size: .9rem; }

.clm3.shop .under-inner {
  align-items: flex-start; }
.clm3.shop .inshop {
  width: calc(100% / 3); }
  .clm3.shop .inshop dl {
    padding: 1rem 2rem;
    margin-top: 1rem; }
    .clm3.shop .inshop dl dt {
      margin-bottom: 1rem; }
    .clm3.shop .inshop dl dd {
      text-align: left; }

@media (max-width: 800px) {
  .shop {
    padding: 4rem 0; }
    .shop .s-inner {
      padding: 0 .5rem; }
      .shop .s-inner .inshop {
        margin-bottom: 0;
        width: 50%;
        padding: 1rem 5px; }
        .shop .s-inner .inshop a img {
          margin-bottom: .5rem; }
        .shop .s-inner .inshop dl {
          margin-top: 0; }
          .shop .s-inner .inshop dl dt {
            font-size: 1rem;
            margin-bottom: 0; }
    .shop .slick-slider .slick-track {
      margin-bottom: 2rem; }
    .shop .s-inner.slick {
      padding: 0; }

  .quality.shop .flexW {
    flex-direction: column; }
    .quality.shop .flexW .inshop {
      display: flex;
      align-items: flex-start;
      width: 100%; }
      .quality.shop .flexW .inshop img {
        width: 50%; }
      .quality.shop .flexW .inshop dl {
        margin-top: 0;
        width: 50%;
        padding: 0;
        padding-left: 1rem;
        text-align: left; }
  .quality.shop .s-inner .inshop:nth-child(even) img {
    order: 2; }
  .quality.shop .s-inner .inshop:nth-child(even) dl {
    order: 1;
    padding-right: 1rem;
    padding-left: 0; }

  .clm3.shop .under-inner {
    align-items: flex-start;
    padding: 0; } }
/*空間の演出*/
.space .s-inner {
  overflow: hidden;
  align-items: flex-start;
  padding: 0; }
.space .inshop {
  width: calc(100% / 3); }
  .space .inshop img {
    margin-bottom: 2rem; }
  .space .inshop h4 {
    text-align: center;
    margin-bottom: 1rem;
    font-weight: bold;
    font-size: 1.142rem; }
  .space .inshop p {
    padding: 0 2rem 1rem;
    font-size: .9rem; }

@media (max-width: 800px) {
  .space {
    padding: 4rem 0; }
    .space .s-inner {
      flex-direction: column;
      padding: 0 .5rem; }
      .space .s-inner .inshop {
        width: 100%;
        margin-bottom: 2rem;
        overflow: hidden;
        padding: 0 .5rem; }
        .space .s-inner .inshop img {
          width: 100%;
          margin-bottom: 1rem; }
        .space .s-inner .inshop h4 {
          text-align: center;
          font-size: 1.2rem;
          margin-bottom: .5rem;
          line-height: 1.3; }
        .space .s-inner .inshop p {
          padding: 0;
          font-size: 1rem; }
        .space .s-inner .inshop:last-child {
          margin-bottom: 0; } }
/*こだわりの逸品*/
.feauture {
  padding: 6rem 0 2rem; }
  .feauture .ft-inner {
    background: #000;
    margin-bottom: 3rem; }
    .feauture .ft-inner .slick-dotted.slick-slider {
      margin-bottom: 0; }
    .feauture .ft-inner .ft-left {
      width: 40%;
      color: #fff;
      padding: 2.85rem 4rem 4rem; }
      .feauture .ft-inner .ft-left .left-inner {
        max-width: 500px;
        margin: 0 auto; }
        .feauture .ft-inner .ft-left .left-inner dl {
          margin-bottom: 1rem; }
          .feauture .ft-inner .ft-left .left-inner dl dt {
            font-size: 2rem;
            line-height: 1; }
          .feauture .ft-inner .ft-left .left-inner dl dd {
            font-size: 1.42rem;
            min-width: 100px;
            text-align: right; }
    .feauture .ft-inner .ft-right {
      width: 60%;
      align-self: flex-start; }
  .feauture .slick-dots {
    bottom: -55px; }

.bk {
  background: #000; }
  .bk .left {
    width: 40%;
    color: #fff;
    padding: 2.85rem 4rem 4rem; }
    .bk .left dt {
      font-size: 2rem;
      margin-bottom: 2rem;
      font-weight: bold; }
    .bk .left dd p {
      margin-bottom: 1rem;
      font-size: 1rem; }
  .bk .right {
    width: 60%;
    align-self: stretch;
    position: relative; }
    .bk .right span {
      position: absolute;
      bottom: 0;
      left: 0;
      text-align: center;
      background: #fff;
      width: 100%;
      opacity: .8;
      padding: .5rem;
      font-weight: bold;
      font-size: 1.1rem; }

@media (min-width: 800px) and (max-width: 1000px) {
  .feauture .ft-inner .ft-left .left-inner dl {
    display: block; }
    .feauture .ft-inner .ft-left .left-inner dl dd {
      text-align: left; } }
@media (max-width: 800px) {
  .feauture {
    padding: 4rem 0; }
    .feauture .ft-inner {
      background: #fff;
      margin-bottom: 0; }
      .feauture .ft-inner div {
        flex-direction: column; }
      .feauture .ft-inner .specialty > div {
        margin-bottom: 2rem;
        background: #000;
        flex-direction: column; }
        .feauture .ft-inner .specialty > div:last-child {
          margin-bottom: 0; }
      .feauture .ft-inner .specialty .ft-left {
        width: inherit;
        order: 2; }
        .feauture .ft-inner .specialty .ft-left .left-inner dl {
          flex-direction: column; }
          .feauture .ft-inner .specialty .ft-left .left-inner dl dt {
            align-self: flex-start; }
          .feauture .ft-inner .specialty .ft-left .left-inner dl dd {
            align-self: flex-start;
            text-align: left; }
      .feauture .ft-inner .specialty .ft-right {
        align-self: flex-start;
        width: inherit;
        order: 1; }
    .feauture .bk {
      flex-direction: column; }
      .feauture .bk .left {
        width: 100%;
        order: 2; }
      .feauture .bk .right {
        width: 100%;
        order: 1; }

  .notslick.feauture .ft-inner .bk .left {
    padding: 2rem; }
    .notslick.feauture .ft-inner .bk .left dt {
      font-size: 1.6rem;
      margin-bottom: 0; }
  .notslick.feauture .ft-inner .ft-left {
    padding: 2rem; }
    .notslick.feauture .ft-inner .ft-left .left-inner dl dt {
      font-size: 1.6rem;
      font-weight: bold; } }
/*仕入れ・品質管理、空間の演出*/
.commitment {
  padding: 6rem 0 2rem; }
  .commitment .ft-inner {
    background: #000;
    margin-bottom: 3rem; }
    .commitment .ft-inner .slick-dotted.slick-slider {
      margin-bottom: 0; }
    .commitment .ft-inner .ft-left {
      width: 40%;
      color: #fff;
      padding: 2.85rem 4rem 4rem; }
      .commitment .ft-inner .ft-left .left-inner {
        max-width: 500px;
        margin: 0 auto; }
        .commitment .ft-inner .ft-left .left-inner .l-ttl_wrap {
          margin-bottom: 1rem; }
        .commitment .ft-inner .ft-left .left-inner .l-ttl {
          font-size: 2rem;
          line-height: 1; }
        .commitment .ft-inner .ft-left .left-inner dd {
          font-size: 1.42rem;
          min-width: 100px;
          text-align: right; }
    .commitment .ft-inner .ft-right {
      width: 60%;
      align-self: flex-start; }
  .commitment .slick-dots {
    bottom: -35px; }

@media (min-width: 800px) and (max-width: 1000px) {
  .commitment .ft-inner .ft-left .left-inner .l-ttl_wrap {
    display: block; }
  .commitment .ft-inner .ft-left .left-inner dd {
    text-align: left; } }
@media (max-width: 800px) {
  .commitment .ft-inner .ft-left .left-inner .l-ttl_wrap {
    flex-direction: column; }
  .commitment .ft-inner .ft-left .left-inner .l-ttl {
    align-self: flex-start; }
  .commitment .ft-inner .ft-left .left-inner dd {
    align-self: flex-start;
    text-align: left; }
  .commitment .ft-inner .ft-right {
    align-self: flex-start; } }
@media (max-width: 800px) {
  .commitment .ft-inner div {
    flex-direction: column; }
    .commitment .ft-inner div .ft-left {
      width: inherit;
      order: 2; }
    .commitment .ft-inner div .ft-right {
      width: inherit;
      order: 1; } }
.lnk_tel b {
  font-size: 1.3em; }
@media (max-width: 800px) {
  .lnk_tel {
    color: white !important;
    background: #666666;
    display: inline-block;
    padding: .4em 1em;
    border-radius: 3em;
    margin-bottom: .6em; } }

header {
  position: fixed;
  top: 0;
  display: flex;
  align-items: center;
  width: 100%;
  z-index: 100;
  padding: 1rem;
  height: 60px; }

.navWrap {
  width: 8em;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 2rem; }

.menu {
  position: absolute;
  right: 0;
  width: 100%;
  cursor: pointer;
  opacity: 0;
  backface-visibility: hidden;
  z-index: 5;
  overflow: hidden;
  transition: all .4s ease-in-out; }

.menu li {
  padding: .3rem 1rem;
  transition: all 0.3s; }

.menu li:hover {
  background: rgba(0, 0, 0, 0.75);
  color: white; }

.menu li:last-child {
  border: none; }

.menu li .icon {
  vertical-align: sub;
  margin-right: .5rem; }

.dropholder {
  width: 100%;
  position: relative;
  box-sizing: border-box;
  position: relative;
  font-size: 1.1rem;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-weight: 600; }

.dropholder:hover, .dropholder:hover:after {
  animation-play-state: paused; }

.dropholder:after {
  content: "";
  position: absolute;
  background: rgba(0, 0, 0, 0);
  display: block;
  top: 100px;
  left: 37px;
  margin: auto;
  border-radius: 50%; }

.dropdown {
  cursor: pointer;
  position: relative;
  padding: 0.5rem calc(1.75rem + 8px) 0.5rem 1rem;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 9999px; }
  .dropdown:after {
    position: absolute;
    display: block;
    content: '';
    width: 8px;
    height: 8px;
    top: 50%;
    right: 1em;
    margin-top: -3px;
    border-bottom: 1px solid black;
    border-right: 1px solid black;
    transform: rotate(45deg) translateY(-50%);
    transition: all .4s ease-in-out;
    transform-origin: 50% 0; }
  .dropdown.showMenu {
    border-radius: 1em 1em 0 0; }
    .dropdown.showMenu + .menu {
      opacity: 1;
      visibility: visible;
      pointer-events: all;
      background: rgba(255, 255, 255, 0.85);
      border-radius: 0 0 1em 1em; }

@media screen and (min-width: 800px) {
  .sns li .icon {
    width: 1.6rem;
    height: 1.6rem; }

  .f-sbnr ul {
    flex-flow: wrap; }

  .f-sbnr li {
    width: 300px; } }
footer .bnr {
  max-width: 500px;
  margin: 0 auto;
  padding: 2rem; }
  footer .bnr ul {
    flex-direction: column; }
    footer .bnr ul a {
      display: block;
      margin-bottom: 1rem; }
footer .f-nav {
  padding: 2rem; }
  footer .f-nav ul {
    flex-wrap: wrap; }
    footer .f-nav ul li {
      text-align: center;
      font-size: 1.3rem;
      font-weight: bold;
      flex-grow: 1;
      align-self: stretch;
      width: 50%; }
      footer .f-nav ul li span {
        display: block;
        font-size: 1.142rem;
        font-weight: normal; }
      footer .f-nav ul li a {
        display: block;
        padding: 1rem 0; }
footer .f-btm {
  background: url("../images/bg.gif") repeat; }
  footer .f-btm .f-inner {
    padding: 3.3rem 0 1.76rem; }
  footer .f-btm .f-sns {
    margin: 0 auto; }
    footer .f-btm .f-sns li {
      padding: .8rem; }
    footer .f-btm .f-sns .icon {
      width: 1.92em;
      height: 1.92em; }
  footer .f-btm .f-logo {
    max-width: 150px;
    margin: 0 auto 2rem; }
  footer .f-btm .footnav {
    flex-direction: column;
    margin-bottom: 2rem; }
    footer .f-btm .footnav dl {
      margin-bottom: 1rem;
      text-align: center; }
      footer .f-btm .footnav dl dt {
        font-weight: bold;
        margin-bottom: 1rem;
        font-size: 1.198rem; }
      footer .f-btm .footnav dl dd {
        margin-bottom: 1rem;
        font-size: 1.198rem; }
  footer .f-btm .copyRight {
    margin-bottom: 1em;
    text-align: center; }
@media (min-width: 800px) {
  footer .bnr {
    max-width: 1004px;
    padding: 4rem 0;
    margin-bottom: 0; }
    footer .bnr ul {
      flex-direction: row;
      flex-wrap: wrap; }
      footer .bnr ul li {
        width: 300px; }
      footer .bnr ul a {
        padding: 1rem; }
  footer .f-nav {
    max-width: 1004px;
    margin: 0 auto;
    padding: 4rem 0; }
    footer .f-nav ul {
      flex-wrap: nowrap; }
      footer .f-nav ul li {
        text-align: center;
        font-size: 1.2rem;
        font-weight: bold;
        flex-grow: 1;
        width: inherit;
        width: 250px; }
        footer .f-nav ul li:first-child {
          border-left: 1px solid #0c0c0c; }
        footer .f-nav ul li:last-child {
          border-right: 1px solid #0c0c0c; }
        footer .f-nav ul li span {
          display: block;
          font-size: 1.142rem;
          font-weight: normal; }
        footer .f-nav ul li a {
          display: block;
          padding: 0; }
      footer .f-nav ul li + li {
        border-left: 1px solid #0c0c0c;
        border-top: none; }
  footer .f-btm .f-logo {
    max-width: 250px; }
  footer .f-btm .footnav {
    flex-direction: row;
    align-items: flex-start; }
  footer .f-btm .f-sns li {
    padding: 1rem; }
  footer .f-btm .f-sns .icon {
    width: 3rem;
    height: 3rem; } }

.breadcrumb {
  white-space: nowrap;
  overflow: auto;
  line-height: 1;
  border-top: 1px solid;
  padding: 0 .6rem; }
  .breadcrumb li {
    height: 40px;
    line-height: 40px; }
  .breadcrumb a {
    display: inline-block;
    padding: 0 .4rem; }
  @media (min-width: 800px) {
    .breadcrumb {
      font-size: .9rem; } }

main {
  overflow: hidden; }
  main .breadcrumb {
    color: #3f3f3f; }
    @media (min-width: 800px) {
      main .breadcrumb {
        padding: .6em 0;
        border: none;
        font-size: .9em; } }

.p-n_btn {
  padding: 2rem 0; }
  .p-n_btn .icon {
    width: .8rem;
    vertical-align: text-top; }
  .p-n_btn .prev {
    margin-right: 4rem; }
    .p-n_btn .prev .icon {
      transform: rotate(180deg);
      margin-right: 1rem; }
  .p-n_btn .next {
    margin-left: 4rem; }
    .p-n_btn .next .icon {
      margin-left: 1rem; }

header h1 {
  font-size: 2.5rem;
  text-align: center;
  padding-bottom: .6rem;
  margin: 0 auto;
  width: 100%;
  max-width: 650px;
  height: 100%;
  flex: 1 0 auto; }

.ttl1, .ttl3 {
  position: relative;
  text-align: center;
  font-size: 2.14rem;
  font-weight: bold;
  margin-bottom: 4rem;
  line-height: 1;
  letter-spacing: .3rem; }
  .ttl1 span, .ttl3 span {
    display: block;
    font-weight: normal;
    font-size: 1.14rem;
    margin-top: .5rem; }

.ttl2 {
  font-size: 1.785rem;
  text-align: center;
  margin-bottom: 3rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .2rem; }
  .ttl2 span {
    display: block;
    font-weight: normal;
    font-size: 1.14rem;
    margin-top: .5rem; }

@media (max-width: 800px) {
  .ttl1, .ttl3 {
    margin-bottom: 2.6rem;
    font-size: 1.83rem;
    line-height: 1.3; }

  .ttl2 {
    line-height: 1.3; } }
.news .mv {
  background: url("../images/info_mv.jpg") no-repeat; }

.article {
  padding: 0 1rem; }
  .article li {
    padding-bottom: 1rem;
    border-bottom: 1px dashed #0c0c0c;
    margin-bottom: 2rem; }
  .article dt {
    margin-bottom: 1rem; }
    .article dt span {
      background: #0c0c0c;
      color: #fff;
      padding: 0 .5rem;
      margin: 0 1rem; }
  .article dd {
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.6; }
    .article dd .icon {
      width: 1rem;
      vertical-align: text-bottom;
      margin-right: 1rem; }
  .article .ttl {
    border-bottom: 1px dashed #0c0c0c;
    margin-bottom: 2rem; }
  .article .article-inner {
    font-size: 1rem;
    font-weight: normal;
    align-items: flex-start;
    margin-bottom: 3rem; }
    .article .article-inner .img {
      max-width: 340px;
      margin: 0 2rem; }
    .article .article-inner .txt {
      width: 60%; }
      .article .article-inner .txt p {
        line-height: 2; }

@media (max-width: 800px) {
  .article {
    padding: 0; }
    .article dt {
      flex-direction: column;
      align-items: stretch; }
      .article dt > div:first-child {
        margin-bottom: .3rem; }
    .article .article-inner {
      flex-direction: column; }
      .article .article-inner .img {
        max-width: none;
        margin: 0 0 2rem; }
      .article .article-inner .txt {
        width: 100%; } }
.ttl3 {
  margin: 3rem auto !important; }

.ttl3 span::after {
  display: none; }

#nav-toggle {
  width: 30px;
  height: 30px;
  padding: .5rem 0;
  cursor: pointer; }

#nav-toggle > div {
  position: relative; }

#nav-toggle span {
  width: 100%;
  height: 2px;
  left: 0;
  display: block;
  background: #fff;
  position: absolute;
  transition: top .5s ease, -webkit-transform .6s ease-in-out;
  transition: transform .6s ease-in-out, top .5s ease;
  transition: transform .6s ease-in-out, top .5s ease, -webkit-transform .6s ease-in-out; }

#nav-toggle span:nth-child(1) {
  top: 0; }

#nav-toggle span:nth-child(2) {
  top: 10px; }

#nav-toggle span:nth-child(3) {
  top: 20px; }

#nav-toggle:hover span:nth-child(1) {
  top: 3px; }

#nav-toggle:hover span:nth-child(3) {
  top: 17px; }

.open #nav-toggle span {
  background: #fff; }

.open #nav-toggle span:nth-child(1) {
  top: 10px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }

.open #nav-toggle span:nth-child(2) {
  top: 10px;
  width: 0;
  left: 50%; }

.open #nav-toggle span:nth-child(3) {
  top: 10px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

/* z-index */
#nav-toggle {
  z-index: 1000; }

#container {
  z-index: 900; }

#gloval-nav {
  background: rgba(0, 0, 0, 0.85);
  color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 990;
  display: flex;
  visibility: hidden;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease; }
  #gloval-nav nav {
    align-items: flex-start; }
  #gloval-nav .bd {
    font-size: 1.526rem;
    font-weight: bold; }
  #gloval-nav .main_menu {
    margin-right: 7rem; }
  #gloval-nav .sub_menu span {
    display: block;
    font-size: .8rem; }

#gloval-nav {
  /*      &:nth-child(4) {
          transition-delay: .45s;
        }
        &:nth-child(5) {
          transition-delay: .6s;
        }
        &:nth-child(6) {
          transition-delay: .75s;
        }
        &:nth-child(7) {
          transition-delay: .9s;
        }*/ }
  #gloval-nav a {
    display: block;
    color: #fff;
    text-decoration: none;
    padding: 10px 0;
    transition: color .6s ease;
    font-size: 1.23rem; }
    #gloval-nav a:hover {
      color: #666; }
  #gloval-nav ul {
    list-style: none; }
  #gloval-nav ul {
    opacity: 0;
    transform: translateX(200px);
    transition: transform .6s ease, opacity .2s ease; }
  #gloval-nav .sub_menu {
    transition-delay: .3s; }

/* open */
.open {
  overflow: hidden; }
  .open #gloval-nav {
    visibility: visible;
    opacity: 1; }
  .open #gloval-nav ul {
    opacity: 1;
    transform: translateX(0);
    /*transition:  transform 1s ease, opacity .9s ease;*/ }

@media (max-width: 768px) {
  #gloval-nav {
    display: block;
    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 990;
    opacity: 0;
    transition: opacity .6s ease, visibility .6s ease; }
    #gloval-nav .nav-inner {
      overflow: auto;
      padding: 68px 50px 150px;
      height: 100vh; }
      #gloval-nav .nav-inner nav {
        flex-direction: column; }
        #gloval-nav .nav-inner nav a {
          padding: 7px 0; } }
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*-ms-touch-action: pan-y;*/
  touch-action: pan-y;
  /*-webkit-tap-highlight-color: transparent;*/ }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  z-index: 1;
  display: block;
  width: 25px;
  height: 25px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  bottom: -25px;
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 25px;
    line-height: 1;
    color: black;
    opacity: 0.75;
    /* -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;*/ }

.slick-prev {
  left: 15px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: 15px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: 15px; }
  [dir="rtl"] .slick-next {
    left: 15px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -5px;
  left: 0;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 10px;
        height: 10px;
        text-align: center;
        opacity: 0.25;
        /*-webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;*/
        background: black;
        border-radius: 10px; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

.panel_slide {
  width: 100%;
  max-width: 860px;
  margin: 0 auto 30px; }

/*! Lity - v1.6.6 - 2016-04-22
* http://sorgalla.com/lity/
* Copyright (c) 2016 Jan Sorgalla; Licensed MIT */
.lity {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  background: #0b0b0b;
  background: rgba(0, 0, 0, 0.9);
  outline: none !important;
  opacity: 0;
  transition: opacity 0.3s ease; }

.lity.lity-opened {
  opacity: 1; }

.lity.lity-closed {
  opacity: 0; }

.lity-wrap {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  outline: none !important; }

.lity-wrap:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em; }

.lity-loader {
  z-index: 9991;
  color: #fff;
  position: absolute;
  top: 50%;
  margin-top: -0.8em;
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-family: Arial, Helvetica, sans-serif;
  opacity: 0;
  transition: opacity 0.3s ease; }

.lity-loading .lity-loader {
  opacity: 1; }

.lity-container {
  z-index: 9992;
  position: relative;
  text-align: left;
  vertical-align: middle;
  display: inline-block;
  white-space: normal;
  max-width: 100%;
  max-height: 100%;
  outline: none !important; }

.lity-content {
  z-index: 9993;
  width: 100%;
  transform: scale(1);
  transition: transform 0.3s ease; }

.lity-loading .lity-content,
.lity-closed .lity-content {
  transform: scale(0.8); }

.lity-content:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1; }

.lity-close {
  z-index: 9994;
  width: 35px;
  height: 35px;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-appearance: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  box-shadow: none; }

.lity-close::-moz-focus-inner {
  border: 0;
  padding: 0; }

.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none; }

.lity-close:active {
  top: 1px; }

/* Image */
.lity-image img {
  max-width: 100%;
  display: block;
  line-height: 0;
  border: 0; }

/* iFrame */
.lity-iframe .lity-container {
  width: 100%;
  max-width: 964px; }

.lity-iframe-container {
  width: 90%;
  height: 0;
  padding-top: 85vh;
  overflow: auto;
  pointer-events: auto;
  transform: translateZ(0);
  -webkit-overflow-scrolling: touch;
  max-width: 750px;
  margin: 0 auto; }
  .lity-iframe-container iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.lity-hide {
  display: none; }

.dlt_1 {
  transition: .3s ease-out;
  transform: translateY(20%);
  opacity: 0; }
  .dlt_1.started {
    transform: none;
    opacity: 1; }

.boyo.started {
  animation: boyooon .9s ease-out .2s; }

@keyframes boyooon {
  from {
    transform: scale3d(1, 1, 1); }
  30% {
    transform: scale3d(1.15, 0.75, 1); }
  40% {
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    transform: scale3d(1.05, 0.85, 1); }
  65% {
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    transform: scale3d(1.05, 0.95, 1); }
  to {
    transform: scale3d(1, 1, 1); } }
button, input, select, textarea {
  font: inherit; }

button, input, select {
  overflow: visible;
  -webkit-appearance: none; }

button, select {
  text-transform: none; }

select::-ms-expand {
  display: none; }

select {
  -moz-appearance: none; }

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

[disabled] {
  cursor: default; }

button::-moz-focus-innner, input::-moz-focus-innner {
  border: 0;
  padding: 0; }

button:-moz-focusring, input:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: .35em .625em .75em; }

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

textarea {
  overflow: auto; }

[type="checkbox"], [type="radio"] {
  box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-innner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield; }

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

button, input[type="submit"], input[type="button"], input[type="reset"] {
  border-radius: 0;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  background: transparent;
  color: inherit;
  width: 100%; }

input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]:focus, input[type="button"]:focus {
  outline-offset: -2px; }

select::-ms-expand {
  display: none; }

.box_sel {
  background: #fcfcfc;
  padding: 2rem 0; }

.selectBtn {
  cursor: pointer;
  background: none;
  position: relative;
  border: 1px solid #c4c4c4; }
  .selectBtn select {
    font: inherit;
    overflow: visible;
    margin: 0;
    text-transform: none;
    width: 100%;
    height: 100%;
    z-index: 1;
    position: absolute;
    cursor: pointer;
    border: 0;
    outline: none;
    border-radius: 0;
    -moz-appearance: none;
    -webkit-appearance: none;
    vertical-align: middle;
    left: 0;
    top: 0;
    color: inherit;
    padding: 0 1.2em;
    font-size: 1.2em;
    font-weight: bold;
    background: transparent; }
  .selectBtn .icon {
    width: 1em;
    height: 1em;
    position: absolute;
    right: 1em;
    top: calc(50% - .5em);
    pointer-events: none;
    transform: rotate(90deg);
    fill: #3f3f3f; }

.form-control, select {
  display: block;
  box-sizing: border-box;
  border: 1px solid #3f3f3f;
  border-radius: .5em;
  width: 100%;
  background: white;
  padding: 0 .6em;
  height: 50px; }

textarea.form-control {
  resize: vertical;
  height: 10em; }

.ttl_h1b {
  font-size: 1.3rem;
  padding: 2rem 1.5rem;
  line-height: 1.3; }
  .ttl_h1b b {
    display: block;
    font-size: 1.8em; }

.f_sub {
  color: white;
  margin: 0 !important;
  background: #0c0c0c; }
  .f_sub > div {
    background: #3f3f3f; }
  .f_sub .breadcrumb {
    border: none; }
    .f_sub .breadcrumb a {
      color: white; }
  .f_sub .copyRight {
    padding: 1em;
    font-size: .9em; }

.formStep {
  font-size: .9rem;
  font-weight: bold;
  color: #c4c4c4;
  padding: 2.4rem 0;
  margin-bottom: 2rem;
  line-height: 1;
  text-align: center; }
  .formStep li {
    position: relative; }
    .formStep li .circle {
      display: block;
      width: 14px;
      height: 14px;
      border-radius: 7px;
      background: #c4c4c4;
      margin: 0 auto 1em; }
    .formStep li .txt {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      width: 7em;
      display: inline-block; }
    .formStep li:nth-child(2) {
      margin: 0 10rem; }
      .formStep li:nth-child(2) .circle {
        position: relative; }
        .formStep li:nth-child(2) .circle::before, .formStep li:nth-child(2) .circle::after {
          content: "";
          position: absolute;
          width: 10rem;
          height: 2px;
          background: #c4c4c4;
          top: calc(50% - 1px); }
        .formStep li:nth-child(2) .circle::before {
          left: -10rem; }
        .formStep li:nth-child(2) .circle::after {
          right: -10rem; }

.step1 li:first-child .circle,
.step2 li:not(:last-child) .circle,
.step3 li .circle,
.step2 li:nth-child(2) .circle::before,
.step3 li:nth-child(2) .circle::before, .step3 li:nth-child(2) .circle::after {
  background: #cccccc; }

.step1 li:first-child, .step2 li:not(:last-child), .step3 li {
  color: #0c0c0c; }

form {
  text-align: center; }
  form .btn1, form .btnback {
    padding: 0;
    width: 100%;
    max-width: 250px;
    margin: 1rem auto; }
    form .btn1 input, form .btnback input {
      font-size: 1.142rem;
      height: 60px; }
    form .btn1 a, form .btnback a {
      height: 40px;
      line-height: 40px; }
  form .btnback {
    display: block;
    background: #c4c4c4;
    margin: 0 auto;
    font-weight: bold; }

.fm {
  padding: 1rem; }
  .fm .box_txt {
    padding: 0 1rem 2rem; }
    .fm .box_txt p:not(:last-child) {
      margin-bottom: .6em; }
    .fm .box_txt strong {
      font-weight: bold;
      color: #ff033d;
      font-size: 1.5em; }
  .fm h2 {
    font-weight: bold;
    font-size: 1.5rem;
    margin-bottom: .5em; }

.cont-form form {
  font-size: 1.1rem; }

.form_box {
  padding: 2rem 0 0; }
  .form_box:not(.bd-non) {
    border-bottom: 1px dashed #3f3f3f;
    padding-bottom: 2rem; }
  .form_box .ttl {
    background: #fcfcfc;
    margin: .6rem auto;
    padding: .4em; }
  .form_box .caps {
    font-size: .9em;
    text-align: left;
    margin-bottom: .6rem; }

.error {
  padding: 0 1rem 1rem;
  font-size: 1.1rem;
  color: #ff033d;
  font-weight: bold; }

.required {
  display: inline-block;
  background: #ff033d;
  color: white;
  padding: .2em .4em;
  font-size: .9em;
  line-height: 1;
  font-weight: bold;
  border-radius: .2em;
  margin-left: .6em; }

.form-label {
  text-align: left;
  margin-bottom: .8em;
  font-weight: bold;
  font-size: 1.1em; }

.box_birth .selectBtn, .box_date .selectBtn {
  margin: 0 .5em 0 0;
  display: inline-block;
  vertical-align: middle; }
  .box_birth .selectBtn.selY, .box_date .selectBtn.selY {
    width: 8em;
    margin-bottom: 1rem; }

.selM, .selD {
  width: 6em; }

.radiobtn {
  color: #c4c4c4; }
  .radiobtn li {
    position: relative;
    display: inline-block;
    font-weight: bold;
    font-size: 1.3em;
    margin: 0 2rem; }
    .radiobtn li input[type=radio] {
      display: none;
      position: absolute;
      left: 0;
      top: 0;
      z-index: 1;
      width: 100%;
      height: 100%; }
    .radiobtn li label {
      cursor: pointer;
      display: block;
      position: relative;
      z-index: 9;
      padding-left: 26px;
      transition: all 0.25s linear; }
    .radiobtn li .ico_check {
      display: block;
      position: absolute;
      left: 0;
      top: calc(50% - 10px);
      border: 3px solid;
      border-radius: 100%;
      height: 20px;
      width: 20px;
      transition: border .25s linear; }
      .radiobtn li .ico_check::before {
        display: block;
        position: absolute;
        content: '';
        border-radius: 100%;
        height: 6px;
        width: 6px;
        top: calc(50% - 3px);
        left: calc(50% - 3px);
        margin: auto;
        transition: background 0.25s linear; }
  .radiobtn input[type=radio]:checked ~ .ico_check {
    border-color: #0c0c0c; }
  .radiobtn input[type=radio]:checked ~ .ico_check::before {
    background: #0c0c0c; }
  .radiobtn input[type=radio]:checked ~ label {
    color: #0c0c0c; }

.conf form {
  text-align: left; }
.conf .form_box {
  padding: 1rem 1.5rem; }
.conf .box_submit {
  text-align: center;
  padding: 3rem 0 0; }
  .conf .box_submit .sub-txt {
    text-align: left; }

@media (min-width: 800px) {
  .fm h2 {
    font-size: 2rem; }

  .box_txt {
    text-align: center; }

  .form_box {
    padding: 2rem; }

  .form_box:not(.box_submit) {
    display: flex;
    align-content: center;
    text-align: left; }

  .form-label {
    width: 20rem;
    min-width: 20rem;
    padding-right: 2rem; }

  .form-inpt {
    width: calc(100% - 20rem);
    min-width: calc(100% - 20rem); }

  .cont-form .form-control, .cont-form .selectBtn {
    margin-left: 0; }

  .radiobtn li {
    margin: 0 2rem 0 0; }

  .ckbtn {
    justify-content: flex-start; }

  .box_birth br {
    display: none; }
  .box_birth .selectBtn.selY {
    margin-bottom: 0; }

  .ckbtn li {
    width: 25%; }

  .conf .box_submit > div {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row-reverse; }
    .conf .box_submit > div > div {
      margin: 1.5rem 1rem 0; }
    .conf .box_submit > div .btnback {
      max-width: 6em; }
  .conf .box_submit .sub-txt {
    text-align: center; } }
.comp .box_txt {
  margin-bottom: 3rem; }
  .comp .box_txt p {
    margin-bottom: 1rem;
    line-height: 2; }
.comp .btn3 a {
  width: 21em; }
.comp .box_btn .btn3 {
  margin: 1rem .5rem; }
  .comp .box_btn .btn3 a {
    width: 10em; }

header .h-logo {
  margin-right: auto;
  max-width: 150px; }
header #nav-toggle span {
  background: #ccc; }

.main-top {
  position: relative;
  z-index: 1;
  width: 100%; }
  .main-top .mv_logo {
    width: 200px; }
  .main-top .mv {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 480px;
    max-height: 850px;
    background: url("../images/mv_sp.jpg") no-repeat center top/cover; }
  @media (min-width: 800px) {
    .main-top .mv_logo {
      width: 400px; }
    .main-top .mv {
      background: url("../images/mv_pc.jpg") no-repeat center top/cover; } }
  .main-top .sns {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    z-index: 1; }
    .main-top .sns li {
      padding: 10px; }
      .main-top .sns li .icon {
        fill: #ccc; }

.top_nav {
  min-height: 250px;
  flex-direction: column;
  position: relative;
  z-index: 1;
  padding-bottom: .6rem;
  margin-top: -20px; }
  .top_nav a {
    display: block;
    animation: fuwa 1.8s ease-in-out infinite alternate; }
    .top_nav a:not(.btn_sched) {
      width: 120px; }
    .top_nav a.btn_sched {
      width: 160px;
      position: relative; }
      .top_nav a.btn_sched span {
        display: block;
        position: absolute;
        top: 82px;
        left: calc(50% - 46px);
        font-weight: bold;
        font-size: 36px;
        letter-spacing: 0;
        color: white; }
  .top_nav > div:first-child {
    margin: 0 0 0 65px; }
  .top_nav > div:last-child {
    margin: -40px 105px 0 0; }

@media (min-width: 800px) {
  h1 {
    max-width: 400px; }

  .top_nav {
    flex-direction: row; }
    .top_nav > div:first-child, .top_nav > div:last-child {
      margin: 0; }
    .top_nav a:not(.btn_sched) {
      width: 160px; }
    .top_nav a.btn_sched {
      width: 240px; }
      .top_nav a.btn_sched span {
        top: 125px;
        left: calc(50% - 60px);
        font-size: 50px; } }
.com-profile .mv {
  background: url("../images/company_mv.jpg") no-repeat; }

.about .mv {
  background: url("../images/about_mv.jpg") no-repeat; }

.travel .mv {
  background: url("../images/travel_mv.jpg") no-repeat; }

.kobebeef .mv {
  background: url("../images/kobebeef_mv.jpg") no-repeat; }

.contact .mv {
  background: url("../images/contact_mv.jpg") no-repeat; }

.under .mv {
  padding-top: 60vh;
  background-size: cover;
  background-position: center; }
  .under .mv .logo {
    max-width: 400px;
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -40%); }
.under h1 {
  max-width: inherit; }

.under-inner {
  max-width: 1068px;
  margin: 0 auto;
  padding: 0 2rem; }

.gray-bg {
  background: url("../images/bg.gif") repeat;
  padding: 5rem 0 6rem; }

.bk-bg {
  background: #000;
  padding: 5rem 0 6rem;
  color: #fff; }

@media (max-width: 800px) {
  .under .under-inner {
    padding: 0; }

  .gray-bg, .bk-bg {
    padding: 3rem 0 1rem; }
    .gray-bg .slick-track, .bk-bg .slick-track {
      margin-bottom: 2rem; }

  .bk-bg .slick-dots li button:before {
    color: white; } }
.com.s-inner {
  padding-bottom: 0; }

.company .h-map {
  position: relative;
  padding-bottom: 30%;
  height: 0;
  overflow: hidden; }
  .company .h-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important; }

.h-table {
  flex-wrap: wrap;
  max-width: 760px;
  margin: 0 auto 6rem;
  font-size: 1.35rem; }
  .h-table dt {
    width: 20%;
    font-weight: bold;
    padding-bottom: 1rem;
    border-bottom: 1px solid;
    margin-bottom: 1rem;
    align-self: stretch; }
  .h-table dd {
    width: 80%;
    padding-bottom: 1rem;
    border-bottom: 1px solid;
    margin-bottom: 1rem;
    align-self: stretch; }

.history .h-table {
  margin-bottom: 0; }

@media (max-width: 800px) {
  .com.s-inner {
    padding: 4rem 0; }

  .company {
    padding: 5rem 0 3rem; }
    .company .h-map {
      padding-bottom: 70%; }

  .h-table {
    flex-direction: column;
    padding: 0 2rem;
    margin-bottom: 2rem; }
    .h-table dt {
      width: 100%;
      border-bottom: none;
      padding-bottom: 0;
      margin-bottom: .5rem; }
    .h-table dd {
      width: 100%; }

  .history .h-table {
    padding: 0; } }
.about .s-inner {
  padding-bottom: 0; }
.about p {
  padding: 0 4rem 4rem;
  font-size: 1.142rem;
  line-height: 1.6; }
.about dd {
  text-align: center;
  padding: 1rem 0; }

@media (max-width: 800px) {
  .about .s-inner {
    padding: 4rem 0 0; }
  .about p {
    padding: 0 2rem 2rem; } }
.travel .plan {
  font-size: 1.07rem;
  line-height: 1.8;
  letter-spacing: .1em; }
  @media (min-width: 800px) {
    .travel .plan {
      text-align: center;
      max-width: 48em;
      margin: 0 auto; } }
  .travel .plan p:not(:last-child) {
    margin-bottom: 1.75em; }
.travel .window dt {
  background: #fff;
  padding: .3rem;
  color: #0c0c0c;
  margin-right: 1rem; }
.travel .window dd {
  font-size: 1.285rem; }
  .travel .window dd a {
    color: #fff; }
.travel .gray-bg p {
  padding: 0 4rem 4rem;
  font-size: 1.142rem;
  line-height: 1.6; }
.travel .gray-bg dd {
  text-align: center;
  padding: 1rem 0; }
.travel .gray-bg .mb {
  margin-bottom: 6rem; }
.travel .dl ul {
  flex-wrap: wrap; }
  .travel .dl ul li {
    padding: 2rem;
    max-width: 300px; }
.travel .dl .window dt {
  background: #0c0c0c;
  color: #fff; }
.travel .dl .window dd a {
  color: #0c0c0c; }
.travel .btnWrap {
  margin: 5rem auto; }
  .travel .btnWrap .btn1 {
    text-align: left;
    padding: 1.5rem 2rem;
    max-width: 740px; }
    .travel .btnWrap .btn1::after {
      bottom: 50%;
      transform: translateY(-50%); }
.travel .tb_lgp {
  width: calc(100% - 4rem);
  max-width: 44em;
  margin: 0 auto 6rem;
  text-align: center;
  font-size: 1.15rem; }
  .travel .tb_lgp thead {
    font-weight: bold;
    border-bottom: 2px solid; }
  .travel .tb_lgp th, .travel .tb_lgp td {
    padding: .75em 0; }
  .travel .tb_lgp tbody tr {
    border-bottom: 1px solid rgba(0, 0, 0, 0.3); }
    .travel .tb_lgp tbody tr td:last-child {
      font-weight: bold; }
.travel .panf_tmb {
  max-width: 250px;
  margin: 0 auto;
  width: 50%; }
.travel .travel_contact {
  width: calc(100% - 4rem);
  max-width: 44em;
  margin: 0 auto; }
  .travel .travel_contact > div {
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15); }
  .travel .travel_contact dt, .travel .travel_contact dd {
    padding: 0.75em; }
  .travel .travel_contact dt {
    width: 6em;
    font-weight: bold; }
  .travel .travel_contact dd {
    font-size: 1.3em; }

@media (max-width: 800px) {
  .travel .s-inner {
    padding: 4rem 0 0; }
  .travel .under-inner.pd {
    padding: 0 2rem 2rem; }
    .travel .under-inner.pd .ttl2 {
      font-size: 1.33rem; }
  .travel .pc_none {
    max-width: 190px;
    margin: 0 auto; }
  .travel .btnWrap {
    margin-top: 3rem;
    padding: 0 2rem; }
    .travel .btnWrap .btn1 {
      margin: 1rem auto;
      text-align: center; }
      .travel .btnWrap .btn1::after {
        content: none; }
  .travel .window {
    flex-direction: column;
    text-align: center; }
    .travel .window dt {
      margin-bottom: 1rem;
      margin-right: 0; }
    .travel .window a {
      display: block; }
  .travel .gray-bg p {
    padding: 0 2rem 3rem; } }
.kobebeef .s-inner {
  padding-bottom: 0; }
.kobebeef .gray-bg p {
  font-size: 1.07rem;
  line-height: 2;
  padding: 0 2rem;
  margin-bottom: 2rem; }
.kobebeef .gray-bg .kobe-pic {
  padding: 0 2rem 2rem; }
.kobebeef .bk-bg p {
  font-size: 1.142rem;
  line-height: 2;
  margin-bottom: 7rem;
  padding: 0 2rem; }
  .kobebeef .bk-bg p:last-child {
    margin-bottom: 0; }
.kobebeef .definition p {
  font-size: 1.142rem; }
.kobebeef .definition ol {
  padding: 0 2rem; }
  .kobebeef .definition ol li {
    margin-bottom: 2rem;
    font-weight: bold; }
    .kobebeef .definition ol li dt {
      margin-bottom: 1rem; }

@media (max-width: 800px) {
  .kobebeef .s-inner {
    padding: 4rem 0 0; }
  .kobebeef .gray-bg, .kobebeef .bk-bg {
    padding: 3rem 0; }
  .kobebeef .about-kb .gray-bg {
    padding-bottom: 0; }
  .kobebeef .bk-bg p {
    margin-bottom: 4rem; }
  .kobebeef .bk {
    flex-direction: column; }
    .kobebeef .bk .left {
      width: 100%;
      order: 2; }
    .kobebeef .bk .right {
      width: 100%;
      order: 1; } }
.contact .under-inner {
  max-width: 960px; }
  .contact .under-inner .procedure {
    font-weight: bold;
    font-size: 1.142rem;
    margin-bottom: 3rem; }
  .contact .under-inner dl {
    flex-wrap: wrap; }
    .contact .under-inner dl dt {
      width: 35%;
      border-bottom: 1px solid #0c0c0c; }
    .contact .under-inner dl dd {
      width: 65%;
      border-bottom: 1px solid #0c0c0c; }

@media (min-width: 800px) {
  .contact .under-inner {
    padding: 0 1rem; } }
.line_bnn {
  max-width: 500px;
  margin: 0 auto;
  padding: 0 2rem; }
