
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* 全体 */
body {
  margin: 0;
  font-family: sans-serif;
  color: #666;
  background: rgba(246, 242, 239, 1);
  font-family: "Futura", Helvetica, sans-serif;
  font-size: 14px;
    background-image: url("image_fx.png");
  background-size: cover;
  background-position: top;
    animation: fadeIn 1s ease-in-out;
    background-attachment: fixed; /* 背景画像を固定 */
  animation: fadeIn 2.5s ease-in-out; /* 追加 */
}

main
{width:100%; max-width:1250px; margin:0 auto;}

h2 {font-size:22px;}


/* 背景画像 */
#top {
width: 100%;
height:600px;
    display: flex;
        flex-direction: column; /* 縦方向に要素を並べる */
    justify-content: center; /*左右中央揃え*/
    align-items: center;     /*上下中央揃え*/
    padding-top: 300px;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}


.logo {
width:40%;
    margin-bottom: 20px; /* ロゴとテキスト間の間隔を調整 */
}

@media (max-width: 750px) {

#top {
    padding-top: 150px;
}

.logo {
width:65%;
    margin-bottom: 60px; /* ロゴとテキスト間の間隔を調整 */
}
}

#top section {text-align: center;} /* テキストを中央揃え */


.grad {
 background: linear-gradient(rgba(0,0,0,0),rgba(246, 242, 239,0.8));
    width: 100%;
    height: 200px;
    margin:0;
}

#peony {
width:100%;
padding:80px 0 0 0;
background:rgba(246, 242, 239,0.8);
  text-align: center; /* 水平方向に中央揃え */

}

/* 各セクション */
section {
  width:80%;
  display: block;
  margin:0 auto;
padding-bottom: 150px;
}

.rounded-box {
 position: relative; /* 相対配置 */
  display: inline-block; /* インラインブロック要素にする */
  border: 1px solid #a58f86; /* 枠線の色と太さ */
  border-radius: 38px; /* 角丸の半径 */
  padding: 5px 30px; /* 文字と枠線の間の余白（上下左右） */
  font-size:18x;
  color: #a58f86;
  background: #fff;
    margin-bottom: 30px;
    min-width:200px;
}

.rounded-box::before {
  content: ""; /* 疑似要素 */
  position: absolute; /* 絶対配置 */
  top: 50%; /* 上下中央に配置 */
  left: 50%; /* 左右中央に配置 */
  transform: translate(-50%, -50%); /* 中央揃え */
  width: 80vw; /* ウィンドウ幅の80% */
  height: 1px; /* 線の太さ */
  background-color: #a58f86; /* 線の色 */
  z-index: -1; /* SPAN要素の背面に配置 */
}

/* Navbar & Navmenu color */
:root {
  --background-navbar: rgba(85, 70, 65, 0.6);
}

.header {
  background: var(--background-navbar);
  position: fixed;
  width: 100%;
  height: 52px;
  z-index:1;
}

/* Nav items */
.menu { 
z-index: 999;
  list-style: none;
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  margin-top: 52px;
  padding: 0 0 10px 0;
  clear: both;
  background: var(--background-navbar);
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  transform: scale(1, 0);
  transform-origin: top;
}

/* Hamburger menu button */
.menu-btn:checked ~ .menu {
  transform: scale(1, 1);
  transform-origin: top;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

/* Hamburger menbu text */
.menu a {
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 2px;
  font-size: 16px;
  text-transform: capitalize;
  color: #fff;
  opacity: 0;
  transition: 0.5s;
}

.menu a:hover {
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 2px;
  font-size: 16px;
  text-transform: capitalize;
  color: #ddd;
    opacity: 0;
  transition: 0.5s;
}


.menu li {
  border-top: 1px solid rgb(75, 75, 75);
  padding: 15px 0;
  margin: 0 54px;
  opacity: 0;
  transition: 0.5s;
}

.menu-btn:checked ~ .menu a,
.menu-btn:checked ~ .menu li {
  opacity: 1;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
}

.menu-btn {
  display: none;
}

.menu-icon {
  display: inline-block;
  position: relative;
  cursor: pointer;
  padding: 24px 14px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}



.navicon {
  background: #fff;
  display: block;
  height: 3px;
  width: 26px;
  position: relative;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

.navicon:before,
.navicon:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  background: #fff;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

.navicon:before {
  top: 9px;
}

.navicon:after {
  bottom: 9px;
}

/* Hamburger Menu Animation Start */
.menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}

.menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}

.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
  top: 0;
}
.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  bottom: 0;
}

.menu-btn:checked ~ .menu-icon .navicon {
  background: rgba(0, 0, 0, 0);
  transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
/* Hamburger Menu Animation End */

/* Navbar Container */
.navtext-container {
  width: 100%;
  height: 52px;
  position: absolute;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}


/* Navbar Text */
.navtext {
  position: absolute;
  text-transform: uppercase;
  color: #fff;
  letter-spacing: 4px;
  font-size: 20px;
}


.navtext a{
font-weight: 500;
text-transform: uppercase;
color: #fff;
transition: 0.5s;
text-decoration: none;
}

.navtext a:hover {
  text-decoration: none;
  font-weight: 500;
  text-transform: uppercase;
  color: #ddd;
  transition: 0.5s;
  text-decoration: none;
}


/* フッター */
footer {
  display: flex;
width:100%;
  color: #fff;
  justify-content: center;
  padding: 20px;
  z-index:99;
  background: #fff;
  background-image: linear-gradient(120deg, rgba(216, 103, 103, 0.8), rgba(255, 255, 255, 0)), linear-gradient(185deg, rgba(159, 194, 218, 0.8), rgba(255, 255, 255, 0)), linear-gradient(356deg, rgba(133, 10, 84, 0.8), rgba(255, 255, 255, 0));
}


/*お問い合わせフォーム*/
        form {
            max-width: 600px;
            margin: 30px auto;
        }

        label {
            display: block;
            margin-bottom: 2px;
        }

        input,
        textarea {
            width: 100%;
            padding: 5px;
            margin-bottom: 15px;
            border: 1px solid #ddd;
            box-sizing: border-box;
        }

        textarea {
            height: 120px;
        }

        button {
            background-color: #c099a0;
            color: white;
            padding: 10px;
            border: none;
            text-align: center;
            cursor: pointer;
            width: 150px;
            margin: 20px 0;
       }

        button:hover {
            background-color: #f62681;
        }
        .grecaptcha-badge { visibility: hidden; }
p.recapcha-text { font-size: 11px; text-align: center; color:#aaa;}
p.recapcha-text a{ color:#aaa;}
p.recapcha-text a:hover{ color:#aaa; text-decoration: none;
}


/* テーマカラー */
a {
  color: #e7609e;
}

/*フォーム送信後*/
       #contact-area { /* フォームエリア全体を囲む */
            position: relative;
            text-align:left;
        }

        #form-result {
            display: none; /* 初期状態は非表示 */
            position: absolute; /* 絶対配置 */
            top: 0;
            left: 0;
            width: 100%;
            height: 110%;
            background-color: rgba(255, 243, 238, 0.5); /* 半透明の背景 */
            border-radius: 5px;            
            z-index: 10; /* 最前面に表示 */
        }

        #form-result-content {
            position: absolute; /* 絶対配置 */
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%); /* 中央揃え */
            background-color: #fff;
            padding: 20px;
            border-radius: 5px;
        }

/* レスポンシブ対応 */
@media (max-width: 750px) {
  .drawer-content {
    width: 100%;
    left: 0;
    top: 60px;
    padding: 10px;
  }
}
