@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 { font-family: "A-OTF A1明朝 Std Bold", "A1明朝", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-feature-settings : "palt"; word-wrap : break-word; overflow-wrap : break-word; font-kerning: normal; -webkit-font-kerning: normal; line-height: 2.6em; color: #333; font-size: 16px; letter-spacing: 0.2em; background-color: #fff; text-align: justify; }
img { vertical-align: bottom; height: auto; width: 100%; }

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

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

/* 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; }

/* wrapper */
#wrapper { position: relative; }

/* header */
#header { margin-right: auto; margin-left: auto; margin:auto; padding:0; position: relative; }
#header h1 { z-index: 999; position: absolute; top: 8%; left: 8%; display: block; padding-top: 1em; width: 13%; text-align: left; margin-top: auto; margin-right: auto; margin-bottom: 3em; margin-left: auto; }
#header .cover { width:70%; text-align: center; vertical-align: middle; margin:auto; position: relative; }
#header .cover .cap { text-align: right; font-size: 0.5em; line-height:1.8em; margin-top:2em; letter-spacing: 0.1em; position: absolute; right:3em; bottom:2em; color:#000;}
#header .lead_a img { position: absolute; top:10em; right:30%; width:auto; height:46em; z-index: 99; }
#header .lead_b img { position: absolute; top:10em; right:37%; width:auto; height:46em; z-index: 99;  }
#header .date { font-size: 1.2em; line-height:1.8em; margin:1.5em auto; width:30%; margin-left:15%; }

/* main */
#main { float: none; width: 60%; margin-right: auto; margin-left: auto; padding-top:5em; }
#main section { text-align: left; padding: 5em; margin-bottom: 4em; overflow: hidden; border-left:solid 1px #666; border-right:solid 1px #999;  }
#main h4 { font-size: 1.8em; margin-left: 8%; margin-right: 8%; margin-bottom: 1em; margin-top: 1em; line-height: 1.6em;  }
#main p { margin-bottom: 1em; padding-left: 8%; margin-top: 1em; font-size: 1.3em; padding-right: 8%; line-height: 2.4em; font-weight: normal; text-align: justify; }
#main p.photo { margin:3em 0; }
#main p.photo_cap { margin:2em 0 0.5em 0; }
#main p.att { font-size: 0.8em; line-height: 1.5em; margin-bottom:6em; }
#main p small { font-size: 0.8em; line-height: 1.5em !important; }

#main section.data { border-radius: 1em; -webkit-border-radius: 1em; -moz-border-radius: 1em;  border: none; padding-top:2em; padding-bottom:2em; background-color: #eee; }
#main section.toplink p { text-align: center; }

/* footer */
#main footer { text-align: center !important; display: block; padding-bottom: 5em; }
#main footer p { font-size: 0.8em; text-align: center !important; }

/* sp */
body { }
body { }
body { }
body { }
body { }
body { }
body { }

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

html { min-width: 0px; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { font-size: 13px; line-height: 1.8em;  }
/* sp */
.pc { display: none; }
.sp { display: block; }
.pcbr { display: inline; }
.spbr { display: block; }

/* back */
body { background-image: none; letter-spacing: 0.1em; }

/* header */
#header { margin-right: auto; margin-left: auto; width: 100%; margin-bottom: 2em; padding-top:0em;}
#header h1 { position: absolute; top: 1em; left: 2em; width: 40%;  }
#header .cover { padding-top:35vh; width:100%; margin:auto; }
#header .cover .cap { font-size: 0.5em; line-height:1.8em; margin-top:2em; letter-spacing: 0.1em; position: absolute; right:auto; left:2em; bottom:2em; color:#000;}
#header .lead_a img { position: absolute; top:11.5vh; right:15%; width:auto; height:60vh; z-index: 999; }
#header .lead_b img { position: absolute; top:12vh; left:auto; right:30%; width:auto; height:60vh; z-index: 999; }
#header .date { padding-top:4em; font-size: 1.2em; line-height:1.8em; width:77%; margin:1em auto; }

/* main */
#main { float: none; width: 94%; margin: auto; }
#main section { text-align: left; padding: 0; margin-bottom: 4em; overflow: hidden; border:none; }
#main p { margin-bottom: 1em; padding-left: 8%; margin-top: 1em; font-size: 1.2em; padding-right: 8%; line-height: 2em; font-weight: normal; text-align: justify; }
#main section.data { letter-spacing: 0.1em; border-radius: 1em; -webkit-border-radius: 1em; -moz-border-radius: 1em;  border: none; padding:1em; background-color: #eee; }

}

@media screen and (max-width: 374px) {
body { font-size: 11px; }
}
@media screen and (min-width: 471px) and (max-width: 1380px) {
body { font-size: 12px; }
}
@media screen and (min-width: 1381px) and (max-width: 1450px) {
body { font-size: 13px; }
}
@media screen and (min-width: 1451px) and (max-width: 1550px) {
body { font-size: 14px; }
}
@media screen and (min-width: 1551px) and (max-width: 1650px) {
body { font-size: 15px; }
}
