@charset "utf-8";

/* common.css　共通設定*/


/* ===============================================
 * リセット & 基本設定
 * =============================================== */

html {
  -moz-text-size-adjust: none;
  text-size-adjust: none;
  font-size: 62.5%;
  scroll-behavior: smooth; /* ← スムーズスクロールをデフォルトに */
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin: 0; 
}

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
	color: #333;
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	line-height: 1.7; 
	background: #FFF;
	min-height: 100vh;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  height: auto; 
  display: block; /* ← vertical-alignが不要になり、下の隙間問題も解決 */
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font: inherit;
}

/* Remove default styling for buttons and inputs */
button,
input {
  border-radius: 0; /* iOSでの角丸をリセット */
  -webkit-appearance: none; /* iOSなどで適用される独自のUIパーツの見た目をリセット */
  -moz-appearance: none;
  appearance: none;
  background-color: transparent; /* 背景色をリセット */
  border: none; /* 枠線をリセット */
  padding: 0; /* パディングをリセット */
  margin: 0; /* マージンをリセット */
  color: inherit; /* 文字色を継承 */
}

/* Add some basic styling for buttons for usability */
button {
  cursor: pointer; /* カーソルをポインターに */
  display: inline-block; /* インラインブロック要素に */
  text-align: center; /* テキストを中央揃えに */
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}


/* ===============================================
 * リンク設定
 * =============================================== */
a { 
	color: #333;
	text-decoration: none;
}


/* ===============================================
 * ユーティリティ（便利クラス）
 * =============================================== */

/* clearfix */
.cf::before, .cf::after { content: ""; display: table; }
.cf::after { clear: both; }

/* SP/PC表示切り替え */
.for-sp {
	display: none;
}
.for-pc {
	display: block;
}

@media only screen and (max-width: 768px) { 
	.for-sp {
		display: block;
	}
	.for-pc {
		display: none;
	}
}


/* ===============================================
 * アクセシビリティ対応
 * =============================================== */

/* OSやブラウザで「動きを減らす」設定を有効にしているユーザー向けに、アニメーションやスムーズスクロールを無効化します */
@media (prefers-reduced-motion: reduce) {
  html {
	scroll-behavior: auto;
  }
  
  *,
  *::before,
  *::after {
	animation-duration: 0.01ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: 0.01ms !important;
	scroll-behavior: auto !important;
  }
}


