
/*　ベース
------------------------------------------- */
*,
*::before,
*::after {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;
padding: 0;
font-size: 16px;
font-weight: 400;
line-height: 1.7;
-webkit-text-size-adjust: 100%;
font-family: 'Noto Sans JP', sans-serif;
color: #000;
}
a {
transition: 0.4s;
text-decoration: none;
-webkit-tap-highlight-color: transparent;
color: #000;
}
a:hover {
opacity: 0.8;
}
ul {
list-style: none;
margin: 0;
padding: 0;
}
img {
max-width: 100%;
height: auto;
vertical-align: bottom;
display: block;
}
h1, h2, h3, h4 {
margin: 0;
line-height: 1.4;
}
p {margin: 0;}

input,button,textarea,select {
font-family: inherit;
font-size: inherit;
}
@media (max-width: 768px) {
.pc { display: none !important; }
}
@media (min-width: 769px) {
.sp { display: none !important; }
}
/* Base ul li  */
ul.base li {
margin: 0;
padding-left: 1em;
text-indent: -1em;
}

/*　ヘッダー
-------------------------------------------------- */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}

/*　FV
-------------------------------------------------- */
.fv{
position: relative;
width:100%;
}
.fv img[src$=".webp"]{
width:100%;
height: 100vh;
object-fit:cover
}
@media (max-width: 768px) {
.fv img[src$=".webp"]{
height: 70vh;
}
}
.fv div{
position: absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
width: 100%;
padding:0;
margin:0;
}
.fv h1{
width: 30%;
margin: 0 auto 70px;
}
.fv h1 img{
width: 100%;
}
.fv .coming{
width: 70%;
margin: 0 auto 50px;
}
.fv .nov{
width: 45%;
margin: 0 auto;
}
@media (max-width: 768px) {
.fv h1{
width: 50%;
margin: 0 auto 40px;
}
.fv h1 img{
width: 100%;
}
.fv .coming{
width: 85%;
margin: 0 auto 20px;
}
.fv .nov{
width: 70%;
margin: 0 auto;
}
}
.map{
width: 100%;
}

/*　コンテンツ
-------------------------------------------------- */
.intro{
position: relative;
padding: 60px 0;
font-size: 18px;
line-height: 2;
text-align: center;
}
.intro img{
position: absolute;
filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.1));
}
.intro .tea01{
top: 30px;
left: -20px;
width:100px;
}
.intro .tea02{
top: 120px;
left: -20px;
width:140px;
}
.intro .tea03{
top: -100px;
right: -40px;
width:140px;
}
.intro .tea04{
top: 15px;
right: 45px;
width:120px;
}
.intro .tea05{
top: 100px;
right: -40px;
width:140px;
}
@media (max-width: 768px) {
.intro{
width: 85%;
margin: 0 auto;
padding: 50px 0;
font-size: 16px;
line-height: 1.6;
text-align: left;
}
.intro img{
display: none;
}
}

h2.insta{
width: fit-content;
margin: 0 auto;
font-family: "Montserrat", sans-serif;
font-weight: 700;
font-size: 36px;
text-align: center;
}
@media (max-width: 768px) {
h2.insta{
margin: 0 auto;
font-size: 26px;
}
}

.insta_acc{
padding: 20px 0;
color: #369C27;
text-align: center;
display: block;
}
.insta_box {
width: 100%;
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 15px;
}
.insta_box img {
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
display: block;
}
@media (max-width: 768px) {
.insta_acc{
padding: 5px 0 20px;
}
.insta_box {
gap: 2px;
}
}
a.insta_link{
width: 30%;
margin: 70px auto 100px;
padding: 15px 0;
color: #FFF;
text-align: center;
background: #1A4614;
display: block;
}
@media (max-width: 768px) {
a.insta_link{
width: 60%;
margin: 30px auto 50px;
padding: 5px 0;
}
}
.link_wrp{
width: 100%;
margin: 0 auto;
padding: 50px 0 0;
background: #F4F3EF;
}
.link_wrp h2{
width: fit-content;
margin: 0 auto 50px;
font-weight: 600;
font-size: 28px;
text-align: center;
}
@media (max-width: 768px) {
.link_wrp{
padding: 30px 0 0;
}
.link_wrp h2{
width: 90%;
margin: 0 auto 30px;
font-size: 22px;
}
}
.link_wrp .inner{
width: 100%;
max-width: 550px;
margin: 0 auto 50px;
display: flex;
flex-wrap: wrap;
gap: 15px 40px;
}
.link_wrp .inner a{
display: inline-block;
}
@media (max-width: 768px) {
.link_wrp .inner{
width: 80%; /* 3列にするなら横幅を少し広げたほうが安全です */
max-width: 80%;
margin: 0 auto 50px;
display: grid;
grid-template-columns: repeat(3, 1fr); 
gap: 15px 10px; 
}

.link_wrp .inner a {
margin: 0;
display: flex;
align-items: center;
font-size: 13px;
white-space: nowrap;
}
}
.link_wrp .inner a:hover{
color: #1A4614;
}
.link_wrp .inner i{
color: #1A4614;
}

/*　   フッター
----------------------------------------------------*/
footer{
width: 100%;
padding: 20px 0;
font-family: "Montserrat", sans-serif;
font-size: 12px;
font-weight: 300;
color: #FFF;
text-align: center;
line-height: 1.0;
background: #000;
}
@media only screen and (max-width: 768px) {
footer{
padding: 25px 0 15px;
font-size: 2.8vw;
line-height: 2;
}
}
