@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@400;500;700&display=swap');


/*全体の設定*/
*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
p{
  line-height: 1.8;
  /*color: #707070;*/
}
body {
  font-family: 'Zen Maru Gothic', sans-serif;
  color: #444;
  overflow-x: hidden;
}

h2{
  font-size: 35px;
  color: #707070;
}

h3{
  font-size: 20px;
  font-weight: bold;
  color: #707070;
}

html {
  scroll-behavior: smooth;/*ページ内リンク　ジワーっと飛ぶ*/
}

/* ジャンプした時の位置をヘッダーの高さ分（約80px）ずらす */
section[id] {
  scroll-margin-top: 80px;
}


/* スマホ用（画面幅が768px以下の場合） */
@media screen and (max-width: 750px) {
  body {
    font-size: 16px;
  }
  h2 {
    font-size: 24px;
  }
  h3 {
    font-size: 18px;
  }
}




/* ===== ヘッダー ===== */
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  background: #fff;
  position: relative;
  z-index: 1000;
}

/* ロゴ */
.logo img {
  width: 160px;
}

/* チェックボックス消す */
#menu-btn {
  display: none;
}

/* ===== ハンバーガー ===== */
.menu-icon {
  display: none;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
  z-index: 1100;
}

.menu-icon span {
  width: 30px;
  height: 2px;
  background: #333;
  display: block;
  transition: 0.3s;
}

/* ===== メニュー ===== */
.menu {
  display: flex;
  gap: 20px;
}

.menu a {
  text-decoration: none;
  color: #707070;
}

/* ボタン */
.btn {
  padding: 8px 14px;
  border-radius: 20px;
  color: #fff;
}

.orange {
  background: #F5B763;
}

.green {
  background: #BEDEAF;
  color: #333;
}

/* =========================
   SP（ここ重要）
========================= */
@media (max-width: 750px) {

  /* ハンバーガー出す */
  .menu-icon {
    display: flex;
    position: fixed;
    top: 20px;
    right: 20px;
  }

  /* メニュー隠す */
  .menu {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);

    width: 85%;
    max-width: 320px;
    background: #fff;
    border-radius: 20px;
    padding: 30px 20px;

    display: flex;
    flex-direction: column;
    gap: 15px;

    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
  }

  /* 開いた時 */
  #menu-btn:checked ~ .menu {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
  }

  /* ×に変形 */
  #menu-btn:checked + .menu-icon span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }

  #menu-btn:checked + .menu-icon span:nth-child(2) {
    opacity: 0;
  }

  #menu-btn:checked + .menu-icon span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
  }
}


/* プライバシーポリシー ページ専用設定 */
.policy_section {
  padding: 80px 20px;
  background: #fff;
}

.policy_header {
  text-align: center;
  margin-bottom: 60px;
}

.policy_content {
  max-width: 800px;
  margin: 0 auto;
  text-align: left; /* テキストは左寄せ */
}

.policy_item {
  margin-bottom: 50px; /* 項目ごとの大きな余白 */
}

.policy_item h3 {
  margin-bottom: 15px; /* 見出しと本文の間の余白 */
  border-left: 5px solid #F5B763; /* お好みで：左にオレンジの線を入れると見やすくなります */
  padding-left: 15px;
}

.policy_item p {
  font-size: 16px;
  line-height: 1.8;
  color: #555;
}

@media screen and (max-width: 750px) {
  .policy_section {
    padding: 50px 20px;
  }
  .policy_item {
    margin-bottom: 40px;
  }
}







/*フッター*/
/* ==========================================
   フッター（PC・スマホ共通のベース設定）
========================================== */
/* 下線 */
.line-style {
  border: none;                  /* デフォルトの線をリセット */
  border-top: 2px dashed #F5B763; /* 太さ2px、破線、赤色 */
  margin: 20px 0;                /* 上下の余白 */
  width: 80%;
  margin: 0 auto;
}

footer {
  background: white;
  text-align: center;
  padding: 40px 20px; /* 上下の余白を少し広げてバランスを調整 */
}

footer img {
  width: 200px;
  margin-bottom: 15px;
}

footer p {
  font-size: 14px;
  margin-bottom: 5px;
}

/* リンクを包むコンテナ（flexboxで横並びをコントロール） */
.link {
  display: flex;
  justify-content: center;
  flex-wrap: wrap; /* 画面幅が狭くなったら綺麗に折り返す */
  gap: 15px 20px;   /* リンク同士の「上下の隙間 15px」「左右の隙間 20px」 */
  margin-top: 20px;
}

.link a {
  text-decoration: none; 
  color: #707070;
  font-size: 14px;
  display: inline-block;
  white-space: nowrap; /* ★ 文字列の途中で変な改行が起きるのを防ぐ */
}

.link a:hover {
  opacity: 0.6;
}


/* ==========================================
   スマホ用の調整（@media 内）
========================================== */
@media screen and (max-width: 768px) {
  /* もし画面幅が320pxなどの極端に狭い端末で、横並びだとキツい場合は縦並びに切り替える */
  .link {
    gap: 12px; /* 縦並びの時の間隔 */
  }
}
