@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese");
@import url("https://fonts.googleapis.com/css?family=Oswald&display=swap");
html {
  padding: 0px;
  margin: 0px;
  background: #eee;
  border: 0px solid black;
  font-size: 62.5%; }

body {
  width: 100%;
  height: 100%;
  font-weight: normal;
  font-size: 1rem;
  line-height: 1;
  position: relative;
  color: #29324f;
  padding: 0;
  margin: 0;
  background: white;
  -webkit-text-size-adjust: 100%;
  min-width: 1080px;
  font-family: 'Noto Sans JP' , "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Yu Gothic", sans-serif; }

@media screen and (max-width: 768px) {
  body {
    min-width: 100%; } }
/*-- iPad対策 --*/
*, *::before, *::after {
  box-sizing: border-box; }

article, section, aside, header, footer {
  padding: 0;
  margin: 0; }

table {
  border-collapse: collapse; }

.none {
  display: none; }

.clearfix::after, .row::after {
  content: '';
  display: block;
  clear: both; }

img {
  max-width: 100%;
  height: auto;
  display: block;
  padding: 0;
  margin: 0 auto;
  vertical-align: bottom; }

a {
  color: #73AFC2;
  text-decoration: none; }

a:hover {
  color: #FE8E8C;
  text-decoration: none;
  transition: all 0.8s ease; }
  
a:hover img {opacity: 0.8;}  

.pc {
  display: block; }

.sp {
  display: none; }

@media screen and (max-width: 768px) {
  .pc {
    display: none; }

  .sp {
    display: block; } }
/* -----------------------------------------
▼ 00 GOTO TOP
-------------------------------------------- */
#fixedTop {
  right: 10px;
  bottom: 50px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  color: #fff;
  font-size: 20px;
  text-align: center;
  display: none;
/*  background: linear-gradient(1deg, #6dabbf, #b9dfeb);*/
  background: #333;
  position: fixed;
  z-index: 80000;
  border-radius: 25px;
  -webkit-transform: translateZ(0); }

#fixedTop:hover {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.7; }

/* -----------------------------------------
▼ 00 LAYOUT
-------------------------------------------- */
.container {
  border: 0px solid red;
  width: 1080px;
  padding: 0;
  margin: 0 auto; }

.row {
  clear: both;
  padding: 0;
  margin: 0;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

.col-01, .col-02, .col-03, .col-04, .col-05, .col-06, .col-07, .col-08, .col-09, .col-10, .col-11, .col-12 {
  padding: 0 15px;
  display: block;
  float: none;
  border: 0px solid red; }

.col-01 {
  width: 8.33333%; }

.col-02 {
  width: 16.66667%; }

.col-03 {
  width: 25%; }

.col-04 {
  width: 33.33333%; }

.col-05 {
  width: 41.66667%; }

.col-06 {
  width: 50%; }

.col-07 {
  width: 58.33333%; }

.col-08 {
  width: 66.66667%; }

.col-09 {
  width: 75%; }

.col-10 {
  width: 83.33333%; }

.col-11 {
  width: 91.66667%; }

.col-12 {
  width: 100%; }

@media (max-width: 768px) {
  .container {
    width: 100%; }

  .col-01, .col-02, .col-03, .col-04, .col-05, .col-06, .col-07, .col-08, .col-09, .col-10, .col-11, .col-12 {
    padding: 0 10px 10px 10px; }

  .col-01 {
    width: 50%; }

  .col-02 {
    width: 50%; }

  .col-03 {
    width: 50%; }

  .col-04 {
    width: 50%; }

  .col-05 {
    width: 50%; }

  .col-06 {
    width: 50%; }

  .col-07 {
    width: 100%; }

  .col-08 {
    width: 100%; }

  .col-09 {
    width: 100%; }

  .col-10 {
    width: 100%; }

  .col-11 {
    width: 100%; }

  .col-12 {
    width: 100%; } }
@media (max-width: 480px) {
  .col-01, .col-02, .col-03, .col-04, .col-05, .col-06, .col-07, .col-08, .col-09, .col-10, .col-11, .col-12 {
    padding: 0 5px 10px 5px; }

  .col-01 {
    width: 100%; }

  .col-02 {
    width: 100%; }

  .col-03 {
    width: 100%; }

  .col-04 {
    width: 100%; }

  .col-05 {
    width: 100%; }

  .col-06 {
    width: 100%; }

  .col-07 {
    width: 100%; }

  .col-08 {
    width: 100%; }

  .col-09 {
    width: 100%; }

  .col-10 {
    width: 100%; }

  .col-11 {
    width: 100%; }

  .col-12 {
    width: 100%; } }
/* ----------------------------------------------------------------------------------------- */
/* ----- 見出し & GENERAL ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
h2 {
  font-size: 60px;
  line-height: 80px;
  color: #333333;
  font-weight: bold;
  letter-spacing: 0;
  padding: 0;
  margin: 0 0 60px 0;
  text-align: center;
  text-transform: uppercase; }

h2 small {
  font-size: 18px;
  line-height: 80px;
  color: #888888;
  font-weight: bold;
  display: block;
  text-transform: uppercase; }

h2.jp {
  font-size: 40px;
  line-height: 70px;
  color: #333333;
  font-weight: bold;
  letter-spacing: 0;
  padding: 0;
  margin: 0 0 60px 0;
  text-align: center;
  text-transform: uppercase; }

h2.jp small {
  font-size: 18px;
  line-height: 70px;
  color: #888888;
  font-weight: bold;
  display: block;
  text-transform: uppercase; }

h4 {
  font-size: 21px;
  line-height: 1.5;
  color: #666666;
  font-weight: bold;
  letter-spacing: 0;
  padding: 0;
  margin: 30px 0 0 0;
  text-align: center; }

h5 {
  font-size: 18px;
  line-height: 1.5;
  color: #666666;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding: 0;
  margin: 30px 0 0 0; }

.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

.oswald {
  font-family: 'Oswald', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Meiryo, "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, "游ゴシック", YuGothic, sans-serif;
  font-weight: 500; }

strong {
  font-weight: bold; }

.caution {
  font-size: 12px;
  line-height: 1; }

.btn-more a {
  display: block;
  width: 330px;
  height: 60px;
  background: #CB1F39;
  font-size: 14px;
  font-weight: bold;
  font-style: normal;
  text-align: center;
  line-height: 60px;
  color: white;
  padding: 0;
  margin: 60px auto;
  letter-spacing: 0.05em;
  border-radius: 2px; }

.btn-more a:hover {
  background: black; }

@media (max-width: 768px) {
  h2 {
    font-size: 48px;
    line-height: 1.2; }

  h2 small {
    font-size: 14.4px;
    line-height: 64px; }

  h2.jp {
    font-size: 32px;
    line-height: 1.2; }

  h2.jp small {
    font-size: 14.4px;
    line-height: 56px; }

  .btn-more a {
    width: 66.66666%; } }
@media (max-width: 480px) {
  .btn-more a {
    width: 80%; } }
/* ----------------------------------------------------------------------------------------- */
/* ----- TABLE ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.index table {
  width: 100%;
  padding: 0;
  margin: 2px 0; }

.index table th,
.index table td {
  border: 1px solid #eee;
  font-size: 16px;
  font-weight: normal;
  font-style: italic;
  color: #333;
  padding: 1em;
  text-align: center;
  background: #fafafa; }

.index table td {
  background: white;
  text-align: right; }

.index table small {
  font-size: 0.7em; }

@media (max-width: 768px) {
  .index table th,
  .index table td {
    font-size: 14px; }
    
    .franchise-table1 th,
    .franchise-table1 td,
    .franchise-table2 th,
    .franchise-table2 td{font-size: 14px!important; white-space:nowrap; }
    
}  

@media (max-width: 480px) {
  .index table th,
  .index table td {
    font-size: 12px; } }
    
    .franchise-table1 th,
    .franchise-table1 td,
    .franchise-table2 th,
    .franchise-table2 td {font-size: 14px!important; font-size: 12px; }


/* ----------------------------------------------------------------------------------------- */
main {
  padding: 60px 0 0 0;
  margin: 0;
  background: black; }

@media (max-width: 768px) {
  main {
    padding: 80px 0 0 0; } }
/* ----------------------------------------------------------------------------------------- */
/* ----- HEADER & FOOTER ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
input.hamburger {
  display: none; }

label.hamburger {
  display: none; }

/* ----- HEADER & FOOTER ----- */
header,
footer {
  width: 100%;
  min-width: 1080px;
  height: 60px;
  position: fixed;
  z-index: 50000;
  background: white;
  border-top: 2px solid #CB1F39;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
  top: 0;
  left: 0;
  padding: 2px 0 0 0;
  margin: 0;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

footer {
  position: static;
  height: auto;
  padding: 40px 0;
  box-shadow: none;
  border-top: none;
  background: #222; }

header .container,
footer .container {
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0 15px;
  width: 1080px; }

/* ----- HEADER & FOOTER > LOGO ----- */
header h1,
footer h1 {
  display: block;
  border: 0px solid orange;
  width: 240px;
  padding: 0;
  margin: 0 20px 0 0; }

header h1 img,
footer h1 img {
  height: auto;
  width: 100%;
  display: block;
  padding: 0;
  margin: 0 auto; }

/* ----- HEADER  & FOOTER > メニュー ----- */
.drawer-list ul {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

.drawer-list li {
  padding: 0;
  margin: 0;
  border-bottom: 0px solid blue;
  border-left: 0px solid blue; }

.drawer-list li a {
  color: #FEFEFE;
  display: block;
  padding: 0 1em  0 0;
  margin: 0;
  font-size: 13px;
  font-weight: bold;
  font-style: italic;
  line-height: 1;
  color: black; }

footer .drawer-list li a {
  color: white;
  font-weight: normal; }

.drawer-list li a:hover {
  opacity: 0.5; }

/* -----  HEADER & FOOTER > 電話番号 ----- */
.drawer-list li:last-child a small {
  font-size: 10px;
  font-style: normal;
  font-weight: normal;
  line-height: 12px;
  display: block;
  text-align: left; }

.drawer-list li:last-child a span {
  font-size: 27px;
  font-weight: 400; }

/* ----- HEADER & FOOTER > 資料請求 & お問い合わせ ----- */
ul.contact-area {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

ul.contact-area li {
  padding: 0;
  margin: 0; }

ul.contact-area li a {
  text-align: center;
  width: 120px;
  height: 40px;
  background: red;
  display: block;
  font-size: 14px;
  line-height: 40px;
  color: white; }

ul.contact-area li:first-child a {
  background: #ff8502;
  border-radius: 2px 0 0 2px; }

ul.contact-area li:last-child a {
  background: #cc1f39;
  border-radius: 0 2px 2px 0; }

ul.contact-area li a:hover {
  opacity: 0.5; }

/*ul.contact-area li:nth-child(2) a {
  background: #cc1f39;
  border-radius: 0 2px 2px 0; }
  
  ul.contact-area li:last-child a {
  width: 70px;
  background: #00b62b;
  border-radius: 2px;
  margin-left:2px;
  display: flex;
  align-items: center;
  justify-content: center; }

ul.contact-area li a:hover {
  opacity: 0.5; }*/

/* ----- FOOTER > Copyright ----- */
.copyright {
  width: 100%;
  height: 30px;
  background: black;
  padding: 0px;
  margin: 0; }

.copyright .container {
  padding: 0 15px; }

.copyright ul {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

.copyright ul,
.copyright ul a {
  color: white; }

.copyright ul li {
  padding: 0 0 0 2em;
  margin: 0;
  font-size: 10px;
  line-height: 30px;
  font-weight: normal;
  height: 30px; }

@media (max-width: 768px) {
  /* ----- ● HEADER & FOOTER > ----- */
  header {
    width: 100%;
    min-width: 100%;
    height: 80px; }

  footer {
    width: 100%;
    min-width: 100%;
    height: auto;
    padding: 60px 0; }

  header .container,
  footer .container {
    width: 100%; }

  /* ----- ● HEADER & FOOTER > LOGO ----- */
  header h1,
  footer h1 {
    display: block;
    padding: 0 0 0 0;
    margin: 0 auto;
    width: 55%; }

  header h1 img,
  footer h1 img {
    width: 100%; }

  /* ----- ● HEADER & FOOTER > メニュー ----- */
  /* ----- ● HEADER & FOOTER > 電話番号 ----- */
  .drawer-list li:last-child a small {
    font-size: 14px;
    line-height: 2;
    text-align: center;
    font-style: italic; }

  .drawer-list li:last-child a span {
    font-size: calc(42px - .5vw); }

  footer .drawer-list li:last-child a small {
    font-size: 10px; }

  footer .drawer-list li:last-child a span {
    font-size: 30px; }

  /* ----- ● HEADER & FOOTER > 資料請求 & お問い合わせ ----- */
  ul.contact-area {
    position: fixed;
    z-index: 70000;
    bottom: 0;
    left: 0;
    width: 100%; }

  ul.contact-area li {
    width: 50%;
    padding: 0;
    margin: 0; }

  ul.contact-area li a {
    width: 100%;
    height: 100%; }

  ul.contact-area li:first-child a {
    background: rgba(255, 133, 2, 0.8);
    border-radius: 0; }

  ul.contact-area li:last-child a {
    background: rgba(204, 31, 57, 0.8);
    border-radius: 0; }

  /* ----- FOOTER > Copyright ----- */
  .copyright {
    height: auto;
    padding: 5px 0 50px 0; }

  .copyright ul {
    display: block; }

  .copyright ul li {
    padding: 2px 0;
    line-height: 1.5;
    height: auto;
    display: block;
    text-align: center;
    font-size: 9px; }

  /* ----- HEADE > ドロワの中 > 右から出てくる ----- */
  .drawer-list {
    position: fixed;
    right: 0;
    top: 0;
    height: 100vh;
    width: 100vw;
    transform: translate(100vw, 0);
    /* ie workaround */
    -ms-transform: translatex(-100vw);
    box-sizing: border-box;
    pointer-events: none;
    padding-top: 100px;
    transition: width 475ms ease-out, transform 450ms ease, border-radius 0.8s 0.1s ease;
    background-color: #3d88ce;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 20000; }

  .drawer-list ul {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: auto;
    overflow-x: hidden;
    pointer-events: auto;
    width: calc(100% + 17px);
    padding-right: 17px;
    overflow-y: scroll;
    background: transparent;
    display: block; }

  .drawer-list li {
    list-style: none;
    text-transform: uppercase;
    pointer-events: auto;
    white-space: nowrap;
    box-sizing: border-box;
    transform: translatex(100vw);
    /* ie workaround */
    -ms-transform: translatex(-100vw); }

  .drawer-list li a {
    text-decoration: none;
    color: #FEFEFE;
    text-align: center;
    display: block;
    padding: 0;
    margin: 30px 0 0 0;
    font-size: calc(24px - .5vw); }

  /* ----- FOOTER > ドロワの中 > footer内に表示 ----- */
  footer .drawer-list {
    position: static;
    height: auto;
    width: 100%;
    transform: translate(0, 0);
    /* ie workaround */
    -ms-transform: translatex(0);
    box-sizing: border-box;
    pointer-events: none;
    padding: 0;
    margin: 30px 0 0 0;
    bordeR: 0px solid red; }

  footer .drawer-list ul {
    height: auto;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    overflow-x: hidden;
    overflow-y: hidden;
    pointer-events: auto;
    padding: 0;
    background: #222222;
    display: block;
    bordeR: 0px solid blue; }

  footer .drawer-list li {
    transform: translatex(0);
    /* ie workaround */
    -ms-transform: translatex(0); }

  footer .drawer-list li a {
    margin: 14px 0 0 0;
    font-size: 14px;
    font-weight: normal; }

  input.hamburger {
    display: none; }

  input.hamburger:checked ~ .drawer-list {
    transform: translatex(0); }

  input.hamburger:checked ~ .drawer-list li {
    transform: translatex(0); }

  input.hamburger:checked ~ .drawer-list li:nth-child(1) {
    transition: transform 1s 0.08s cubic-bezier(0.29, 1.4, 0.44, 0.96); }

  input.hamburger:checked ~ .drawer-list li:nth-child(2) {
    transition: transform 1s 0.16s cubic-bezier(0.29, 1.4, 0.44, 0.96); }

  input.hamburger:checked ~ .drawer-list li:nth-child(3) {
    transition: transform 1s 0.24s cubic-bezier(0.29, 1.4, 0.44, 0.96); }

  input.hamburger:checked ~ .drawer-list li:nth-child(4) {
    transition: transform 1s 0.32s cubic-bezier(0.29, 1.4, 0.44, 0.96); }

  input.hamburger:checked ~ .drawer-list li:nth-child(5) {
    transition: transform 1s 0.4s cubic-bezier(0.29, 1.4, 0.44, 0.96); }

  input.hamburger:checked ~ .drawer-list li:nth-child(6) {
    transition: transform 1s 0.48s cubic-bezier(0.29, 1.4, 0.44, 0.96); }

  input.hamburger:checked ~ .drawer-list li:nth-child(7) {
    transition: transform 1s 0.56s cubic-bezier(0.29, 1.4, 0.44, 0.96); }

  input.hamburger:checked ~ .drawer-list li:nth-child(8) {
    transition: transform 1s 0.64s cubic-bezier(0.29, 1.4, 0.44, 0.96); }

  input.hamburger:checked ~ .drawer-list li:nth-child(9) {
    transition: transform 1s 0.72s cubic-bezier(0.29, 1.4, 0.44, 0.96); }

  input.hamburger:checked ~ .drawer-list li:nth-child(10) {
    transition: transform 1s 0.8s cubic-bezier(0.29, 1.4, 0.44, 0.96); }

  input.hamburger:checked ~ label > i {
    background-color: transparent;
    transform: rotate(90deg); }

  input.hamburger:checked ~ label > i:before {
    transform: translate(-50%, -50%) rotate(315deg);
    background: white; }

  input.hamburger:checked ~ label > i:after {
    transform: translate(-50%, -50%) rotate(-315deg);
    background: white; }

  input.hamburger:checked ~ label close {
    color: white;
    width: 100%; }

  input.hamburger:checked ~ label open {
    color: transparent;
    width: 0; }

  label.hamburger {
    z-index: 30000;
    position: relative;
    display: block;
    height: 50px;
    width: 50px; }

  label.hamburger:hover {
    cursor: pointer; }

  label.hamburger text close, label.hamburger text open {
    text-transform: uppercase;
    font-size: .8em;
    align-text: center;
    position: absolute;
    transform: translateY(50px);
    text-align: center;
    overflow: hidden;
    transition: width 0.25s 0.35s, color 0.45s 0.35s; }

  label.hamburger text close {
    color: transparent;
    right: 0;
    width: 0; }

  label.hamburger text open {
    color: black;
    width: 100%; }

  label.hamburger > i {
    position: absolute;
    width: 100%;
    height: 2px;
    top: 50%;
    background-color: black;
    pointer-events: auto;
    transition-duration: .35s;
    transition-delay: .35s; }

  label.hamburger > i:before, label.hamburger > i:after {
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    left: 50%;
    background-color: black;
    content: "";
    transition: transform 0.35s;
    transform-origin: 50% 50%; }

  label.hamburger > i:before {
    transform: translate(-50%, -14px); }

  label.hamburger > i:after {
    transform: translate(-50%, 14px); }

  label.hamburger {
    position: fixed;
    top: 15px;
    right: 15px; } }
@media (max-width: 480px) {
  /* ----- ● HEADER & FOOTER > LOGO ----- */
  header h1,
  footer h1 {
    width: 70%;
    margin-left: 0;
    padding: 0;
    margin: 0 auto; }

  header h1 {
    margin-left: 0; } }
/* ----------------------------------------------------------------------------------------- */
/* ----- SLIDE ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.swiper-container {
  width: 100%;
  height: auto;
  position: relative;
  z-index: 10000; }

.swiper-container img {
  width: 100%;
  height: auto;
  display: block;
  padding: 0;
  margin: 0; }

/* ----------------------------------------------------------------------------------------- */
/* ----- TEXT-MESSAGE ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.text-message {
  width: 100%;
  overflow: hidden;
  background: black;
  height: 90px;
  padding: 30px 0;
  margin: 0; }

.text-message ul {
  margin: 0;
  display: inline-block;
  padding-left: 100%;
  white-space: nowrap;
  line-height: 1em;
  animation: scroll-text 60s linear infinite; }

.text-message ul li {
  display: inline;
  margin: 0 100px 0 0;
  font-size: 30px;
  font-weight: bold;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.4em;
  color: white; }

@keyframes scroll-text {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-100%); } }
@media (max-width: 768px) {
  .text-message {
    height: auto;
    padding: 20px 0; }

  .text-message ul {
    animation: scroll-text 50s linear infinite; }

  .text-message ul li {
    font-size: 20px; } }
/* ----------------------------------------------------------------------------------------- */
/* ----- FEAT ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.feat {
  background: white;
  width: 100%;
  padding: 0;
  margin: 0; }

.feat ul {
  padding-top: 60px;
  padding-bottom: 60px;
  border-bottom: 1px solid #ddd; }

.feat a h3 {
  font-weight: bold;
  color: black;
  text-align: center;
  font-size: 23px;
  color: black;
  letter-spacing: 0.05em;
  padding: 0;
  margin: 10px 0 0 0; }

.feat a h3::before {
  content: "\f138";
  font-family: FontAwesome;
  padding: 0 0.3em 0 0;
  color: #cb1e38; }

@media (max-width: 768px) {
  .feat {
    padding: 30px 0; }

  .feat a h3 {
    font-size: 20px;
    margin: 5px 0 15px 0; } }
@media (max-width: 480px) {
  .feat a h3 {
    font-size: 16px; } }
/* ----------------------------------------------------------------------------------------- */
/* ----- INFORMATION ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.information {
  background: white;
  width: 100%;
  padding: 90px 0;
  margin: 0; }

.information dl {
  border-bottom: 1px solid #ddd;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0 0 10px 0;
  margin: 0 auto 10px;
  width: 870px; }

.information dl dt {
  width: 15%;
  height: 30px;
  background: #CB1F39;
  color: white;
  border-radius: 2px;
  font-size: 14px;
  line-height: 30px;
  text-align: center;
  letter-spacing: 0.05em; }

.information dl dd {
  width: 85%;
  min-height: 30px;
  font-size: 14px;
  line-height: 1.5;
  color: #333;
  padding: 0 0 0 30px;
  margin: 0;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

@media (max-width: 768px) {
  .information {
    padding: 30px 0; }

  .information dl {
    width: 100%; }

  .information dl dt {
    width: 30%;
    letter-spacing: 0; }

  .information dl dd {
    width: 70%;
    padding: 0 0 0 15px; } }
@media (max-width: 480px) {
  .information dl {
    display: block;
    border: none; }

  .information dl dt,
  .information dl dd {
    width: 100%; }

  .information dl dt {
    font-size: 12px;
    line-height: 2;
    height: auto;
    text-align: left;
    padding: 0 10px; }

  .information dl dd {
    padding: 0 10px; } }
/* ----------------------------------------------------------------------------------------- */
/* ----- TEXT-MESSAGE2 ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.text-message2 {
  width: 100%;
  background: black; }

.text-message2 p {
  color: white;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0.6em;
  padding: 15px 0;
  margin: 0; }

/* ----------------------------------------------------------------------------------------- */
/* ----- BANNER ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.banner {
  width: 100%;
  padding: 0;
  margin: 0; }

.banner ul.btn-area {
  background: white;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

.banner ul.btn-area li {
  width: 50%;
  padding: 0;
  margin: 0; }

.banner ul.btn-area li a {
  font-size: 20px;
  line-height: 60px;
  letter-spacing: 0.05em;
  text-align: center;
  width: 100%;
  display: block;
  color: white;
  text-decoration: none; }

.banner ul.btn-area li:first-child a {
  background: linear-gradient(#fe9034 0%, #e57825 100%); }

.banner ul.btn-area li:last-child a {
  background: linear-gradient(#d0354c 0%, #bf253b 100%); }

.banner ul.btn-area li a:hover {
  opacity: 0.5; }

@media (max-width: 480px) {
  .banner ul.btn-area li a {
    font-size: 14px;
    line-height: 40px; } }
/* ----------------------------------------------------------------------------------------- */
/* ----- franchise ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.franchise {
  width: 100%;
  height: auto;
  background: white;
  padding: 90px 0 150px 0;
  margin: 0; }

.franchise h3 {
  font-size: 90px;
  line-height: 1.1;
  font-weight: bold;
  font-style: italic;
  color: #333;
  border-bottom: 4px solid #333;
  padding: 0 0 15px 0;
  margin: 0 0 15px 0; }

.franchise h4 {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  margin: 90px 0 0 0; }

.franchise h4 span {
  display: block;
  background: black;
  color: white;
  width: 330px;
  height: 80px;
  line-height: 80px;
  text-align: right;
  border-radius: 40px 0 0 40px;
  font-style: normal;
  padding: 0 1em 0 0;
  margin: 0; }

.franchise h4 em {
  display: block;
  background: #cc273f;
  color: white;
  width: 180px;
  height: 80px;
  line-height: 80px;
  text-align: left;
  border-radius: 0 40px 40px 0;
  font-style: normal;
  padding: 0 0 0 1em;
  margin: 0; }

.franchise h4.franchise2 em {
  background: #2dad2e; }

.franchise p {
  font-size: 14px;
  line-height: 1.8;
  color: #666;
  padding: 0;
  margin: 0; }

.franchise p.caution {
  text-align: right; }

.franchise p.lead {
  font-size: 21px;
  line-height: 1.5;
  color: #111;
  font-weight: bold;
  font-style: italic;
  padding: 0;
  margin: 30px 0 0 0; }

.franchise .table-frame {
  border: 0px solid black;
  width: 100%;
  overflow-x: scroll; }

.franchise table {
  min-width: 720px; }

.franchise table tr.eraser th,
.franchise table tr.eraser td {
  color: #ace6a0;
  text-decoration: line-through; }

.franchise table tr:first-child th,
.franchise table tr:first-child td {
  font-style: normal;
  padding: 2em 1em; }

.franchise table tr:last-child th,
.franchise table tr:last-child td {
  font-weight: bold; }

/* franchise-table1 */
.franchise table.franchise-table1 th,
.franchise table.franchise-table1 td {
  font-size: 16px;
  border-color: #f4ced3; }

.franchise table.franchise-table1 tr:nth-child(even) th {
  background: #f4ced3; }

.franchise table.franchise-table1 tr:nth-child(even) td {
  background: #f9e2e5; }

.franchise table.franchise-table1 tr:nth-child(odd) th {
  background: #f6d6da; }

.franchise table.franchise-table1 tr:nth-child(odd) td {
  background: #faebec; }

.franchise table.franchise-table1 tr:first-child th,
.franchise table.franchise-table1 tr:first-child td {
  background: #e58f97;
  color: white;
  border-right-color: white;
  font-style: italic;}
  
.franchise table.franchise-table1 tr:first-child th.bg1 {
  background: #e79ca2!important;
  border-right-color: #e79ca2;
  text-align: right;}

.franchise table.franchise-table1 tr:last-child th {
  background: #eeb6bc;
  color: #222;
  border-top: 2px solid white; }
  
.franchise table.franchise-table1 tr:last-child td {
  background: #f2c8cb;
  color: #222;
  border-top: 2px solid white; }  
  
.franchise table.franchise-table1 tr:last-child td.bg1 {
  background: #f0bfc3;
  font-size:10px!important;}
  
.franchise table.franchise-table1 .fsize {
  width:50px;
  font-size:10px!important;
  text-align: right;}
  
.franchise table.franchise-table1 :nth-child(even) .fsize {
  width:50px;
  font-size:10px!important;
  text-align: right;
  background: #f6d8db; }
  
.franchise table.franchise-table1 :nth-child(odd) .fsize1 {
  width:50px;
  font-size:10px!important;
  text-align: right;
  background: #f8e0e3; }
  
/* franchise-table2 */
.franchise table.franchise-table2 th,
.franchise table.franchise-table2 td {
  font-size: 16px;
  border-color: #d5f0d3; }

.franchise table.franchise-table2 tr:nth-child(even) th {
  background: #d5f0d3; }

.franchise table.franchise-table2 tr:nth-child(even) td {
  background: #e9f7e8; }

.franchise table.franchise-table2 tr:nth-child(odd) th {
  background: #dff3dd; }

.franchise table.franchise-table2 tr:nth-child(odd) td {
  background: #f4fbf3; }

.franchise table.franchise-table2 tr:first-child th,
.franchise table.franchise-table2 tr:first-child td {
  background: #6dc566;
  color: white;
  border-right-color: white;
  font-style: italic;}
  
.franchise table.franchise-table2 tr:first-child th.bg1 {
  background: #75c76f!important;
  border-right-color: #75c76f;
  text-align: right;}

.franchise table.franchise-table2 tr:last-child th {
  background: #9ada95;
  color: #222;
  border-top: 2px solid white; }
  
.franchise table.franchise-table2 tr:last-child td {
  background: #a7dfa3;
  color: #222;
  border-top: 2px solid white; }  
  
.franchise table.franchise-table2 tr:last-child td.bg1 {
  background: #a0dd9c;
  font-size:10px!important;}
  
.franchise table.franchise-table2 .fsize {
  width:50px;
  font-size:10px!important;
  text-align: right;}
  
.franchise table.franchise-table2 :nth-child(even) .fsize {
  width:50px;
  font-size:10px!important;
  text-align: right;
  background: #dff3dd; }
  
.franchise table.franchise-table2 :nth-child(odd) .fsize1 {
  width:50px;
  font-size:10px!important;
  text-align: right;
  background: #e9f7e8; }
  
.franchise .txt_cen{text-align:center;padding:5px 0 10px;}


/*.franchise table.franchise-table2 th,
.franchise table.franchise-table2 td {
  border-color: rgba(146, 204, 141, 0.1); }

.franchise table.franchise-table2 tr:nth-child(even) th {
  background: rgba(146, 204, 141, 0.4); }

.franchise table.franchise-table2 tr:nth-child(even) td {
  background: rgba(146, 204, 141, 0.2); }

.franchise table.franchise-table2 tr:nth-child(odd) th {
  background: rgba(146, 204, 141, 0.3); }

.franchise table.franchise-table2 tr:nth-child(odd) td {
  background: rgba(146, 204, 141, 0.1); }

.franchise table.franchise-table2 tr:first-child th,
.franchise table.franchise-table2 tr:first-child td {
  background: #86c565;
  color: white;
  border-right-color: white; }

.franchise table.franchise-table2 tr:last-child th {
  background: rgba(146, 204, 141, 0.6);
  color: #009e96;
  border-top: 2px solid white; }

.franchise table.franchise-table2 tr:last-child td {
  background: rgba(146, 204, 141, 0.5);
  color: #009e96;
  border-top: 2px solid white; }
*/

@media (max-width: 768px) {
  .franchise h3 {
    font-size: 70px; }

  .franchise h4 {
    padding: 0;
    margin: 45px auto 15px;
    width: 80%;
    display: block; }

  .franchise h4 span {
    width: 100%;
    height: auto;
    line-height: 1;
    text-align: center;
    border-radius: 10px 10px 0 0;
    padding: 8px 0;
    margin: 0;
    font-size: 12px;
    letter-spacing: 0.1em; }

  .franchise h4 em {
    width: 100%;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 0 0 10px 10px;
    padding: 0;
    margin: 0;
    font-size: 16px; }

  .franchise p.lead {
    font-size: 18px;
    line-height: 1.3;
    margin: 15px 0 0 0; }

  .franchise p br {
    display: none; }

  .franchise .table-frame {
    border: 10px solid #eee;
    width: 100%;
    overflow-x: scroll; }

  .franchise table {
    margin: 0; } }
    
@media (max-width: 480px) {
    .franchise h3 {
    font-size: 60px; }

    .franchise .txt_cen{text-align:left;}
    
     }

/* ----------------------------------------------------------------------------------------- */
/* ----- STORE-INFO ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.store {
  width: 100%;
  height: auto;
  background: white;
  padding: 0 0 150px;
  margin: 0; }

.store dl {
  border: 0px solid orange;
  width: 100%;
  padding: 0;
  margin: 0 0 30px 0; }

.store dl dt {
  font-size: 20px;
  line-height: 30px;
  font-weight: bold;
  font-style: italic;
  color: #333;
  border-bottom: 1px solid #ddd;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  margin: 0; }

.store dl dt em {
  background: #cb1e38;
  height: 30px;
  width: 30px;
  display: block;
  font-size: 20px;
  line-height: 30px;
  font-weight: 700;
  font-style: italic;
  color: white;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  padding: 0 0 0 0;
  margin: 0 5px 0 0;
  text-align: center; }

.store dl dd {
  padding: 0;
  margin: 0 0 0 35px; }

.store ul {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

.store ul li dl li {
  font-size: 14px;
  font-style: italic;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: #666;
  padding: 0 2em 0 0;
  margin: 0; }

.store ul li strong {
  color: #444; }

/* ----------------------------------------------------------------------------------------- */
/* ----- PHILOSOPHY ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.philosophy {
  width: 100%;
  height: auto;
  padding: 0 0 150px 0;
  margin: 0;
  background: white; }

.philosophy dl {
  border: 0px solid orange;
  width: 50%;
  padding: 0 15px;
  margin: 0 0 15px 0; }


/*
.philosophy dl:last-child	{
  width: 100%;
}
*/


.philosophy dl dt {
  font-size: 35px;
  line-height: 50px;
  font-weight: bold;
  font-style: italic;
  color: #333;
  border-bottom: 1px solid #009e96;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  margin: 0; }

.philosophy dl dt em {
  background: #009e96;
  height: 50px;
  width: 50px;
  display: block;
  font-size: 40px;
  line-height: 50px;
  font-weight: 700;
  color: white;
  font-family: 'Oswald', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Meiryo, "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, "游ゴシック", YuGothic, sans-serif;
  padding: 0 0 0 12px;
  margin: 0 15px 0 0; }

.philosophy dl dd {
  font-size: 16px;
  font-weight: bold;
  font-style: italic;
  line-height: 2.5;
  letter-spacing: 0.1em;
  color: #666;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  padding: 0;
  margin: 0 0 0 65px; }

@media (max-width: 768px) {
  .philosophy dl {
    border: 0px solid orange;
    width: 480px;width:100%;
    padding: 0 15px;
    margin: 0 auto 15px; }

  .philosophy dl dt {
/* 		font-size:3.8vw;		   */
	}

  .philosophy dl dd {
    line-height: 1.5; } 
   }
@media (max-width: 480px) {
  .philosophy dl {
    width: 100%;
    padding: 0 5px; }

  .philosophy dl dt {
    font-size: 27px;
/*     font-size: 3.8vw; */
    line-height: 40px; }

  .philosophy dl dt em {
    height: 40px;
    width: 40px;
    font-size: 30px;
    line-height: 40px;
    padding: 0 0 0 8px; } }
/* ----------------------------------------------------------------------------------------- */
/* ----- LINK-BANNER ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.link-banner {
  width: 100%;
  height: 120px;
  background: black;
  position: relative; 
  display: flex;
  justify-content: center;
  align-items: center;}

/*.link-banner img {
  width: 185px;
  height: auto;
  display: block;
  padding: 0;
  margin: 0 auto; }

.link-banner a {
  width: 100%;
  height: 100%;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

.link-banner::after {
  content: "\f138";
  font-family: FontAwesome;
  padding: 0 0.3em 0 0;
  color: #cb1e38;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  font-size: 30px;
  line-height: 1;
  color: #d2b95b; }*/
  
.link-banner a {
  width: 510px;
  height: 80px;
  background: #fff;
  color: #000;
  font-size: 30px;
  font-weight: bold;
  border-radius: 40px;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }
  
.link-banner a i{
  margin-left:10px;
}

/*.link-banner::after {
  content: "\f138";
  font-family: FontAwesome;
  padding: 0 0.3em 0 0;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  font-size: 30px;
  line-height: 1;
  }  */

.link-banner a:hover {
  opacity: 0.5; }

@media (max-width: 768px) {

    .link-banner a {
      width: 320px;
      height: 50px;
      font-size:18px;
    }

}

@media (max-width: 320px) {

    .link-banner a {
      width: 300px;
    }

}


/* ----------------------------------------------------------------------------------------- */
/* ----- RECRUIT ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.recruit {
  width: 100%;
  height: auto;
  padding: 150px 0 0;
  margin: 0;
  background: #f3f7f8; }

@media (max-width: 768px) {
  .recruit {
    padding: 5px 0; } }
/* ----------------------------------------------------------------------------------------- */
/* ----- INTERVIEW ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.interview {
  width: 100%;
  height: auto;
  padding: 90px 0;
  margin: 0;
  background: #f3f7f8; }

.interview ul.full li {
  border: 0px solid aqua;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 0 45px 0; }

.interview ul.full li:nth-child(odd) .face {
  border: 0px solid black; }

.interview ul.full li:nth-child(odd) .text {
  border: 0px solid red; }

.interview ul.full .face,
.interview ul.full .text {
  border: 0px solid orange;
  width: 100%;
  padding: 0 30px; }

.interview ul.full .face img {}

.interview dl {
  padding: 0;
  margin: 0 0 30px 0; }

.interview dl dt {
  font-size: 36px;
  line-height: 1.85;
  color: #333;
  letter-spacing: 0.43em;
  font-weight: bold; }

.interview dl dd {
  font-size: 12px;
  line-height: 2;
  color: #888;
  letter-spacing: 0.6em;
  font-weight: bold; }

.interview p {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #666;
  padding: 0 0 30px;
  margin: 0; }

.interview p.lead small{font-size: 14px;}
  
.interview p.lead {
  font-size: 24px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #cb1e38;
  padding: 0 0 0.5em 0;
  margin: 0; }
  
.interview .owner {
  font-size: 30px;
  font-weight: bold;
  width:50%;
  margin:0 auto 30px;
  text-align:center;
  line-height: 1;
  letter-spacing: 0.1em;
  display:block;
  color: #fff;
  background:#cb1e38;
  border-radius: 25px;
  padding: 15px 0;
  }
  
.interview .voice {
  font-size: 30px;
  font-weight: bold;
  width:33%;
  margin:0 auto 30px;
  text-align:center;
  line-height: 1;
  letter-spacing: 0.1em;
  display:block;
  color: #fff;
  background:#009e96;
  border-radius: 25px;
  padding: 15px 0;
  }


.interview ul.half li {
  border: 0px solid aqua;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 0 45px 0; }

.interview ul.half .face,
.interview ul.half .text {
  border: 0px solid orange;
  width: 50%;
  padding: 0 30px; }

.interview ul.half .face img {
  border: 1px solid #eee; }
  
.interview ul.half li:nth-child(odd) .face {
  order: 1;
  border: 0px solid black; }

.interview ul.half li:nth-child(odd) .text {
  order: 2;
  border: 0px solid red; }


@media (max-width: 768px) {
  .interview ul.full li,
  .interview ul.half li{
    display: block; }

  .interview ul.full li:nth-child(odd) .face,
  .interview ul.half li:nth-child(odd) .face{
    order: 1; }

  .interview ul.full li:nth-child(odd) .text,
  .interview ul.half li:nth-child(odd) .text {
    order: 2; }

  .interview ul.full .face,
  .interview ul.half .face,
  .interview ul.full .text,
  .interview ul.half .text{
    width: 90%;
    padding: 0;
    margin: 0 auto; } 
    
    .interview .owner,
    .interview .voice{
      font-size: 20px;
      width:90%;
      }

    .interview p.lead {
      font-size: 18px;
      line-height: 1.5;
    }
    
    }
        
@media (max-width: 480px) {
  .interview .face,
  .interview .text {
    width: 80%; }

  .interview dl dt {
    letter-spacing: 0.2em;
    font-size:24px;
    line-height:1.5;} }
    
    
@media (max-width: 375px) {
  .interview .face,
  .interview .text {
    width: 100%; } }
    
    
    
/* ----------------------------------------------------------------------------------------- */
/* ----- GALLERY ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.gallery {
  width: 100%;
  height: auto;
  padding: 60px 0;
  margin: 0;
  background: black;
  border: 0px solid red; }

.gallery h3 {
  color: white;
  font-size: 80px;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  font-weight: 400; }

.gallery h3 small {
  display: block;
  font-size: 60px;
  letter-spacing: 0.02em; }
  
.gallery h3 span {
  display: block;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.27em;
  margin-top:10px; }


.gallery ul {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  border: 0px solid orange; }

.gallery ul li {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

.gallery ul li:first-child {
  width: 25%; }

.gallery ul li:last-child {
  width: 75%; }

.gallery ul li ol {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  border: 2px solid black; }

.gallery ul li ol li,
.gallery ul li ol li:first-child,
.gallery ul li ol li:last-child {
  width: 16.6666666667%;
  border: 2px solid black; }

.gallery ul li ol li img{width:100%;}


@media (max-width: 768px) {
  .gallery ul li:first-child {
    width: 100%;
    padding: 30px 0; }

  .gallery ul li:last-child {
    width: 100%; }

  .gallery ul li ol {
    border: 4px solid black; }

  .gallery ul li ol li,
  .gallery ul li ol li:first-child,
  .gallery ul li ol li:last-child {
    width: 25%;
    padding: 0;
    border: 4px solid black; } }
@media (max-width: 480px) {
  .gallery ul li ol li,
  .gallery ul li ol li:first-child,
  .gallery ul li ol li:last-child {
    width: 33.3333333333%;
    padding: 0; } }
/* ----------------------------------------------------------------------------------------- */
/* ----- MESSAGE ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.message {
  background: #fff url(../img/index/bg-message.jpg) no-repeat;
  background-position: center center;
  background-size: cover;
  width: 100%;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 60px 0 0;
  margin: 0; }

.message .text {
  width: 60%;
  min-width: 720px;
  padding: 0;
  margin: 0 0 0 45px; }

.message .text h3 {
  font-size: 27px;
  line-height: 1.1;
  padding: 0;
  margin: 0 0 32px 0;
  color: #333; }
  
.message .text h3 small {
  font-size: 20px;
  line-height: 2;}


.message .text p {
  font-size: 14px;
  line-height: 2;
  padding: 0;
  margin: 0;
  color: #333; }
  
.message .text p.last {

  padding: 0 0 30px; }
  
.message .text p.txt {
  font-size: 18px;
  line-height: 1.8;
  padding: 0;
  margin: 0 0 0 0;
  color: #666; }
  
.message .text p.txt_right {
text-align: right; 
padding-bottom: 25px;}

.message .text ol li{font-size:21px;color:#333!important;line-height:1.3;font-weight:normal;font-style:italic;padding:0;margin:0;list-style:none;}
.message .text ol li small{display:block;font-size:13px;color:#666!important;padding:0 0 10px 43px;}

@media (max-width: 768px) {
  /*.message {
    background: url(../img/index/bg-message-sp.jpg) #f8ebdc;
    background-position: center top;
    background-size: cover;
    height: auto;
    padding: 60px 0;
    margin: 0;
    -webkit-align-items: flex-end;
    align-items: flex-end; }

  .message .text {
    width: 100%;
    min-width: 100%;
    padding: 30px;
    margin: 0;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 2px; }

  .message .text h3 {
    font-size: 30px; }
    
  .message .text h3 small{
    font-size: 15px; }

  .message .text p {
    font-size: 14px;
    color: #333; } }*/
    
  .message {
    background:linear-gradient(#6b331f 0%, #4e1c0a 100%);
    background-position: center top;
    background-size: cover;
    height: auto;
    padding: 60px 0;
    margin: 0;
    -webkit-align-items: flex-end;
    align-items: flex-end; }

  .message .text {
    width: 100%;
    min-width: 100%;
    padding: 30px;
    margin: 0;
    background: transparent;
    border-radius: 2px; }

  .message .text h3 {
    font-size: 30px;
    color: white;}
    
  .message .text h3 small{
    font-size: 15px;
    color: white;}

  .message .text p {
    font-size: 14px;
    color: white; }
    
    .message .text ol li{font-size:16px;padding-left:10px;padding-right:10px;color: white!important;}
    .message .text ol li small{display:block;font-size:13px;color: white!important;padding:0 0 10px 30px;}    
    
     }
    
@media (max-width: 480px) {
  .message {
    background-image: none;
    background: linear-gradient(#6b331f 0%, #4e1c0a 100%);
    height: auto;
    padding: 5px 0;
    display: block; }

  .message .text {
    width: 100%;
    min-width: 100%;
    padding: 15px;
    background: transparent; }

  .message .text h3 {
    font-size: 20px;
    line-height: 1.3;
    color: white; }

/*  .message .text h3 br {
    display: none; }*/

  .message .text p,.message .text p.txt {
    font-size: 14px;
    color: white; }

  .message .text p.txt_right {
    padding-top:20px; }


    .message .text ol li,.message .text ol li small{color:#fff;}
    
}

/* ----------------------------------------------------------------------------------------- */
/* ----- MAP ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
.map {
  width: 100%;
  height: auto; }

.map iframe {
  width: 100%;
  height: 360px;
  vertical-align: bottom; }
  
/* ----------------------------------------------------------------------------------------- */
/* ----- fixed ----------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */
 
.fixed1 {
    display:block;
    position:fixed;
    z-index:80000;
    right:0;
    top:30%;
}

.fixed1 img {
	max-width:50px;
	height:auto;
	display:block;
}


@media (max-width: 768px) {

    .fixed1 {display:none;}

}

.swiper-slide a:hover img{opacity:1.0;}








/* --- 2020-09-24 追加 --- */

#startup	{
	padding-top:100px;
	margin-top:-100px;
}

.startup	{
	background:white;
	padding:90px 0;
}

.startup h2	{
	margin-top:1.5em;
}

.startup h3	{
	color:#0068B5;
	font-size:18px;
	text-align: left;
	line-height: 1.7;
	padding:0;
	margin:1em 0 0 0;
	font-weight:bold;
}

.startup h4	{
	color:#333;
	font-size:16px;
	font-weight:bold;
	text-align: left;
	line-height: 1.7;
	padding:0;
	margin:1em 0 0 0;
}

.startup h6 {
  font-size: 90px;
  line-height: 1.1;
  font-weight: bold;
  font-style: italic;
  color: #333;
  border-bottom: 4px solid #333;
  padding: 0 0 15px 0;
  margin: 0 0 15px 0; 
}


.startup table th,
.startup table td,
.startup dl,
.startup dt,
.startup p	{
	color:#666;
	font-size:16px;
	text-align: left;
	line-height: 1.7;
	font-style:normal;
	padding:0;
	margin:0;
}

.startup small	{
	font-size:0.7em;
}



.startup table	{
	margin:0 0 30px 0;
	}
	
.startup table th,
.startup table td	{
	background:white;
	border:none;
	border-bottom:1px solid rgba(0, 104, 181, 0.3);
	padding:0.3em;
	font-size:14px;
}

.startup table td	{
	font-weight:bold;
	text-align:right;
	color:#333;
}

.startup dl	{
	display : -webkit-flex;
	display :-ms-flexbox;
	display : flex;
	-webkit-flex-wrap : wrap;
	-ms-flex-wrap : wrap;
	flex-wrap : wrap; 
	border-bottom:1px solid rgba(0, 104, 181, 0.3);
	padding-bottom:10px;
}

.startup dt	{
	width:80%;
	font-size:14px;
	padding-right:1em;
}

.startup dd	{
	width:20%;
	font-weight:bold;
	-webkit-justify-content : flex-end;
	-ms-flex-pack : flex-end;
	justify-content : flex-end;
	-webkit-align-items : flex-end; 
	-ms-flex-align : flex-end;
	align-items : flex-end;
	display : -webkit-flex;
	display :-ms-flexbox;
	display : flex;
	-webkit-flex-wrap : wrap;
	-ms-flex-wrap : wrap;
	flex-wrap : wrap; 
	color:#333;
	font-size:14px;
}

.startup dt.half,
.startup dd.half	{
	width:50%;
}

.startup .left-column	{
	padding-right:30px;
}

.startup .right-column	{
	padding-left:30px;
}

.startup p	{
	text-align: right;
	font-size:12px;
	margin-top:1em;
}



@media (max-width: 768px) {
	.startup h6 {
  	font-size: 70px;
	}
	
	.startup .col-06	{
		width:100%;
	}
	
	.startup .left-column	{
		padding-right:10px;
	}

	.startup .right-column	{
		padding-left:10px;
	}

}
@media (max-width: 480px) {
	.startup h6 {
  	font-size: 60px;
	}
	.startup dt,
	.startup dd	{
		padding:0 0 15px 0;
	}
}
@media (max-width: 375px) {
}


/*
span.marker	{
	display: inline-block;
	font-weight:bold;
	padding-left:5px;
	padding-right:10px;
	background:linear-gradient(transparent 0%, #ffff87 0%);
	color:#111;
}
*/

