@charset "UTF-8";

main { position: relative; /*background-color:#feda86;*/ }
.serif { font-family:'M PLUS Rounded 1c','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W6',"ＭＳ Ｐゴシック","MS PGothic", sans-serif; }
@media (min-width: 768px){
main {padding-left: 63px;}
	.spOnly { display: none; }
}
@media (min-width: 960px){
}

@media (min-width: 320px){
	.hero { position: relative; width:100%; height: calc(100dvh - 65px); display: flex; justify-content: center; align-items: center; background-color:rgba(1,100,90,1);}
	.hero .logo img { width: 120px; }
	.hero .logo svg { display: block; width: 100%; height: 100%; }
	.hero .scroll { position: absolute; left:50%; bottom:0; width: 100px; margin-left: -50px; height: 60px; font-size: 12px; color:#333; text-align: center; }
	.hero .scroll::after { content:""; position: absolute; left:50%; bottom:0; width: 1px; height: 20px; background-color:#999; }
}
@media (min-width: 768px){
	.hero { height:calc(100dvh - 85px); }
	.hero .logo img { width: 170px;}
}

@media (min-width: 320px){
	.sidebar { position: fixed; top:85px; bottom: 0;  left:0; width: 40px;  background-color:rgba(1,80,70,1); color:#fff; z-index: 10; }
	.sidebar nav { position: absolute; top: 55%; left: -40%; transform: rotate(90deg) translate(0, 135px); width: 400px; height: 0; }
	.sidebar nav ul { text-align: center; }
	.sidebar nav li { position: relative; display: inline-block; transition: color .3s linear 0s; cursor: pointer; margin:0 10px; }
	.sidebar nav li a { font-size:12px; color:#fff; }
}
@media (min-width: 768px){
	.sidebar { width: 63px; }
	.sidebar nav { top: 50%; transform: rotate(90deg) translate(0, 130px); }
}
@media (any-hover: hover) {
	.sidebar nav li a:hover { color:#b18e30; }

}
@media (min-width: 320px){
	.section-line { position: relative; padding:60px 0; }
	.section-line::before,
	.section-line::after { content:""; display: block; position: absolute; left:50%; width: 1px; height: 30px; background-color:#999; }
	.section-line::before { top:0; }
	.section-line::after { bottom:0; }
	.section-line.no-bottom::after { display: none; }
	.section-line.line-wh::before,
	.section-line.line-wh::after { background-color:#fff; }
	.section-inner { position: relative; width: 100%; max-width: 1080px; padding:0 15px; margin:0 auto; }
	.section-inner.min {max-width: 900px;}
	.section-title { text-align: center; padding:20px 0; }
	.section-title h3 { font-size:30px; letter-spacing: 1px; color:#006834; font-weight: bold;margin-bottom: 50px;}
	.section-title h2 { font-size: 14px; letter-spacing: 1px; margin-top: 20px; }
	.section-title p { font-size: 12px; margin-top: 10px; }
	.section-title.color-wh { color:#fff; }
	.section-title.color-wh h3 { color:#fff; }
}
@media (min-width: 768px){
	.section-line { padding:80px 0; }
	.section-line::before,
	.section-line::after { height: 40px; }
	.section-inner { padding:0 30px; }
	.section-title h3 { font-size: 33px; font-weight: bold;}
	.section-title h2 { font-size: 18px; margin-top: 30px; }
	.section-title p { font-size: 13px; }
}
@media (min-width: 960px){
	.section-inner { padding:0 100px; }
	.section-title h2 { font-size: 24px; }
	.section-title p { font-size: 14px; }
}

/* concept */
@media (min-width: 320px){
    #concept { background-image: url(../img/concept-bg_1.jpg); background-position: center; background-size: cover; position: relative;  min-height: calc(100dvh - 85px);}
	#concept::before {
        content: "";
        position: absolute;
        inset: 0;
        background:radial-gradient(
      circle at 50% 52%,
      rgba(0,0,0,.52) 0%,
      rgba(0,0,0,.32) 24%,
      rgba(0,0,0,.20) 46%,
      rgba(0,0,0,.18) 100%
    ),
    linear-gradient(
      to bottom,
      rgba(0,0,0,.70) 0%,
      rgba(0,0,0,.55) 35%,
      rgba(0,0,0,.25) 100%
    );
        pointer-events: none;
        width: 100%;
        height: 100%;
		backdrop-filter: contrast(0.8);
    }
    #concept .section-inner{padding:0 25px;}
    #concept .section-title h2{margin:30px 0; font-size: 16px;}
    #concept .section-title .text {line-height: 2;}
    #concept .section-line::before, .section-line::after{background-color:#999;}
	.concept-sec { position: relative; width: 100%; }
	.concept-sec .text { width: 100%; display: block; }
	.concept-sec .text p { font-size: 12px; line-height: 1.9; margin:10px 0; }
	.concept-sec .img { width: 100%; display: block; margin:20px 0; }
	.concept-sec .img img { width: 100%; display: block; }
}
@media (min-width: 768px){
     #concept .section-title h2{font-size: 18px;}
    #concept .section-title .text {width:590px; margin: 30px auto 0;}
	.concept-sec { margin:50px 0; }
	.concept-sec .text { float: left; width: 50%; padding-right: 20px; }
	.concept-sec .img { float: right; width: 50%; margin:0; }
	.concept-sec.turn .text { float: right; width: 40%; padding:0 0 0 20px; }
	.concept-sec.turn .img { float: left; width: 50%; }
	.concept-sec .text p { font-size: 14px; margin:20px 0; letter-spacing: 1px; }
}
@media (min-width: 960px){
    #concept .section-title h2{font-size: 20px;}
	.concept-sec { margin:70px 0; }
	.concept-sec .text { position: absolute; left:0; top:0; height: 100%; width: 400px; }
	.concept-sec.turn .text { left:auto; right: 0; width: 400px; }
}

/* menu */
@media (min-width: 320px){
	#menu { background-image: url("../img/menu-bg_1.webp"); background-position: left 30% center; background-size: cover; position: relative;}
	#menu::before {
        content: "";
        position: absolute;
        inset: 0;
        background:radial-gradient(
      circle at 50% 52%,
      rgba(0,0,0,.52) 0%,
      rgba(0,0,0,.32) 24%,
      rgba(0,0,0,.20) 46%,
      rgba(0,0,0,.18) 100%
    ),
    linear-gradient(
      to bottom,
      rgba(0,0,0,.70) 0%,
      rgba(0,0,0,.55) 35%,
      rgba(0,0,0,.25) 100%
    );
        pointer-events: none;
        width: 100%;
        height: 100%;
    }
	.menu-sec { position: relative;}

	.menu-sec .pdf { position: relative;  margin-top: 40px; transition: all 0.3s ease-in-out;
	display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    min-width: 310px;
    padding: 16px 24px;
    border: 2px solid #fff;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
	}
	.menu-sec .pdf::after { content:""; position: absolute; right: 40px; top:50%; width: 20px; height: 20px; margin-top: -12px; background-size: 20px 20px; background-image: url(../img/pdf.png); }
}
@media (min-width: 768px){
	#menu {background-position: center; }
}
@media (hover: hover) {
	.menu-sec .pdf:hover { background: rgba(255,255,255,0.2); }
}



/* information */
@media (min-width: 320px){
	#information {background-color: rgba(10,30,20,1); }
	#information_ko { background-color:rgba(10,30,20,1); }
	.info-sec { position: relative; display: block; width: 100%; margin:30px 0; }
	.info-sec .info { position: relative; display: block; width: 100%; color:#444; margin:0 0 20px;}
	.info-sec .info h2 { font-size: 18px; }
	.info-sec .info img { display: block; width: 100%; margin:20px 0; }
	.info-sec .info h4 { font-size: 15px; margin:10px 0; }
	.info-sec .info p { font-size: 13px; }
	.info-sec .info table { width: 100%; margin: 0; }
	.info-sec .info table th,
	.info-sec .info table td { font-size: 12px; text-align: left; vertical-align: top; border-top: 1px solid #355; color:#fff; padding:30px 0; }
	.info-sec .info table th { width: 80px; }
	.info-sec .info table td a { color:#569279; text-decoration: underline; }
	.info-sec .map { position: relative; display: block; width: 100%; }
	.info-sec .map #map { display: block; width: 100%; height: 300px; margin-bottom: 10px; }
	.info-sec .map #map2 { display: block; width: 100%; height: 240px; margin-bottom: 10px; }
	.info-sec .map .view-gm { display: block; width: 100%; text-align: right; color:#fff; font-size: 13px; }
	.info-sec .info table td a.sns { display: inline-block; margin-right:10px; padding:5px 0; transition: opacity .3s linear; }
	.info-sec .info table td a.sns svg { fill:#fff; width: 20px; height: 20px; }
    .info-sec .info table td.btn_reser a {text-decoration: none; display:block; border: 1px solid #fff; padding: 8px;margin: 0;color: #fff; text-align: center; background-color:#006834;}
    .info-sec .info table td.btn_reser a:hover { background-color: #fff; color:#999; }
    .info-sec .info table td.btn_tenpo a {text-decoration: none;display: block;border: 1px solid #fff;padding: 8px; margin: 0 0 15px 0; color: #fff; text-align: center;}
    .info-sec .info table td.btn_tenpo a:hover { background-color: #fff; color:#999; }
}
	.info-sec .linkicon { position: relative; display: inline-block; margin-top: 40px;  }
    .info-sec .linkicon::before  { content:""; position: absolute; right: 40px; top:50%; width: 15px; height: 15px; margin-top: -8px; background-size: 15px 15px; background-image: url(../img/pdf.png); }
	.map iframe {
	-webkit-filter: grayscale(95%);
	-moz-filter: grayscale(95%);
	-ms-filter: grayscale(95%);
	-o-filter: grayscale(95%);
	filter: grayscale(95%);
	opacity: 1;
	height: 100%;
    width: 100%;
	}


@media (min-width:768px){
	.info-sec .info { width: 50%; float: left; padding-right: 20px; }
	.info-sec .info table th,
	.info-sec .info table td{ padding:20px 0; }
	.info-sec .map { width: 50%; float: right; padding-left: 20px;}
	.info-sec .map #map { height: 360px; }
	.info-sec .map #map2 { height: 360px; }
	#information_ko .info-sec .info { width: 100%; }
}
@media (min-width:960px){
	.info-sec .info h2 { font-size: 22px; }
	.info-sec .info h4 { font-size: 17px; }
	.info-sec .info p { font-size: 14px; font-weight: lighter; letter-spacing: 1px;}
	.info-sec .info table th,
	.info-sec .info table td { font-size: 14px; letter-spacing: 1px; font-weight: lighter;}
	.info-sec .info table th { width: 90px; }
}

/* instagram */
.instagram { display: flex; }
.instagram>a { display: flex; margin: auto; flex-direction: column; align-items: center; }
.instagram p { font-size: 16px; margin: 10px 0; letter-spacing: 1px; }
.instagram .img { width: 38px; }



/* News */
#news{padding-bottom:50px; }
#news .section-inner {
  display:grid;
  grid-template-rows:auto;
  place-items:center; }
#news .section-title{margin-bottom:30px;}
#news li { border-bottom:dotted 1px #ccc; margin-bottom:20px; padding:5px auto 10px;}
#news h2 {font-size: 13px; font-weight: bold; margin-bottom: 5px;}
#news h2 span{font-weight:normal; margin-left:10px;font-size: 90%; letter-spacing:1.4px;}
#news p { margin-bottom:25px; }
#news a{text-decoration:underline; color:#006834;}
#news .table-cell{display:block;}
@media (min-width: 768px){
#news .section-inner { padding:80px 90px; }
}
@media (min-width: 960px){
#news .section-inner { padding:80px 150px; }
}

/* news_page */
    #news_page h2 {font-size: 25px; border-bottom:dotted 1px #aaa; margin-bottom:20px; padding-bottom: 10px; }
    #news_page p { margin-bottom:5px;}
    #news_page {padding-bottom:30px;}
    #news_page .date{font-size:80%;  margin-top:30px; padding: 2px 6px; letter-spacing: 2px; font-weight: bold; margin-bottom: 5px; }
    #news_page .endlogo {text-align:center; width:50%; margin:70px auto;}
    @media (min-width: 768px){
    #news_page .section-inner { padding:0 90px; }
    }
    @media (min-width: 960px){
    #news_page .section-inner { padding:0 150px; }
    }
        .line{text-decoration: line-through;}


/*gallery*/

.flexslider { margin: 0; padding: 0; }
.flexslider { position: relative; zoom: 1; margin: 30px 0; }
.gallery {
  display: grid;
  grid-template-columns:70% 1fr;
  gap: 30px;
}

.gallery-main {
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.main-track {
  height: 100%;
  transition: transform .7s ease;
}

.main-track img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.thumbs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px;
  align-content: start;
}

.thumbs button {
  border: 0;
  padding: 0;
  background: none;
  cursor: pointer;
  opacity: .7;
}

.thumbs button.is-current {
  opacity: 1;
}

.thumbs img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

@media (max-width: 768px) {
  .gallery {
    display: block;
  }

  .gallery-main {
    margin-bottom: 4px;
  }

  .thumbs {
    grid-template-columns: repeat(5, 1fr);
    gap: 4px;
  }
}
@media (min-width: 769px) {
.gallery {
   direction: rtl; 
}
  .thumbs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 70px));
    align-content: start;
  }

  .thumbs button {
    width: 100%;
  }

  .thumbs img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
  }
  .thumbs.is-many {
    grid-template-columns: repeat(3, 1fr);
    gap: 3px;
  }
  
  
}


#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
    opacity: 0.9;
    visibility: visible;
}
#page-top a {
    background: rgb(40,70,40,1);
    text-decoration: none;
    width: 80px;
	height:80px;
    padding: 20px 0;
    text-align: center;
    display: block;
    border-radius: 50%;
	box-shadow: 0 0 5px 0  rgba(0, 0, 0, .5);
}

#page-top  svg {
    fill:#fff;
    width: 70px;
    height: 40px;
}
.overtext{
    text-align: center;
    background-color: rgb(40,70,40,0.8);
    color: #fff;
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 8px 20px 11px;
    font-size: 0.8em;
}

/*hiroo*/
@media (min-width: 320px) {
        html #wpadminbar {display: none;}
        html{margin-top: 0 !important;}
        .top_bg {
        position: absolute;
            width:100%;
            z-index: 3;
    }
        .top_bg img {
        left: 25%;
        bottom: 50px;
        width: 100%;
        position: relative;
    } 
        .logo {
            z-index: 2;
            position: absolute;
    }  
        .hero .logo {
            width: 100%;
    }
        .logo h1{
        font-size: 60px;
            color: #fff;
            top: 75px;
            position: relative;
            font-weight: 800;
            font-family: Arial, Helvetica, "sans-serif";
            line-height: 1;
            white-space: nowrap;
    }
        .logo h1 span{
             display: inline-block;
}
   
        .logo h1 span.vehicl{
             color: transparent;
             -webkit-text-stroke: 1px #FFF;
      text-stroke: 1px #FFF; }  
        .logo h1 span.place{
             color: rgba(0,0,0,0.4); position: absolute;
        right: 0;}
}

@media (min-width: 530px){
    .top_bg img{width:500px; }
    .logo h1{top: 88px;}
        .logo .spOnly{
             display:none; }
        .logo h1 span.place{right:inherit;} 
}   
@media (min-width: 689px){
   /* .hamburger{display: none;}*/
    .top_bg {width:100%;}
    .top_bg img{width:560px; bottom: 52px; left:25%;}
    .logo h1{left: 25px; font-size: 68px; top: 103px;}
}
@media (min-width: 848px){
    .top_bg img{left:27%;}
    .logo h1{left: 55px;}
}
@media (min-width: 968px){
    .top_bg img{left:30%;}
    .hero .logo {width: 80%;}
    .logo h1{left: 45px;}
}   
@media (min-width: 1100px){
    .hero .logo {width: 70%;}
    .top_bg img{left:35%;}
    .logo h1{left: 90px;}
}    
@media (max-width: 767px){
    .sidebar{display: none;}
}   
@media (min-width: 768px){
    /*.hero .announce {margin-right: 65px;}*/
}   
.fadeRight{
animation-name:fadeRightAnime;
animation-delay: 1.5s;
animation-duration:2s;
animation-fill-mode:forwards;
opacity:0;
transition-timing-function:ease-in-out;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
	transform: translateX(200px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
} 
.fadeRight_place{
animation-name:fadeRightAnime;
animation-delay: 2.5s;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
transition-timing-function:ease-in-out;
}


.fadeLeft1{
animation-name:fadeLeftAnime1;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime1{
  from {
    opacity: 0;
	transform: translateX(-200px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}     
.fadeLeft2{
animation-name:fadeLeftAnime2;
animation-delay: 0.5s;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime2{
  from {
    opacity: 0;
	transform: translateX(-200px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}   
.fadeLeft3{
animation-name:fadeLeftAnime3;
animation-delay: 1.5s;
animation-duration:2s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime3{
  from {
    opacity: 0;
	transform: translateX(-200px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}
.rotateY{
	animation-name:rotateYAnime;
    animation-delay: 3.5s; 
	animation-duration:0.5s;
	animation-fill-mode:forwards;
}

@keyframes rotateYAnime{
	from{
		transform: rotateY(0);
		}
	to{
		transform: rotateY(-360deg);
		}
}
    
/* photo-journal*/
.photo-journal {
  padding: 110px 20px 120px;
  background: #fff;
  text-align: center;
}

.photo-journal__inner {
  max-width: 920px;
  margin: 0 auto;
}

.photo-journal__title {
  margin: 0 0 70px;
  color: #00733f;
  font-size: clamp(32px, 4vw, 52px);
  letter-spacing: .08em;
  font-weight: 700;
}

.photo-journal__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  width: min(700px, 100%);
  margin: 0 auto;
  text-decoration: none;
}

.photo-journal__grid figure {
  margin: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #eee;
    position: relative;
}

.photo-journal__grid figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 70, 45, 0.08);
  pointer-events: none;
  mix-blend-mode: multiply;
}

.photo-journal__grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
filter: brightness(0.97) contrast(0.94) saturate(0.9) sepia(0.06);

  transition: transform .5s ease, opacity .5s ease, filter .5s ease;
}


.photo-journal__grid:hover img {
  opacity: .88;
}

.photo-journal__grid figure:hover img {
  transform: scale(1.04);
}


.is-sp-only {
  display: none;
}

.photo-journal__follow {
  margin-top: 70px;
}

.photo-journal__follow p {
  margin: 0 0 28px;
  font-size: 18px;
  letter-spacing: .1em;
  font-weight: 700;
}

.photo-journal__follow a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  min-width: 310px;
  padding: 16px 24px;
  border: 2px solid #222;
  color: #222;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .04em;
  transition: all 0.3s ease-in-out;
}

.photo-journal__follow .icon-insta {
  width:35px;
  height: auto;
  line-height: 1;
  margin-top:3px;
}

@media (max-width: 767px) {
  .photo-journal {
    padding: 80px 22px 90px;
  }

  .photo-journal__title {
    margin-bottom: 42px;
    font-size: 32px;
  }

  .photo-journal__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
  }

  .is-sp-only {
    display: block;
  }

  .photo-journal__follow {
    margin-top: 48px;
  }

  .photo-journal__follow p {
    font-size: 13px;
    letter-spacing: .2em;
  }

  .photo-journal__follow a {
    min-width: 0;
    width: 100%;
    max-width: 320px;
    padding: 15px 20px;
    font-size: 14px;
  }
}

@media (hover: hover) {
	.photo-journal__follow a:hover { background: rgba(1,1,1,0.02); }
}

