@charset "utf-8";



.fontOsc {
  font-family: "Open Sans Condensed";
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt2 {
  margin-top: 20px !important;
}



/* ****************************************************** 共通 */
body {
  font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",Robot,"Droid Sans",sans-serif;
  font-size: 14px;
  color: #666;
}

#wrapper {
  position: relative;
}

@media screen and (min-width: 641px) {
  .col-2-5 {
    width: 18.3%;
  }
}

img {
  max-width: 100%;
  height: auto;
}
a {
  color: #666;
  -webkit-transition: 200ms ease-in-out;
        transition: 200ms ease-in-out;
}
a:hover {
  text-decoration: none;
  opacity: .8;
}
.btn {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 5px 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  -webkit-transition: 200ms ease-in-out;
        transition: 200ms ease-in-out;
  border-radius: 3px;
  background-color: #666;
  color: #fff;
}
.btn:hover {
  opacity: .8;
}
.btn i {
  margin: 0 5px 0 0;
}
.t_keyColor {
  color: #df3f3a;
}
.bg_keyColor {
  background-color: #df3f3a;
  color: #fff;
}

@media screen and (max-width: 640px) {
  .sp-none {
    display: none;
  }
}
@media screen and (min-width: 641px) {
  .pc-none {
    display: none;
  }
}


.container {
  width: 100%;
}
@media screen and (max-width: 640px) {
  .container {
    min-width: 300px;
    width: 90%;
    margin: 0 auto;
  }
}

#bread {
  margin-top: 10px;
}
#bread li {
  display: inline;
}
#bread li::before {
  content: ">";
  padding: 0 0 0 5px;
  letter-spacing: 7px;
  font-size: 10px;
}
#bread li:first-child::before {
  content: "";
}
#bread li a {
  color: #666;
  text-decoration: underline;
}
#bread li a:hover {
  text-decoration: none;
}
@media screen and (max-width: 640px) {
  #bread {
    margin-top: 5px;
  }
}


/* ****************************************************** ヘッダー */
header#header #hnavi {
  background-color: #f7f7f7;
  border-top: 3px solid #df3f3a;
}
header#header #hnavi ul {
  text-align: right;
}
header#header #hnavi ul li {
  display: inline-block;
  padding: 5px 10px;
  list-style: none;
}
header#header #hnavi ul li.line {
  padding: 5px;
  font-size: 10px;
}
header#header #hnavi ul li#hnavi6 {
  padding: 5px 15px;
  background-color: #df3f3a;
}
header#header ul li i {
  margin: 0 4px 0 0;
}
header#header #hnavi ul li#hnavi6 * {
  color: #fff;
}
header#header #hnavi ul li a {
  font-size: 12px;
  color: #666;
  text-decoration: underline;
}
header#header #hnavi ul li a:hover {
  text-decoration: none;
}
@media screen and (max-width: 640px) {
  header#header #hnavi {
    position: relative;
    padding: 10px 0;
  }
  header#header #hnavi h1 {
    text-align: center;
  }
  header#header #hnavi h1 img {
    width: 100px;
  }
  header#header #hnavi .sp_btn {
    position: absolute;
    top: 15px;
    left: 15px;
      text-align: center;
    box-sizing: border-box;
  }
  header#header #hnavi .sp_btn a {
    display: block;
    padding-top: 12px;
      width: 50px;
      height: 50px;
      line-height: 1.4em;
      font-size: 10px;
      border-radius: 5px;
      background-color: #666;
      color: #fff;
    -webkit-transition: 280ms ease-in-out;
          transition: 280ms ease-in-out;
  }
  header#header #hnavi .sp_btn a:hover {
    opacity: .8;
  }
}

header#header #hmain {
  padding: 13px 0 0 0;
}
header#header #hmain h1 span {
  display: block;
  margin: 7px 0 0 0;
  padding: 2px 0;
  width: 120px;
  text-align: center;
  letter-spacing: 1.6;
  background-color: #666;
  font-size: 10px;
  color: #fff;
}

header#header ul#hsnavi {
  margin: 5px 0 0 0;
}
header#header ul#hsnavi {
  text-align: right;
}
header#header ul#hsnavi li {
  display: inline-block;
}
header#header ul#hsnavi li a {
  display: block;
  margin: 0 0 0 5px;
  padding: 5px 15px;
  list-style: none;
  text-align: center;
  border-radius: 2px;
  background-color: #df3f3a;
  font-size: 20px;
  color: #fff;
}

header#header #gnavi {
  margin: 8px 0 0 0;
}
header#header ul#gnavi {
  text-align: right;
}
header#header ul#gnavi li {
  display: inline-block;
  /* margin: 0 0 0 1.2em; */
  margin: 0 0 0 1em;
  padding: 15px 0;
  list-style: none;
  text-align: center;
  border-bottom: 3px solid #fff;
}
header#header ul#gnavi li:first-child {
  margin-left: 0;
}
header#header ul#gnavi li:hover,
header#header ul#gnavi li.current {
  border-bottom: 3px solid #df3f3a;
}
header#header ul#gnavi li span {
  display: block;
}
header#header ul#gnavi li span.en {
  letter-spacing: 3px;
  font-size: 18px;
  color: #222;
}
header#header ul#gnavi li span.ja {
  margin: 5px 0 0 0;
  font-size: 10px;
  color: #aaa;
}

/** グローバルナビゲーション（SPパーツ）
********************************************/
.btn-sp {
  display: block;
  width: 50px;
  height: 50px;
  background: transparent;
  border: none;
  user-select: none;
  -webkit-touch-callout: none;
}
.btn-sp .bar {
  display: block;
  height: 3px;
  margin-top: 6px;
  border: 1px solid #fff;
  border-radius: 80%/30px;
  background: #fff;
}
.btn-sp .bar:first-child {
  margin-top: 0;
}
.btn-sp .txt {
  position: absolute;
  top: 27px;
    left: 26px;
  display: block;
  line-height: 16px;
  font-size: 12px;
  color: #fff;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}
@media screen and (max-width: 640px) {
  body.openbody .overlay {
    z-index: 1;
    display: block;
    width: 100%;
    background: rgba(51, 51, 51, 0.3);
  }

  .overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
    width: 0;
    height: 100%;
    margin: auto;
    background: transparent;
    -webkit-transition: 180ms ease-in-out;
            transition: 180ms ease-in-out;
  }

  .sp-navi-wrap {
    position: fixed;
    top: 0;
    left: 100%;
    z-index: 101;
    width: 240px;
    height: 100%;
    background: #fff;
    -webkit-transition: 380ms ease-in-out;
            transition: 380ms ease-in-out;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  .sp-navi-wrap.openbody {
    box-shadow: -3px 0 3px 1px rgba(51, 51, 51, 0.3);
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  .sp-navi-wrap .btn-sp {
    position: absolute;
    top: 18px;
    right: 106%;
    z-index: 101;
    cursor: pointer;
    outline: 0;
    -webkit-transition: 280ms ease-in-out;
            transition: 280ms ease-in-out;
  }
  .sp-navi-wrap .btn-sp:before {
    content: "";
    position: absolute;
    top: 0px;
    left: 0;
    width: 50px;
    height: 50px;
    border-radius: 5px;
    background-color: #666;
  }
  .sp-navi-wrap .btn-sp .bar {
    position: absolute;
    width: 40%;
    left: 0;
    top: 15px;
    right: 0;
    margin: auto;
    -webkit-transform-origin: center;
        -ms-transform-origin: center;
            transform-origin: center;
    -webkit-transform: rotate(1800deg) translateX(0) translateY(0);
        -ms-transform: rotate(1800deg) translateX(0) translateY(0);
            transform: rotate(1800deg) translateX(0) translateY(0);
    -webkit-transition: 280ms ease-in-out;
            transition: 280ms ease-in-out;
  }
  .sp-navi-wrap .btn-sp .bar:nth-child(1) {
    -webkit-transform: translateY(-6px);
        -ms-transform: translateY(-6px);
            transform: translateY(-6px);
  }
  .sp-navi-wrap .btn-sp .bar:nth-child(3) {
    -webkit-transform: translateY(6px);
        -ms-transform: translateY(6px);
            transform: translateY(6px);
  }
  .sp-navi-wrap .btn-sp .bar:nth-child(3):before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
    background: #fff;
    border-radius: 80%/30px;
    -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transition: 280ms ease-in-out;
            transition: 280ms ease-in-out;
  }
  .sp-navi-wrap .btn-sp .txt:before {
    -webkit-transition: 280ms ease-in-out;
            transition: 280ms ease-in-out;
  }
  .sp-navi-wrap .btn-sp.open .bar {
  background: #fff;
  }
  .sp-navi-wrap .btn-sp.open .bar:nth-child(1) {
    -webkit-transform: rotate(-45deg) translateX(0) translateY(0);
        -ms-transform: rotate(-45deg) translateX(0) translateY(0);
            transform: rotate(-45deg) translateX(0) translateY(0);
  }
  .sp-navi-wrap .btn-sp.open .bar:nth-child(2) {
    opacity: 0;
  }
  .sp-navi-wrap .btn-sp.open .bar:nth-child(3) {
    -webkit-transform: rotate(45deg) translateX(0) translateY(0);
        -ms-transform: rotate(45deg) translateX(0) translateY(0);
            transform: rotate(45deg) translateX(0) translateY(0);
  }
  .sp-navi-wrap .btn-sp.open .bar:nth-child(3):before {
    opacity: 1;
    -webkit-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
  .sp-navi-wrap .btn-sp.open .txt {
  }
  .sp-navi-wrap .btn-sp.open .txt:before {
    content: "";
    color: #fff;
  }
  .sp-navi-wrap .sp-navi {
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .sp-navi-wrap #sp_gnavi {
    padding: 0 0 .5em 0;
  }
  .sp-navi-wrap #sp_gnavi li a {
    display: block;
    padding: 1em 1.8em;
    border-bottom: 1px solid #fff;
    box-sizing: border-box;
  }
  .sp-navi-wrap #sp_gnavi li a span {
    margin: 0 10px 0 0;
  }
  .sp-navi-wrap #sp_gnavi li a span.en {
    font-family: "OpenSans CondensedLight";
    font-size: 15px;
    color: #666;
  }
  .sp-navi-wrap #sp_gnavi li a span.ja {
    margin-right: 0;
    font-size: 12px;
    color: #aaa;
  }
  .sp-navi-wrap #sp_hnavi {
    padding: 10px 0;
    background-color: #F7F7F7;
  }
  .sp-navi-wrap #sp_hnavi li a {
    display: block;
    padding: .3em 2em;
    box-sizing: border-box;
    color: #666;
  }
  .sp-navi-wrap #sp_hnavi li a i {
    margin: 0 8px 0 0;
    width: 11px;
    text-align: right;
  }
  .sp-navi-wrap #sp_hsnavi {
    background-color: #df3f3a;
  }
  .sp-navi-wrap #sp_hsnavi li a {
    display: block;
    padding: 1em 2em;
    box-sizing: border-box;
      border-bottom: 1px solid #fff;
    color: #fff;
  }
  .sp-navi-wrap #sp_hsnavi li a i {
    margin: 0 8px 0 0;
    width: 14px;
    text-align: right;
  }
}



/* ****************************************************** フッター */
footer#footer #ftop {
  padding: 40px 0;
  background-color: #eee;
}
footer#footer #ftop #ftitle {
  padding: 0 0 20px 0;
  border-bottom: 3px solid #ccc;
}
footer#footer #ftop #fnavi {
  position: relative;
  padding: 20px 0 0 0;
}
footer#footer #ftop #fnavi .col-2 {
  width: 10.5%;
}
footer#footer #ftop #fnavi #fsns.col-2 {
  width: 24%;
}
footer#footer #ftop #fnavi .title {
  margin: 0 0 5px 0;
  letter-spacing: 3px;
  font-size: 20px;
  color: #222;
}
footer#footer #ftop #fnavi .title a {
  color: #222;
}
footer#footer #ftop #fnavi ul li {
  list-style: none;
}
footer#footer #ftop #fnavi ul li i {
  margin: 0 4px 0 0;
}
footer#footer #ftop #fnavi ul li a {
  font-size: 12px;
  color: #666;
  text-decoration: underline;
}
footer#footer #ftop #fnavi ul li a:hover {
  text-decoration: none;
}
footer#footer #ftop #fnavi #fsns {
  text-align: right;
}
footer#footer #flead {
  padding: 15px 0 0 0;
  text-align: right;
}
footer#footer #fbottom {
  padding: 5px 0;
  background-color: #df3f3a;
  color: #fff;
}
footer#footer #fbottom #fbnavi {

}
footer#footer #fbottom #fbnavi li {
  display: inline-block;
  list-style: none;
}
footer#footer #fbottom #fbnavi li a {
  font-size: 12px;
  color: #fff;
  text-decoration: underline;
}
footer#footer #fbottom #fbnavi li a:hover {
  text-decoration: none;
}
footer#footer #fbottom #address {
  text-align: right;
}
footer#footer #fbottom #address small {
  font-size: 12px;
}
@media screen and (max-width: 640px) {
  footer#footer #ftop #fnavi #fsns.col-2 {
    width: 100%;
  }
  footer#footer #ftop #fnavi #fsns {
    text-align: center;
  }
  footer#footer #ftop {
    padding: 30px 0 10px;
  }
  footer#footer #ftop #ftitle {
    padding: 0;
    border-bottom: none;
  }
  footer#footer #ftop #ftitle .col {
    text-align: center;
  }
  footer#footer #ftop #ftitle #flead p {
    font-size: 12px;
  }
  footer#footer #fbottom #address {
    text-align: center;
  }
}

#pagetop {
  position: absolute;
  bottom: -10px;
  right: -110px;
  text-align: center;
}
#pagetop a {
  line-height: 1em;
  letter-spacing: 3px;
  font-size: 18px;
  color: #df3f3a;
}
#pagetop a i {
  display: block;
  font-size: 44px;
}
@media screen and (max-width: 640px) {
  #pagetop {
    position: absolute;
    top: -130px;
    right: 50%;
    margin-right: -60px;
    text-align: center;
  }
  #pagetop a i {
    display: inline-block;
    margin-right: 10px;
    font-size: 24px;
  }
}





/* ****************************************************** トップページ */
#topban {
  width: 100%;
}
#topban .inner {
  position: relative;
  margin: 0 auto;
  max-width: 1024px;
  max-height: 512px;
}
#topban.under {
  width: 100%;
  height: 150px;
  background-position: center center;
  background-size: cover;
}
@media screen and (max-width: 640px) {
  #topban.under {
    padding-bottom: 36%;
  }
}
.pogoSlider {
  overflow: visible!important;
}
.pogoSlider-inner {
  position: relative;
  padding-bottom: 50%;
  width: 100%;
  overflow: hidden;
}
.pogoSlider-slide {
  position: relative;
  background-position: center;
  background-size: cover;
}
.pogoSlider-slide .link {
	display: block;
	width: 100%;
	height: 100%;
}
.pogoSlider-slide .lead {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 15px;
  width: 100%;
  min-height: 55px;
  font-size: 1.2em;
  color: #fff;
}
.pogoSlider-slide .lead .layer {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  filter:alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 0.5;
}
.pogoSlider--navBottom .pogoSlider-nav, .pogoSlider--navTop .pogoSlider-nav {
  left: 50% !important;
  bottom: 20px !important;
  text-align: center;
}
.pogoSlider-nav-btn {
  width: 15px !important;
  height: 15px !important;
  min-height: 15px !important;
}
.pogoSlider-nav-btn--selected {
  background-color: #df3f3a !important;
  border: 2px solid #fff !important;
}

@media screen and (max-width: 640px) {
  .pogoSlider--navBottom .pogoSlider-nav, .pogoSlider--navTop .pogoSlider-nav {
    bottom: 10px !important;
  }
}
@media screen and (min-width: 1025px) {
  .pogoSlider--dirCenterHorizontal .pogoSlider-dir-btn--prev {
    transform: translateX(-48px) rotate(45deg);
  }
  .pogoSlider--dirBottomRight .pogoSlider-dir-btn--next, .pogoSlider--dirCenterHorizontal .pogoSlider-dir-btn--next, .pogoSlider--dirTopRight .pogoSlider-dir-btn--next {
    transform: translateX(48px) rotate(45deg);
  }
}
.pogoSlider-dir-btn {
  border-color: #DF3F3A !important;
}

#top #hinfo {
  margin-top: 5px;
  background-color: #666;
}
#top #hinfo li {
  display: inline-block;
  padding: 10px 0;
  width: 49%;
  text-align: center;
}
#top #hinfo li a {
  font-size: 16px;
  color: #fff;
}
#top #hinfo li a i {
  margin: 0 5px 0 0;
}

#top #content1 {
  margin-top: 10px;
  padding: 50px 0;
  background-color: #f7f7f7;
}
@media screen and (max-width: 640px) {
  #top #content1 {
    padding: 0 0 20px 0;
  }
}
#top #content1 .c1 {
  margin: 25px 0 0 0;
  padding: 0 40px 0 0;
}
@media screen and (max-width: 640px) {
  #top #content1 .c1 {
    margin: 0;
  }
}
#top #content1 .c1 .inner {
  padding: 25px 10px 0;
  border-top: 3px solid #ccc;
}
@media screen and (max-width: 640px) {
  #top #content1 .c1 .inner {
    padding: 25px 0 0 0;
    border-top: none;
  }
}
#top #content1 .c1 span {
  font-weight: normal;
}
#top #content1 .c1 span.en {
  letter-spacing: 4px;
  font-size: 24px;
  color: #222;
}
#top #content1 .c1 span.ja {
  margin: 0 0 0 13px;
  color: #999;
}
#top ul.news {
  list-style: none;
}
#top ul.news li {
  position: relative;
  padding: .7em 0;
}
#top ul.news li i {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  overflow: hidden;
    width: 35px;
    height: 35px;
    line-height: 35px;
  vertical-align: -2px;
  text-align: center;
  font-size: 10px;
}
#top ul.news li i.new {
  font-style: normal;
  font-weight: bold;
  color: #fff;
  background-color: #df3f3a;
  border-radius: 40px;
}
#top ul.news .ml {
    margin-left: 60px;
}
#top ul.news .ml .title {
  width: 60%;
}
@media screen and (max-width: 640px) {
  #top ul.news li {
    padding: .4em 0 .1em;
  }
  #top ul.news .ml {
      margin-left: 50px;
  }
  #top ul.news .ml .title {
    width: 100%;
  }
}
#top ul.news .ml a {
  color: #666;
  text-decoration: underline;
}
#top ul.news .ml a:hover {
  text-decoration: none;
}
#top ul.news li .fa-angle-right {
  font-size: 30px;
  color: #df3f3a;
}
#top #content1 .c2 {
  position: relative;
}
#top #content1 .c3 {
  position: absolute;
  right: 10em;
  bottom: .7em;
}
@media screen and (max-width: 640px) {
  #top #content1 .c3 {
    right: 0px;
    bottom: 0;
    top: -40px;
  }
}


#top #content2 {
  padding: 50px 0;
  background-color: #fff;
}
#top #content2 .c1 {
  margin: 0 0 50px 0;
  text-align: center;
}
#top #content2 .c2 p {
  line-height: 1.8em;
}
#top #content2 .c3 {
  position: relative;
}
@media screen and (max-width: 640px) {
  #top #content2 {
    padding: 30px 0;
  }
  #top #content2 .c1 {
    margin: 0 0 30px 0;
  }
  #top #content2 .c3 {
    margin: 20px 0 0 0;
  }
}


#top #content3 {
  padding: 50px 0;
  background-color: #f7f7f7;
}
#top #content3 .container {
  position: relative;
}
#top #content3 .c1 {
  margin: 25px 0 0 0;
  padding: 0 100px 0 0;
}
#top #content3 .c1 .inner {
  padding: 20px 5px 0;
  border-top: 3px solid #ccc;
}
#top #content3 .c1 span {
  font-weight: normal;
}
#top #content3 .c1 span.en {
  letter-spacing: 4px;
  font-size: 24px;
  color: #222;
}
#top #content3 .c1 span.ja {
  margin: 0 0 0 13px;
  color: #999;
}
#top #content3 .r2 .item {
  margin: 30px 0 0 0;
}
#top #content3 .r2 .item .staff {
  margin: 2px 0 0 0;
}
#top #content3 .r2 .item .staff span {
  padding: 3px 5px;
  border: 2px solid #aaa;
  background-color: #fff;
}
#top #content3 .r2 .item .date {
  margin: 10px 0 0 0;
}
#top #content3 .r2 .item i {
  display: inline-block;
  margin-right: 5px;
    width: 35px;
    height: 35px;
    line-height: 35px;
  vertical-align: middle;
  text-align: center;
  font-size: 10px;
}
#top #content3 .r2 .item i.new {
  font-style: normal;
  font-weight: bold;
  color: #fff;
  background-color: #df3f3a;
  border-radius: 40px;
}
#top #content3 .r2 .item .body {
  margin: 10px 0 0 0;
  padding: 0 15px 0 0;
}
#top #content3 .r2 .item .body a {
  color: #666;
  text-decoration: underline;
}
#top #content3 .r2 .item .body a:hover {
  text-decoration: none;
}
#top #content3 .container .more_btn {
  position: absolute;
  right: 0px;
  top: 53px;
}
@media screen and (max-width: 640px) {
  #top #content3 {
    padding: 30px 0;
  }
  #top #content3 .c1 .inner {
    padding: 0;
    border-top: none;
  }
  #top #content3 .c1 {
    margin: 0 0 30px 0;
    padding: 0;
  }
  #top #content3 .r2 .item .col {
    float: left;
  }
  #top #content3 .r2 .item .ic1.col-6 {
    width: 45%;
  }
  #top #content3 .r2 .item .ic2.col-6 {
    padding: 0 0 0 10px;
    width: 53%;
  }
  #top #content3 .r2 .item span.img {
    width: 100%;
    height: 100px;
  }
  #top #content3 .r2 .item .body {
    margin: 5px 0 0 0;
    padding: 0;
  }
  #top #content3 .container .more_btn {
    top: 6px;
  }
}


#top #content4 {
  padding: 20px 0 50px;
  background-color: #fff;
}
#top #content4 .row {
  margin-top: 30px;
}
#top #content4 .col a {
  position: relative;
  display: block;
  -webkit-transition: 280ms ease-in-out;
        transition: 280ms ease-in-out;
}
#top #content4 .col a:hover {
  opacity: .8;
}
#top #content4 .col a .text {
  position: absolute;
  left: 40px;
  bottom: 45px;
  padding: 3px 8px;
  color: #fff;
  border-radius: 2px;
  background-color: #df3f3a;
}
#top #content4 .col a .text i {
  margin: 0 0 0 5px;
}
@media screen and (max-width: 640px) {
  #top #content4 {
    padding: 30px 0 10px;
  }
  #top #content4 .col {
    margin: 0 0 20px 0;
  }
  #top #content4 .col a .text {
    left: 20px;
    bottom: 15px;
  }
}


#top #content5 {
  padding: 50px 0 80px;
  background-color: #fff;
}
#top #content5 .row {
  border-top: 3px solid #df3f3a;
}
#top #content5 h2 {
  margin: -42px auto 0;
  width: 320px;
  background-color: #fff;
}
#top #content5 h2 span {
  display: block;
  text-align: center;
  font-weight: normal;
}
#top #content5 h2 span.en {
  letter-spacing: 4px;
  font-size: 34px;
}
#top #content5 h2 span.ja {
  color: #a7a7a7;
}
.style_container {
  overflow: hidden;
  position: relative;
  margin: 50px 0 0 0;
  padding-top: 2px;
}
.style_container .swiper-slide {
  position: relative;
  cursor: pointer;
  width: 240px;
}
.style_container .swiper-slide.type2 {
  width: 15%;
}
@media screen and (max-width: 640px) {
  .style_container .swiper-slide.type2 {
    width: 144px;
  }
  .style_container .swiper-slide {
    width: 200px;
  }
}
.style_container {
  padding-bottom: 12px;
}
.style_container .swiper-slide a:hover {
  opacity: 1;
}
.hc {
  position: relative;
}
.hc a .new {
  position: absolute;
  top: 8px;
  left: -26px;
  display: block;
  width: 40px;
  height: 0px;
  text-align: center;
  line-height: 27px;
  border-width: 0px 29px 29px;
  border-style: solid;
  border-bottom-color: #DF3F3A;
  color: transparent;
  box-sizing: content-box;
  box-shadow: 0px 3px 2px -2px rgba(0,0,0,0.4);
  -webkit-box-shadow: 0px 3px 2px -2px rgba(0,0,0,0.4);
  -moz-box-shadow: 0px 3px 2px -2px rgba(0,0,0,0.4);
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  z-index: 5;
}
.hc a .new span {
  letter-spacing: 2px;
  font-size: 18px;
  color: #fff;
}
.style_container .swiper-slide a .layer {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  text-align: center;
  opacity: 0;
  transition: all 200ms ease-in-out 0s;
}
.style_container .swiper-slide a:hover .layer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  opacity: 1;
}
.style_container .swiper-slide .layer .title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  height: 25px;
  font-weight: bold;
  font-size: 1.2em;
  color: #fff;
}
.style_container.type2 .swiper-slide .layer .title {
  bottom: 40px;
}
.style_container .swiper-slide .layer .staff {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 60px;
  margin: auto;
  height: 25px;
  font-weight: bold;
  font-size: 1em;
  color: #fff;
}
.style_container .swiper-slide .layer .btn {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: -105px;
  margin: auto;
  width: 110px;
  height: 29px;
  background-color: #fff;
  color: #666;
}
.style_container.type2 .swiper-slide .layer .btn {
  bottom: -70px;
}
@media screen and (max-width: 640px) {
  #top #content5 {
    padding: 30px 0;
  }
  #top #content5 h2 {
    width: 280px;
  }
  .style_container {
    margin: 20px 0 0 0;
  }
}


#top #content6 {
  padding: 50px 0;
  background-color: #f7f7f7;
}
#top #content6 .col a {
  -webkit-transition: 280ms ease-in-out;
        transition: 280ms ease-in-out;
}
#top #content6 .col a:hover {
  opacity: .8;
}
#top #content6 .col .title {
  margin: 0 0 5px 0;
  letter-spacing: 4px;
  font-size: 20px;
  color: #df3f3a;
}
@media screen and (max-width: 640px) {
  #top #content6 {
    padding: 30px 0;
  }
  #top #content6 .col {
    margin: 0 0 20px 0;
  }
}



/* ****************************************************** ヘアカタログ */
#hair_catalog {
  padding: 40px 0 80px;
}
#hair_catalog #content1 {
}
#hair_catalog #content1 h2 {
  text-align: center;
}
#hair_catalog #content1 h2 span {
  display: block;
  font-weight: normal;
}
#hair_catalog #content1 h2 span.en {
  line-height: 1em;
  letter-spacing: 7px;
  font-size: 46px;
  color: #df3f3a;
}
#hair_catalog #content1 h2 span.ja {
  line-height: 3em;
  letter-spacing: 4px;
  font-size: 14px;
}

#hair_catalog #content2 {
  margin: 30px 0 0 0;
  padding: 50px 0 0 0;
  border-top: 2px solid #ccc;
}
#hair_catalog #content2 .title {
  padding: 15px 0;
  text-align: center;
  background-color: #eee;
  border: 1px solid #ccc;
  cursor: pointer;
}
#hair_catalog #content2 .title h3 {
  font-weight: normal;
  font-size: 16px;
  color: #666;
}
#hair_catalog #content2 .title i {
  margin: 0 5px 0 0;
}
#hair_catalog #content2 form {
  display: none;
}
#hair_catalog #content2 .body {
  padding: 10px 6% 20px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-top: none;
}
#hair_catalog #content2 .body dt {
  padding: 10px 0;
  color: #999;
}
#hair_catalog #content2 .body dd {
  padding: 3px 0;
}
#hair_catalog #content2 .body dd li {
  display: inline-block;
  margin: 7px 15px 7px 0;
  list-style: none;
}
#hair_catalog #content2 .body dd li a {
  display: block;
  color: #666;
}
#hair_catalog #content2 .body dl.r3 dd li a {
  padding: 3px 20px;
  background-color: #eee;
  cursor: pointer;
  -webkit-transition: all 100ms ease-in;
     -moz-transition: all 100ms ease-in;
      -ms-transition: all 100ms ease-in;
       -o-transition: all 100ms ease-in;
          transition: all 100ms ease-in;
}
#hair_catalog #content2 .body li a {
  -webkit-transition: all 100ms ease-in;
     -moz-transition: all 100ms ease-in;
      -ms-transition: all 100ms ease-in;
       -o-transition: all 100ms ease-in;
          transition: all 100ms ease-in;
}
#hair_catalog #content2 .body dl.r3 dd li.on a,
#hair_catalog #content2 .body dl.r3 dd li a:hover {
  background-color: #df3f3a;
  color: #fff;
}
.hc-checkbox-buttons {
  cursor: pointer;
}
.hc-checkbox-buttons > span {
  display: block;
  padding: 3px 20px;
  background-color: #ddd;
  -webkit-transition: all 100ms ease-in;
     -moz-transition: all 100ms ease-in;
      -ms-transition: all 100ms ease-in;
       -o-transition: all 100ms ease-in;
          transition: all 100ms ease-in;
}
.hc-checkbox input[type="checkbox"] {
  display: none;
}
.hc-checkbox input[type="checkbox"] + .hc-checkbox-buttons span {
  background-color: #ddd;
}
.hc-checkbox input[type="checkbox"]:checked + .hc-checkbox-buttons span {
  background-color: #df3f3a;
  color: #fff;
}
.hc-checkbox-buttons span:hover {
  /*background-color: #df3f3a !important;*/
  /*color: #fff;*/
}

#hair_catalog #content2 .body dd li input {
  margin: 0 5px 0 0;
  vertical-align: -4px;
}
#hair_catalog #content2 .search_btn {
  margin: 20px auto 0;
  text-align: center;
}
#hair_catalog #content2 .search_btn .btn {
  padding: 0;
  font-size: 16px;
}
#hair_catalog #content2 .search_btn .btn a {
  display: block;
  padding: 10px 30px;
  color: #fff;
}

#hair_catalog #content3 {
  margin: 20px 0 0 0;
  padding-top: 25px;
}
#hair_catalog #content3 .col {
  margin-top: 15px;
}
#hair_catalog #content3 .row.line .col {
  padding-top: 40px;
  border-top: 1px solid #ccc;
}
#hair_catalog #content3 .col a {
  display: block;
  width: 240px;
  height: 100%;
}
#hair_catalog #content3 .col .title {
  margin: 10px 0 0 0;
  text-align: center;
  font-weight: bold;
  font-size: 1.2em;
  color: #df3f3a;
}
#hair_catalog #content3 .col .title .new {
  margin: 0 7px 0 0;
  padding: 3px 4px;
  vertical-align: 3px;
  border: 1px solid #df3f3a;
  font-size: 10px;
}
#hair_catalog #content3 .col .staff {
  margin: 10px 0 0 0;
  text-align: center;
  color: #666;
}
#hair_catalog #content3 .col .staff .unit {
  color: #999;
}
@media screen and (max-width: 640px) {

  #hair_catalog #content3 {
    margin: 0;
  }
  #hair_catalog #content3 .row.line .col {
    padding-top: 0;
    border-top: none;
  }
  #hair_catalog #content3 .col:nth-of-type(3) {
    clear: both;
  }
  #hair_catalog #content3 .col {
    float: left;
    margin: 20px .5% 0;
  }
  #hair_catalog #content3 .col-3 {
    width: 49%;
  }
  #hair_catalog #content3 .col a {
    width: 100%;
  }
  #hair_catalog #content3 .col .img {
    height: auto;
  }
  #hair_catalog #content3 .col .noimg {
    width: 100%;
    height: 220px;
  }
  #hair_catalog #content3 .col .title {
    font-size: 1em;
  }
  #hair_catalog #content3 .col .staff {
    margin: 5px 0 0 0;
  }
}




/* ****************************************************** ヘアカタログ詳細 */
#hair_catalog_detail {
  padding: 40px 0 80px;
}
#hair_catalog_detail #content1 .cl .row {
  margin: 0 0 10px 0;
}
#hair_catalog_detail #content1 .cl .row img#main_photo {
  border: 3px solid #fff;
}
#hair_catalog_detail #content1 .cl .row .clc {
  position: relative;
  border: 3px solid #fff;
}
#hair_catalog_detail #content1 .cl .row .clc.on,
#hair_catalog_detail #content1 .cl .row .clc:hover {
  border: 3px solid #df3f3a;
}
#hair_catalog_detail #content1 .cl .row .clc img {
  cursor: pointer;
}
#hair_catalog_detail #content1 .cl .row .clc i {
  position: absolute;
  right: 0;
  top: 0;
  padding: 2px 2px 3px 3px;
  background-color: #df3f3a;
  font-size: 14px;
  color: #fff;
}
#hair_catalog_detail #content1 .cc h3 {
  padding: 0 0 5px 0;
  font-weight: normal;
  font-size: 26px;
  border-bottom: 3px solid #df3f3a;
}
#hair_catalog_detail #content1 .cc .row {
  padding: 3px 0;
}
#hair_catalog_detail #content1 .cc .row.line {
  padding: 10px 0;
  border-bottom: 1px solid #ccc;
}
#hair_catalog_detail #content1 .cc .row dt {
  color: #999;
}
#hair_catalog_detail #content1 .cc .cct {
  padding-top: 10px;
}
#hair_catalog_detail #content1 .cc .ccb {
  margin-top: 10px;
  margin-left: 0;
}
#hair_catalog_detail #content1 .cc .ccb .line {
  border-right: 1px solid #ccc;
}
#hair_catalog_detail #content1 .cc .ccb span {
  display: block;
  padding: 3px 0;
  text-align: center;
  border-radius: 3px;
  border: 1px solid #ccc;
  background-color: #fff;
  font-size: 12px;
  color: #999;
}
#hair_catalog_detail #content1 .cc .ccb span.on,
#hair_catalog_detail #content1 .cc .ccb span[data-on] {
  border: 1px solid #df3f3a;
  background-color: #df3f3a;
  font-size: 12px;
  color: #fff;
}
#hair_catalog_detail #content1 .cc .ccb span img {
  padding: 3px;
}
#hair_catalog_detail #content1 .cc .ccb .is_perm {
  margin: 39px 0 0 0;
  padding: 7px 30px 10px;
  text-align: center;
  background-color: #F9F9F9;
}
#hair_catalog_detail #content1 .cc .ccb .is_perm .dt {
  padding-top: 2px;
}
#hair_catalog_detail #content1 .cc .ccb span.in {
  display: inline;
  margin: 0 2px;
  padding: 0 0 3px 0;
  border-radius: 0px;
  border: none;
  background-color: transparent;
}
#hair_catalog_detail #content1 .cc .ccb span.in.t {
  border-bottom: 2px solid #F9F9F9;
}
#hair_catalog_detail #content1 .cc .ccb span.in.t.on,
#hair_catalog_detail #content1 .cc .ccb span.in.t[data-on] {
  border: none;
  border-bottom: 2px solid #df3f3a;
  background-color: transparent;
  color: #df3f3a;
}
#hair_catalog_detail #content1 .bottom_blk {
  margin-top: 10px;
}
#hair_catalog_detail #content1 .bottom_blk .price_blk {
  margin: 10px 0 0 0;
  text-align: left;
  font-size: 28px;
}
#hair_catalog_detail #content1 .bottom_blk .btn_blk {
  text-align: right;
}
#hair_catalog_detail #content1 .bottom_blk .btn {
  padding: 10px 20px 7px;
  text-align: center;
  background-color: #DF3F3A;
}
#hair_catalog_detail #content1 .bottom_blk .btn a {
  letter-spacing: -1px;
  font-size: 10px;
  color: #fff;
}
#hair_catalog_detail #content1 .bottom_blk .btn i {
  display: block;
  margin: 0;
  font-size:30px;
}
#hair_catalog_detail #content1 .cc .comment {
  margin: 20px 0 0 0;
  padding: 15px;
  background-color: #F9F9F9;
}
#hair_catalog_detail #content1 .cc .comment .fl {
  text-align: center;
}
#hair_catalog_detail #content1 .cc .comment .fl a {
  font-size: 12px;
  text-decoration: underline;
}
#hair_catalog_detail #content1 .cc .comment .fl a i {
  margin: 0 3px 0 0;
}
#hair_catalog_detail #content1 .cc span.time {
  margin-right: 20px;
  padding: 3px 15px;
  border-radius: 3px;
  border: 1px solid #df3f3a;
  font-weight: bold;
  font-size: 14px;
  color: #df3f3a;
}
#hair_catalog_detail #content1 .cc span.price {
  margin: 0 20px 0 0;
  font-size: 18px;
  color: #999;
}
#hair_catalog_detail #content1 .cc span.min {
  margin: 0 0 0 5px;
  font-size: 14px;
  color: #999;
}
#hair_catalog_detail #content1 .ex .col-2 {
  width: 18.2%;
}
#hair_catalog_detail #content2 {
  margin: 50px 0 0 0;
  padding: 50px 0;
  background-color: #f7f7f7;
}
#hair_catalog_detail #content2 h3 {
  text-align: center;
}
#hair_catalog_detail #content2 h3 span {
  font-weight: normal;
}
#hair_catalog_detail #content2 h3 span.en {
  margin: 0 10px 0 0;
  letter-spacing: 5px;
  font-size: 35px;
  color: #222;
}
#hair_catalog_detail #content2 h3 span.ja {
  margin: 0 0 0 10px;
  color: #999;
}
#hair_catalog_detail #content2 h3 span.other {
  margin: 0 0 0 20px;
}
#hair_catalog_detail #content2 .style_container {
  overflow: hidden;
  position: relative;
  margin: 50px 0 0 0;
  padding-bottom: 12px;
}
@media screen and (max-width: 640px) {
  #hair_catalog_detail #content1 .clc.col {
    float: left;
    margin-left: 2%;
  }
  #hair_catalog_detail #content1 .clc.col:first-child {
    margin-left: 0;
  }
  #hair_catalog_detail #content1 .clc.col-4 {
    width: 32%;
  }
  #hair_catalog_detail #content1 .cc h3 {
    margin-top: 50px;
  }
  #hair_catalog_detail #content1 .cc .ccb .line {
    border-right: none;
  }
  #hair_catalog_detail #content1 .cc .ccb .ccbc .col {
    float: left;
    margin-left: 2%;
  }
  #hair_catalog_detail #content1 .cc .ccb .ccbc .col:first-child {
    margin-left: 0;
  }
  #hair_catalog_detail #content1 .cc .ccb .ccbc .col-4 {
    width: 32%;
  }
  #hair_catalog_detail #content1 .ex .col {
    float: left;
    margin-left: 2%;
  }
  #hair_catalog_detail #content1 .ex .col:first-child {
    margin-left: 0;
  }
  #hair_catalog_detail #content1 .cc .ccb .is_perm .col {
    float: left;
    margin-left: 2%;
  }
  #hair_catalog_detail #content1 .cc .ccb .is_perm .col-4 {
    width: 30%;
    text-align: right;
  }
  #hair_catalog_detail #content1 .cc .ccb .is_perm .col-8 {
    width: 64%;
  }
  #hair_catalog_detail #content1 .cc .price_blk {
    text-align: left;
  }
  #hair_catalog_detail #content1 .cc span.time {
    margin-right: 10px;
  }
  #hair_catalog_detail #content1 .cc span.price {
    margin: 0 10px 0 0;
  }
  #hair_catalog_detail #content1 .bottom_blk .btn_blk {
    margin-top: 20px;
    text-align: center;
  }
  #hair_catalog_detail #content1 .bottom_blk .btn {
    padding: 10px 20px 7px;
    text-align: center;
    background-color: #DF3F3A;
  }
  #hair_catalog_detail #content1 .bottom_blk a.btn {
    width: 100%;
    font-size: 20px;
    color: #fff;
  }
  #hair_catalog_detail #content1 .bottom_blk .btn i {
    display: inline;
    margin: 0 10px 0 0;
    vertical-align: middle;
    font-size: 30px;
  }
  #hair_catalog_detail #content1 .cc .comment .fr p {
    margin-top: 10px;
  }
  #hair_catalog_detail #content1 .cr {
    margin-top: 20px;
  }
  #hair_catalog_detail #content1 .cr .btn {
    display: inline-block;
    text-align: center;
  }
  #hair_catalog_detail #content1 .cr .btn i {
    display: block;
  }
  #hair_catalog_detail #content1 .cr .social-button-list {
    display: inline-block;
  }
  #hair_catalog_detail #content1 .cr .social-button-list li {
    display: inline-block;
    margin: 0 0 0 10px;
    vertical-align: bottom;
  }
  #hair_catalog_detail #content2 h3 {
    text-align: center;
  }
  #hair_catalog_detail #content2 h3 span.ja {
    display: block;
    margin: 0;
  }
  #hair_catalog_detail #content2 h3 span.en {
    display: block;
  }
  #hair_catalog_detail #content2 h3 span.other {
    display: block;
    margin: 10px 0 0 0;
  }
}



/* ****************************************************** スタッフ一覧 */
#staff {
  padding: 40px 0 80px;
}
#staff #content1 {
}
#staff #content1 h2 {
  text-align: center;
}
#staff #content1 h2 span {
  display: block;
  font-weight: normal;
}
#staff #content1 h2 span.en {
  line-height: 1em;
  letter-spacing: 7px;
  font-size: 46px;
  color: #df3f3a;
}
#staff #content1 h2 span.ja {
  line-height: 3em;
  letter-spacing: 4px;
  font-size: 14px;
}
#staff #content2 {
  margin: 50px 0 0 0;
  border-top: 2px solid #ccc;
}
#staff #content2 .col {
  margin: 50px 0 0 0;
  text-align: center;
}
#staff #content2 .col .img {
  position: relative;
  padding-bottom: 102%;
}
#staff #content2 .col .img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 90%;
  height: 100%;
  object-fit: cover;
}
#staff #content2 .col .img .not-image {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #f0f0f0;
}
#staff #content2 .col .img .not-image i {
  font-style: normal;
  font-size: 12px;
}
#staff #content2 .col .position {
  margin: 10px 0 0 0;
  font-size: 12px;
  color: #999;
}
#staff #content2 .col .name {
  margin: 5px 0 0 0;
  line-height: 1.4em;
  font-size: 20px;
}
#staff #content2 .col .name a {
  color: #666;
}
#staff #content2 .col .title_en {
  line-height: 1em;
  font-size: 12px;
}
#staff #content2 .col .reserve {
  margin: 15px 0 0 0;
}
#staff #content2 .col .reserve .btn {
  background-color: #df3f3a;
}
@media screen and (max-width: 640px) {
  #staff #content2 .col {
    float: left;
  }
  #staff #content2 .col-3 {
    width: 49%;
  }
}



/* ****************************************************** スタッフ詳細 */
#staff_detail {
  padding: 40px 0 80px;
}
#staff_detail #content1 {
  position: relative;
}
#staff_detail #content1 .col-8 {
  position: relative;
}
#staff_detail #content1 .cl .row {
  margin: 0 0 10px 0;
}
#staff_detail #content1 .cl .row .cc img {
  cursor: pointer;
}
#staff_detail #content1 h3 {
  padding: 20px 0 35px 10px;
  border-bottom: 3px solid #df3f3a;
}
#staff_detail #content1 h3 span {
  display: block;
  letter-spacing: 2px;
}
#staff_detail #content1 h3 span.ja {
  font-size: 40px;
}
#staff_detail #content1 h3 span.en {
  margin: 10px 0 0 0;
  font-weight: normal;
  font-size: 16px;
}
#staff_detail #content1 .reserve {
  position: absolute;
  top: 65px;
  right: 0;
  text-align: center;
}
#staff_detail #content1 .reserve a.btn {
  display: block;
  padding: 10px 20px;
  background-color: #df3f3a;
  font-size: 20px;
  color: #fff;
}
@media screen and (max-width: 640px) {
  #staff_detail #content1 .img {
    text-align: center;
  }
  #staff_detail #content1 .img img {
    width: 80%;
  }
  #staff_detail #content1 h3 {
    padding: 20px 0 10px 10px;
    border-bottom: none;
  }
  #staff_detail #content1 h3 span.ja {
    font-size: 30px;
  }
  #staff_detail #content1 h3 span.en {
    margin: 0;
  }
  #staff_detail #content1 .reserve {
    position: static;
  }
  #staff_detail #content1 .reserve a.btn {
    font-size: 16px;
  }
}
#staff_detail #content1 .list {
  padding: 15px 10px;
  border-bottom: 1px solid #ccc;
}
#staff_detail #content1 .list.r1 {
  padding-bottom: 30px;
}
#staff_detail #content1 .list span.position {
  padding: 5px 20px;
  border-radius: 3px;
  background-color: #666;
  letter-spacing: 3px;
  color: #fff;
}
#staff_detail #content1 .list span.midashi {
  margin-left: 20px;
}
#staff_detail #content1 .list span.midashi:first-child {
  margin-left: 0;
}
#staff_detail #content1 .list span.line {
  margin: 0 5px;
}
#staff_detail #content1 .list.r5 {
  position: absolute;
  top: 163px;
  right: 0;
  padding: 0;
  border-bottom: none;
}
.sns_btn li {
  display: inline-block;
  margin: 0 0 0 5px;
}
.sns_btn li i {
  margin-right: 0 !important;
}
.sns_btn li.icon a {
  display: block;
  width: 25px;
  height: 25px;
  text-align: center;
  line-height: 25px;
  border-radius: 25px;
  font-size: 15px !important;
  color: #fff !important;
  -webkit-transition: 280ms ease-in-out;
        transition: 280ms ease-in-out;
}
.sns_btn li a:hover {
  opacity: .8;
}
.sns_btn li.instagram a {
  background-color: #6b8ca9;
}
.sns_btn li.twitter a {
  background-color: #6CB5E8;
}
.sns_btn li.facebook a {
  background-color: #7082AA;
}
.sns_btn li.youtube a,
.sns_btn li.you_tube a {
  background-color: #df3f3a;
}
.sns_btn li.line a{
  background-color: #84cd6e;
}
.sns_btn li.line .fa-line:before{
  content:"LINE";
  font-size: 10px !important;
}
.sns_btn li.blog a {
  display: block;
  padding: 2px 5px;
  border: 1px solid #F74E47;
  font-size: 10px !important;
  color: #F74E47 !important;
}
.sns_btn li.blog a i {
  margin: 0 3px 0 0 !important;
}
@media screen and (max-width: 640px) {
  #staff_detail #content1 .list.r5 {
    position: static;
    margin: 15px 0 0 0;
    text-align: center;
  }
}
#staff_detail #content1 .comment {
  margin-top: 20px;
  padding: 15px;
  background-color: #F9F9F9;
}
#staff_detail #content1 .comment p {
  font-size: 120%;
}
#staff_detail #content2 {
  margin: 50px 0 0 0;
}
#staff_detail #content2 h3 {
  padding: 0 0 10px 0;
  text-align: left;
  border-bottom: 1px solid #ccc;
}
#staff_detail #content2 h3 span {
  font-weight: normal;
}
#staff_detail #content2 h3 span.en {
  margin: 0 10px 0 0;
  letter-spacing: 2px;
  font-size: 24px;
  color: #222;
}
#staff_detail #content2 h3 span.ja {
  margin: 0 0 0 10px;
  color: #999;
}
#staff_detail #content2 .list {
  padding: 10px 0 20px;
  border-bottom: 10px solid #EDEDED;
}
#staff_detail #content2 .row {
  margin: 10px 0 0 0;
}
#staff_detail #content2 .row.name {
  text-align: center;
  font-size: 110%;
  color: #999;
}
@media screen and (max-width: 640px) {
  #staff_detail #content2 h3 span.en {
    display: block;
  }
  #staff_detail #content2 h3 span.ja {
    display: block;
    margin: 0;
  }
  #staff_detail #content2 .row .col {
    float: left;
    margin-left: 2%;
  }
  #staff_detail #content2 .row .col:first-child {
    margin-left: 0;
  }
  #staff_detail #content2 .row .col-9 {
    width: 74.5%;
  }
  #staff_detail #content2 .row .col-3 {
    width: 23.5%;
  }
  #staff_detail #content2 .row.name {
    font-size: 80%;
  }
}

#staff_detail #content3 {
  margin: 50px 0 0 0;
  padding: 50px 0;
  background-color: #f7f7f7;
}
#staff_detail #content3 h3 {
  text-align: center;
}
#staff_detail #content3 h3 span {
  font-weight: normal;
}
#staff_detail #content3 h3 span.en {
  margin: 0 10px 0 0;
  letter-spacing: 5px;
  font-size: 35px;
  color: #222;
}
#staff_detail #content3 h3 span.ja {
  margin: 0 0 0 10px;
  color: #999;
}
#staff_detail #content3 h3 span.other {
  margin: 0 0 0 20px;
}
#staff_detail #content3 .style_container {
  overflow: hidden;
  position: relative;
  margin: 50px 0 0 0;
  padding-bottom: 12px;
}
@media screen and (max-width: 640px) {
  #staff_detail #content3 h3 span.en {
    display: block;
  }
  #staff_detail #content3 h3 span.ja {
    display: block;
    margin: 0;
  }
  #staff_detail #content3 h3 span.other {
    display: block;
    margin: 10px 0 0 0;
  }
}

#staff_detail #content4 {
  padding: 20px 0 0 0;
}
#staff_detail #content4 .list {
  margin-top: 30px;
}
#staff_detail #content4 .list.col {
  margin-left: .5%;
  margin-right: .5%;
}
#staff_detail #content4 .item a {
  color: #666;
}
#staff_detail #content4 h3 {
  padding: 10px 0 0 0;
  text-align: center;
  border-top: 4px solid #CBCBCB;
}
#staff_detail #content4 h3 span {
  font-weight: normal;
}
#staff_detail #content4 h3 span.en {
  margin: 0 10px 0 0;
  letter-spacing: 2px;
  font-size: 24px;
  color: #222;
}
#staff_detail #content4 h3 span.ja {
  margin: 0 0 0 10px;
  color: #999;
}
#staff_detail #content4 h3 span.other {
  display: block;
  margin: 20px 0 0 0;
}
#staff_detail #content4 .name {
  padding: 0 0 5px 0;
  border-bottom: 1px solid #ccc;
  color: #000;
}
#staff_detail #content4 .name span.en {
  margin: 0 0 0 10px;
  font-size: 10px;
}
#staff_detail #content4 .detail_btn {
  margin: 10px 0 0 0;
}
#staff_detail #content4 .detail_btn span {
  padding: 3px 6px;
  border: 1px solid #F74E47;
  font-size: 11px;
  color: #F74E47;
}
#staff_detail #content4 .detail_btn span i {
  margin: 0 3px 0 0;
}
@media screen and (max-width: 640px) {
  #staff_detail #content4 .item.col {
    float: left;
    text-align: center;
  }
  #staff_detail #content4 .item.col-4 {
    width: 47%;
  }
  #staff_detail #content4 .item.col {
    float: left;
    margin-left: 2%;
  }
  #staff_detail #content4 .name {
    margin-top: 5px;
  }
}



/* ****************************************************** 店舗情報 */
#salon {
  padding: 40px 0 80px;
}
#salon #content1 {
}
#salon #content1 h2 {
  text-align: center;
}
#salon #content1 h2 span {
  display: block;
  font-weight: normal;
}
#salon #content1 h2 span.en {
  line-height: 1em;
  letter-spacing: 7px;
  font-size: 46px;
  color: #df3f3a;
}
#salon #content1 h2 span.ja {
  line-height: 3em;
  letter-spacing: 4px;
  font-size: 14px;
}
#salon #content2 {
  margin: 50px 0 0 0;
  padding: 50px 0 0 0;
  border-top: 2px solid #ccc;
}
#salon #content2 .img {
  text-align: center;
}
#salon #content2 .title {
  margin: 20px 0 0 0;
  text-align: center;
  color: #df3f3a;
}
#salon #content2 .title span {
  padding: 0 5px 15px 5px;
  font-size: 20px;
  border-bottom: 4px solid #df3f3a;
}
#salon #content2 .text {
  margin: 40px 0 0 0;
}
#salon #info {
  margin: 50px 0 0 0;
  padding: 50px 0;
  background-color: #f7f7f7;
}
#salon #info .comment {
  padding: 0 0 30px 0;
  border-bottom: 1px solid #ccc;
}
#salon #info .row {
  padding: 3px 0;
}
#salon #info .row.line {
  padding: 10px 0;
  border-bottom: 1px solid #ccc;
}
#salon #info .row dt {
  font-weight: bold;
}
#salon #info #map {
  margin-top: 50px;
}
#salon #info #map .acf-map {
  width: 100%;
  height: 370px;
}
#salon #info #map .link {
  margin: 10px 0 0 0;
  text-align: right;
}
#salon #info #map .link a {
  padding: 5px 15px;
  background-color: #666;
  font-size: 12px;
  color: #fff;
}
#salon #info #map .link a i {
  margin: 0 3px 0 0;
}
@media screen and (max-width: 640px) {
  #salon #content2 {
    margin: 30px 0 0 0;
    padding: 0;
  }
  #salon #content2 .col {
    margin-top: 30px;
  }
  #salon #content2 .title {
    margin: 10px 0 0 0;
  }
  #salon #content2 .text {
    margin: 30px 0 0 0;
  }
  #salon #info #map {
    overflow: hidden;
    width: 100%;
  }
}


#salon #content4 {
  margin: 50px 0 0 0;
  padding: 50px 0;
  background-color: #fff;
}
#salon #content4 .row {
  border-top: 3px solid #df3f3a;
}
#salon #content4 h2 {
  margin: -32px auto 0;
  width: 320px;
  background-color: #fff;
}
#salon #content4 h2 span {
  display: block;
  text-align: center;
  font-weight: normal;
}
#salon #content4 h2 span.en {
  letter-spacing: 3px;
  font-size: 26px;
}
#salon #content4 h2 span.ja {
  color: #a7a7a7;
}
#salon .salon_interior {
  margin-top: 30px;
}



/* ****************************************************** メニュー */
#menu {
  padding: 40px 0 80px;
}
#menu .attention {
  padding: 20px 0 0 0;
  text-align: center;
  font-size: 18px;
}
#menu .attention.type2 {
  padding: 50px 0 0 0;
}
#menu #content1 h2 {
  padding: 0 0 40px 0;
  text-align: center;
  border-bottom: 2px solid #ccc;
}
@media screen and (max-width: 640px) {
  #menu #content1 h2 {
    padding: 0 0 20px 0;
  }
}
#menu #content1 h2 span {
  display: block;
  font-weight: normal;
}
#menu #content1 h2 span.en {
  line-height: 1em;
  letter-spacing: 7px;
  font-size: 46px;
  color: #df3f3a;
}
#menu #content1 h2 span.ja {
  line-height: 3em;
  letter-spacing: 4px;
  font-size: 14px;
}
#menu .content {
  position: relative;
  margin: 65px 0 0 0;
}
@media screen and (max-width: 640px) {
  #menu .content {
    margin: 40px 0 0 0;
  }
  #menu .content .img {
    text-align: center;
  }
  #menu .content .title {
    margin: 30px 0 0 0;
  }
}
#menu .content h3 {
  padding: 0 0 5px 0;
  line-height: 2.4em;
  border-bottom: 3px solid #df3f3a;
}
#menu .content h3 span {
  margin: 0 10px 0 0;
  letter-spacing: 2px;
  font-weight: normal;
  font-size: 28px;
}
#menu .content h3 span.en {
  font-size: 36px;
}
#menu .content h3 span.ja {
  font-size: 16px;
}
#menu .content .img_blk {
  overflow: hidden;
  margin-top: 20px;
}
#menu .content .comment {
  margin-top: 20px;
  padding: 15px;
  background-color: #F9F9F9;
}
#menu .content .color_title {
  margin: 20px 0 0 0;
  font-size: 16px;
  color: #df3f3a;
}
#menu .content .list {
  padding: 15px 0;
  border-bottom: 1px solid #ccc;
  font-size: 16px;
}
#menu .content .list .time.col-2 {
  width: 13%;
}
#menu .content .list .price.col-2 {
  width: 17%;
}
#menu .content .list .time {
  text-align: right;
}
#menu .content .list .time span {
  padding: 3px 8px;
  border-radius: 3px;
  border: 1px solid #ccc;
  font-size: 12px;
  color: #999;
}
#menu .content .list .price {
  text-align: right;
}
@media screen and (max-width: 640px) {
  #menu .content h3 span {
    letter-spacing: 1px;
    font-size: 20px;
  }
  #menu .content .list .time.col-2 {
    width: auto;
  }
  #menu .content .list .price.col-2 {
    width: auto;
  }
  #menu .content .list .time {
    display: inline-block;
    margin-right: 10px;
    width: auto;
    text-align: left;
  }
  #menu .content .list .price {
    display: inline-block;
    width: auto;
    text-align: left;
  }
  #menu .content .img_blk .col {
    float: left;
    margin: .5% .5% 0;
  }
  #menu .content .img_blk .col:first-child {
    margin-left: 0;
  }
  #menu .content .img_blk .col-2 {
    width: 49%;
  }
}



/* ****************************************************** 動画ギャラリー */
#movies {
  padding: 40px 0 80px;
}
#movies #content1 {
}
#movies #content1 h2 {
  text-align: center;
}
#movies #content1 h2 span {
  display: block;
  font-weight: normal;
}
#movies #content1 h2 span.en {
  line-height: 1em;
  letter-spacing: 7px;
  font-size: 46px;
  color: #df3f3a;
}
#movies #content1 h2 span.ja {
  line-height: 3em;
  letter-spacing: 4px;
  font-size: 14px;
}

#movies #content2 {
  margin: 30px 0 0 0;
  padding: 50px 0 0 0;
  border-top: 2px solid #ccc;
}
#movies #content2 .title {
  padding: 15px 0;
  text-align: center;
  background-color: #eee;
  border: 1px solid #ccc;
  cursor: pointer;
}
#movies #content2 .title h3 {
  font-weight: normal;
  font-size: 16px;
  color: #666;
}
#movies #content2 .title i {
  margin: 0 5px 0 0;
}
#movies #content2 .body {
  display: none;
  padding: 10px 6%;
  background-color: #fff;
  border: 1px solid #ccc;
  border-top: none;
}
#movies #content2 .body ul {
  text-align: center;
}
#movies #content2 .body li {
  display: inline-block;
  margin: 7px 15px 7px 0;
  list-style: none;
}
#movies #content2 .body li {
  padding: 3px 20px;
  background-color: #eee;
  cursor: pointer;
}
#movies #content2 .body li.current {
  background-color: #df3f3a;
  color: #fff;
}
#movies #content2 .body li input {
  margin: 0 5px 0 0;
  vertical-align: -4px;
}

#movies #content3 {
  margin: 20px 0 0 0;
}
#movies #content3 .col {
  margin-top: 40px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ccc;
}
#movies #content3 .col .img {
  text-align: center;
}
#movies #content3 .col .title {
  margin: 10px 0 0 0;
  text-align: center;
  font-weight: bold;
  font-size: 1.2em;
  color: #df3f3a;
}
#movies #content3 .col .category {
  margin: 8px 0 0 0;
  text-align: center;
}
#movies #content3 .col .category span {
  display: inline-block;
  margin: 5px 2px 0;
  padding: 3px 8px;
  border-radius: 3px;
  border: 1px solid #ccc;
}



/* ****************************************************** インスタグラム */
#gallery {
  padding: 40px 0 80px;
}
#gallery #content1 {
}
#gallery #content1 h2 {
  text-align: center;
}
#gallery #content1 h2 span {
  display: block;
  font-weight: normal;
}
#gallery #content1 h2 span.en {
  line-height: 1em;
  letter-spacing: 7px;
  font-size: 46px;
  color: #df3f3a;
}
#gallery #content1 h2 span.en img {
  margin: 0 0 0 5px;
}
#gallery #content1 h2 span.ja {
  line-height: 3em;
  letter-spacing: 4px;
  font-size: 14px;
}

#gallery #content2 {
  margin: 30px 0 0 0;
  border-top: 2px solid #ccc;
}
#gallery #content2 .col {
  margin: 40px .5% 0 .5%;
  padding-bottom: 15px;
  border-bottom: 1px solid #ccc;
}
#gallery #content2 .col .img {
  text-align: center;
}
#gallery #content2 .col .img img {
  padding: 5px;
  border: 1px solid #ccc;
}
#gallery #content2 .col .title {
  margin: 10px 0 0 0;
  text-align: center;
  font-weight: bold;
  font-size: 1em;
  color: #df3f3a;
}
#gallery #content2 .col .title img {
  margin: 0 10px 0 0;
}
#gallery #content2 .col .category {
  margin: 13px 0 0 0;
  text-align: center;
}
#gallery #content2 .col .category span {
  margin: 0 1px;
  padding: 3px 6px;
  border-radius: 3px;
  border: 1px solid #ccc;
  font-size: 11px;
}
@media screen and (max-width: 640px) {
  #gallery #content2 .col {
    float: left;
    margin: 20px .5% 0 .5%;
  }
  #gallery #content2 .col-2-5 {
    width: 48%;
  }
}



/* ****************************************************** お知らせ一覧 */
#news {
  padding: 40px 0 80px;
}
#news #content1 {
}
#news #content1 h2 {
  text-align: center;
}
#news #content1 h2 span {
  display: block;
  font-weight: normal;
}
#news #content1 h2 span.en {
  line-height: 1em;
  letter-spacing: 7px;
  font-size: 46px;
  color: #df3f3a;
}
#news #content1 h2 span.ja {
  line-height: 3em;
  letter-spacing: 4px;
  font-size: 14px;
}

#news #content2 {
  margin: 30px 0 0 0;
  padding: 50px 0 0 0;
  border-top: 2px solid #ccc;
}
#news #content2 .list {
  padding: 25px 0;
  border-bottom: 1px solid #ccc;
}
#news #content2 .list .date {
  padding: 3px 0 0 0;
  font-size: 140%;
}
#news #content2 .list .date span {
  margin: 0 30px 0 0;
  vertical-align: middle;
}
#news #content2 .list .date span.cat {
  margin: 0 10px 0 0;
  padding: 2px 10px;
  border-radius: 3px;
  border: 1px solid #ccc;
  font-size: 12px;
}
#news #content2 .list .date span.social {
  margin: 0 10px 0 0;
}
#news #content2 .list .date span.cnt {
  margin: 0 10px 0 0;
}
#news #content2 .list .title {
  font-size: 160%;
}
#news #content2 .list .body {
  margin: 10px 0 0 0;
}
#news #content2 .more {
  margin: 15px 0 0 0;
  text-align: right;
}
#news #content2 .more a.btn {
  padding: 5px 20px;
  background-color: #333;
}
@media screen and (max-width: 640px) {
  #news #content2 {
    padding: 0;
  }
  #news #content2 .list .img {
    text-align: center;
  }
  #news #content2 .list .date {
    padding: 3px 0 0 0;
    font-size: 120%;
  }
  #news #content2 .list .date span {
    margin: 0 10px 0 0;
    font-size: 13px;
  }
  #news #content2 .list .date span.social {
    margin: 0 5px 0 0;
  }
  #news #content2 .list .date span.cnt {
    margin: 0 5px 0 0;
  }
  #news #content2 .list .title {
    margin-top: 10px;
    font-size: 120%;
  }
  #news #content2 .list .col {
    float: left;
  }
  #news #content2 .list .col-3 {
    width: 45%;
  }
  #news #content2 .list .col-9 {
    padding: 0 0 0 10px;
    width: 53%;
  }
}

#sidebar .search {
  margin: 30px 0 0 0;
}
#sidebar .search input {
  display: inline-block;
  padding: 5px 10px;
  width: 85%;
  background-color: #ddd;
}
#sidebar .search a {
  display: inline-block;
  padding: 5px 10px;
  width: 15%;
  text-align: center;
  background-color: #333;
  color: #fff;
}
#sidebar .new_blk {
  margin: 30px 0 0 0;
}
#sidebar .new_blk .title {
  padding: 0 0 10px 0;
  border-bottom: 1px solid #ccc;
  font-weight: bold;
}
#sidebar .new_blk .img {
  margin: 10px 0 0 0;
}
#sidebar .new_blk dl {
  margin: 10px 0 0 0;
}
#sidebar .new_blk dl a {
  color: #666;
  text-decoration: underline;
}
#sidebar .new_blk dl a:hover {
  text-decoration: none;
}
#sidebar .category_blk {
  margin: 30px 0 0 0;
}
#sidebar .category_blk .title {
  padding: 0 0 10px 0;
  border-bottom: 1px solid #ccc;
  font-weight: bold;
}
#sidebar .category_blk ul {
  padding: 5px 0 0 0;
}
#sidebar .category_blk li {
  margin: 5px 0 0 0;
  list-style: none;
}
#sidebar .category_blk li a {
  color: #666;
  text-decoration: underline;
}
#sidebar .category_blk li a:hover {
  text-decoration: none;
}
#sidebar .archive_blk {
  margin: 30px 0 0 0;
}
#sidebar .archive_blk .title {
  padding: 0 0 10px 0;
  border-bottom: 1px solid #ccc;
  font-weight: bold;
}
#sidebar .archive_blk li.fs {
  margin: 10px 0 0 0;
  list-style: none;
}
#sidebar .archive_blk ul li ul {
  margin: 5px 0 0 0;
  padding: 0 0 0 15px;
  list-style: none;
}
#sidebar .archive_blk ul li ul li a {
  color: #666;
  text-decoration: underline;
}
#sidebar .archive_blk ul li ul li a:hover {
  text-decoration: none;
}
#sidebar .tag_blk {
  margin: 30px 0 0 0;
}
#sidebar .tag_blk .title {
  padding: 0 0 10px 0;
  border-bottom: 1px solid #ccc;
  font-weight: bold;
}
#sidebar .tag_blk ul {
  padding: 5px 0 0 0;
}
#sidebar .tag_blk li {
  display: inline-block;
  margin: 10px 0 0 0;
  list-style: none;
}
#sidebar .tag_blk li a {
  padding: 4px 5px;
  border-radius: 5px;
  border: 1px solid #ccc;
  font-size: 12px;
  color: #666;
}
@media screen and (max-width: 640px) {
  #sidebar {
    margin-top: 30px;
    border-top: 2px solid #ccc;
  }
  #sidebar .new_blk .col {
    float: left;
    margin-left: 2%;
  }
  #sidebar .new_blk .col:first-child {
    margin-left: 0px;
  }
  #sidebar .new_blk .col-3 {
    width: 23.5%;
  }
  #sidebar .new_blk .col-9 {
    width: 74.5%;
  }
}



/* ****************************************************** お知らせ詳細 */
#news_detail {
  padding: 40px 0 80px;
}
#news_detail #content1 {
}
#news_detail #content1 h2 {
  text-align: center;
}
#news_detail #content1 h2 span {
  display: block;
  font-weight: normal;
}
#news_detail #content1 h2 span.en {
  line-height: 1em;
  letter-spacing: 7px;
  font-size: 46px;
  color: #df3f3a;
}
#news_detail #content1 h2 span.ja {
  line-height: 3em;
  letter-spacing: 4px;
  font-size: 14px;
}

#news_detail #content2 {
  margin: 30px 0 0 0;
  padding: 50px 0 0 0;
  border-top: 2px solid #ccc;
}
#news_detail #content2 #main .date {
  font-size: 140%;
}
#news_detail #content2 #main .date span {
  margin: 0 10px 0 0;
  vertical-align: middle;
}
#news_detail #content2 #main .date span.cat {
  padding: 2px 10px;
  border-radius: 3px;
  border: 1px solid #ccc;
  font-size: 12px;
}
#news_detail #content2 #main .title {
  margin: 10px 0 0 0;
  padding: 0 0 10px 0;
  border-bottom: 1px solid #ccc;
  font-size: 160%;
}
#news_detail #content2 #main .body {
	width: 100%;
  margin: 20px 0 0 0;
	padding: 0 0 30px 0;
	word-break: break-all;
	word-wrap: break-word;
	overflow-wrap: break-word;
  border-bottom: 1px solid #ccc;
}
#news_detail #content2 #main .body p:not(:last-child) {
	margin-bottom: 1rem;
}
#news_detail #content2 #main .body a {
  text-decoration: underline;
}
#news_detail #content2 #main .body a:hover {
  text-decoration: none;
}
#news_detail #content2 .move {
  margin: 40px 0 0 0;
  text-align: center;
}
#news_detail #content2 .move a {
	display: inline-block;
  margin: 1rem 5px;
  padding: 8px 15px;
  border-radius: 3px;
  border: 1px solid #ccc;
  color: #666;
}
#news_detail #content2 .move a i {
  margin: 0 5px;
}
#news_detail #content2 .back {
  margin: 30px 0 0 0;
  text-align: center;
}
#news_detail #content2 .back a.btn {
  padding: 5px 20px;
  background-color: #333;
}




.pagination {
  margin-top: 42px;
  margin-bottom: 42px;
  text-align: center;
}
.pagination > a, .pagination > span {
  display: inline-block;
  min-width: 32px;
  height: 30px;
  margin: 2px 5px;
  padding: 8px;
  color: #666;
  line-height: 1;
}
.pagination > span {
  background-color: #ddd;
}
.pagination .current {
  color: #fff;
  background-color: #df3f3a;
}
.pagination .inactive {
  background-color: #ddd;
}
.pagination .inactive:hover {
  color: #fff;
  background-color: #df3f3a;
}
.pagination .prev, .pagination .next {
  padding-left: 16px;
  padding-right: 16px;
  background-color: #ddd;
}
.pagination .prev:hover, .pagination .next:hover {
  color: #fff;
  background-color: #df3f3a;
}

.pagination .prev.not, .pagination .next.not,
.pagination .prev.not:hover, .pagination .next.not:hover {
  color: #ccc;
  background-color: #f2f2f2;
}
.pagination .prev > i {
  margin-right: 8px;
}
.pagination .next > i {
  margin-left: 8px;
}


.btn-play {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  margin: auto;
  opacity: .6;
  user-select: none;
  -webkit-touch-callout: none;
  background-color: #fff;
  border-radius: 64px;
  -webkit-box-shadow: 0 2px 5px 1px rgba(34,34,34, .2),
                      inset 0 -1px 2px 0 rgba(136,136,136, .5),
                      inset 0 1px 1px 0 rgba(255,255,255, .5);
          box-shadow: 0 2px 5px 1px rgba(34,34,34, .2),
                      inset 0 -1px 2px 0 rgba(136,136,136, .5),
                      inset 0 1px 1px 0 rgba(255,255,255, .5);
  -webkit-transition: all 100ms ease-in;
     -moz-transition: all 100ms ease-in;
      -ms-transition: all 100ms ease-in;
       -o-transition: all 100ms ease-in;
          transition: all 100ms ease-in;
}
.btn-play:before {
  content: "\f04b";
  display: inline-block;
  margin-left: 6px;
  font-family: "FontAwesome";
  font-size: 28px;
  color: #888;
}
.yt_error {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  max-width: 100%;
  width: 100%;
  margin: auto;
  font-size: 13px;
  color: #fff;
  text-align: center;
  -webkit-transform: translateY(48%);
     -moz-transform: translateY(48%);
      -ms-transform: translateY(48%);
       -o-transform: translateY(48%);
          transform: translateY(48%);
}



/* ****************************************************** フリーページ */
#event {
  padding: 40px 0 80px;
}
#event #content1 {
}
#event #content1 h2 {
  text-align: center;
}
#event #content1 h2 span {
  display: block;
  font-weight: normal;
}
#event #content1 h2 span.en {
  line-height: 1em;
  letter-spacing: 2px;
  font-size: 34px;
  color: #df3f3a;
}
#event #content1 h2 span.ja {
  line-height: 3em;
  letter-spacing: 4px;
  font-size: 14px;
}

#event #content2 {
  margin: 50px 0 0 0;
  padding: 50px 0 0 0;
  border-top: 2px solid #ccc;
}
#news_detail #content2 h1,
#event #content2 h1,
#news_detail #content2 h2,
#event #content2 h2,
#news_detail #content2 h3,
#event #content2 h3,
#news_detail #content2 h4,
#event #content2 h4,
#news_detail #content2 h5,
#event #content2 h5,
#news_detail #content2 h6,
#event #content2 h6 {
	margin-bottom: .5em;
  padding: 5px 0;
  font-weight: normal;
}
#news_detail #content2 p + h1,
#event #content2 p + h1,
#news_detail #content2 p + h2,
#event #content2 p + h2,
#news_detail #content2 p + h3,
#event #content2 p + h3,
#news_detail #content2 p + h4,
#event #content2 p + h4,
#news_detail #content2 p + h5,
#event #content2 p + h5,
#news_detail #content2 p + h6,
#event #content2 p + h6 {
	margin-top: 1.4em;
}
#news_detail #content2 h1,
#event #content2 h1 {
  border-bottom: 3px solid #df3f3a;
  font-size: 24px;
}
#news_detail #content2 h2,
#event #content2 h2 {
  border-bottom: 2px solid #df3f3a;
  font-size: 20px;
}
#news_detail #content2 h3,
#event #content2 h3 {
  border-bottom: 3px double #df3f3a;
  font-size: 18px;
}
#news_detail #content2 h4,
#event #content2 h4,
#news_detail #content2 h5,
#event #content2 h5,
#news_detail #content2 h6,
#event #content2 h6 {
  border-bottom: 1px dotted #df3f3a;
  font-size: 16px;
}
#news_detail #content2 p,
#event #content2 p {

}
#news_detail #content2 ul,
#news_detail #content2 ol,
#event #content2 ul,
#event #content2 ol {
  padding: 0 0 0 20px;
}
#news_detail #content2 table,
#event #content2 table {
  width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
}
#news_detail #content2 table th,
#event #content2 table th {
  text-align: center;
    padding: 15px;
    background-color: #eee;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    font-weight: normal;
    color: #666;
}
#news_detail #content2 table td,
#event #content2 table td {
    padding: 15px;
    background-color: #fff;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}



.social-button-list li {
  margin: 15px 3px 0;
  list-style: none;
}
.list-inline li {
  display: inline-block;
  vertical-align: top;
}

iframe {
	max-width: 100%;
}
.iframe {
	position: relative;
	max-width: 100%;
	overflow: hidden;
}
@media (max-width: 640px) {
	.iframe {
		height: 0;
		padding-bottom: 64%;
	}
	.iframe > iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.iframe[data-frame*="youtube.com/embed"],
	.iframe[data-frame*="vimeo.com"] {
		padding-bottom: 56.25%;
	}
	.iframe[data-frame*="google.com/maps"] {
		padding-bottom: 74.2%;
	}
}

.shabby-chic {
	margin-top: 48px;
	margin-bottom: 48px;
}
.shabby-chic img {
	max-width: 100%;
	width: auto;
	height: auto;
}
.shabby-chic q::before {
	content: "\201c";
}
.shabby-chic q::after {
	content: "\201d";
}
.shabby-chic .heading {
	margin-top: 25px;
	margin-bottom: 25px;
	text-align: center;
}
@media (max-width: 640px) {
	.shabby-chic .heading {
		padding-left: 5px;
		padding-right: 5px;
	}
}
.shabby-chic .bg_naname {
	max-width: 700px;
	margin: 25px auto;
	padding: 25px 15px;
	font-size: 14px;
	color: #000;
	text-align: center;
	background-image: url("./common/images/shabby_chic/bg_naname.png");
}
@media (max-width: 640px) {
	.shabby-chic .bg_naname {
		font-size: 12px;
	}
}

.shabby-chic hr {
	display: block;
	height: 3px;
	margin: 60px auto;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url("./common/images/shabby_chic/hr.png");
}
.shabby-chic .shabby-body {
	margin-top: 40px;
	margin-bottom: 20px;
	text-align: center;
}

@media (max-width: 640px) {
	.shabby-body {
		text-align: center;
	}
	.shabby-body > div + div {
		margin-top: 25px;
	}
}
@media (min-width: 641px) {
	.shabby-body {
		margin-left: -15px;
		margin-right: -15px;
	}
	.shabby-body > div {
		padding: 15px;
		box-sizing: border-box;
	}

	.shabby-pic {
		width: 51.4%;
	}
	.shabby-text {
		width: 48.6%;
	}
	.shabby-body .fl {
		float: left;
	}
	.shabby-body .fr {
		float: right;
	}
}

.c-fix::before,
.c-fix::after {
	content: " ";
	display: table;
}
.c-fix::after {
	clear: both;
}



/**
 * Widget Sidebar
 */
.widget {
	margin-top: 30px;
}
.widget:first-child {
	margin-top: 0;
}
.widget ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.widget ul li {
	margin-bottom: 5px;
}
.widget ul li:last-child {
	margin-bottom: 0;
}
.widget ul a {
	color: #666;
	text-decoration: underline;
	transition: 235ms ease;
}
.widget ul a:hover {
	text-decoration: none;
}
.widgettitle {
	margin-bottom: 15px;
	padding: 0 0 10px;
	font-weight: bold;
	border-bottom: 1px solid #ccc;
}
.custom-html-widget iframe {
	max-width: 100%;
}

.widget_search form {
	position: relative;
}
.widget_search input {
	display: block;
	width: 100%;
	height: 36px;
	padding: 5px 10px;
	padding-right: 46px;
	font-size: 16px;
	background-color: #ddd;
	outline: 0;
	border: 1px solid transparent;
	transition: 235ms ease;
}
.widget_search input:focus {
	border-color: #333;
}
.widget_search input::placeholder {
	font-size: 12px;
}
.widget_search a {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 38px;
	height: 36px;
	line-height: 36px;
	color: #fff;
	text-align: center;
	background-color: #333;
	transition: 235ms ease;
}
.widget_search a:hover {
	opacity: 0.8;
}
.widget_recentposts time {
	font-size: 14px;
}
.widget_recentposts .title {
	font-weight: normal;
	font-size: 14px;
}
.widget_newposts .img {
}
.widget_newposts .row {
	margin-bottom: 10px;
}
.widget_newposts .row:last-child {
	margin-bottom: 0;
}
.widget_newposts dl a {
	color: #666;
	text-decoration: underline;
}
.widget_newposts dl a:hover {
	text-decoration: none;
}
.tagcloud a {
	display: inline-block;
	margin: 3px 1px;
	padding: 4px 5px;
	font-size: 12px !important;
	color: #666;
	line-height: 1.2;
	border-radius: 5px;
	border: 1px solid #ccc;
	transition: 235ms ease;
}
.tagcloud a:hover {
	background-color: #f8f8f8;
}


.alignleft {
  text-align: left;
}
.alignright {
  text-align: right;
}
.aligncenter {
  text-align: center;
}
img.alignleft {
  float: left;
  display: block;
  margin-right: 14px;
  margin-bottom: 14px;
}
img.alignright {
  float: right;
  display: block;
  margin-left: 14px;
  margin-bottom: 14px;
}
img.aligncenter {
  display: block;
  margin: 0 auto;
}
.content-wrap .body img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}