@charset "utf-8";

/* reset */
* { padding: 0; margin: 0; box-sizing: border-box; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }
address, caption, cite, code, dfn, em, var { font-style: normal; font-weight: normal; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
q:before, q:after { content: ''; }
abbr, acronym { border: 0; }
section, article { display: block; }

/* base */
html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body {
  animation: fadeIn 2s ease 0s 1 normal; -webkit-animation: fadeIn 2s ease 0s 1 normal;
  font-feature-settings : "palt"; background-size: 100% auto;
  font-family: "A-OTF A1明朝 Std Bold", "A1明朝", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 2.6em; color: #000; letter-spacing: 0.1em; }
img { vertical-align: bottom; height: auto; width: 100%; }

/* link */
a:link, a:visited, a:active { text-decoration: none; padding-bottom: 0.2em; border-bottom-width: 1px; border-bottom-style: dashed; border-bottom-color: #2D8CCE; color: #2D8CCE; }
a:hover { color: #2D8CCE; text-decoration: none; }

/* fadein */
.fadein { opacity : 0; transform: translateY(0); transition: all 0.6s; }
@keyframes fadeIn { 0% { opacity: 0 } 100% { opacity: 1 } }
@-webkit-keyframes fadeIn { 0% { opacity: 0 } 100% { opacity: 1 } }

/* clear */
.clear { clear: both; }
.cbox { zoom: 100%; }
.cbox:after { content: " "; clear: both; height: 0; display: block; visibility: hidden; }

/* options */
.r { border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; }
.rl { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }

/* sp */
.pc { display: block !important; }
.sp { display: none !important; }
.pcbr { display: block !important; }
.spbr { display: inline !important; }

/* wrapper */
body { background-size:cover; background-position: center; background-attachment: fixed; background-image: url("../ss/21.jpg"); }
#wrapper { position: relative; min-width:1200px; }

/* header */
#header h1 img { position: fixed; top:3.5rem; right:3.5rem; height:auto; width: 12rem;  }
#header .title { width:100%; display: flex; justify-content: center; padding:25vh 0 12vh 0; }
#header .title img { width: 20rem; height:auto; margin:auto; filter: drop-shadow(0 0 10px rgba(0,0,0,0.8));  }

/* header */
#main { margin:auto; margin:0 25% 85vh 25%; padding:0 0 0 0; }
#main .txt { border-radius: 1em; -webkit-border-radius: 1em; -moz-border-radius: 1em; background-color: #fff; padding: 5rem; margin-right: auto; margin-bottom: 5em; margin-left: auto; overflow: hidden; letter-spacing: 0.2em; }
#main .txt h2 { font-size: 2em; line-height: 1.8em; margin: 0 0 1em 0; letter-spacing: 0.15em; margin-top: 2em; }
#main .txt h3 { font-size: 1.75em; margin: 0 0 1em 0; line-height: 1.5em; letter-spacing: 0.2em; color: #2D8CCE; }
#main .txt h4 { font-size: 1.75em; margin: 0 0 1.5em 0; line-height: 1.5em; letter-spacing: 0.2em; color: #2D8CCE; }
#main .txt h5 { font-size: 1.2em; margin: 2em 0 0.5em 0; line-height: 1.5em; display: block; color: #2D8CCE; }
#main .txt dl { display:flex; justify-content: space-between; flex-wrap:wrap; }
#main .txt dl dt { width:20%; font-size: 1.15em; margin: 0 0 1em 0; line-height: 1.6em; display: block; color: #2D8CCE; }
#main .txt dl dd { width:78%; font-size: 1.15em; margin: 0 0 1em 0; line-height: 1.6em; display: block; }
#main .txt dl dd a.mail { font-size: 0.8em; }
#main .txt dl dd ul { padding:0 0 0 0; }
#main .txt dl dd li { font-size: 0.9em; margin: 1em 0 0 0; line-height: 1.8em; padding:2em; background-color: #f4f4f4; }
#main .txt dl dd .att { font-size: 0.7em; display: block; margin: 0.4em 0 0 0; line-height:1.8em; letter-spacing:0.05; }
#main .txt dl dd .att_2 { font-size: 0.7em; display: block; margin: 1.5em 0 0 0; line-height:1.8em; letter-spacing:0.05; }
#main .txt dl .br { display: block; }
#main .txt p { font-size: 1.2em; line-height: 2em; text-align: justify; margin-bottom: 2em; }
#main .txt p.att { font-size: 1em; line-height: 1.8em; text-align: justify; margin-bottom: 2em; }
#main .txt p strong { border-bottom: solid 1px #cf2c2c; color:#cf2c2c; }
#main .txt p:last-child { margin: 0 0 0 0; }
#main .txt p:last-child { margin: 0 0 0 0; }
#main .txt a.bot { border-radius: 0.5em; -webkit-border-radius: 0.5em; -moz-border-radius: 0.5em; font-size: 1em; line-height: 2em; display: block; padding:0.8em; text-align: center; background-color: #2D8CCE; border:none; margin:1.5em 0 1.5em 0; color:#fff; }
#main .txt a.bot:hover { background-color: #333; color:#fff; }
#main .txt .osusume { border-top:solid 1px #ddd; padding:3em 0; }
#main .txt .osusume:last-of-type { border-bottom:solid 1px #ddd; margin:0 0 3em 0; }
#main .txt .osusume h4 { font-size: 1.3em; line-height: 1.2; margin:0 0 1em 0; padding:0 0 0 1em; border-left:solid 3px #2D8CCE; }
#main .txt .osusume p { font-size: 1.15em; margin: 0 0 0 0; line-height: 2em; }
#main .btn a { display:block; border:solid 1px #2D8CCE; font-size: 1.3em; line-height: 1.2; color:#fff; background-color: #2D8CCE; text-align: center; padding:0.75em; margin:1em 0; border-radius: 3em; }
#main .btn a:hover { background-color: #fff; color:#2D8CCE; }

/* table */
#main table { border-top:solid 1px #333; border-bottom:solid 1px #333; margin:1em 0 3em 0; }
#main table th,#main table td { border-top:solid 1px #333; font-size: 1.1em; line-height: 1.8em; padding:0.5em 0 0.5em 0; }
#main table th { white-space: nowrap; padding-right:1em; }
#main table td { padding-left:1em; padding-right:1em; text-align: center; }
#main table tr:first-child td:last-child { padding-right:0; text-align: center; }
#main table tr td:last-child { padding-right:0; text-align: left; }

/* footer */
footer { line-height: 1.75em; color: #fff; padding-bottom: 1em; overflow: hidden; text-align: center; padding-top: 1em; }
footer p { font-size: 0.7em; margin-top: 1em; margin-bottom: 1em; }
footer p a { font-size: 1.4em; border-bottom-color: #fff !important; color: #fff !important; }

/* sp */
@media screen and (max-width: 600px) {

html { min-width: 0px; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { line-height: 1.8em; background-size:cover; background-position: center; background-attachment:scroll;; background-image: none; }
#back { position: fixed;; top:0; left:0; width:100%; height:100vh; background-size:cover; background-position: top center; background-image: url("../ss/21.jpg"); }

/* sp */
.pc { display: none !important; }
.sp { display: block !important; }
.pcbr { display: inline !important; }
.spbr { display: block !important; }

/* wrapper */
#wrapper { min-width:0; padding-top:0; }

/* header */
#header h1 { text-align: center; margin:3vh 0 0 0 !important; }
#header .title { text-align: center; margin:0 0 0 0 !important; padding: 8vh 0; }
#header h1 img { position: static; height:20vh; width:auto; }
#header .title img { position: static; height:50vh; width:auto; filter: drop-shadow(0 0 10px rgba(0,0,0,1)); }

/* main */
#main { margin:auto; margin:0 3% 85vh 3%; padding:0 0 0 0; }
#main .txt { border-radius: 0.4em; -webkit-border-radius: 0.4em; -moz-border-radius: 0.4em; background-color: #fff; padding: 2em 6% 3em 6%; margin-right: auto; margin-bottom: 2em; margin-left: auto; overflow: hidden; letter-spacing: 0.2em; }
#main .txt h2 { font-size: 2em; line-height: 1.8em; margin: 0 0 1em 0; letter-spacing: 0.15em; margin-top: 2em; }
#main .txt h3 { font-size: 1.5em; margin: 0 0 0.8em 0; line-height: 1.6em; letter-spacing: 0.2em; color: #2D8CCE; text-align: left; }
#main .txt h4 { font-size: 1.4em; margin: 0 0 0 0; line-height: 1.6em; letter-spacing: 0.2em; color: #2D8CCE; }
#main .txt dl { flex-direction: column; }
#main .txt dl dt { width:100%; font-size: 1.2em; margin: 1em 0 0 0; line-height: 1.8em; display: block; }
#main .txt dl dd { width:100%; font-size: 1.2em; margin: 0.5em 0 0 0; line-height: 1.6em; display: block; }
#main .txt dl dd a.mail { font-size: 0.8em; }
#main .txt dl dd ul { padding:0 0 0 0; }
#main .txt dl dd li { font-size: 0.9em; margin: 1em 0 0 0; line-height: 1.8em; padding:1.4em; background-color: #f4f4f4; }
#main .txt dl .br { display: block; }
#main .txt p { font-size: 1.2em; line-height: 1.8em; text-align: justify; margin-bottom: 1.25em; }
#main .txt p:last-child { margin: 0 0 0 0; }
#main .txt .att { font-size: 0.9em; line-height: 1.8em; display: block; }
#main .txt a.small_link { font-size: 0.7em; line-height: 1.8em; letter-spacing: 0.1em; }
#main .txt .osusume h4 { font-size: 1.2em; line-height: 1.4; }
#main .txt .osusume p { font-size: 1.1em; letter-spacing: 0.1em; text-align: left; margin: 0 0 0 0; line-height: 2em; }

/* table */
#main table { border-top:solid 1px #333; border-bottom:solid 1px #333; margin:1em 0 1em 0; }
#main table th,#main table td { font-size: 1em; letter-spacing: 0.1; border-top:solid 1px #333;  line-height: 1.5em; padding:0.65em 0 0.65em 0; }
#main table th { white-space: nowrap; padding-right:0.4em; letter-spacing: 0; }
#main table td { padding-left:0.4em; padding-right:0.4em; text-align: center; }
#main table td:nth-child(2) { letter-spacing: 0; }
#main table tr:first-child td:last-child { padding-right:0; text-align: center; }
#main table tr td:last-child { padding-right:0; text-align: left; }

/* footer */
footer { line-height: 1.75em; color: #fff; overflow: hidden; text-align: center; }
footer p { font-size: 0.7em; margin-top: 0; margin-bottom: 1em; }
footer p a { font-size: 1.4em; }

}

/* size */
html {
  font-size: clamp(10px, 1.1vw, 16px);
}

@media screen and (max-width: 600px) {
  html {
    font-size: clamp(0px, 3.6vw, 100px);
  }
}
