@charset "UTF-8";
/*! the-new-css-reset v1.7.2(last updated 23.6.2022) | MIT License | https://github.com/elad2412/the-new-css-reset */
*:where(:not(html, iframe, canvas, img, svg, video):not(svg *, symbol *)){
  all:unset;
  display:revert;
}
a, button{
  cursor:revert;
}
ol, ul, menu{
  list-style:none;
}
table{
  border-collapse:collapse;
}
input, textarea{
  -webkit-user-select:auto;
}
::placeholder{
  color:unset;
}
:where([hidden]){
  display:none;
}
:where([contenteditable]:not([contenteditable=false])){
  -moz-user-modify:read-write;
  -webkit-user-modify:read-write;
  overflow-wrap:break-word;
  -webkit-line-break:after-white-space;
  -webkit-user-select:auto;
}
:where([draggable=true]){
  -webkit-user-drag:element;
}
html{
  font-family:"Noto Sans JP", "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
  text-size-adjust:100%;
}

body{
  min-width:375px;
  font-weight:500;
  line-height:1.4;
  color:var(--color-base);
  background:var(--color-base-white);
}
body *{
  font-feature-settings:"palt";
  letter-spacing:0.05em;
}

::selection{
  background:rgba(128, 128, 128, 0.2);
}

*, ::after, ::before{
  box-sizing:border-box;
  -webkit-appearance:revert;
  appearance:revert;
  border-style:solid;
  border-width:0;
}

html{
  line-height:1.15;
  -webkit-text-size-adjust:100%;
  -webkit-tap-highlight-color:rgba(0, 0, 0, 0);
}

h1, h2, h3, h4, h5, h6{
  line-height:1.4;
}

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

p + :is(p, div){
  margin-top:1.714em;
}

svg,
img,
embed,
object,
iframe{
  vertical-align:middle;
}

hr{
  box-sizing:content-box;
  height:0;
  overflow:visible;
  border-top-width:1px;
}

b,
strong{
  font-weight:bolder;
}

em{
  font-style:normal;
}

code,
kbd,
samp,
pre{
  font-family:ui-monospace, monospace;
  font-size:inherit;
}

pre{
  white-space:pre;
}

small{
  font-size:80%;
}

sub,
sup{
  position:relative;
  font-size:75%;
  line-height:0;
  vertical-align:baseline;
}

sub{
  bottom:-0.25em;
}

sup{
  top:-0.5em;
}

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

th,
caption,
dt{
  text-align:left;
}

textarea{
  overflow-wrap:revert;
  white-space:revert;
  resize:revert;
}

label{
  display:inline-block;
  cursor:pointer;
}

[type=button],
[type=reset],
[type=submit],
button{
  -webkit-appearance:none;
  appearance:none;
  cursor:pointer;
}

[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled,
button:disabled{
  cursor:default;
}

:focus{
  outline:revert;
}

summary,
details,
progress{
  all:revert;
}

a{
  color:var(--color-use-link);
  text-decoration:none;
  cursor:pointer;
  transition:var(--duration);
}
a:link, a:visited{
  text-decoration:none;
}
a.under{
  text-decoration:underline;
}
a.under:hover{
  color:var(--color-use-link-hover);
}

:where(a):hover{
  color:var(--color-use-link-hover);
}

::placeholder{
  color:var(--color-base-pale);
}

input[type=text],
input[type=tel],
input[type=email],
input[type=password],
input[type=number],
textarea,
select{
  box-sizing:border-box;
  width:100%;
  padding:0.3em 0.75em;
  font-family:inherit;
  font-size:1rem;
  vertical-align:baseline;
  background:var(--color-base-white);
  border-color:transparent;
  border-style:solid;
  border-width:2px;
  transition:border var(--duration);
}

select{
  width:auto;
}

input.form-any-width{
  --any-width:min(100%,18.75em);
  width:var(--any-width);
}
input.form-any-width[name=postcode]{
  width:calc(var(--any-width) - 1.2em);
  margin-inline-start:0.2em;
}

input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=number]:focus,
textarea:focus,
select:focus{
  border-color:var(--color-theme-primary);
  outline:none;
}

input[type=submit],
button[type=submit],
input[type=button]{
  position:relative;
  padding:1.2em 3em;
  margin:0 10px;
  font-size:1rem;
  font-weight:700;
  line-height:1.4;
  color:var(--color-above-dark);
  text-align:center;
  cursor:pointer;
  background-color:var(--color-theme-primary);
  border-width:0;
  transition:all var(--duration) ease-out;
}

input[type=submit]:hover,
button[type=submit]:hover{
  background-color:var(--color-use-link-hover);
}

button[type=submit][name=submitBack],
input[type=submit][name=submitBack]{
  color:#666;
  background-color:#eee;
  border-color:#bbb;
}

button[type=submit][name=submitBack]:hover,
input[type=submit][name=submitBack]:hover{
  background-color:var(--color-base-light);
}

input.imeoff{
  ime-mode:disabled;
}

.iw-s{
  width:min(100%, 8em) !important;
}

.iw-m{
  width:min(100%, 24em) !important;
}

.iw-l{
  width:min(100%, 36em) !important;
}

.breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  padding-block:1em;
  font-size:0.6875rem;
}
.breadcrumb > li:not(:last-child)::after{
  margin:0 0.25em;
  content:">";
}
.breadcrumb a{
  color:var(--color-base);
}

.page-title__container{
  padding-block:2em;
  font-size:clamp(1.5rem, 4.688vw, 2.25rem);
  font-weight:700;
  background-color:var(--color-use-bg);
}

.title-1{
  --margin:1.666em;
  margin-block-end:var(--margin);
  font-size:clamp(1.5rem, 4.688vw, 2.25rem);
  font-weight:700;
  line-height:1.388;
}
.title-1--standard{
  position:relative;
  padding-block-start:var(--margin);
}
.title-1--standard::before{
  position:absolute;
  top:0;
  left:0;
  width:140px;
  height:4px;
  content:"";
  background:var(--color-theme-primary);
}

.title-2{
  margin-block-end:1em;
  font-size:clamp(1.25rem, 3.125vw, 1.5rem);
  font-weight:700;
}
.title-3{
  margin-block-end:1.65em;
  font-size:1.125rem;
  font-weight:700;
}
.title-3--standard{
  position:relative;
  padding-inline-start:1em;
}
.title-3--standard::before{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:4px;
  height:100%;
  content:"";
  background:var(--color-theme-primary);
}

.l-content{
  line-height:var(--line-height);
}
.l-column-2{
  display:flex;
  flex-direction:column;
  gap:var(--margin-xl);
}
@media screen and (min-width: 769px){
  .l-column-2{
    flex-direction:row;
    justify-content:space-between;
  }
}
@media screen and (min-width: 769px){
  .l-column-2__main{
    flex:1;
  }
}
.l-column-2__side{
  font-size:0.875rem;
}
@media screen and (min-width: 769px){
  .l-column-2__side{
    width:200px;
  }
}

.l-site-top{
  display:none;
}
@media screen and (min-width: 769px){
  .l-site-top{
    display:block;
    overflow:hidden;
    font-size:0.625rem;
    line-height:30px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

.l-header{
  position:relative;
  z-index:1000;
  min-height:var(--header-height);
}

.l-footer{
  padding-block:var(--margin-xl) var(--margin-m);
  text-align:center;
}
@media screen and (max-width: 768px){
  .l-footer{
    padding-block-end:5.625rem;
  }
}

.l-copyright{
  display:block;
  margin-top:var(--margin-xl);
  font-size:0.6875rem;
  text-align:center;
}

#pagetop{
  display:none;
}
@media screen and (min-width: 769px){
  #pagetop{
    --size:60px;
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:100;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:var(--size);
    height:var(--size);
    font-size:0.6875rem;
    line-height:1;
    color:var(--color-above-dark);
    visibility:hidden;
    background:var(--color-use-link);
    opacity:0;
    transition:var(--duration);
  }
  #pagetop::before{
    --icon-size:17px;
    --border:4px solid var(--color-above-dark);
    width:var(--icon-size);
    height:var(--icon-size);
    content:"";
    border-top:var(--border);
    border-right:var(--border);
    transform:rotateZ(-45deg);
  }
  #pagetop:hover{
    text-decoration:none;
    background:var(--color-use-link-hover);
  }
  #pagetop.is-on{
    visibility:visible;
    opacity:1;
  }
}

.l-section{
  position:relative;
  padding:var(--section) 0;
}
* + .l-section__2nd{
  margin-top:var(--section-2nd);
}
.c-list-stack{
  border-top:1px solid var(--color-use-border);
}
.c-list-stack__item{
  border-bottom:1px solid var(--color-use-border);
}
.c-list-stack__link{
  --padding-inline:var(--margin-m);
  position:relative;
  display:flex;
  flex-wrap:wrap;
  gap:0.5em 1em;
  align-items:center;
  padding:calc(var(--margin-l) / 2) var(--padding-inline);
  color:var(--color-base);
}
.c-list-stack__link:hover{
  --color-use-link-hover:var(--color-theme-primary);
  color:var(--color-use-link-hover);
}
.c-list-stack__date{
  font-size:0.75rem;
}
.c-list-stack__cat{
  position:relative;
  width:9em;
  padding:0 2em;
  font-size:0.75rem;
  text-align:center;
  background:var(--color-use-bg);
  border-radius:3px;
}
.c-list-stack__title{
  line-height:1.4;
}
@media screen and (max-width: 768px){
  .c-list-stack__title{
    width:100%;
  }
}
@media screen and (min-width: 769px){
  .c-list-stack__title{
    flex:1;
  }
}

.c-list-card{
  --border-radius:var(--radius-s);
}
@media screen and (min-width: 641px){
  .c-list-card{
    --column-num:4;
    --column-gap:var(--margin-xs);
    --column-gap-sum:var(--column-gap) * (var(--column-num) - 1);
    --column-width:calc((var(--content-width-basic) - var(--column-gap-sum)) / var(--column-num));
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(var(--column-width), 1fr));
    gap:var(--column-gap);
    justify-content:space-between;
  }
}
.c-list-card__item{
  position:relative;
  background:var(--color-base-white);
  border-radius:var(--border-radius);
}
@media screen and (max-width: 640px){
  .c-list-card__item + .c-list-card__item{
    margin-top:10px;
  }
}
.c-list-card__link{
  border:1px solid var(--color-use-border);
  border-radius:var(--border-radius);
}
@media screen and (max-width: 640px){
  .c-list-card__link{
    display:flex;
  }
}
@media screen and (min-width: 641px){
  .c-list-card__link{
    display:block;
    height:100%;
  }
}
.c-list-card__link:hover{
  box-shadow:var(--box-shadow);
}
.c-list-card__inner{
  padding:1em;
  font-size:clamp(0.875rem, 2.083vw, 1rem);
}
@media screen and (max-width: 640px){
  .c-list-card__inner{
    flex:1;
  }
}
.c-list-card__date{
  font-size:0.75em;
}
.c-list-card__title{
  line-height:1.6;
}
@media screen and (max-width: 640px){
  .c-list-card__img{
    width:120px;
    height:120px;
    border-radius:var(--border-radius) 0 0 var(--border-radius);
  }
}
@media screen and (min-width: 641px){
  .c-list-card__img{
    border-radius:var(--border-radius) var(--border-radius) 0 0;
  }
  .c-list-card__img::before{
    display:block;
    padding-top:62%;
    content:"";
  }
}

.c-list-panel{
  --column-num:4;
  --column-gap:var(--margin-xs);
  --column-gap-sum:var(--column-gap) * (var(--column-num) - 1);
  --column-width:calc((var(--content-width-basic) - var(--column-gap-sum)) / var(--column-num));
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(var(--column-width), 1fr));
  gap:var(--column-gap);
  justify-content:space-between;
  color:var(--color-theme-primary);
}
* + .c-list-panel{
  margin-top:var(--margin-xl);
}
.c-list-panel + *{
  margin-top:var(--margin-m);
}
.c-list-panel li{
  padding-block:var(--margin-m);
  text-align:center;
  border:1px solid var(--color-use-border);
}
@media screen and (max-width: 768px){
  .c-table :is(tr, td, th){
    display:block;
  }
}
@media screen and (min-width: 769px){
  .c-table tr > *{
    min-width:15.625em;
  }
}
.c-table tr + tr{
  margin-top:var(--margin-s);
}
@media screen and (min-width: 769px){
  .c-table td, .c-table th{
    padding:0.96em 2.5em;
    vertical-align:middle;
    border:1px solid rgba(0, 0, 0, 0.132);
  }
}
@media screen and (max-width: 768px){
  .c-table td, .c-table th{
    padding:0.5em 1em;
  }
}
.c-table th{
  background:rgba(0, 0, 0, 0.04);
}

.c-column{
  display:flex;
  flex-direction:column;
  gap:clamp(30px, 4.032vw, 50px);
  justify-content:space-between;
}
* + .c-column{
  margin-top:var(--section);
}
@media screen and (min-width: 641px){
  .c-column{
    flex-direction:row;
  }
}
.c-column__box{
  --color-use-link:var(--color-base);
  flex:1 1;
}
.c-column__box:is(a):hover{
  --color-theme-primary:var(--color-use-link-hover);
}
.c-column__img{
  display:block;
  width:100%;
  margin:auto;
}
.c-column__title{
  position:relative;
  padding-block-end:1em;
  margin-block:1em;
  font-size:clamp(1.125rem, 3.125vw, 1.5rem);
  font-weight:700;
  text-align:center;
}
.c-column__title::before{
  position:absolute;
  bottom:0;
  left:50%;
  width:80px;
  height:3px;
  content:"";
  background:var(--color-theme-primary);
  transition:var(--duration);
  transform:translateX(-50%);
}
.c-media-object{
  --image-size:480;
  --image-width:calc(var(--image-size) / var(--basis-point) * 100%);
  --basis-point:1240;
  --separator-gap:var(--margin-xl);
  --float-image:left;
  --float-content:right;
  --float-gap:0 0 var(--margin-m) 0;
  display:flow-root;
  padding-block-end:var(--separator-gap);
  border-bottom:1px solid var(--color-use-border);
}
@media screen and (min-width: 641px){
  .c-media-object{
    --float-gap:0 var(--margin-m) var(--margin-xxs) 0;
  }
}
.c-media-object:nth-child(even){
  --float-image:right;
  --float-content:left;
}
@media screen and (min-width: 641px){
  .c-media-object:nth-child(even){
    --float-gap:0 0 var(--margin-xxs) var(--margin-m);
  }
}
.c-media-object + .c-media-object{
  padding-block-start:var(--separator-gap);
}
*:not(.c-media-object) + .c-media-object{
  padding-block-start:var(--section);
}
.c-media-object__image{
  width:100%;
  margin:var(--float-gap);
}
@media screen and (min-width: 641px){
  .c-media-object__image{
    float:var(--float-image);
    width:var(--image-width);
  }
}
@media screen and (min-width: 769px){
  .c-media-object__content{
    float:var(--float-content);
    width:calc(100% - var(--image-width) - var(--margin-m));
  }
}

.c-btn-wrap{
  margin-top:var(--margin-xl);
  text-align:center;
}
@media screen and (min-width: 769px){
  .c-btn-wrap--pc{
    text-align:left;
  }
}

.c-btn-list{
  --gap-row:var(--margin-s);
  --gap-column:var(--margin-l);
  display:flex;
  flex-wrap:wrap;
  gap:var(--gap-row) var(--gap-column);
  justify-content:center;
}
* + .c-btn-list{
  margin-top:var(--section);
}
@media screen and (min-width: 769px){
  .c-btn-list--pc{
    justify-content:flex-start;
  }
}
.c-btn-list > *{
  flex:0 1 100%;
}
@media screen and (min-width: 641px){
  .c-btn-list > *{
    flex:0 1 auto;
  }
}

.c-btn{
  --padding-block:1.2em;
  --padding-inline:1em;
  display:inline-block;
  padding:var(--padding-block) var(--padding-inline);
  font-size:clamp(0.875rem, 2.083vw, 1rem);
  font-weight:700;
  line-height:1.4;
  text-align:center;
}
@media screen and (min-width: 769px){
  .c-btn{
    width:100%;
    max-width:var(--max-width, 300px);
  }
}
.c-btn--fill{
  color:var(--color-above-dark);
  background:var(--color-use-link);
}
.c-btn--fill:hover{
  background:var(--color-use-link-hover);
}
.c-btn--outline{
  border:1px solid;
}
.c-btn--outline:hover{
  color:var(--color-use-link-hover);
}
.c-btn--round{
  border-radius:var(--radius-s);
}
.c-btn--oval{
  border-radius:var(--radius-oval);
}
.c-btn--s{
  --padding-block:1em;
  --padding-inline:.75em;
  font-size:0.875rem;
}
@media screen and (min-width: 769px){
  .c-btn--s{
    max-width:var(--max-width, 200px);
  }
}
.c-btn--l{
  --padding-block:1.5em;
  font-size:clamp(1rem, 2.344vw, 1.125rem);
  font-weight:700;
}
@media screen and (min-width: 769px){
  .c-btn--l{
    max-width:var(--max-width, 350px);
  }
}
.c-btn--icon-exist{
  display:flex;
  gap:0.5em;
  align-items:center;
  justify-content:center;
}
.c-btn--color-secondary{
  --color-use-link:var(--color-theme-secondary);
}
.c-btn--color-secondary:hover{
  opacity:0.8;
}
.c-btn:not(.c-btn--fill, .c-btn--outline):hover{
  color:var(--color-use-link-hover);
}

.c-anker-point-nav{
  --gap-row:var(--margin-s);
  --gap-column:var(--margin-m);
  display:flex;
  flex-wrap:wrap;
  gap:var(--gap-row) var(--gap-column);
  justify-content:center;
}
* + .c-anker-point-nav{
  margin-top:var(--section-2nd);
}
@media screen and (min-width: 769px){
  .c-anker-point-nav{
    justify-content:flex-start;
  }
}
.c-anker-point-nav > *{
  flex:0 1 calc(50% - var(--gap-column));
}
@media screen and (min-width: 641px){
  .c-anker-point-nav > *{
    flex:0 1 auto;
  }
}
.c-anker-point-nav > a{
  --padding-block:.95em;
  --mask-width:.8125em;
  --mask-height:.5em;
  --mask-icon:url(../../svg/icon_arrowhead.svg) center / var(--mask-width) var(--mask-height) no-repeat;
  display:flex;
  gap:1.25em;
  align-items:center;
  padding-block:var(--padding-block);
  font-size:clamp(0.875rem, 2.083vw, 1rem);
  font-weight:700;
  line-height:1.4;
  color:var(--color-base);
  border-bottom:2px solid var(--color-use-border);
}
.c-anker-point-nav > a:hover{
  color:var(--color-theme-primary);
}
.c-anker-point-nav > a::after{
  width:var(--mask-width);
  height:var(--mask-height);
  content:"";
  background:var(--color-theme-primary);
  -webkit-mask:var(--mask-icon);
  mask:var(--mask-icon);
  transition:inherit;
}
.c-anker-point-nav > a:hover::after{
  transform:translateY(calc(var(--mask-height) / 2));
}

.c-svg-area{
  position:absolute;
  left:-9999px;
  height:0;
  overflow:hidden;
  visibility:hidden;
}

.c-icon{
  --icon-size:1em;
  width:var(--icon-size);
  height:var(--icon-size);
}
.c-icon--btn{
  fill:currentColor;
}
.c-icon--white{
  fill:var(--color-above-dark);
}
.c-icon--primary{
  fill:var(--color-theme-primary);
}
.c-icon--secondary{
  fill:var(--color-theme-secondary);
}
.c-icon--s{
  --icon-size:.75em;
}

.c-trim{
  position:relative;
  overflow:hidden;
}
.c-trim > img{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  transition:transform 0.6s ease-in-out;
  object-fit:cover;
}
a:hover .c-trim > img{
  transform:scale(1.1);
}

.c-image-100{
  width:100%;
}

@media screen and (min-width: 641px){
  .c-limit-image{
    width:32.5%;
    max-width:320px;
  }
}

.c-after-arrow{
  --mask-width:1.25em;
  --mask-height:.5em;
  --mask-icon:url(../../svg/icon_arrow.svg) center / var(--mask-width) var(--mask-height) no-repeat;
  --position-y:51;
  --position-x:calc(var(--mask-width));
  position:relative;
  padding-inline-end:calc(var(--padding-inline) + var(--mask-width) * 1.5);
}
.c-after-arrow::after{
  position:absolute;
  top:calc(var(--position-y) * 1%);
  right:var(--position-x);
  width:var(--mask-width);
  height:var(--mask-height);
  content:"";
  background:currentColor;
  -webkit-mask:var(--mask-icon);
  mask:var(--mask-icon);
  transition:inherit;
  transform:translateY(calc(var(--position-y) * -1%));
}
.c-after-arrow:hover::after{
  --position-x:calc(var(--mask-width) - var(--mask-height));
}

.p-header{
  position:relative;
  z-index:10;
  width:100%;
}
.p-header__container{
  max-width:calc(var(--content-width-basic) + var(--margin-m) * 2);
  min-height:var(--header-height);
  margin:auto;
}
@media screen and (max-width: 768px){
  .p-header__container{
    display:flex;
    align-items:center;
    height:var(--header-height);
    padding-right:var(--header-height);
    box-shadow:var(--box-shadow);
  }
}
@media screen and (min-width: 769px){
  .p-header__container{
    display:flex;
    gap:var(--margin-xs);
    align-items:center;
    justify-content:flex-end;
    padding:var(--margin-xs) var(--margin-m);
    transition:height var(--duration);
  }
}
@media screen and (max-width: 768px){
  .p-header-logo{
    max-width:calc(100% - var(--header-height));
    padding:0 2vw;
  }
  .p-header-logo__img{
    width:auto;
    max-height:50px;
  }
}
@media screen and (min-width: 769px){
  .p-header-logo{
    display:block;
    margin:0 auto 0 0;
  }
}
.p-header-contact{
  --max-width:min(19.531vw, 200px);
  display:grid;
  font-size:clamp(1.25rem, 2.734vw, 1.75rem);
  text-align:center;
  background:var(--color-base-white);
}
@media screen and (max-width: 768px){
  .p-header-contact{
    position:fixed;
    bottom:0;
    left:0;
    z-index:10;
    grid-template-columns:1fr 1fr;
    width:100%;
    min-height:var(--header-height);
    box-shadow:0 0 5px rgba(0, 0, 0, 0.1);
  }
}
@media screen and (min-width: 769px){
  .p-header-contact{
    grid-template-columns:1fr var(--max-width);
    gap:var(--margin-xs);
  }
}
.p-header-contact__tel{
  color:var(--color-base);
  text-align:center;
}
@media screen and (max-width: 768px){
  .p-header-contact__tel{
    padding:1em 0;
    background:var(--color-base-white);
  }
}
.p-header-contact__tel-num{
  display:flex;
  gap:0.3em;
  align-items:baseline;
  justify-content:center;
  font-weight:700;
  line-height:1;
  letter-spacing:0.025em;
}
.p-header-contact__tel-sub{
  font-size:0.6875rem;
}
@media screen and (max-width: 768px){
  .p-header-contact__btn{
    border-radius:0;
  }
}

#gnav-check{
  display:none;
}
.p-gnav{
  margin-bottom:var(--margin-s);
}
@media screen and (max-width: 768px){
  .p-gnav{
    position:fixed;
    top:0;
    right:0;
    z-index:1;
    width:100%;
    max-width:480px;
    height:calc(100vh - var(--header-height));
    padding:var(--header-height) var(--margin-m);
    overflow-y:scroll;
    background:var(--color-base-white);
    transform:translateX(100%);
    scrollbar-width:none;
  }
  .p-gnav.is-sp{
    transition:0.5s cubic-bezier(0.65, 0.05, 0.36, 1);
    transition-property:transform;
  }
  .p-gnav::-webkit-scrollbar{
    display:none;
  }
  #gnav-check:checked ~ .p-header .p-gnav{
    transform:translateX(0);
  }
}
@media screen and (min-width: 769px){
  .p-gnav{
    --gnav-font-size:clamp(0.75rem, 1.29vw, 1rem);
    --gnav-height:calc(var(--gnav-font-size) * 3.75);
    min-height:var(--gnav-height);
  }
}
.p-gnav__inner{
  width:100%;
  background:var(--color-base-white);
}
@media screen and (min-width: 769px){
  .is-passing .p-gnav__inner{
    position:fixed;
    top:0;
    left:0;
    z-index:10;
    box-shadow:var(--box-shadow);
  }
}
@media screen and (max-width: 768px){
  .p-gnav-icon{
    position:fixed;
    top:0;
    right:0;
    z-index:100;
    display:flex;
    align-items:center;
    justify-content:center;
    width:var(--header-height);
    height:var(--header-height);
    overflow:hidden;
    cursor:pointer;
    background:rgba(255, 255, 255, 0.4);
    border:none;
    outline:none;
  }
  #gnav-check:checked ~ .p-header .p-gnav-icon{
    z-index:200;
  }
  .p-gnav-icon__wrap{
    width:30px;
    margin:auto;
  }
  .p-gnav-icon__inner--top, .p-gnav-icon__inner--middle, .p-gnav-icon__inner--bottom{
    position:absolute;
    display:block;
    width:30px;
    height:2px;
    background:var(--color-base);
    transform-origin:center;
  }
  .p-gnav-icon__inner--top{
    transition:all 0.4s ease;
    transform:translateY(-10px);
  }
  .p-gnav-icon__inner--middle{
    transition:all 0.4s linear;
  }
  .p-gnav-icon__inner--bottom{
    transition:all 0.4s ease;
    transform:translateY(10px);
  }
  #gnav-check:checked ~ .p-header .p-gnav-icon__inner--top{
    transform:rotate(45deg) translateY(0);
  }
  #gnav-check:checked ~ .p-header .p-gnav-icon__inner--middle{
    opacity:0;
  }
  #gnav-check:checked ~ .p-header .p-gnav-icon__inner--bottom{
    transform:rotate(-45deg) translateY(0);
  }
}
@media screen and (min-width: 769px){
  .p-gnav-icon{
    display:none;
  }
}

.p-mainnav{
  max-width:calc(var(--content-width-basic));
  margin:auto;
}
@media screen and (max-width: 768px){
  .p-mainnav__item{
    border-bottom:1px solid var(--color-use-border);
  }
  .p-mainnav__link{
    display:block;
    padding:1em 0;
  }
}
@media screen and (min-width: 769px){
  .p-mainnav{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
  }
  .p-mainnav--mb{
    display:none;
  }
  .p-mainnav__item{
    flex:1 1 auto;
    border-right:1px solid var(--color-use-border);
  }
  .p-mainnav__item:first-child{
    border-left:1px solid var(--color-use-border);
  }
  .p-mainnav__item:hover .p-mainnav__link{
    --color-use-link-hover:var(--color-theme-primary);
    color:var(--color-above-dark);
    background-color:var(--color-use-link-hover);
  }
  .p-mainnav__link{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:var(--gnav-height);
    padding:1em min(1.2vw, 1em);
    font-size:var(--gnav-font-size);
    font-weight:700;
    text-align:center;
    transition:color var(--duration), background-color var(--duration);
  }
  .p-mainnav__link.current{
    --color-use-link-hover:var(--color-theme-primary);
    color:var(--color-above-dark);
    background-color:var(--color-use-link-hover);
  }
}

#overlay{
  position:fixed;
  top:0;
  right:0;
  z-index:-1;
  width:100%;
  height:100%;
  pointer-events:none;
  cursor:default;
  backdrop-filter:blur(1px);
  opacity:0;
  transition:all var(--duration);
}
#gnav-check:checked ~ #overlay{
  z-index:5;
  pointer-events:visible;
  background:var(--color-theme-primary);
  opacity:0.8;
}

.p-footer-navi{
  --gap-inline:2em;
  display:flex;
  flex-wrap:wrap;
  gap:1em var(--gap-inline);
  justify-content:center;
  font-size:0.875rem;
}
.p-footer-navi > li{
  position:relative;
}
.p-footer-navi > li + li::before{
  position:absolute;
  top:50%;
  left:calc(var(--gap-inline) * -1 / 2);
  width:1px;
  height:100%;
  content:"";
  background:var(--color-base);
  transform:translateY(-50%);
}
.p-footer-navi > li > a{
  display:block;
  color:var(--color-base);
}
.p-footer-navi > li > a:hover{
  --color-use-link-hover:var(--color-theme-primary);
  color:var(--color-use-link-hover);
}

.p-side-box{
  margin-bottom:var(--margin-s);
}
.p-side-box__title{
  padding-bottom:0.6em;
  margin-bottom:0.6em;
  font-size:1rem;
  font-weight:700;
  line-height:1.4;
  border-bottom:1px solid var(--color-use-border);
}

.p-schedule{
  padding:var(--margin-xxs) var(--margin-xs);
  margin:auto;
  font-size:clamp(0.8125rem, 2.083vw, 1rem);
  background:var(--color-base-white);
}
.p-schedule__table{
  line-height:1.5;
}
.p-schedule__table th, .p-schedule__table td{
  padding:0.5em 0.5em;
  text-align:center;
  letter-spacing:0;
  vertical-align:middle;
}
.p-schedule__body td{
  border-top:1px solid var(--color-use-border);
}
.p-schedule-note{
  margin-top:1em;
  font-size:0.875em;
  line-height:1.5;
}

.p-contact-area{
  padding-block-start:6.25rem;
  background:var(--color-use-bg);
}

.p-contact-area-access{
  display:flex;
  flex-direction:column;
  gap:var(--margin-m);
  justify-content:space-between;
}
@media screen and (min-width: 1025px){
  .p-contact-area-access{
    flex-direction:row;
  }
}
.p-contact-area-access__map{
  display:block;
  flex:1;
  width:100%;
  min-height:25em;
  padding:1px;
  background:var(--color-base-white);
}
.p-contact-area-access__map + .p-contact-area-access__info{
  width:min(100%, 376px);
  text-align:left;
}
@media screen and (max-width: 1024px){
  .p-contact-area-access__map + .p-contact-area-access__info{
    width:unset;
    text-align:center;
  }
}
.p-contact-area-access__info{
  width:100%;
  text-align:center;
}
.p-contact-area-access__address{
  margin:var(--margin-s) 0;
}
.p-contact-area-access__desc{
  margin:var(--margin-xl) 0;
}
.p-contact-area-access__btn{
  margin-bottom:var(--margin-s);
}

.p-contact-area-info{
  max-width:900px;
  margin:var(--margin-m) auto 0;
  background:var(--color-base-white);
}
.p-contact-area-info__title{
  width:100%;
  padding:0.875em;
  text-align:center;
  border-bottom:1px solid var(--color-use-border);
}
.p-contact-area-info__inner{
  display:flex;
  flex-wrap:wrap;
  gap:var(--margin-xs) var(--margin-m);
  align-items:center;
  justify-content:center;
  padding:var(--margin-s) var(--margin-m);
  text-align:center;
}
.p-contact-area-info__tel{
  display:flex;
  gap:0.3em;
  align-items:baseline;
  justify-content:center;
  font-size:clamp(1.875rem, 4.688vw, 2.25rem);
  font-weight:700;
  line-height:1;
  color:var(--color-base);
  letter-spacing:0.025em;
}
.p-contact-area-info-box{
  display:flex;
  flex-wrap:wrap;
  gap:var(--margin-xxs);
  justify-content:center;
  width:100%;
  max-width:350px;
}
@media screen and (min-width: 769px){
  .p-contact-area-info-box__btn{
    --padding-inline:.8em;
    flex:1 1 calc(50% - var(--margin-xxs));
  }
}
.p-top-image{
  position:relative;
  margin-bottom:var(--section);
  text-align:center;
}

.p-home-schedule{
  padding-block:var(--margin-m);
  text-align:center;
}
.p-home-schedule__title{
  display:flex;
  gap:0.5em;
  align-items:center;
  justify-content:center;
  margin-bottom:1.2em;
  font-size:1.125rem;
  font-weight:700;
  color:var(--color-theme-primary);
}

.p-form-tel{
  display:inline-flex;
  flex-wrap:wrap;
  gap:0.5em 1.388em;
  align-items:baseline;
  justify-content:center;
  padding-block:min(5.208vw, 40px);
  padding-inline:min(11.068vw, 85px);
  margin-block-end:min(20.833vw, 160px);
  font-size:clamp(1.875rem, 4.688vw, 2.25rem);
  color:var(--color-base);
  border:1px solid var(--color-use-border);
}
.p-form-tel__num{
  display:flex;
  gap:0.3em;
  align-items:center;
  justify-content:center;
  font-weight:700;
  line-height:1;
  letter-spacing:0.025em;
}
.p-form-tel__time{
  font-size:1rem;
}

.p-form-area{
  padding:var(--margin-xl);
  background:var(--color-base-bright);
}
* + .p-form-area{
  margin-top:min(10.417vw, 80px);
}
.p-form-flow{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  max-width:560px;
  margin:0 auto var(--margin-m);
}
.p-form-flow::before{
  position:absolute;
  inset:0;
  z-index:-1;
  width:100%;
  height:1px;
  margin:auto;
  content:"";
  background:var(--color-use-border);
}
.p-form-flow > li{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30%;
  height:40px;
  text-align:center;
  background:var(--color-base-white);
  border:1px solid var(--color-use-border);
}
.p-form-flow > li.active{
  --color-use-border:var(--color-theme-primary);
  background-color:var(--color-use-bg);
}
.p-agree{
  padding-block:var(--margin-m);
  padding-inline:1.5em;
  margin-block:var(--margin-xs);
  margin-inline:auto;
  border-block:1px solid var(--color-use-border);
}
@media screen and (min-width: 641px){
  .p-agree{
    text-align:center;
  }
}
.p-agree > *{
  max-width:670px;
  margin-inline:auto;
}
.p-agree-title{
  margin-bottom:1.25em;
  font-weight:700;
  line-height:1.5;
}
.p-agree-check{
  margin-top:1em;
  text-align:center;
}
.p-agree-check .mwform-checkbox-field label{
  padding:0.4em 1em;
  border-radius:3px;
}
.mw_wp_form_preview .p-agree{
  display:none;
}
.p-form-table__wrap{
  padding-block:var(--margin-xs);
}
@media screen and (min-width: 641px){
  .p-form-table__wrap{
    display:flex;
    align-items:center;
  }
}
.p-form-table__head{
  position:relative;
}
@media screen and (max-width: 640px){
  .p-form-table__head{
    position:relative;
    padding:0.3em 0.75em;
    margin-bottom:0.8em;
  }
}
@media screen and (min-width: 641px){
  .p-form-table__head{
    width:14em;
    padding-right:50px;
  }
}
.p-form-table__head.req::after{
  position:absolute;
  top:50%;
  right:10px;
  padding-block:0 0.1111em;
  padding-inline:0.8181em;
  font-size:0.6875rem;
  color:var(--color-above-dark);
  letter-spacing:0;
  content:"必須";
  background:var(--color-accent-error);
  transform:translateY(-50%);
}
@media screen and (min-width: 641px){
  .p-form-table__data{
    flex:1;
  }
}
.page-confirm .p-form-table__data{
  padding:0.3em 0.75em;
  background:var(--color-base-white);
}
.p-form-table__data > * + *{
  margin-top:var(--margin-xs);
}
.p-rei{
  margin-bottom:5px;
  font-size:0.8125rem;
  color:#999;
}
.mw_wp_form_preview .p-rei{
  display:none;
}

.mw_wp_form .error{
  width:100%;
  padding:0 0.5em;
  margin-top:5px;
  color:var(--color-above-dark) !important;
  background-color:var(--color-accent-error);
  border:1px solid;
  border-radius:3px;
}

.p-faq{
  --faq-title-size:clamp(1.125rem, 3.125vw, 1.5rem);
  --faq-margin:var(--margin-l);
}
.p-faq__box{
  padding-block:var(--faq-margin);
  border-bottom:1px solid var(--color-use-border);
}
.p-faq__content{
  position:relative;
  padding-left:calc(var(--faq-title-size) * 1.5);
}
.p-faq__content::before{
  position:absolute;
  inset-block-start:0;
  inset-inline-start:0;
  display:inline-block;
  font-size:var(--faq-title-size);
  font-weight:700;
}
.p-faq__content--q{
  margin-block-end:0;
  font-size:var(--faq-title-size);
  font-weight:700;
  cursor:pointer;
  transition:var(--duration);
}
.p-faq__content--q::before{
  color:var(--color-theme-primary);
  content:"Q";
}
.p-faq__content--q::after{
  position:absolute;
  inset-block-start:calc(var(--faq-margin) * -1);
  inset-inline-start:0;
  width:100%;
  height:calc(100% + var(--faq-margin) * 2);
  content:"";
}
.p-faq__content--q.is-active{
  margin-block-end:calc(var(--faq-margin) / 2);
}
.p-faq__content--a::before{
  line-height:1;
  content:"A";
}
.p-post-single__title{
  padding-bottom:0.8em;
  font-size:clamp(1.5rem, 3.906vw, 1.875rem);
  font-weight:700;
  border-bottom:1px solid;
}
.p-post-single__info{
  display:flex;
  flex-wrap:wrap;
  padding:0.8em 0;
  margin-bottom:var(--margin-m);
  font-size:0.75rem;
  border-bottom:1px solid var(--color-use-border);
}
.p-post-single__info > *{
  margin-right:1em;
}
.p-post-content{
  --post-content-mg:1.714em;
  position:relative;
  font-size:1rem;
  word-wrap:break-word;
}
.p-post-content :where(a){
  text-decoration:underline;
}
.p-post-content :where(a):not(.no-icon, .wp-block-file__button)[href$=".pdf"]::before{
  padding:0.2em 0.5em;
  margin-inline-end:0.75em;
  font-size:0.5em;
  color:var(--color-above-dark);
  letter-spacing:0;
  vertical-align:middle;
  content:"PDF";
  background:var(--color-use-link);
  border-radius:var(--radius-s);
}

.p-share{
  display:flex;
  flex-wrap:wrap;
  gap:3px;
  padding:var(--margin-xs);
  margin-top:var(--margin-xl);
  font-size:0.75rem;
  background:var(--color-use-bg);
  border-radius:var(--radius-s);
}
.p-share__list--like{
  width:100%;
}
@media screen and (min-width: 641px){
  .p-share__list--like{
    width:auto;
    transform:translateY(5px);
  }
}
.p-share__link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:60px;
  height:30px;
  color:var(--color-above-dark);
  background-repeat:no-repeat;
  background-position:10px center;
  background-size:14px;
  border-radius:3px;
}
.p-share__link:hover{
  color:var(--color-above-dark);
}
.p-share__link--fb{
  background-color:#315096;
}
.p-share__link--tw{
  background-color:#55acee;
}
.p-share__link--line{
  background-color:#00c300;
}
.p-share__icon{
  width:1.6em;
  height:1.6em;
  fill:var(--color-base-white);
}

@media screen and (min-width: 641px){
  .p-prev-next-btn.next, .p-prev-next-btn.prev{
    width:calc(50% - var(--margin-xs));
  }
}
.p-prev-next{
  display:flex;
  flex-direction:column;
  flex-wrap:wrap;
  gap:var(--margin-xs);
  justify-content:space-between;
  padding-top:var(--section-2nd);
  margin-top:var(--section-2nd);
  font-size:0.875rem;
  line-height:1.3;
  border-top:1px solid var(--color-use-border);
}
@media screen and (min-width: 641px){
  .p-prev-next{
    flex-direction:row;
  }
}
.p-prev-next-btn{
  position:relative;
  display:flex;
  gap:0.5em;
  align-items:center;
  padding:1.4em;
  border:1px solid var(--color-use-border);
  transition:color var(--duration), border var(--duration);
}
.p-prev-next-btn.next{
  justify-content:flex-end;
  text-align:right;
}
.p-prev-next-btn.non{
  opacity:0.4;
}
.p-prev-next-btn.back{
  justify-content:center;
  min-width:30%;
  margin:auto;
  font-size:0.75rem;
  text-align:center;
}
.p-prev-next-btn:hover{
  border-color:currentColor;
}
.p-prev-next-btn__arrow{
  width:0.5em;
  height:0.5em;
  fill:currentColor;
}
.prev .p-prev-next-btn__arrow{
  transform:scale(-1, 1);
}

.pagination{
  position:relative;
  display:flex;
  gap:3px;
  justify-content:center;
  padding:2.4em 0 0.8em;
  font-size:clamp(0.6875rem, 1.823vw, 0.875rem);
  text-align:center;
}
.pagination span, .pagination a{
  display:inline-block;
  width:2.4em;
  padding:0.4em 0;
  font-weight:700;
  color:var(--color-base);
  text-decoration:none;
  background-color:var(--color-base-white);
  border:1px solid var(--color-use-border);
}
.pagination a:hover{
  text-decoration:underline;
  border-color:currentColor;
}
.pagination .current{
  font-weight:700;
  color:var(--color-above-dark);
  background-color:var(--color-base);
}
.pagination__count{
  font-size:0.6875rem;
  text-align:center;
}
.pagination__countnum{
  margin:0 2px;
  font-weight:700;
}

.u-width{
  padding-inline:var(--margin-m);
  margin-inline:auto;
}
.u-width--b{
  max-width:calc(var(--content-width-basic) + var(--margin-m) * 2);
}
.u-width--l{
  max-width:calc(var(--content-width-large) + var(--margin-m) * 2);
}

.u-catch{
  font-size:clamp(1.125rem, 2.344vw, 1.5rem);
  font-weight:700;
  line-height:2;
}
.u-catch--b{
  font-size:clamp(1.25rem, 2.419vw, 1.875rem);
}

.u-p-c{
  max-width:52.5em;
  margin-right:auto;
  margin-left:auto;
}

.u-txt-c{
  text-align:center;
}
@media screen and (min-width: 769px){
  .u-txt-c-up{
    text-align:center;
  }
}

.u-txt-l{
  text-align:left;
}

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

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

.u-bold{
  font-weight:700;
}

.u-fs-s{
  font-size:0.8em;
}

.u-fs-10{
  font-size:0.625rem;
}

.u-fs-11{
  font-size:0.6875rem;
}

.u-fs-12{
  font-size:0.75rem;
}

.u-fs-13{
  font-size:0.8125rem;
}

.u-fs-14{
  font-size:0.875rem;
}

.u-decimal, .u-circle, .u-disc{
  padding-left:1.5em;
}

.u-disc > li{
  list-style-type:disc;
}
.u-disc > li::marker{
  color:var(--color-theme-primary);
}

.u-circle > li{
  list-style-type:circle;
}
.u-circle > li::marker{
  color:var(--color-theme-primary);
}

.u-decimal > li{
  list-style-type:decimal;
}

.u-kome > li{
  --icon-size:1em;
  --icon-gap:calc(var(--icon-size) * 1.5);
  position:relative;
  margin-left:var(--icon-gap);
}
.u-kome > li::before{
  position:absolute;
  left:calc(var(--icon-gap) * -1);
  content:"※";
}

.u-check > li{
  --icon-size:1em;
  --icon-gap:calc(var(--icon-size) * 1.5);
  position:relative;
  margin-left:var(--icon-gap);
}
.u-check > li::before{
  position:absolute;
  top:calc(var(--icon-size) * 0.3);
  left:calc(var(--icon-gap) * -1);
  width:var(--icon-size);
  height:var(--icon-size);
  content:"";
  background:url(../../svg/icon_check.svg) no-repeat 0 0/contain;
}

.u-list-mg > li + li{
  margin-top:0.5em;
}

.u-coming{
  padding:3em 0;
  text-align:center;
  background:var(--color-use-bg);
}

.u-marker{
  background:linear-gradient(transparent 90%, var(--color-accent-attention) 0%);
}

.u-br-up{
  display:none;
}
@media screen and (min-width: 769px){
  .u-br-up{
    display:inline;
  }
}
.u-br-dn{
  display:none;
}
@media screen and (max-width: 768px){
  .u-br-dn{
    display:inline;
  }
}

.u-float{
  display:block;
  margin:0 auto 1em;
}
@media screen and (min-width: 641px){
  .u-float--left{
    float:left;
    margin-right:2em;
  }
  .u-float--right{
    float:right;
    margin-left:2em;
  }
}

.u-flow-root{
  display:flow-root;
}

.u-primary{
  color:var(--color-theme-primary);
}

.u-secondary{
  color:var(--color-theme-secondary);
}

.u-red{
  color:var(--color-accent-error);
}

.u-yellow{
  color:var(--color-accent-attention);
}

.u-bg{
  background:var(--color-use-bg);
}

.u-mt-s{
  margin-top:var(--margin-s);
}

.u-mt-m{
  margin-top:var(--margin-m);
}

.u-mt-l{
  margin-top:var(--margin-l);
}

.u-mt-xl{
  margin-top:var(--margin-xl);
}

.u-mb-s{
  margin-bottom:var(--margin-s);
}

.u-mb-m{
  margin-bottom:var(--margin-m);
}

.u-mb-l{
  margin-bottom:var(--margin-l);
}

.u-mb-xl{
  margin-bottom:var(--margin-xl);
}

.is-toggle + *{
  overflow:hidden;
  transition:var(--duration);
}

/*!
 * Luminous v2.3.5
 * Copyright 2015-2021, Zebrafish Labs
 * Licensed under BSD-2 (https://github.com/imgix/luminous/blob/main/LICENSE.md)
 */
@keyframes a{
  0%{
    opacity:0;
  }
  to{
    opacity:1;
  }
}
@keyframes b{
  0%{
    opacity:0;
    transform:scale(0.5);
  }
  to{
    opacity:1;
    transform:scale(1);
  }
}
@keyframes c{
  0%{
    transform:translate(-50%, -50%) rotate(0);
  }
  50%{
    transform:translate(-50%, -50%) rotate(-180deg);
  }
  to{
    transform:translate(-50%, -50%) rotate(-1turn);
  }
}
@keyframes d{
  0%{
    transform:scale(1);
  }
  10%{
    transform:scale(1.2) translateX(6px);
  }
  25%{
    transform:scale(1.3) translateX(8px);
  }
  40%{
    transform:scale(1.2) translateX(6px);
  }
  50%{
    transform:scale(1);
  }
  60%{
    transform:scale(0.8) translateX(6px);
  }
  75%{
    transform:scale(0.7) translateX(8px);
  }
  90%{
    transform:scale(0.8) translateX(6px);
  }
  to{
    transform:scale(1);
  }
}
@keyframes e{
  0%{
    transform:scale(1);
  }
  10%{
    transform:scale(1.2) translateX(-6px);
  }
  25%{
    transform:scale(1.3) translateX(-8px);
  }
  40%{
    transform:scale(1.2) translateX(-6px);
  }
  50%{
    transform:scale(1);
  }
  60%{
    transform:scale(0.8) translateX(-6px);
  }
  75%{
    transform:scale(0.7) translateX(-8px);
  }
  90%{
    transform:scale(0.8) translateX(-6px);
  }
  to{
    transform:scale(1);
  }
}
.lum-lightbox{
  z-index:10000;
  background:rgba(0, 0, 0, 0.6);
}

.lum-lightbox-inner{
  top:2.5%;
  right:2.5%;
  bottom:2.5%;
  left:2.5%;
}

.lum-lightbox-inner img{
  position:relative;
}

.lum-lightbox-inner .lum-lightbox-caption{
  max-width:700px;
  margin:0 auto;
  color:#fff;
  text-align:center;
}

.lum-loading .lum-lightbox-loader{
  position:absolute;
  top:50%;
  left:50%;
  display:block;
  width:66px;
  height:20px;
  transform:translate(-50%, -50%);
  animation:c 1.8s linear infinite;
}

.lum-lightbox-loader::after, .lum-lightbox-loader::before{
  position:absolute;
  top:50%;
  display:block;
  width:20px;
  height:20px;
  margin-top:-10px;
  content:"";
  background:hsla(0, 0%, 100%, 0.9);
  border-radius:20px;
}

.lum-lightbox-loader::before{
  left:0;
  animation:d 1.8s linear infinite;
}

.lum-lightbox-loader::after{
  right:0;
  animation:e 1.8s linear infinite;
  animation-delay:-0.9s;
}

.lum-lightbox.lum-opening{
  animation:a 0.18s ease-out;
}

.lum-lightbox.lum-opening .lum-lightbox-inner{
  animation:b 0.18s ease-out;
}

.lum-lightbox.lum-closing{
  animation:a 0.3s ease-in;
  animation-direction:reverse;
}

.lum-lightbox.lum-closing .lum-lightbox-inner{
  animation:b 0.3s ease-in;
  animation-direction:reverse;
}

.lum-img{
  transition:opacity 0.12s ease-out;
}

.lum-loading .lum-img{
  opacity:0;
}

.lum-gallery-button{
  position:absolute;
  top:50%;
  width:60px;
  height:100px;
  max-height:100%;
  padding:0;
  margin:0;
  overflow:hidden;
  text-indent:150%;
  white-space:nowrap;
  cursor:pointer;
  background:transparent;
  border:0;
  outline:0;
  transform:translateY(-50%);
}

.lum-close-button{
  position:absolute;
  top:5px;
  right:5px;
  width:32px;
  height:32px;
  opacity:0.3;
}

.lum-close-button:hover{
  opacity:1;
}

.lum-close-button::after, .lum-close-button::before{
  position:absolute;
  left:15px;
  width:2px;
  height:33px;
  content:" ";
  background-color:#fff;
}

.lum-close-button::before{
  transform:rotate(45deg);
}

.lum-close-button::after{
  transform:rotate(-45deg);
}

.lum-previous-button{
  left:12px;
}

.lum-next-button{
  right:12px;
}

.lum-gallery-button::after{
  position:absolute;
  top:50%;
  display:block;
  width:36px;
  height:36px;
  content:"";
  border-top:4px solid hsla(0, 0%, 100%, 0.8);
}

.lum-previous-button::after{
  left:12%;
  border-left:4px solid hsla(0, 0%, 100%, 0.8);
  border-radius:3px 0 0 0;
  box-shadow:-2px 0 rgba(0, 0, 0, 0.2);
  transform:translateY(-50%) rotate(-45deg);
}

.lum-next-button::after{
  right:12%;
  border-right:4px solid hsla(0, 0%, 100%, 0.8);
  border-radius:0 3px 0 0;
  box-shadow:2px 0 rgba(0, 0, 0, 0.2);
  transform:translateY(-50%) rotate(45deg);
}

@media (max-width: 460px){
  .lum-lightbox-image-wrapper{
    -webkit-overflow-scrolling:touch;
    display:flex;
    overflow:auto;
  }
  .lum-lightbox-caption{
    position:absolute;
    bottom:0;
    width:100%;
  }
  .lum-lightbox-position-helper{
    margin:auto;
  }
}