@charset "UTF-8";
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


/* トップ
-------------------------------------------------*/
body *{
	box-sizing: border-box;
}
main {
  background-color: #fff;
  text-align: center;
}
#top {
  background-color: #D5F4FC;
  border-bottom: solid 5px #265D9B;
}

@media screen and (max-width: 639px) {
  h1 img {
    padding: 3em 0 1em ;
    width: 90%;
  }
}

@media screen and (min-width: 640px),print {
  h1 img {
    margin: 3em 0 1em;
    max-width: 500px;
  }
}


/* ステップバー
-------------------------------------------------*/
/* 共通の枠組み・リスト初期化 */
.cs-step-wrapper {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 2em;
  padding: 20px 0;
}
.cs-step-list {
  display: flex;
  padding: 0;
  margin: 0;
}
/* 各ステップの項目（等間隔に配置） */
.cs-step-item {
  flex: 1; /* すべてのステップを同じ幅に均等割付 */
  position: relative;
  text-align: center;
}
/* 繋ぎのライン（疑似要素で描画） */
.cs-step-item::after {
  content: '';
  position: absolute;
  top: 16px; /* 丸の高さの中央に配置（32pxの半分 = 16px）+ border分 */
  left: 50%; /* 自分の丸の中央からスタート */
  width: 100%; /* 次の丸の中央まで線を引く */
  height: 4px;
  background-color: #e2e8f0; /* 未完了のグレー線 */
  z-index: 1;
}
/* 一番最後の項目には線を引かない */
.cs-step-item:last-child::after {
  content: none;
}
/* 丸型アイコン */
.cs-step-circle {
  position: relative;
  z-index: 2; /* 繋ぎの線より上に表示 */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #e2e8f0; /* 未完了のグレー */
  color: #94a3b8;
  font-weight: bold;
  margin-bottom: .3em;
}
/* テキスト（ラベル） */
.cs-step-label {
  display: block;
  font-weight: bold;
  color: #94a3b8; /* 未完了のグレーテキスト */
}
/* ステータス別のスタイル変化（完了・現在地） */
/* ▼ 完了済（is-completed）のスタイル ▼ */
.cs-step-item.is-completed .cs-step-circle {
  background-color: #265D9B; 
  color: #fff;
}
.cs-step-item.is-completed::after {
  background-color: #265D9B; /* 次へ続く線もブルーに塗る */
}
.cs-step-item.is-completed .cs-step-label {
  color: #475569; /* 少し濃いグレー */
}
/* ▼ 現在地（is-active）のスタイル ▼ */
.cs-step-item.is-active .cs-step-circle {
  background-color: #265D9B;
  color: #fff;
}
.cs-step-item.is-active .cs-step-label {
  color: #265D9B; /* テキストもブルーにして目立たせる */
  font-weight: bold;
}

@media screen and (max-width: 639px) {
  .cs-swipe-item {
    min-width: 30%;
  }
  .cs-step-label {
    font-size: .8em;
  }
}


/* 入力フォーム
-------------------------------------------------*/
#form {
  padding: 3em 0;
}
form {
  padding: 0 2em;
}
form dl {
  margin-bottom: 2em;
  padding: 1em 0 0;
  display: flex;
  flex-direction: column;
}
form dt {
  margin-bottom: .5em;
  padding: 0;
  width: 14em;
  float: left;
  font-weight: bold;
  text-align: start;
}
.must {
  margin: 0 .5em;
  padding: .4em .5em;
  background-color: #c73b3b;
  border-radius: 5px;
  color: #fff;
  font-size: 70%;
  font-weight: normal;
  vertical-align: text-top;
}
form dd {
  width: 100%;
	margin: 0 0 2em;
	min-height: 3em;
	line-height: 2em;
  text-align: start;
}
.form p {
  margin-top: .5em;
  padding-left: 1em;
  line-height: 1.5;
  text-indent: -1em;
}
input[type="radio"] {
  margin-right: .2em;
}
/* 入力欄を選択したときに背景色が変わる */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus {
  background-color: #D5F4FC;
}

@media screen and (max-width: 639px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"] {
    width: 100%;
    border-radius: 1px;
    outline: solid 1px #999;
  }
  #form dd label:last-child {
    margin-right: 0;
  }
}

@media screen and (min-width: 640px),print {
  #form {
    margin: 0 auto;
    max-width: 1000px;
  }
  input[type="text"],
  input[type="email"] {
    width: 60%;
  }
}


/*個人情報保護方針
-------------------------------------------------*/
.attention {
margin: 1em 0;
padding: 1em;
background-color: #F8F8F8;
font-size: 90%;
  line-height: 1.8;
}
.attention p{
  padding: 0 0 .3em;
  text-indent: 0;
}
.title {
font-weight: bold;
}
.attention ul {
  padding: .5em 0;
  background-color: #F8F8F8;
}

/*送信ボタン
-------------------------------------------------*/
input[type="submit"] {
  min-width: 50%;
  padding: .5em 2em;
  margin: 0 auto;
  border-radius: 15px;
  display: block;
  font-size: 120%;
  color: #fff;
  background-color: #265D9B;
  border: 2px solid #265D9B;
  cursor: pointer;
}
/* ボタンが無効のとき 
input[type="submit"]:disabled {
background-color: #D5F4FC;
border: 1px solid #D5F4FC;
color: #999;
cursor: not-allowed;
}*/
/* ボタンが有効なときだけホバー効果を適用 */
input[type="submit"]:not(:disabled):hover {
  background: #fff;
  border: 2px solid #265D9B;
  color: #265D9B;
}


/*完了画面｜エントリーページ 
-------------------------------------------------*/
#thanks {
  padding: 6em 2em;
  line-height: 2;
}
#thanks a {
  width: 30%;
	padding: .5em 1em;
	margin: 3em auto 0;
  border-radius: 15px;
	display: block;
  font-size: 75%;
	color: #fff;
	background-color: #265D9B;
}
@media screen and (max-width: 639px) {
}
@media screen and (min-width: 640px),print {
}