@charset "utf-8";

/* リセット
-------------------------------------------------- */
*,
*::before,
*::after { box-sizing: border-box;}
html { overflow-y: scroll; -webkit-text-size-adjust: 100%; text-size-adjust: 100%;}
html,
body,
h1,
h2,
h3,
h4,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td { margin: 0; padding: 0; font-size: 100%; font-weight: normal; vertical-align: baseline; border: 0;}
article,
header,
footer,
aside,
figure,
figcaption,
nav,
section { display: block;}
ol,
ul { list-style: none;}


/* 全体
-------------------------------------------------- */
body { width: 100%; margin: 0 auto; padding: 0; font-family: 'Lato', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; font-size: 1rem; color: #111; line-height: 1.6; letter-spacing: 0.05em; text-align: center; background: #fff;}
.wrap { width: 100%; margin: 0 auto;}
img { vertical-align: middle; border: 0;}
a,
a:visited { color: #333; text-decoration: underline;}
a:hover { color: #999; text-decoration: underline; opacity: 0.75; transition: all 0.3s;}


/* ヘッダー
-------------------------------------------------- */
header { width: 100%; margin: 0 auto;}
header::after { content: " "; display: block; clear: both;}
.head { width: 100%; margin: 0 auto; padding-top: 25px; background: #008040;}
.head img { padding: 10px 15px;}
.head h1 { float: left; width: 40%; text-align: left; background: #fff;}
.head .add { float: right; width: 60%; padding-top: 10px; padding-bottom: 10px; font-size: 0.8125rem; text-align: right; background: #fff;}
@media only screen and (max-width: 639px) {
  .head h1 { float: none; width: 100%; margin: 0 auto; text-align: center;}
  .head h1 img { width: 60%;}
  .head .add { float: none; width: 100%; margin: 0 auto; padding: 0; text-align: center;}
  .head .add img { width: 50%;}
}


/* タイトル
-------------------------------------------------- */
.title { width: 100%; min-height: 70px; margin: 0 0 20px 0;}
h2 { margin: 0 auto; padding: 0; font-size: 2rem; font-weight: normal; color: #000; line-height: 1; letter-spacing: 0.02em; text-align: center;}
h2 img { max-width: 100%;}
@media only screen and (max-width: 639px) {
  .title { margin: 0;}
}


/* 案内
-------------------------------------------------- */
.intro { margin-bottom: 50px; font-size: 0.875rem;}
.intro p { line-height: 2; text-align: left;}
.intro img { max-width: 100%; margin: 25px auto;}
.intro h3 { margin-bottom: 0; font-size: 100%; font-weight: normal; line-height: 2; text-align: left;}
.intro ul { margin: 0 0 25px 1.5em; padding: 0; line-height: 2; text-align: left; list-style: none;}
.intro ul li { position: relative; padding-left: 18px;}
.intro ul li::before { content: ""; position: absolute; top: 1em; left: 0; width: 10px; height: 10px; background: #008040; border-radius: 50%; transform: translateY(-50%);}
.intro p.notice { margin-left: 1.5em;}
.intro p.notice::before { content: "※"; margin-left: -1.5em;}
.formWrap > p { font-size: 0.875rem; line-height: 1.2;}
.formWrap > p.notice { padding: 10px; font-size: 0.8125rem; line-height: 1.5; background: #ffffe3; border: 1px solid #ffea53;}
.formWrap .privacy_policy { display: none;}


/* 見出し
-------------------------------------------------- */
h3 { margin-bottom: 20px; font-size: 1.25rem; font-weight: bold;}
.page-complete h3 { margin-top: 50px; font-size: 1.625rem;}
.page-complete p { font-size: 0.875rem; line-height: 1.2;}


/* メインボックス
-------------------------------------------------- */
.main { width: 100%; max-width: 48.75rem; margin: 0 auto; padding: 50px; background-color: #fff;}
@media only screen and (max-width: 639px) {
  .main { padding: 25px;}
}


/* フッター
-------------------------------------------------- */
footer { margin: 0 auto; padding: 10px 0;}
footer a,
footer a:hover { color: #555;}
.copyright { font-size: 0.6875rem; color: #555;}
