@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Lato");
@import url("https://fonts.googleapis.com/css?family=roundedmplus1c");
body {
  color: #EC7700;
  font-family: -apple-system, blinkMacSystemFont, "Lato", YuGothicM, YuGothic, Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased; }

/* Windows */
@font-face {
  font-family: YuGothicM;
  font-weight: normal;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
  /* Windows8.1ではMediumがないのでRegularを指定 */ }
@font-face {
  font-family: YuGothicM;
  font-weight: bold;
  src: local("YoGothic-Bold"), local("Yu Gothic");
  /* Chrome用 */ }
/*IE*/
@font-face {
  font-family: rounded-l-mplus-1p-bold;
  src: url("font/rounded-l-mplus-1p-bold.eot"); }
/* Firefox, Opera, Safari */
@font-face {
  font-family: rounded-l-mplus-1p-bold;
  src: url("font/rounded-l-mplus-1p-bold.ttf") format("truetype"); }
.content {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  -webkit-font-smoothing: antialiased; }

.en {
  font-family: 'Lato',helvetica,arial,sans-serif;
  -webkit-font-smoothing: antialiased; }

.jp {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  -webkit-font-smoothing: antialiased; }

.wf-notosansjapanese {
  font-family: "Noto Sans Japanese"; }

.wf-mplus1p {
  font-family: "Rounded Mplus 1c";
  font-size: 30px;
  font-weight: bold; }

.txt-main-color{color:#EC7700;}

ruby {
  font-size: 80%; }

/*============================
フォントサイズ
============================*/
.txt-gnavi {
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 0.2px; }

.txt-fnavi {
  font-size: 12px; }
  .txt-fnavi small {
    font-size: 10px;
    color: #ccc; }

.txt-sp-gnavi {
  font-size: 25px !important; }

.txt-ttl {
  font-size: 40px;
  font-weight: bold; }

.txt-ttl-art {
  font-size: 25px;
  font-weight: bold; }

.txt-ttl-sub {
  font-size: 16px;
  font-weight: bold; }

.txt-ttl-cocept {
  font-size: 13px;
  font-weight: bold; }

.txt-ttl-headline {
  font-size: 16px;
  font-weight: bold; }

.txt-btn {
  font-size: 13px;
  line-height: 100%;
  font-weight: bold; }

.txt-body {
  font-size: 14px;
  line-height: 165%; }

.txt-cap {
  font-size: 12px;
  line-height: 145%; }

.txt-gray {
  color: #666; }

.txt-white {
  color: #fff; }

.txt-ll {
  font-size: 1.9em;
  line-height: 130%; }

.txt-l {
  font-size: 1.7em;
  line-height: 130%; }

.txt-m {
  font-size: 1.5em;
  line-height: 130%; }

.txt-s {
  font-size: 1.2em;
  line-height: 150%; }

.txt-ss {
  font-size: 0.9em;
  line-height: 160%; }

.txt-xs {
  font-size: 0.75em;
  line-height: 165%; }

.txt-xxs {
  font-size: 0.6em;
  line-height: 165%; }

.txt-xxxs {
  font-size: 0.6em;
  line-height: 165%; }

.txt-c-pc {
  text-align: left; }

.txt-c-sp {
  text-align: center; }

.txt-ls-tight {
  letter-spacing: -1px; }

.txt-ls-wide {
  letter-spacing: 1px; }

.b {
  font-weight: bold; }

.txt-le {
  text-align: left; }

.txt-r {
  text-align: right; }

.txt-c {
  text-align: center; }

.txt-js {
  text-align: justify;
  text-justify: inter-ideograph; }

.txt-thr {
  text-decoration: line-through; }

.txt-attention {
  color: #FD1566; }

/*============================
文字間
============================*/
.ls-l {
  letter-spacing: 3px; }

.ls-m {
  letter-spacing: 1.5px; }

.ls-s {
  letter-spacing: -1.5px; }

.ls-ss {
  letter-spacing: -5px; }

/*============================
行間
============================*/
.lh-s {
  line-height: 100%; }

.lh-140 {
  line-height: 140%; }

.lh-160 {
  line-height: 160%; }

.lh-200 {
  line-height: 200%; }

/*============================
インデント
============================*/
.indent {
  padding-left: 1em;
  text-indent: -1em; }


.txt-slider {
    position: absolute;
    top: 500px;
    left: 1400px;
    font-size: 6rem;
    color: #fff;
}

.header_deco {
  top: 0;
  z-index: 100;
  position: fixed;
  width: 100%;
  height: 40px;
  background: url(../img/header_deco01.png) repeat-x;
  background-size: 30px; }

/*========================================================
// ■ tablet: 768px;
========================================================*/
/*========================================================
// ■ pc: 992px;
========================================================*/
@media (min-width: 992px) {
  /*============================
  フォントサイズ
  ============================*/
  .txt-gnavi {
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 0.2px; }

  .txt-gnavi-sub {
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.2px; }

  .txt-fnavi {
    font-size: 12px; }
    .txt-fnavi small {
      font-size: 10px;
      color: #ccc; }

  .txt-ttl {
    font-size: 50px;
    font-weight: bold; }

  .txt-ttl-sub {
    font-size: 16px;
    font-weight: bold; }

  .txt-ttl-works {
    font-size: 30px;
    font-weight: bold; }

  .txt-ttl-cocept {
    font-size: 15px;
    font-weight: bold; }

  .txt-ttl-headline {
    font-size: 20px;
    font-weight: bold; }

  .txt-btn {
    font-size: 13px;
    line-height: 100%;
    font-weight: bold; }

  .txt-body {
    font-size: 14px;
    line-height: 165%; }

  .txt-cap {
    font-size: 12px;
    line-height: 145%; }

  .txt-gray {
    color: #666; }

  .txt-white {
    color: #fff; }

  .txt-main {
    color: #EC7700; }

  .txt-ll {
    font-size: 1.9em;
    line-height: 130%; }

  .txt-l {
    font-size: 1.7em;
    line-height: 130%; }

  .txt-m {
    font-size: 1.5em;
    line-height: 130%; }

  .txt-s {
    font-size: 1.2em;
    line-height: 150%; }

  .txt-ss {
    font-size: 0.9em;
    line-height: 160%; }

  .txt-xs {
    font-size: 0.75em;
    line-height: 165%; }

  .txt-xxs {
    font-size: 0.6em;
    line-height: 165%; }

  .txt-xxxs {
    font-size: 0.6em;
    line-height: 165%; }

  .txt-c-pc {
    text-align: left; }

  .txt-c-sp {
    text-align: center; }

  .txt-ls-tight {
    letter-spacing: -1px; }

  .txt-ls-wide {
    letter-spacing: 1px; }

  .b {
    font-weight: bold; }

  .txt-le {
    text-align: left; }

  .txt-r {
    text-align: right; }

  .txt-c {
    text-align: center; }

  .txt-js {
    text-align: justify;
    text-justify: inter-ideograph; }

  .txt-thr {
    text-decoration: line-through; }

  .txt-attention {
    color: #FD1566; }

  /*============================
  文字間
  ============================*/
  .ls-l {
    letter-spacing: 3px; }

  .ls-m {
    letter-spacing: 1.5px; }

  .ls-s {
    letter-spacing: -1.5px; }

  .ls-ss {
    letter-spacing: -5px; }

  /*============================
  行間
  ============================*/
  .lh-s {
    line-height: 100%; }

  .lh-140 {
    line-height: 140%; }

  .lh-160 {
    line-height: 160%; }

  .lh-200 {
    line-height: 200%; }

  /*============================
  インデント
  ============================*/
  .indent {
    padding-left: 1em;
    text-indent: -1em; }

  .txt-c-pc {
    text-align: center; }

  .txt-c-sp {
    text-align: left; } }
/*========================================================
// ■ pc-large: 1200px;
========================================================*/
/*============================
#common style
============================*/
.bg-gray {
  background-color: #f1f1f1; }

.bg-white {
  background-color: #ffffff;
  opacity: 0.95; }

.bg-black {
  background-color: #000000; }

.bg-main {
  background-color: #EC7700; }

.hidden {
  display: none; }

.clear {
  clear: both; }

.clearL {
  clear: left; }

.clearR {
  clear: right; }

.fl {
  float: left; }

.fr {
  float: right; }

.clearfix:after {
  display: block;
  clear: both;
  content: ""; }

.list_style_square {
  list-style-type: square; }

::selection {
  color: #fff;
  background: #EC7700;
  /* Safari */ }

::-moz-selection {
  color: #fff;
  background: #EC7700;
  /* Firefox */ }

a {
  color: inherit;
  text-decoration: none; }

a.line {
  color: inherit;
  text-decoration: underline; }

a.btn {
  color: inherit;
  text-decoration: none; }

a:hover {
  -webkit-transition: all 0.3s ease-in;
  -moz-transition: all 0.3s ease-in;
  -o-transition: all 0.3s ease-in;
  transition: all  0.3s ease-in; }

a img {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease; }

a {
  opacity: 1;
  transition: opacity 0.5s; }

a:hover {
  opacity: 0.7;
  transition: opacity 0.5s; }

.m-auto {
  margin: 0 auto; }

.img-70 img {
  width: 70%; }

.img-80 img {
  width: 80%; }

.img-90 img {
  width: 90%; }

.mt-xl {
  margin-top: 100px; }

.mt-ll {
  margin-top: 80px; }

.mt-l {
  margin-top: 60px; }

.mt-m {
  margin-top: 40px; }

.mt-s {
  margin-top: 20px; }

.mt-ss {
  margin-top: 10px; }

.mt-xs {
  margin-top: 5px; }

.mb-xl {
  margin-bottom: 100px; }

.mb-ll {
  margin-bottom: 80px; }

.mb-l {
  margin-bottom: 60px; }

.mb-m {
  margin-bottom: 40px; }

.mb-s {
  margin-bottom: 20px; }

.mb-ss {
  margin-bottom: 10px; }

.mb-xs {
  margin-bottom: 5px; }

.pt-xl {
  padding-top: 150px; }

.pt-ll {
  padding-top: 80px; }

.pt-l {
  padding-top: 60px; }

.pt-m {
  padding-top: 40px; }

.pt-s {
  padding-top: 20px; }

.pt-ss {
  padding-top: 10px; }

.pt-xs {
  padding-top: 5px; }

.pb-xl {
  padding-bottom: 100px; }

.pb-ll {
  padding-bottom: 80px; }

.pb-l {
  padding-bottom: 60px; }

.pb-m {
  padding-bottom: 40px; }

.pb-s {
  padding-bottom: 20px; }

.pb-ss {
  padding-bottom: 10px; }

.pb-xs {
  padding-bottom: 5px; }

/* padding,margin style
--------------------*/
.pt5 {
  padding-top: 5px; }

.pt10 {
  padding-top: 10px; }

.pt15 {
  padding-top: 15px; }

.pt20 {
  padding-top: 20px; }

.pt25 {
  padding-top: 25px; }

.pt30 {
  padding-top: 30px; }

.pt35 {
  padding-top: 35px; }

.pt40 {
  padding-top: 40px; }

.pt45 {
  padding-top: 45px; }

.pt50 {
  padding-top: 50px; }

.pt55 {
  padding-top: 55px; }

.pt60 {
  padding-top: 60px; }

.pt65 {
  padding-top: 65px; }

.pt70 {
  padding-top: 70px; }

.pt75 {
  padding-top: 75px; }

.pt80 {
  padding-top: 80px; }

.pt85 {
  padding-top: 85px; }

.pt90 {
  padding-top: 90px; }

.pt95 {
  padding-top: 95px; }

.pt100 {
  padding-top: 100px; }

.pb5 {
  padding-bottom: 5px; }

.pb10 {
  padding-bottom: 10px; }

.pb15 {
  padding-bottom: 15px; }

.pb20 {
  padding-bottom: 20px; }

.pb25 {
  padding-bottom: 25px; }

.pb30 {
  padding-bottom: 30px; }

.pb35 {
  padding-bottom: 35px; }

.pb40 {
  padding-bottom: 40px; }

.pb45 {
  padding-bottom: 45px; }

.pb50 {
  padding-bottom: 50px; }

.pb55 {
  padding-bottom: 55px; }

.pb60 {
  padding-bottom: 60px; }

.pb65 {
  padding-bottom: 65px; }

.pb70 {
  padding-bottom: 70px; }

.pb75 {
  padding-bottom: 75px; }

.pb80 {
  padding-bottom: 80px; }

.pb85 {
  padding-bottom: 85px; }

.pb90 {
  padding-bottom: 90px; }

.pb95 {
  padding-bottom: 95px; }

.pb100 {
  padding-bottom: 100px; }

.pr5 {
  padding-right: 5px; }

.pr10 {
  padding-right: 10px; }

.pr15 {
  padding-right: 15px; }

.pr20 {
  padding-right: 20px; }

.pr25 {
  padding-right: 25px; }

.pr30 {
  padding-right: 30px; }

.pr35 {
  padding-right: 35px; }

.pr40 {
  padding-right: 40px; }

.pr45 {
  padding-right: 45px; }

.pr50 {
  padding-right: 50px; }

.pl5 {
  padding-left: 5px; }

.pl10 {
  padding-left: 10px; }

.pl15 {
  padding-left: 15px; }

.pl20 {
  padding-left: 20px; }

.pl25 {
  padding-left: 25px; }

.pl30 {
  padding-left: 30px; }

.pl35 {
  padding-left: 35px; }

.pl40 {
  padding-left: 40px; }

.pl45 {
  padding-left: 45px; }

.pl50 {
  padding-left: 50px; }

.mt5 {
  margin-top: 5px; }

.mt10 {
  margin-top: 10px; }

.mt15 {
  margin-top: 15px; }

.mt20 {
  margin-top: 20px; }

.mt25 {
  margin-top: 25px; }

.mt30 {
  margin-top: 30px; }

.mt35 {
  margin-top: 35px; }

.mt40 {
  margin-top: 40px; }

.mt45 {
  margin-top: 45px; }

.mt50 {
  margin-top: 50px; }

.mt55 {
  margin-top: 55px; }

.mt60 {
  margin-top: 60px; }

.mt65 {
  margin-top: 65px; }

.mt70 {
  margin-top: 70px; }

.mt75 {
  margin-top: 75px; }

.mt80 {
  margin-top: 80px; }

.mt85 {
  margin-top: 85px; }

.mt90 {
  margin-top: 90px; }

.mt95 {
  margin-top: 95px; }

.mt100 {
  margin-top: 100px; }

.mb5 {
  margin-bottom: 5px; }

.mb10 {
  margin-bottom: 10px; }

.mb15 {
  margin-bottom: 15px; }

.mb20 {
  margin-bottom: 20px; }

.mb25 {
  margin-bottom: 25px; }

.mb30 {
  margin-bottom: 30px; }

.mb35 {
  margin-bottom: 35px; }

.mb40 {
  margin-bottom: 40px; }

.mb45 {
  margin-bottom: 45px; }

.mb50 {
  margin-bottom: 50px; }

.mb55 {
  margin-bottom: 55px; }

.mb60 {
  margin-bottom: 60px; }

.mb65 {
  margin-bottom: 65px; }

.mb70 {
  margin-bottom: 70px; }

.mb75 {
  margin-bottom: 75px; }

.mb80 {
  margin-bottom: 80px; }

.mb85 {
  margin-bottom: 85px; }

.mb90 {
  margin-bottom: 90px; }

.mb95 {
  margin-bottom: 95px; }

.mb100 {
  margin-bottom: 100px; }

.mr5 {
  margin-right: 5px; }

.mr10 {
  margin-right: 10px; }

.mr15 {
  margin-right: 15px; }

.mr20 {
  margin-right: 20px; }

.mr25 {
  margin-right: 25px; }

.mr30 {
  margin-right: 30px; }

.mr35 {
  margin-right: 35px; }

.mr40 {
  margin-right: 40px; }

.mr45 {
  margin-right: 45px; }

.mr50 {
  margin-right: 50px; }

.ml5 {
  margin-left: 5px; }

.ml10 {
  margin-left: 10px; }

.ml15 {
  margin-left: 15px; }

.ml20 {
  margin-left: 20px; }

.ml25 {
  margin-left: 25px; }

.ml30 {
  margin-left: 30px; }

.ml35 {
  margin-left: 35px; }

.ml40 {
  margin-left: 40px; }

.ml45 {
  margin-left: 45px; }

.ml50 {
  margin-left: 50px; }

.pdreset {
  padding: 0 !important; }

/*========================================================
// ■ SP: 768px以下;
========================================================*/
hr {
  margin: 0; }

hr.bdr-wt {
  border: 0;
  border-bottom: 1px solid #fff; }

hr.bdr-bk {
  border: 0;
  border-bottom: 1px solid #222; }

.bdr-pds {
  padding-bottom: 0.3rem;
  margin-bottom: 0.3rem; }

.bdr-pd1 {
  padding-bottom: 1rem;
  margin-bottom: 1rem; }

.bdr-pd2 {
  padding-bottom: 2rem;
  margin-bottom: 2rem; }

.bdr-pd3 {
  padding-bottom: 3rem;
  margin-bottom: 3rem; }

/*============================
// ボタン SP
============================*/
.btn-large {
  text-align: center;
  width: 80%;
  margin: 0 auto;
  border-radius: 3px;
  /* CSS3草案 */
  -webkit-border-radius: 3px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 3px;
  /* Firefox用 */
  padding: 20px 1.3rem;
  background-color: #222;
  color: #fff;
  letter-spacing: 0.1; }
  .btn-large span img {
    width: 15px;
    height: 15px; }

.btn-small {
  text-align: center;
  width: 70%;
  margin: 0 auto;
  border-radius: 3px;
  /* CSS3草案 */
  -webkit-border-radius: 3px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 3px;
  /* Firefox用 */
  padding: 14px 1.3rem;
  background-color: #222;
  color: #fff;
  overflow: hidden; }

.btn-more .btn-small {
  cursor: pointer; }

.btn-large-none {
  border-radius: 3px;
  /* CSS3草案 */
  -webkit-border-radius: 3px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 3px;
  /* Firefox用 */
  padding: 13px 1rem;
  background-color: #ccc;
  color: #fff;
  text-align: center; }

.btn-medium {
  margin: 0 auto;
  width: 70%;
  border-radius: 3px;
  /* CSS3草案 */
  -webkit-border-radius: 3px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 3px;
  /* Firefox用 */
  padding: 12px 1.1rem;
  background-color: #222;
  color: #fff;
  text-align: center; }

.btn-attention {
  background-color: #FD1566 !important; }

.totop {
  position: fixed;
  bottom: 40px;
  right: 10px;
  z-index: 400; }
  .totop img {
    width: 60px;
    height: 60px; }

.insta {
  position: fixed;
  bottom: 40px;
  left: 10px;
  z-index: 400; }
  .insta img {
    width: 60px;
    height: 60px; }

/*============================
// 改行 SP
============================*/
.pc {
  display: none; }

.sp {
  display: block; }

br.spbr {
  display: inline; }

br.pcbr {
  display: none; }

/*========================================================
// ■ tablet: 768px;
========================================================*/
/*========================================================
// ■ pc: 992px;
========================================================*/
@media (min-width: 992px) {
  /*============================
  // 改行 PC
  ============================*/
  .pc {
    display: block; }

  .sp {
    display: none; }

  br.spbr {
    display: none; }

  br.pcbr {
    display: inline; }

  /*============================
  // ボタン PC
  ============================*/
  .btn-large {
    opacity: 1;
    transition: opacity 0.2s;
    text-align: center;
    width: 40%;
    margin: 0 auto;
    border-radius: 3px;
    /* CSS3草案 */
    -webkit-border-radius: 3px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 3px;
    /* Firefox用 */
    padding: 15px 3rem;
    background-color: #222;
    color: #fff;
    letter-spacing: 0.1; }
    .btn-large span img {
      width: 17px;
      height: 17px; }

  .btn-large:hover {
    opacity: 0.8;
    transition: opacity 0.2s; }

  .btn-small {
    opacity: 1;
    transition: opacity 0.2s;
    text-align: center;
    width: 25%;
    margin: 0 auto;
    border-radius: 3px;
    /* CSS3草案 */
    -webkit-border-radius: 3px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 3px;
    /* Firefox用 */
    padding: 13px 1.5rem;
    background-color: #222;
    color: #fff; }

  .btn-small:hover {
    opacity: 0.8;
    transition: opacity 0.2s; }

  .btn-medium {
    opacity: 1;
    transition: opacity 0.2s;
    margin: 0 0;
    width: 25%;
    border-radius: 3px;
    /* CSS3草案 */
    -webkit-border-radius: 3px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 3px;
    /* Firefox用 */
    padding: 10px 1.5rem;
    background-color: #222;
    color: #fff;
    text-align: center; }

  .btn-medium:hover {
    opacity: 0.8;
    transition: opacity 0.2s; }

  .totop {
    position: fixed;
    bottom: 40px;
    right: 10px;
    z-index: 400; }
    .totop img {
      width: 60px;
      height: 60px; } }

  .insta {
    position: fixed;
    bottom: 40px;
    left: 10px;
    z-index: 400; }
    .insta img {
      width: 60px;
      height: 60px; } }
/*========================================================
// ■ pc-large: 1200px;
========================================================*/
/*========================================================
// ■ SP: 768px以下;
========================================================*/
.header_deco {
  top: 0;
  z-index: 100;
  position: fixed;
  width: 100%;
  height: 40px;
  background: url(../img/header_deco01.png) repeat-x;
  background-size: 30px; }

.footer_deco {
  position: fixed;
  z-index: 100;
  bottom: 0;
  width: 100%;
  height: 15px;
  background: url(../img/footer_deco01.png) repeat-x;
  background-size: 30px; }

header {
  position: static;
  padding: 20px 0 20px 0; }
  header .logo_area {
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    width: 100%; }
    header .logo_area h1 svg {
      width: 70%;
      text-align: center; }
  header .fill-white {
    fill: #fff; }
  header nav {
    width: 70%;
    margin: 0 auto;
    text-align: center;
    vertical-align: middle; }
    header nav ul.navi {
      display: inline-block;
      background-color: #EC7700;
      float: none;
      padding: 30px 15px 32px 0;
      border-radius: 60px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-box-pack: justify;
      /*--- Androidブラウザ用 ---*/
      -ms-flex-pack: justify;
      /*--- IE10 ---*/
      -webkit-justify-content: center;
      /*--- safari（PC）用 ---*/
      justify-content: center; }
      header nav ul.navi li {
        text-align: center;
        padding: 0 26px 0 30px;
        background: url(../img/gnavi_deco.png) no-repeat; }
        header nav ul.navi li a {
          text-decoration: none; }
      header nav ul.navi li:first-child {
        background: none; }
      header nav ul.navi li:last-child {
        padding: 0 0 0 15px; }
        header nav ul.navi li:last-child a {
          text-decoration: none; }
      header nav ul.navi li.btn-rsv {
        padding: 0 0 0 15px; }
        header nav ul.navi li.btn-rsv a {
          text-decoration: none; }
      header nav ul.navi .off {
        opacity: 0.5 !important; }
      header nav ul.navi .active {
        text-decoration: none;
        border-bottom: 3px solid #222;
        color: #000;
        font-weight: bold; }
    header nav .btn-reserve {
      margin: -6px 0 0 0px;
      border-radius: 3px;
      /* CSS3草案 */
      -webkit-border-radius: 3px;
      /* Safari,Google Chrome用 */
      -moz-border-radius: 3px;
      /* Firefox用 */
      padding: 10px 25px;
      background-color: #222;
      color: #fff;
      text-align: center; }
      header nav .btn-reserve a {
        display: block; }
    header nav .btn-reserve-wt {
      margin: -6px 0 0 0px;
      border-radius: 3px;
      /* CSS3草案 */
      -webkit-border-radius: 3px;
      /* Safari,Google Chrome用 */
      -moz-border-radius: 3px;
      /* Firefox用 */
      padding: 10px 25px;
      background-color: #fff;
      color: #000;
      text-align: center; }
      header nav .btn-reserve-wt a {
        display: block; }
  header nav ul.txt-white .off {
    color: #fff !important; }

/*============================
// スマホハンバーガーナビ（TOP用）
============================*/
.menu-trigger-top,
.menu-trigger-top span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
  z-index: 99998; }

.menu-trigger-top {
  position: relative;
  width: 32px;
  height: 36px; }

.menu-trigger-top span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  border-radius: 0px;
  background-color: #fff; }

.menu-trigger-top span:nth-of-type(1) {
  top: 10px; }

.menu-trigger-top span:nth-of-type(2) {
  top: 21px; }

.menu-trigger-top span:nth-of-type(3) {
  bottom: 0px; }

.menu-trigger-top span:nth-of-type(2)::after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 4px;
  background-color: #fff;
  border-radius: 0px;
  transition: all .4s; }

.menu-trigger-top.menu-active span:nth-of-type(1) {
  transform: translateY(20px) scale(0); }

.menu-trigger-top.menu-active span:nth-of-type(2) {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.menu-trigger-top.menu-active span:nth-of-type(2)::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg); }

.menu-trigger-top.menu-active span:nth-of-type(3) {
  transform: translateY(-20px) scale(0); }

/*============================
// スマホナビ／開く（白字に黒のハンバーガー）
============================*/
#navigation {
  z-index: 30;
  position: fixed;
  display: none;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  color: #000;
  background-color: #fff;
  opacity: 0.95;
  font-weight: bold; }

#navigation .navigation_inner .navigation_menu .navigation_item a {
  display: block;
  position: relative;
  text-decoration: none;
  color: #000;
  line-height: 20px;
  text-align: center;
  font-weight: bold; }

/*============================
// トップ用スマホナビ／開く（黒字に白のハンバーガー）
============================*/
#navigation-top {
  z-index: 30;
  position: fixed;
  display: none;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  color: #fff;
  background-color: #000;
  opacity: 0.95;
  font-weight: bold; }

#navigation-top .navigation_inner,
#navigation .navigation_inner {
  display: table;
  width: 100%;
  height: 100%; }

#navigation-top .navigation_inner .navigation_menu,
#navigation .navigation_inner .navigation_menu {
  display: table-cell;
  vertical-align: middle; }

#navigation-top .navigation_inner .navigation_menu .navigation_item,
#navigation .navigation_inner .navigation_menu .navigation_item {
  width: 300px;
  height: 45px;
  margin: 16px auto 0 auto; }

#navigation-top .navigation_inner .navigation_menu .navigation_item:first-child,
#navigation .navigation_inner .navigation_menu .navigation_item:first-child {
  margin-top: 0; }

#navigation-top .navigation_inner .navigation_menu .navigation_item a {
  display: block;
  position: relative;
  text-decoration: none;
  color: #fff;
  line-height: 20px;
  text-align: center;
  font-weight: bold; }

.navigation_inner .navi-two-column {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around; }
  .navigation_inner .navi-two-column .navi-two-column-item {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: calc(100% / 2);
    flex-grow: 1;
    flex-basis: auto;
    text-align: center;
    padding: 10px 0; }
    .navigation_inner .navi-two-column .navi-two-column-item img.icon_insta {
      width: 20%; }

/*============================
// 汎用レイアウト
============================*/
.full_column {
  width: 100%;
  text-align: center;
  overflow: hidden; }

.base_layout {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px; }

    .base_layout .box-white {
      background-color: #fff;
      border-radius: 15px;
      padding: 1em 1em; }

.base_layout_80 {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px; }

.two_column li.two_column_li {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  float: left;
  padding: 0 0 20px 0px; }
.two_column li.two_column_li:nth-child(2) {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  float: left;
  padding: 0 0 20px 0; }

.three_column li.three_column_li {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  float: left;
  padding: 0 0 20px 0px; }
.three_column li.three_column_li:nth-child(3) {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  float: left;
  padding: 0 0 20px 0; }

.four_column li {
  width: 48.5%;
  float: left;
  padding: 0 3% 20px 0; }
.four_column li:nth-child(2), .four_column li:nth-child(4) {
  width: 48.5%;
  float: left;
  padding: 0 0 0 0; }

ul.dot-slider .dot-slider-li {
  padding: 0; }

/*============================
// データ
============================*/
.data-area {
  padding: 0; }
  .data-area dt.left {
    display: block;
    width: 100%;
    vertical-align: top;
    padding-bottom: 0.2em;}
  .data-area dd.right {
    display: block;
    width: 100%;
    vertical-align: top;
    padding-bottom: 1.5em;}

/*========================================================
// ■ tablet: 768px;
========================================================*/
/*========================================================
// ■ pc: 992px;
========================================================*/
@media (min-width: 992px) {
  /*============================
  // ヘッダーレイアウト
  ============================*/
  .header_deco {
    width: 100%;
    height: 40px;
    background: url(../img/header_deco01.png) repeat-x; }

  .footer_deco {
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 39px;
    background: url(../img/footer_deco01.png) repeat-x; }

  #loading {
    position: absolute;
    left: 49%;
    top: 49%; }

  header {
    position: static;
    padding: 20px 0 20px 0; }
    header .logo_area {
      text-align: center;
      display: inline-block;
      vertical-align: middle;
      width: 100%; }
      header .logo_area h1 svg {
        width: 500px;
        text-align: center; }
    header .fill-white {
      fill: #fff; }
    header nav {
      width: 70%;
      margin: 0 auto;
      text-align: center;
      vertical-align: middle; }
      header nav ul.navi {
        display: inline-block;
        background-color: #EC7700;
        float: none;
        padding: 30px 15px 32px 0;
        border-radius: 60px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-box-pack: justify;
        /*--- Androidブラウザ用 ---*/
        -ms-flex-pack: justify;
        /*--- IE10 ---*/
        -webkit-justify-content: center;
        /*--- safari（PC）用 ---*/
        justify-content: center; }
        header nav ul.navi li {
          text-align: center;
          padding: 0 26px 0 30px;
          background: url(../img/gnavi_deco.png) no-repeat; }
          header nav ul.navi li a {
            text-decoration: none; }
        header nav ul.navi li:first-child {
          background: none; }
        header nav ul.navi li:last-child {
          padding: 0 0 0 15px; }
          header nav ul.navi li:last-child a {
            text-decoration: none; }
        header nav ul.navi li.btn-rsv {
          padding: 0 0 0 15px; }
          header nav ul.navi li.btn-rsv a {
            text-decoration: none; }
        header nav ul.navi .off {
          opacity: 0.5 !important; }
        header nav ul.navi .active {
          text-decoration: none;
          border-bottom: 3px solid #222;
          color: #000;
          font-weight: bold; }
      header nav .btn-reserve {
        margin: -6px 0 0 0px;
        border-radius: 3px;
        /* CSS3草案 */
        -webkit-border-radius: 3px;
        /* Safari,Google Chrome用 */
        -moz-border-radius: 3px;
        /* Firefox用 */
        padding: 10px 25px;
        background-color: #222;
        color: #fff;
        text-align: center; }
        header nav .btn-reserve a {
          display: block; }
      header nav .btn-reserve-wt {
        margin: -6px 0 0 0px;
        border-radius: 3px;
        /* CSS3草案 */
        -webkit-border-radius: 3px;
        /* Safari,Google Chrome用 */
        -moz-border-radius: 3px;
        /* Firefox用 */
        padding: 10px 25px;
        background-color: #fff;
        color: #000;
        text-align: center; }
        header nav .btn-reserve-wt a {
          display: block; }
    header nav ul.txt-white .off {
      color: #fff !important; }

  /*============================
  // データ
  ============================*/
  .data-area {
    padding: 1em; }
    .data-area dt.left {
      display: inline-block;
      width: 14%; }
    .data-area dd.right {
      display: inline-block;
      width: 85%; }

  /*============================
  // フッターレイアウト
  ============================*/
  footer {
    padding: 15px 0 20px 0; }
    footer .fnavi {
      display: inline-block;
      width: 99%; }
      footer .fnavi ul li {
        /*float: left;*/
        text-align: center;
        padding: 0 15px 0 0; }
        footer .fnavi ul li a {
          text-decoration: none; }
      footer .fnavi ul li:last-child {
        padding-left: 20px; }
    footer .sns-area {
      text-align: right;
      display: inline-block;
      width: 50.4%; }
      footer .sns-area ul li {
        float: right;
        text-align: right;
        padding: 0 0 0 15px; }
        footer .sns-area ul li a {
          text-decoration: none; }
        footer .sns-area ul li img {
          width: 20px; }

  /*============================
  // 汎用レイアウト
  ============================*/
  .base_layout {
    width: 1100px;
    margin: 0 auto;
    padding: 0; }
    .base_layout .box-white {
      background-color: #fff;
      border-radius: 30px;
      padding: 2em 4em; }

  .base_layout_80 {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 900px;
    margin: 0 auto;
    padding: 0 15px; }

  .two_column li.two_column_li {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 50%;
    float: left;
    padding: 0 20px 0 0px; }
  .two_column li.two_column_li:nth-child(2) {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 50%;
    float: left;
    padding: 0 0 0 20px; }

  .three_column li.three_column_li {
    width: 33%;
    float: left;
    padding: 0 1.333% 0 0; }
  .three_column li.three_column_li:nth-child(3) {
    width: 33%;
    float: left;
    padding: 0 1.333% 0 0; }

  .four_column li {
    width: 24%;
    float: left;
    padding: 0 1.333% 0 0; }
  .four_column li:nth-child(2) {
    width: 24%;
    float: left;
    padding: 0 1.333% 0 0; }
  .four_column li:nth-child(4) {
    width: 24%;
    float: left;
    padding: 0 0 0 0; }

  /*============================
  // instagram
  ============================*/
  .insta_area {
    margin: 0; }

  .insta_area li.insta_box {
    width: 300px;
    height: 400px;
    border: 5px solid #000;
    padding: 15px;
    float: left;
    margin: 0 30px 30px 0; }

  .insta_area a {
    text-decoration: none; }

  .insta_img img {
    overflow: hidden;
    width: 300px;
    height: 300px;
    position: relative; }

  .insta_txt {
    visibility: hidden; }

  .insta_icon {
    display: inline-block;
    background: url(/img/insta.png) 0 8px no-repeat;
    background-size: 20px;
    height: 40px; } }
/*========================================================
// ■ pc-large: 1200px;
========================================================*/
