@charset "UTF-8";

/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table:not(.tinymce-table), caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing:border-box;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
audio, canvas, video {
  display: inline-block;
  max-width: 100%;
}
html {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
ul, ol { list-style: none; }
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
a:focus {
  outline: none;
}
ins {
  text-decoration: none;
}
mark {
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

button, input, select, textarea {
  outline: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 100%;
}

input, textarea {
  background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
  -webkit-appearance: none;
  border-radius: 0;
  /* Removing the inner shadow, rounded corners on iOS inputs */
}

input[type="checkbox"] {
  -webkit-appearance: checkbox;
}

input[type="radio"] {
  -webkit-appearance: radio;
}

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

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

/* clearfix */
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  font-size: 0.1em;
  line-height: 0;
  visibility: hidden;
  overflow: hidden;
}

.clearfix {
  display: inline-block;
}

/* exlude MacIE5 \*/
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/* end MacIE5 */
/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
body {
  -webkit-font-smoothing: antialiased;
  background: #fff;
  color: #666;
  line-height: 1;
}

a {
  color: #666;
  text-decoration: none;
}

img {
  vertical-align: bottom;
}

input {
  border: 0;
  margin: 0;
  padding: 0;
}

p {
  font-size: 14px;
  line-height: 2;
}

a,
a:before,
a:after,
input {
  -webkit-transition-property: background-color, color;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: ease;
  -moz-transition-property: background-color, color;
  -moz-transition-duration: 0.2s;
  -moz-transition-timing-function: ease;
  -o-transition-property: background-color, color;
  -o-transition-duration: 0.2s;
  -o-transition-timing-function: ease;
  transition-property: background-color, color;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

#infscr-loading {
  color: #525252;
  font-size: 14px;
  text-align: center;
  width: 100%;
}

#infscr-loading img {
  margin-right: 8px;
  vertical-align: middle;
}

#infscr-loading div {
  display: inline;
}

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

.clear {
  clear: both;
}

.fleft {
  float: left;
}

.fright {
  float: right;
}

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

.flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

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

.flex-auto {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
}

.flex-none {
  -webkit-box-flex: 0;
  -webkit-flex: none;
  -ms-flex: none;
  flex: none;
}

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

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

.self-stretch {
  -ms-flex-item-align: stretch;
  align-self: stretch;
}

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

.font-type1 {
  font-family: Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

.font-type2 {
  font-family: "Segoe UI", Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.font-type3 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.hide {
  display: none;
}

.inner {
  margin: 0 auto;
  width: 1150px;
}

.rich_font {
  font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  font-weight: 500;
}

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

.center {
  text-align: center;
}

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

.primary {
  width: 68.69565%;
}

.primary-full {
  width: 100%;
}

.secondary {
  width: 26.08696%;
  max-width: 300px;
}

.trim {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 400px;
}
.trim img {
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: auto;
}

/* ローディングアイコン */
#site-wrap {
  display: none;
}

#site-loader-overlay {
  background: #fff;
  opacity: 1;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  width: 100vw;
  height: 100vh;
  z-index: 99999;
}

#site-loader-spinner {
  font-size: 10px;
  position: fixed;
  top: 50%;
  top: -webkit-calc(50% - 33px);
  top: calc(50% - 33px);
  top: calc(50% - 33px);
  left: 50%;
  left: -webkit-calc(50% - 33px);
  left: calc(50% - 33px);
  left: calc(50% - 33px);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: loading-anime 1.1s infinite linear;
  animation: loading-anime 1.1s infinite linear;
}

#site-loader-spinner,
#site-loader-spinner:after {
  border-radius: 50%;
  width: 60px;
  height: 60px;
}

@-webkit-keyframes loading-anime {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes loading-anime {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* アイコンフォント */
.icon-arrow-right:before {
  content: "\e910";
}

/* keyframes */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes imageAnimation03 {
  0% {
    visibility: hidden;
    opacity: 0;
  }
  5% {
    visibility: visible;
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes imageAnimation03 {
  0% {
    visibility: hidden;
    opacity: 0;
  }
  5% {
    visibility: visible;
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


/* ----------------------------------------------------------------------
 ボタン
---------------------------------------------------------------------- */
.button {
  font-size: 14px;
  margin: 60px 0;
  text-align: center;
}
.button a {
  background: #ccc;
  color: #fff;
  display: inline-block;
  height: 50px;
  line-height: 50px;
  width: 200px;
}


/* ----------------------------------------------------------------------
 リスト
---------------------------------------------------------------------- */
.list-group {
  border: 1px solid #ddd;
  border-bottom: none;
}
.side_widget .headline-bar + .list-group {
  border-top: none;
}
.list-group li {
  background: #fff;
  border-bottom: 1px solid #ddd;
}
.side_widget .list-group li {
  font-size: 14px;
  line-height: 1.4;
  margin: 0;
  padding: 0;
}
.list-group a {
  display: block;
  padding: 20px 25px;
}
.list-group a:hover {
  background: #f6f6f6;
}


/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */
@-webkit-keyframes imageAnimation01 {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
@-webkit-keyframes imageAnimation02 {
  0% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes imageAnimation01 {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
@keyframes imageAnimation02 {
  0% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
/* スライダー */
.top-slider {
  height: calc(100vh - 100px);
  margin-top:-2px;
}
.top-slider a {
  display: block;
}
.top-slider span {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.top-slider span {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  height: 100%;
}

.top-slider-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
}
.header-bar-fixed ~ .top-slider-wrapper {
  margin-top: 100px;
}
.admin-bar .header-bar-fixed ~ .top-slider-wrapper {
  margin-top: 68px;
}

.top-slider-item {
  display: none;
}
.top-slider-item:nth-of-type(1) {
  display: block;
}
.top-slider-item:nth-of-type(1) span {
  -webkit-animation: imageAnimation01 10s linear infinite 0s;
  animation: imageAnimation01 10s linear infinite 0s;
}
.top-slider-item:nth-of-type(2) span {
  -webkit-animation: imageAnimation02 10s linear infinite 0s;
  animation: imageAnimation02 10s linear infinite 0s;
}
.top-slider-item:nth-of-type(3) span {
  -webkit-animation: imageAnimation02 10s linear infinite 0s;
  animation: imageAnimation01 10s linear infinite 0s;
}
.top-slider-item:only-child span {
  -webkit-animation: none;
  animation: none;
}

.top-slider-nav {
  position: absolute;
  bottom: 30px;
  text-align: center;
  width: 100%;
  z-index: 9;
}
.top-slider-nav li {
  display: inline-block;
}
.top-slider-nav li:not(:first-child) {
  margin-left: 12px;
}
.top-slider-nav a {
  background: #fff;
  display: block;
  width: 12px;
  height: 12px;
  transform: rotate(45deg);
}
.top-slider-nav li.active a{
	background-color:#cfb5c3;
}


.top-slider-content {
  border-radius: 50%;
  margin: auto;
  overflow: hidden;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  table-layout: fixed;
  vertical-align: middle;
  z-index: 9;
}


.top-slider-logo {
  line-height: 1;
}

.top-slider-text {
  line-height: 1.6;
}

/* 動画 */
.header-video {
  background: #000;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  width: 100%;
  height: calc(100vh - 100px);
}

.header-video-overlay {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.header-youtube {
  background: #000;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: calc(100vh - 100px);
  position: relative;
  width: 100%;
  height: 100vh;
}

.header-youtube-overlay {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.top-news {
  margin-bottom: -48px;
}

.top-blog {
  margin-bottom: -10px;
}

/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
.header {
  position: relative;
}

.header-bar {
  height: 100px;
  width: 100%;
}

.header-bar-inner {
  position: relative;
}

.header-bar-fixed {
  position: fixed !important;
  top: 0;
  left: 0;
  z-index: 9999;
}

/* ロゴ */
.logo {

}

.logo-text {
  display: table;
  float: left;
  table-layout: fixed;
  word-wrap: break-word;
}
.logo-text a {
  display: table-cell;
  vertical-align: middle;
}

.logo-image {
  position: absolute;
  top: 35px;
  left: 0;
}

/* グローバルメニュー */
.global-nav {
  float: right;
  font-size: 14px;
}
.global-nav .menu-item-has-children:hover > .sub-menu {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
  visibility: visible;
}
.global-nav .child-menu-button {
  display: none;
}
.global-nav .sub-menu {
  line-height: 1.5;
  opacity: 0;
  position: absolute;
  top: 100%;
  left: 0;
  -webkit-transform: translate(0, 25%);
  -webkit-transition-property: opacity, transform;
  -webkit-transition: .5s;
  -moz-transform: translate(0, 25%);
  -moz-transition-property: opacity, transform;
  -moz-transition: .5s;
  -ms-transform: translate(0, 25%);
  -ms-transition-property: opacity, transform;
  -ms-transition: .5s;
  -o-transform: translate(0, 25%);
  -o-transition-property: opacity, transform;
  -o-transition: .5s;
  transform: translate(0, 25%);
  transition-property: opacity, transform;
  transition: .5s;
  visibility: hidden;
  z-index: 99;
}
.global-nav .sub-menu .menu-item-has-children:after {
  border-color: transparent transparent transparent #ffffff;
  border-style: solid;
  border-width: 4px 0 4px 4px;
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  width: 0;
  height: 0;
}
.global-nav .sub-menu li {
  position: relative;
}
.global-nav .sub-menu a {
  background: #c5b8a9;
  box-sizing: border-box;
  color: #fff;
  display: block;
  padding: 12px 20px;
  width: 210px;
}
.global-nav .sub-menu a:hover {
  color: #fff;
}
.global-nav .sub-menu ul {
  top: 0;
  left: 100%;
}
.global-nav > ul > li {
  float: left;
  position: relative;
}
.global-nav > ul > li > a {
  line-height: 100px;
  padding: 0 28px;
}
.global-nav a {
  display: block;
}

/* ヘッダー画像 */
.signage {
  background-color: #eaeaea;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  display: table;
  height: 360px;
  position: relative;
  width: 100%;
}
.header-bar-fixed ~ .signage {
  margin-top: 100px;
}
.admin-bar .header-bar-fixed ~ .signage {
  margin-top: 68px;
}

.signage-content {
  -webkit-animation: fadeIn 1s ease 2.5s;
  -moz-animation: fadeIn 1s ease 2.5s;
  -ms-animation: fadeIn 1s ease 2.5s;
  -o-animation: fadeIn 1s ease 2.5s;
  animation: fadeIn 1s ease 2.5s;
  animation-fill-mode: both;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

.signage-title {
  margin-bottom: 15px;
}

/* パンくずリンク */
.breadcrumb {
  font-size: 14px;
  height: 55px;
  line-height: 55px;
}
.breadcrumb .home a:before {
  content: "\e90c";
  font-family: "design_plus";
}
.breadcrumb li {
  float: left;
}
.breadcrumb .home span {
	display: none;
}
.breadcrumb li:after {
  content: "\e910";
  font-family: "design_plus";
  font-size: 9px;
  margin: 0 1em;
}
.breadcrumb li:last-child:after {
	display: none;
}

.breadcrumb-wrapper {
  background: rgba(255, 255, 255, 0.7);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */
.side_widget {
  font-size: 12px;
  position: relative;
}
.side_widget:first-child {
  margin-top: 0;
}
.side_widget:first-child.side_widget.ad_widget {
  margin-top: 0;
}
.side_widget:first-child .headline-bar {
  margin-top: 0;
}
.side_widget .headline-bar {
  margin-bottom: 30px;
}
.side_widget.ad_widget {
  margin-top: 50px;
}

.tcdw_archive_list_widget {
  margin: 50px 0 35px;
}

.google_search_widget {
  margin: 35px 0;
}

/* .side_widget:last-child, .side_widget:only-child { margin:0; } */
.side_widget ul {
  margin: 0;
}

.side_widget li {
  line-height: 200%;
  margin: 0 0 10px 0;
}

.side_widget li ul {
  margin: 10px 0 0 0;
}

.side_widget li li {
  padding: 0;
}

.side_widget li li:last-of-type {
  margin: 0;
}

.side_widget img {
  height: auto;
  max-width: 100%;
}

.side_headline {
  background: #222;
  color: #fff;
  height: 50px;
  line-height: 50px;
  font-size: 14px;
  margin: 0 0 20px 0;
  padding: 0 20px;
  font-size: 14px;
  font-weight: bold;
}

/* banner */
.ml_ad_widget {
  border: none;
  padding: 0;
  background: none;
}

.ml_ad_widget img {
  height: auto;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
  display: block;
}

/* category */
.tcdw_category_list_widget .children {
  border-top: 1px solid #ddd;
  margin-top: 0;
}
.tcdw_category_list_widget .children li:last-child {
  border-bottom: none;
}

/* calendar */
#wp-calendar {
  margin: 0 auto;
  width: 100%;
  font-size: 11px;
  border-collapse: separate;
  table-layout: fixed;
}

#wp-calendar th, #wp-calendar td {
  padding: 2px;
  line-height: 340%;
  text-align: center;
}

#wp-calendar td a {
  display: block;
  margin: 0;
  padding: 0;
  text-decoration: none;
  color: #333;
  background-color: #eee;
}

#wp-calendar td a:hover {
  text-decoration: none;
  color: #fff;
  background: #ccc;
}

#wp-calendar caption {
  color: #fff;
  padding: 7px 0;
}

#wp-calendar thead th, #wp-calendar tfoot td {
  border: none;
  padding: 0;
  line-height: 200%;
}

#wp-calendar #prev, #wp-calendar #next {
  line-height: 300%;
}

#wp-calendar #prev a, #wp-calendar #next a {
  text-decoration: none;
  background: none;
  color: #fff;
}

#wp-calendar #prev a:hover, #wp-calendar #next a:hover {
  color: #fff;
  background: #ccc;
}

#wp-calendar td#today {
  font-weight: bold;
}

/* collapse category list */
.side_widget.tcdw_category_list_widget .side_headline {
  margin-bottom: 0;
}

.collapse_category_list {
  border-bottom: 1px solid #ccc;
}

.collapse_category_list ul {
  margin: 0;
  padding: 0;
}

.collapse_category_list li ul {
  margin: 0;
  padding: 0;
}

.collapse_category_list li {
  margin: 0;
  padding: 0;
}

.collapse_category_list li li {
  margin: 0;
  padding: 0;
}

.collapse_category_list li a {
  color: #222;
  border: 1px solid #ccc;
  display: block;
  padding: 14px 15px;
  text-decoration: none;
  border-bottom: none;
}

.collapse_category_list li a:hover {
  color: #222;
  background-color: #f6f6f6;
}

.collapse_category_list .parent_category > a {
  background: transparent url(img/common/arrow_bottom2.gif) no-repeat 15px 24px;
  padding-left: 27px;
}

.collapse_category_list li .parent_category > a {
  background: transparent url(img/common/arrow_bottom2.gif) no-repeat 26px 24px;
  padding-left: 39px;
}

.collapse_category_list .children {
  display: none;
}

.collapse_category_list .children a {
  padding-left: 27px;
}

.collapse_category_list ul .children a {
  padding-left: 39px;
}

/* search */
.widget_search label {
  display: none;
}

.widget_search #search-box, .widget_search #s, .side_widget.google_search #s {
  width: 260px;
  height: 40px;
  margin: 0 -2px 5px 0;
  border: 1px solid #ccc;
  background: #f2f2f2;
  padding: 0 10px;
  box-shadow: 2px 2px 3px 0px #ddd inset;
}

.widget_search #search-btn input, .widget_search #searchsubmit, .side_widget.google_search #searchsubmit {
  border: none;
  width: 40px;
  height: 40px;
  background: #000 url(img/common/icon_search.png) no-repeat center;
  cursor: pointer;
  display: block;
  float: right;
  text-indent: -9999px;
  overflow: hidden;
}

.widget_search #search-btn input:hover, .widget_search #searchsubmit:hover, .side_widget.google_search #searchsubmit:hover {
  background-color: #666;
}

.brand_side_col .widget_search #search-box, .brand_side_col .widget_search #s, .side_widget.google_search #s {
  width: 75%;
  height: 40px;
  margin: 0 0 5px 0;
}

.brand_side_col .widget_search #search-btn input, .brand_side_col .widget_search #searchsubmit, .side_widget.google_search #searchsubmit {
  width: 25%;
}

/* archive category dropdown */
.widget_archive select,
.widget_categories select,
.tcdw_archive_list_widget select {
  background: #fff;
  border: 1px solid #ccc;
  font-size: 14px;
  margin: 0;
  padding: 12px 10px;
  width: 100%;
}

.widget_archive label, .widget_categories label {
  display: none;
}

.widget_archive select option, .widget_categories select option, .tcdw_archive_list_widget option {
  background: #fff;
  color: #333;
}

/* default recent post widget */
.widget_recent_entries li {
  border-bottom: 1px dotted #ccc;
  padding: 0 0 15px 0;
}

.widget_recent_entries li:last-child {
  border: none;
  padding: 0;
}

/* brand category list */
.brand_category_list {
  margin: 0;
  padding: 0;
}

.brand_category_list li {
  display: block;
  margin: 0 0 5px 0;
  padding: 0;
  position: relative;
}

.brand_category_list li:after {
  display: block;
  padding-top: 100%;
  content: "";
}

.brand_category_list li a {
  display: block;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  font-size: 14px;
  color: #000;
  background: #f6f6f6;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.brand_category_list li a:hover {
  color: #fff;
  background: #ccc;
}

.brand_category_list li a.active {
  color: #fff;
  background: #222;
}

.brand_category_list li a span {
  display: block;
  width: 100%;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

/* styled menu */
.side_widget.tcdw_menu_widget .side_headline {
  margin-bottom: 0;
}

.tcdw_menu_widget .menu {
  border-bottom: 1px solid #ccc;
}

.tcdw_menu_widget .menu ul {
  margin: 0;
  padding: 0;
}

.tcdw_menu_widget .menu li ul {
  margin: 0;
  padding: 0;
}

.tcdw_menu_widget .menu li {
  margin: 0;
  padding: 0;
}

.tcdw_menu_widget .menu li li {
  margin: 0;
  padding: 0;
}

.tcdw_menu_widget .menu li a {
  color: #222;
  border: 1px solid #ccc;
  display: block;
  padding: 14px 15px;
  text-decoration: none;
  border-bottom: none;
  cursor: pointer;
}

.tcdw_menu_widget .menu li a:hover {
  color: #222;
  background-color: #f6f6f6;
}

.tcdw_menu_widget .menu .menu-item-has-children > a {
  background: transparent url(img/common/arrow_bottom2.gif) no-repeat 15px 24px;
  padding-left: 27px;
}

.tcdw_menu_widget .menu li .menu-item-has-children > a {
  background: transparent url(img/common/arrow_bottom2.gif) no-repeat 26px 24px;
  padding-left: 39px;
}

.tcdw_menu_widget .menu li li .menu-item-has-children > a {
  background: transparent url(img/common/arrow_bottom2.gif) no-repeat 38px 24px;
  padding-left: 51px;
}

.tcdw_menu_widget .menu li li li .menu-item-has-children > a {
  background: transparent url(img/common/arrow_bottom2.gif) no-repeat 50px 24px;
  padding-left: 63px;
}

.tcdw_menu_widget .menu .sub-menu {
  display: none;
}

.tcdw_menu_widget .menu li li a {
  padding-left: 27px;
}

.tcdw_menu_widget .menu li li li a {
  padding-left: 39px;
}

.tcdw_menu_widget .menu li li li li a {
  padding-left: 51px;
}

.tcdw_menu_widget .menu li li li li li a {
  padding-left: 63px;
}

/* recent entries */
.widget_recent_entries .post-date {
  font-size: inherit;
  vertical-align: inherit;
}
.widget_recent_entries .post-date:after {
  content: "";
}

/* ----------------------------------------------------------------------
 hover - 画像リンクマウスオーバー時の不透明度
---------------------------------------------------------------------- */
a img.fade {
  background: none !important;
  outline: none;
  -webkit-transition: all .3s;
  transition: all .3s;
}

a:hover img.fade {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )";
  background: none !important;
}

/* ----------------------------------------------------------------------
 text-style - テキストスタイル
---------------------------------------------------------------------- */
.att {
  padding-left: 1em;
  text-indent: -1em;
}

/* 注意書き等で二行目以降を字下げ */
.att_box {
  margin: 2em 0 2.5em;
  padding: 1em 1.2em;
  line-height: 2.0;
  border: 1px dotted #cccccc;
  background: #fcfcfc;
  box-shadow: 0px 4px 0px 0px #f7f7f7;
}















* {
	margin:0;
	padding:0;
	box-sizing:border-box;
}
body {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
	font-weight:400;
	background-color:#1e1e1e;
}

#site_wrap {
	overflow:hidden;	
}

#site-loader-overlay {
    background: #232323;
    opacity: 1;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    width: 100vw;
    height: 100vh;
    z-index: 99999;
}
.header-bar {
    height: 80px;
    width: 100%;
	overflow:hidden;
}
.global-nav > ul > li > a {
    color: #FFFFFF;
}
.global-nav > ul > li > a {
    line-height: 80px;
    padding: 0 28px;
}
.menu-recruit {
    overflow: hidden;
    height: 100px;
    width: 160px;
    position: relative;
    text-align: center;
    line-height: 77px;
    margin-left: 0px;
}
.menu-recruit:before {
    content: '';
    display: block;
    background-color: #363636;
    transform: rotate(30deg);
    height: 200px;
    width: 96px;
    position: absolute;
    left: 24px;
    top: -50px;
}
.menu-recruit span{
	position:relative;
	z-index:5;
}
.menu-blog {
    overflow: hidden;
    height: 100px;
    width: 160px;
    position: relative;
    text-align: center;
    line-height: 77px;
    margin-left: -50px;
}
.menu-blog:before {
    content: '';
    display: block;
    background-color: #575757;
    transform: rotate(30deg);
    height: 200px;
    width: 96px;
    position: absolute;
    left: 24px;
    top: -50px;
}
.menu-blog span{
	position:relative;
	z-index:5;
}

/* 共通グラデ */
.grad {
	background: radial-gradient(farthest-side circle at center -184px, #454545 0, #171717 500px);
    box-shadow: inset 0px 5px 36px 0px rgba(8, 8, 8, 0.78);
    /*margin: 0 -20px 0px -20px;*/
}
.information {
	padding:130px 0 150px 0;
}
.main_head {
	font-size:42px;
	margin-bottom:40px;
	font-weight: 400;
	color:#cfb5c3;
	text-shadow: 2px 3px 3px #000000;
}
.head_line {
	text-align:center;
	margin-top:-40px;	
}
.head_line img {
	max-width:100%;	
}
.sub_head {
	display: block;
    margin-top: -5px;
    font-size: 23px;
    margin-bottom: 40px;
    color: #cfb5c3;
    text-align: center;
	text-shadow: 2px 3px 3px #000000;
}
/*追記_20231124*/
.sub_head.mb_edit {
  margin-bottom: 16px;
}
.sub_head.small_font {
  font-size: 19px;
  margin-bottom: 40px;
}
/*追記_20231124*/

.recruit-box-head {
	display: block;
    font-size: 23px;
    color: #cfb5c3;
    text-align: center;
	text-shadow: 2px 3px 3px #000000;
}

.main_head span {
	display:block;
	font-size:14px;
}
.information p {
	color:#FFFFFF;
	font-size:18px;
}
.tc { text-align:center; }
.tr { text-align:right;}
.lr-flex {
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-align-items:center;
	-moz-align-items:center;
	-ms-align-items:center;
	-o-align-items:center;
	align-items:center;
}
.lr-flex > div {
	width:50%;
	min-width:50%;
}
@media screen and (min-width: 900px) {
.lr-flex > .w_pc_60 {
	width:60%;
	min-width:60%;
}
.lr-flex > .w_pc_40 {
	width:40%;
	min-width:40%;
}
}
.pd30 {
	padding: 0 10vw;
}
h2 {
	font-size:24px;
	margin-bottom:20px;
}
.top-slider .top-slider-item:nth-of-type(1) span {
	background-image: url(../img/main_bg1.jpg);
}
.top-slider .top-slider-item:nth-of-type(2) span {
	background-image: url(../img/main_bg2.jpg);
}
.top-slider .top-slider-item:nth-of-type(3) span {
	background-image: url(../img/main_bg3.jpg);
}

.top-slider-content {
	width:200px;
	height:200px;	
}
.top-slider-content-inner {
    display: flex;
    align-items: center;
    height: 102%;
    justify-content: center;
    width: 100%;
}

header {
    background-color: #1e1e1e;
    color: #ffffff;
}
.global-nav > ul > li a {
	color:#FFFFFF;
}
.top-slider-content {
    background-color: #1e1e1e;
    display: table-cell;
    text-align: center;
    transition-property: background;
    transition: .8s;
    vertical-align: middle;
    word-wrap: break-word;
	width:200px;
	height:200px;
	border-radius:0;
}

/* ロゴのボーダー アニメーション */
a.top-slider-content-inner {
	position:relative;
}
a.top-slider-content-inner:before {
    display: block;
    content: '';
    height: 1px;
    width: 0px;
    background-color: #cfb5c3;
    position: absolute;
    left: 10px;
    bottom: 10px;
	transition: .8s;
	transition-delay: .8s;
}
a.top-slider-content-inner:after {
    display: block;
    content: '';
    height: 0px;
    width: 1px;
    background-color: #cfb5c3;
    position: absolute;
	right: 10px;
    bottom: 10px;
	transition: .8s;
	transition-delay: .8s;
}
a.top-slider-content-inner span:before {
    display: block;
    content: '';
    height: 1px;
    width: 0px;
    background-color: #cfb5c3;
    position: absolute;
    right: 10px;
    top: 10px;
	transition: .8s;
	transition-delay: .8s;
}
a.top-slider-content-inner span:after {
    display: block;
    content: '';
    height: 0px;
    width: 1px;
    background-color: #cfb5c3;
    position: absolute;
	left: 10px;
    top: 10px;
	transition: .8s;
	transition-delay: .8s;
}
a.top-slider-content-inner.animate:before {
    width: 180px;
}
a.top-slider-content-inner.animate:after {
    height: 183px;
}
a.top-slider-content-inner.animate span:before {
    width: 180px;
}
a.top-slider-content-inner.animate span:after {
    height: 183px;
}
.top-slider-content.animete {
	width:100%;
	height:100%;
	border-radius:0;
}
.greeting_sec {
    background: -webkit-linear-gradient(135deg, rgb(27, 27, 27) 0%, rgb(40, 40, 40) 100%);
    background: -moz-linear-gradient(135deg, rgb(27, 27, 27) 0%, rgb(40, 40, 40) 100%);
    background: -o-linear-gradient(135deg, rgb(27, 27, 27) 0%, rgb(40, 40, 40) 100%);
    background: linear-gradient(135deg, rgb(27, 27, 27) 0%, rgb(40, 40, 40) 100%);
    color: #FFFFFF;
}
.gallery_sec {
    color: #ffffff;
	overflow:hidden;
	background-image: url(../img/voice_bg.jpg);
	background-position:bottom center;
	padding:50px 50px;
}
@media screen and (max-width: 700px) {
	.gallery_sec {
		padding:50px 0px;
	}
}

.greeting {
  width: 650px;
	margin:auto;
}
.greeting.pt_20 {
	padding-top: 20px;
}
.gallery {
	margin:auto;
	max-width:1270px;
	width:100%;
    padding: 130px 0;
}
.gallery li{
	padding:0 15px;
}
.system_sec {
	background-color:#1e1e1e;
	padding:130px 0;
}
.system_sec > div > p {
	color:#FFFFFF;
}
.system {
    background-color: #FFFFFF;
    width: 600px;
    margin: auto;
}
.system table th{
	
}
.access_sec {
    padding: 130px 0;
	color:#FFFFFF;
}
.access {
	padding-top:60px;
	max-width:1200px;
	margin:auto;	
}
.cast_sec {
	padding:130px 0;
}
.cast_detail {
	display:flex;
	flex-wrap: wrap;
	width:1270px;
	max-width:100%;
	margin:auto;
}
.cast_detail li{
	width:25%;
	box-sizing:border-box;
	padding:10px;
}
.cast_detail li img {
    max-width: 100%;
}
.cast_detail li div {
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-align-items:center;
	-moz-align-items:center;
	-ms-align-items:center;
	-o-align-items:center;
	align-items:center;
	justify-content:center;
	padding:10px 0 30px 0;
	text-align:center;
	color:#FFFFFF;
	
}
.cast_detail li div span {
	font-size:12px;
	margin-left:15px;
}
footer {
	background-image: url(../img/footer_bg.jpg);
	background-position:bottom;
	color:#FFFFFF;
	text-align:center;
	padding:60px 0 0 0;
}
.footer_logo {
	font-size:42px;
	font-weight: 400;
    color: #cfb5c3;
}
footer > p {
	padding:30px 0 60px;	
}
.copyright {
	border-top: solid 1px #303030;
	text-align:center;
	color:#FFFFFF;
	background-color:#1B1B1B;
	padding:25px 0;
	font-size:12px;
}

#page_top {
    display: block;
    width: 60px;
    height: 60px;
	border-radius:50%;
	color:#FFFFFF;
	background-color:rgba(0,0,0,0.40);
    position: fixed;
    bottom: 32px;
    right: 10%;
    font-size: 40px;
    text-align: center;
    line-height: 60px;
	font-weight:normal;
	opacity:0;
	transition: .8s;
}
#page_top i {
	position:relative;
	top:-4px;	
}
#site-loader-spinner {
	border: 3px solid rgba(159, 136, 110, .5);
	border-left: 3px solid #9F886E;
}
.global-nav > ul > li a:hover {
	color:#cfb5c3;
}


.access_box {
	border: solid 1px #cfb5c3;
	width:300px;
	height:300px;
	margin:auto;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	justify-content:center;
	-webkit-align-items:center;
	-moz-align-items:center;
	-ms-align-items:center;
	-o-align-items:center;
	align-items:center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

@media screen and (max-width: 700px) {
	.access_box {
		border:none;
		width:auto;
		height:auto;
		display:block;	
	}
}




#recruit-head {
	background-image:url(../img/recruit_head.png);
	background-size: cover;
	background-position:center bottom;
	height:300px;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-align-items:center;
	-moz-align-items:center;
	-ms-align-items:center;
	-o-align-items:center;
	align-items:center;
	justify-content:center;
	-webkit-align-items:center;
	-moz-align-items:center;
	-ms-align-items:center;
	-o-align-items:center;
	align-items:center;
}
#recruit-head h1.main_head {
	margin-bottom:0;
}
.recruit {
	color:#FFFFFF;
	padding:60px 0;
}
.recruit > div {
	width:800px;
	margin:auto;
}
.recruit table{
	width:100%;
	border-collapse:collapse;
}
.recruit table input,
.recruit table select {
	height:30px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
	padding:0 10px;
}
.recruit table tr th{
	width:200px;
	padding-right:20px;
	text-align:right;
	color:#FFFFFF;
	font-weight:normal;
	background: #2b2b2b;
}
.req {
	color:#D1272A;
	font-size:13px;
	vertical-align:text-top;
	margin-left:5px;
}
.recruit table tr th,
.recruit table tr td {
	vertical-align:top;
	border: solid 1px #393939;
	padding-bottom:10px;
	color:#FFFFFF;
	padding:10px;
}
.recruit table tr td {
	background-color:#1e1e1e;	
}
.textarea {
	width:100%;
	box-sizing:border-box;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
	padding:10px;
	height:200px;
}
.req-color {
	color:#D1272A;
}
#form-send {
	background-color:#cfb5c3;
	color:#ffffff;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
	width:300px;
	display:block;
	margin:50px auto 0 auto;
	padding:15px 0;
	font-size:20px;
    box-shadow: 0 0 0px 2px rgb(223, 186, 90);
    border: solid 1px #ffffff;
	border-radius:3px;
}
#form-send:hover {
	background-color:#D8AE3F;
}

#form-end {
	background-color:#cfb5c3;
	color:#ffffff;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
	width:300px;
	display:block;
	margin:50px auto 0 auto;
	padding:15px 0;
	font-size:20px;
    box-shadow: 0 0 0px 2px rgb(223, 186, 90);
    border: solid 1px #ffffff;
	border-radius:3px;
	text-align:center;
}
#form-end:hover {
	background-color:#D8AE3F;
}

.check_btns {
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-align-items:center;
	-moz-align-items:center;
	-ms-align-items:center;
	-o-align-items:center;
	align-items:center;
	justify-content:center;
	-webkit-align-items:center;
	-moz-align-items:center;
	-ms-align-items:center;
	-o-align-items:center;
	align-items:center;
}
#form-back {
	background-color: #9f9f9f;
    color: #ffffff;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
    width: 300px;
    display: block;
    margin: 50px auto 0 auto;
    padding: 15px 0;
    font-size: 20px;
    box-shadow: 0 0 0px 2px rgb(172, 172, 172);
    border: solid 1px #ffffff;
    border-radius: 3px;
}
#form-back:hover {
	background-color:#939393;
}





@media screen and (max-width: 900px) {
	.recruit > div {
		width: 100%;
		padding:20px;
		margin: auto;
	}
}
@media screen and (max-width: 700px) {
	.recruit table tr, 
	.recruit table tr th,
	.recruit table tr td {
		display:block;
		width:auto;
		text-align:left;
		font-size:20px;
	}
	.recruit table input,
	.recruit table select {
		height:60px;
		font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
		padding:0 10px;
		font-size:24px;
		width:100%;
	}
	.recruit table tr td {
		padding-bottom:30px;
	}
	.recruit table tr:last-child td {
		padding-bottom:10px;
	}
	.check_btns #form-send, 
	.check_btns #form-back{
		width:47%;
	}
}


/* 採用情報 */
.recruit_info_text {
	padding-bottom:20px;	
}
.recruit_info_text h3 {
	background-color:#565656;
	color:#ffffff;
	padding:15px;
	font-size:18px;
	margin-bottom:15px;
}
.recruit_info_text p {
	line-height:160%;
	font-size:16px;
}
.recruit_info_text p strong {

}


.recruit_info {
	background-image:url(../img/recruit_info.jpg);
	background-size: cover;
	padding:100px 30px;
    background-position: bottom;
}
.recruit_info_body {
	margin:auto;
	width:1100px;
	max-width:100%;
	background-color:rgba(255,255,255,0.75);
	padding:60px 40px 40px 40px;
	color:#323232;
	font-weight:500;
}
.recruit_info_table {
	background-color:#ffffff;
	border-collapse:collapse;
}
.recruit_info_table th, 
.recruit_info_table td {
	border: solid 1px #d4d4d4;
	padding:15px;
	line-height:160%;
}
.recruit_info_table th {
	width:200px;
}
.recruit_info_table td ul li {
	display:inline-block;
	padding-right:20px;
	margin-bottom:5px;
	font-size:14px;
}
.recruit_info_table td ul li:before {
	content:'・';
	font-weight:bold;
}
.recruit-link {
/*
	color:#ffffff;
	background-color:#cfb5c3;
	border-radius:6px;
	padding:20px 60px;
	font-size:20px;
	display:inline-block;
	margin-top:40px;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.43);
*/
    background-color: #cfb5c3;
    color: #ffffff;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif !important;
    width: 300px;
    display: block;
    margin: 50px auto 0 auto;
    padding: 15px 0;
    font-size: 20px;
    box-shadow: 0 0 0px 2px rgb(223, 186, 90),  0 0 4px 0 rgba(0, 0, 0, 0.43);
    border: solid 1px #ffffff;
    border-radius: 3px;
}
.recruit-link:hover {
	/*
	background-color:#E3C371;
	*/
	background-color:#D8AE3F;
}

.recruit-bnr {
	position: absolute;
	bottom: 50px;
	width: 100%;
	margin: 0 auto;
}

.recruit-bnr-box {
	border: solid 1px #cfb5c3;
    display: flex;
    flex-direction: unset !important;
    width: 520px;
    height: auto;
    padding: 30px !important;
    background: linear-gradient(135deg, rgba(27, 27, 27, .6) 0%, rgba(40, 40, 41, .6) 100%);
}

.snsico { margin-left: 10px }
.snsico img { width: 35px; height : 35px }

@media screen and (max-width: 800px) {
	.recruit_info_table, 
	.recruit_info_table tr,
	.recruit_info_table tbody,
	.recruit_info_table th, 
	.recruit_info_table td {
		display:block;
		width:100%;
	}
	.recruit_info_table td {
		padding-bottom:40px;
		border-bottom:none;
	}
	.recruit_info_table th {
		border-bottom:none;
		border-top:none;
		font-weight:bold;
		font-size:20px;
	}
	.recruit_info_table th:first-child {
		border-top:solid 1px #d4d4d4;
	}
	.recruit_info_body {
    	padding: 60px 20px 40px 20px;
	}
}






input[type=radio] {
	display: none;		/* 標準スタイル */
}
.radio_label {
	position: relative;		/* ボックスの位置を指定する */
	padding: 0 0 0 42px;	/* ボックス内側の余白を指定する */
}
.radio_label:after,  .radio_label:before {
	position: absolute;	/* ボックスの位置を指定する */
	content: "";		/* ボックスのコンテンツ */ 
	display: block;		/* ブロックレベル要素化する */ 
	top: 50%;			/* 上部から配置の基準位置を決める */ 
}
.radio_label:after {
	left: 15px;			/* 左から配置の基準位置を決める */ 
	margin-top: -10px;	/* チェック枠の位置 */
	width: 16px;		/* ボックスの横幅を指定する */
	height: 16px;		/* ボックスの高さを指定する */
	border: 1px solid #cfb5c3;	/* ボックスの境界線を実線で指定する */
	border-radius: 50%;		/* ボックスの角丸を指定する */
}
.radio_label:before {
	left: 20px;			/* 左から配置の基準位置を決める */ 
	margin-top: -5px;	/* チェックマークの位置 */
	width: 8px;		/* ボックスの横幅を指定する */
	height: 8px;		/* ボックスの高さを指定する */
	background: #cfb5c3;/* ボックスの背景色を指定する */
	border-radius: 50%;	/* ボックスの角丸を指定する */
	opacity: 0;			/* 要素を透過指定する */
}
input[type=radio]:checked + .radio_label:before {
	opacity: 1;		/* 要素を表示する */
}
.radio_label:hover:after {
	border-color: 1px solid #cfb5c3;
}
.radio_label {
	display:inline-block;
	margin-top:7px;
	margin-bottom:7px;
}
p.red {
	color:#FF0004;
	text-shadow: 0px 0px 18px #686868;
}
.text-red { color:#FF0004 }
@media screen and (max-width: 700px) {
	p.red {
		font-size:20px;
	}
}

.err_info {
    background-color: rgb(255, 237, 237);
    padding: 20px;
    color: #d85858;
    font-weight: 700;
    border: solid 1px #d85858;
	line-height:160%;
	border-radius:3px;
	margin-bottom:30px;
	display:none;
}

.f16 { font-size:16px; }
.f18 { font-size:18px; }
.f20 { font-size:20px; }
.f24 { font-size:24px; }
.f30 { font-size:30px; }
.f40 { font-size:40px; }

@media screen and (max-width: 1200px) {
	.f16 { font-size:12px; }
	.f18 { font-size:14px; }
	.f20 { font-size:16px; }
	.f24 { font-size:20px; }
	.f30 { font-size:24px; }
	.f40 { font-size:36px; }	
}



.fn { font-weight:normal !important;}
.mb20 { margin-bottom:20px; }
.mb30 { margin-bottom:30px; }

.w60p {
	width:60%;	
}

/* ----------------------------------------------------------------------
 margin - 要素の外側の余白
---------------------------------------------------------------------- */
.m0 { margin: 0 !important; }
.mt0 { margin-top: 0 !important; }
.mr0 { margin-right: 0 !important; }
.mb0 { margin-bottom: 0 !important; }
.ml0 { margin-left: 0 !important; }
.m5 { margin: 5px !important; } .mt5 { margin-top: 5px !important; } .mr5 { margin-right: 5px !important; } .mb5 { margin-bottom: 5px !important; } .ml5 { margin-left: 5px !important; } .m10 { margin: 10px !important; } .mt10 { margin-top: 10px !important; } .mr10 { margin-right: 10px !important; } .mb10 { margin-bottom: 10px !important; } .ml10 { margin-left: 10px !important; } .m15 { margin: 15px !important; } .mt15 { margin-top: 15px !important; } .mr15 { margin-right: 15px !important; } .mb15 { margin-bottom: 15px !important; } .ml15 { margin-left: 15px !important; } .m20 { margin: 20px !important; } .mt20 { margin-top: 20px !important; } .mr20 { margin-right: 20px !important; } .mb20 { margin-bottom: 20px !important; } .ml20 { margin-left: 20px !important; } .m25 { margin: 25px !important; } .mt25 { margin-top: 25px !important; } .mr25 { margin-right: 25px !important; } .mb25 { margin-bottom: 25px !important; } .ml25 { margin-left: 25px !important; } .m30 { margin: 30px !important; } .mt30 { margin-top: 30px !important; } .mr30 { margin-right: 30px !important; } .mb30 { margin-bottom: 30px !important; } .ml30 { margin-left: 30px !important; } .m35 { margin: 35px !important; } .mt35 { margin-top: 35px !important; } .mr35 { margin-right: 35px !important; } .mb35 { margin-bottom: 35px !important; } .ml35 { margin-left: 35px !important; } .m40 { margin: 40px !important; } .mt40 { margin-top: 40px !important; } .mr40 { margin-right: 40px !important; } .mb40 { margin-bottom: 40px !important; } .ml40 { margin-left: 40px !important; } .m45 { margin: 45px !important; } .mt45 { margin-top: 45px !important; } .mr45 { margin-right: 45px !important; } .mb45 { margin-bottom: 45px !important; } .ml45 { margin-left: 45px !important; } .m50 { margin: 50px !important; } .mt50 { margin-top: 50px !important; } .mr50 { margin-right: 50px !important; } .mb50 { margin-bottom: 50px !important; } .ml50 { margin-left: 50px !important; } .m55 { margin: 55px !important; } .mt55 { margin-top: 55px !important; } .mr55 { margin-right: 55px !important; } .mb55 { margin-bottom: 55px !important; } .ml55 { margin-left: 55px !important; } .m60 { margin: 60px !important; } .mt60 { margin-top: 60px !important; } .mr60 { margin-right: 60px !important; } .mb60 { margin-bottom: 60px !important; } .ml60 { margin-left: 60px !important; } .m65 { margin: 65px !important; } .mt65 { margin-top: 65px !important; } .mr65 { margin-right: 65px !important; } .mb65 { margin-bottom: 65px !important; } .ml65 { margin-left: 65px !important; } .m70 { margin: 70px !important; } .mr70 { margin-right: 70px !important; } .mb70 { margin-bottom: 70px !important; } .ml70 { margin-left: 70px !important; } .m75 { margin: 75px !important; } .mt75 { margin-top: 75px !important; } .mr75 { margin-right: 75px !important; } .mb75 { margin-bottom: 75px !important; } .ml75 { margin-left: 75px !important; } .m80 { margin: 80px !important; } .mt80 { margin-top: 80px !important; } .mr80 { margin-right: 80px !important; } .mb80 { margin-bottom: 80px !important; } .ml80 { margin-left: 80px !important; } .m100 { margin: 100px !important; } .mt100 { margin-top: 100px !important; } .mr100 { margin-right: 100px !important; } .mb100 { margin-bottom: 100px !important; } .ml100 { margin-left: 100px !important; }
.ml-15 { margin-left:-15px; }

/* ----------------------------------------------------------------------
 padding - 要素の内側の余白
---------------------------------------------------------------------- */
.p0 { padding: 0 !important; }
.pt0 { padding-top: 0 !important; }
.pr0 { padding-right: 0 !important; }
.pb0 { padding-bottom: 0 !important; }
.pl0 { padding-left: 0 !important; }
.p5 { padding: 5px !important; }
.pt5 { padding-top: 5px !important; }
.pr5 { padding-right: 5px !important; }
.pb5 { padding-bottom: 5px !important; }
.pl5 { padding-left: 5px !important; }
.p10 { padding: 10px !important; }
.pt10 { padding-top: 10px !important; }
.pr10 { padding-right: 10px !important; }
.pb10 { padding-bottom: 10px !important; }
.pl10 { padding-left: 10px !important; }
.p25 { padding: 25px !important; }
.pt25 { padding-top: 25px !important; }
.pr25 { padding-right: 25px !important; }
.pb25 { padding-bottom: 25px !important; }
.pl25 { padding-left: 25px !important; }

@media screen and (max-width: 700px) {
	.sp-flex-w50p {
		display:-webkit-flex;
		display:-moz-flex;
		display:-ms-flex;
		display:-o-flex;
		display:flex;
		margin-top:10px;
	}
	.sp-flex-w50p > span{
		width:50%;
	}
}

/* バーガーメニュー */
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
    position: relative;
    width: 50px;
    height: 43px;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #cfb5c3;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 18px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger span:nth-of-type(1) {
  -webkit-animation: menu-bar01 .75s forwards;
  animation: menu-bar01 .75s forwards;
}
@-webkit-keyframes menu-bar01 {
  0% {
    -webkit-transform: translateY(20px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(20px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes menu-bar01 {
  0% {
    transform: translateY(20px) rotate(45deg);
  }
  50% {
    transform: translateY(20px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.menu-trigger span:nth-of-type(2) {
  transition: all .25s .25s;
  opacity: 1;
}
.menu-trigger span:nth-of-type(3) {
  -webkit-animation: menu-bar02 .75s forwards;
  animation: menu-bar02 .75s forwards;
}
@-webkit-keyframes menu-bar02 {
  0% {
    -webkit-transform: translateY(-20px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(-20px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes menu-bar02 {
  0% {
    transform: translateY(-20px) rotate(-45deg);
  }
  50% {
    transform: translateY(-20px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.menu-trigger.active span:nth-of-type(1) {
  -webkit-animation: active-menu-bar01 .75s forwards;
  animation: active-menu-bar01 .75s forwards;
}
@-webkit-keyframes active-menu-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(20px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(20px) rotate(45deg);
  }
}
@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(20px) rotate(0);
  }
  100% {
    transform: translateY(20px) rotate(45deg);
  }
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-animation: active-menu-bar03 .75s forwards;
  animation: active-menu-bar03 .75s forwards;
}
@-webkit-keyframes active-menu-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-20px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-20px) rotate(-45deg);
  }
}
@keyframes active-menu-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-20px) rotate(0);
  }
  100% {
    transform: translateY(-20px) rotate(-45deg);
  }
}

.sp_menu {
	display:none;
}

/* --------------------------------------------------------------------------------
 オリジナル追加　2017.10.14
-------------------------------------------------------------------------------- */
.logo-image {
	top: 0px;
}
.logo-image img {
	width: 100%;
}

.top-slider-logo img {
	width: 100%;
}
.top-slider-content-inner:after {
	bottom: 30px;
}
.footer-logo {
	margin: 0 auto 25px auto;
	width: 160px;
}
.footer-logo img {
	width: 100%;
}
.archive .gallery-category {
	height:80px;
}

.spbr {
	display:none;	
}

#sp_menu_bar  {
	display:none;	
}
@media screen and (max-width: 1200px) {
	.greeting {
		width:auto;
		padding:20px;
	}
	.inner {
		width:100%;
		padding:0 0 0 20px;
	}
}

@media screen and (max-width: 930px) {
	#global-nav {
		display:none;
	}
	.logo-image {
		top: 0;
		left: 50%;
		margin-left: -99px;
	}
}
@media screen and (max-width: 900px) {
	#sp_menu_bar {
		position: absolute;
		left:0;
		top:0;
		width:80px;
		height: 78px;
		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;
		background-color:#2D2D2D;
		border-right:solid 1px #373737;
	}
	.spbr {
		display: inline;	
	}
	.inner {
		width:100%;
		padding:0;
	}
	h2 {
		font-size:20px;	
	}
	.f16 { font-size:16px; }
	.f18 { font-size:18px; }
	
	.sub_head {
		font-size:16px;
		margin-top: 15px;
	}

	.recruit-box-head { font-size:20px }
	
	.grad {
		margin:0;	
	}
	
	.information {
		padding:50px 20px;
	}
	.information p.tc{
		text-align:left;	
	}
	.gallery {
		padding:30px 0;	
	}
	.lr-flex > div {
		width: 100%;
		min-width: 50%;
	}
	.lr-flex {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding-bottom:50px;
	}
	.lr-flex.lr-flex-sp-rev {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.lr-flex .pd30 {
		padding:20px;
	}
	.greeting_sec {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
	.greeting_sec br {
		display:none;	
	}
	
	.system_sec {
		padding: 50px 20px;
	}
	.system_sec p.tc {
		text-align:left;	
	}
	.cast_sec {
		padding: 50px 20px;
	}
	.cast_detail li {
    	width: 50%;
	}
	.cast_detail li div {
		-webkit-box-orient: vertical;
		-webkit-box-direction: vertical;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.cast_detail li div span {
		display:block;
		margin:0;
	}
	.access_sec {
		padding: 50px 20px;
	}
	.access {
		padding-top: 0px;
		max-width: 1200px;
		margin: auto;
	}
	.sp_menu {
		overflow:hidden;
		height:0px;
		background-color: rgba(42,42,42,0.8);
		border-top: solid 1px #3e3e3e;
		position: absolute;
		top: 78px;
		left: 0px;
		width: 100%;
		z-index: 20;
		display: block;
		transition: .4s;
	}
	body.menu-open {
		position:fixed;
		left:0;
		top:0;
		width:100%;
		max-height:100%;
		height:100%;
		overflow:hidden;	
	}
	body.menu-open .sp_menu{
		height:100%;
	}
	.sp_menu ul {
		background-color: rgb(42, 42, 42);
		display: block;
		overflow: hidden;
	}
	.sp_menu li {
		float:left;
		width:100%;
		border-bottom:solid 1px rgba(55,55,55,1.00);
	}
	.sp_menu li a {
		padding: 30px;
		display: block;
		color:#FFFFFF;
		font-size: 22px;
	}
	.sp_menu li a:after {
		content:'\f105';
		font-family: FontAwesome;
		float:right;
	}
	.sp_menu .menu-recruit,
	.sp_menu .menu-blog {
		height:100%;
		line-height: 100%;
		text-align: left;
		margin:0;
		position:relative;
	}
	.sp_menu .menu-recruit:before {
		left: -44px;
		transform: rotate(45deg);
		top: -69px;
		left: -117px;
	}
	.sp_menu .menu-blog:before {
		left: 3px;
		transform: rotate(45deg);
		top: -69px;
		left: -117px;
	}
	.sp_menu .bg-area{
		height:100%;
	}
}


@media screen and (max-width: 550px) {
	body, 
	#site_wrap {
		width:550px;
		overflow:hidden;
		margin:auto;
	}
}




.video{
  position:relative;
  width:100%;
  padding-top:0;
  margin-top: 0px;
}
.video iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}
.cover {
	height: 100%;
    width: 100%;
    background-color: rgba(0,0,0,0.0);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 102;
}


@media screen and (max-width: 552px) {
	.video {
		position: relative;
		width: 200%;
		margin-left: -50%;
		padding-top: 0;
		margin-top: 0px;
	}
}



/* 210301追加 */
video {
	width: 100%;
}
a._twitter {
	
}
a._twitter img {
	fill: #55acee
}
a._youtube {
	
}
.system_sec dl.system_fee {
	width: 1240px;
  max-width: 100%;
	margin: 0 auto;
	padding: 40px 20px 0 20px;
}
.system_sec dl.system_fee dt {
	font-size: 34px;
	padding-bottom: 20px;
	color: #fff;
}
.system_sec dl.system_fee dd.mb_20 {
	margin-bottom: 20px;
}
@media screen and (max-width: 550px) {
  .system_sec dl.system_fee {
    padding: 40px 0;
  }
}
.tinymce-table {
    max-width: 1200px;
    margin: 0 auto;
    border: 1px solid #cfb5c3;
}
.tinymce-table th,
.tinymce-table td {
    border: 1px solid #cfb5c3;
    padding: 20px;
    color: #ffffff;
    line-height: 1.7;
    text-align: left;
}
.tinymce-table th {
	width: 30%;
    background-color: rgba(18,18,18,0.80);
    color: #cfb5c3;
}
.tinymce-table td {
	width: 70%;
}

.membership {
	max-width: 1240px;
  width: calc(100% - 40px);
	margin: 0 auto;
	padding: 40px 20px 0 20px;
}
.m_benefits {
	width: calc(100% - 40px);
	max-width: 1240px;
	padding: 0 20px;
	margin: 20px auto 0 auto;
	display: flex;
	line-height: 1.4;
	align-items: center;
}
.m_benefits dl {
	font-size: 18px;
	color: #fff;
  margin-right: 10px;
}
.m_benefits figure {
  width: 100px;

}
.m_benefits figure img {
  width: 100%;
}
@media screen and (max-width: 900px) {
  .membership {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
  }
	.m_benefits {
		width: 100%;
		padding: 0;
	}
}
@media screen and (max-width: 767px) {
  .membership {
    width: 100%;
  }
  .m_benefits dl {
    order: 1;
    margin-right: 0;
    margin-left: 15px;
  }
}


dt._service_list {
	font-size: 24px;
	padding-bottom: 20px;
	color: #fff;
}
ul.benefits_list li {
	padding-bottom: 30px;
}
ul.benefits_list dl {
	color: #fff;
}
ul.benefits_list dl dt {
	font-size: 18px;
	padding-bottom: 10px;
  margin-bottom: 10px;
  display: inline-block;
}
ul.benefits_list dl dt span {
	padding-right: 10px;
}
ul.benefits_list dl dd {
	font-size: 18px;
	line-height: 1.4;
}
ul._capture li {
	font-size: 16px;
	color: #fff;
    margin-bottom: 5px;
    line-height: 1.4;
}


@media screen and (max-width: 550px) {
  .system_sec dl.system_fee {
    width: 100%;
  }
  .tinymce-table th,
  .tinymce-table td {
    width: 100%;
    display: block;
  }
	.membership {
		padding: 0;
	}
}
.bb {
  border-bottom: 1px solid #ffffff;
}


.system_fee.pc {
  max-width: 1240px;
  margin: 20px auto 0;
  padding: 0 20px;
  width: calc(100% - 40px);
}
.system_fee h2 {
  color: #ffffff;
  font-size: 34px;
}
.system_fee.mt50 {
  margin-top: 50px;
}
.system_fee.pc .tinymce-table th,
.system_fee.pc .tinymce-table td {
  width: 50%;
}
.club_amour_vip{
  max-width: 1240px;
  margin: 20px auto 0;
  padding: 0 20px;
  width: calc(100% - 40px);
}
@media screen and (max-width: 900px) {
  .club_amour_vip{
    width: 100%;
    padding: 0;
  }
}
.club_amour_vip_block{
  border: 1px solid #fff;
  color: #fff;
}
.club_amour_vip p{
  line-height: 1.7;
  font-size: 24px;
}
.club_amour_vip ul{
  margin: 15px 0;
  line-height: 1.7;
}
/*削除_20231129*/
.club_amour_vip ul li{
  /*削除*/
}
/*削除_20231129*/
/*追記_20231129*/
.club_amour_vip ul li{
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 5px 0 5px 0;
}
.club_amour_vip ul li .head{
  min-width: 85px;
}
.club_amour_vip ul li .head.dots{
  position: relative;
}
.club_amour_vip ul li .head.dots::after{
  position: absolute;
  content: ':';
  width: 2px;
  height: 16px;
  right: 0;
  top: 0;
}
.club_amour_vip ul li .content.indent{
  padding-left: 17px;
}
/*追記_20231129*/

/*追記_20231130*/
.club_amour_vip ul li .content{
  width: 100%;
}
.club_amour_vip ul li .content table tr th{
 width: 30%;
 min-width: 130px;
 padding-left: 16px;
}
.club_amour_vip ul li .content table tr td .price_wrap{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  max-width: 200px;
}
/*追記_20231130*/

/*追記_20231124*/
.pc-show {
  display: block;
}
 @media screen and (max-width: 850px) {
  .pc-show {
    display: none;
  }
}
/*追記_20231124*/

.sp {
  display: none;
}
@media screen and (max-width: 900px) {
  .system_fee.pc {
    width: 100%;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
  .system_fee.pc {
    display: none;
  }
  .system_sec dl.system_fee {
    padding-left: 0;
    padding-right: 0;
  }
}

/*　20210302追加*/
.amour_beat {
	padding: 130px 0;
}
.amour_beat h2 {
	text-align: center;
	margin-bottom: 40px;
}
.amour_beat h2 img {
	/* width: 300px; */
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .amour_beat h2 img {
    width: 90%;
  }
}
.amour_beat p {
	font-size: 18px;
	color: #fff;
	margin-right: 10px;
}
.amour_beat figure {
	width: 100px;
	min-width: 100px;
}
.amour_beat figure img {
	width: 100%;
}
.qr_area {
	width: calc(100% - 40px);
    max-width: 1240px;
    padding: 0 20px;
    margin: 40px auto 0 auto;
    display: flex;
    line-height: 1.4;
    align-items: center;
}
.qr_area p a {
	text-decoration: underline;
	color: #fff;
}
.qr_area p a:hover {
	opacity: 0.7!important;
}
@media screen and (max-width: 900px)  {
	.access_box {
		border: none;
	}
	.amour_beat {
		padding: 50px 0;
	}
}
@media screen and (max-width: 767px) {
	.qr_area {
		padding: 0;
	}
	.qr_area p {
		order: 1;
		margin-right: 0;
		margin-left: 15px;
	}
}
@media screen and (max-width: 550px) {
	.amour_beat figure {
		width: 36vw;
		min-width: inherit;
	}
}