@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Ropa+Sans&display=swap");
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/*add reset styles*/
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

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

img {
  max-width: 100%;
}

/*Break Point
------------------------------*/
/*Break Point (for viequ house)
---------------------------------*/
/*font
---------------------------------*/
/*color
---------------------------------*/
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeout {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadein-out {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadein-out {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.fade_in01 {
  -webkit-animation: fadein 1s 0.3s forwards;
          animation: fadein 1s 0.3s forwards;
}

.fade_in02 {
  -webkit-animation: fadein 1.8s 1s forwards;
          animation: fadein 1.8s 1s forwards;
}

.fade_in03 {
  -webkit-animation: fadein 0.6s 1s forwards;
          animation: fadein 0.6s 1s forwards;
}

@-webkit-keyframes fadeinD {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}

@keyframes fadeinD {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@-webkit-keyframes fadeinD2 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-600px);
            transform: translateY(-600px);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-60px);
            transform: translateY(-60px);
  }
}
@keyframes fadeinD2 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-600px);
            transform: translateY(-600px);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-60px);
            transform: translateY(-60px);
  }
}
@-webkit-keyframes fadeinD2-sp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-3%);
            transform: translateY(-3%);
  }
}
@keyframes fadeinD2-sp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-3%);
            transform: translateY(-3%);
  }
}
@-webkit-keyframes fadeinU {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
@keyframes fadeinU {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
@-webkit-keyframes fadeinU-sp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-200px);
            transform: translateY(-200px);
  }
}
@keyframes fadeinU-sp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-200px);
            transform: translateY(-200px);
  }
}
@-webkit-keyframes fadeinL {
  0% {
    opacity: 0;
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
}
@keyframes fadeinL {
  0% {
    opacity: 0;
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
}
@-webkit-keyframes fadeinL-sp {
  0% {
    opacity: 0;
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
            transform: translateX(-30px);
  }
}
@keyframes fadeinL-sp {
  0% {
    opacity: 0;
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
            transform: translateX(-30px);
  }
}
@-webkit-keyframes fadeinTB {
  0% {
    opacity: 0;
    -webkit-filter: blur(8px) brightness(1.5);
            filter: blur(8px) brightness(1.5);
  }
  5% {
    opacity: 1;
  }
  15% {
    -webkit-filter: blur(0px) brightness(1);
            filter: blur(0px) brightness(1);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
@keyframes fadeinTB {
  0% {
    opacity: 0;
    -webkit-filter: blur(8px) brightness(1.5);
            filter: blur(8px) brightness(1.5);
  }
  5% {
    opacity: 1;
  }
  15% {
    -webkit-filter: blur(0px) brightness(1);
            filter: blur(0px) brightness(1);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
@-webkit-keyframes fadeinT {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
@keyframes fadeinT {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
@-webkit-keyframes fadeinT2 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@keyframes fadeinT2 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@-webkit-keyframes fadeinTL {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.4) translateY(-100px);
            transform: scale(1.4) translateY(-100px);
  }
}
@keyframes fadeinTL {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1.4) translateY(-100px);
            transform: scale(1.4) translateY(-100px);
  }
}
@keyframes fadeinL {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
  30% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
}
@-webkit-keyframes fadeinLXS {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px);
  }
  30% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
}
@keyframes fadeinLXS {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px);
  }
  30% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
}
@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.4, 0.4, 0.4);
            transform: scale3d(0.4, 0.4, 0.4);
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 0;
  }
}
@keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.4, 0.4, 0.4);
            transform: scale3d(0.4, 0.4, 0.4);
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 0;
  }
}
.ext_lr {
  -webkit-animation: extendright 0.5s 0.3s forwards;
          animation: extendright 0.5s 0.3s forwards;
}

.ext_lr2 {
  -webkit-animation: extendright 0.5s 0.7s forwards;
          animation: extendright 0.5s 0.7s forwards;
}

.ext_lr3 {
  -webkit-animation: extendright 0.5s 1.1s forwards;
          animation: extendright 0.5s 1.1s forwards;
}

.ext_lr0 {
  -webkit-animation: extendright 0.5s 0s forwards;
          animation: extendright 0.5s 0s forwards;
}

/*左から右に伸びる*/
@-webkit-keyframes extendright {
  0% {
    clip-path: inset(0% 0% 100% 0 round 0);
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  to {
    clip-path: inset(0 0 0 0 round 0);
    opacity: 1;
  }
}
@keyframes extendright {
  0% {
    clip-path: inset(0% 0% 100% 0 round 0);
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  to {
    clip-path: inset(0 0 0 0 round 0);
    opacity: 1;
  }
}
html, body {
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-family: "Noto Sans JP", Quicksand, 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  color: #595757;
  font-weight: 400;
}
@media print, screen and (max-width: 960px) {
  body {
    overflow-x: inherit;
  }
}

/* ヘッダー固定した場合のマージン */
:target {
  scroll-margin-top: 100px;
}
@media print, screen and (max-width: 960px) {
  :target {
    scroll-margin-top: 53px;
  }
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.gothic {
  font-family: "Noto Sans JP", Quicksand, 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.bebas {
  font-family: "Bebas Neue", Quicksand, 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.times {
  font-family: "Times New Roman", Times, serif;
}

.garamond {
  font-family: "Cormorant Garamond", "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN", "小塚明朝 Pro", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", Roboto, "Droid Sans", "メイリオ", Meiryo, serif;
}

.eb_garamond {
  font-family: "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN", "小塚明朝 Pro", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", Roboto, "Droid Sans", "メイリオ", Meiryo, serif;
}

.mincho {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN", "小塚明朝 Pro", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "Helvetica Neue", Helvetica, Arial, Roboto, "Droid Sans", "メイリオ", Meiryo, serif;
}

.josefin {
  font-family: "Josefin Sans", "Noto Sans JP", Quicksand, 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.hind {
  font-family: "Hind", sans-serif;
}

.s_waku_wrapper p {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN", "小塚明朝 Pro", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "Helvetica Neue", Helvetica, Arial, Roboto, "Droid Sans", "メイリオ", Meiryo, serif;
}

select, input, button, textarea {
  font-size: 99%;
  font-family: Quicksand, 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

table {
  font-size: inherit;
}

pre, code, kbd, samp, tt {
  font-family: monospace;
  line-height: 100%;
}

/* =========================
   Header
   ========================= */
.header {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  position: fixed;
  width: 100%;
  max-width: 100%;
  left: 0;
  right: 0;
  top: 0;
  margin: 0 auto;
  z-index: 100;
}
.header.change-color {
  max-width: 100%;
}
@media print, screen and (max-width: 768px) {
  .header.change-color {
    background: rgb(255, 255, 255);
  }
}
.header.change-color .header_bg2 {
  background: rgb(117, 112, 111);
}
.header.change-color .header_inner {
  max-width: 1240px;
  width: 100%;
}
.header.change-color .gnavi {
  max-width: 100%;
  width: 100%;
}
.header.change-color .logo {
  width: 300px;
}
.header .gnavi {
  max-width: 100%;
  margin: 0 auto;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  width: 100%;
}
.header .logo {
  width: 239px;
  padding-left: 20px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  margin: 0.8% 0;
}
.header .header_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 100%;
  margin: 0 auto;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  width: 100%;
}
@media print, screen and (max-width: 1060px) {
  .header {
    padding-top: 0;
    padding-bottom: 0;
    max-width: 100%;
    height: 50px;
  }
  .header.change-color {
    height: 50px;
    padding-top: 0;
    padding-bottom: 0;
  }
  .header.change-color .logo {
    width: 180px;
    padding-bottom: 2px;
    margin-bottom: 0;
    margin-top: 6px;
    padding-left: 18px;
    z-index: 9;
  }
  .header.change-color .header_inner {
    max-width: 100%;
    height: 53px;
  }
  .header.change-color .gnavi {
    max-width: 100%;
  }
  .header.change-color .gnavi ul {
    border-top: none;
    border-bottom: none;
  }
  .header .logo {
    width: 180px;
    padding-bottom: 2px;
    margin-bottom: 0;
    margin-top: 6px;
    padding-left: 18px;
    z-index: 9;
  }
  .header .header_inner {
    max-width: 100%;
    height: 53px;
  }
  .header .gnavi {
    max-width: 100%;
  }
}

.header_bg {
  background: #756e6b;
}

/* =========================
   Global Nav (overlay)
   ========================= */
.gnavi {
  position: fixed;
  background: rgba(0, 0, 0, 0.93);
  height: 100vh;
  top: 100px;
  right: 0;
  padding-top: 120px;
  z-index: 99;
  width: 100%;
  opacity: 0;
  -webkit-transition: 300ms;
  transition: 300ms;
  visibility: hidden;
}
@media print, screen and (max-width: 1060px) {
  .gnavi {
    top: 100px;
    padding-top: 70px;
  }
}
.gnavi.open {
  opacity: 1;
  visibility: visible;
  top: 0;
  right: 0;
}
.gnavi.open ul li:nth-child(1) {
  -webkit-animation: gnavifade 0.7s ease 0.1s 1 forwards;
          animation: gnavifade 0.7s ease 0.1s 1 forwards;
}
.gnavi.open ul li:nth-child(2) {
  -webkit-animation: gnavifade 0.7s ease 0.15s 1 forwards;
          animation: gnavifade 0.7s ease 0.15s 1 forwards;
}
.gnavi.open ul li:nth-child(3) {
  -webkit-animation: gnavifade 0.7s ease 0.2s 1 forwards;
          animation: gnavifade 0.7s ease 0.2s 1 forwards;
}
.gnavi.open ul li:nth-child(4) {
  -webkit-animation: gnavifade 0.7s ease 0.25s 1 forwards;
          animation: gnavifade 0.7s ease 0.25s 1 forwards;
}
.gnavi.open ul li:nth-child(5) {
  -webkit-animation: gnavifade 0.7s ease 0.3s 1 forwards;
          animation: gnavifade 0.7s ease 0.3s 1 forwards;
}
.gnavi.open ul li:nth-child(6) {
  -webkit-animation: gnavifade 0.7s ease 0.35s 1 forwards;
          animation: gnavifade 0.7s ease 0.35s 1 forwards;
}
.gnavi.open ul li:nth-child(7) {
  -webkit-animation: gnavifade 0.7s ease 0.4s 1 forwards;
          animation: gnavifade 0.7s ease 0.4s 1 forwards;
}
.gnavi.open ul li:nth-child(8) {
  -webkit-animation: gnavifade 0.7s ease 0.45s 1 forwards;
          animation: gnavifade 0.7s ease 0.45s 1 forwards;
}
.gnavi.open ul li:nth-child(9) {
  -webkit-animation: gnavifade 0.7s ease 0.5s 1 forwards;
          animation: gnavifade 0.7s ease 0.5s 1 forwards;
}
.gnavi.open ul li:nth-child(10) {
  -webkit-animation: gnavifade 0.7s ease 0.55s 1 forwards;
          animation: gnavifade 0.7s ease 0.55s 1 forwards;
}
.gnavi.open ul li:nth-child(11) {
  -webkit-animation: gnavifade 0.7s ease 0.6s 1 forwards;
          animation: gnavifade 0.7s ease 0.6s 1 forwards;
}
.gnavi.open .gnavi2 ul li:nth-child(1) {
  -webkit-animation: gnavifade 0.7s ease 0.8s 1 forwards;
          animation: gnavifade 0.7s ease 0.8s 1 forwards;
}
.gnavi.open .gnavi2 ul li:nth-child(2) {
  -webkit-animation: gnavifade 0.7s ease 0.9s 1 forwards;
          animation: gnavifade 0.7s ease 0.9s 1 forwards;
}
.gnavi ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-left: 30px;
  padding-right: 30px;
  margin: 0 auto;
  background: none;
  border-top: none;
  border-bottom: none;
  max-width: 800px;
}
.gnavi ul li {
  opacity: 0;
  margin-top: 40px;
  width: 49%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  margin-bottom: 5px;
}
.gnavi ul li.-soon a {
  pointer-events: none;
  opacity: 0.44;
}
@media print, screen and (max-width: 1060px) {
  .gnavi ul li {
    width: 100%;
  }
}
.gnavi.active ul li {
  padding-top: 12px;
  padding-bottom: 12px;
}
.gnavi ul li a {
  text-decoration: none;
  color: rgb(255, 255, 255);
  font-family: "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN", "小塚明朝 Pro", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", Roboto, "Droid Sans", "メイリオ", Meiryo, serif;
  font-size: 20px;
  letter-spacing: 0.15em;
  display: block;
  padding-top: 18px;
  padding-bottom: 18px;
  font-weight: 400;
  padding-left: 1em;
  padding-right: 1em;
}
@media print, screen and (max-width: 1060px) {
  .gnavi ul li a {
    padding-top: 2px;
    padding-bottom: 2px;
  }
}
.gnavi ul li a span {
  font-size: 12px;
  display: block;
  font-weight: 200;
  padding-top: 0.6em;
  font-family: inherit;
  opacity: 0.8;
  color: rgb(255, 255, 255);
  font-weight: 500;
}
@media print, screen and (max-width: 1060px) {
  .gnavi ul li a {
    font-size: 4vw;
    letter-spacing: 0.08em;
    font-weight: 300;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    padding-top: 5px;
    padding-bottom: 5px;
    gap: 5px;
  }
  .gnavi ul li a span {
    font-size: 1.8vw;
    padding-top: 0em;
  }
}
.gnavi ul.main li.selected a {
  color: rgb(208, 191, 161);
}
.gnavi ul.main li.selected a span {
  color: rgba(208, 191, 161, 0.8);
}

/* サブボタン群 */
.gnavi2 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-left: 30px;
  padding-right: 30px;
  margin: 0 auto;
  background: none;
  border-top: none;
  border-bottom: none;
  max-width: 800px;
  margin-top: 3em;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  max-width: 600px;
}
@media print, screen and (max-width: 1060px) {
  .gnavi2 ul {
    margin-top: 20px;
  }
}
.gnavi2 ul li {
  width: 49%;
  border: 0 solid rgba(255, 255, 255, 0.4);
  margin-bottom: 5px;
  text-align: center;
}
@media print, screen and (max-width: 1060px) {
  .gnavi2 ul li {
    width: 100%;
  }
}
.gnavi2 ul li a {
  padding-top: 0.6em;
  padding-bottom: 0.6em;
}
.gnavi2 ul li:nth-child(1) a {
  background: #fff;
  border: none;
}
.gnavi2 ul li:nth-child(1) a, .gnavi2 ul li:nth-child(1) a span {
  color: #111;
}
.gnavi2 ul li:nth-child(2) a {
  background: #88000e;
  border: none;
}
.gnavi2 ul li:hover {
  opacity: 0.5 !important;
  -webkit-transition: all 1.4s;
  transition: all 1.4s;
}

/* 無効リンク */
.gnavi .non-active {
  pointer-events: none;
}
.gnavi .non-active a {
  opacity: 0.3;
}

/* アニメーション */
@-webkit-keyframes gnavifade {
  100% {
    opacity: 1;
    margin-top: 0;
  }
}
@keyframes gnavifade {
  100% {
    opacity: 1;
    margin-top: 0;
  }
}
/* =========================
   Header Navi (hnavi)
   ========================= */
.header_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
}

.hnavi.active {
  opacity: 1;
  visibility: visible;
}
.hnavi ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  text-align: center;
}
.hnavi li {
  margin-right: 30px;
  font-size: 16px;
  -webkit-transition: 300ms;
  transition: 300ms;
}
.hnavi li:nth-child(3), .hnavi li:nth-child(4) {
  margin-right: 0;
}
.hnavi li:last-child {
  margin-right: 0;
}
.hnavi li a {
  text-decoration: none;
  color: #ffffff;
  padding-bottom: 0.2em;
}
.hnavi li a:hover {
  color: #ffffff;
  opacity: 0.5 !important;
}
.hnavi li a span {
  color: #ffffff;
}
.hnavi li:nth-child(3) a, .hnavi li:nth-child(4) a {
  padding: 0.4em 1em 0.6em;
  min-width: 8em;
  color: #fff;
  display: block;
  font-weight: 300;
  font-size: 20px;
  letter-spacing: 0.05em;
  text-align: center;
  background: #111;
}
.hnavi li:nth-child(4) a {
  background: #88000e;
}

.hnavi li:nth-child(3) a span, .hnavi li:nth-child(4) a span {
  display: block;
  width: 100%;
  font-size: 12px;
}
.hnavi li:nth-child(3) img, .hnavi li:nth-child(4) img {
  margin-right: 12px;
  width: 16px !important;
  height: inherit;
}
.hnavi a img {
  width: 14px !important;
  margin-right: 8px;
}
@media print, screen and (max-width: 1320px) {
  .hnavi li {
    margin-right: 30px;
    font-size: 14px;
    -webkit-transition: 300ms;
    transition: 300ms;
  }
}
@media print, screen and (max-width: 1060px) {
  .hnavi li {
    margin-right: 10px;
    font-size: 12px;
    -webkit-transition: 300ms;
    transition: 300ms;
  }
  .hnavi li:nth-child(1),
  .hnavi li:nth-child(2),
  .hnavi li:nth-child(3),
  .hnavi li:nth-child(4),
  .hnavi li:nth-child(5),
  .hnavi li:nth-child(6),
  .hnavi li:nth-child(7),
  .hnavi li:nth-child(8),
  .hnavi li:nth-child(9),
  .hnavi li:nth-child(10),
  .hnavi li:nth-child(11) {
    display: none;
    opacity: 0;
    visibility: hidden;
  }
}

/* =========================
   Hamburger Button
   ========================= */
.openbtn_wrapper {
  -webkit-transition: 300ms;
  transition: 300ms;
  margin-top: 0;
  margin-right: 20px;
  margin-left: 20px;
  position: relative;
  z-index: 102;
}
@media print, screen and (max-width: 1060px) {
  .openbtn_wrapper {
    margin-right: -2px;
    margin-left: 20px;
  }
}

.openbtn {
  position: relative;
  background: none;
  cursor: pointer;
  width: 66px;
  height: 60px;
  border-radius: 0;
  color: rgb(208, 191, 161);
  padding-top: 40px;
  text-align: center;
  font-size: 12px;
  /* 内側 */
}
@media print, screen and (max-width: 1060px) {
  .openbtn {
    width: 69px;
    height: 60px;
    padding-top: 38px;
    font-size: 10px;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
}
.openbtn .openbtn-area {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  letter-spacing: 0.2em;
}
@media print, screen and (max-width: 768px) {
  .openbtn .openbtn-area {
    letter-spacing: 0.3em;
  }
}
.openbtn span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  height: 2px;
  border-radius: 0;
  background: rgb(208, 191, 161);
  width: 42px;
  margin-left: 12px;
  margin-right: 12px;
}
.openbtn span:nth-of-type(1) {
  top: 13px;
}
.openbtn span:nth-of-type(2) {
  top: 22px;
}
.openbtn span:nth-of-type(3) {
  top: 30px;
}
.openbtn.active span:nth-of-type(1) {
  top: 22px;
  left: 14px;
  -webkit-transform: translateX(-14px) rotate(35deg);
          transform: translateX(-14px) rotate(35deg);
  width: 42px;
}
.openbtn.active span:nth-of-type(2) {
  opacity: 0;
}
.openbtn.active span:nth-of-type(3) {
  top: 22px;
  left: 14px;
  -webkit-transform: translateX(-14px) rotate(-35deg);
          transform: translateX(-14px) rotate(-35deg);
  width: 42px;
}

/* =========================
   Footer / Contacts
   ========================= */
.footer {
  text-align: center;
}

.bg_footer {
  background-image: url("../img/common/bg_series.jpg");
  background-position: center top;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* -------- Entry contact -------- */
.entry_contact {
  text-align: center;
}
.entry_contact img {
  width: 100%;
}
.entry_contact ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}
.entry_contact ul li {
  margin-right: 2%;
}
.entry_contact ul li:last-child {
  margin-right: 0;
}
@media print, screen and (max-width: 768px) {
  .entry_contact ul li {
    margin-right: 0;
    margin-bottom: 8px;
  }
  .entry_contact ul li:last-child {
    margin-bottom: 0;
  }
}
.entry_contact h5 {
  font-size: 18px;
  display: block;
  text-align: center;
  font-weight: 400;
  padding: 0 0.8em 0.8em;
  margin: 0 auto;
  max-width: 700px;
  letter-spacing: 0.02em;
}
@media print, screen and (max-width: 768px) {
  .entry_contact h5 {
    font-size: 4vw;
    max-width: 100%;
    border-top: 1px solid #ccc;
    padding-top: 6%;
    　margin-top: 0;
  }
}

/* -------- Series contact -------- */
.series_contact {
  text-align: center;
}
.series_contact img {
  width: 100%;
}
.series_contact ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}
.series_contact ul li {
  margin-right: 2%;
}
.series_contact ul li:last-child {
  margin-right: 0;
}
@media print, screen and (max-width: 768px) {
  .series_contact ul li {
    margin-right: 0;
    margin-bottom: 8px;
  }
  .series_contact ul li:last-child {
    margin-bottom: 0;
  }
}
.series_contact h5 {
  font-size: 18px;
  display: block;
  background: #111;
  color: #fff;
  text-align: center;
  font-weight: 400;
  padding: 0.8em;
  margin: 0 auto;
  max-width: 700px;
  letter-spacing: 0.02em;
}
@media print, screen and (max-width: 768px) {
  .series_contact h5 {
    font-size: 4vw;
  }
}

/* -------- Company contact -------- */
.company_contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 85%;
  max-width: 700px;
  margin: 1% auto 3.5%;
}
.company_contact .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 400px;
  margin: 2% auto 3%;
}
@media print, screen and (max-width: 768px) {
  .company_contact .inner {
    width: 42%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 2% auto 10%;
  }
}
@media print, screen and (max-width: 768px) {
  .company_contact .inner p {
    width: 100%;
    max-width: 100%;
    font-size: 10px;
    padding: 7px 0 0 0;
  }
}
.company_contact .inner a {
  max-width: 240px;
  padding-left: 10px;
}
.company_contact .inner a img {
  margin-top: 3px;
}
@media print, screen and (max-width: 768px) {
  .company_contact .inner a {
    font-size: 10px;
    width: 100%;
    padding-left: 0;
  }
}

/* -------- Tel contact -------- */
.tel_contact {
  text-align: center;
}
.tel_contact .inner h5 {
  margin-bottom: 1%;
}
@media print, screen and (max-width: 768px) {
  .tel_contact .inner h5 {
    border-top: 1px solid #ccc;
    padding-top: 6%;
  }
}
.tel_contact .inner p {
  line-height: 1.4;
  padding-top: 2%;
}
.tel_contact .inner p span {
  display: block;
  font-size: 70%;
  letter-spacing: 1px;
  padding-top: 0.5%;
}
@media print, screen and (max-width: 768px) {
  .tel_contact .inner p {
    border-bottom: 1px solid #ccc;
    padding-bottom: 6%;
    font-size: 11px;
  }
}

.tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  text-align: center;
  width: 100%;
  pointer-events: none;
}
@media print, screen and (max-width: 768px) {
  .tel {
    pointer-events: auto;
  }
}
.tel a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  text-align: center;
  font-size: 60px;
  color: #595757;
  line-height: 1;
  letter-spacing: 0.02em;
  text-decoration: none;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media print, screen and (max-width: 768px) {
  .tel a {
    font-size: 9vw;
    letter-spacing: 0.02em;
  }
}
.tel a img {
  margin-right: 8px;
  width: inherit !important;
  height: 35px !important;
}
@media print, screen and (max-width: 768px) {
  .tel a img {
    margin-right: 4px;
    width: inherit !important;
    height: 6vw !important;
  }
}

/* -------- Copyright -------- */
.copyright {
  background: rgb(117, 112, 111);
  padding: 0.5em;
  color: #fff;
  text-align: center;
}
@media print, screen and (max-width: 768px) {
  .copyright {
    padding-bottom: 82px;
    background: #fff;
    color: #000;
  }
}

/* =========================
   Footer fixed bar
   ========================= */
.footer_fix {
  position: fixed;
  bottom: -72px;
  left: 0;
  right: 0;
  width: 100%;
  margin: 0 auto;
  background: rgb(117, 111, 112);
  z-index: 100;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media print, screen and (max-width: 1060px) {
  .footer_fix.active {
    bottom: 0;
  }
}
.footer_fix ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  margin: 0 auto;
  max-width: 1050px;
}
.footer_fix ul li {
  width: 33.3333333333%;
  text-align: center;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  height: 70px;
  padding: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.footer_fix ul li:last-child {
  border-right: none;
  line-height: 1.2;
}
.footer_fix ul li a {
  text-decoration: none;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
.footer_fix ul li a span {
  font-size: 10px;
  display: block;
}
.footer_fix ul li a span.small {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  display: block;
  white-space: nowrap;
}
.footer_fix ul li img {
  width: inherit;
  margin-top: 8px;
  max-width: 20px;
}
.footer_fix ul li:nth-child(6) img {
  width: inherit;
  margin-top: 8px;
}
.footer_fix ul li:nth-child(4) {
  border-right: none;
}
.footer_fix ul li:nth-child(7) {
  background: #111;
  border-right: none;
}
.footer_fix ul li:nth-child(7) a {
  color: #ffffff;
}
.footer_fix ul li:nth-child(5) {
  background: #88000e;
  border-right: none;
}
.footer_fix ul li:nth-child(5) a {
  color: #ffffff;
}
.footer_fix ul li:nth-child(6) {
  background: #e48d03;
  border-right: none;
}

html, body {
  scroll-behavior: auto !important;
} /* 一旦CSSスムースを殺す */
/* 初期表示の勝手な位置ズレ抑止（ブラウザのスクロールアンカーを無効化） */
html {
  overflow-anchor: none;
}

@media print, screen and (max-width: 1023.9px) {
  .-M {
    display: none !important;
  }
}

@media print, screen and (min-width: 1024px) {
  .-underM {
    display: none !important;
  }
}

.-en {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.-sc {
  position: absolute;
  top: 50%;
  left: 40vw;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 70px;
}

.-pz {
  position: absolute;
  top: 50%;
  left: 40vw;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 70px;
  opacity: 1;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease; /* ふわっと消える */
}

.-pz.hide {
  opacity: 0;
}

/*---------------------------------------------------
   common style
----------------------------------------------------*/
/* ベース設定
----------------------------------------------------*/
/*ブラウザサイズ960以上はスクロールバーを出さない*/
/* utilities
---------------------------------*/
.text10 {
  font-size: 77%;
}

.text11 {
  font-size: 85%;
}

.text12 {
  font-size: 93%;
}

.text13 {
  font-size: 100%;
}

.text14 {
  font-size: 108%;
}

.text15 {
  font-size: 116%;
}

.text16 {
  font-size: 123.1%;
}

.text17 {
  font-size: 131%;
}

.text18 {
  font-size: 138.5%;
}

.text19 {
  font-size: 146.5%;
}

.text20 {
  font-size: 153.9%;
}

.text21 {
  font-size: 161.6%;
}

.text22 {
  font-size: 167%;
}

.text23 {
  font-size: 174%;
}

.text24 {
  font-size: 182%;
}

.text25 {
  font-size: 189%;
}

.text26 {
  font-size: 197%;
}

.text11px {
  font-size: 11px;
}
@media print, screen and (max-width: 768px) {
  .text11px {
    font-size: 2vw;
  }
}

.text12px {
  font-size: 12px;
}
@media print, screen and (max-width: 768px) {
  .text12px {
    font-size: 2vw;
  }
}

.text14px {
  font-size: 14px;
}
@media print, screen and (max-width: 768px) {
  .text14px {
    font-size: 2vw;
  }
}

.text16px {
  font-size: 16px;
}
@media print, screen and (max-width: 768px) {
  .text16px {
    font-size: 2.1vw;
  }
}

.text18px {
  font-size: 18px;
}
@media print, screen and (max-width: 768px) {
  .text18px {
    font-size: 2.2vw;
  }
}

.text20px {
  font-size: 20px;
}
@media print, screen and (max-width: 768px) {
  .text20px {
    font-size: 2.8vw;
  }
}

.text22px {
  font-size: 22px;
}
@media print, screen and (max-width: 768px) {
  .text22px {
    font-size: 3vw;
  }
}

.text24px {
  font-size: 24px;
}
@media print, screen and (max-width: 768px) {
  .text24px {
    font-size: 3.2vw;
  }
}

.text26px {
  font-size: 26px;
}
@media print, screen and (max-width: 768px) {
  .text26px {
    font-size: 3.4vw;
  }
}

.text28px {
  font-size: 28px;
}
@media print, screen and (max-width: 768px) {
  .text28px {
    font-size: 3.6vw;
  }
}

.text30px {
  font-size: 30px;
}
@media print, screen and (max-width: 768px) {
  .text30px {
    font-size: 4vw;
  }
}

.text32px {
  font-size: 32px;
}
@media print, screen and (max-width: 768px) {
  .text32px {
    font-size: 4.2vw;
  }
}

.text34px {
  font-size: 34px;
}
@media print, screen and (max-width: 768px) {
  .text34px {
    font-size: 4.4vw;
  }
}

.text36px {
  font-size: 36px;
}
@media print, screen and (max-width: 768px) {
  .text36px {
    font-size: 4.6vw;
  }
}

.text38px {
  font-size: 38px;
}
@media print, screen and (max-width: 768px) {
  .text38px {
    font-size: 4.8vw;
  }
}

.text40px {
  font-size: 40px;
}
@media print, screen and (max-width: 768px) {
  .text40px {
    font-size: 5vw;
  }
}

.text42px {
  font-size: 42px;
}
@media print, screen and (max-width: 768px) {
  .text42px {
    font-size: 5.2vw;
  }
}

.text44px {
  font-size: 44px;
}
@media print, screen and (max-width: 768px) {
  .text44px {
    font-size: 5.4vw;
  }
}

.text46px {
  font-size: 46px;
}
@media print, screen and (max-width: 768px) {
  .text46px {
    font-size: 5.6vw;
  }
}

.text48px {
  font-size: 48px;
}
@media print, screen and (max-width: 768px) {
  .text48px {
    font-size: 5.8vw;
  }
}

.text50px {
  font-size: 50px;
}
@media print, screen and (max-width: 768px) {
  .text50px {
    font-size: 6vw;
  }
}

.text60px {
  font-size: 60px;
}
@media print, screen and (max-width: 768px) {
  .text60px {
    font-size: 6.5vw;
  }
}

.text70px {
  font-size: 70px;
}
@media print, screen and (max-width: 768px) {
  .text70px {
    font-size: 7vw;
  }
}

.text80px {
  font-size: 80px;
}
@media print, screen and (max-width: 768px) {
  .text80px {
    font-size: 9vw;
  }
}

p.text10px span {
  font-size: 11px;
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
  letter-spacing: 0em;
}
@media print, screen and (max-width: 768px) {
  p.text10px span {
    font-size: 1.6vw;
    line-height: 1.3;
    -webkit-transform: scale(0.6);
    transform: scale(0.6);
  }
}

p.text11px {
  font-size: 11px;
}
@media print, screen and (max-width: 768px) {
  p.text11px {
    font-size: 2vw;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_text9px {
    font-size: 1.6vw;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_text11px {
    font-size: 2vw;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_text14px {
    font-size: 2.6vw;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_text16px {
    font-size: 2.8vw;
  }
}

.font-weight-400 {
  font-weight: 400;
}

.font-weight-500 {
  font-weight: 500;
}

.font-weight-600 {
  font-weight: 600;
}

.font-weight_normal {
  font-weight: normal;
}

.font-weight_bold {
  font-weight: normal;
}

h2.bebas {
  padding-bottom: 0;
  line-height: 1.4;
}

h3, p {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}
@media print, screen and (max-width: 768px) {
  h3, p {
    letter-spacing: 0.05em;
  }
}

h2 {
  max-width: 500px;
  margin-inline: auto !important;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
  padding-bottom: 0.3em;
  color: #657f71;
}

@media print, screen and (max-width: 768px) {
  h2, h3 {
    letter-spacing: 0.02em;
    padding-bottom: 0.5em;
  }
}
.lineheight12em {
  line-height: 1.2em;
}

.lineheight14em {
  line-height: 1.4em;
}

.lineheight16em {
  line-height: 1.6em;
}

.lineheight18em {
  line-height: 1.8em;
}

.lineheight20em {
  line-height: 2em;
}

.lineheight22em {
  line-height: 2.2em;
}

.lineheight24em {
  line-height: 2.4em;
}

.lineheight26em {
  line-height: 2.6em;
}

.lineheight30em {
  line-height: 3em;
}

@media print, screen and (max-width: 768px) {
  .sp_lineheight22em {
    line-height: 2.2em;
  }
}

.text_center {
  text-align: center;
}

.text_left {
  text-align: left;
}

.text_right {
  text-align: right;
}

@media print, screen and (max-width: 768px) {
  .sp_text_left {
    text-align: left;
  }
}

.text_color_green {
  color: #009c45;
}

.text_color_blue {
  color: #0f385a;
}

.text_color_blue2 {
  color: #182987;
}

.text_color_blue3 {
  color: #0071bc;
}

.text_color_lblue {
  color: #00ffff;
}

.text_color_white {
  color: #ffffff;
}

.text_color_lgray {
  color: #86807e;
}

.text_color_dgray {
  color: #4b4a44;
}

.text_color_gold {
  color: #c0a256;
}

.text_color_black {
  color: #000000;
}

.text_color_brown {
  color: #6f5648;
}

.ovf_hidden {
  overflow: hidden;
}

.text-line_green {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.text-line_green:before, .text-line_green:after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 1px;
  background: #009c45;
}
.text-line_green:before {
  margin: 0 1em 0 0;
}
.text-line_green:after {
  margin: 0 0 0 1em;
}

.text-line_white {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.text-line_white:before, .text-line_white:after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 1px;
  background: #ffffff;
}
.text-line_white:before {
  margin: 0 1em 0 0;
}
.text-line_white:after {
  margin: 0 0 0 1em;
}

.w400 {
  width: 100%;
  margin: 0 auto;
  max-width: 400px;
}

.w500 {
  width: 100%;
  margin: 0 auto;
  max-width: 500px;
}

.w600 {
  width: 100%;
  margin: 0 auto;
  max-width: 600px;
}

.w700 {
  width: 100%;
  margin: 0 auto;
  max-width: 700px;
}

.w730 {
  width: 100%;
  margin: 0 auto;
  max-width: 730px;
}

.w780 {
  width: 100%;
  margin: 0 auto;
  max-width: 780px;
}

.w870 {
  width: 100%;
  margin: 0 auto;
  max-width: 870px;
}

.w900 {
  width: 100%;
  margin: 0 auto;
  max-width: 900px;
}

.w960 {
  width: 100%;
  margin: 0 auto;
  max-width: 960px;
}

.w1050 {
  width: 100%;
  margin: 0 auto;
  max-width: 1050px;
}

.w1100 {
  width: 100%;
  margin: 0 auto;
  max-width: 1100px;
}

.w1200 {
  width: 100%;
  margin: 0 auto;
  max-width: 1200px;
}

.w1230 {
  width: 100%;
  margin: 0 auto;
  max-width: 1230px;
}

.w1280 {
  width: 100%;
  margin: 0 auto;
  max-width: 1280px;
}

.w1440 {
  width: 100%;
  margin: 0 auto;
  max-width: 1440px;
}

.w1680 {
  width: 100%;
  margin: 0 auto;
  max-width: 1680px;
}

.w780_sp78 {
  width: 78%;
  margin: 1% auto;
  max-width: 780px;
}

.w900_sp88 {
  width: 86%;
  margin: 2% auto;
  max-width: 900px;
}

@media print, screen and (max-width: 1280px) {
  .w1280 .inner {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media print, screen and (max-width: 768px) {
  .w1280 .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media print, screen and (max-width: 1230px) {
  .w1230 .inner {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media print, screen and (max-width: 768px) {
  .w1230 .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media print, screen and (max-width: 1200px) {
  .w1200 .inner {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media print, screen and (max-width: 768px) {
  .w1200 .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media print, screen and (max-width: 1200px) {
  .w1200 .inner2 {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media print, screen and (max-width: 1100px) {
  .w1100 .inner {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media print, screen and (max-width: 768px) {
  .w1100 .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media print, screen and (max-width: 1050px) {
  .w1050 .inner {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media print, screen and (max-width: 768px) {
  .w1050 .inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media print, screen and (max-width: 1050px) {
  .w1050 .inner2 {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media print, screen and (max-width: 768px) {
  .w1050 .inner2 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media print, screen and (max-width: 960px) {
  .w960 .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media print, screen and (max-width: 870px) {
  .w870 .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media print, screen and (max-width: 768px) {
  .w870 .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media print, screen and (max-width: 780px) {
  .w780 .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media print, screen and (max-width: 768px) {
  .w400 .inner, .w500 .inner, .w600 .inner, .w700 .inner, .w730 .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media print, screen and (max-width: 768px) {
  .w1056 .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media print, screen and (max-width: 768px) {
  .w1056 .inner2 {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media print, screen and (max-width: 768px) {
  .w1200 .inner, .w1230 .inner, .w1280 .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_w80per {
    width: 80%;
    margin: 0 auto;
  }
}

.mt10 {
  margin-top: 10px;
}
@media print, screen and (max-width: 768px) {
  .mt10 {
    margin-top: 5px;
  }
}

.mt20 {
  margin-top: 20px;
}
@media print, screen and (max-width: 768px) {
  .mt20 {
    margin-top: 10px;
  }
}

.mt30 {
  margin-top: 30px;
}
@media print, screen and (max-width: 768px) {
  .mt30 {
    margin-top: 15px;
  }
}

.mt40 {
  margin-top: 40px;
}
@media print, screen and (max-width: 768px) {
  .mt40 {
    margin-top: 20px;
  }
}

.mt50 {
  margin-top: 50px;
}
@media print, screen and (max-width: 768px) {
  .mt50 {
    margin-top: 25px;
  }
}

.mt60 {
  margin-top: 60px;
}
@media print, screen and (max-width: 768px) {
  .mt60 {
    margin-top: 30px;
  }
}

.mt70 {
  margin-top: 70px;
}
@media print, screen and (max-width: 768px) {
  .mt70 {
    margin-top: 35px;
  }
}

.mt80 {
  margin-top: 80px;
}
@media print, screen and (max-width: 768px) {
  .mt80 {
    margin-top: 40px;
  }
}

.mt90 {
  margin-top: 90px;
}
@media print, screen and (max-width: 768px) {
  .mt90 {
    margin-top: 45px;
  }
}

.mt100 {
  margin-top: 100px;
}
@media print, screen and (max-width: 768px) {
  .mt100 {
    margin-top: 50px;
  }
}

.mt120 {
  margin-top: 120px;
}
@media print, screen and (max-width: 768px) {
  .mt120 {
    margin-top: 60px;
  }
}

.mr10 {
  margin-right: 10px;
}
@media print, screen and (max-width: 768px) {
  .mr10 {
    margin-right: 5px;
  }
}

.mr20 {
  margin-right: 20px;
}
@media print, screen and (max-width: 768px) {
  .mr20 {
    margin-right: 10px;
  }
}

.mr30 {
  margin-right: 30px;
}
@media print, screen and (max-width: 768px) {
  .mr30 {
    margin-right: 15px;
  }
}

.mr40 {
  margin-right: 40px;
}
@media print, screen and (max-width: 768px) {
  .mr40 {
    margin-right: 20px;
  }
}

.mr50 {
  margin-right: 50px;
}
@media print, screen and (max-width: 768px) {
  .mr50 {
    margin-right: 25px;
  }
}

.mr60 {
  margin-right: 60px;
}
@media print, screen and (max-width: 768px) {
  .mr60 {
    margin-right: 30px;
  }
}

.mr70 {
  margin-right: 70px;
}
@media print, screen and (max-width: 768px) {
  .mr70 {
    margin-right: 35px;
  }
}

.mr80 {
  margin-right: 80px;
}
@media print, screen and (max-width: 768px) {
  .mr80 {
    margin-right: 40px;
  }
}

.mr90 {
  margin-right: 90px;
}
@media print, screen and (max-width: 768px) {
  .mr90 {
    margin-right: 45px;
  }
}

.mr100 {
  margin-right: 100px;
}
@media print, screen and (max-width: 768px) {
  .mr100 {
    margin-right: 50px;
  }
}

.mb10 {
  margin-bottom: 10px;
}
@media print, screen and (max-width: 768px) {
  .mb10 {
    margin-bottom: 5px;
  }
}

.mb20 {
  margin-bottom: 20px;
}
@media print, screen and (max-width: 768px) {
  .mb20 {
    margin-bottom: 10px;
  }
}

.mb30 {
  margin-bottom: 30px;
}
@media print, screen and (max-width: 768px) {
  .mb30 {
    margin-bottom: 15px;
  }
}

.mb40 {
  margin-bottom: 40px;
}
@media print, screen and (max-width: 768px) {
  .mb40 {
    margin-bottom: 20px;
  }
}

.mb50 {
  margin-bottom: 50px;
}
@media print, screen and (max-width: 768px) {
  .mb50 {
    margin-bottom: 25px;
  }
}

.mb60 {
  margin-bottom: 60px;
}
@media print, screen and (max-width: 768px) {
  .mb60 {
    margin-bottom: 30px;
  }
}

.mb70 {
  margin-bottom: 70px;
}
@media print, screen and (max-width: 768px) {
  .mb70 {
    margin-bottom: 35px;
  }
}

.mb80 {
  margin-bottom: 80px;
}
@media print, screen and (max-width: 768px) {
  .mb80 {
    margin-bottom: 40px;
  }
}

.mb90 {
  margin-bottom: 90px;
}
@media print, screen and (max-width: 768px) {
  .mb90 {
    margin-bottom: 45px;
  }
}

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

.ml10 {
  margin-left: 10px;
}
@media print, screen and (max-width: 768px) {
  .ml10 {
    margin-left: 5px;
  }
}

.ml20 {
  margin-left: 20px;
}
@media print, screen and (max-width: 768px) {
  .ml20 {
    margin-left: 10px;
  }
}

.ml30 {
  margin-left: 30px;
}
@media print, screen and (max-width: 768px) {
  .ml30 {
    margin-left: 15px;
  }
}

.ml40 {
  margin-left: 40px;
}
@media print, screen and (max-width: 768px) {
  .ml40 {
    margin-left: 20px;
  }
}

.ml50 {
  margin-left: 50px;
}
@media print, screen and (max-width: 768px) {
  .ml50 {
    margin-left: 25px;
  }
}

.ml60 {
  margin-left: 60px;
}
@media print, screen and (max-width: 768px) {
  .ml60 {
    margin-left: 30px;
  }
}

.ml70 {
  margin-left: 70px;
}
@media print, screen and (max-width: 768px) {
  .ml70 {
    margin-left: 35px;
  }
}

.ml80 {
  margin-left: 80px;
}
@media print, screen and (max-width: 768px) {
  .ml80 {
    margin-left: 40px;
  }
}

.ml90 {
  margin-left: 90px;
}
@media print, screen and (max-width: 768px) {
  .ml90 {
    margin-left: 45px;
  }
}

.ml100 {
  margin-left: 100px;
}
@media print, screen and (max-width: 768px) {
  .ml100 {
    margin-left: 50px;
  }
}

.pt5 {
  padding-top: 5px;
}
@media print, screen and (max-width: 768px) {
  .pt5 {
    padding-top: 2px;
  }
}

.pt10 {
  padding-top: 10px;
}
@media print, screen and (max-width: 768px) {
  .pt10 {
    padding-top: 5px;
  }
}

.pt15 {
  padding-top: 15px;
}
@media print, screen and (max-width: 768px) {
  .pt15 {
    padding-top: 8px;
  }
}

.pt20 {
  padding-top: 20px;
}
@media print, screen and (max-width: 768px) {
  .pt20 {
    padding-top: 10px;
  }
}

.pt30 {
  padding-top: 30px;
}
@media print, screen and (max-width: 768px) {
  .pt30 {
    padding-top: 15px;
  }
}

.pt40 {
  padding-top: 40px;
}
@media print, screen and (max-width: 768px) {
  .pt40 {
    padding-top: 20px;
  }
}

.pt50 {
  padding-top: 50px;
}
@media print, screen and (max-width: 768px) {
  .pt50 {
    padding-top: 25px;
  }
}

.pt60 {
  padding-top: 60px;
}
@media print, screen and (max-width: 768px) {
  .pt60 {
    padding-top: 30px;
  }
}

.pt70 {
  padding-top: 70px;
}
@media print, screen and (max-width: 768px) {
  .pt70 {
    padding-top: 35px;
  }
}

.pt80 {
  padding-top: 80px;
}
@media print, screen and (max-width: 768px) {
  .pt80 {
    padding-top: 40px;
  }
}

.pt90 {
  padding-top: 90px;
}
@media print, screen and (max-width: 768px) {
  .pt90 {
    padding-top: 45px;
  }
}

.pt100 {
  padding-top: 100px;
}
@media print, screen and (max-width: 768px) {
  .pt100 {
    padding-top: 50px;
  }
}

.pt120 {
  padding-top: 120px;
}
@media print, screen and (max-width: 768px) {
  .pt120 {
    padding-top: 60px;
  }
}

.pt150 {
  padding-top: 150px;
}
@media print, screen and (max-width: 768px) {
  .pt150 {
    padding-top: 75px;
  }
}

.pt160 {
  padding-top: 160px;
}
@media print, screen and (max-width: 768px) {
  .pt160 {
    padding-top: 80px;
  }
}

.pr5 {
  padding-right: 5px;
}
@media print, screen and (max-width: 768px) {
  .pr5 {
    padding-right: 2px;
  }
}

.pr10 {
  padding-right: 10px;
}
@media print, screen and (max-width: 768px) {
  .pr10 {
    padding-right: 5px;
  }
}

.pr20 {
  padding-right: 20px;
}
@media print, screen and (max-width: 768px) {
  .pr20 {
    padding-right: 10px;
  }
}

.pr30 {
  padding-right: 30px;
}
@media print, screen and (max-width: 768px) {
  .pr30 {
    padding-right: 15px;
  }
}

.pr40 {
  padding-right: 40px;
}
@media print, screen and (max-width: 768px) {
  .pr40 {
    padding-right: 20px;
  }
}

.pr50 {
  padding-right: 50px;
}
@media print, screen and (max-width: 768px) {
  .pr50 {
    padding-right: 25px;
  }
}

.pr60 {
  padding-right: 60px;
}
@media print, screen and (max-width: 768px) {
  .pr60 {
    padding-right: 30px;
  }
}

.pr70 {
  padding-right: 70px;
}
@media print, screen and (max-width: 768px) {
  .pr70 {
    padding-right: 35px;
  }
}

.pr80 {
  padding-right: 80px;
}
@media print, screen and (max-width: 768px) {
  .pr80 {
    padding-right: 40px;
  }
}

.pr90 {
  padding-right: 90px;
}
@media print, screen and (max-width: 768px) {
  .pr90 {
    padding-right: 45px;
  }
}

.pr100 {
  padding-right: 100px;
}
@media print, screen and (max-width: 768px) {
  .pr100 {
    padding-right: 50px;
  }
}

.pr160 {
  padding-right: 160px;
}
@media print, screen and (max-width: 768px) {
  .pr160 {
    padding-right: 80px;
  }
}

.pb5 {
  padding-bottom: 5px;
}
@media print, screen and (max-width: 768px) {
  .pb5 {
    padding-bottom: 2px;
  }
}

.pb10 {
  padding-bottom: 10px;
}
@media print, screen and (max-width: 768px) {
  .pb10 {
    padding-bottom: 5px;
  }
}

.pb20 {
  padding-bottom: 20px;
}
@media print, screen and (max-width: 768px) {
  .pb20 {
    padding-bottom: 10px;
  }
}

.pb30 {
  padding-bottom: 30px;
}
@media print, screen and (max-width: 768px) {
  .pb30 {
    padding-bottom: 15px;
  }
}

.pb40 {
  padding-bottom: 40px;
}
@media print, screen and (max-width: 768px) {
  .pb40 {
    padding-bottom: 20px;
  }
}

.pb50 {
  padding-bottom: 50px;
}
@media print, screen and (max-width: 768px) {
  .pb50 {
    padding-bottom: 25px;
  }
}

.pb60 {
  padding-bottom: 60px;
}
@media print, screen and (max-width: 768px) {
  .pb60 {
    padding-bottom: 30px;
  }
}

.pb70 {
  padding-bottom: 70px;
}
@media print, screen and (max-width: 768px) {
  .pb70 {
    padding-bottom: 35px;
  }
}

.pb80 {
  padding-bottom: 80px;
}
@media print, screen and (max-width: 768px) {
  .pb80 {
    padding-bottom: 30px;
  }
}

.pb90 {
  padding-bottom: 90px;
}
@media print, screen and (max-width: 768px) {
  .pb90 {
    padding-bottom: 45px;
  }
}

.pb100 {
  padding-bottom: 100px;
}
@media print, screen and (max-width: 768px) {
  .pb100 {
    padding-bottom: 50px;
  }
}

.pb120 {
  padding-bottom: 120px;
}
@media print, screen and (max-width: 768px) {
  .pb120 {
    padding-bottom: 60px;
  }
}

.pb140 {
  padding-bottom: 140px;
}
@media print, screen and (max-width: 768px) {
  .pb140 {
    padding-bottom: 70px;
  }
}

.pb160 {
  padding-bottom: 160px;
}
@media print, screen and (max-width: 768px) {
  .pb160 {
    padding-bottom: 80px;
  }
}

.pb180 {
  padding-bottom: 180px;
}
@media print, screen and (max-width: 768px) {
  .pb180 {
    padding-bottom: 90px;
  }
}

.pb240 {
  padding-bottom: 240px;
}
@media print, screen and (max-width: 768px) {
  .pb240 {
    padding-bottom: 120px;
  }
}

.pl5 {
  padding-left: 5px;
}
@media print, screen and (max-width: 768px) {
  .pl5 {
    padding-left: 2px;
  }
}

.pl10 {
  padding-left: 10px;
}
@media print, screen and (max-width: 768px) {
  .pl10 {
    padding-left: 5px;
  }
}

.pl20 {
  padding-left: 20px;
}
@media print, screen and (max-width: 768px) {
  .pl20 {
    padding-left: 10px;
  }
}

.pl30 {
  padding-left: 30px;
}
@media print, screen and (max-width: 768px) {
  .pl30 {
    padding-left: 15px;
  }
}

.pl40 {
  padding-left: 40px;
}
@media print, screen and (max-width: 768px) {
  .pl40 {
    padding-left: 20px;
  }
}

.pl50 {
  padding-left: 50px;
}
@media print, screen and (max-width: 768px) {
  .pl50 {
    padding-left: 25px;
  }
}

.pl60 {
  padding-left: 60px;
}
@media print, screen and (max-width: 768px) {
  .pl60 {
    padding-left: 30px;
  }
}

.pl70 {
  padding-left: 70px;
}
@media print, screen and (max-width: 768px) {
  .pl70 {
    padding-left: 35px;
  }
}

.pl80 {
  padding-left: 80px;
}
@media print, screen and (max-width: 768px) {
  .pl80 {
    padding-left: 40px;
  }
}

.pl90 {
  padding-left: 90px;
}
@media print, screen and (max-width: 768px) {
  .pl90 {
    padding-left: 45px;
  }
}

.pl100 {
  padding-left: 100px;
}
@media print, screen and (max-width: 768px) {
  .pl100 {
    padding-left: 50px;
  }
}

.pl120 {
  padding-left: 120px;
}
@media print, screen and (max-width: 768px) {
  .pl120 {
    padding-left: 60px;
  }
}

.pl160 {
  padding-left: 160px;
}
@media print, screen and (max-width: 768px) {
  .pl160 {
    padding-left: 80px;
  }
}

.pr_pc80_sp0 {
  padding-right: 80px;
}
@media print, screen and (max-width: 768px) {
  .pr_pc80_sp0 {
    padding-right: 0;
  }
}

.pl_pc80_sp20 {
  padding-left: 80px;
}
@media print, screen and (max-width: 768px) {
  .pl_pc80_sp20 {
    padding-left: 20px;
  }
}

.pr_pc80_sp20 {
  padding-right: 80px;
}
@media print, screen and (max-width: 768px) {
  .pr_pc80_sp20 {
    padding-right: 20px;
  }
}

.pl_pc120_sp20 {
  padding-left: 120px;
}
@media print, screen and (max-width: 768px) {
  .pl_pc120_sp20 {
    padding-left: 20px;
  }
}

.pr_pc120_sp20 {
  padding-right: 120px;
}
@media print, screen and (max-width: 768px) {
  .pr_pc120_sp20 {
    padding-right: 20px;
  }
}

.pc_pl160 {
  padding-left: 160px;
}
@media print, screen and (max-width: 768px) {
  .pc_pl160 {
    padding-left: 0;
  }
}

.pc_pr160 {
  padding-right: 160px;
}
@media print, screen and (max-width: 768px) {
  .pc_pr160 {
    padding-right: 0;
  }
}

.pc_pt8per {
  padding-top: 8%;
}
@media print, screen and (max-width: 768px) {
  .pc_pt8per {
    padding-top: 0;
  }
}

@media print, screen and (max-width: 1660px) {
  .pb240 {
    padding-bottom: 180px;
  }
}

@media (960px <= width < 1200px) {
  .tab_pt0 {
    margin-top: 0;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pt0 {
    padding-top: 0;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pt5 {
    padding-top: 5px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pt10 {
    padding-top: 10px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pt20 {
    padding-top: 20px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pb0 {
    padding-bottom: 0;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pb200 {
    padding-bottom: 100px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_mb10 {
    margin-bottom: 10px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_mb20 {
    margin-bottom: 20px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pl10 {
    padding-left: 10px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pr10 {
    padding-right: 10px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pl20 {
    padding-left: 20px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pr20 {
    padding-right: 20px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pl30 {
    padding-left: 30px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pr30 {
    padding-right: 30px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pl40 {
    padding-left: 40px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pr40 {
    padding-right: 40px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pl50 {
    padding-left: 50px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pr50 {
    padding-right: 50px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pl60 {
    padding-left: 60px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pr60 {
    padding-right: 60px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pl70 {
    padding-left: 70px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pr70 {
    padding-right: 70px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pl80 {
    padding-left: 80px;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_pr80 {
    padding-right: 80px;
  }
}

img {
  vertical-align: bottom;
}

img {
  -ms-interpolation-mode: bicubic;
}

sup,
sub {
  height: 0;
  line-height: 1;
  vertical-align: baseline;
  _vertical-align: bottom;
  position: relative;
  font-size: 60%;
}

sup {
  bottom: 1ex;
}

sub {
  top: 0.5ex;
}

.display_none {
  display: none;
}

.display_block {
  display: block;
}

/* 	SET ALL ELEMENTS TO BOX-SIZING : BORDER-BOX */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  *behavior: url(boxsizing.htc);
}

/*	SELF CLEARING FLOATS - CLEARFIX METHOD */
.container:after,
.row:after,
.col:after,
.clr:after,
.g_navi,
.group:after {
  content: "";
  display: table;
  clear: both;
}

/* clerfix */
.cf:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.cf {
  display: inline-table;
}

* html .cf {
  height: 1%;
}

.cf {
  display: block;
}

.fit_image img {
  width: 100%;
  height: inherit;
}

.float_l {
  float: left;
}

.float_r {
  float: right;
}

.position_a {
  position: absolute;
}

.position_r {
  position: relative;
}

.ovf_h {
  overflow: hidden;
}

.c_btn {
  width: 100%;
  text-align: center;
  margin-bottom: 40px;
}

.c_btn img {
  margin: 0 auto;
}

.c_btn a:hover img {
  opacity: 0.5; /* Standard: FF gt 1.5, Opera, Safari */
  filter: alpha(opacity=50); /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)"; /* IE 8 */
  -khtml-opacity: 0.5; /* Safari 1.x */
  -moz-opacity: 0.5; /* FF lt 1.5, Netscape */
}

#container img {
  width: 100%;
}

a {
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}

#container a:not(a.transition):hover {
  opacity: 0.4;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.tab_hide {
  display: block;
}

.pc_hide {
  display: none;
}

.tab {
  display: none;
}

@media (960px <= width < 1200px) {
  .tab_hide {
    display: none;
  }
  .sp {
    display: none;
  }
  .tab {
    display: block;
  }
}
.inline_pc {
  display: inline-block;
}

.inline_sp {
  display: none;
}

@media print, screen and (max-width: 960px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .inline_pc {
    display: none;
    font-size: 0;
  }
  .inline_sp {
    display: inline-block;
    font-size: 0;
  }
  .tab {
    display: none;
  }
}
.bg_white {
  background: #ffffff;
}

.bg_red {
  background: #783233;
}

.bg_redred {
  background: #ba0505;
}

.bg_green {
  background: #006136;
}

.bg_dgreen {
  background: #0b4725;
}

.bg_gray {
  background: #b6b6b6;
}

.bg_gray2 {
  background: #666666;
}

.bg_lgray {
  background: #eeeceb;
}

.bg_dgray {
  background: #111111;
}

.bg_black {
  background: #000000;
}

.bg_yellow {
  background: #F9F9E9;
}

.bg_blue {
  background: rgb(15, 56, 90);
}

.bg_lblue {
  background: #d2e8f5;
}

.bg_lblue2 {
  background: #f5fbff;
}

.bg_gold {
  background: #b79b5b;
}

.bg_orange {
  background: #f15a23;
}

.bg_brown {
  background: #3d2304;
}

.bg_lbrown {
  background: #6f5544;
}

.bg_lbrown2 {
  background: #6f5648;
}

.bg_lbrown3 {
  background: #765e52;
}

.bg_silk {
  background: #faf8f4;
  background-image: url("../images/top/bg_silk.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.bg_info {
  background: #faf8f4;
  background-image: url("../images/top/info_base.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.bg_info_white {
  background: #d2e8f5;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.bg_top_act_story {
  background: #faf8f4;
  background-image: url("../images/common/top_act_story_bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.bg_top_act_caption {
  /*position:absolute;*/
  bottom: 5px;
  right: 5px;
  color: #000;
  margin-bottom: 0px !important;
  margin-top: 10px;
  text-align: right;
}

@media print, screen and (max-width: 960px) {
  .bg_top_act_caption {
    font-size: xx-small;
    padding-right: 15px;
  }
}
.bg_top_act_story2 {
  background: #fff;
  background-image: url("../images/common/top_act_story_bg2.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.bg_top_act_story3 {
  background: #fff;
  background-image: url("../images/common/top_act_story_bg3.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.bg_top_act_story4 {
  background: #081735;
  background-image: url("../images/common/top_act_story_bg4.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.bg_top_act_story5 {
  background: #fff;
  background-image: url("../images/common/top_act_story_bg5.png");
  background-position: center;
  background-repeat: repeat-y;
  background-size: cover;
}

.bg_top_act_story6 {
  background: #27b2d5;
  background-image: url("../images/common/top_act_story_bg6.png");
  background-position: center top;
  background-repeat: repeat-y;
  background-size: cover;
}

.bg_gold2 {
  background: #ede6d6;
}

.bg_lgold {
  background: #e6e4cf;
}

.bg_lgold2 {
  background: #daca9d;
}

.bg_beige {
  background: #efeee3;
}

.bg_dbeige {
  background: #d1c4ab;
}

.bg_img01 {
  background: url("../images/common/base.png") 0 0 repeat-y;
  background-size: 100% 100%;
}

.border_black {
  border: solid 1px #030000;
}

.border_green {
  border: solid 1px #009c45;
}

.border_dgray {
  border: solid 1px #4b4a44;
}

.border_b_dgray {
  border-bottom: solid 1px #4b4a44;
}

.border_t_lgray {
  border-top: solid 1px #dddddd;
}

.border_t_white {
  border-top: solid 1px #ffffff;
}

.border_t_blue {
  border-top: solid 1px rgb(15, 56, 90);
}

.border_t_lbrown {
  border-top: solid 1px #6f5544;
}

.border_b_white {
  border-bottom: solid 1px #ffffff;
}

.border_b_white_dotted {
  background-image: linear-gradient(to right, #fff, #fff 2px, transparent 2px, transparent 8px); /* 幅2の線を作る */
  background-size: 4px 1px; /* グラデーションの幅・高さを指定 */
  background-position: left bottom; /* 背景の開始位置を指定 */
  background-repeat: repeat-x; /* 横向きにのみ繰り返す */
}

.border_b_white_dotted2 {
  background-image: linear-gradient(to right, #fff, #fff 3px, transparent 3px, transparent 8px); /* 幅2の線を作る */
  background-size: 8px 3px; /* グラデーションの幅・高さを指定 */
  background-position: left bottom; /* 背景の開始位置を指定 */
  background-repeat: repeat-x; /* 横向きにのみ繰り返す */
}

.border_b_white_dashed2 {
  background-image: linear-gradient(to right, #fff, #fff 3px, transparent 3px, transparent 8px); /* 幅2の線を作る */
  background-size: 8px 1px; /* グラデーションの幅・高さを指定 */
  background-position: left bottom; /* 背景の開始位置を指定 */
  background-repeat: repeat-x; /* 横向きにのみ繰り返す */
}

@media print, screen and (max-width: 768px) {
  .border_b_white_dotted2 {
    background-image: linear-gradient(to right, #fff, #fff 2px, transparent 2px, transparent 8px); /* 幅2の線を作る */
    background-size: 5px 2px; /* グラデーションの幅・高さを指定 */
    background-position: left bottom; /* 背景の開始位置を指定 */
    background-repeat: repeat-x; /* 横向きにのみ繰り返す */
  }
  .border_b_white_dashed2 {
    background-image: linear-gradient(to right, #fff, #fff 2px, transparent 2px, transparent 8px); /* 幅2の線を作る */
    background-size: 5px 1px; /* グラデーションの幅・高さを指定 */
    background-position: left bottom; /* 背景の開始位置を指定 */
    background-repeat: repeat-x; /* 横向きにのみ繰り返す */
  }
}
.border_b_lgray {
  border-bottom: solid 1px #999999;
}

.border_b_gold {
  border-bottom: solid 1px #b79b5b;
}

.border_b_blue {
  border-bottom: solid 1px rgb(15, 56, 90);
}

.border_b_lblue {
  border-bottom: solid 1px #0071bc;
}

.border_t_lgold_bold {
  border-top: solid 3px #cab797;
}

.border_b_lgold_bold {
  border-bottom: solid 3px #cab797;
}

.bg_img02 {
  background: url("../images/quality/bg.jpg") 0 0 repeat-y;
  background-size: 100% 100%;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  background: #000;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.youtube video {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

#cboxLoadedContent {
  border: 5px solid #000;
  background: #000;
  overflow-x: hidden;
}

/* スケジュール
----------------------------------------------------*/
.sche {
  width: 100%;
  max-width: 700px;
  margin: auto;
  padding: 1.2%;
  font-size: 3.25em;
  text-align: center;
  color: black;
  letter-spacing: 0.3em;
}

.annaikai_title {
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: bold;
  margin: auto;
  padding: 1.2%;
  font-size: 2.05em;
  text-align: center;
  color: #910010;
}

@media print, screen and (max-width: 960px) {
  .sche {
    margin: auto;
    padding: 50 20 50 20;
    font-size: 1.8em;
    text-align: center;
    color: black;
    letter-spacing: 0.1em;
  }
}
/* キャプション
----------------------------------------------------*/
.caption_wrapper {
  padding: 3em 0 3em 0;
}

.caption ul li {
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 0;
}

.caption p {
  line-height: 1.6;
  font-size: 12px;
}

@media print, screen and (max-width: 960px) {
  .caption_wrapper {
    padding: 0px 5vw 5vw 5vw;
    margin-top: 5vw;
  }
  .caption p {
    font-size: 1.6vw;
  }
  .caption {
    font-size: 1.6vw;
  }
}
.indent {
  text-indent: -1em;
  padding-left: 1em;
}

/*写真上　黒フチ　白　右寄せ*/
p.pic_caption_right_wht {
  position: absolute;
  bottom: 5px;
  right: 5px;
  color: #fff;
  margin-bottom: 0px !important;
  text-shadow: 1px 1px 2px rgb(0, 0, 0), 1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8), 0px 0px 1px rgba(0, 0, 0, 0.81), -1px -1px 2px rgba(0, 0, 0, 0.8);
  text-align: right;
}

/*写真上　黒フチ　白　左寄せ*/
p.pic_caption_left_wht {
  position: absolute;
  bottom: 5px;
  left: 5px;
  color: #fff;
  margin-bottom: 0px !important;
  text-shadow: 1px 1px 2px rgb(0, 0, 0), 1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8), 0px 0px 1px rgba(0, 0, 0, 0.81), -1px -1px 2px rgba(0, 0, 0, 0.8);
  text-align: left;
}

/*写真上 白フチ　スミ　右寄せ*/
p.pic_caption_right_blk {
  position: absolute;
  bottom: 5px;
  right: 5px;
  color: #333;
  margin-bottom: 0px !important;
  text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
  text-align: right;
}

/*写真上　フチなし　白　右寄せ*/
p.pic_caption_right_wht_noborder {
  position: absolute;
  bottom: 5px;
  right: 5px;
  color: #fff;
  margin-bottom: 0px !important;
  text-align: right;
}

/*写真上 フチなし　スミ　右寄せ*/
p.pic_caption_right_blk_noborder {
  position: absolute;
  bottom: 5px;
  right: 5px;
  color: #333;
  margin-bottom: 0px !important;
  text-align: right;
}

/*写真上　フチなし　白　左寄せ*/
p.pic_caption_left_wht_noborder {
  position: absolute;
  bottom: 5px;
  left: 5px;
  color: #fff;
  margin-bottom: 0px !important;
  text-align: left;
}

/*写真上 フチなし　スミ　左寄せ*/
p.pic_caption_left_blk_noborder {
  position: absolute;
  bottom: 5px;
  left: 5px;
  color: #333;
  margin-bottom: 0px !important;
  text-align: left;
}

/*写真上 フチなし　スミ　左寄せ*/
p.pic_caption_left_blk_noborder {
  position: absolute;
  bottom: 5px;
  left: 5px;
  color: #333;
  margin-bottom: 0px !important;
  text-align: left;
}

/*写真下 フチなし　スミ　右寄せ*/
p.caption_right_blk {
  margin-top: 0.3em;
  text-align: right;
}

/*写真下 フチなし　スミ　左寄せ*/
p.caption_left_blk {
  margin-top: 0.3em;
  text-align: left;
  line-height: 1.4;
}

/*写真下 フチなし　白　右寄せ*/
p.caption_right_wht {
  margin-top: 0.3em;
  text-align: right;
  color: #fff;
}

/*写真下 フチなし　白　左寄せ*/
p.caption_left_wht {
  margin-top: 0.3em;
  text-align: left;
  color: #fff;
}

p.caption_left_wht {
  color: #fff;
  margin-top: 0.3em;
  text-align: left;
}

p.pic_caption_right_wht,
p.pic_caption_left_wht,
p.pic_caption_left_blk,
p.pic_caption_right_blk,
p.pic_caption_right_wht_noborder,
p.pic_caption_left_blk_noborder,
p.pic_caption_right_blk_noborder,
p.pic_caption_left_wht_noborder,
p.pic_caption_left_blk_noborder,
p.caption_right_blk,
p.caption_left_blk,
p.caption_right_wht,
p.caption_left_wht {
  line-height: 1.6;
  font-size: 12px;
}

@media print, screen and (max-width: 960px) {
  p.pic_caption_right_wht,
  p.pic_caption_left_wht,
  p.pic_caption_right_blk,
  p.pic_caption_left_blk,
  p.pic_caption_right_wht_noborder,
  p.pic_caption_left_blk_noborder,
  p.pic_caption_right_blk_noborder,
  p.pic_caption_left_wht_noborder,
  p.pic_caption_left_blk_noborder,
  p.caption_right_blk,
  p.caption_left_blk,
  p.caption_right_wht,
  p.caption_left_wht {
    font-size: 2.2vw;
    line-height: 1.4;
  }
  .access p.pic_caption_right_wht_noborder {
    font-size: 1.8vw;
    line-height: 1.4;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
    display: block;
    -webkit-transform: scale(0.8);
    -moz-transform: scale(0.8);
  }
  p.caption_right_blk {
    font-size: 2.4vw !important;
  }
  p.caption_left_blk {
    font-size: 2.4vw !important;
  }
}
.photo_caption_bg_blk {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.7)), color-stop(rgba(0, 0, 0, 0.3)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0));
  position: absolute;
  left: 0px;
  bottom: 0px;
  width: 100%;
}

/* ボタン
----------------------------------------------------*/
a.link_btn_01 {
  background: #b6b6b6;
  font-size: 18px;
  text-decoration: none;
  color: #fff;
  line-height: 20px;
  text-align: center;
  padding: 0.8em;
  display: block;
}

a.link_kadomaru_btn_01 {
  border-radius: 36px;
  text-decoration: none;
  text-align: center;
  padding: 0.3em 0.8em 0.5em;
  color: #fff;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media print, screen and (max-width: 768px) {
  a.link_kadomaru_btn_01 {
    border-radius: 30px;
    padding: 0.6em 0.8em 1em;
  }
}
a.link_btn_02 {
  position: relative;
  color: #111;
  font-weight: bold;
  background: #fff;
  padding: 0.3em 3em 0.3em 4em;
  border: solid 1px #111;
  border-radius: 2em;
  font-size: 20px;
  text-decoration: none;
  font-weight: 400;
}

a.link_btn_02::before {
  position: absolute;
  top: 50%;
  left: 22px;
  content: "";
  width: 10px;
  height: 10px;
  margin: auto;
  border-top: 1px solid #111;
  border-right: 1px solid #111;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

a.link_btn_02::after {
  position: absolute;
  top: 50%;
  left: 26px;
  content: "";
  width: 10px;
  height: 10px;
  margin: auto;
  border-top: 1px solid #111;
  border-right: 1px solid #111;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

a.link_btn_02:hover {
  color: #fff;
  background: #111;
  border: solid 1px #111;
  opacity: 1;
}

a.link_btn_02:hover::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

a.link_btn_02:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

@media print, screen and (max-width: 1200px) {
  a.link_btn_02 {
    font-size: 1.8vw;
  }
}
@media print, screen and (max-width: 768px) {
  a.link_btn_02::before {
    width: 6px;
    height: 6px;
  }
  a.link_btn_02::after {
    width: 6px;
    height: 6px;
  }
  a.link_btn_02 {
    font-size: 2.5vw;
  }
}
a.link_btn_02w {
  position: relative;
  color: #fff;
  font-weight: bold;
  background: none;
  padding: 0.3em 3em 0.3em 4em;
  border: solid 1px #fff;
  border-radius: 2em;
  font-size: 20px;
  text-decoration: none;
  font-weight: 400;
}
a.link_btn_02w.-soon {
  pointer-events: none;
  opacity: 0.5;
}

a.link_btn_02w::before {
  position: absolute;
  top: 50%;
  left: 22px;
  content: "";
  width: 10px;
  height: 10px;
  margin: auto;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

a.link_btn_02w::after {
  position: absolute;
  top: 50%;
  left: 26px;
  content: "";
  width: 10px;
  height: 10px;
  margin: auto;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

a.link_btn_02w:hover {
  color: #fff;
  background: #111;
  border: solid 1px #111;
  opacity: 1;
}

a.link_btn_02w:hover::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

a.link_btn_02w:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

@media print, screen and (max-width: 1200px) {
  a.link_btn_02w {
    font-size: 1.8vw;
  }
}
@media print, screen and (max-width: 768px) {
  a.link_btn_02w::before {
    width: 6px;
    height: 6px;
  }
  a.link_btn_02w::after {
    width: 6px;
    height: 6px;
  }
  a.link_btn_02w {
    font-size: 2.5vw;
  }
}
/* エントリーはこちら
----------------------------------------------------*/
.entry_kochira {
  font-size: small;
  width: 100%;
  max-width: 550px;
  margin: auto;
  padding-left: 30px;
  padding-right: 30px;
}

@media print, screen and (max-width: 768px) {
  .entry_kochira {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.entry_kochira p {
  font-size: 28px;
  font-weight: 600;
  color: white !important;
  background: #f15a23;
  border-radius: 36px;
  text-decoration: none;
  text-align: center;
  padding: 16px;
  color: #fff;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

/* 枠タイトル
----------------------------------------------------*/
.g_flame::before,
.g_flame::after {
  clip-path: polygon(0 100%, 0 15px, 15px 0, 100% 0, 100% calc(100% - 15px), calc(100% - 15px) 100%, 2px 100%, 2px calc(100% - 2px), calc(100% - 16px) calc(100% - 2px), calc(100% - 2px) calc(100% - 16px), calc(100% - 2px) 2px, 16px 2px, 2px 16px, 2px 100%);
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100%;
}

.g_flame {
  position: relative;
  text-align: center;
  padding: 12px 10px 10px 10px;
}

.g_flame::before {
  background-color: #009c45;
  z-index: 10;
}

.g_flame::after {
  -webkit-transform: translate(calc(-50% + 1px), 1px);
  transform: translate(calc(-50% + 1px), 1px);
}

@media print, screen and (max-width: 768px) {
  .g_flame {
    padding: 5px 10px 2px 10px;
  }
}
.kadomaru_title_01 {
  border-radius: 36px;
  text-decoration: none;
  text-align: center;
  padding-top: 0.3em;
  padding-bottom: 0.5em;
  color: #fff;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media print, screen and (max-width: 768px) {
  .kadomaru_title_01 {
    border-radius: 30px;
    padding-top: 0.6em;
    padding-bottom: 1em;
  }
}
/* アニメーション
----------------------------------------------------*/
/*ゆっくり点滅*/
.blink2 {
  -webkit-animation: blink2 2s ease-in-out infinite alternate;
  animation: blink2 2s ease-in-out infinite alternate;
}

@-webkit-keyframes blink2 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.blink {
  position: relative;
  overflow: hidden;
}

.blink::before {
  content: "";
  width: 20px;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  position: absolute;
  top: -100px;
  left: 0;
  opacity: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-animation: blink 2s ease-in-out infinite;
  animation: blink 2s ease-in-out infinite;
}

@-webkit-keyframes blink {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes blink {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@-webkit-keyframes fuwatAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fuwatAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-300px);
    transform: translateX(-300px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-300px);
    transform: translateX(-300px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(300px);
    transform: translateX(300px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(300px);
    transform: translateX(300px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
/*----------------------------------------------------
	カーテン
----------------------------------------------------*/
.kage {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.8, 0, 0.5, 1);
  animation-timing-function: cubic-bezier(0.8, 0, 0.5, 1);
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(40%, rgba(85, 85, 85, 0)), to(rgba(0, 0, 0, 0.4)));
  background-image: linear-gradient(-180deg, rgba(85, 85, 85, 0) 40%, rgba(0, 0, 0, 0.4));
}

.curtain {
  width: 100%;
  position: relative;
  margin: 0 0 0 0;
  overflow: hidden;
}

.isPlay {
  -webkit-animation-name: play;
  animation-name: play;
  -webkit-animation-duration: 0.4s;
  animation-duration: 0.4s;
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.25, 0.1, -0.37, 0.98);
  animation-timing-function: cubic-bezier(0.25, 0.1, -0.37, 0.98);
  position: relative;
  opacity: 1 !important;
}

.isPlay:before {
  -webkit-animation-name: maskOut;
  animation-name: maskOut;
  -webkit-animation-duration: 0.4s;
  animation-duration: 0.4s;
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.25, 0.1, -0.37, 0.98);
  animation-timing-function: cubic-bezier(0.25, 0.1, -0.37, 0.98);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(109.6deg, rgb(44, 53, 145) 11.2%, rgb(100, 195, 239) 91.1%);
}

.isPlay:after {
  -webkit-animation-name: maskOut;
  animation-name: maskOut;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.02, 0.22, 0.82);
  animation-timing-function: cubic-bezier(0.08, 0.02, 0.22, 0.82);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(109.6deg, rgba(100, 195, 239, 0.5) 11.2%, rgba(34, 161, 241, 0.2) 91.1%);
}

@-webkit-keyframes play {
  from {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes play {
  from {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@-webkit-keyframes maskOut {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}
@keyframes maskOut {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}
.kage {
  z-index: 1;
}

.isPlay:before {
  z-index: 4;
}

.pic_caption_right_wht,
.pic_caption_left_wht,
.pic_caption_left_blk {
  z-index: 2;
}

.page_title {
  z-index: 3;
}

.page_title {
  font-size: 100px;
  color: #fff;
  font-family: "Cormorant Garamond", "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN", "小塚明朝 Pro", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", Roboto, "Droid Sans", "メイリオ", Meiryo, serif;
  position: absolute;
  margin: 0 auto;
  left: 0px;
  right: 0px;
  bottom: 0px;
  padding-bottom: 100px;
  font-weight: 200;
  line-height: 0.9;
}

.page_title span {
  font-size: 70px;
  font-weight: 200;
}

@media print, screen and (max-width: 768px) {
  .curtain_inner {
    overflow: hidden;
  }
  .page_title {
    font-size: 12vw;
    padding-bottom: 0.7em;
  }
  .page_title span {
    font-size: 7vw;
  }
}
.title_eng {
  font-family: "Cinzel", "Cormorant Garamond", "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN", "小塚明朝 Pro", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", Roboto, "Droid Sans", "メイリオ", Meiryo, serif;
}

/********************************************************************/
/*Flexbox*/
.col-pcflex-spblock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.col-pcflex-spflex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.col-pcblock-spflex {
  display: block;
}

.flex-wrap_wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex-wrap_nowrap {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.flex-justify-content_center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.flex-justify-content_space-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.flex-justify-content_space-around {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.flex-align-items_center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.flex-align-items_top {
  -webkit-box-align: top;
  -ms-flex-align: top;
  align-items: top;
}

.flex-align-items_stretch {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.w-pc15per-sp30per {
  width: 15%;
}

.w-pc19per-sp32per {
  width: 19%;
}

.w-pc23per-sp48per {
  width: 23%;
}

.w-pc24per-sp48per {
  width: 24%;
}

.w-pc25per-sp50per {
  width: 25%;
}

.w-pc26per-sp32per {
  width: 26%;
}

.w-pc30per-sp32per {
  width: 30%;
}

.w-pc31per-sp48per {
  width: 31%;
}

.w-pc32per-sp49per {
  width: 32%;
}

.w-pc32per-sp100per {
  width: 32%;
}

.w-pc32per-sp90per {
  width: 32%;
  margin: auto;
}

.w-pc32per-sp32per {
  width: 32%;
}

.w-pc33per-sp33per {
  width: 33%;
}

.w-pc35per-sp50per {
  width: 35%;
}

.w-pc35per-sp70per {
  width: 35%;
}

.w-pc48per-sp100per {
  width: 48%;
}

.w-pc49per-sp100per {
  width: 49%;
}

.w-pc49per-sp49per {
  width: 49%;
}

.w-pc48per-sp48per {
  width: 48%;
}

.w-pc48per-sp56per {
  width: 48%;
}

.w-pc45per-sp45per {
  width: 45%;
}

.w-pc46per-sp46per {
  width: 46%;
}

.w-pc24per-sp49per {
  width: 24%;
}

.w-pc24per-sp50per {
  width: 24%;
}

.w-pc24per-sp100per {
  width: 24%;
}

.w-pc25per-sp100per {
  width: 25%;
}

.w-pc28per-sp100per {
  width: 28%;
}

.w-pc30per-sp30per {
  width: 32%;
}

.w-pc30per-sp90per {
  width: 32%;
  margin: auto;
}

.w-pc33per-sp50per {
  width: 33.3333%;
}

.w-pc50per-sp100per {
  width: 50%;
}

.w-pc60per-sp100per {
  width: 60%;
}

.w-pc65per-sp100per {
  width: 65%;
}

.w-pc70per-sp100per {
  width: 70%;
}

.w-pc50per-sp50per {
  width: 50%;
}

.w-pc58per-sp100per {
  width: 58%;
}

.w-pc58per-sp58per {
  width: 58%;
}

.w-pc38per-sp100per {
  width: 38%;
}

.w-pc23per-sp23per {
  width: 23%;
}

.w-pc38per-sp38per {
  width: 38%;
}

.w-pc42per-sp42per {
  width: 42%;
}

.w-pc58per-sp58per {
  width: 58%;
}

.w-pc100per-sp48per {
  width: 100%;
}

.w-pc100per-sp100per {
  width: 100%;
}

.w-pc25per-sp35per {
  width: 25%;
  margin: auto;
  margin-top: 10%;
}

@media print, screen and (max-width: 768px) {
  .w-pc25per-sp35per {
    width: 35%;
    margin-top: 10%;
    margin: auto;
  }
  .w-pc19per-sp32per {
    width: 32%;
  }
  .w-pc23per-sp48per {
    width: 48%;
  }
  .w-pc24per-sp48per {
    width: 48%;
  }
  .w-pc25per-sp50per {
    width: 50%;
  }
  .w-pc26per-sp32per {
    width: 32%;
  }
  .w-pc30per-sp32per {
    width: 32%;
  }
  .w-pc32per-sp49per {
    width: 49%;
  }
  .w-pc31per-sp48per {
    width: 48%;
  }
  .w-pc30per-sp90per {
    width: 90%;
  }
  .w-pc33per-sp50per {
    width: 50%;
  }
  .w-pc35per-sp50per {
    width: 50%;
  }
  .w-pc35per-sp70per {
    width: 70%;
  }
  .w-pc25per-sp100per {
    width: 100%;
  }
  .w-pc28per-sp100per {
    width: 100%;
  }
  .w-pc32per-sp100per {
    width: 100%;
  }
  .w-pc32per-sp90per {
    width: 86%;
    margin-top: 2%;
  }
  .w-pc48per-sp56per {
    width: 56%;
  }
  .w-pc48per-sp100per {
    width: 100%;
  }
  .w-pc49per-sp100per {
    width: 100%;
  }
  .col-pcflex-spblock {
    display: block;
  }
  .col-pcblock-spflex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .w-pc24per-sp49per {
    width: 49%;
  }
  .w-pc24per-sp50per {
    width: 50%;
  }
  .w-pc24per-sp100per {
    width: 100%;
  }
  .w-pc50per-sp50per {
    width: 50%;
  }
  .w-pc50per-sp100per {
    width: 100%;
  }
  .w-pc60per-sp100per {
    width: 100%;
  }
  .w-pc65per-sp100per {
    width: 100%;
  }
  .w-pc70per-sp100per {
    width: 100%;
  }
  .w-pc58per-sp100per {
    width: 100%;
  }
  .w-pc42per-sp42per {
    width: 42%;
  }
  .w-pc58per-sp58per {
    width: 58%;
  }
  .w-pc38per-sp100per {
    width: 100%;
  }
  .w-pc38per-sp38per {
    width: 38%;
  }
  .w-pc15per-sp30per {
    width: 30%;
  }
  .w-pc100per-sp48per {
    width: 48%;
  }
  .sp_ml15p {
    margin-left: -15%;
  }
  .sp_mr15p {
    margin-right: -15%;
  }
  .sp_pl0p {
    padding-left: 0%;
  }
  .sp_pr0p {
    padding-right: 0%;
  }
  .sp_pr10px {
    padding-right: 10px;
  }
  .sp_pl20px {
    padding-left: 20px;
  }
  .sp_pr20px {
    padding-right: 20px;
  }
  .sp_pt10px {
    padding-top: 10px;
  }
  .sp_pb10px {
    padding-bottom: 10px;
  }
}
.pc_oder_1 {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.pc_oder_2 {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

@media print, screen and (max-width: 768px) {
  .pc_oder_1 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .pc_oder_2 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .sp_oder_1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .sp_oder_2 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}
/* ボタン
----------------------------------------------------*/
.btn_premium {
  width: 100%;
  max-width: 600px;
  margin: 3% auto;
}
.btn_premium div a {
  background: #756e6b;
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 1%;
  letter-spacing: 0.1em;
  color: #d5c8a0;
  font-family: "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN", "小塚明朝 Pro", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "Helvetica Neue", Helvetica, Arial, Roboto, "Droid Sans", "メイリオ", Meiryo, serif;
  font-size: min(5vw, 1.5rem);
}

.btn_entry a {
  background: #756e6b;
  display: block;
  color: #fff;
  text-align: center;
  font-size: 16px;
  text-decoration: none;
  padding: 0.8em 2em 1.5em;
  letter-spacing: 0.1em;
}

.btn_entry a span {
  display: block;
  width: 100%;
  text-align: center;
  color: #d5c8a0;
  font-family: "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN", "小塚明朝 Pro", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "Helvetica Neue", Helvetica, Arial, Roboto, "Droid Sans", "メイリオ", Meiryo, serif;
  font-size: 40px;
}

@media print, screen and (max-width: 768px) {
  .btn_entry a {
    font-size: 3vw;
    padding: 0.6em 2em 1.2em;
  }
  .btn_entry a span {
    font-size: 6vw;
  }
}
.btn_gold {
  background: rgb(192, 162, 86);
  font-size: 20px;
  text-align: center;
  color: #ffffff;
  padding: 1em 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.btn_gold:hover {
  background: #000;
}

.btn_gold img {
  width: 1em !important;
  margin-right: 1em;
}

a.btn_gold {
  text-decoration: none;
}

.btn_blue {
  background: rgb(43, 136, 175);
  font-size: 20px;
  text-align: center;
  color: #ffffff;
  padding: 1em 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.btn_blue:hover {
  background: #000;
}

.btn_blue img {
  width: 1em !important;
  margin-right: 1em;
}

a.btn_blue {
  text-decoration: none;
}

.btn_red {
  background: rgb(88, 14, 24);
  font-size: 20px;
  text-align: center;
  color: #ffffff;
  padding: 1em 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.btn_red:hover {
  background: #000;
}

.btn_red img {
  width: 1em !important;
  margin-right: 1em;
}

a.btn_red {
  text-decoration: none;
}

.btn_gray {
  background: rgb(85, 85, 85);
  font-size: 20px;
  text-align: center;
  color: #ffffff;
  padding: 1em 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.btn_gray:hover {
  background: #000;
}

.btn_gray img {
  width: 1em !important;
  margin-right: 1em;
}

a.btn_gray {
  text-decoration: none;
}

.btn_lblue {
  background: #26b2d4;
  font-size: 22px;
  text-align: center;
  color: #ffffff;
  padding: 1.2em 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-weight: 500;
}

.btn_lblue:hover {
  background: #4fcae8;
}

.btn_lblue img {
  width: 1em !important;
  margin-right: 1em;
}

a.btn_lblue {
  text-decoration: none;
}

.btn_lblue2 {
  background: #d3e0f1;
  font-size: 22px;
  text-align: center;
  color: #274a9d;
  padding: 1.2em 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-weight: 500;
}

.btn_lblue2:hover {
  background: #ffffff;
}

.btn_lblue2 img {
  width: 1em !important;
  margin-right: 1em;
}

a.btn_lblue2 {
  text-decoration: none;
}

.btn_map {
  background: rgb(192, 162, 86);
  font-size: 20px;
  text-align: center;
  color: #ffffff;
  padding: 1em 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.btn_map:hover {
  background: #000;
}

.btn_map img {
  width: 1em !important;
  margin-right: 1em;
}

a.btn_map {
  text-decoration: none;
}

@media print, screen and (max-width: 768px) {
  .btn_map {
    font-size: 1rem;
  }
}
.plan_btn {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.plan_btn:hover {
  cursor: pointer;
  opacity: 0.3;
}

/*.plan_btn {
transition:all 0.4s ease-out;
margin:0 auto;
}
.plan_btn:hover {
opacity:1;
transition:all 0.3s ease-out;
}
.plan_btn:hover {
transform: scale(1.24,1.24);
}
.plan_btn {
overflow: hidden;
position: relative;
}*/
.btn_ext {
  background: #111;
  font-size: 20px;
  text-align: center;
  color: #ffffff;
  padding: 1em 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.btn_ext:hover {
  background: #a59472; /*hover背景色*/
}

.btn_ext img {
  width: 1em !important;
  margin-right: 1em;
}

a.btn_ext {
  text-decoration: none;
}

@media print, screen and (max-width: 768px) {
  .btn_ext {
    font-size: 1rem;
  }
}
.btn_ext_ico {
  display: inline-block;
  vertical-align: middle;
  color: #111;
  line-height: 1;
  width: 0.6em;
  height: 0.6em;
  border: 0.1em solid #fff; /*文字と同じ色*/
  border-radius: 0.1em;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  position: relative;
  margin-left: 1em;
}

.btn_ext_ico > span {
  position: absolute;
  top: -0.2em;
  right: -0.2em;
  width: 45%;
  height: 45%;
  border: 0.1em solid #fff; /*文字と同じ色*/
  border-bottom: 0;
  border-left: 0;
  background: #111; /*背景と同じ色*/
  -webkit-box-shadow: -0.1em 0.1em 0 0.1em #111;
  box-shadow: -0.1em 0.1em 0 0.1em #111; /*背景と同じ色*/
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.btn_ext_ico > span::before {
  content: "";
  position: absolute;
  top: -0.05em;
  right: -0.1em;
  width: 0.1em;
  height: 0.6em;
  background: #fff; /*文字と同じ色*/
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.btn_ext:hover .btn_ext_ico > span {
  background: #a59472; /*hover背景と同じ色*/
  -webkit-box-shadow: -0.1em 0.1em 0 0.1em #a59472;
  box-shadow: -0.1em 0.1em 0 0.1em #a59472; /*hover背景と同じ色*/
}

/* スクロールボタン
----------------------------------------------------*/
#page_top {
  position: fixed;
  right: 0;
  bottom: 0;
  text-indent: -9999px;
  margin: 0;
  z-index: 5;
}

#page_top a {
  position: relative;
  display: block;
  width: 65px;
  height: 65px;
  background: rgb(0, 0, 0);
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}

#page_top a:hover {
  opacity: 0.3;
}

#page_top a::before {
  position: absolute;
  top: 7px;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 14px;
  height: 14px;
  margin: auto;
  content: "";
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
}

@media screen and (max-width: 767px) {
  #page_top a {
    width: 55px;
    height: 55px;
  }
  #page_top a::before {
    top: 9px;
    width: 15px;
    height: 15px;
  }
  #page_top {
    right: 0;
    bottom: 83px;
    margin: 0;
  }
  .sp_margin {
    padding-bottom: 20%;
  }
  .sp_margin_top_30px {
    padding-top: 30px;
  }
  .sp_side_pdg {
    padding-left: 30px;
    padding-right: 30px;
  }
}
/* スマホ時スクロール画像
----------------------------------------------------*/
.img_swipe_01 {
  border: solid 1px #ccc;
}

.ico_img_swipe {
  display: none;
}

@media print, screen and (max-width: 960px) {
  .ico_img_swipe {
    display: block;
    width: 40px !important;
    position: absolute;
    bottom: -20px;
    margin: 0 auto;
    left: 0px;
    right: 0px;
  }
  .img_swipe_01 {
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    text-align: center;
    border: solid 1px #ccc;
  }
  .img_swipe_01::-webkit-scrollbar {
    display: none;
  }
  .img_swipe_01 img {
    width: 160% !important;
    height: inherit;
    margin-left: auto;
    margin-right: auto;
  }
}
/* V-mark
----------------------------------------------------*/
.v-mark {
  display: none;
}
@media print, screen and (max-width: 768px) {
  .v-mark {
    --w: 39px; /* 全体の横幅 */
    --h: 26px; /* 全体の高さ */
    --stroke: 1px; /* 線の太さ */
    --color: #d7d7d7; /* 線の色 */
    display: block;
    margin: 4% auto -12%;
    width: var(--w);
    height: var(--h);
    background: linear-gradient(213deg, transparent calc(50% - var(--stroke)), var(--color) calc(50% - var(--stroke)) calc(50% + var(--stroke)), transparent calc(50% + var(--stroke))) left bottom/50% 100% no-repeat, linear-gradient(326deg, transparent calc(50% - var(--stroke)), var(--color) calc(50% - var(--stroke)) calc(50% + var(--stroke)), transparent calc(50% + var(--stroke))) right bottom/50% 100% no-repeat;
  }
}
.v-mark.mark_01 {
  margin: -5% auto 0%;
}
.v-mark.mark_end {
  margin: 4% auto 0%;
}

/* MOVIE BOX
----------------------------------------------------*/
.section-inner3 {
  width: 100%;
  max-width: 1080px;
  margin: 20px auto;
}

.border-box {
  margin: auto;
  margin-top: 10px;
  border: 3px solid #fff;
  padding: 80px;
  text-align: center;
}

video.topMoive {
  width: 100%;
  height: auto;
  padding-top: 25px;
  margin-bottom: 25px;
}

/* 限定ページ用アセット
----------------------------------------------------*/
.limited_contents {
  background: rgba(39, 178, 213, 0.4);
  background: rgba(0, 0, 0, 0.4);
  border: solid 1px rgba(255, 255, 255, 0.5);
}

.box1 {
  background: rgba(0, 0, 0, 0.6);
}

.box2 {
  background: rgb(0, 0, 0);
}

.formMember .button {
  display: inline-block;
  background: #666;
  font-size: 14px;
  text-decoration: none;
  color: #fff;
  line-height: 20px;
  text-align: center;
  padding: 0.5em;
  cursor: pointer;
  border: none;
  -webkit-transition: 300ms;
  transition: 300ms;
  height: 50px;
  width: 36%;
}

.formMember .button:hover {
  background: #ccc;
}

.formMember input[type=text],
.formMember input[type=password] {
  font-size: 18px;
  border: 1px solid #ccc;
  padding: 0.5em;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  height: 50px;
  width: 60%;
}

.formMember .cf {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

/* メインビジュアル
----------------------------------------------------*/
.mv {
  width: 100%;
  margin: 0 auto;
}

.mv img,
.mv video {
  width: 100%;
  vertical-align: bottom;
}

.contents_header_img {
  position: relative;
}

.contents_header_img .left {
  width: 57.5%;
  padding-bottom: 10%;
}

.contents_header_img .right {
  position: absolute;
  width: 57.5%;
  right: 0px;
  top: 10%;
}

.replay,
.skip {
  cursor: pointer;
  width: 150px;
  text-align: center;
  color: rgba(255, 255, 255, 0.8);
  border: solid 1px rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.1);
  display: block;
  padding: 0.3em 1em;
  position: absolute;
  bottom: 30px;
  left: 0px;
  right: 0px;
  margin: 0 auto;
  font-size: 15px;
}

@media print, screen and (max-width: 768px) {
  .replay,
  .skip {
    width: 100px;
    font-size: 12px;
  }
}
/* モーダルコンテンツ Basic Modal Styles
----------------------------------------------------*/
.modal {
  display: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.modal.is-open {
  display: block;
}

.modal {
  font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif;
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 999;
}

.modal__container {
  background-color: none;
  padding: 18px;
  width: 100%;
  max-height: 90vh;
  border-radius: 0px;
  overflow: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.modal__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.modal__title {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #00449e;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.modal-button {
  cursor: pointer;
}

.modal__close {
  background: transparent;
  border: 0;
  widht: 100%;
  background: #333;
  color: #fff;
  text-align: center;
  font-size: 18px;
  line-height: 1.6;
  cursor: pointer;
  max-width: 500px;
  margin: 0 auto;
}

@media print, screen and (max-width: 768px) {
  .modal__close {
    font-size: 22px;
    line-height: 1.8;
    max-width: 100%;
  }
}
.modal__header .modal__close:before {
  content: "✕";
  color: #fff;
  text-align: center;
  font-size: 20px;
  width: 100%;
}

.modal__content {
  margin-top: 0rem;
  margin-bottom: 0rem;
  line-height: 1.5;
  color: #fff;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  /*color: rgba(0,0,0,.8);*/
  background: #ffffff;
}

@media print, screen and (max-width: 768px) {
  .modal__content {
    max-width: 240%;
    width: 240%;
  }
}
.modal__content2 {
  margin-top: 0rem;
  margin-bottom: 0rem;
  line-height: 1.5;
  color: #fff;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  /*color: rgba(0,0,0,.8);*/
  background: #ffffff;
}

@media print, screen and (max-width: 768px) {
  .modal__content2 {
    max-width: 100%;
    width: 100%;
  }
}
.modal__btn {
  font-size: 0.875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background-color: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  border-radius: 0.25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform 0.25s ease-out;
  -webkit-transition: -webkit-transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}

.modal__btn:focus, .modal__btn:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}

@-webkit-keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
    transform: translateY(15%);
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
    transform: translateY(15%);
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%);
  }
}
@keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.modal[aria-hidden=false] .modal__overlay {
  -webkit-animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=false] .modal__container {
  -webkit-animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=true] .modal__overlay {
  -webkit-animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=true] .modal__container {
  -webkit-animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal .modal__container,
.modal .modal__overlay {
  will-change: transform;
}

/*----------------------------------------------------
	common page style
----------------------------------------------------*/
#container {
  /*margin-top:76px;*/
  margin-top: 60px;
}

@media print, screen and (max-width: 1060px) {
  #container {
    margin-top: 50px;
  }
}
/* 来場予約ボタン非表示 */
.hnavi li:nth-child(4) {
  display: none;
}

.footer_fix ul li:nth-child(5) {
  display: none;
}

/* ハンバーガーボタン表示 */
@media print, screen and (max-width: 1060px) {
  .hnavi li:nth-child(5) {
    display: block;
    opacity: 1;
    visibility: visible;
  }
}
/* グレーアウト .s_construction */
.s_construction {
  -webkit-filter: grayscale(1);
  filter: gray;
  filter: grayscale(1);
  cursor: default;
}

/* グロナビグレーアウト */
/*.gnavi li:nth-child(7) a {
  opacity: 0.2;
  pointer-events: none;
}*/
/* グロナビ NEW マーク */
.gnavi li {
  position: relative;
}

.gnavi li:nth-child(99) a::after,
.gnavi li:nth-child(99) a::after,
.gnavi li:nth-child(99) a::after {
  position: absolute;
  top: 3px;
  right: 3px;
  font-size: 11px;
  content: "NEW";
  color: #ffffff;
  background-color: #6B0608;
  padding: 1px 4px 1px 4px;
  line-height: 12px;
}

/* 枠
----------------------------------------------------*/
.s_waku_wrapper {
  position: relative;
}

.s_waku {
  position: absolute;
  z-index: 4;
  pointer-events: none;
  border: 4px solid rgb(215, 199, 163);
  top: 40px;
  left: 40px;
  right: 40px;
  bottom: -40px;
}

@media print, screen and (max-width: 1440px) {
  .s_waku {
    border: 2px solid rgb(215, 199, 163);
    top: 30px;
    left: 30px;
    right: 30px;
    bottom: -30px;
  }
}
@media print, screen and (max-width: 1024px) {
  .s_waku {
    border: 2px solid rgb(215, 199, 163);
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
  }
}
/* 共通タイトル
----------------------------------------------------*/
.s_main_title_01 {
  font-size: 38px;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: 300;
}

.s_main_title_01 span {
  font-size: 30px;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: 300;
  width: 100%;
  display: block;
  text-align: center;
}

@media print, screen and (max-width: 768px) {
  .s_main_title_01 {
    width: 80%;
    font-size: 5vw;
  }
  .s_main_title_01 span {
    font-size: 3.5vw;
  }
}
.s_main_title_02 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  font-size: 4.3rem;
  line-height: 1.3;
  letter-spacing: 0.01em;
  font-weight: 300;
  color: #d7d3d1;
  padding-bottom: 2%;
}

.s_main_title_02 span {
  font-size: 60px;
  line-height: 1.3;
  letter-spacing: 0.05em;
  font-weight: 300;
  width: 100%;
  display: block;
  text-align: center;
}

@media print, screen and (max-width: 1660px) {
  .s_main_title_02 {
    font-size: 80px;
  }
}
@media print, screen and (max-width: 768px) {
  .s_main_title_02 {
    font-size: 8vw;
    padding-bottom: 6%;
  }
  .s_main_title_02 span {
    font-size: 7vw;
  }
}
.s_main_title_03 {
  font-size: 110px;
  line-height: 1.3;
  letter-spacing: 0.01em;
  font-weight: 300;
  color: #d7d3d1;
  padding-bottom: 0px;
}

.s_main_title_03 span {
  font-size: 60px;
  line-height: 1.3;
  letter-spacing: 0.05em;
  font-weight: 300;
  width: 100%;
  display: block;
  text-align: center;
}

@media print, screen and (max-width: 1660px) {
  .s_main_title_03 {
    font-size: 80px;
  }
}
@media print, screen and (max-width: 768px) {
  .s_main_title_03 {
    font-size: 10vw;
  }
  .s_main_title_03 span {
    font-size: 6vw;
  }
}
.s_text_01 {
  font-size: 24px;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

.s_text_02 {
  font-size: 22px;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

.s_text_03 {
  font-size: 16px;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

.s_text_04 {
  font-size: 16px;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

/*
@media print, screen and (max-width: 1660px) {
  .s_text_01 {
    font-size: 20px;
  }
  .s_text_02 {
    font-size: 18px;
  }
  .s_text_03 {
    font-size: 14px;
  }
  .s_text_04 {
    font-size: 14px;
  }
}
*/
@media print, screen and (max-width: 768px) {
  .s_text_01 {
    font-size: 3.8vw;
  }
  .s_text_02 {
    font-size: 3.6vw;
  }
  .s_text_03 {
    font-size: 3vw;
  }
  .s_text_04 {
    font-size: 2vw;
  }
}
/* 共通横並びボックス
----------------------------------------------------*/
.s_col_01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.s_col_01_01 {
  width: 50%;
}

.s_col_01_02 {
  width: 100%;
  padding: 0;
}

.s_col_01_03 {
  width: 50%;
}

@media print, screen and (max-width: 1660px) {
  .s_col_01 {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .s_col_01_01 {
    width: 100%;
  }
  .s_col_01_02 {
    width: 100%;
    padding: 0px 60px 60px 100px;
  }
  .s_col_01_02_02 {
    width: 100%;
    padding: 190px 60px 60px 100px;
  }
}
@media print, screen and (max-width: 768px) {
  .s_col_01_01 {
    width: 100%;
    padding-left: 50px;
  }
  .s_col_01_02 {
    width: 100%;
    padding: 0 40px;
  }
  .s_col_01_03 {
    width: 100%;
    padding-right: 60px;
  }
}
.s_col_02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.s_col_02_01 {
  width: 50%;
}

.s_col_02_02 {
  width: 50%;
  padding-top: 1%;
  padding-right: 80px;
  padding-bottom: 0px;
  padding-left: 13%;
}

@media print, screen and (max-width: 1660px) {
  .s_col_02 {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .s_col_02_01 {
    width: 50%;
  }
  .s_col_02_02 {
    width: 50%;
    padding: 0px 60px 60px 100px;
    padding-top: 10%;
  }
  .s_col_02_03 {
    padding-top: 60px;
  }
}
@media print, screen and (max-width: 768px) {
  .s_col_02_01 {
    width: 100%;
    padding-left: 40px;
    padding-right: 0px;
    margin-top: -20px;
  }
  .s_col_02_02 {
    width: 100%;
    padding: 30px 40px 30px 80px;
  }
  .s_col_02_03 {
    padding-top: 30px;
  }
}
.s_col_03 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.s_col_03_01 {
  width: 48%;
  left: 15%;
  top: 10%;
  position: absolute;
}

.s_col_03_02 {
  width: 40%;
  padding-top: 28%;
}

@media print, screen and (max-width: 1660px) {
  .s_col_03_01 {
    width: 52%;
    left: 10%;
    top: 10%;
    position: absolute;
  }
  .s_col_03_02 {
    width: 50%;
    padding-top: 28%;
  }
}
@media print, screen and (max-width: 768px) {
  .s_col_03_01 {
    width: 72%;
    left: 0%;
    top: 0%;
    position: absolute;
  }
  .s_col_03_02 {
    width: 38%;
    padding-top: 35%;
  }
  .s_col_03_02_02 {
    width: 65%;
    margin-left: 15%;
  }
  .urbanlife .s_col_01 .s_urbanlife_02,
  .s_col_03_01 .pic_caption_left_wht {
    top: 5px;
    right: 5px !important;
    text-align: right;
  }
  .urbanlife .s_col_02 {
    margin-top: -60px;
  }
}
.s_col_04 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.s_col_04_01 {
  width: 35%;
}

.s_col_04_02 {
  width: 100%;
  padding: 0;
}

@media print, screen and (max-width: 1660px) {
  .s_col_04_01 {
    width: 35%;
  }
  .s_col_04_02 {
    width: 100%;
    padding: 0px 40px 0;
  }
}
@media print, screen and (max-width: 768px) {
  .s_col_04_01 {
    width: 100%;
    padding-left: 80px;
  }
  .s_col_04_02 {
    width: 100%;
    padding: 10px 50px;
  }
}
@media print, screen and (max-width: 768px) {
  .col_rev_sp {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-flow: column-reverse;
            flex-flow: column-reverse;
  }
}
/* メインビジュアル
----------------------------------------------------*/
.mv_location {
  background-image: url("../img/location/mv.webp");
  min-height: calc(100dvh - 60px);
  background-position: center bottom;
  background-size: cover;
}
@media print, screen and (max-width: 768px) {
  .mv_location {
    background-image: url("../img/location/mv-sp.webp");
    min-height: 66vw;
  }
}

.mv_design {
  background-image: url("../img/design/mv.webp");
  min-height: calc(100dvh - 60px);
  background-position: center bottom;
  background-size: cover;
}
@media print, screen and (max-width: 768px) {
  .mv_design {
    background-image: url("../img/design/mv-sp.webp");
    min-height: 66vw;
  }
}

.mv_garage {
  background-image: url("../img/garage/mv.webp");
  min-height: calc(100dvh - 60px);
  background-position: center bottom;
  background-size: cover;
}
@media print, screen and (max-width: 768px) {
  .mv_garage {
    background-image: url("../img/garage/mv-sp.webp");
    min-height: 66vw;
    background-position: 75% center;
    background-size: 102%;
  }
}

.mv_plan {
  background-image: url("../img/plan/mv.webp");
  min-height: calc(100dvh - 60px);
  background-position: center bottom;
  background-size: cover;
}
@media print, screen and (max-width: 768px) {
  .mv_plan {
    background-image: url("../img/plan/mv-sp.webp");
    min-height: 66vw;
    background-position: 75% center;
    background-size: 102%;
  }
}

.mv_access {
  background-image: url("../img/access/mv.webp");
  min-height: calc(100dvh - 60px);
  background-position: center bottom;
  background-size: cover;
}
@media print, screen and (max-width: 768px) {
  .mv_access {
    background-image: url("../img/access/mv-sp.webp");
    min-height: 66vw;
  }
}

.mv_premium {
  background-image: url("../img/premium/mv.webp");
  min-height: calc(100dvh - 60px);
  background-position: center bottom;
  background-size: cover;
}
@media print, screen and (max-width: 768px) {
  .mv_premium {
    background-image: url("../img/premium/mv-sp.webp");
    min-height: 66vw;
    background-position: 75% center;
    background-size: 102%;
  }
}

.mv_quality {
  background-image: url("../img/quality/mv.webp");
  min-height: calc(100dvh - 60px);
  background-position: center bottom;
  background-size: cover;
}
@media print, screen and (max-width: 768px) {
  .mv_quality {
    background-image: url("../img/quality/mv-sp.webp");
    min-height: 66vw;
  }
}

.mv_brand {
  background-image: url("../img/brand/mv.webp");
  min-height: calc(100dvh - 60px);
  background-position: center bottom;
  background-size: cover;
}
@media print, screen and (max-width: 768px) {
  .mv_brand {
    background-image: url("../img/brand/mv-sp.webp");
    min-height: 66vw;
  }
}

.cp_arrows {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 80px; /*画面いっぱいにする場合100vh*/
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  bottom: 8%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 90;
}

.cp_arrows .cp_arrow { /*矢印を配置するベースの設定*/
  position: absolute;
  top: 50%; /*着地点(cp_arrowsの高さの50%)*/
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 60px;
  height: 10px;
  opacity: 0;
  pointer-events: none;
}

.cp_arrows .cp_arrow:first-child {
  -webkit-animation: arrow-move08 2s ease-in-out infinite;
  animation: arrow-move08 2s ease-in-out infinite;
}

.cp_arrows .cp_arrow:nth-child(2) {
  -webkit-animation: arrow-move08 2s 1s ease-in-out infinite;
  animation: arrow-move08 2s 1s ease-in-out infinite;
}

.cp_arrows .cp_arrow:before,
.cp_arrows .cp_arrow:after { /*矢印全体の設定*/
  position: absolute;
  content: "";
  top: 0;
  width: 30px;
  height: 3px;
  background: #fff;
}

.cp_arrows .cp_arrow:before { /*矢印左の線の位置と傾斜*/
  left: 3px;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}

.cp_arrows .cp_arrow:after { /*矢印左の線の位置と傾斜*/
  right: 3px;
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg);
}

@media print, screen and (max-width: 768px) {
  .cp_arrows {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 30px; /*画面いっぱいにする場合100vh*/
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    bottom: 0px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@-webkit-keyframes arrow-move08 {
  0% {
    opacity: 0;
    top: 0%; /*スタート地点(cp_arrowsの高さの40%)*/
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes arrow-move08 {
  0% {
    opacity: 0;
    top: 0%; /*スタート地点(cp_arrowsの高さの40%)*/
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*-----トップビックバナー　メインビジュアルタイトル----*/
.s_pic_title_01 {
  display: block;
  width: 83%;
  max-width: 700px;
  margin: auto;
  font-size: 48px;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: 300;
  position: absolute;
  top: 43%;
  left: 0px;
  right: 0px;
  color: #fff;
}

.s_pic_title_01 span {
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: 300;
  width: 100%;
  display: block;
  padding-top: 0.5em;
}

.big_end .s_pic_title_01 {
  top: 44%;
}

@media print, screen and (max-width: 1024px) {
  .s_pic_title_01 {
    font-size: 36px;
  }
  .s_pic_title_01 span {
    font-size: 20px;
  }
}
@media print, screen and (max-width: 768px) {
  .s_pic_title_01 {
    font-size: 7vw;
    top: 47%;
  }
  .s_pic_title_01 span {
    font-size: 4vw;
  }
  .big_end {
    margin-top: 50px;
  }
  .big_end .s_waku_wrapper .s_top_00 {
    height: 60vw;
  }
  .big_end .s_pic_title_01 {
    top: 45%;
  }
}
.mv .s_pic_title_01 {
  top: 48%;
}

@media print, screen and (max-width: 1024px) {
  .mv .s_pic_title_01 {
    top: 49%;
  }
}
@media print, screen and (max-width: 768px) {
  .mv .s_pic_title_01 {
    top: 49%;
  }
}
.t-j {
  text-align: justify;
}

.m_center {
  margin-inline: auto;
}

.f_center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.subttl01 {
  width: auto !important;
  display: block;
  height: min(4.1vw, 30px);
}

.box01 {
  max-width: 1050px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 1% 2% 2%;
  margin: 4% auto;
}
.box01 .s_main_title_02 {
  padding-bottom: 4%;
}
.box01 .s_main_title_04 {
  font-size: min(4.2vw, 1.5rem);
  font-weight: 400;
  color: #595757;
  padding: 1% 0 3.5%;
}
.box01 .col35 {
  width: 35%;
}
@media print, screen and (max-width: 768px) {
  .box01 .col35 {
    width: 100%;
  }
}
.box01 .col40 {
  width: 40%;
}
@media print, screen and (max-width: 768px) {
  .box01 .col40 {
    width: 100%;
  }
}
.box01 .col46 {
  width: 46%;
}
@media print, screen and (max-width: 768px) {
  .box01 .col46 {
    width: 100%;
  }
}
.box01 .col47 {
  width: 47%;
}
@media print, screen and (max-width: 768px) {
  .box01 .col47 {
    width: 100%;
  }
}
.box01 .col48 {
  width: 48%;
}
@media print, screen and (max-width: 768px) {
  .box01 .col48 {
    width: 100%;
  }
}
.box01 .col49 {
  width: 49%;
}
@media print, screen and (max-width: 768px) {
  .box01 .col49 {
    width: 100%;
  }
}
.box01 .col50 {
  width: 50%;
}
@media print, screen and (max-width: 768px) {
  .box01 .col50 {
    width: 100%;
  }
}
.box01 .col55 {
  width: 55%;
}
@media print, screen and (max-width: 768px) {
  .box01 .col55 {
    width: 100%;
  }
}
.box01 .col60 {
  width: 60%;
}
@media print, screen and (max-width: 768px) {
  .box01 .col60 {
    width: 100%;
  }
}
@media print, screen and (max-width: 768px) {
  .box01 {
    padding: 8% 50px;
    margin: 6% 0;
  }
}
.box01 h4 {
  width: 100%;
}

.box02 {
  max-width: 1050px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 3% 50px 3%;
  margin: 4% auto;
}
@media print, screen and (max-width: 768px) {
  .box02 {
    padding: 8% 50px 12%;
  }
}
.box02 .s_main_title_02 {
  padding-bottom: 4%;
}
.box02 .s_main_title_04 {
  font-size: min(4.2vw, 1.5rem);
  font-weight: 400;
  color: #595757;
  padding: 1% 0 3.5%;
}
.box02 .col30 {
  width: 30%;
}
@media print, screen and (max-width: 768px) {
  .box02 .col30 {
    width: 30%;
  }
}
.box02 .col65 {
  width: 65%;
}
@media print, screen and (max-width: 768px) {
  .box02 .col65 {
    width: 65%;
  }
}
.box02 .col100 {
  width: 100%;
}
@media print, screen and (max-width: 768px) {
  .box02 .col100 {
    width: 100%;
  }
}

@media print, screen and (max-width: 1440px) {
  .pw2 {
    padding-inline: 4%;
  }
  .pw4 {
    padding-inline: 8%;
  }
}
@media screen and (min-width: 769px) {
  .t-c-M {
    text-align: center;
  }
}
.grayout {
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
}