@charset "UTF-8";
/*------------------------------------------------------------
	Reset
------------------------------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, nav, section, time, mark, audio, video {
 font-size: 1em;
 margin: 0;
 padding: 0;
 border: 0;
 outline: 0;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
 display: block;
}
html {
 font-size: 62.5%;
 scroll-behavior: smooth;
}
body {
 -webkit-text-size-adjust: 100%;
}
body, table, input, textarea, select, option, h1, h2, h3, h4, h5, h6, p {
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 margin: 0;
 padding: 0;
}
h1, h2, h3, h4, h5, h6 {
 font-weight: 700;
}
table, input, textarea, select, option {
 line-height: 1.1;
}
ol, ul {
 list-style: none;
}
blockquote, q {
 quotes: none;
}
:focus {
 outline: 0;
}
ins {
 text-decoration: none;
}
del {
 text-decoration: line-through;
}
img {
 vertical-align: bottom;
}
hr {
 height: 0;
 margin: 0;
 padding: 0;
 border: 0;
}
button {
 background-color: transparent;
 border: none;
 cursor: pointer;
 outline: none;
 padding: 0;
 appearance: none;
 font-family: inherit;
 font-size: inherit;
 font-weight: inherit;
}
a {
 color: inherit;
 text-decoration: none;
 -webkit-transition: all 100ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
 transition: all 100ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
}
a:hover {
 cursor: pointer;
 -webkit-transition: all 100ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
 transition: all 100ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
}
img {
 max-width: 100%;
 width: auto;
 height: auto;
}
a:hover img {
 opacity: 0.7;
}
figure, img {
 pointer-events: none;
}
.fadein {
 opacity: 0;
 transform: translate(0, 40px);
 transition: all 1000ms;
}
.fadein.scrollin {
 opacity: 1;
 transform: translate(0, 0);
}
/*------------------------------------------------------------
	layout
------------------------------------------------------------*/
body {
 font-family: "ヒラギノ角ゴ Pro W5", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
 font-size: 1.6rem;
 line-height: 1.8em;
 letter-spacing: 0.05em;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 text-rendering: optimizeLegibility;
 color: #333;
 width: 100%;
 height: 100%;
 padding: 0;
 background-color: #f5f5f5;
 font-style: inherit;
 font-weight: inherit;
}
b, strong, .bold {
 font-weight: 800;
}
/* IEだけに適応 */
_:lang(x)::-ms-backdrop, .selector {
 /*font-family: 'Noto Sans JP', "Segoe UI", Meiryo, sans-serif;*/
}
.images {
 margin: auto;
 width: inherit;
 max-width: 100%;
 height: inherit;
 padding: 0;
 position: absolute;
 left: 0;
 right: 0;
 top: 0;
 bottom: 0;
 -webkit-transition: all .8s cubic-bezier(.2, 1, .2, 1);
 transition: all .8s cubic-bezier(.2, 1, .2, 1);
}
a:hover .images {
 -webkit-transform: scale3d(1.1, 1.1, 1.1);
 transform: scale3d(1.1, 1.1, 1.1);
}
.loadingWrap {
 width: 100%;
 height: 100%;
 position: fixed;
 background-color: #fff;
 top: 0;
 left: 0;
 z-index: 10000;
}
.loadingWrap img {
 position: absolute;
 top: 50%;
 left: 50%;
 margin-top: -40px;
 margin-left: -100px;
 width: 200px;
}
.en {
 font-family: Arial, Helvetica, sans-serif;
 letter-spacing: 1px !important;
}
.emerald {
 color: #0067ad;
}
a.link {
 color: #0067ad;
 text-decoration: underline;
}
a.link:hover {
 text-decoration: none;
}
.bg_white {
 background-color: rgba(255, 255, 255, 1);
}
.bg_gray {
 background: #f4f4f4;
}
#container {
 width: 100%;
 margin: 0 auto;
 position: relative;
}
.contents {
 margin: 0 auto;
 width: 90%;
 max-width: 1100px;
 font-weight: 500;
 padding: 30px 0;
}
.contents .article {
 max-width: 1100px;
 margin: 3rem auto;
 padding: 3rem 1.8rem;
}
.title {
 text-align: center;
 margin: 0 auto 3rem;
 font-size: clamp(2.2rem, 4vw, 4rem);
 line-height: 1.6em;
 font-weight: 700;
 font-feature-settings: "palt"1;
 letter-spacing: 1px;
 padding: 0 2.8em;
 width: fit-content;
 position: relative;
}
.title::before, .title::after {
 content: '';
 background: #C9A334;
 width: 2em;
 height: 3px;
 position: absolute;
 top: 50%;
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 transform: translateY(-50%);
}
.title::before {
 left: 0;
}
.title::after {
 right: 0;
}
.sub-title {
 font-size: clamp(1.6rem, 2vw, 2.4rem);
 line-height: 1.6em;
 font-weight: 700;
 margin-bottom: 1rem;
}
.sub-title.center {
 font-size: clamp(1.6rem, 2vw, 3rem);
}
.sub-title strong {
 color: #C9A334;
}
.heading {
 position: relative;
}
.header-area {
 background-color: #fff;
 border-bottom: 1px solid #ddd;
}
.header-title {
 display: block;
 width: 90%;
 margin: auto;
 padding: 2.4rem 0;
 text-align: center;
 font-size: clamp(2.2rem, 4vw, 4rem);
}
.book-all {
 background-color: #fff;
 padding: 3rem 1.8rem;
}
.article-list {
 font-feature-settings: "palt"1;
}
.article-list-item dl {
 padding: 1rem 0;
 display: table;
 width: 100%;
 line-height: 1.6em;
}
.article-list-item dl dt {
 display: table-cell;
 width: 90px;
 vertical-align: top;
 white-space: nowrap;
 padding-right: 12px;
 font-weight: bold;
}
.article-list-item dl dd {
 display: table-cell;
 width: -webkit-calc(100% - 90px);
 width: calc(100% - 90px);
 vertical-align: top;
 padding-left: 20px;
 position: relative;
}
.article-list-item dl dd::before {
 content: "：";
 position: absolute;
 left: 0;
}
.book-cover {
 width: 70%;
 max-width: 400px;
 margin: 0 auto 2rem;
}
.contents .cap {
 font-size: .85em;
 opacity: .8;
 line-height: 1.4em;
}
.contents .txt {
 max-width: 1000px;
 margin: auto;
 font-feature-settings: "palt"1;
}
.article p {
 margin-bottom: 1.6em;
}
.center {
 text-align: center;
}
.decimal, .mokuji {
 max-width: 870px;
 margin: 20px auto;
 line-height: 1.6em;
 position: relative;
}
.decimal li {
 list-style-type: decimal;
 margin-bottom: 2rem;
}
.mokuji li {
 margin-bottom: 3rem;
}
.mokuji .inner {
 margin-left: 60px;
}
.midashi {
 position: relative;
 padding-left: 32px;
}
.midashi::before {
 content: "■";
 color: #C9A334;
 font-size: 1.1em;
 position: absolute;
 left: 0;
}
ul.disc {
 list-style-type: disc;
 margin-left: 2rem;
 position: relative;
}
ul.disc li {
 line-height: 1.6em;
 margin-bottom: 1.2rem;
}
.fotter {
 background-color: #f4f4f4;
 color: #333;
 padding-bottom: 10px;
}
.fotter .common-link-list {
 text-align: center;
 padding: 0 5px 10px;
}
.fotter .common-link-list .item {
 display: inline-block;
 float: none;
 font-size: 0.9em;
 padding-bottom: 10px;
}
.fotter .common-link-list .item a {
 color: #333;
}
.fotter .common-link-list .item::after {
 content: " ｜ ";
 color: #666;
}
.fotter .common-link-list .item:nth-last-child(2)::after, .fotter .common-link-list .item.item--copyright::after {
 content: "";
}
.fotter .common-link-list .item.item--copyright, .copyright, .f-info {
 display: block;
 float: none;
 text-align: center;
 width: 100%;
 font-size: 0.7em;
 margin-top: 10px;
 letter-spacing: .5px;
}
.link_box {
 width: 100%;
 max-width: 500px;
 margin: 2em auto 0;
}
.link_box .btn {
 padding: 1.8rem 1rem;
 border-radius: .5rem;
 color: #fff;
 background-color: #C9A334;
 display: block;
 text-align: center;
 box-shadow: 0px 1px 1px rgb(0 0 0 / 20%);
 font-size: clamp(1.6rem, 2vw, 2.2rem);
 font-weight: bolder;
 line-height: 1em;
 white-space: nowrap;
 position: relative;
 font-feature-settings: "palt"1;
}
.link_box .btn:hover {
 background-color: #000;
}
.link_box .btn::after {
 right: 20px;
 width: 12px;
 height: 12px;
}
@media screen and (min-width : 813px) {
 .header-title {
  padding: 4rem 0;
 }
 .contents .article {
  padding: 4rem 1.8rem;
 }
}
@media screen and (min-width : 980px) {
 .book-all {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 5rem;
  margin: auto;
  padding: 3rem 10rem;
 }
 .book-cover {
  width: 40%;
  min-width: 300px;
  flex-shrink: 0;
  margin-bottom: 0;
 }
 .book-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
 }
}
@media screen and (max-width : 812px) {
 body {
  font-size: 1.45rem;
  letter-spacing: normal;
 }
 .contents {
  padding: 20px 0;
 }
 .midashi {
  padding-left: 24px;
 }
 .mokuji .inner {
  margin-left: 24px;
 }
}
.sp {
 display: none;
}
@media screen and (max-width : 812px) {
 .sp {
  display: block;
 }
 .pc {
  visibility: hidden;
  display: none;
 }
}