@charset "UTF-8";
/*//////////////////////////////////////////////////////

main STYLE

//////////////////////////////////////////////////////*/
@import url(/wp-content/themes/will/assets/css/icofont.min.css);
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,600,700&display=swap");
@import url("https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600&display=swap");
@import url("https://fonts.googleapis.com/icon?family=Material+Icons");
.c-gnav > .menu-item, #footer ul.menu li a, .v-head-wrap .fixed--main, .v-head-wrap .title-will, .slider--v div, .info-post-block ul li a, .group-slider div a, .group-slider div a span, .btn {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }

.future-nav-wrap a, .future-nav-wrap a::after {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }

body {
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif; }

.l-content__body.l-container {
  margin-bottom: 0; }

a {
  color: #FF512C;
  text-decoration: none; }
  a:hover {
    color: #202f55;
    text-decoration: underline; }

a img {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }
  a img:hover {
    filter: brightness(70%) saturate(1);
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }

img {
  vertical-align: top; }

small {
  opacity: 1 !important; }

.hide, .hidden {
  display: none !important; }

.sp-hide {
  display: block !important; }
  @media only screen and (min-width: 320px) {
    .sp-hide {
      display: none !important; } }
  @media only screen and (min-width: 480px) {
    .sp-hide {
      display: none !important; } }
  @media only screen and (min-width: 768px) {
    .sp-hide {
      display: block !important; } }

.sm-hide {
  display: block !important; }
  @media only screen and (min-width: 991px) {
    .sm-hide {
      display: none !important; } }

@media only screen and (min-width: 768px) {
  .pc-hide {
    display: none !important; } }
@media only screen and (min-width: 1024px) {
  .hide-1024 {
    display: none !important; } }

ul, ul li {
  margin: 0;
  padding: 0;
  list-style: none; }

ul.list-disc {
  margin-bottom: 15px; }
  ul.list-disc li {
    list-style: disc;
    margin-left: 1.5em;
    margin-bottom: .5em; }

ul.list-square {
  list-style: none;
  margin: 0;
  padding: 0; }
  ul.list-square li {
    margin-left: 1em;
    text-indent: -1em;
    margin-bottom: .5em; }
    ul.list-square li::before {
      content: "■"; }

ol.list-decimal li {
  list-style: decimal;
  margin-left: 1em;
  margin-bottom: .5em; }

.ul-inline-center {
  display: flex;
  flex-direction: row;
  justify-content: center; }
  @media screen and (max-width: 640px) {
    .ul-inline-center {
      flex-direction: column; } }
  .ul-inline-center li {
    padding: 0 1em;
    text-align: center; }
    .ul-inline-center li a {
      margin: 0; }
      @media screen and (max-width: 640px) {
        .ul-inline-center li a {
          width: 100%; } }

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

@media screen and (max-width: 640px) {
  .p-left {
    text-align: left !important; } }

.p-letter-spacing {
  letter-spacing: 1px; }

.p-letter-no-spacing {
  letter-spacing: 0 !important; }

.p-red {
  color: red; }

.point-up {
  font-size: 1.5em;
  font-weight: 600; }

.content-wrap-md p {
  margin-bottom: .5em; }

.marker-red {
  background: linear-gradient(transparent 85%, #ffadad 85%);
  font-weight: 600;
  display: inline-block; }

.marker-green {
  background: linear-gradient(transparent 80%, rgba(38, 166, 154, 0.7) 80%);
  font-weight: 600; }

.label {
  display: inline;
  font-weight: 500;
  padding: .1em .8em .2em;
  font-size: 80%;
  line-height: 1;
  border-radius: 3px;
  vertical-align: baseline; }

.label-red {
  background: #ea5550;
  color: #FFF;
  margin-left: .5em; }

.p-w100 {
  font-weight: 100 !important; }

.p-w300 {
  font-weight: 300 !important; }

.p-w400 {
  font-weight: 400 !important; }

.p-w500 {
  font-weight: 500 !important; }

.p-w600 {
  font-weight: 600 !important; }

.p-w700 {
  font-weight: 700 !important; }

.text-85 {
  font-size: 85% !important; }

.text-90 {
  font-size: 90% !important; }

.text-110 {
  font-size: 110% !important; }

.text-120 {
  font-size: 120% !important; }

.text-130 {
  font-size: 130% !important; }

.text-140 {
  font-size: 140% !important; }

.text-150 {
  font-size: 150% !important; }

.text-p20 {
  font-size: 20px !important; }

.text-p24 {
  font-size: 24px !important; }

.text-p30 {
  font-size: 30px !important; }

.text-p40 {
  font-size: 40px !important; }

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.3); }
  hr.space10, hr.space15, hr.space20, hr.space30 {
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-top: 1px dotted #ccc !important; }
  hr.space10 {
    margin-top: 10px;
    margin-bottom: 10px; }
  hr.space15 {
    margin-top: 15px;
    margin-bottom: 15px; }
  hr.space20 {
    margin-top: 20px;
    margin-bottom: 20px; }
  hr.space30 {
    margin-top: 30px;
    margin-bottom: 30px; }

.alignfull.wp-block-cover,
.alignfull.wp-block-group.has-background {
  padding-top: 1.5em;
  padding-bottom: 3em; }

.page #main_content {
  max-width: 100%;
  margin: 0;
  padding: 0;
  /*
  		.post_content {
  			padding: 0;
  		
  			//h2の位置ずれを打ち消し解除
  			&>h2{
  				margin-left: initial;
  				margin-right: initial;
  			}
  		}
  */ }
  .page #main_content .l-mainContent {
    margin-right: 0 !important;
    margin-left: 0 !important;
    position: relative !important;
    padding: 0 !important; }
  .page #main_content .l-article {
    margin-right: 0 !important;
    margin-left: 0 !important; }

.content-wrap-md {
  max-width: 1000px;
  margin: auto; }

.content-wrap-lg {
  max-width: 1300px;
  margin: auto; }

.section-divider {
  margin: auto;
  position: relative;
  z-index: 9;
  display: block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  background-position: center center;
  -webkit-background-size: 100% cover;
  -moz-background-size: 100% cover;
  -o-background-size: 100% cover;
  background-size: 100% cover;
  background-attachment: relative;
  overflow: hidden; }
  .section-divider.section-divider-lg {
    max-width: 1300px !important; }
    @media screen and (max-width: 991px) {
      .section-divider.section-divider-lg {
        padding-left: 15px;
        padding-right: 15px; } }
  .section-divider.section-divider-md {
    max-width: 1000px !important; }
    @media screen and (max-width: 991px) {
      .section-divider.section-divider-md {
        padding-left: 15px;
        padding-right: 15px; } }
  .section-divider.padding-sm {
    padding-top: 30px;
    padding-bottom: 30px; }
  .section-divider.padding-xs {
    padding-bottom: 15px;
    padding-top: 15px; }
  .section-divider.padding-title {
    padding-bottom: 0; }
    @media screen and (max-width: 479px) {
      .section-divider.padding-title {
        margin-top: 40px; } }

.notes-border-white {
  border: 2px solid #FFF;
  padding: .5em 1em; }

.notes-border-gray {
  border: 1px solid #CCC;
  background: #F0F0F0;
  padding: 1em;
  margin-top: 15px; }

/*//////////////////////////////////////////////////////

_header.scss

//////////////////////////////////////////////////////*/
.has-text > .c-headLogo {
  font-size: 20px; }

.c-gnav > .menu-item > a {
  padding: 16px 15px;
  margin: 0 1em; }
  .c-gnav > .menu-item > a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #FF512C;
    bottom: -1px;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform 0.3s; }
  .c-gnav > .menu-item > a:hover {
    color: #FF512C;
    ont-weight: 500;
    text-decoration: none; }
  .c-gnav > .menu-item > a:hover::after {
    transform: scale(1, 1); }

.c-gnav > .menu-item.-current > a {
  color: #FF512C !important; }

.p-topArea.-noimg {
  background: white; }

.p-topArea {
  min-height: 20vh !important; }
  .p-topArea h1.c-pageTitle__main {
    font-family: "Noto Serif JP", serif;
    font-size: 30px;
    font-weight: 500;
    letter-spacing: 2px;
    margin-top: 1em; }
    @media screen and (max-width: 640px) {
      .p-topArea h1.c-pageTitle__main {
        font-size: 26px;
        letter-spacing: 0; } }

.c-pageTitle__sub {
  font-style: normal;
  font-family: "Lato", sans-serif;
  color: rgba(204, 204, 204, 0.8);
  letter-spacing: 2px; }
  .c-pageTitle__sub::before, .c-pageTitle__sub::after {
    content: ""; }

.ico-insta::before {
  font-family: "icofont";
  content: ";"; }

/*//////////////////////////////////////////////////////

_footer.scss

//////////////////////////////////////////////////////*/
.l-footer {
  background-size: cover;
  background-position: center center;
  color: #FFF;
  background: #32384d; }

#footer ul.menu {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  border: none; }
  @media screen and (max-width: 640px) {
    #footer ul.menu {
      justify-content: flex-start; } }
  #footer ul.menu li {
    font-size: 13px;
    border: none; }
    @media screen and (max-width: 640px) {
      #footer ul.menu li {
        flex-basis: 50%; } }
    #footer ul.menu li a {
      border-bottom: none;
      padding: .2em 1em; }
      #footer ul.menu li a:hover {
        color: #FFF;
        text-decoration: none;
        background-color: #FF512C;
        border-radius: 20px; }
      @media screen and (max-width: 640px) {
        #footer ul.menu li a {
          padding: .5em; } }

.foot-sns .ico-insta::before {
  font-family: "icofont";
  content: "\ed46"; }

.ul-footer-social {
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none; }
  .ul-footer-social li {
    color: #FFF;
    list-style: none; }
    .ul-footer-social li img {
      width: 40px;
      height: 40px;
      border-radius: 3px; }
  .ul-footer-social a {
    font-size: 24px;
    margin: 5px;
    color: #FFF; }
    .ul-footer-social a:hover {
      color: aqua; }

.foot-logo-wrap {
  text-align: center; }
  .foot-logo-wrap a {
    color: #FFF;
    text-decoration: none !important; }
  .foot-logo-wrap .foot-logo {
    width: 100px;
    margin: 0 auto; }
  .foot-logo-wrap .name {
    display: block;
    font-size: 18px;
    font-weight: 400;
    position: relative; }
    .foot-logo-wrap .name span {
      font-family: "Lato", sans-serif;
      font-size: 22px;
      letter-spacing: 2px; }
    @media screen and (max-width: 640px) {
      .foot-logo-wrap .name {
        font-size: 14px; } }
  .foot-logo-wrap .foot-address {
    padding-top: .5em;
    font-size: .9em; }
    .foot-logo-wrap .foot-address p {
      font-size: 16px; }
    .foot-logo-wrap .foot-address ul {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center; }
      .foot-logo-wrap .foot-address ul li {
        font-size: 17px;
        font-family: "Lato", sans-serif;
        letter-spacing: 1px;
        margin: 0 .5em; }
      .foot-logo-wrap .foot-address ul span {
        margin-right: 2px; }
    .foot-logo-wrap .foot-address .phone {
      font-family: "Lato", sans-serif;
      font-size: 1.5em;
      font-weight: 300; }
      .foot-logo-wrap .foot-address .phone::before {
        font-family: "icofont";
        content: "\efba";
        margin-right: 5px;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
  .foot-logo-wrap .copyright {
    font-family: "Lato", sans-serif;
    color: rgba(255, 255, 255, 0.8);
    letter-spacing: 1px;
    padding: 1em 0 0; }

.foot-address .phone a:hover {
  text-decoration: underline; }

.p-fixBtnWrap {
  right: 15px;
  bottom: 25px; }
  .p-fixBtnWrap .c-fixBtn:hover {
    background: #FF512C; }

.bg {
  width: 100%;
  -webkit-background-size: 100% cover;
  -moz-background-size: 100% cover;
  -o-background-size: 100% cover;
  background-size: 100% cover;
  overflow: hidden; }

.bg-white {
  background: #FFFFFF !important; }

.bg-gray {
  background: rgba(241, 239, 236, 0.8) !important; }

.bg-light-blue {
  background: #F6F9FC; }
  .bg-light-blue .h4-blue {
    color: #00a1e9;
    font-size: 16px;
    text-align: center;
    padding: .5em;
    background: #E0F7FF; }

.bg-info {
  position: relative;
  padding-top: 20px;
  padding-bottom: 30px;
  background: rgba(241, 239, 236, 0.8); }

.bg-cover {
  color: #FFF;
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: relative;
  z-index: 1;
  padding: 70px 0;
  text-align: center;
  image-rendering: -webkit-optimize-contrast; }
  @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    .bg-cover {
      background-attachment: local;
      background-size: auto; } }
  @media screen and (max-width: 991px) {
    .bg-cover {
      padding: 50px 0;
      background-size: auto; } }
  @media screen and (max-width: 640px) {
    .bg-cover {
      padding: 40px 0;
      background-size: auto;
      background-attachment: scroll;
      width: 100%; } }
  .bg-cover::after {
    background-color: rgba(0, 0, 0, 0.45);
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
    top: 0;
    left: 0;
    z-index: -1; }

.bg-cover.bg-xxxxxxxx::before {
  content: '';
  background: inherit;
  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
  filter: blur(4px);
  position: absolute;
  top: -5px;
  left: 0px;
  right: 0px;
  bottom: -5px;
  z-index: -99; }

.bg-cover .page-heading {
  padding: 0; }
  .bg-cover .page-heading h1, .bg-cover .page-heading h2 {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    color: #FFF;
    font-weight: 500;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4); }
    .bg-cover .page-heading h1::before, .bg-cover .page-heading h2::before {
      background-color: rgba(255, 255, 255, 0.6); }
  .bg-cover .page-heading .p-lead {
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4); }

.page-main-title {
  padding: 15px 0; }
  .page-main-title h1 {
    font-family: "Noto Serif JP", serif;
    font-size: 24px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 1em; }
    @media screen and (max-width: 640px) {
      .page-main-title h1 {
        font-size: 20px !important; } }
    @media screen and (max-width: 640px) {
      .page-main-title h1 br {
        display: block; } }
  .page-main-title p {
    margin-bottom: 1em; }

.page-heading-title {
  position: relative;
  text-align: center;
  padding-bottom: 20px;
  margin-bottom: 40px; }
  .page-heading-title.home {
    padding-top: 40px; }
  .page-heading-title::before, .page-heading-title::after {
    position: absolute;
    bottom: 0; }
  .page-heading-title::after {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #ed6d35;
    left: 50%;
    margin-left: -4px; }
  .page-heading-title::before {
    content: "";
    width: 80px;
    left: 50%;
    margin-left: -40px;
    height: 1px;
    background-color: #aeaeae;
    bottom: 3px; }
  .page-heading-title h1 {
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    font-size: 1.8rem;
    text-transform: capitalize;
    letter-spacing: 2px;
    margin-bottom: 0; }
    .page-heading-title h1 br {
      display: none; }
      @media screen and (max-width: 640px) {
        .page-heading-title h1 br {
          display: block !important; } }
  .page-heading-title .p-lead {
    font-family: "Lato", sans-serif;
    color: #333;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 3px; }
    @media screen and (max-width: 640px) {
      .page-heading-title .p-lead {
        font-size: 15px;
        letter-spacing: 0; } }

.page-heading {
  padding: 15px 0;
  text-align: center; }
  .page-heading h1 {
    font-family: "Noto Serif JP", serif;
    font-size: 30px;
    font-weight: 400;
    letter-spacing: 2px;
    position: relative;
    display: block;
    line-height: 1.2;
    margin-bottom: 1em; }
    @media screen and (max-width: 640px) {
      .page-heading h1 {
        font-size: 22px; } }
    .page-heading h1::before {
      content: '';
      position: absolute;
      bottom: -15px;
      display: inline-block;
      width: 50px;
      height: 2px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      background-color: rgba(0, 0, 0, 0.6); }
  .page-heading h2 {
    position: relative;
    font-family: "Noto Serif JP", serif;
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    /*
    &::before, &::after{
    	position: absolute;
    	top: 48%;
    	width: 3rem;
    	height: 0.1rem;
    	background-color: #2a2a72;
    	background-color: #353535;
    	content: '';
    }
    &::before{
    	left: 5rem;
    }
    &::after{
    	right: 5rem;
    }
    */ }
    .page-heading h2.lato {
      font-family: "Lato", sans-serif;
      font-weight: 300;
      letter-spacing: 2px; }
    .page-heading h2.oswald {
      font-family: 'Oswald', sans-serif;
      font-weight: 300;
      letter-spacing: 2px; }
    .page-heading h2::before, .page-heading h2::after {
      content: "─";
      padding: 0 .5em; }

.h-double-border {
  position: relative;
  padding: 1em .3em;
  border-top: 2px solid;
  border-bottom: 2px solid;
  font-weight: bold;
  font-size: 26px !important;
  margin: 30px 0 !important; }
  @media screen and (max-width: 640px) {
    .h-double-border {
      font-size: 17px !important;
      padding: .8em 0;
      text-align: left !important;
      margin-bottom: 20px !important; } }
  .h-double-border::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    padding-left: 5px;
    color: #666;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    content: attr(data-content); }
    @media screen and (max-width: 640px) {
      .h-double-border::after {
        font-size: 11px;
        letter-spacing: 0; } }
  .h-double-border span {
    font-size: .75em; }
    @media screen and (max-width: 640px) {
      .h-double-border span {
        display: block; } }

.h-line {
  font-weight: 600 !important;
  line-height: 1.5;
  position: relative;
  border-bottom: 4px solid #DDD;
  color: #111;
  margin: 1em 0 !important; }
  @media screen and (max-width: 640px) {
    .h-line {
      font-size: 20px !important;
      letter-spacing: 0px;
      padding-bottom: .1em;
      line-height: 1.2; } }
  .h-line::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    z-index: 2;
    content: '';
    width: 80px;
    height: 4px;
    background-color: #2988bc; }
  .h-line span {
    font-size: .85em; }
    @media screen and (max-width: 640px) {
      .h-line span {
        display: block; } }

.h-line span.spec {
  font-size: .80em;
  font-weight: 400;
  margin-left: .5em; }
  .h-line span.spec::before {
    content: "［定員］"; }

.h-overview {
  font-weight: 600;
  line-height: 1;
  position: relative;
  color: #111;
  margin: 1em 0 !important; }
  .h-overview::before {
    font-size: .9em;
    font-family: "Noto Serif JP", serif;
    content: attr(data-content);
    color: #333;
    border: 1px solid #333;
    display: inline-block;
    padding: .1em .4em;
    margin-right: .4em;
    border-radius: 3px; }
  @media screen and (max-width: 640px) {
    .h-overview {
      font-size: 20px; } }

.heading-center {
  text-align: center;
  margin: 15px auto; }

.h-border-side {
  font-weight: 500 !important;
  position: relative;
  display: inline-block;
  padding: 0 55px; }
  .h-border-side::before, .h-border-side::after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 45px;
    height: 1px;
    background-color: #333; }
  .h-border-side::before {
    left: 0; }
  .h-border-side::after {
    right: 0; }

.has-lines {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 25px; }

.has-lines::before,
.has-lines::after {
  content: '';
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  height: 1px;
  background: #aaaab0;
  min-width: 20px;
  display: inline-block;
  vertical-align: middle; }

.has-lines::before {
  margin-right: 8px; }

.has-lines::after {
  margin-left: 8px; }

@media screen and (max-width: 479px) {
  .has-lines::before,
  .has-lines::after {
    margin-right: 0px;
    margin-left: 0px; } }
#v-head-slider {
  text-align: center;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }
  #v-head-slider .v-head-wrap {
    width: 100%;
    text-align: center;
    position: relative; }
    #v-head-slider .v-head-wrap .slider-sp {
      display: none; }
      @media only screen and (max-width: 768px) {
        #v-head-slider .v-head-wrap .slider-sp {
          display: block !important; } }

.top-mov {
  position: relative;
  overflow: hidden;
  margin: 0;
  width: 100%;
  height: 100vh;
  transition: 3s;
  text-align: center; }
  .top-mov .video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  .top-mov.overlay::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: rgba(0, 0, 0, 0.35); }
  @media (aspect-ratio: 16 / 9), (min-aspect-ratio: 16 / 9) {
    .top-mov video {
      width: 100%;
      top: 50%;
      transform: translateY(-50%); } }

.v-head-wrap .fixed {
  position: absolute;
  text-align: center;
  width: 100%;
  top: 30%;
  right: 0;
  transform: translateY(50%);
  z-index: 2; }
.v-head-wrap .fixed--main {
  right: 0;
  font-family: "Noto Serif JP", serif;
  color: #FFF;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.3;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
  animation: slideFromLeft 2.5s ease 0s 1 normal; }
  @media screen and (max-width: 991px) {
    .v-head-wrap .fixed--main {
      font-size: 30px;
      letter-spacing: 0; } }
  @media screen and (max-width: 640px) {
    .v-head-wrap .fixed--main {
      font-size: 20px;
      line-height: 1.5;
      top: 20%; }
      .v-head-wrap .fixed--main br {
        display: block; } }
.v-head-wrap .title-will {
  margin-top: 2em;
  font-family: "Noto Serif JP", serif;
  color: #FFF;
  font-size: 28px;
  font-weight: 400;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
  animation: slideFromRight 3.5s ease 0s 1 normal; }
  .v-head-wrap .title-will span {
    font-family: "Open Sans", sans-serif; }

@keyframes slideFromRight {
  0%, 25% {
    transform: translateX(80px);
    opacity: 0; }
  100% {
    transform: translateX(0px);
    opacity: 1; } }
@keyframes slideFromLeft {
  0%, 25% {
    transform: translate(-20%);
    opacity: 0; }
  100% {
    transform: translate(0%);
    opacity: 1; } }
@keyframes fadeUp {
  0% {
    transform: translate(-50%, -40%);
    opacity: 0; }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%); } }
@keyframes zoomIn {
  0% {
    transform: translate(-50%, -50%) scale(0.8);
    opacity: 0; }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1); } }
.slider--v {
  position: relative;
  max-width: 100%; }
  .slider--v.mask::after {
    background-color: rgba(0, 0, 0, 0.15);
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
    top: 0;
    left: 0;
    z-index: 1; }
  .slider--v div {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 100vh;
    width: 100vw;
    margin: 0;
    image-rendering: -webkit-optimize-contrast; }
  .slider--v img {
    height: 100vh;
    margin: auto; }

.scrolldown {
  position: absolute;
  bottom: 10px;
  left: 50%;
  height: 50px; }
  .scrolldown span {
    position: absolute;
    left: 10px;
    bottom: 10px;
    color: #eee;
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl; }
    .scrolldown span a {
      display: block;
      color: #FFF;
      z-index: 999; }
  .scrolldown::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: -4px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #eee;
    animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite; }
  .scrolldown::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 2px;
    height: 50px;
    background: #eee; }

@keyframes circlemove {
  0% {
    bottom: 45px; }
  100% {
    bottom: -5px; } }
@keyframes cirlemovehide {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  80% {
    opacity: 0.9; }
  100% {
    opacity: 0; } }
.scrolldown2:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 2px;
  height: 50px;
  background: #eee; }

.slider {
  opacity: 0;
  transition: opacity .3s linear; }
  .slider.slick-initialized {
    opacity: 1; }

.single-fade {
  margin: 0 auto;
  width: 100%;
  opacity: 0;
  transition: 3s;
  text-align: center; }
  .single-fade.slick-initialized {
    opacity: 1; }

.slick-dots {
  bottom: 0 !important; }

.slick-dotted.slick-slider {
  margin-bottom: 0; }

.slick-dots li button::before {
  font-family: 'slick';
  font-size: 6px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: '•';
  text-align: center;
  opacity: .6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-dots li.slick-active button::before {
  opacity: .8; }

/*//////////////////////////////////////////////////////

home scss STYLE

//////////////////////////////////////////////////////*/
.home-section-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between; }
  .home-section-wrap .content-block.info {
    width: 55%; }
  .home-section-wrap .content-block.cal {
    width: 40%;
    padding: 0 15px; }
  @media screen and (max-width: 768px) {
    .home-section-wrap .content-block.info, .home-section-wrap .content-block.cal {
      width: 100%; } }

.bnr-sns {
  width: 80%;
  margin: 25px auto 0; }
  @media screen and (max-width: 768px) {
    .bnr-sns {
      width: 90%; } }

.info-post-block {
  padding-top: 50px; }
  @media screen and (max-width: 768px) {
    .info-post-block {
      width: 100%;
      padding-top: 0px;
      padding-bottom: 25px; } }
  .info-post-block .su-posts-list-loop {
    padding-left: 0; }
    .info-post-block .su-posts-list-loop .su-post {
      font-size: 16px;
      text-align: left;
      border-bottom: 1px dotted rgba(51, 51, 51, 0.4); }
      @media screen and (max-width: 768px) {
        .info-post-block .su-posts-list-loop .su-post {
          font-size: 14px; } }
      .info-post-block .su-posts-list-loop .su-post .su-post-meta {
        display: inline-block;
        font-size: .8em;
        font-weight: 400;
        color: #FFF;
        background: #32384D;
        padding: 0em .5em;
        border-radius: 2px; }
    .info-post-block .su-posts-list-loop .label-new {
      font-size: .8em;
      font-weight: normal;
      color: #FFF;
      background-color: #c82c55;
      padding: .1em .5em;
      margin-left: .5em;
      display: none; }

.info-post-block ul {
  padding-left: 0; }
  .info-post-block ul li {
    line-height: 1.5;
    margin-bottom: .8em;
    border-bottom: 1px dotted #CCC; }
    .info-post-block ul li a {
      color: #333;
      display: block; }
      .info-post-block ul li a:hover {
        color: #FF512C;
        text-decoration: none; }

.pagination {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1em;
  z-index: 10;
  list-style: none;
  display: block; }
  .pagination a {
    display: block;
    height: 20px;
    margin-bottom: 5px;
    color: #fff;
    position: relative;
    padding: 4px; }
    .pagination a .active::after {
      box-shadow: inset 0 0 0 5px; }
    .pagination a .hover-text {
      position: absolute;
      right: 15px;
      top: 0;
      opacity: 0;
      -webkit-transition: opacity 0.5s ease;
      transition: opacity 0.5s ease;
      padding-right: 15px; }
    .pagination a:hover .hover-text {
      opacity: 1; }
    .pagination a::after {
      -webkit-transition: box-shadow 0.5s ease;
      transition: box-shadow 0.5s ease;
      width: 10px;
      height: 10px;
      display: block;
      border: 1px solid;
      border-radius: 50%;
      content: "";
      position: absolute;
      margin: auto;
      top: 0;
      right: 3px;
      bottom: 0; }

@media screen and (max-width: 768px) {
  .pagination a .hover-text {
    display: none; } }
.future-nav-wrap {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  margin: 20px 0; }
  @media screen and (max-width: 768px) {
    .future-nav-wrap {
      justify-content: space-between;
      margin: 5px 10px; } }
  .future-nav-wrap .nav-box {
    display: flex;
    width: 33%;
    margin-bottom: 5px;
    position: relative; }
    @media screen and (max-width: 991px) {
      .future-nav-wrap .nav-box {
        width: 33%; } }
    @media screen and (max-width: 768px) {
      .future-nav-wrap .nav-box {
        width: 100%; } }
    .future-nav-wrap .nav-box .caption {
      text-align: center; }
      .future-nav-wrap .nav-box .caption p {
        font-family: "Lato", sans-serif;
        font-size: 22px;
        font-weight: 300;
        letter-spacing: 3px;
        margin: .5em;
        text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4); }
        @media screen and (max-width: 768px) {
          .future-nav-wrap .nav-box .caption p {
            font-size: 18px;
            margin-top: 1em;
            margin-bottom: .5em;
            padding: 0; } }
        .future-nav-wrap .nav-box .caption p span {
          display: block;
          font-size: .65em;
          letter-spacing: 0; }
  .future-nav-wrap a {
    position: relative;
    margin: 5px;
    width: 100%;
    height: auto;
    display: block;
    color: #FFF;
    background-repeat: no-repeat;
    background-size: cover;
    text-decoration: none;
    padding: 4em 1em;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      .future-nav-wrap a {
        margin: 2px;
        padding: 2em 5px; } }
    .future-nav-wrap a.col01 {
      background-image: url("/wp-content/themes/will/assets/img/home/nav_future01.jpg");
      background-position: center; }
    .future-nav-wrap a.col02 {
      background-image: url("/wp-content/themes/will/assets/img/home/nav_future02.jpg");
      background-position: center; }
    .future-nav-wrap a.col03 {
      background-image: url("/wp-content/themes/will/assets/img/home/nav_future03.jpg");
      background-position: center; }
    .future-nav-wrap a::after {
      position: absolute;
      content: "";
      top: 15px;
      left: 15px;
      right: 15px;
      bottom: 15px;
      z-index: -1;
      background-color: rgba(0, 0, 0, 0.5);
      backdrop-filter: blur(0) saturate(180%);
      -webkit-backdrop-filter: blur(0) saturate(180%); }
    .future-nav-wrap a:hover::after {
      color: #FFF;
      text-decoration: none !important;
      background-color: rgba(0, 0, 0, 0.3);
      top: 5px;
      left: 5px;
      right: 5px;
      bottom: 5px;
      backdrop-filter: blur(3px) saturate(180%);
      -webkit-backdrop-filter: blur(3px) saturate(180%); }

.nav-box .icon-item {
  position: relative;
  text-align: center;
  transition: all .3s; }

.stickarrow {
  width: 20%;
  height: 8px;
  border-bottom: 1px solid #FFF;
  border-right: 1px solid #FFF;
  transform: skew(45deg);
  margin: auto 40%;
  transition: all .3s;
  display: none; }

a:hover .stickarrow {
  margin-left: 45%; }

.anime-up15 {
  animation: slideUp 1.5s ease 0s 1 normal; }

.anime-up20 {
  animation: slideUp 2.0s ease 0s 1 normal; }

.anime-up25 {
  animation: slideUp 2.5s ease 0s 1 normal; }

@keyframes slideUp {
  0%, 45% {
    transform: translateY(20px);
    opacity: 0; }
  100% {
    transform: translateY(0px);
    opacity: 1; } }
.btn {
  margin-top: 15px;
  letter-spacing: 1px;
  display: inline-block; }
  @media screen and (max-width: 768px) {
    .btn {
      padding: .5em 2em; } }
  @media screen and (max-width: 640px) {
    .btn {
      padding: 0.5em 2em;
      letter-spacing: 0; } }
  .btn:hover, .btn:focus, .btn:active {
    color: inherit;
    box-shadow: none;
    outline: none;
    border-color: transparent;
    text-decoration: none; }

.btn-setting-c {
  text-align: center;
  margin: 15px auto 0;
  z-index: 99; }

.btn-radius:hover, .btn-radius:active, .btn-radius:focus {
  color: #FFF;
  background: #FF512C;
  border: 1px solid #FF512C; }
@media screen and (max-width: 640px) {
  .btn-radius {
    padding: .7em 3em; } }

/*

.home-access-wrap{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	
	.build-block{
		flex-basis: 40%;
		
		@media screen and (max-width: 768px) {
			flex-basis: 80%;
			order: 1;
			margin: auto;
			padding-top: 15px;
		}
	}
	.access-exp{
		flex-basis: 60%;
		padding: 0 2em;
		
		@media screen and (max-width: 768px) {
			flex-basis: 100%;
			padding: 0;
			order: 0;
		}
	}
}
*/
.gmap-wrap {
  width: 100%;
  overflow: hidden;
  height: 300px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .gmap-wrap {
      height: 300px; } }
  .gmap-wrap > iframe {
    width: 100%;
    border: 0; }
    .gmap-wrap > iframe.grayscale {
      -webkit-filter: grayscale(100%);
      -moz-filter: grayscale(100%);
      -ms-filter: grayscale(100%);
      -o-filter: grayscale(100%);
      filter: grayscale(100%); }
  .gmap-wrap > iframe:hover {
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    filter: grayscale(0%); }

.ul-to-access {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center; }
  @media screen and (max-width: 768px) {
    .ul-to-access {
      justify-content: space-between; } }
  .ul-to-access li {
    width: 25%;
    margin: 0 10px;
    padding: 0;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .ul-to-access li {
        width: 48%;
        margin: 0; } }
    .ul-to-access li .btn {
      font-size: 14px;
      color: #004896;
      width: 100%;
      padding: .5em 2em !important;
      border-radius: 50px;
      border: 1px solid #004896;
      margin: 0; }
      .ul-to-access li .btn:hover, .ul-to-access li .btn:focus {
        color: #FFF !important;
        background: #FF512C;
        border: 1px solid #FF512C; }

.group-slider div {
  margin: 0 5px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .group-slider div {
      margin: 0 3px; } }
  .group-slider div a {
    display: block;
    text-align: center;
    color: #202f55;
    background: #FFF; }
    @media screen and (max-width: 768px) {
      .group-slider div a {
        font-size: .8em; } }
    .group-slider div a span {
      font-size: 13px;
      line-height: 2;
      color: #FFF;
      position: absolute;
      display: block;
      background: rgba(0, 0, 0, 0.7);
      left: 0;
      right: 0;
      bottom: 0; }
    .group-slider div a:hover {
      background: #202f55;
      color: #FFF;
      text-decoration: none; }
      .group-slider div a:hover span {
        background: rgba(255, 81, 44, 0.7); }

.recruit-fix-bnr {
  position: fixed !important;
  bottom: 15%;
  right: -20px;
  z-index: 99; }
  .recruit-fix-bnr img {
    display: block;
    width: 160px;
    height: auto; }
    @media screen and (max-width: 640px) {
      .recruit-fix-bnr img {
        width: 100px; } }
  .recruit-fix-bnr a {
    transition: all 0.3s ease; }
  .recruit-fix-bnr a img:hover {
    filter: brightness(120%);
    margin-right: 10px; }

/*//////////////////////////////////////////////////////

page scss STYLE

//////////////////////////////////////////////////////*/
.section-divider img {
  display: block;
  margin: auto; }

.normal-doc {
  padding: 1em 0; }

/*//////////////////////////////////////////////////////

concept

//////////////////////////////////////////////////////*/
.flex-concept3 {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-top: 15px; }
  @media screen and (max-width: 640px) {
    .flex-concept3 {
      justify-content: center; } }
  .flex-concept3 .shampoo-block {
    width: 30%; }
    .flex-concept3 .shampoo-block img {
      margin: auto; }
    .flex-concept3 .shampoo-block h4 {
      text-align: center; }
    .flex-concept3 .shampoo-block p {
      font-size: .9em; }
    @media screen and (max-width: 640px) {
      .flex-concept3 .shampoo-block {
        width: 100%; } }

.flex-concept3 .left-document {
  width: 80%;
  padding-right: 2em; }
  @media screen and (max-width: 640px) {
    .flex-concept3 .left-document {
      width: 100%;
      padding-right: 0; } }
.flex-concept3 .right-visual {
  width: 20%; }
  @media screen and (max-width: 640px) {
    .flex-concept3 .right-visual {
      width: 60%; } }

.doc-hair strong {
  color: #000; }
@media screen and (max-width: 640px) {
  .doc-hair h4 {
    font-size: 16px; } }

.flex-text-visual {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between; }
  .flex-text-visual .text {
    width: 60%; }
    @media screen and (max-width: 640px) {
      .flex-text-visual .text {
        width: 100%;
        order: 0; } }
  .flex-text-visual .visual {
    width: 38%; }
    @media screen and (max-width: 640px) {
      .flex-text-visual .visual {
        width: 100%;
        order: 1; } }

/*//////////////////////////////////////////////////////

Menu

//////////////////////////////////////////////////////*/
.tablepress thead th {
  background-color: inherit;
  text-align: center;
  font-size: 12px;
  background-color: #eedcb3;
  line-height: 1.2;
  padding: .2em 0; }
.tablepress tbody td {
  text-align: center;
  width: 33%;
  border-top: none;
  border-bottom: 1px dotted #7d7b83; }
.tablepress tbody .column-1 {
  text-align: left;
  white-space: nowrap; }

.flex-menu-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 25px; }
  .flex-menu-wrap .item {
    width: 30%;
    border-right: 2px solid #eedcb; }
    @media screen and (max-width: 640px) {
      .flex-menu-wrap .item {
        width: 100%; } }
    .flex-menu-wrap .item h3 {
      font-size: 20px;
      text-align: center; }
      .flex-menu-wrap .item h3 span {
        display: block;
        font-size: .7em; }
  .flex-menu-wrap .price {
    width: 68%; }
    @media screen and (max-width: 640px) {
      .flex-menu-wrap .price {
        width: 100%; } }

/*//////////////////////////////////////////////////////

access scss

//////////////////////////////////////////////////////*/
.gmap-wrap {
  width: 100%;
  overflow: hidden;
  height: 400px;
  position: relative;
  margin: 20px 0; }
  @media screen and (max-width: 640px) {
    .gmap-wrap {
      height: 300px; } }
  .gmap-wrap iframe {
    width: 100%;
    height: 100%; }
    .gmap-wrap iframe.grayscale {
      -webkit-filter: grayscale(100%);
      -moz-filter: grayscale(100%);
      -ms-filter: grayscale(100%);
      -o-filter: grayscale(100%);
      filter: grayscale(100%); }
  .gmap-wrap > iframe:hover {
    -webkit-filter: grayscale(0);
    -moz-filter: grayscale(0);
    -ms-filter: grayscale(0);
    -o-filter: grayscale(0);
    filter: grayscale(0); }

.goto-map {
  width: auto;
  text-align: right; }
  @media screen and (max-width: 640px) {
    .goto-map {
      width: 100%;
      text-align: center;
      margin: 5px auto; } }

.dl-access {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap; }
  .dl-access dt {
    width: 30%;
    font-weight: 700; }
    .dl-access dt::before {
      content: "■";
      color: #ea5532;
      margin-right: .3em; }
    .dl-access dt span::before {
      content: "［"; }
    .dl-access dt span::after {
      content: "］"; }
  .dl-access dd {
    margin-bottom: 1em;
    margin-left: 1em; }

.l-main__body.p-404 {
  display: none; }

.error-404 #main_content {
  background-color: inherit; }
.error-404 .l-mainContent {
  padding: 0;
  position: relative; }
.error-404 .l-article {
  padding: 0; }

.error-404 {
  margin: 0 0 25px;
  padding-top: 15vh;
  padding-bottom: 15vh;
  overflow: hidden;
  text-align: center;
  width: 100%;
  background-size: cover;
  position: relative;
  background-position: center center;
  z-index: 1;
  background-image: url("/wp-content/themes/will/assets/img/bg/bg_404.jpg"); }
  @media screen and (max-width: 479px) {
    .error-404 {
      padding-top: 20vh;
      padding-bottom: 50px; } }
  .error-404::after {
    background-color: rgba(0, 0, 0, 0.4);
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
    top: 0;
    left: 0;
    z-index: -1; }

.error-404 .not-found-text h2 {
  font-family: "Lato", sans-serif;
  color: rgba(0, 175, 204, 0.65);
  font-size: 150px;
  font-weight: 700;
  letter-spacing: 3px;
  line-height: 1;
  margin: 20px;
  padding-bottom: 0; }
  @media screen and (max-width: 479px) {
    .error-404 .not-found-text h2 {
      font-size: 80px; } }
.error-404 .not-found-text h3 {
  font-family: "Lato", sans-serif;
  color: #00afcc;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 3px;
  margin-top: 15px;
  margin: 0 0 15px;
  padding: 0; }
  @media screen and (max-width: 479px) {
    .error-404 .not-found-text h3 {
      font-size: 24px; } }
.error-404 .not-found-text p {
  color: #FFF;
  line-height: 2;
  margin-bottom: 2em; }

.not-found-text > a {
  background-color: rgba(255, 255, 255, 0);
  display: inline-block;
  margin-top: 15px;
  padding: 15px 30px;
  border-radius: 0; }

.not-found-text > a:hover,
.not-found-text > a:focus {
  background-color: rgba(255, 255, 255, 0.3);
  color: #2c3e50; }

.error-page .btn-detail {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.4);
  background-color: rgba(0, 0, 0, 0.3); }

.btn:hover, .btn:focus, .btn:active {
  box-shadow: none;
  outline: none !important;
  border-color: transparent; }

/*////////////////////////////////////////////////////////////////////////////

btn scss

////////////////////////////////////////////////////////////////////////////*/
.btn {
  font-size: 15px;
  color: #202020;
  border: 1px solid #606060;
  background-color: #FFF;
  border-radius: 0;
  padding: .6em 4em;
  margin: 10px 0;
  letter-spacing: 1px;
  display: inline-block;
  position: relative; }
  @media screen and (max-width: 768px) {
    .btn {
      padding: .5em 2em; } }
  @media screen and (max-width: 640px) {
    .btn {
      padding: 0.5em 2em;
      letter-spacing: 0; } }
  .btn:hover, .btn:focus, .btn:active {
    color: inherit;
    box-shadow: none;
    outline: none;
    border-color: transparent;
    text-decoration: none; }

.btn-setting-c {
  text-align: center;
  margin: 15px auto 0;
  z-index: 99; }

.btn-radius {
  font-size: 15px;
  background-color: #FFF;
  border-radius: 50px; }
  .btn-radius:hover, .btn-radius:active, .btn-radius:focus {
    color: #FFF;
    background: #FF512C;
    border: 1px solid #FF512C; }
  @media screen and (max-width: 640px) {
    .btn-radius {
      padding: .7em 3em; } }

.btn-detail {
  color: #004896;
  font-size: 15px;
  border: 1px solid #004896;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 50px; }
  .btn-detail:hover, .btn-detail:active, .btn-detail:focus {
    color: #FFF;
    background-color: #202f55; }

.btn-sweep-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  background: #004896;
  color: #FFF;
  border: none; }
  .btn-sweep-right::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #00a1e9;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .btn-sweep-right:hover, .btn-sweep-right:focus, .btn-sweep-right:active {
    color: #FFF; }
    .btn-sweep-right:hover::before, .btn-sweep-right:focus::before, .btn-sweep-right:active::before {
      -webkit-transform: scaleX(1);
      transform: scaleX(1); }

.link-external {
  transition: all 0.3s ease 0s;
  position: relative; }
  .link-external::after {
    font-family: 'icofont';
    content: "\ef1f";
    vertical-align: middle;
    line-height: 1;
    display: inline-block;
    padding-left: .5em; }

.btn-arrow {
  text-decoration: none;
  color: inherit;
  display: inline-block;
  padding-right: 40px;
  position: relative; }
  .btn-arrow::before, .btn-arrow::after {
    content: "";
    display: block;
    -webkit-transform: skewX(40deg);
    transform: skewX(40deg);
    position: absolute;
    right: 0;
    bottom: 10px; }
  .btn-arrow::before {
    width: 25px;
    height: 1px;
    background: #004896; }
  .btn-arrow::after {
    width: 2px;
    height: 6px;
    background: #004896; }

.btn-detail:hover .btn-arrow::before, .btn-detail:hover .btn-arrow::after {
  background: #FFF; }

.btn-sweep-right .btn-arrow::before, .btn-sweep-right .btn-arrow::after {
  background: #FFF; }

.btn-map::before {
  font-family: 'icofont';
  content: "\ed42";
  font-size: 1em;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.btn-next {
  font-weight: 500; }
  .btn-next::after {
    font-family: 'icofont';
    content: "\eab8";
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding-left: 1em;
    right: 1em; }

.link-next {
  transition: all 0.3s ease 0s;
  position: relative;
  font-weight: 500 !important; }
  .link-next::before {
    font-family: 'FontAwesome';
    content: "\f0da";
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    background: #008db7; }

.xo-event-calendar table.xo-month, .xo-event-calendar table.xo-month th, .xo-event-calendar table.xo-month td, .xo-event-calendar table.xo-month > thead th, .xo-event-calendar p.holiday-title span {
  border: 1px solid #808080; }

.xo-event-calendar table {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  background-color: #FFF;
  font-weight: 400; }

.xo-event-calendar table td, .xo-event-calendar table th {
  display: table-cell;
  font-weight: 400; }

.xo-event-calendar {
  position: relative; }

.xo-event-calendar .xo-month {
  position: relative;
  font-family: "Lato", sans-serif; }

.xo-event-calendar table.xo-month {
  margin: 0;
  padding: 0;
  border-right: none; }

.xo-event-calendar table.xo-month > caption {
  caption-side: top;
  text-align: center;
  font-size: 16px; }

.xo-event-calendar table.xo-month > thead th {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 500;
  border-width: 0 1px 0 0;
  font-weight: .9em;
  padding: .3em 0 !important;
  text-align: center;
  background: #32384d;
  color: #FFF; }
  .xo-event-calendar table.xo-month > thead th.saturday, .xo-event-calendar table.xo-month > thead th.sunday {
    color: #FFF; }

.xo-event-calendar table.xo-month .month-event-title {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  display: block;
  color: #FFF !important;
  border-radius: 0;
  white-space: normal;
  padding: .1em .5em;
  margin: 2px 0; }
  @media screen and (max-width: 640px) {
    .xo-event-calendar table.xo-month .month-event-title {
      font-size: .7em;
      text-align: left;
      padding: 3px; } }

.xo-event-calendar table.xo-month .month-dayname td div {
  height: 1000px;
  padding: 10px 4px 0;
  border-width: 1px 1px 0 0;
  text-align: center;
  font-size: 14px;
  line-height: 1.2em; }

.xo-event-calendar table.xo-month .month-dayname td div.today {
  color: #333;
  font-weight: bold;
  background: #e5f2ff; }

.xo-event-calendar table.xo-month .month-dayname-space {
  height: 1.2em; }

.xo-event-calendar table.xo-month .month-event-space {
  height: 1em; }

/*


.xo-event-calendar table.xo-month .month-header {
	margin: 2px 0 4px;

	//color: #FFF !important;
}
.xo-event-calendar table.xo-month .month-header > span {
 display: inline-block;
 text-align: center;
 font-size: 16px;
 vertical-align: middle;
 line-height: 28px;
}
*/
/*

.xo-event-calendar table.xo-month button {
 margin: 0;
 padding: 0;

	//color: #FFF !important;
 background-color: transparent;
 border: 0;
 box-shadow: none;
 text-shadow: none;
 cursor: pointer;
 width: 28px;
}
.xo-event-calendar table.xo-month button[disabled] {
 opacity: 0.3;
 cursor: default;
}
.xo-event-calendar table.xo-month button > span {
 width: 28px;
 height: 28px;
 line-height: 28px;
 font-size: 22px;
 text-align: center;
 vertical-align: middle;
}
*/
/*

.xo-event-calendar table.xo-month button span.nav-prev {
 display: inline-block;
 background: url("../images/nav-prev.svg") no-repeat center center;
 background-size: 14px 18px;
 width: 28px;
 height: 28px;
 font-size: 0;
}
.xo-event-calendar table.xo-month button span.nav-next {
 display: inline-block;
 background: url("../images/nav-next.svg") no-repeat center center;
 background-size: 14px 18px;
 width: 28px;
 height: 28px;
 font-size: 0;
}
*/
/*

.xo-event-calendar table.xo-month .month-prev {
 float: left;
}
.xo-event-calendar table.xo-month .month-next {
 float: right;
}

.xo-event-calendar table.xo-month{
	& > thead th.sunday {
		color: #d00;
	}
	& > thead th.saturday {
		color: #00d;
	}
	.month-week {
 		position: relative;
 		padding: 0;
 		border: 0;
 		width: 100%;
 		overflow: hidden;
	}
}

*/
/*

.xo-event-calendar table.xo-month .month-week table {
 border: 0;
 margin: 0;
 padding: 0;
}
.xo-event-calendar table.xo-month .month-dayname {
 position: absolute;
 top: 0;
 left: 0;
 bottom: 0;
 right: 0;
 border-width: 1px 0 0 1px;
}
.xo-event-calendar table.xo-month .month-dayname td {
 border-width: 1px 1px 0 0;
 padding: 0;
}
*/
/*
.xo-event-calendar table.xo-month .month-dayname td div.other-month {
 opacity: 0.6;
}
*/
