* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
::before , ::after {
	box-sizing: inherit;
}


button {
	margin: 0;
	padding: 0;
	outline: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	vertical-align: middle;
	text-align: inherit;
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
}
/**************** 以下、ハンバーガーボタンのスタイリング ****************/
@media screen and (max-width: 999px) {
.btn {
	position: fixed;
	padding-block: 28px;
	right: 0;
	padding-inline: 10px;
	z-index: 1000;
	width: 70px;
	height: 48px;
	background: rgba(255, 255, 255, 0.7);
}
/***** 真ん中のバーガー線 *****/
.btn-line {
	display: block;
	/* バーガー線の位置基準として設定 */
	position: relative;
	/* 線の長さと高さ */
	width: 100%;
	height: 4px;
	/* バーガー線の色 */
	background-color: #4a4a4a;
	transition: .2s;
}
/***** 上下のバーガー線 *****/
.btn-line::before , .btn-line::after {
	content: "";
	/* 基準線と同じ大きさと色 */
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #4a4a4a;
	transition: .5s;
}
.btn-line::before {
	/* 上の線の位置 */
	transform: translateY(-16px);
}
.btn-line::after {
	/* 下の線の位置 */
	transform: translateY(16px);
}
/***** メニューオープン時 *****/
.btn-line.open {
	/* 真ん中の線を透明に */
	background-color: transparent;
}
.btn-line.open::before , .btn-line.open::after {
	content: "";
	background-color: #333;
	transition: .2s;
}
.btn-line.open::before {
	/* 上の線を傾ける */
	transform: rotate(45deg);
}
.btn-line.open::after {
	/* 上の線を傾ける */
	transform: rotate(-45deg);
}
/**************** ここまで、ハンバーガーボタンのスタイリング ****************/
/**************** 以下、メニューのスタイリング ****************/
.menu {
	/* メニューを縦に */
	display: flex;
	flex-direction: column;
	position: fixed;
	/* メニューの位置マイナス指定で画面外に */
	right: -70%;
	width: 70%;
	height: 100vh;
	background-color: rgb(106 193 117 / 89%);
	color: #efefef;
	transition: .3s;
	z-index: 100;
	padding-inline-start: initial;
    padding-left: initial;
}
.menu-list {
	/* メニューテキスト位置をリスト内中心に */
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding-block: 20px;
}
.menu-list:hover {
	background-color: rgba(255, 255, 255, .5);
	color: #333;
	cursor: pointer;
	transition: .3s;
}
/***** メニューオープン時位置0にして画面内に *****/
.menu.open {
	right: 0;
	top: 0;
	 padding-top: 60px;
}	
}
/* 600px以上はハンバーガーボタン非表示、ヘッダー固定 */
@media screen and (min-width: 1000px) {
	.btn {
		display: none;
	}
    .menu {
        display: flex;
        flex-direction: row;
        height: 100%;
        align-items: center;
    }
	header nav{
		height: 90px;
	}
	header .flex {
	justify-content: space-between;
	        align-items: center;
	}
	li.menu-list {
    height: 100%;
}
	li.menu-list > a {
    padding-inline:10px;
    line-height: 90px;
}

/**************** ここまで、メニューのスタイリング ****************/
}

/****************アコーディオン ****************/

/* 必須 */
.accordion-content {
  display: none;
}


.accordion-header {
  background-color: #3eb489;
  color: #FFF;
   padding-block: clamp(16px, 1.6vw, 24px);
padding-inline: clamp(20px, 3.2vw, 40px);
padding-right: calc(clamp(20px, 3.2vw, 40px) + 2rem);
margin-top: clamp(12px, 1.4vw, 16px);
transition: background .3s ease;
cursor: pointer;
position: relative;
}

.accordion-header::before,
.accordion-header::after{
position:absolute;
content:'';
top:1px;
right:20px;
bottom:0;
width:12px;
height:2px;
margin:auto;
background:#FFF26D;
}
.accordion-header::after{
  transform:rotate(-90deg);
  transition:transform 0.3s;
}
.accordion-header.active::after{transform:rotate(0deg);}

.accordion-content {
  background-color: #FFF;
    padding-block: clamp(16px, 1.6vw, 24px);
padding-inline: clamp(20px, 3.2vw, 40px);
}

.accordion-header span,
.accordion-content span{
  padding-left: 25px;
  position: relative;
}

.accordion-header span::before{
  position: absolute;
  content:"Q";
  top: 2px;
  left: 0;
  color: #ffffff;
  font-size: 17px;
}


.accordion-content span::before{
    position: absolute;
  content:"A";
  top: 3px;
  left: 0;
  color: #151E2F;
  font-size: 17px;
}

/* hover */
.accordion-header:hover {
  background-color: #3cdea2;}



  /* フォーム全体のスタイリング */
.custom-form {
    margin: 0 auto; /* 中央に配置 */
    color: #151E2F; /* テキストの色を濃いグレーに設定 */
}

.custom-form label {
    display: inline-block; /* ラベルを独立したブロック要素として扱う */
    margin-bottom: 8px; /* ラベル下に余白を追加して間隔を調整 */
}

/* 必須ラベルのスタイリング */
.custom-form .required {
    display: inline-block; /* 必須ラベルをインラインで表示 */
    margin-left: 5px; /* ラベルと必須マークの間隔を調整 */
    padding: 2px 6px; /* 内側の余白を設定して視認性を向上 */
    font-size: 12px; /* 必須ラベルの文字サイズを指定 */
    background-color: #FFEB3B;
    border-radius: 3px; /* ラベルを角丸にして柔らかい印象に */
    font-weight: bold; /* ラベルの文字を太字に */
}

/* 入力フィールド */
.custom-form input[type="text"],
.custom-form input[type="email"],
.custom-form input[type="tel"],
.custom-form input[type="date"],
.custom-form select,
.custom-form textarea {
    width: 100%; 
	max-width: 100%;
    padding: 10px; 
    margin-bottom: 30px; 
    border: 2px solid #3eb489; 
    border-radius: 5px; 
    background: #f8f9fa; 
    transition: border-color 0.3s ease, background-color 0.3s ease; /* フォーカス時のスムーズな変化を設定 */
}

.custom-form input[type="date"],
.custom-form select {
    width: initial; 
}

.custom-form input[type="text"]:focus,
.custom-form input[type="email"]:focus,
.custom-form input[type="tel"]:focus,
.custom-form input[type="date"]:focus,
.custom-form select:focus,
.custom-form textarea:focus {
    border-color: #8ccad7; /* フォーカス時の枠線色を強調 */
    outline: none; /* ブラウザデフォルトのフォーカス枠を削除 */
    background: #e6f7fa; /* フォーカス時の背景色をメインカラーの薄いバリエーションに変更 */
}

/* 送信ボタンの調整 */
.custom-form input[type="submit"] {
    display: block; /* ブロック要素として中央揃えしやすく設定 */
    width: 80%; /* ボタン幅を適度に制限 */
    margin: 0 auto; /* ボタンを中央寄せ */
    border-radius: 999em;
    box-shadow: #FF2000 0px 4px 0px;
    padding: 8px 5%;
    transition: background-color 0.3s ease; 
	    background-color: #ED765B;
    color: #fff;
		border: none;
}

.custom-form input[type="submit"]:hover {
    background: #FF2000; /* ボタンホバー時にメインカラーの濃いバリエーションを表示 */
}