@charset "UTF-8";
 /*
Theme Name: Ishiguro Tomoko
Author: Rui Ishiguro
Version: 1.0
*/
/*

Reset
------------------------------

リセットCSSとしてNormalize.cssを採用

normalize - [Normalize.css: Make browsers render all elements more consistently.](http://necolas.github.io/normalize.css/)


*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block; }

html {
  cursor: default;
  /* 1 */
  font-size: 100%;
  /* 2 */
  overflow-y: scroll;
  /* 3 */
  -webkit-tap-highlight-color: transparent;
  /* 4 */
  -ms-text-size-adjust: 100%;
  /* 5 */
  -webkit-text-size-adjust: 100%;
  /* 5 */ }

body,
form,
input,
button,
select,
textarea {
  font-size: 100%;
  /* 1 */
  margin: 0;
  /* 2 */ }

a,
a:active,
a:hover {
  outline: none;
  text-decoration: none;
  border: none;
  color: var(--color-theme);
}

a:focus {
  outline: thin dotted; }

abbr {
  _border-bottom: expression(this.title ? '1px dotted' : 'none'); }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

mark {
  background: #FF0;
  color: #000; }

pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
  _font-family: 'courier new', monospace;
  font-size: 1em; }

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

q {
  quotes: none; }

q:before,
q:after {
  content: '';
  content: none; }

small,
sub,
sup {
  font-size: 75%; }

sub,
sup {
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

nav ul {
  list-style: none; }

audio[controls],
canvas,
video {
  display: inline-block;
  *display: inline; }

audio {
  display: none;
  _display: expression(this.controls ? 'inline' : 'none');
  *zoom: 1; }

audio[controls] {
  display: inline-block; }

img {
  border: 0;
  /* 1 */
  -ms-interpolation-mode: bicubic;
  /* 2 */ }

svg:not(:root) {
  overflow: hidden; }

legend {
  *margin-left: -7px; }

button,
input[type="text"],
select,
textarea {
  -webkit-appearance: none;
  border-radius: 0;
  vertical-align: baseline;
  *vertical-align: middle; }

button,
input {
  line-height: normal;
  /* 1 */
  _overflow: expression(this.type == 'button|reset|submit' ? 'visible' : '');
  /* 2 */ }

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  overflow: visible; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box; }

input[type="search"] {
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

table {
  border-collapse: collapse;
  border-spacing: 0; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

a,
select {
  cursor: pointer !important;
}

* {
  padding: 0;
  margin: 0; }

.bg{
  background-color: #FFFFFF;
}

:root {
  --color-theme: #212529;
  --color-body: #212529;
  --color-bg: #FFFFFF;
  --color-link: #212529;
  --color-wh: #FFFFFF;
  --gap-sm:16px;
  --gap:32px;
  --gap-md:64px;
  --gap-lg:128px;
  --width-content-sm:672px;
  --width-content-md:980px;
  --width-content:1280px;
  --font-size-h1:3.2rem;
  --font-size-h2:2.4rem;
  --font-size-h3:2.0rem;
  --font-size-h4:2.0rem;
  --font-size-body:1.6rem;
  --font-size-body-2:1.3rem;
  --border-color:#ced4da;
  --border-color-hover:#868e96;
  --header-height:100px;
}

html {
  font-size: 62.5%;
}

body {
  border: solid 0px var(--color-bg);
  background: var(--color-bg);
  position: relative;
  -webkit-text-size-adjust: 100%;
  word-spacing: normal !important;
  line-height: 1.5;
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 500;
  font-weight: 300;
  font-weight: 200;
  font-style: normal;
  font-size: var(--font-size-body);
  color: var(--color-body);
}

img {
  width: 100%;
  height: auto;
  vertical-align: top;
  display: block; }

.fixed {
  position: fixed;
  width: 100%;
  height: 100%; }

ul {
  list-style: none;
}

h1,
h2,
h3,
h4 {
  display: block;
  width: 100%;
  margin: 0;
  font-weight: normal;
  font-style: normal;
  font-weight: 300;
  letter-spacing: 0.05em;
}

h1.logo,
.logo {
  font-size: var(--font-size-h2);
  letter-spacing: 0.15em;
  font-weight: 300;
}

h1,
.font-h1 {
  font-size: var(--font-size-h2);
  line-height: 1.5;
}

h2,
.font-h2{
  font-size: var(--font-size-h2);
  line-height: 1.5;
}

h3,
.font-h3 {
  font-size: var(--font-size-h3);
  line-height: 1.5;
}

h4,
.font-h4 {
  font-size: var(--font-size-h4);
  line-height: 1.5;
}


.btn-primary {
  display: inline-block;
  width: auto;
  padding: 4px 24px;
  background-color: var(--color-theme);
  color: var(--color-wh);
  border: 1px solid var(--color-theme);
  border-radius: 19px;
}
.btn-primary:hover {
  background-color: var(--color-wh);
  color: var(--color-theme);
  border: 1px solid var(--color-theme);
}

.inner {
  width: 100%;
  max-width: var(--width-content);
  padding-inline: var(--gap-md);
  margin: 0 auto;
}


.rte {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-sm) 0;
  line-height: 1.75;
  max-width: var(--width-content-md);
}

.rte p,
.rte h2,
.rte h3,
.rte ul,
.rte ul li,
.rte ol,
.rte ol li{
  display: inline-block;
  width: 100%;
}

.rte img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100vw;
  margin: 0 auto;
}

.rte h2,
.rte h3 {
  display: block;
  padding-top: var(--gap-md);
}

.rte p{
  font-size: var(--font-size-body);
}

.wrap{

}

/* header */

#header-demo{
  padding-block: var(--gap);
  position: fixed;
  top:0;
  left: 0;
  width: 100%;
  background-color: var(--color-bg);
  z-index: 2;
}

#header{
  padding-block: var(--gap);
  width: 100%;
}

#header .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.logo {
  display: inline-block;
  width: 50%;
}

.gb-nav {
  font-size: var(--font-size-body);
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.1em;
}

.gb-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
}

.gb-nav ul li{
  display: inline-block;
  width: auto;
}

.gb-nav ul li a {
  display: inline-block;
}

.plain:link,
.plain:visited{
  padding-block: 4px;
  border-top: 1px solid var(--color-bg);
  border-bottom: 1px solid var(--color-bg);
}
.active:link,
.active:visited,
.plain:hover{
  padding-block: 4px;
  border-top: 1px solid var(--color-bg);
  border-bottom: 1px solid var(--color-body);
}


.wrap {
  position: relative;
}



/* /header */

/* main */
#main {
  position: relative;
  z-index: 1;
  margin-block-start: var(--gap-sm);
}
#main.main-home,
#main.main-single {
  margin-block-start: 0;
}


.sec{
  margin-block: var(--gap-lg);
}
.sec:first-child{
  margin-block-start: 0;
}

.archive__header {
}

.archive__header + .sec,
.archive-title + .sec{
  margin-block-start: 0;
}


  .sec__body{
    margin-block-start: var(--gap-md);
  }
  .sec__footer{
    margin-block-start: var(--gap);
  }

  /* main-home */
  .one-sentence__title {
    margin-block-start: var(--gap);
  }
  .one-sentence__body {
    margin-block-start: var(--gap);
  }
  /* /main-home */

  /* element */
  .link-viewmore {
    font-size: var(--font-size-body);
    border-bottom: 1px solid var(--color-body);
    display: inline-block;
    font-weight: 300;
  }
  .link-viewmore:hover {
    border-bottom: 1px solid var(--color-bg);
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
  /* /element */

  /* block */
  .archive__body {
    margin-block-start: var(--gap-md);
  }
  .book__media {
    display: flex;
    flex-wrap: wrap;
    gap:var(--gap-md) var(--gap-md);
  }
    .book__img {
      width: 320px;
      cursor: pointer;
    }
      .book__img img {
        border: 1px solid var(--border-color);
      }
      .book__img:hover img {
        border: 1px solid var(--border-color-hover);
      }
    .book__body {
      width: calc(100% - 320px - var(--gap-md));
    }
      .book__content{
        margin-block-start: var(--gap);
      }
      .book__info {
        margin-block-start: var(--gap);
      }
      .book__link {
        display: inline-block;
        margin-block-start: var(--gap);
        font-size: var(--font-size-body);
        font-weight: 300;
        border-bottom: 1px solid var(--color-body);
      }

  .book__excerpt {
    margin-block-start: var(--gap-md);
  }
    .book__excerpt-media {
      margin-block-start: var(--gap);
      display: flex;
      flex-wrap: wrap;
      flex-direction: row-reverse;
      gap:var(--gap-md) var(--gap-md);
    }
    .book__excerpt-img {
      width: 480px;
    }
    .book__excerpt-body {
      width: calc(100% - 480px - var(--gap-md));
    }

  .book-de + .book {
    margin-block-start: var(--gap-md);
    padding-block-start: var(--gap-md);
    border-top: 1px solid var(--border-color);
  }
  .book {
    margin-block-end: var(--gap-md);
    padding-block-end: var(--gap-md);
    border-bottom: 1px solid var(--border-color);
  }

  .viewmore {
    text-align: right;
  }

  .products-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
  }

  .products-list__item {
    display: inline-block;
    width: calc((100% - (var(--gap) * 2)) / 3); /* 3列 */
  }
  .products-list__item img{
    border: 1px solid var(--border-color);
  }
  .products-list__item:hover img{
    border: 1px solid var(--border-color-hover);
  }


  .book__img-lin,
  .product-card__link,
  .book-card__link{
    display: block;
  }

  .product-card__img {
    aspect-ratio: 3 / 2;
    overflow: hidden;
  }

  .product-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .product-card__info {
    margin-block-start: calc(var(--gap-sm) / 2);
  }
  .product-card__title {
    font-size: var(--font-size-body);
    font-weight: 300;
  }

  .book-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
  }
  .book-card {
    width: calc((100% - (var(--gap) * 2)) / 3); /* 3列 */
  }
  .book-card__img {
    width: 100%;
    padding-block-start: 100%;
    position: relative;
  }
  .book-card__img img{
    position: absolute;
    width: auto;
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid var(--border-color);
  }
  .book-card:hover img{
    border: 1px solid var(--border-color-hover);
  }
  .book-card__body {
    margin-block-start: calc(var(--gap-sm) / 1);
  }
  .book-card__title {
    font-size: var(--font-size-body);
    font-weight: 300;
  }
  .book-card__info {
    margin-block-start: calc(var(--gap-sm) / 2);
    font-size: var(--font-size-body-2);
  }
  .infinite-trigger[data-loading="1"] .btn {
    opacity: .5;
    pointer-events: none;
  }
  .infinite-trigger[data-loading="1"]::after {
    content: "Loading...";
    display: block;
    text-align: center;
    padding: 1rem 0;
    font-size: 0.9rem;
    opacity: .6;
  }
  /* /block */

  /* single*/
  .article-product__hero {

  }
  .article-product__header {
    margin-block-start: var(--gap);
  }
  .article-product__body {
    margin-block-start: var(--gap);
  }
  .article-product__info {
    margin-block-start: var(--gap-sm);
  }
  .article-product__link{
    margin-block-start: var(--gap-sm);
  }
  .article-product__link-btn {
    display: inline-block;
    font-size: var(--font-size-body);
    font-weight: 300;
    border-bottom: 1px solid var(--color-body);
  }
  .article-product__link-btn:hover {
    border-bottom: 1px solid var(--color-bg);
  }
  /* /single*/

/* /main */

/* footer */

#footer {
  padding-block: var(--gap-md);
}

.footer-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.copyright{
  display: block;
  width: 100%;
  margin-block-start: var(--gap-sm);
  color: var(--color-body);
  font-size: var(--font-size-body-2);
}

.gt_selector{
  font-size: var(--font-size-body);
  border-top: 1px solid var(--color-bg);
  border-right: 1px solid var(--color-bg);
  border-left: 1px solid var(--color-bg);
  border-bottom: 1px solid var(--color-body);
  padding-block: 4px;
}
  select:focus {
    outline: none;
    border-top: 1px solid var(--color-body);
    border-right: 1px solid var(--color-bg);
    border-left: 1px solid var(--color-bg);
    border-bottom: 1px solid var(--color-body);
  }
  a:focus {
    outline: none;
  }
  a

.btn-top {
  display: inline-block;
  height: auto;
}

  .btn-top img {
    display: block;
    width: 100%;
    height: auto;
  }


.sm-hide {

}

.lg-hide {
  display: none;
}

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

  :root {
    --gap-sm:8px;
    --gap:16px;
    --gap-md:32px;
    --gap-lg:64px;
    --font-size-h1:3.0rem;
    --font-size-h2:2.2rem;
    --font-size-h3:2.0rem;
    --font-size-h4:2.0rem;
    --font-size-body:1.6rem;
    --font-size-body-2:1.3rem;
  }

  .sm-hide {
    display: none;
  }

  .lg-hide {
    display: block;
  }

  .inner {
    padding-inline: var(--gap);
  }
  .inner.inner-sm-full{
    padding-inline: 0;
  }

  /* header */
  #header {
    padding-block-start: calc(var(--gap) + 4px);
    padding-block-end: 0;
    width: 100%;
  }
  .gb-nav.lg-hide {
    display: block;
    width: 100%;
    padding-block: var(--gap);
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: var(--color-bg);
    font-size: var(--font-size-body-2);
    font-weight: 500;
  }
  .gb-nav.lg-hide ul{
    gap: calc(var(--gap) + 0px);
  }
  /* /header */

  /* main */
  #main {
    margin-block-start: var(--gap);
  }

    /* block */
    .book__media {
      display: flex;
      flex-wrap: wrap;
      gap: var(--gap-md) var(--gap-md);
    }
    .book__img {
      width: 100%;
      max-width: 240px;
      cursor: pointer;
    }
    .book__body {
      width: 100%;
    }
    .book__excerpt {
      margin-block-start: var(--gap-lg);
    }
    .book__excerpt-title{

    }
    .book__excerpt-media {
      margin-block-start: var(--gap-md);
      display: flex;
      flex-wrap: wrap;
      flex-direction: row-reverse;
      gap: var(--gap) var(--gap);
    }
    .book__excerpt-img {
      width: 100%;
    }
    .book__excerpt-body {
      width: 100%;
    }
    .products-list {
      display: flex;
      flex-wrap: wrap;
      gap: var(--gap);
    }
    .products-list__item {
      display: inline-block;
      width: calc((100% - (var(--gap) * 1)) / 2);
    }
    .product-card__title {
      font-size: var(--font-size-body-2);
    }
    .book-card {
      width: calc((100% - (var(--gap) * 1)) / 2);
    }
    .book-card__title {
      font-size: var(--font-size-body-2);
    }
    .book-card__info {
      display: none;
    }
    .book-card__title{
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden;
    }
    /* /block */
  /* /main */

  /* footer */
  .copyright {
    margin-block-start: var(--gap);
  }
  /* /footer */

}

