@charset "UTF-8";


:root{
	--lightred: #fde6e6;
	--red: #f05a5a;
	--lightyellow: #fef3d9;
	--yellow: #f9ac00;
	--lightgreen: #f2f8ee;
	--green: #7ebe53;
	--lightorange: #fdede1;
	--lightnessorange: #f9f5f0;
	--orange: #f08737;
	--lightblue: #e7ecf4;
	--blue: #0370b9;
	--lightnavy: #dce2ef;
	--navy: #144196;
  --gray: #797a7a;
  --lightgray: #a2a1a0;
	--black: #454341;
	--white: #ffffff;
	--sans: "Noto Sans JP", sans-serif;
}

h1,h2,h3,h4,h5{
}

.image {
  overflow: hidden;
}
.image img{
  width:100%;
  max-width: 100%;
  height: auto;
}
.photo {
  overflow: hidden;
}
.photo img{
  width:100%;
  max-width: 100%;
  height: auto;
}

.gmap {
  overflow: hidden;
  aspect-ratio: 1000 / 450;
  position: relative;
}

.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

.gmap + p {
  text-indent: 0;
  margin-left: 40px;
  margin-top: 25px;
  margin-bottom: 45px;
}

@media only screen and (max-width: 1000px) {
  .gmap {
    overflow: hidden;
  aspect-ratio: 550 / 390;
    position: relative;
  }
  .gmap + p {
    margin-left: 0;
  }
}



.youtube {
	overflow: hidden;
	position: relative;
}
.youtube iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
@media only screen and (max-width:640px){
	.youtube + p{
		margin-left:0;
	}
	.youtube {
		overflow: hidden;
		position: relative;
	}
}



main .button{
}
main .button a{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: auto;
  width:265px;
  min-height: 60px;
  background-color: var(--orange);
  border-radius: 9999px;;
  color: var(--white);
  font-size: 1em;
  line-height: 1.5;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  padding: 0 30px;
  border: 2px solid var(--orange);
  transition: 0.3s ease background-color,
  0.3s ease color;
}
main .button a::before{
  content:"";
  display: block;
  width: 6px;
  height: 11px;
  background: url(../images/arrow-orange.png) no-repeat center / contain;
  position: absolute;
  right:15px;
  top: 50%;
  transform: translateY(-50%);
}
main .button a::after{
  content:"";
  display: block;
  width: 6px;
  height: 11px;
  background: url(../images/arrow-white.png) no-repeat center / contain;
  position: absolute;
  right:15px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s ease opacity;
}
main .button a:hover{
  background-color: var(--white);
  color: var(--orange);
}
main .button a:hover::after{
  opacity: 0;
}

main .button.tab a{
  background-color: var(--white);
  color: var(--orange);
}
main .button.tab a:hover{
  background-color: var(--orange);
  color: var(--white);
}
main .button.tab a:hover::after{
  opacity: 0;
}
main .button.tab a::before{
  content:"";
  display: block;
  width: 15px;
  height: 15px;
  background: url(../images/tab-white.png) no-repeat center / contain;
  position: absolute;
  right:15px;
  top: 50%;
  transform: translateY(-50%);
}
main .button.tab a::after{
  content:"";
  display: block;
  width: 15px;
  height: 15px;
  background: url(../images/tab-orange.png) no-repeat center / contain;
  position: absolute;
  right:15px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s ease opacity;
}

/* お問い合わせ---------------- */
#contact {
  width: 100%;
  position: relative;
  background: url(../images/contact-bg.jpg) no-repeat center / cover;
  padding: 60px 0;
  margin: 80px auto 0;
}
#contact-wrap{
  margin: 0 auto;
  width: 880px;
  background: var(--white);
  padding: 30px;
  border-radius: 20px;
}

#contact h2{
  font-size: 1em;
  line-height: 1.1;
  text-align: center;
  margin-bottom: 15px;
}
#contact h2 .jp{
  display: block;
  font-size: 2.1875em;
}
#contact h2 .en{
  display: block;
  font-size: 1.25em;
  color: var(--orange);
}
#contact p.lead{
  font-size: 1em;
  text-align: center;
  margin-bottom: 15px;
}
#contact .button{
  margin:15px auto 15px;
}
#contact .button a{
  display: block;
  margin: auto;
  width:100%;
  max-width: 464px;
  background: var(--orange);
  border-radius: 9999px;;
  color: var(--white);
  font-size:1.75em;
  line-height: 1.5;
  font-weight: 500;
  text-decoration: none;
  text-align: center;
  padding: 10px;

}
#contact .button a span::before{
  content:"";
  display: inline-block;
  width: 23px;
  height: 32px;
  background: url(../images/tel-white.png) no-repeat center / contain;
  vertical-align: middle;
  margin-right: 20px;
}
#contact p.note{
  font-size: 0.875em;
  text-align: center;
}


@media only screen and (max-width: 1000px) {
	#contact {
		width: 100%;
		position: relative;
		background: url(../images/contact-bg-sp.jpg) no-repeat center top / 100% auto;
		padding: 130px 0 30px;
		margin: 50px auto 0;
	}
	#contact-wrap{
		margin: 0;
		width: 100%;
		background: var(--white);
		padding: 15px;
		border-radius: 20px;
	}

	#contact h2{
	text-align: center;
	margin-bottom: 10px;
	}
	#contact p.lead{
	font-size: 0.875em;
	text-align: center;
	margin-bottom: 15px;
    text-align: left;
    margin: auto;
    display: block;
    width: fit-content;
	}
	#contact .button{
	margin:5px auto 5px;
	}
	#contact .button a{
	width:100%;
	max-width: 464px;
	font-size:1.375em;
	padding: 10px;

	}
	#contact .button a span::before{
	content:"";
	display: inline-block;
	width: 23px;
	height: 32px;
	background: url(../images/tel-white.png) no-repeat center / contain;
	vertical-align: middle;
	margin-right: 20px;
	}
	#contact p.note{
	font-size: 0.8125em;
	text-align: center;
	}
}

@media only screen and (max-width: 880px) {
	#contact h2 .jp{
		font-size: 1.75em;
	}
}


#news-index .post a{
  display: flex;
  flex-wrap: wrap;
  text-decoration: none;
  color: var(--black);
  padding: 16px 0;
  border-bottom: 1px dashed var(--lightgray);
}
#news-index .date{
  color: var(--gray);
  font-size: 0.875em;
  margin-right: 25px;
}

#news-index .category{
  margin-right: 20px;
  font-size: 0.75em;
}
#article .category span,
.post .category span{
  display: block;
  background: var(--lightorange);
  color: var(--orange);
  width: 100px;
  text-align: center;
  border-radius: 5px;
}
#article .category.recruit span,
.post .category.recruit span{
  background: var(--lightred);
  color: var(--red);
}
#article .category.meal span,
.post .category.meal span{
  background: var(--lightgreen);
  color: var(--green);
}
#article .category.snack span,
.post .category.snack span{
  background: var(--lightgreen);
  color: var(--green);
}
#article .category.blog span,
.post .category.blog span{
  background: var(--lightyellow);
  color: var(--yellow);
}
#article .category.schedule span,
.post .category.schedule span{
  background: var(--lightblue);
  color: var(--blue);
}
#news-index .post .title{
  flex: 1;
  font-size: 0.9275em;
  line-height: 1.6;
  transition: 0.3s ease color;
  color: #454341;
}
#news-index .post:hover .title{
  color: #a2a1a0;
}
	#news-index .button{
	  display: none;
	}


@media screen and (max-width:880px) {
#news-index .post .title{
  flex: 100%;
}
}


/*ページネーション------------------------------------*/

.pagenation{
		margin-top: 60px;
}

.pagenation .wp-pagenavi {
	clear: both;
	text-align:center;
}

.pagenation .wp-pagenavi a,
.pagenation .wp-pagenavi span {
	text-decoration: none;
	margin: 0 12px;
	font-weight:400;
	color: var(--white);
	background: var(--lightgray);
	cursor:pointer;
	display:inline-block;
	width:44px;
	line-height:44px;
	border-radius:22px;
	text-decoration:none;
	position:relative;
	transition:0.15s ease;
	top:0;
	
	padding: 0;
	border: none;
}

.pagenation .wp-pagenavi a:hover{
	background: var(--orange);
	color:#fff;
}
.pagenation .wp-pagenavi span.current {
	background: var(--orange);
	color:#fff;
}

.pagenation .wp-pagenavi .nextpostslink,
.pagenation .wp-pagenavi .nextpostslink:hover,
.pagenation .wp-pagenavi .previouspostslink,
.pagenation .wp-pagenavi .previouspostslink:hover{
	background:none;
}

.pagenation .wp-pagenavi .nextpostslink{
	background:url(../images/pagenation-arrow.png) no-repeat center center ;
	background-size:7px 12px;
	margin-left:-10px;
	padding: 0;
}

.pagenation .wp-pagenavi .nextpostslink:hover{
	background:url(../images/pagenation-arrow.png) no-repeat center center ;
	background-size:7px 12px;
}

.pagenation .wp-pagenavi .previouspostslink{
	background:url(../images/pagenation-arrow.png) no-repeat center center ;
	background-size:7px 12px;
	margin-right:-10px;
	padding: 0;
	transform: rotate(-180deg);
}

.pagenation .wp-pagenavi .previouspostslink:hover{
	background:url(../images/pagenation-arrow.png) no-repeat center center ;
	background-size:7px 12px;
	transform: rotate(-180deg);
}


@media only screen and (max-width:860px){
	.pagenation{
		margin-top: 30px;
	}
	.pagenation .wp-pagenavi {
		white-space: nowrap;
		position: relative;
	}
	.pagenation .wp-pagenavi .sfwppa-link-next{
		width:25px;
	}
	.pagenation .wp-pagenavi .previouspostslink{
		width:25px;
	}
}

#article .date{
  color: var(--gray);
  font-size: 0.875em;
  margin-right: 25px;
}

#article .category{
  margin-right: 20px;
  font-size: 0.75em;
}



.button-pdf{
	margin: 30px auto 30px;
}
.button-pdf a{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: auto;
  width: 100%;
  max-width:480px;
  min-height: 80px;
  background-color: transparent;
  border-radius: 10px;
  color: var(--orange);
  font-size: 1.25em;
  line-height: 1.5;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  padding: 0 0;
  border: 3px solid var(--orange);
  transition: 0.3s ease background-color,
  0.3s ease color;
}
.wide .button-pdf a{
  max-width: 880px;
}
.button-pdf a span{
  position: relative;
  padding: 0 50px 0 0;
}
.button-pdf a span::before{
  content:"";
  display: block;
  width: 33px;
  height: 35px;
  background: url(../images/pdf-white.png) no-repeat center / contain;
  position: absolute;
  right:0;
  top: 50%;
  transform: translateY(-50%);
}
.button-pdf a span::after{
  content:"";
  display: block;
  width: 33px;
  height: 35px;
  background: url(../images/pdf-orange.png) no-repeat center / contain;
  position: absolute;
  right:0;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s ease opacity;
}
.button-pdf a:hover{
  background-color: var(--orange);
  color: var(--white);
}
.button-pdf a:hover span::after{
  opacity: 0;
}


@media screen and (max-width:880px) {

	.button-pdf a span{
	  position: relative;
	  padding: 0 50px 0 0;
	}
	.button-pdf a span::before{
	  width: 28px;
	  height: 30px;
	}
	.button-pdf a span::after{
	  width: 28px;
	  height: 30px;
	}
}



.link-pdf{
	margin: 30px auto 30px;
}
.link-pdf a{
  position: relative;
  margin: auto;
  width: 100%;
  color: var(--blue);
  font-size: 1em;
  line-height: 1.65;
  font-weight: 600;
  text-align: left;
  padding: 0 0;
  transition: 0.3s ease opacity;
}
.link-pdf a span{
  position: relative;
  padding: 0 30px 0 0;
}
.link-pdf a span::after{
  content:"";
  display: block;
  width: 18px;
  height: 22px;
  background: url(../images/pdf-blue.png) no-repeat center / contain;
  position: absolute;
  right:0;
  top: 50%;
  transform: translateY(-50%);
}
.link-pdf a:hover{
  opacity: 0.7;
}


.margin-left-01{
  margin-left: 1em;
}
.text-indent-01{
  padding-left:1em;
  text-indent:-1em;
  font-feature-settings: normal;
}

.text-indent-02{
  padding-left:2em;
  text-indent:-2em;
  font-feature-settings: normal;
}

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

.wp-block-table{
  overflow-x: scroll;
  scrollbar-width: none;
}
.wp-block-table table{
  width: max-content;
}
*+.wp-block-columns {
  margin-top: 20px;
}

*+.wp-block-image{
  margin-top: 20px;
}
.wp-block-image+ul{
  margin-top: 20px;
}
.wp-block-image+.wp-block-image{
  margin-top: 80px;
}
.wp-block-image img{
  width: 100%;
  height: auto;
  margin: auto;
}
:where(.wp-block-columns){
  margin-bottom: 20px;
}
body .is-layout-flex{
  justify-content: space-between;
  align-items: unset;
}
.wp-block-columns.is-layout-flex{
  gap: 40px 8%;
  align-items: unset;
}
.is-layout-flex > :is(*, div){
flex-basis: fit-content;
}
.aligncenter{
  text-align: center;
}
.is-style-rounded img{
  border-radius: 20px;
  overflow: hidden;
}

@media only screen and (max-width: 880px) {
  body .is-layout-flex{
    flex-direction: column;
  }
  .wp-block-column{
    width: 100%;
  }
  .wp-block-image+.wp-block-image{
    margin-top: 40px;
  }
}

.wp-lightbox-container {
    display: flex;
    flex-direction: column;
    position: relative
}

.wp-lightbox-container img {
    cursor: zoom-in
}

.wp-lightbox-container img:hover+button {
    opacity: 1
}

.wp-lightbox-container button {
    align-items: center;
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    backdrop-filter: blur(16px) saturate(180%);
    background-color: #5a5a5a40;
    border: none;
    border-radius: 4px;
    cursor: zoom-in;
    display: flex;
    height: 20px;
    justify-content: center;
    opacity: 0;
    padding: 0;
    position: absolute;
    right: 16px;
    text-align: center;
    top: 16px;
    width: 20px;
    z-index: 100
}

@media not (prefers-reduced-motion) {
    .wp-lightbox-container button {
        transition: opacity .2s ease
    }
}

.wp-lightbox-container button:focus-visible {
    outline: 3px auto #5a5a5a40;
    outline: 3px auto -webkit-focus-ring-color;
    outline-offset: 3px
}

.wp-lightbox-container button:hover {
    cursor: pointer;
    opacity: 1
}

.wp-lightbox-container button:focus {
    opacity: 1
}

.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background) {
    background-color: #5a5a5a40;
    border: none
}

.wp-lightbox-overlay {
    box-sizing: border-box;
    cursor: zoom-out;
    height: 100vh;
    left: 0;
    overflow: hidden;
    position: fixed;
    top: 0;
    visibility: hidden;
    width: 100%;
    z-index: 100000
}

.wp-lightbox-overlay .close-button {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: center;
    min-height: 40px;
    min-width: 40px;
    padding: 0;
    position: absolute;
    right: calc(env(safe-area-inset-right) + 16px);
    top: calc(env(safe-area-inset-top) + 16px);
    z-index: 5000000
}

.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background) {
    background: none;
    border: none
}

.wp-lightbox-overlay .lightbox-image-container {
    height: var(--wp--lightbox-container-height);
    left: 50%;
    overflow: hidden;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    transform-origin: top left;
    width: 100%;
    z-index: 9999999999
}

.wp-lightbox-overlay .wp-block-image {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    height: 100%;
    justify-content: center;
    margin: 0;
    position: relative;
    transform-origin: 0 0;
    width: 100%;
    z-index: 3000000
}

.wp-lightbox-overlay .wp-block-image img {
   width: 100%;
   height: 100%;
   object-fit: contain !important;
}

.wp-lightbox-overlay .wp-block-image figcaption {
    display: none
}

.wp-lightbox-overlay button {
    background: none;
    border: none
}

.wp-lightbox-overlay .scrim {
    background-color: #fff;
    height: 100%;
    opacity: .9;
    position: absolute;
    width: 100%;
    z-index: 2000000
}

.wp-lightbox-overlay.active {
    visibility: visible
}

@media not (prefers-reduced-motion) {
    .wp-lightbox-overlay.active {
        animation: turn-on-visibility .25s both
    }

    .wp-lightbox-overlay.active img {
        animation: turn-on-visibility .35s both
    }

    .wp-lightbox-overlay.show-closing-animation:not(.active) {
        animation: turn-off-visibility .35s both
    }

    .wp-lightbox-overlay.show-closing-animation:not(.active) img {
        animation: turn-off-visibility .25s both
    }

    .wp-lightbox-overlay.zoom.active {
        animation: none;
        opacity: 1;
        visibility: visible
    }

    .wp-lightbox-overlay.zoom.active .lightbox-image-container {
        animation: lightbox-zoom-in .4s
    }

    .wp-lightbox-overlay.zoom.active .lightbox-image-container img {
        animation: none
    }

    .wp-lightbox-overlay.zoom.active .scrim {
        animation: turn-on-visibility .4s forwards
    }

    .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) {
        animation: none
    }

    .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container {
        animation: lightbox-zoom-out .4s
    }

    .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img {
        animation: none
    }

    .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim {
        animation: turn-off-visibility .4s forwards
    }
}

@keyframes show-content-image {
    0% {
        visibility: hidden
    }

    99% {
        visibility: hidden
    }

    to {
        visibility: visible
    }
}

@keyframes turn-on-visibility {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes turn-off-visibility {
    0% {
        opacity: 1;
        visibility: visible
    }

    99% {
        opacity: 0;
        visibility: visible
    }

    to {
        opacity: 0;
        visibility: hidden
    }
}

@keyframes lightbox-zoom-in {
    0% {
        transform: translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))
    }

    to {
        transform: translate(-50%,-50%) scale(1)
    }
}

@keyframes lightbox-zoom-out {
    0% {
        transform: translate(-50%,-50%) scale(1);
        visibility: visible
    }

    99% {
        visibility: visible
    }

    to {
        transform: translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));
        visibility: hidden
    }
}

@media only screen and (max-width: 880px) {
  .wp-lightbox-container{
    cursor; pointer;
    pointer-events: none;
  }
}
