@charset "UTF-8";

/* --------------------------------------------------
  
-------------------------------------------------- */

main { padding: 40px 0; background: #f2f2ea; }
#page { margin: 0 auto; max-width: 880px; }
#page > section { margin-bottom: 55px; background: linear-gradient(#f2f2ea 20px, #fff 20px, #fff); }
#page > section .inner { margin-top: 20px; padding: 0 40px 20px; }
#page > section section { margin: 40px 0; }
#page > section section section { margin: 30px 0 40px; }
#page h1 { margin-bottom: 40px; padding-left: 40px; width: 880px; height: 100px; background: #c2e6dd; font-size: 3.2rem; display: flex; align-items: center; }
#page h2 { padding: 10px 20px; background: var(--primary); color: #fff; font-size: 3rem; display: inline-block; }
#page h2 br { display: none; }
#page h3 { margin-bottom: 20px; padding-bottom: 5px; border-bottom: solid 1px var(--primary); font-size: 2.4rem; }
#page h4 { color: var(--primary); font-size: 2.4rem; }
#page h5 { margin-bottom: 20px; padding: 10px 20px; background: #f4f4f4; font-size: 2rem; }
#page p { margin: 10px 0 20px; }

@media screen and (max-width: 768px) {
  main { padding: 20px 10px; }
  #page > section .inner { padding: 0 15px 20px; }
  #page > section section { margin: 30px 0; }
  #page > section section section { margin: 20px 0 30px; }
  #page h1 { margin-bottom: 30px; padding-left: 20px; width: 100%; height: 80px; font-size: 2.4rem; }
  #page h2 { font-size: 2.2rem; }
  #page h3 { font-size: 2rem; }
  #page h4 { font-size: 1.8rem; }
  #page h5 { font-size: 1.6rem; }
}

/* --------------------------------------------------
  table
-------------------------------------------------- */

#page table { margin: 10px 0; width: 100%; border-collapse: collapse; }
#page th, #page td { padding: 10px 20px; border: solid 1px #ccc; }
#page th { background: #daebc9; }

@media screen and (max-width: 768px) {
  #page table { border-bottom: solid 1px #ccc; }
  #page th, #page td { padding: 10px; width: 100%; display: block; }
  #page td { border-width: 0 1px; }
}

/* --------------------------------------------------
  ul, ol
-------------------------------------------------- */

#page ul, #page ol { margin: 20px 0 20px 30px; }
#page ul.check { margin: 20px 0; list-style: none; display: flex; flex-direction: column; gap: 10px 0; }
#page ul.check li { display: flex; gap: 5px; }
#page ul.check li::before { content: '\f00c'; color: #f76732; font-family: 'Font Awesome 7 Free'; font-weight: 900 }
#page ul.check.circle li::before { content: '\f058'; color: var(--secondary); }

@media screen and (max-width: 768px) {
  #page ul.check  { gap: 5px 0; }
}

/* --------------------------------------------------
  パンくず
-------------------------------------------------- */

#path { margin: 0 auto 10px; max-width: 880px; }
#path strong { font-weight: 400; }

@media screen and (max-width: 768px) {
  #path { margin-bottom: 20px; font-size: 1.4rem; }
}

/* --------------------------------------------------
  ページナビ
-------------------------------------------------- */

#page-navi { margin: 40px 0; }
#page-navi ul { margin: 0; list-style: none; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 0; }
#page-navi ul::before, #page-navi ul::after { content: ''; width: 32.5%; order: 1; }
#page-navi li { width: 32.5%; }
#page-navi li a { padding: 15px; height: 100%; background: linear-gradient(to top, var(--primary) 2px, #fff 2px, #fff); color: var(--primary); font-size: 1.8rem; font-weight: bold; display: flex; align-items: center; gap: 10px; transition: all .3s; }
#page-navi li a::before { content: ''; width: calc(20px/2); height: 18px; background: var(--primary); clip-path: polygon(0 0, 100% 50%, 0 100%); flex-shrink: 0; }
#page-navi li a.active { background: var(--primary); color: #fff; }
#page-navi li a.active::before { background: #fff; }
#page-navi li a:hover { background: var(--primary); color: #fff; text-decoration: none; }
#page-navi li a:hover::before { background: #fff; }

@media screen and (max-width: 768px) {
  #page-navi { margin: 30px 0; }
  #page-navi ul { gap: 10px 0; }
  #page-navi ul::before, #page-navi ul::after { width: 100%; }
  #page-navi li { width: 100%; }
  #page-navi li a { font-size: 1.6rem; }
}

/* --------------------------------------------------
  ボタン
-------------------------------------------------- */

#page .button { margin-bottom: 20px; display: flex; gap: 20px; }
#page .button a { padding: 10px 20px; background: var(--secondary); border: solid 2px var(--secondary); border-radius: 5px; color: #111; display: flex; align-items: center; justify-content: center; gap: 5px; transition: all .3s; }
#page .button a i { transition: all .3s; }
#page .button a:hover { background: #fff; text-decoration: none; }
#page .button a:hover i { transform: translateX(3px); }

#page .button-large { display: flex; justify-content: center; }
#page .button-large a { padding: 10px 30px; background: var(--primary); border-radius: 100vw; color: #fff; font-size: 2rem; font-weight: 600; letter-spacing: .01em; display: flex; align-items: center; justify-content: center; }
#page .button-large a img { height: 24px; filter: brightness(0) saturate(100%) invert(100%) sepia(24%) saturate(0%) hue-rotate(38deg) brightness(102%) contrast(101%); }
#page .button-large a:hover { text-decoration: none; }
#page .button-large a:hover img { transform: translateX(5px); }

@media screen and (max-width: 768px) {
  #page .button-large a { font-size: 1.8rem; }
  #page .button-large a img { height: 20px; }
}

/* --------------------------------------------------
  リンク
-------------------------------------------------- */

#page .link { display: flex; gap: 20px; }
#page .link ul { margin: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 10px; }
#page .link a { padding: 5px 20px; background: #eee; border-radius: 5px; color: #111; display: flex; align-items: center; justify-content: center; gap: 5px; transition: all .3s; }
#page .link a:hover { background: #666; color: #fff; text-decoration: none; }

@media screen and (max-width: 768px) {
}

/* --------------------------------------------------
  注意書き
-------------------------------------------------- */

/*
#page .warning { padding: 20px; background: #f4f4f4; }
#page .warning strong { font-size: 1.8rem; }
#page .warning p { margin: 0; }

@media screen and (max-width: 768px) {
}
*/

#page .note { padding: 30px; background: #f4f4f4; }
#page .note strong { font-size: 1.8rem; }
#page .note p { margin: 10px 0; }

@media screen and (max-width: 768px) {
  #page .note { padding: 20px; }
  #page .note strong { font-size: 1.7rem; }
}


/* --------------------------------------------------
  A-Form
-------------------------------------------------- */

#page .adorm-content dl { margin: 40px 0; }
#page .aform-content dt { margin-bottom: 10px; font-size: 1.8rem; font-weight: 700; }
#page .aform-content dd {}
#page .aform-content dd ul { margin: 0; }
#page .aform-content dd input[type="text"], #page .aform-content dd input[type="tel"], #page .aform-content dd input[type="email"] { margin: 5px 0; padding: 10px; border: solid 1px #ccc; font-size: 100%; }




/*
#page form dl { margin: 20px 0; }
#page form dt { margin-bottom: 10px; font-size: 1.8rem; font-weight: 700; }
#page form dt .aform-label { display: flex; align-items: center; gap: 10px; }
#page form dt .aform-required { padding: 2px 5px; background: #D92B00; border: solid 2px #D92B00; border-radius: 2px; color: #fff; font-size: 1.4rem; font-weight: 400; line-height: 1; display: inline-block; }
#page form dd {}
#page form dd .aform-input-example { margin-bottom: 5px; }
#page form dd input[type="text"], #page form dd input[type="tel"], #page form dd input[type="email"], #page form dd textarea { padding: 10px; border: solid 1px #ccc; font-size: 100%; }
#page form dd textarea { display: block; }
#page form dd ul { margin: 0; list-style: none; }
#page form dd span img { margin: 0 5px; vertical-align: baseline; }
#page form .aform-checkbox, #page form .aform-radio { margin-right: 5px; }
#page form .aform-error { margin-top: 10px; color: #D92B00; }
*/