@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 1s ease 0s 1 normal; -webkit-font-smoothing: auto; -webkit-font-feature-settings: 'palt'; font-feature-settings: 'palt'; word-wrap : break-word; overflow-wrap : break-word; font-kerning: normal; -webkit-font-kerning: normal; font-size: 15px; font-family: Gidole, YuGothic, "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; text-align: center; letter-spacing: 0.04em; margin: 0px; box-sizing: border-box; background-color: #FFF; color: #333; padding: 0em; }
img { vertical-align: bottom; height: auto; width: 100%; }
::selection { background: #333333; color: #FFF; }
::-moz-selection { background: #333333; }

/* link */
a:link, a:visited, a:active { color: #333333; text-decoration: none; word-break: break-all !important; }
a:hover { color: #333333; text-decoration: none; transition: color 0.05s linear; -webkit-transition: color 0.05s linear; transition: border-color 0.05s linear; -webkit-transition: border-color 0.05s linear; transition: background-color 0.05s linear; -webkit-transition: background-color 0.05s linear; }
a:link img { transition: 0.2s linear; }
a:hover img { }

/* 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%; overflow: hidden; }
.rl { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
.pc { display:block; }
.sp { display:none; }
.pcbr { display:block; }
.spbr { display:inline; }
.pc_inline { display:inline; }
.sp_inline { display:none; }

/* flex */
.flex { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.fill { object-fit: cover; }

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

/* wordpress */
#contents .wp-caption.alignleft { float: left;  }
#contents .wp-caption.alignleft img {  }
#contents .wp-caption.alignleft .wp-caption-text { font-size: 0.8em; }
#contents .wp-caption.alignright { float: right;  }
#contents .wp-caption.alignright img {  }
img.centered { display: block; margin-left: auto; margin-right: auto; }
img.alignright { padding: 0px; margin: 0 0 20px 2%; display: inline; max-width: 47%; }
img.alignleft { padding: 0px; margin: 0 20px 2% 0; display: inline; max-width: 47%; }
.aligncenter { margin-top: 15px; margin-bottom: 15px; margin-right: auto; margin-left: auto; }
.alignright { float: right; margin-bottom: 20px; margin-left: 20px; }
.alignleft { float: left; margin-bottom: 20px; margin-right: 20px; }
img.aligncenter { display: block; }

/* youtube */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/* wrapper */
#wrapper { min-width:1200px; }

#header { position: relative; }
#header h1 { width:18%; position: absolute; top:10em; right:10%; }
#header .cover { padding:3em; }
#header .tag { width:25%; position: absolute; top:15em; left:0; }

#contents .lead { position: relative; }
#contents .lead .photo { position: relative; }
#contents .lead .photo img { object-fit: cover; width:100%; height:100%; }
#contents .lead .txt { position: absolute; top:0; right:10%; text-align: justify; padding:15em 0; }
#contents .lead h2 { font-size: 2em; line-height: 1.4em; font-weight: bold; margin:0 0 0 1.5em; }
#contents .lead p { font-size: 1.4em; line-height: 2.4em; margin:0 0 0 1em; }

#contents .book_a { width:70%; margin:7em auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; }
#contents .book_a .left { width:50%; margin:0 5% 0 0; }
#contents .book_a .right { width:33%; }
#contents .book_a .right ul { margin:3em 0 0 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content:space-between; align-items: center; }
#contents .book_a .right li { width:48%; }
#contents .book_a .right li a { cursor:pointer; display:block; border:solid 3px #ddd; }
#contents .book_a .right li a:hover { display:block; border:solid 3px #fbed21; }

#contents .book_b { width:80%; margin:7em auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; }
#contents .book_b .left { width:65%; margin:0 0 0 0; }
#contents .book_b .right { width:30%; margin:0 5% 0 0; font-size: 1em; line-height: 1.8em; text-align: justify; }
#contents .book_b .right img { margin:0 0 2em 0; }

#contents .slide_box { background-color: #f4f4f4; padding:7em 0; }
#contents .slide_box .slide li.item { padding:3em; }

#contents .information { margin:7em auto; background-color: #f4f4f4; padding:10em 12%; text-align: justify; }
#contents .information .txt:first-child { margin:0 0 6em 0; }
#contents .information .txt dl { display: flex; flex-direction: row-reverse;; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#contents .information .txt dt h2 { font-size: 1.8em; line-height: 1.8em; font-weight: bold; margin:0 0 0 1.5em; }
#contents .information .txt dt p { height:27rem; width:auto; font-size: 1.3em; line-height: 2.4em; margin:0 0 0 2em; }
#contents .information .txt dd img { height:27rem; width:auto; }
#contents .information { font-feature-settings : "normal"; }
_::-webkit-full-page-media, _:future, :root #contents .upright { font-feature-settings : "palt"; }

#contents .book_b a { border-bottom:solid 1px #000; }
#contents .book_b a:hover { color:#ddd; border-bottom:solid 1px #ddd; }

#contents .store { width:80%; margin:0 auto 5em auto; text-align: left; }
#contents .store h3 { font-size: 1.5em; line-height: 1em; font-weight:bold; margin:0 0 1em 0; }
#contents .store ul { border-top:solid 1px #ccc; border-bottom:solid 1px #ccc; padding:3em 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; }
#contents .store ul li a { cursor: pointer; border:solid 3px #ddd; display:block; margin:0 2em 0 0; }
#contents .store ul li a:hover { display:block; border:solid 3px #fbed21; }
#contents .store ul li img { width:auto; height:6em; }

#contents .banner { width:80%; margin:0 auto 5em auto; text-align: left; }
#contents .banner dl { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: center; }
#contents .banner dl dt { width:30%; margin:0 2em 0 0; }
#contents .banner dl dd { font-size: 1.1em; line-height: 1.8em; }

#footer { background-color: #f4f4f4; text-align: center; padding:4em 0; }
#footer ul { width:100%; margin:0 auto 2em auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; }
#footer ul li:first-child { width:20%; margin:0 2em; }
#footer ul li:nth-child(2) { width:10%; margin:0 2em; }
#footer p { font-size: 1em; line-height: 1.8em; }

/* modal */
.modalArea { display: none; position: fixed; z-index: 10; top: 0; left: 0; width: 100%; height: 100%; }
.modalBg { width: 100%; height: 100%; background-color: #eee; }
.modalWrapper { position: absolute; top: 50%; left: 50%; transform:translate(-50%,-50%); width: 90%; max-width: 90%; background-color: #fff; }
.modalContents { height:100vh; overflow-y: auto; padding: 5em 10%; }
.modalContents { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.modalContents h1 { width:100%; font-size: 2em; font-weight: bold; padding:0.5em; margin:0 0 0.5em 0; background-color: #fbed21; }
.modalContents .left { width:30%; text-align: left; }
.modalContents .mid { width:30%; text-align: left; }
.modalContents .right { width:30%; text-align: left; }
.modalContents dt { font-size: 1.2em; margin:1em 0 0.5em 0; font-weight: bold; }
.modalContents dd { font-size: 1.2em; line-height: 1.6em; padding:0 0 0 1em; margin:0 0 0 0.5em; border-left:solid 1px #333; }
.closeModal { font-size: 1.8em; line-height: 2em; width:2em; position: absolute; top: 0; right: 0; cursor: pointer; color:#333; background-color: #eee; }
.closeModal:hover { color:#fff; background-color: #333; }

/* sp */
@media screen and (max-width: 600px) {
body { font-size: 12px; }

/* options */
.rl { -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; font-feature-settings : "palt"; }
.pc { display:none; }
.sp { display:block; }
.pcbr { display:inline; }
.spbr { display:block; }
.pc_inline { display:none; }
.sp_inline { display:inline; }

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

#header { position: relative; margin:0 0 3em 0; }
#header h1 { width:33%; position: absolute; top:4.5em; right:10%; }
#header .cover { padding:6em 0 0 0; }
#header .tag { width:45%; position: absolute; top:3em; left:0; }

#contents .lead { position: relative; }
#contents .lead .photo { position: relative; }
#contents .lead .photo img { object-fit: cover; width:100%; height:100%; }
#contents .lead .txt { position: static; text-align: justify; padding:4em 10% 0 10%; }
#contents .lead h2 { font-size: 1.6em; line-height: 1.4em; font-weight: bold; margin:0 0 1em 0; }
#contents .lead p { font-size: 1.2em; line-height: 2em; text-align:justify; margin:0 0 0 0; }

#contents .book_a { width:100%; margin:0 auto 5em 0; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: center; align-items: center; }
#contents .book_a .left { width:100%; margin:0 0 0 0; }
#contents .book_a .right { width:65%; margin:auto; }
#contents .book_a .right ul { margin:3em 0 0 0; display: flex; flex-direction: column; flex-wrap: wrap; justify-content:space-between; align-items: center; }
#contents .book_a .right li { width:100%; margin:0 0 1.5em 0; }
#contents .book_a .right li:last-child { margin:0 0 0 0; }
#contents .book_a .right li a { cursor:pointer; display:block; border:solid 3px #ddd; }
#contents .book_a .right li a:hover { display:block; border:solid 3px #fbed21; }

#contents .book_b { width:100%; margin:0 auto 6em 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; }
#contents .book_b .left { width:100%; margin:0 0 2em 0; }
#contents .book_b .right { width:65%; margin:auto;  font-size: 1em; line-height: 1.8em; text-align: justify; }
#contents .book_b .right img { margin:0 0 2em 0; }

#contents .slide_box { background-color: #f4f4f4; padding:2em 0 5em 0; }
#contents .slide_box .slide li.item { padding:0.5em; }

#contents .information { margin:7em auto; background-color: #f4f4f4; padding:5em 10%; text-align: justify; }
#contents .information .txt:first-child { margin:0 0 5em 0; }
#contents .information .txt dl { height:auto; display: flex; flex-direction: row-reverse;; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#contents .information .txt dt h2 { font-size: 1.6em; line-height: 1.8em; font-weight: bold; margin:0 0 1em 0; }
#contents .information .txt dt p { font-size: 1.2em; line-height: 2em; margin:0 0 2rem 0; height:auto; width:100%; }
#contents .information .txt dd img { height:auto; width:100%; }

#contents .store { width:80%; margin:0 auto 5em auto; text-align: left; }
#contents .store h3 { font-size: 1.5em; line-height: 1em; font-weight:bold; margin:0 0 1em 0; }
#contents .store ul { border-top:solid 1px #ccc; border-bottom:solid 1px #ccc; padding:3em 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; }
#contents .store ul li { width:100%; }
#contents .store ul li a { cursor: pointer; border:solid 3px #ddd; display:block; margin:0 0 1em 0; }
#contents .store ul li a:hover { display:block; border:solid 3px #fbed21; }
#contents .store ul li img { width:100%; height:auto; }

#contents .banner { width:80%; margin:0 auto 5em auto; text-align: left; }
#contents .banner dl { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: center; }
#contents .banner dl dt { width:100%; margin:0 0 1em 0; }
#contents .banner dl dd { font-size: 1.1em; line-height: 1.8em;  }

#footer { background-color: #f4f4f4; text-align: center; padding:3em 0; }
#footer ul { width:100%; margin:0 auto 2em auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; }
#footer ul li:first-child { width:45%; margin:0 1em; }
#footer ul li:nth-child(2) { width:22%; margin:0 1em; }
#footer p { font-size: 0.8em; line-height: 1.8em; }

/* modal */
.modalArea { display: none; position: fixed; z-index: 10; top: 0; left: 0; width: 100%; height: 100%; }
.modalBg { width: 100%; height: 100%; background-color: #eee; }
.modalWrapper { position: absolute; top: 50%; left: 50%; transform:translate(-50%,-50%); width: 90%; max-width: 90%; background-color: #fff; }
.modalContents { width: 100%; height:94vh; overflow-y: auto; padding: 6em 10% 3em 10%; }
.modalContents { display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; align-items: flex-start; }
.modalContents h1 { width:100%; font-size: 1.4em; font-weight: bold; padding:0.5em; margin:0 0 0.5em 0; background-color: #fbed21; }
.modalContents .left { width:100%; text-align: left; }
.modalContents .mid { width:100%; text-align: left; }
.modalContents .right { width:100%; text-align: left; }
.modalContents dt { font-size: 1.2em; margin:1em 0 0.5em 0; font-weight: bold; }
.modalContents dd { font-size: 1.2em; line-height: 1.6em; padding:0 0 0 1em; margin:0 0 0 0.5em; border-left:solid 1px #333; }
.closeModal { font-size: 1.8em; line-height: 2em; width:2em; position: fixed; top: 0; right: 0; cursor: pointer; color:#333; background-color: #eee; }
.closeModal:hover { color:#fff; background-color: #333; }

}
@media screen and (max-width: 374px) {
body { font-size: 11px; }
}
@media screen and (min-width: 601px) and (max-width: 1280px) {
body { font-size: 12px; }
}
@media screen and (min-width: 1281px) and (max-width: 1300px) {
body { font-size: 12.18px; }
}
@media screen and (min-width: 1301px) and (max-width: 1325px) {
body { font-size: 12.36px; }
}
@media screen and (min-width: 1326px) and (max-width: 1350px) {
body { font-size: 12.54px; }
}
@media screen and (min-width: 1351px) and (max-width: 1375px) {
body { font-size: 12.72px; }
}
@media screen and (min-width: 1376px) and (max-width: 1400px) {
body { font-size: 12.9px; }
}
@media screen and (min-width: 1401px) and (max-width: 1425px) {
body { font-size: 13.08px; }
}
@media screen and (min-width: 1426px) and (max-width: 1450px) {
body { font-size: 13.26px; }
}
@media screen and (min-width: 1451px) and (max-width: 1475px) {
body { font-size: 13.44px; }
}
@media screen and (min-width: 1476px) and (max-width: 1500px) {
body { font-size: 13.62px; }
}
@media screen and (min-width: 1501px) and (max-width: 1525px) {
body { font-size: 13.8px; }
}
@media screen and (min-width: 1526px) and (max-width: 1550px) {
body { font-size: 13.98px; }
}
@media screen and (min-width: 1551px) and (max-width: 1575px) {
body { font-size: 14.16px; }
}
@media screen and (min-width: 1576px) and (max-width: 1600px) {
body { font-size: 14.34px; }
}
@media screen and (min-width: 1601px) and (max-width: 1625px) {
body { font-size: 14.52px; }
}
@media screen and (min-width: 1626px) and (max-width: 1650px) {
body { font-size: 14.7px; }
}
@media screen and (min-width: 1651px) and (max-width: 1675px) {
body { font-size: 14.88px; }
}
@media screen and (min-width: 1676px) and (max-width: 1700px) {
body { font-size: 15px; }
}
