/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.3;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/**/
/*gray*/
/*mediaquery*/
/* -------------------------------- 
Primary style
-------------------------------- */
*, *::after, *::before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html {
  position: relative;
  height: 100%; }

body {
  position: relative;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  @media screen and (max-width: 1710px) {
    body {
      font-size: 15px;
      letter-spacing: 0;
      line-height: 1.5;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; } }
  @media screen and (max-width: 1500px) {
    body {
      font-size: 13px;
      letter-spacing: 0;
      line-height: 1.5;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; } }
  @media screen and (min-width: 641px) and (max-width: 1091px) {
    body {
      font-size: 11px;
      letter-spacing: 0;
      line-height: 1.5;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; } }
  @media screen and (max-width: 640px) {
    body {
      font-size: 13px;
      letter-spacing: 0;
      line-height: 1.5;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; } }

img {
  max-width: 100%;
  height: auto; }

br.brmd {
  display: none; }
  @media screen and (max-width: 768px) {
    br.brmd {
      display: block; } }
  @media screen and (max-width: 640px) {
    br.brmd {
      display: block; } }

br.brsp {
  display: none; }
  @media screen and (max-width: 640px) {
    br.brsp {
      display: block; } }

@media screen and (max-width: 640px) {
  br.brpc {
    display: none; } }

.inner {
  width: 100%;
  padding: 0 30px;
  max-width: 1260px;
  margin: 0 auto; }
  @media screen and (max-width: 360px) {
    .inner {
      padding: 0 20px; } }

section {
  position: relative;
  padding: 80px 0; }
  @media screen and (max-width: 640px) {
    section {
      padding: 40px 0; } }

a.btn_link, body.single main section.contents div.inner div.flex div div.nextprev_wrap a, span.btn_link {
  display: inline-block;
  padding: .95em 5.35em .95em 1.8em;
  color: #fff;
  	/*font-size: 15px;
      font-size: 0.9375em;*/
  /*font-size: 12px;*/
  font-size: 0.75em;
  font-weight: bold;
  border: 2px solid #222;
  transition: .2s;
  background: #333333;
  position: relative; }
  a.btn_link:after, body.single main section.contents div.inner div.flex div div.nextprev_wrap a:after, span.btn_link:after {
    font-family: 'Font Awesome\ 5 Free';
    content: "\f0da";
    margin-left: 1.1em;
    position: absolute;
    display: flex;
    align-items: center;
    top: 0;
    bottom: 0;
    right: 1em;
    margin: auto 0; }
  a.btn_link:hover, body.single main section.contents div.inner div.flex div div.nextprev_wrap a:hover, span.btn_link:hover {
    color: #333333;
    background: #fff;
    transition: .2s; }
  @media screen and (max-width: 640px) {
    a.btn_link, body.single main section.contents div.inner div.flex div div.nextprev_wrap a, span.btn_link {
      font-size: .9em; } }

a {
  color: #666666;
  text-decoration: none;
  transition: .2s; }
  a:hover {
    color: #333333;
    transition: .2s; }
    a:hover img {
      opacity: .85;
      transition: .2s; }

@media screen and (max-width: 640px) {
  .pcblock {
    display: none !important; } }

.spblock {
  display: none !important; }
  @media screen and (max-width: 640px) {
    .spblock {
      display: block !important; } }

.mdblock {
  display: none !important; }
  @media screen and (max-width: 768px) {
    .mdblock {
      display: block !important; } }

@media screen and (max-width: 640px) {
  .spnone {
    display: none; } }
/*ul reset*/
ul.nonstyle {
  list-style: none;
  margin: 0;
  padding: 0; }
  ul.nonstyle li.li_notfound p {
    padding: 1em; }

/*sns*/
ul.ul_sns {
  display: flex;
  margin: 0; }
  ul.ul_sns li {
    margin-right: 8px;
    list-style: none; }
    ul.ul_sns li:last-child {
      margin-right: 0; }
    ul.ul_sns li a {
      display: block;
      width: 28px;
      height: 28px;
      line-height: 28px;
      text-align: center;
      color: #fff;
      /*font-size: 12px;*/
      font-size: .75em;
      background: #000;
      border-radius: 50%;
      /*sns*/
      /*fb*/
      /*tw*/
      /*insta*/
      /*fb*/ }
      ul.ul_sns li a.fb {
        background: #3c5998; }
      ul.ul_sns li a.tw {
        background: #1DA1F2; }
      ul.ul_sns li a.in {
        position: relative;
        background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
        background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
        overflow: hidden; }
        ul.ul_sns li a.in::before {
          content: '';
          position: absolute;
          top: 11px;
          left: -9px;
          width: 28px;
          height: 28px;
          background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
          background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%); }
        ul.ul_sns li a.in i {
          position: relative;
          z-index: 2; }
      ul.ul_sns li a.yt {
        background: #cd201f; }

/*flex*/
ul.ul_flex {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (max-width: 640px) {
    ul.ul_flex {
      display: block; } }
  ul.ul_flex li {
    width: calc(33.3333% - 20px);
    margin-right: 30px;
    margin-bottom: 30px; }
    @media screen and (max-width: 640px) {
      ul.ul_flex li {
        width: 100%;
        margin-right: 0; } }
    ul.ul_flex li:nth-child(3n) {
      margin-right: 0; }
    ul.ul_flex li div.img a {
      display: block; }
      ul.ul_flex li div.img a img {
        display: block;
        width: 100%;
        vertical-align: bottom; }
    ul.ul_flex li div.txt div.title {
      margin-top: 1em; }
      ul.ul_flex li div.txt div.title a {
        font-weight: bold;
        line-height: 1.5; }
    ul.ul_flex li div.txt div.date {
      padding-top: .75em; }
      ul.ul_flex li div.txt div.date time {
        font-size: .9em; }

/*news_txt*/
ul.ul_newstxt li {
  display: flex;
  /*padding: 1.9em 60px 1.85em;*/
  padding: 1.9em 48px 1.85em;
  background: #e9e8e8;
  /*font-size: 18px;
  font-size: 1.125em;*/
  font-size: 1em; }
  ul.ul_newstxt li:nth-child(even) {
    background: none; }
  @media screen and (max-width: 1710px) {
    ul.ul_newstxt li {
      /*padding: 1.9em 54px 1.85em;*/
      padding: 1.9em 43px 1.85em; } }
  @media screen and (max-width: 1500px) {
    ul.ul_newstxt li {
      /*padding: 1.9em 48px 1.85em;*/
      padding: 1.9em 38px 1.85em; } }
  @media screen and (max-width: 640px) {
    ul.ul_newstxt li {
      display: block;
      /*padding: 1.9em 20px 1.85em;*/
      padding: 1.9em 16px 1.85em; } }
  ul.ul_newstxt li div.date {
    color: #333333;
    /*margin-right: 38px;*/
    margin-right: 30px; }
    @media screen and (max-width: 1710px) {
      ul.ul_newstxt li div.date {
        /*margin-right: 34px;*/
        margin-right: 27px; } }
    @media screen and (max-width: 1500px) {
      ul.ul_newstxt li div.date {
        /*margin-right: 30px;*/
        margin-right: 24px; } }
    @media screen and (max-width: 640px) {
      ul.ul_newstxt li div.date {
        width: 100%; } }
  ul.ul_newstxt li div.title {
    width: 100%; }
    ul.ul_newstxt li div.title a {
      color: #333333;
      transition: .2s;
      background-image: -webkit-linear-gradient(left, rgba(51, 51, 51, 0.1) 50%, transparent 50%);
      background-image: linear-gradient(to right, rgba(51, 51, 51, 0.1) 50%, transparent 50%);
      background-position: 100% 0%;
      background-size: 200% auto;
      background-repeat: no-repeat;
      -webkit-transition: background-position .5s ease-out;
      transition: background-position .5s ease-out; }
      ul.ul_newstxt li div.title a:hover {
        background-position: 0% 0%; }
    @media screen and (max-width: 640px) {
      ul.ul_newstxt li div.title {
        margin-top: .5em;
        width: 100%; } }

/*googlemap*/
.ggmap {
  position: relative;
  padding-bottom: 50%;
  padding-top: 30px;
  height: 0;
  overflow: hidden; }
  .ggmap iframe, .ggmap object, .ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/*youtube*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

/*swiper*/
div.swiper-pagination-bullets {
  bottom: 20px !important; }
  div.swiper-pagination-bullets span {
    width: 16px;
    height: 16px; }
    div.swiper-pagination-bullets span.swiper-pagination-bullet-active {
      background: #333333; }

/* -------------------------------- 
header components 
--------------------------------- */
header.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 11;
  transition: .2s;
  /*fix*/ }
  header.header div.headerflex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 50px;
    background-color: #fff;
    transition: .2s; }
    @media screen and (max-width: 1710px) {
      header.header div.headerflex {
        padding: 0 45px; } }
    @media screen and (max-width: 1500px) {
      header.header div.headerflex {
        padding: 0 40px; } }
    @media screen and (min-width: 769px) and (max-width: 1091px) {
      header.header div.headerflex {
        padding: 0 20px; } }
    @media screen and (max-width: 768px) {
      header.header div.headerflex {
        padding: 18px 15px; } }
    header.header div.headerflex div.left {
      display: flex;
      width: 470px;
      padding: 54px 0 42px; }
      @media screen and (max-width: 1710px) {
        header.header div.headerflex div.left {
          width: 430px;
          padding: 49px 0 38px; } }
      @media screen and (max-width: 1500px) {
        header.header div.headerflex div.left {
          width: 412px;
          padding: 43px 0 34px; } }
      @media screen and (min-width: 769px) and (max-width: 1091px) {
        header.header div.headerflex div.left {
          width: 330px;
          padding: 34px 0 27px; } }
      @media screen and (max-width: 768px) {
        header.header div.headerflex div.left {
          width: calc(100% - 55px);
          padding: 0; } }
      header.header div.headerflex div.left h1 {
        margin: 0 60px 0 0;
        padding: 0 0 0 0;
        position: relative;
        height: 35px;
        line-height: 35px; }
        @media screen and (max-width: 1710px) {
          header.header div.headerflex div.left h1 {
            margin: 0 54px 0 0;
            height: 32px;
            line-height: 32px; } }
        @media screen and (max-width: 1500px) {
          header.header div.headerflex div.left h1 {
            margin: 0 48px 0 0;
            height: 26px;
            line-height: 26px; } }
        @media screen and (min-width: 769px) and (max-width: 1091px) {
          header.header div.headerflex div.left h1 {
            margin: 0 38px 0 0;
            height: 21px;
            line-height: 21px; } }
        @media screen and (max-width: 768px) {
          header.header div.headerflex div.left h1 {
            height: auto;
            width: 140.5px;
            margin: 0 20px 0 0;
            padding: 1px 0; } }
        @media screen and (max-width: 360px) {
          header.header div.headerflex div.left h1 {
            width: 117.105px;
            padding: 2px 0; } }
        header.header div.headerflex div.left h1::after {
          content: "";
          height: 100%;
          width: 1px;
          background: #000;
          display: block;
          position: absolute;
          right: -30px;
          top: 0; }
          @media screen and (max-width: 1710px) {
            header.header div.headerflex div.left h1::after {
              right: -27px; } }
          @media screen and (max-width: 1500px) {
            header.header div.headerflex div.left h1::after {
              right: -24px; } }
          @media screen and (min-width: 769px) and (max-width: 1091px) {
            header.header div.headerflex div.left h1::after {
              right: -19px; } }
          @media screen and (max-width: 768px) {
            header.header div.headerflex div.left h1::after {
              right: -10px; } }
        header.header div.headerflex div.left h1 a {
          display: block; }
          header.header div.headerflex div.left h1 a img {
            display: block;
            vertical-align: bottom;
            /*width: 223px;
            max-width: 223px;
            height: 38px;*/
            width: 179px;
            max-width: 179px;
            height: 31px;
            margin-top: 4px; }
            @media screen and (max-width: 1710px) {
              header.header div.headerflex div.left h1 a img {
                /*width: 201px;
                max-width: 201px;
                height: 34.2px;*/
                width: 161px;
                max-width: 161px;
                height: 28px;
                margin-top: 3px; } }
            @media screen and (max-width: 1500px) {
              header.header div.headerflex div.left h1 a img {
                /*width: 178px;
                max-width: 178px;
                height: 30.4px;*/
                width: 143px;
                max-width: 143px;
                height: 25px;
                margin-top: 2.5px; } }
            @media screen and (min-width: 769px) and (max-width: 1091px) {
              header.header div.headerflex div.left h1 a img {
                width: 114px;
                max-width: 114px;
                height: 20px;
                margin-top: 2px; } }
            @media screen and (max-width: 768px) {
              header.header div.headerflex div.left h1 a img {
                width: 128.815px;
                max-width: 128.815px;
                height: 22px;
                margin-top: 0; } }
            @media screen and (max-width: 360px) {
              header.header div.headerflex div.left h1 a img {
                width: 117.105px;
                max-width: 128.815px;
                height: 20px; } }
      header.header div.headerflex div.left .sub_text {
        /*font-weight: bold;*/
        font-weight: normal;
        margin: -6px 0 0 0;
        padding: 0;
        width: calc(100% - 223px - 60px);
        letter-spacing: 0;
        /*font-size: 14.3px;*/
        font-size: 0.89475em;
        line-height: 22px; }
        @media screen and (max-width: 1710px) {
          header.header div.headerflex div.left .sub_text {
            width: calc(100% - 201px - 54px);
            margin: -5.4px 0 0 0;
            line-height: 20px; } }
        @media screen and (max-width: 1500px) {
          header.header div.headerflex div.left .sub_text {
            width: calc(100% - 178px - 48px);
            margin: -4.8px 0 0 0;
            line-height: 18px; } }
        @media screen and (min-width: 769px) and (max-width: 1091px) {
          header.header div.headerflex div.left .sub_text {
            width: calc(100% - 114px - 38px);
            margin: -3.8px 0 0 0;
            line-height: 14px; } }
        @media screen and (max-width: 768px) {
          header.header div.headerflex div.left .sub_text {
            width: calc(60% - 30px);
            font-size: 10px;
            line-height: 12px;
            margin: 0; } }
        @media screen and (max-width: 360px) {
          header.header div.headerflex div.left .sub_text {
            transform: scale(0.75);
            transform-origin: 0 0; }
            header.header div.headerflex div.left .sub_text span {
              display: block;
              width: 134%;
              margin-top: 3px;
              margin-bottom: -3px; } }
    header.header div.headerflex div.right {
      /*width: calc(100% - 470px);*/
      display: flex;
      justify-content: flex-end;
      align-items: center;
      position: relative;
      padding: 79px 0 36px 0; }
      @media screen and (max-width: 1710px) {
        header.header div.headerflex div.right {
          padding: 71px 0 32px 0; } }
      @media screen and (max-width: 1500px) {
        header.header div.headerflex div.right {
          padding: 63px 0 29px 0; } }
      @media screen and (min-width: 769px) and (max-width: 1091px) {
        header.header div.headerflex div.right {
          padding: 50px 0 23px 0; } }
      @media screen and (max-width: 768px) {
        header.header div.headerflex div.right {
          display: none; } }
      header.header div.headerflex div.right nav.gnav {
        margin: 0;
        padding: 0; }
        header.header div.headerflex div.right nav.gnav > ul {
          text-align: right;
          font-size: 0;
          margin: 0;
          padding: 0; }
          @media screen and (min-width: 641px) and (max-width: 900px) {
            header.header div.headerflex div.right nav.gnav > ul {
              font-size: 1em; } }
          header.header div.headerflex div.right nav.gnav > ul > li {
            display: inline-block;
            margin-right: 50px;
            line-height: 20px;
            position: relative; }
            @media screen and (max-width: 1710px) {
              header.header div.headerflex div.right nav.gnav > ul > li {
                margin-right: 45px;
                line-height: 18px; } }
            @media screen and (max-width: 1500px) {
              header.header div.headerflex div.right nav.gnav > ul > li {
                margin-right: 40px;
                line-height: 16px; } }
            @media screen and (min-width: 901px) and (max-width: 1110px) {
              header.header div.headerflex div.right nav.gnav > ul > li {
                margin-right: 32px;
                line-height: 13px; } }
            @media screen and (min-width: 641px) and (max-width: 900px) {
              header.header div.headerflex div.right nav.gnav > ul > li {
                margin-right: 1.2em; } }
            header.header div.headerflex div.right nav.gnav > ul > li:hover > span {
              color: #333333; }
            header.header div.headerflex div.right nav.gnav > ul > li > a, header.header div.headerflex div.right nav.gnav > ul > li > span {
              font-family: "Jost", sans-serif;
              font-weight: bold;
              color: #000;
              font-size: 20px;
              line-height: 20px;
              display: block;
              letter-spacing: 0.06em; }
              header.header div.headerflex div.right nav.gnav > ul > li > a:hover, header.header div.headerflex div.right nav.gnav > ul > li > span:hover {
                color: #333333; }
              @media screen and (max-width: 1710px) {
                header.header div.headerflex div.right nav.gnav > ul > li > a, header.header div.headerflex div.right nav.gnav > ul > li > span {
                  font-size: 18px;
                  line-height: 18px; } }
              @media screen and (max-width: 1500px) {
                header.header div.headerflex div.right nav.gnav > ul > li > a, header.header div.headerflex div.right nav.gnav > ul > li > span {
                  font-size: 16px;
                  line-height: 16px; } }
              @media screen and (min-width: 791px) and (max-width: 1091px) {
                header.header div.headerflex div.right nav.gnav > ul > li > a, header.header div.headerflex div.right nav.gnav > ul > li > span {
                  font-size: 13px;
                  line-height: 13px; } }
              @media screen and (max-width: 790px) {
                header.header div.headerflex div.right nav.gnav > ul > li > a, header.header div.headerflex div.right nav.gnav > ul > li > span {
                  font-size: 12px;
                  line-height: 12px; } }
            header.header div.headerflex div.right nav.gnav > ul > li > a {
              position: relative; }
              header.header div.headerflex div.right nav.gnav > ul > li > a::after {
                content: '';
                width: 0;
                height: 2px;
                background: #333333;
                display: block;
                transition: .4s;
                position: absolute;
                bottom: -.3em;
                left: 0; }
              header.header div.headerflex div.right nav.gnav > ul > li > a:hover::after {
                width: 100%; }
            header.header div.headerflex div.right nav.gnav > ul > li:last-child {
              margin-right: 0; }
            header.header div.headerflex div.right nav.gnav > ul > li ul.sub-menu {
              width: 180px;
              position: absolute;
              z-index: 2;
              left: 50%;
              margin: 0 0 0 -90px;
              padding: 20px 0 0 0;
              top: 20px;
              background: transparent;
              transition: .3s ease-out;
              opacity: 0;
              display: none;
              list-style: none; }
              header.header div.headerflex div.right nav.gnav > ul > li ul.sub-menu::after {
                content: '';
                width: 0;
                height: 0;
                position: absolute;
                border-left: 8px solid transparent;
                border-right: 8px solid transparent;
                border-bottom: 8px solid #000;
                top: 12px;
                left: 50%;
                margin-left: -8px; }
              header.header div.headerflex div.right nav.gnav > ul > li ul.sub-menu li {
                width: 180px;
                position: relative;
                margin-top: 0px;
                background: #000;
                padding: 2px 4px 2px; }
                header.header div.headerflex div.right nav.gnav > ul > li ul.sub-menu li:first-child {
                  padding-top: 4px; }
                header.header div.headerflex div.right nav.gnav > ul > li ul.sub-menu li:last-child {
                  padding-bottom: 4px; }
                header.header div.headerflex div.right nav.gnav > ul > li ul.sub-menu li > a {
                  display: block;
                  padding: .8em 0;
                  width: 100%;
                  text-align: center;
                  font-size: 16px;
                  font-family: "Jost", sans-serif;
                  font-weight: bold;
                  letter-spacing: 0.1em;
                  background: #fff;
                  color: #000;
                  transition: .2s; }
                  @media screen and (max-width: 1710px) {
                    header.header div.headerflex div.right nav.gnav > ul > li ul.sub-menu li > a {
                      font-size: 15px; } }
                  @media screen and (max-width: 1500px) {
                    header.header div.headerflex div.right nav.gnav > ul > li ul.sub-menu li > a {
                      font-size: 14px; } }
                  @media screen and (min-width: 641px) and (max-width: 1091px) {
                    header.header div.headerflex div.right nav.gnav > ul > li ul.sub-menu li > a {
                      font-size: 11px; } }
                  header.header div.headerflex div.right nav.gnav > ul > li ul.sub-menu li > a:hover {
                    background: #000;
                    color: #fff; }
            header.header div.headerflex div.right nav.gnav > ul > li:hover ul {
              transition: .3s ease-out;
              opacity: 1;
              display: block; }
      header.header div.headerflex div.right nav.gnav-sub {
        position: absolute;
        top: 0;
        right: 0;
        margin: 0;
        padding: 0;
        width: 100%; }
        header.header div.headerflex div.right nav.gnav-sub ul {
          display: flex;
          width: 100%;
          background: #333333; }
          header.header div.headerflex div.right nav.gnav-sub ul li {
            width: 50%;
            position: relative;
            /*drop*/ }
            header.header div.headerflex div.right nav.gnav-sub ul li::after {
              content: '';
              width: 1px;
              height: 35px;
              background: #fff;
              position: absolute;
              top: 0;
              bottom: 0;
              right: 0;
              margin: auto 0;
              z-index: 2; }
              @media screen and (max-width: 1710px) {
                header.header div.headerflex div.right nav.gnav-sub ul li::after {
                  height: 32px; } }
              @media screen and (max-width: 1500px) {
                header.header div.headerflex div.right nav.gnav-sub ul li::after {
                  height: 28px; } }
              @media screen and (min-width: 641px) and (max-width: 1091px) {
                header.header div.headerflex div.right nav.gnav-sub ul li::after {
                  height: 22px; } }
            header.header div.headerflex div.right nav.gnav-sub ul li:last-child::after {
              display: none; }
            header.header div.headerflex div.right nav.gnav-sub ul li a {
              background: #333333;
              color: #e9e8e8;
              display: block;
              height: 52px;
              line-height: 52px;
              font-size: 1em;
              font-weight: bold;
              letter-spacing: 0;
              width: 100%;
              text-align: center;
              position: relative;
              z-index: 1;
              transition: .3s; }
              @media screen and (max-width: 1710px) {
                header.header div.headerflex div.right nav.gnav-sub ul li a {
                  height: 47px;
                  line-height: 47px; } }
              @media screen and (max-width: 1500px) {
                header.header div.headerflex div.right nav.gnav-sub ul li a {
                  height: 42px;
                  line-height: 42px; } }
              @media screen and (min-width: 641px) and (max-width: 1091px) {
                header.header div.headerflex div.right nav.gnav-sub ul li a {
                  height: 34px;
                  line-height: 34px; } }
              header.header div.headerflex div.right nav.gnav-sub ul li a:hover {
                background: #8e8e8e; }
            header.header div.headerflex div.right nav.gnav-sub ul li ul.sub-menu {
              position: absolute;
              transition: .3s ease-out;
              opacity: 0;
              padding: 0;
              margin: 0;
              list-style: none;
              overflow: hidden;
              transform: translateY(-64px);
              z-index: 0; }
              header.header div.headerflex div.right nav.gnav-sub ul li ul.sub-menu li::after {
                background: #333333; }
              header.header div.headerflex div.right nav.gnav-sub ul li ul.sub-menu li a {
                background: #e9e8e8;
                color: #333333; }
                header.header div.headerflex div.right nav.gnav-sub ul li ul.sub-menu li a:hover {
                  color: #8e8e8e; }
            header.header div.headerflex div.right nav.gnav-sub ul li:hover {
              position: relative; }
              header.header div.headerflex div.right nav.gnav-sub ul li:hover ul.sub-menu {
                height: auto;
                transition: .3s ease-out;
                opacity: 1;
                height: auto;
                transform: translateY(0); }
      header.header div.headerflex div.right nav.sns {
        margin-left: 30px;
        text-align: right; }
  header.header.is_fixed {
    box-shadow: 0px 5px 5px -5px rgba(0, 0, 0, 0.3);
    transition: .2s; }
    header.header.is_fixed div.headerflex {
      transition: .2s; }

/*humburger*/
.hamburger, .hamburger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box; }

.hamburger {
  position: fixed;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  z-index: 999;
  background-color: #333333; }
  .hamburger span {
    position: absolute;
    left: 16px;
    width: 28px;
    height: 4px;
    background-color: #fff;
    border-radius: 4px; }
    .hamburger span:nth-of-type(1) {
      top: 19px; }
    .hamburger span:nth-of-type(2) {
      top: 28px; }
    .hamburger span:nth-of-type(3) {
      bottom: 19px; }
  .hamburger.active {
    position: fixed; }
    .hamburger.active span {
      background-color: #fff; }
      .hamburger.active span:nth-of-type(1) {
        -webkit-transform: translateY(9px) rotate(-45deg);
        transform: translateY(9px) rotate(-45deg); }
      .hamburger.active span:nth-of-type(2) {
        left: 50%;
        opacity: 0;
        -webkit-animation: active-menu-bar02 .8s forwards;
        animation: active-menu-bar02 .8s forwards; }
      .hamburger.active span:nth-of-type(3) {
        -webkit-transform: translateY(-9px) rotate(45deg);
        transform: translateY(-9px) rotate(45deg); }

@-webkit-keyframes active-menu-bar02 {
  100% {
    height: 0; } }
@keyframes active-menu-bar02 {
  100% {
    height: 0; } }
/*nav*/
.navigation {
  position: fixed;
  display: none;
  padding: 60px 0 20px;
  width: 100%;
  /*height: 100vh;*/
  height: auto;
  top: 0;
  left: 0;
  background: #333333;
  overflow: auto;
  z-index: 10; }
  @media screen and (max-width: 640px) {
    .navigation {
      font-size: 12px; } }
  .navigation nav.gnav {
    padding: 32px 20px 0; }
    .navigation nav.gnav a.spmenutitle {
      width: 160px; }
    .navigation nav.gnav > ul {
      margin: 0;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .navigation nav.gnav > ul > li {
        margin-bottom: 12px;
        width: calc(50% - 6px); }
        .navigation nav.gnav > ul > li a {
          display: block;
          padding: 1em;
          font-weight: bold;
          font-size: 1.15em;
          background: #fff;
          font-family: "Jost", sans-serif;
          line-height: 1em;
          color: #333333; }
        .navigation nav.gnav > ul > li span {
          display: inline-block;
          margin-bottom: .25em;
          font-size: .85em;
          color: #fff;
          opacity: .9; }
        .navigation nav.gnav > ul > li ul {
          margin-bottom: 24px; }
          .navigation nav.gnav > ul > li ul li {
            margin-bottom: 12px; }
  .navigation nav.gsubnav {
    padding: 0; }
    .navigation nav.gsubnav > ul {
      display: flex;
      margin: 0;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .navigation nav.gsubnav > ul > li {
        margin: 0;
        width: 50%; }
        .navigation nav.gsubnav > ul > li a {
          padding: 1em;
          font-weight: bold;
          font-size: 1em;
          background: #666666;
          font-family: "Jost", sans-serif;
          line-height: 1em;
          text-align: center;
          color: #fff;
          display: block; }
        .navigation nav.gsubnav > ul > li:first-child {
          border-right: 1px solid #333333; }
          .navigation nav.gsubnav > ul > li:first-child a {
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center; }
        .navigation nav.gsubnav > ul > li:last-child > a {
          padding: .5em;
          background: #888; }
        .navigation nav.gsubnav > ul > li .sub-menu {
          display: flex;
          list-style: none;
          margin: 0;
          padding: 0;
          justify-content: space-between;
          border-top: 1px solid #333333; }
          .navigation nav.gsubnav > ul > li .sub-menu li {
            list-style: none;
            margin: 0;
            padding: 0;
            width: 50%; }
            .navigation nav.gsubnav > ul > li .sub-menu li:first-child {
              border-right: 1px solid #333333; }

/* -------------------------------- 
footer components 
--------------------------------- */
footer {
  padding: 118px 0 72px;
  color: #000;
  background: #e0dfdf; }
  @media screen and (max-width: 1710px) {
    footer {
      padding: 106px 0 65px; } }
  @media screen and (max-width: 1500px) {
    footer {
      padding: 95px 0 58px; } }
  @media screen and (max-width: 1280px) {
    footer {
      padding: 76px 0 46px; } }
  @media screen and (max-width: 640px) {
    footer {
      padding: 48px 0 29px; } }
  footer div.footerflex {
    display: flex;
    max-width: 1720px;
    padding: 0 30px;
    width: 100%;
    margin: 0 auto;
    justify-content: space-between; }
    @media screen and (max-width: 1710px) {
      footer div.footerflex {
        width: 90%; } }
    @media screen and (max-width: 1280px) {
      footer div.footerflex {
        font-size: 0.8em; } }
    @media screen and (min-width: 641px) and (max-width: 1091px) {
      footer div.footerflex {
        width: 96%; } }
    @media screen and (max-width: 768px) {
      footer div.footerflex {
        width: 98%; } }
    @media screen and (max-width: 750px) {
      footer div.footerflex {
        display: block;
        width: 100%; } }
    @media screen and (max-width: 640px) {
      footer div.footerflex {
        display: block;
        width: 100%; } }
    @media screen and (max-width: 360px) {
      footer div.footerflex {
        padding: 0 20px; } }
    @media screen and (max-width: 750px) {
      footer div.footerflex div.left {
        width: 100%; } }
    footer div.footerflex div.left .footer_logo {
      display: flex;
      align-items: center;
      margin-bottom: 3.25em; }
      @media screen and (max-width: 750px) {
        footer div.footerflex div.left .footer_logo {
          justify-content: center; } }
      footer div.footerflex div.left .footer_logo img {
        width: 222px;
        margin-right: 60px;
        position: relative; }
        @media screen and (max-width: 1710px) {
          footer div.footerflex div.left .footer_logo img {
            width: 200px;
            margin-right: 54px; } }
        @media screen and (max-width: 1500px) {
          footer div.footerflex div.left .footer_logo img {
            width: 178px;
            margin-right: 48px; } }
        @media screen and (max-width: 1280px) {
          footer div.footerflex div.left .footer_logo img {
            width: 142px;
            margin-right: 38px; } }
        @media screen and (max-width: 840px) {
          footer div.footerflex div.left .footer_logo img {
            width: 114px;
            margin-right: 30px; } }
        @media screen and (max-width: 750px) {
          footer div.footerflex div.left .footer_logo img {
            width: 128.815px;
            max-width: 128.815px;
            height: 22px;
            margin-right: 20px; } }
      footer div.footerflex div.left .footer_logo .sub_text {
        font-weight: normal;
        /*font-size: 14.3px;*/
        font-size: 0.89375em;
        margin: -0.5em 0 0 0;
        padding: 0;
        position: relative;
        line-height: 1.46em; }
        @media screen and (max-width: 750px) {
          footer div.footerflex div.left .footer_logo .sub_text {
            font-size: 10px;
            line-height: 12px;
            text-align: left; } }
        footer div.footerflex div.left .footer_logo .sub_text::before {
          content: '';
          width: 1px;
          height: 35px;
          position: absolute;
          top: 0.3em;
          left: -30px;
          background: #000; }
          @media screen and (max-width: 1710px) {
            footer div.footerflex div.left .footer_logo .sub_text::before {
              height: 32px;
              left: -27px; } }
          @media screen and (max-width: 1500px) {
            footer div.footerflex div.left .footer_logo .sub_text::before {
              height: 28px;
              left: -24px; } }
          @media screen and (max-width: 1280px) {
            footer div.footerflex div.left .footer_logo .sub_text::before {
              height: 22px;
              left: -19px; } }
          @media screen and (max-width: 840px) {
            footer div.footerflex div.left .footer_logo .sub_text::before {
              height: 18px;
              left: -15px; } }
          @media screen and (max-width: 750px) {
            footer div.footerflex div.left .footer_logo .sub_text::before {
              height: 22px;
              left: -10px;
              top: 0.1em; } }
    footer div.footerflex div.left p {
      line-height: 1.75em;
      /*font-size: 18px;
      font-size:1.125em;
      font-size: 16px;*/
      font-size: 1em;
      margin: 0 0 2.0625em; }
      footer div.footerflex div.left p:last-child {
        margin-bottom: 0; }
      @media screen and (max-width: 750px) {
        footer div.footerflex div.left p {
          text-align: center; } }
    footer div.footerflex div.right {
      text-align: right;
      margin-top: -13px;
      position: relative; }
      @media screen and (max-width: 750px) {
        footer div.footerflex div.right {
          width: 100%;
          text-align: left;
          margin-top: 40px; } }
      footer div.footerflex div.right .gnav {
        margin: 0 0 2.5625em 0; }
        footer div.footerflex div.right .gnav ul {
          display: flex;
          justify-content: flex-end; }
          @media screen and (max-width: 750px) {
            footer div.footerflex div.right .gnav ul {
              justify-content: center;
              flex-wrap: wrap; } }
          footer div.footerflex div.right .gnav ul li {
            margin-right: 1.9em; }
            footer div.footerflex div.right .gnav ul li:last-child {
              margin-right: 0; }
            @media screen and (max-width: 840px) {
              footer div.footerflex div.right .gnav ul li {
                margin-right: 1.5em; } }
            @media screen and (max-width: 750px) {
              footer div.footerflex div.right .gnav ul li {
                margin: .5em .8em; } }
            footer div.footerflex div.right .gnav ul li a {
              font-family: "Jost", sans-serif;
              /*font-size: 18px;*/
              font-size: 1.125em;
              font-weight: bold;
              letter-spacing: 0.1em;
              color: #000;
              line-height: 1em;
              position: relative;
              transition: .4s; }
              footer div.footerflex div.right .gnav ul li a::after {
                content: '';
                width: 0;
                height: 2px;
                background: #333333;
                display: block;
                transition: .4s;
                position: absolute;
                bottom: -.2em;
                left: 0; }
              footer div.footerflex div.right .gnav ul li a:hover::after {
                width: 100%; }
      footer div.footerflex div.right .bnr {
        width: 100%;
        text-align: right; }
        @media screen and (max-width: 750px) {
          footer div.footerflex div.right .bnr {
            text-align: center; } }
        footer div.footerflex div.right .bnr a {
          max-width: 424px;
          display: inline-block; }
          @media screen and (max-width: 1710px) {
            footer div.footerflex div.right .bnr a {
              max-width: 382px; } }
          @media screen and (max-width: 1500px) {
            footer div.footerflex div.right .bnr a {
              max-width: 340px; } }
          @media screen and (max-width: 1280px) {
            footer div.footerflex div.right .bnr a {
              max-width: 272px; } }
      footer div.footerflex div.right p.privacy {
        font-size: 0.6875em;
        margin: 1.818em 1.818em 0 0; }
        footer div.footerflex div.right p.privacy a {
          color: #000; }
        @media screen and (max-width: 750px) {
          footer div.footerflex div.right p.privacy {
            text-align: center;
            font-size: 10px;
            margin-right: 0; } }
      footer div.footerflex div.right p.copy {
        margin: 1.3636em 1.818em 0 0;
        font-weight: normal;
        /*font-size: 11px;*/
        font-size: 0.6875em; }
        @media screen and (max-width: 750px) {
          footer div.footerflex div.right p.copy {
            margin: 60px 0 0 0;
            font-size: 10px; } }
        @media screen and (max-width: 360px) {
          footer div.footerflex div.right p.copy {
            transform: scale(0.9);
            transform-origin: 0 0; } }
      footer div.footerflex div.right p.pagetop {
        position: absolute;
        border: 1px solid #000;
        margin: 0;
        padding: 0;
        bottom: 0;
        right: 0; }
        footer div.footerflex div.right p.pagetop img {
          vertical-align: bottom;
          width: 60px;
          height: auto; }
          @media screen and (max-width: 1710px) {
            footer div.footerflex div.right p.pagetop img {
              width: 54px; } }
          @media screen and (max-width: 1500px) {
            footer div.footerflex div.right p.pagetop img {
              width: 48px; } }
          @media screen and (max-width: 1280px) {
            footer div.footerflex div.right p.pagetop img {
              width: 38px; } }
          @media screen and (min-width: 641px) and (max-width: 1091px) {
            footer div.footerflex div.right p.pagetop img {
              width: 30px; } }

/* -------------------------------- 
common components 
--------------------------------- */
.main {
  margin-top: 134px; }
  @media screen and (max-width: 1710px) {
    .main {
      margin-top: 121.6px; } }
  @media screen and (max-width: 1500px) {
    .main {
      margin-top: 108.2px; } }
  @media screen and (min-width: 769px) and (max-width: 1091px) {
    .main {
      margin-top: 86px; } }
  @media screen and (max-width: 768px) {
    .main {
      margin-top: 60px; } }

.bg {
  background-color: #e9e8e8; }

/* -------------------------------- 
index components 
--------------------------------- */
/*all*/
body.home div.topslide {
  position: relative; }
  body.home div.topslide .swiper-slide .img {
    width: 100%;
    height: 0;
    padding: 39.42% 0 0 0;
    position: relative; }
    body.home div.topslide .swiper-slide .img img {
      width: 100%;
      height: auto;
      position: absolute;
      top: 0;
      left: 0;
      vertical-align: bottom; }
  body.home div.topslide div.covertxt {
    position: absolute;
    top: 5px;
    left: 8.073%;
    /*155px*/
    width: calc(100% - 8.073%);
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    color: #fff;
    font-weight: bold;
    text-align: center;
    z-index: 11;
    /*p {
        margin: 24px 0 36px;
        line-height: 1.7;
        @include mq(sm) {
            font-size: .9em;
        }
    }
    a.btn_link {
        color: #fff;
        border-color: #fff;
        &:hover {
            background: rgba(255,255,255,.2);
        }
    }*/ }
    @media screen and (max-width: 1024px) {
      body.home div.topslide div.covertxt {
        top: 0px; } }
    @media screen and (max-width: 840px) {
      body.home div.topslide div.covertxt {
        font-size: 0.8em; } }
    @media screen and (max-width: 640px) {
      body.home div.topslide div.covertxt {
        font-size: 1em;
        position: static;
        top: auto;
        left: auto;
        height: auto;
        padding: 20px 30px;
        text-align: left;
        background: #333333;
        width: 100%; } }
    @media screen and (max-width: 360px) {
      body.home div.topslide div.covertxt {
        padding: 20px; } }
    body.home div.topslide div.covertxt h2 {
      margin: 0 0 1em;
      /*font-size: 42px;*/
      font-size: 2.625em;
      font-weight: normal;
      /*letter-spacing: .18em;*/
      letter-spacing: .1em;
      font-family: "Noto Serif JP", serif;
      font-weight: 700;
      /*font-family: $klee;*/ }
      @media screen and (max-width: 640px) {
        body.home div.topslide div.covertxt h2 {
          position: absolute;
          top: 0;
          left: 0;
          font-size: 1.5em;
          z-index: 10;
          width: 100%;
          height: 0;
          display: flex;
          align-items: center;
          /* justify-content: center; */
          padding: 20% 0 19% 0;
          margin: 0;
          text-indent: 30px; } }
      @media screen and (max-width: 360px) {
        body.home div.topslide div.covertxt h2 {
          text-indent: 20px; } }
    body.home div.topslide div.covertxt .top_news {
      text-align: left;
      font-weight: bold;
      letter-spacing: 0;
      /*font-size: 16px;*/
      font-size: 1em;
      /*width: 300px;*/
      width: 50%;
      margin-left: 5px; }
      @media screen and (max-width: 1710px) {
        body.home div.topslide div.covertxt .top_news {
          /*width: 270px;*/ } }
      @media screen and (max-width: 1500px) {
        body.home div.topslide div.covertxt .top_news {
          /*width: 240px;*/ } }
      @media screen and (max-width: 640px) {
        body.home div.topslide div.covertxt .top_news {
          width: 100%;
          margin-left: 0; } }
      body.home div.topslide div.covertxt .top_news .txt .date {
        font-family: "Jost", sans-serif;
        margin-bottom: .8em; }
        @media screen and (max-width: 640px) {
          body.home div.topslide div.covertxt .top_news .txt .date {
            margin-bottom: .4em; } }
      body.home div.topslide div.covertxt .top_news .txt .title a {
        color: #fff;
        line-height: 1.5625em; }
body.home section h2 {
  margin: 0 auto 1.2em;
  text-align: center;
  /*font-size: 47.2px;
  font-size: 2.95em;*/
  /*font-size: 45.2px;*/
  font-size: 2.825em;
  line-height: 1em;
  letter-spacing: 0.1em;
  font-weight: bold;
  font-family: "Jost", sans-serif; }
  @media screen and (max-width: 640px) {
    body.home section h2 {
      font-size: 2em;
      margin: 0 auto 0.8em; } }
  body.home section h2 span {
    display: block;
    /*font-size: 21px;*/
    font-size: 0.444915em;
    line-height: 1em;
    font-weight: normal;
    letter-spacing: 0;
    padding: .8em 0 0 0; }
body.home section div.btn_wrap {
  margin-top: 50px;
  text-align: center; }
body.home section.slidebox div.slidewrap {
  position: relative; }
  body.home section.slidebox div.slidewrap .swiper-container {
    width: 100%;
    height: 100%;
    box-sizing: content-box; }
  body.home section.slidebox div.slidewrap .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center; }
    body.home section.slidebox div.slidewrap .swiper-slide div.img a {
      display: block; }
      body.home section.slidebox div.slidewrap .swiper-slide div.img a img {
        display: block;
        width: 100%;
        vertical-align: bottom; }
    body.home section.slidebox div.slidewrap .swiper-slide div.txt div.title {
      margin-top: 1em; }
      body.home section.slidebox div.slidewrap .swiper-slide div.txt div.title a {
        font-weight: bold;
        line-height: 1.5; }
    body.home section.slidebox div.slidewrap .swiper-slide div.txt div.date {
      padding-top: .75em; }
      body.home section.slidebox div.slidewrap .swiper-slide div.txt div.date time {
        font-size: .9em; }
  body.home section.slidebox div.slidewrap .swiper-button-next, body.home section.slidebox div.slidewrap .swiper-container-rtl .swiper-button-prev {
    background-image: url(../images/arrow-right.png);
    right: -50px;
    left: auto; }
    @media screen and (max-width: 640px) {
      body.home section.slidebox div.slidewrap .swiper-button-next, body.home section.slidebox div.slidewrap .swiper-container-rtl .swiper-button-prev {
        right: -12px; } }
  body.home section.slidebox div.slidewrap .swiper-button-prev, body.home section.slidebox div.slidewrap .swiper-container-rtl .swiper-button-next {
    background-image: url(../images/arrow-left.png);
    left: -50px;
    right: auto; }
    @media screen and (max-width: 640px) {
      body.home section.slidebox div.slidewrap .swiper-button-prev, body.home section.slidebox div.slidewrap .swiper-container-rtl .swiper-button-next {
        left: -12px; } }
  body.home section.slidebox div.slidewrap .swiper-button-next, body.home section.slidebox div.slidewrap .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 36px;
    height: 36px;
    margin-top: -30px;
    z-index: 10;
    cursor: pointer;
    background-size: 36px 36px;
    background-position: center;
    background-repeat: no-repeat; }
    body.home section.slidebox div.slidewrap .swiper-button-next:focus, body.home section.slidebox div.slidewrap .swiper-button-prev:focus {
      outline: none; }
body.home section.bnr {
  padding: 30px 0; }
  @media screen and (max-width: 640px) {
    body.home section.bnr {
      padding: 50px 0; } }
  body.home section.bnr div.inner ul {
    display: flex; }
    @media screen and (max-width: 640px) {
      body.home section.bnr div.inner ul {
        display: block; } }
    body.home section.bnr div.inner ul li {
      width: calc(20% - 12px);
      margin-right: 15px; }
      @media screen and (max-width: 640px) {
        body.home section.bnr div.inner ul li {
          width: 100%;
          max-width: 240px;
          margin: 0 auto 10px; } }
      body.home section.bnr div.inner ul li:last-child {
        margin-right: 0; }
        @media screen and (max-width: 640px) {
          body.home section.bnr div.inner ul li:last-child {
            margin: 0 auto; } }
      body.home section.bnr div.inner ul li a {
        display: block;
        background: #fff; }
        body.home section.bnr div.inner ul li a img {
          width: 100%;
          vertical-align: bottom; }
body.home section.craft_design {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 182px 0 100px; }
  @media screen and (max-width: 1710px) {
    body.home section.craft_design {
      padding: 164px 0 90px; } }
  @media screen and (max-width: 1500px) {
    body.home section.craft_design {
      padding: 146px 0 80px; } }
  @media screen and (max-width: 768px) {
    body.home section.craft_design {
      padding: 73px 0 40px; } }
  @media screen and (max-width: 640px) {
    body.home section.craft_design {
      display: block;
      padding: 30px; } }
  @media screen and (max-width: 360px) {
    body.home section.craft_design {
      padding: 30px 20px; } }
  body.home section.craft_design .left {
    max-width: 1095px;
    width: 57.03125%;
    height: auto; }
    @media screen and (max-width: 750px) {
      body.home section.craft_design .left {
        width: 50%; } }
    @media screen and (max-width: 640px) {
      body.home section.craft_design .left {
        width: 100%;
        margin-bottom: 30px; } }
  body.home section.craft_design .right {
    width: 33.333333%;
    /*width: calc(100% - 1095px - 185px);
    padding: 0 142px 0 0;*/
    padding: 0 7.39583% 0 0; }
    @media screen and (max-width: 1024px) {
      body.home section.craft_design .right {
        width: 36%;
        padding: 0 6% 0 0; } }
    @media screen and (max-width: 750px) {
      body.home section.craft_design .right {
        width: 44%;
        padding: 0 3% 0 0; } }
    @media screen and (max-width: 640px) {
      body.home section.craft_design .right {
        width: 100%;
        padding: 0; } }
    body.home section.craft_design .right p {
      /*font-size: 18px;
      font-size: 1.125em;*/
      /*font-size: 16px;*/
      font-size: 1em;
      line-height: 1.72222em;
      margin: 0 0 1.7em; }
    body.home section.craft_design .right .btn_wrap {
      text-align: left;
      margin-top: 2.8em; }
  body.home section.craft_design h2 {
    /*font-size: 47.2px;
    font-size: 2.95em;*/
    /*font-size: 45.2px;*/
    font-size: 2.825em;
    font-family: "Jost", sans-serif;
    font-weight: bold;
    text-align: left;
    margin: 0 0 .9em;
    letter-spacing: 0.1em;
    line-height: 1em; }
    @media screen and (max-width: 640px) {
      body.home section.craft_design h2 {
        font-size: 2em; } }
    body.home section.craft_design h2 span {
      /*font-size: 20px;*/
      font-size: 0.42372em;
      font-family: "Noto Sans JP", sans-serif;
      font-weight: normal;
      letter-spacing: 0;
      line-height: 1em;
      padding-top: .8em; }
body.home section.series {
  padding: 75px 0 150px; }
  @media screen and (max-width: 1710px) {
    body.home section.series {
      padding: 68px 0 135px; } }
  @media screen and (max-width: 1500px) {
    body.home section.series {
      padding: 60px 0 120px; } }
  @media screen and (max-width: 768px) {
    body.home section.series {
      padding: 30px 0 60px; } }
  body.home section.series h2 span {
    /*font-size: 18px;*/
    font-size: 0.3813559em;
    letter-spacing: 0.1em;
    padding-top: .6em; }
  body.home section.series ul.series_list {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0; }
    @media screen and (min-width: 680px) and (max-width: 1200px) {
      body.home section.series ul.series_list {
        font-size: 0.8em; } }
    @media screen and (min-width: 641px) and (max-width: 679px) {
      body.home section.series ul.series_list {
        font-size: 0.6em; } }
    @media screen and (max-width: 640px) {
      body.home section.series ul.series_list {
        display: block; } }
    body.home section.series ul.series_list li {
      width: calc(33.3333% + 1px);
      text-align: center;
      list-style: none;
      padding: 23.601% 0 0 0;
      margin: 0 0 0 -1px;
      position: relative;
      overflow: hidden; }
      body.home section.series ul.series_list li.geo {
        margin: 0; }
      @media screen and (max-width: 640px) {
        body.home section.series ul.series_list li {
          width: 100%;
          padding: 70.803% 0 0 0;
          margin: 0; } }
      body.home section.series ul.series_list li a {
        transition: .2s;
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        width: 100%; }
        body.home section.series ul.series_list li a img.bg_img {
          position: absolute;
          z-index: 0;
          top: 50%;
          left: 50%;
          width: calc(100% + 2px);
          height: auto;
          transform: translate(-50%, -50%);
          transition: .2s; }
        body.home section.series ul.series_list li a .txt_wrap {
          width: 100%;
          margin: 0;
          position: relative;
          /*position: absolute;
          top: 31.5%;
          left: 0;
          width: 100%;
          margin: auto 0;
          @include mq(xxl) {
              top: 29.5%;
          }
          @include mq(np) {
              top: 27.5%;
          }
          @media screen and (min-width:801px) and (max-width:900px) {
              top: 22%;
          }
          @media screen and (min-width:769px) and (max-width:800px) {
              top: 22%;
          }
          @include mq(md) {
              top: 22%;
          }
          @media screen and (max-width:750px) {
              top: 20%;
          }
          @include mq(sm) {
              top: 27.5%;
          }*/ }
          @media screen and (max-width: 768px) {
            body.home section.series ul.series_list li a .txt_wrap {
              margin: 4.5% 0 1em; } }
          body.home section.series ul.series_list li a .txt_wrap h3 {
            /*font-size: 47.2px;
            font-size: 2.95em;*/
            /*font-size: 45.2px;*/
            font-size: 2.825em;
            line-height: 1em;
            color: #fff;
            font-weight: bold;
            font-family: "Jost", sans-serif;
            letter-spacing: 0.1em;
            margin: 0 0 .45em; }
            @media screen and (max-width: 640px) {
              body.home section.series ul.series_list li a .txt_wrap h3 {
                font-size: 2em; } }
            body.home section.series ul.series_list li a .txt_wrap h3 span {
              display: block;
              /*font-size: 15px;*/
              font-size: 0.31779em;
              line-height: 1em;
              font-weight: normal;
              letter-spacing: 0;
              padding: .8em 0 0 0;
              margin: 0; }
          body.home section.series ul.series_list li a .txt_wrap .txt {
            margin: 0;
            padding: 0 1em;
            /*font-size: 16px;*/
            font-size: 1em;
            color: #fff;
            line-height: 1.4375em;
            min-height: 4.3125em; }
        body.home section.series ul.series_list li a .btn_wrap {
          /*position: absolute;
          bottom: 22%;
          left: 0;
          width: 100%;
          margin: 0 0 0 0;
          @include mq(xxl) {
              bottom: 19.5%;
          }
          @include mq(np) {
              bottom: 17.5%;
          }
          @media screen and (max-width:750px) {
              bottom: 15%;
          }*/
          width: 100%;
          margin: 1.5em 0 0 0;
          position: static; }
          body.home section.series ul.series_list li a .btn_wrap span.btn_link {
            background: none;
            border: 2px solid #fff;
            letter-spacing: .1em;
            /*font-size: 15px;*/
            font-size: 0.9375em;
            font-weight: bold;
            padding: 0 2.6em 0 1em;
            height: 38px;
            line-height: 34px;
            display: inline-block;
            color: #fff;
            position: relative;
            transition: .2s; }
            body.home section.series ul.series_list li a .btn_wrap span.btn_link::after {
              font-family: 'Font Awesome\ 5 Free';
              content: "\f0da";
              margin-left: 1.1em;
              position: absolute;
              display: flex;
              align-items: center;
              top: 0;
              bottom: 0;
              margin: auto 0;
              right: .8em; }
            @media screen and (max-width: 1710px) {
              body.home section.series ul.series_list li a .btn_wrap span.btn_link {
                height: 30px;
                line-height: 26px; } }
            @media screen and (max-width: 1500px) {
              body.home section.series ul.series_list li a .btn_wrap span.btn_link {
                height: 26px;
                line-height: 22px; } }
            @media screen and (max-width: 1280px) {
              body.home section.series ul.series_list li a .btn_wrap span.btn_link {
                height: 24px;
                line-height: 20px; } }
        body.home section.series ul.series_list li a:hover img.bg_img {
          max-width: 105%;
          width: 105%;
          transition: .2s; }
        body.home section.series ul.series_list li a:hover .btn_wrap span.btn_link {
          background: #fff;
          color: #333333;
          transition: .2s; }
body.home section.works {
  padding: 0 0 174px 0; }
  @media screen and (max-width: 1710px) {
    body.home section.works {
      padding: 0 0 157px 0; } }
  @media screen and (max-width: 1500px) {
    body.home section.works {
      padding: 0 0 140px 0; } }
  @media screen and (max-width: 768px) {
    body.home section.works {
      padding: 0 0 70px 0; } }
  body.home section.works .inner {
    /*width: 87.1875%;*/
    max-width: 1734px; }
    @media screen and (max-width: 1710px) {
      body.home section.works .inner {
        max-width: 90.3125%; } }
    @media screen and (max-width: 768px) {
      body.home section.works .inner {
        max-width: 94%; } }
    @media screen and (max-width: 640px) {
      body.home section.works .inner {
        max-width: 100%; } }
    body.home section.works .inner .btn_wrap {
      margin-top: 57px; }
    body.home section.works .inner ul {
      justify-content: space-between;
      flex-wrap: wrap; }
      body.home section.works .inner ul::after {
        content: '';
        display: block;
        height: 0;
        /*width: calc(33.3333333% - 42.666666px);*/
        width: 30.42%; }
        @media screen and (max-width: 1710px) {
          body.home section.works .inner ul::after {
            width: calc(33.3333333% - 38.4px); } }
        @media screen and (max-width: 1500px) {
          body.home section.works .inner ul::after {
            width: calc(33.3333333% - 34.13px); } }
        @media screen and (max-width: 1280px) {
          body.home section.works .inner ul::after {
            width: calc(33.3333333% - 27.3px); } }
        @media screen and (min-width: 769px) and (max-width: 900px) {
          body.home section.works .inner ul::after {
            width: calc(33.3333333% - 20px); } }
        @media screen and (max-width: 768px) {
          body.home section.works .inner ul::after {
            width: calc(33.3333333% - 15px); } }
        @media screen and (max-width: 640px) {
          body.home section.works .inner ul::after {
            width: 100%; } }
      body.home section.works .inner ul li {
        background: #fff;
        /*width: calc(33.3333333% - 42.666666px);*/
        width: 30.42%;
        margin: 0;
        padding: 0;
        position: relative; }
        @media screen and (max-width: 1710px) {
          body.home section.works .inner ul li {
            width: calc(33.3333333% - 38.4px); } }
        @media screen and (max-width: 1500px) {
          body.home section.works .inner ul li {
            width: calc(33.3333333% - 34.13px); } }
        @media screen and (max-width: 1280px) {
          body.home section.works .inner ul li {
            width: calc(33.3333333% - 27.3px); } }
        @media screen and (min-width: 769px) and (max-width: 900px) {
          body.home section.works .inner ul li {
            width: calc(33.3333333% - 20px); } }
        @media screen and (max-width: 768px) {
          body.home section.works .inner ul li {
            width: calc(33.3333333% - 15px); } }
        @media screen and (max-width: 640px) {
          body.home section.works .inner ul li {
            width: 100%;
            margin-bottom: 30px; }
            body.home section.works .inner ul li:last-child {
              margin-bottom: 0; } }
        body.home section.works .inner ul li div.img {
          width: 100%;
          height: 0;
          padding: 59.55% 0 0 0;
          position: relative;
          overflow: hidden; }
          body.home section.works .inner ul li div.img img {
            width: 100%;
            height: 100%;
            max-width: 1000%;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            object-fit: cover; }
        body.home section.works .inner ul li div.txt {
          padding: 20px 19px; }
          @media screen and (max-width: 1710px) {
            body.home section.works .inner ul li div.txt {
              padding: 18px 17px; } }
          @media screen and (max-width: 1500px) {
            body.home section.works .inner ul li div.txt {
              padding: 16px 15px; } }
          @media screen and (max-width: 768px) {
            body.home section.works .inner ul li div.txt {
              padding: 13px 12px; } }
          body.home section.works .inner ul li div.txt .cat {
            background: #666666;
            color: #fff;
            /*font-size: 16.5px;
            font-size: 1.03125em;*/
            /*font-size: 13.2px;*/
            font-size: 0.825em;
            /*padding: 0 38px 0 16px;
            padding: 0 30px 0 13px;
            padding: 0 1.875em 0 0.8175em;*/
            padding: 0 0.8175em;
            display: inline-block;
            /*height: 40px;
            line-height: 40px;*/
            height: 34px;
            line-height: 34px; }
            @media screen and (max-width: 1710px) {
              body.home section.works .inner ul li div.txt .cat {
                height: 29px;
                line-height: 28px; } }
            @media screen and (max-width: 1500px) {
              body.home section.works .inner ul li div.txt .cat {
                height: 26px;
                line-height: 25px; } }
            @media screen and (max-width: 768px) {
              body.home section.works .inner ul li div.txt .cat {
                height: 21px;
                line-height: 20px; } }
          body.home section.works .inner ul li div.txt .title {
            /*font-size: 18px;
            font-size: 1.125em;
            font-size: 16px;*/
            font-size: 1em;
            margin-top: .85em;
            width: calc(100% - 90px); }
            @media screen and (max-width: 1280px) {
              body.home section.works .inner ul li div.txt .title {
                width: calc(100% - 80px); } }
            @media screen and (max-width: 750px) {
              body.home section.works .inner ul li div.txt .title {
                width: calc(100% - 65px); } }
          body.home section.works .inner ul li div.txt .btn_wrap {
            position: absolute;
            bottom: 14px;
            right: 16px;
            margin-top: 0; }
            @media screen and (max-width: 1500px) {
              body.home section.works .inner ul li div.txt .btn_wrap {
                bottom: 13px;
                right: 14px; } }
            @media screen and (max-width: 768px) {
              body.home section.works .inner ul li div.txt .btn_wrap {
                bottom: 11px;
                right: 12px; } }
            @media screen and (max-width: 1280px) {
              body.home section.works .inner ul li div.txt .btn_wrap {
                font-size: 0.8em; } }
            body.home section.works .inner ul li div.txt .btn_wrap a.btn_link, body.home section.works body.single main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.single main section.contents body.home section.works div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.home section.works body.single main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.single main section.contents body.home section.works div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.home section.works body.single main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.single main section.contents body.home section.works div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.home section.works body.single main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a, body.single main section.contents body.home section.works div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a {
              font-weight: normal;
              /*font-size: 13px;
              font-size: 0.8125em;
              font-size: 12px;*/
              font-size: 0.75em;
              background: #fff;
              border: 2px solid #000;
              color: #000;
              padding: 0 2.5em 0 1.2em;
              /*line-height: 30px;
              height: 34px;*/
              line-height: 26px;
              height: 30px;
              letter-spacing: 0.08em;
              transition: .2s; }
              body.home section.works .inner ul li div.txt .btn_wrap a.btn_link::after, body.home section.works body.single main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a::after, body.single main section.contents body.home section.works div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a::after, body.home section.works body.single main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a::after, body.single main section.contents body.home section.works div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a::after, body.home section.works body.single main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a::after, body.single main section.contents body.home section.works div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a::after, body.home section.works body.single main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a::after, body.single main section.contents body.home section.works div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a::after {
                font-weight: bold;
                right: .8em; }
              body.home section.works .inner ul li div.txt .btn_wrap a.btn_link:hover, body.home section.works body.single main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a:hover, body.single main section.contents body.home section.works div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a:hover, body.home section.works body.single main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a:hover, body.single main section.contents body.home section.works div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a:hover, body.home section.works body.single main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a:hover, body.single main section.contents body.home section.works div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a:hover, body.home section.works body.single main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a:hover, body.single main section.contents body.home section.works div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a:hover {
                background: #000;
                color: #fff;
                transition: .2s; }
              @media screen and (max-width: 1710px) {
                body.home section.works .inner ul li div.txt .btn_wrap a.btn_link, body.home section.works body.single main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.single main section.contents body.home section.works div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.home section.works body.single main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.single main section.contents body.home section.works div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.home section.works body.single main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.single main section.contents body.home section.works div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.home section.works body.single main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a, body.single main section.contents body.home section.works div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a {
                  /*line-height: 27px;
                  height: 31px;*/
                  line-height: 24px;
                  height: 28px; } }
              @media screen and (max-width: 1500px) {
                body.home section.works .inner ul li div.txt .btn_wrap a.btn_link, body.home section.works body.single main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.single main section.contents body.home section.works div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.home section.works body.single main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.single main section.contents body.home section.works div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.home section.works body.single main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.single main section.contents body.home section.works div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.home section.works body.single main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a, body.single main section.contents body.home section.works div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a {
                  /*line-height: 23px;
                  height: 27px;*/
                  line-height: 20px;
                  height: 24px; } }
              @media screen and (max-width: 768px) {
                body.home section.works .inner ul li div.txt .btn_wrap a.btn_link, body.home section.works body.single main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.single main section.contents body.home section.works div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.home section.works body.single main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.single main section.contents body.home section.works div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.home section.works body.single main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.single main section.contents body.home section.works div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.home section.works body.single main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a, body.single main section.contents body.home section.works div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a {
                  height: 20px;
                  line-height: 16px; } }
              @media screen and (max-width: 640px) {
                body.home section.works .inner ul li div.txt .btn_wrap a.btn_link, body.home section.works body.single main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.single main section.contents body.home section.works div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.home section.works body.single main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.single main section.contents body.home section.works div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.home section.works body.single main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.single main section.contents body.home section.works div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.home section.works body.single main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a, body.single main section.contents body.home section.works div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a {
                  line-height: 20px;
                  height: 24px; } }
body.home section.contents_area {
  margin: 0;
  padding: 100px 0; }
  @media screen and (max-width: 768px) {
    body.home section.contents_area {
      padding: 80px 0; } }
  @media screen and (max-width: 640px) {
    body.home section.contents_area {
      padding: 50px 0; } }
  body.home section.contents_area ul.contents_area_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    margin: 0;
    /*max-width: 80%;
    max-width: 64%;
    width: 64%;*/
    width: 64%;
    max-width: 1228px;
    margin: 0 auto; }
    @media screen and (max-width: 1710px) {
      body.home section.contents_area ul.contents_area_list {
        max-width: 1094px; } }
    @media screen and (max-width: 1500px) {
      body.home section.contents_area ul.contents_area_list {
        max-width: 960px; } }
    @media screen and (max-width: 860px) {
      body.home section.contents_area ul.contents_area_list {
        max-width: 80%; } }
    @media screen and (max-width: 640px) {
      body.home section.contents_area ul.contents_area_list {
        max-width: 80%;
        display: block; } }
    body.home section.contents_area ul.contents_area_list li {
      padding: 0;
      margin: 0;
      width: 50%; }
      body.home section.contents_area ul.contents_area_list li:nth-child(3), body.home section.contents_area ul.contents_area_list li:nth-child(4) {
        margin-top: -1px; }
      @media screen and (max-width: 640px) {
        body.home section.contents_area ul.contents_area_list li {
          width: 100%; } }
      body.home section.contents_area ul.contents_area_list li a.wrap {
        width: 100%;
        position: relative;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        /*padding: 80px 0 68px 0;*/
        /*padding: 57px 0 45px 0;*/
        /*padding: 46px 0 36px 0;
        padding: 2.875em 0 2.25em 0;*/
        padding: 2.75em 0 2.15em 0;
        margin: 0;
        transition: .3s; }
        @media screen and (max-width: 640px) {
          body.home section.contents_area ul.contents_area_list li a.wrap {
            /*padding: 40px 0 34px 0;*/
            padding: 2.5em 0 2.125em 0; } }
        body.home section.contents_area ul.contents_area_list li a.wrap img {
          position: absolute;
          max-width: 1000%;
          height: 100%;
          width: auto;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%);
          z-index: 1;
          transition: .3s; }
          @media screen and (min-width: 1920px) {
            body.home section.contents_area ul.contents_area_list li a.wrap img {
              height: auto;
              width: 100%; } }
        body.home section.contents_area ul.contents_area_list li a.wrap::before {
          content: '';
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          background: rgba(26, 26, 26, 0.3);
          z-index: 2;
          transition: .3s; }
        body.home section.contents_area ul.contents_area_list li a.wrap p, body.home section.contents_area ul.contents_area_list li a.wrap div {
          position: relative;
          z-index: 3;
          color: #fff;
          transition: .3s; }
          body.home section.contents_area ul.contents_area_list li a.wrap p.title, body.home section.contents_area ul.contents_area_list li a.wrap div.title {
            font-family: "Jost", sans-serif;
            /*font-size: 47.2px;
            font-size: 2.95em;*/
            /*font-size: 38px;*/
            /*font-size: 2.375em;*/
            font-size: 1.9em;
            font-weight: 600;
            text-align: center;
            letter-spacing: 0.1em;
            margin: 0;
            padding: 0;
            line-height: 1em; }
            @media screen and (max-width: 640px) {
              body.home section.contents_area ul.contents_area_list li a.wrap p.title, body.home section.contents_area ul.contents_area_list li a.wrap div.title {
                padding: 0 30px;
                font-size: 2em; } }
          body.home section.contents_area ul.contents_area_list li a.wrap p.txt, body.home section.contents_area ul.contents_area_list li a.wrap div.txt {
            text-align: center;
            margin: 8px 0 0 0;
            padding: 0;
            /*font-size: 16px;*/
            /*font-size: 1em;*/
            font-size: 0.8em; }
          body.home section.contents_area ul.contents_area_list li a.wrap p.btn_wrap, body.home section.contents_area ul.contents_area_list li a.wrap div.btn_wrap {
            /*margin-top: 40px;*/
            margin-top: 32px; }
            @media screen and (max-width: 640px) {
              body.home section.contents_area ul.contents_area_list li a.wrap p.btn_wrap, body.home section.contents_area ul.contents_area_list li a.wrap div.btn_wrap {
                margin-top: 25px; } }
            body.home section.contents_area ul.contents_area_list li a.wrap p.btn_wrap span.btn_link, body.home section.contents_area ul.contents_area_list li a.wrap div.btn_wrap span.btn_link {
              background: none;
              /*height: 38px;
              line-height: 33px;*/
              height: 31px;
              line-height: 27px;
              font-size: 0.8em;
              padding: 0 2.6em 0 1em;
              border: 2px solid #fff;
              display: inline-block;
              transition: .3s; }
              body.home section.contents_area ul.contents_area_list li a.wrap p.btn_wrap span.btn_link:after, body.home section.contents_area ul.contents_area_list li a.wrap div.btn_wrap span.btn_link:after {
                font-family: 'Font Awesome\ 5 Free';
                content: "\f0da";
                margin-left: 1.1em;
                position: absolute;
                display: flex;
                align-items: center;
                top: 0;
                bottom: 0;
                right: 1em;
                margin: auto 0;
                font-weight: bold; }
              @media screen and (max-width: 1710px) {
                body.home section.contents_area ul.contents_area_list li a.wrap p.btn_wrap span.btn_link, body.home section.contents_area ul.contents_area_list li a.wrap div.btn_wrap span.btn_link {
                  height: 34px;
                  line-height: 30px; } }
              @media screen and (max-width: 1500px) {
                body.home section.contents_area ul.contents_area_list li a.wrap p.btn_wrap span.btn_link, body.home section.contents_area ul.contents_area_list li a.wrap div.btn_wrap span.btn_link {
                  height: 30px;
                  line-height: 26px; } }
              @media screen and (max-width: 1280px) {
                body.home section.contents_area ul.contents_area_list li a.wrap p.btn_wrap span.btn_link, body.home section.contents_area ul.contents_area_list li a.wrap div.btn_wrap span.btn_link {
                  height: 24px;
                  line-height: 20px; } }
        body.home section.contents_area ul.contents_area_list li a.wrap:hover img {
          height: 105%; }
          @media screen and (min-width: 1920px) {
            body.home section.contents_area ul.contents_area_list li a.wrap:hover img {
              width: 105%;
              height: auto; } }
        body.home section.contents_area ul.contents_area_list li a.wrap:hover::before {
          background: rgba(26, 26, 26, 0.4); }
        body.home section.contents_area ul.contents_area_list li a.wrap:hover div.btn_wrap span.btn_link {
          background: #fff;
          color: #1a1a1a; }
body.home section.news {
  background: #f5f5f5;
  padding: 123px 0 123px; }
  @media screen and (max-width: 1710px) {
    body.home section.news {
      padding: 111px 0 111px; } }
  @media screen and (max-width: 1500px) {
    body.home section.news {
      padding: 98px 0 98px; } }
  @media screen and (max-width: 768px) {
    body.home section.news {
      padding: 78px 0 78px; } }
  @media screen and (max-width: 640px) {
    body.home section.news {
      padding: 49px 0 49px; } }
  body.home section.news h2 {
    margin-bottom: 34px; }
  body.home section.news .inner {
    /*max-width: 1106px;*/
    max-width: 885px; }
    @media screen and (max-width: 1710px) {
      body.home section.news .inner {
        width: 57.604%; } }
    @media screen and (max-width: 768px) {
      body.home section.news .inner {
        width: 62%; } }
    @media screen and (max-width: 640px) {
      body.home section.news .inner {
        width: 90%; } }
    body.home section.news .inner .btn_wrap {
      margin-top: 48px; }
body.home section.universal {
  background: url(../images/goals_bg.jpg) center center no-repeat;
  background-size: 100% auto;
  /*padding: 146px 0 114px;*/
  padding: 117px 0 91px; }
  @media screen and (max-width: 1150px) {
    body.home section.universal {
      background-size: auto 104%; } }
  @media screen and (max-width: 1710px) {
    body.home section.universal {
      /*padding: 144px 0 115px;*/
      padding: 105px 0 82px; } }
  @media screen and (max-width: 1500px) {
    body.home section.universal {
      /*padding: 128px 0 102px;*/
      padding: 94px 0 73px; } }
  @media screen and (max-width: 768px) {
    body.home section.universal {
      padding: 75px 0 58px; } }
  @media screen and (max-width: 640px) {
    body.home section.universal {
      /*padding: 85px 0 68px;*/
      padding: 68px 0 53px; } }
  body.home section.universal .inner {
    text-align: left;
    /*max-width: 1480px;*/
    max-width: 1184px;
    font-size: .8em; }
    @media screen and (max-width: 1710px) {
      body.home section.universal .inner {
        width: 77.083333%; } }
    @media screen and (max-width: 860px) {
      body.home section.universal .inner {
        width: 85%; } }
    @media screen and (max-width: 640px) {
      body.home section.universal .inner {
        width: 100%; } }
    body.home section.universal .inner h2 {
      text-align: left;
      font-weight: normal;
      /*font-size: 39px;*/
      font-size: 2.4375em;
      /*margin: 0 0 45px 0;*/
      margin: 0 0 36px 0;
      font-family: "Noto Serif JP", serif; }
      @media screen and (max-width: 640px) {
        body.home section.universal .inner h2 {
          font-size: 2em;
          margin: 0 0 22px 0; } }
    body.home section.universal .inner p {
      /*margin: 0 0 35px;*/
      margin: 0 0 28px;
      line-height: 1.75em;
      max-width: 577px; }
      @media screen and (max-width: 1710px) {
        body.home section.universal .inner p {
          max-width: 520px; } }
      @media screen and (max-width: 1500px) {
        body.home section.universal .inner p {
          max-width: 462px; } }
      @media screen and (max-width: 640px) {
        body.home section.universal .inner p {
          max-width: 100%;
          margin: 0 0 17px; } }
    body.home section.universal .inner .sdgs {
      display: flex;
      align-items: center; }
      body.home section.universal .inner .sdgs h3 {
        /*width: 132px;*/
        /*width: 106px;*/
        /*margin: 0 40px 0 0;*/
        /*margin: 0 32px 0 0;*/
        width: 85px;
        margin: 0 26px 0 0;
        padding: 0; }
        body.home section.universal .inner .sdgs h3 img {
          vertical-align: bottom; }
        @media screen and (max-width: 1710px) {
          body.home section.universal .inner .sdgs h3 {
            /*width: 119px;
            margin: 0 36px 0 0;*/
            /*width: 95px;
            margin: 0 29px 0 0;*/
            width: 77px;
            margin: 0 26px 0 0; } }
        @media screen and (max-width: 1500px) {
          body.home section.universal .inner .sdgs h3 {
            /*width: 106px;
            margin: 0 32px 0 0;*/
            /*width: 85px;
            margin: 0 26px 0 0;*/
            width: 68px;
            margin: 0 21px 0 0; } }
        @media screen and (max-width: 640px) {
          body.home section.universal .inner .sdgs h3 {
            width: 22.943%;
            margin: 0 6.92% 0 0; } }
      body.home section.universal .inner .sdgs ul {
        display: flex;
        list-style: none;
        padding: 0;
        margin: 0; }
        @media screen and (max-width: 640px) {
          body.home section.universal .inner .sdgs ul {
            width: calc(100% - 22.943% - 6.92%);
            justify-content: space-between; } }
        body.home section.universal .inner .sdgs ul li {
          list-style: none;
          padding: 0;
          /*margin: 0 10px 0 0;
          width: 73px;*/
          /*margin: 0 8px 0 0;
          width: 58px;*/
          margin: 0 6.4px 0 0;
          width: 46px; }
          @media screen and (max-width: 1710px) {
            body.home section.universal .inner .sdgs ul li {
              /*width: 66px;
              margin: 0 9px 0 0;*/
              /*width: 53px;
              margin: 0 7px 0 0;*/
              margin: 0 5.8px 0 0;
              width: 41px; } }
          @media screen and (max-width: 1500px) {
            body.home section.universal .inner .sdgs ul li {
              /*width: 58px;
              margin: 0 8px 0 0;*/
              /*width: 46px;
              margin: 0 6px 0 0;*/
              margin: 0 5.1px 0 0;
              width: 37px; } }
          @media screen and (max-width: 640px) {
            body.home section.universal .inner .sdgs ul li {
              width: 17.2%;
              margin: 0; } }
          body.home section.universal .inner .sdgs ul li img {
            vertical-align: bottom; }
          body.home section.universal .inner .sdgs ul li:last-child {
            margin-right: 0; }
    body.home section.universal .inner div.btn_wrap {
      text-align: left;
      /*margin-top: 57px;*/
      margin-top: 46px;
      display: flex;
      flex-direction: column;
      align-items: flex-start; }
      @media screen and (max-width: 640px) {
        body.home section.universal .inner div.btn_wrap {
          margin-top: 28px; } }
      body.home section.universal .inner div.btn_wrap a.btn_link, body.home section.universal body.single main section.contents div.inner div.flex div.btn_wrap div.nextprev_wrap a, body.single main section.contents body.home section.universal div.inner div.flex div.btn_wrap div.nextprev_wrap a {
        letter-spacing: 0.1em;
        padding: .95em 4.4em .95em 1.8em;
        margin-bottom: 10px; }
        body.home section.universal .inner div.btn_wrap a.btn_link:last-child, body.home section.universal body.single main section.contents div.inner div.flex div.btn_wrap div.nextprev_wrap a:last-child, body.single main section.contents body.home section.universal div.inner div.flex div.btn_wrap div.nextprev_wrap a:last-child {
          margin-bottom: 0; }

/* -------------------------------- 
sub components 
--------------------------------- */
/*breadcrumbs*/
body.sub .breadcrumbs {
  padding: 36px 0;
  font-size: .75em;
  background: #ececec; }
  @media screen and (max-width: 640px) {
    body.sub .breadcrumbs {
      padding: 18px 0; } }
  body.sub .breadcrumbs div.aioseo-breadcrumbs {
    max-width: 1720px;
    padding: 0 30px;
    width: 100%;
    margin: 0 auto; }
    @media screen and (max-width: 1710px) {
      body.sub .breadcrumbs div.aioseo-breadcrumbs {
        width: 90%; } }
    @media screen and (max-width: 640px) {
      body.sub .breadcrumbs div.aioseo-breadcrumbs {
        width: 100%; } }
  body.sub .breadcrumbs span {
    display: inline-block;
    margin: 0; }
    body.sub .breadcrumbs span.aioseo-breadcrumb-separator {
      margin: 0 .3em; }
  body.sub .breadcrumbs a {
    color: #000; }

/*common*/
body.sub main {
  /*font-size: 18px;
  @include mq(xxl) {
      font-size: 16px;
  }
  @include mq(xl) {
      font-size: 15px;
  }
  @include mq(np) {
      font-size: 14px;
  }
  @include mq(sm) {
      font-size: 12px;
  }*/ }
  body.sub main .page_title {
    margin: 0 auto 0;
    text-align: center;
    width: 100%;
    padding: 23.4375% 0 0 0;
    background-color: #333333;
    color: #fff;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: 0 0;
    position: relative;
    font-size: 1em;
    overflow: hidden; }
    @media screen and (max-width: 640px) {
      body.sub main .page_title {
        padding: 55% 0 0 0; } }
    body.sub main .page_title img.top_bg {
      position: absolute;
      top: 50%;
      left: 50%;
      width: calc(100% + 5px);
      max-width: calc(100% + 5px);
      height: auto;
      transform: translate(-50%, -50%); }
      @media screen and (max-width: 640px) {
        body.sub main .page_title img.top_bg {
          width: auto;
          max-width: 1000%;
          height: calc(100% + 5px); } }
    body.sub main .page_title span {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      line-height: 1em;
      width: calc(100% - 60px); }
      @media screen and (max-width: 640px) {
        body.sub main .page_title span {
          width: calc(100% - 40px); } }
      body.sub main .page_title span span.en {
        font-family: "Jost", sans-serif;
        font-weight: 600;
        font-size: 3.4375em;
        text-transform: uppercase;
        display: block;
        position: static;
        width: 100%;
        top: auto;
        left: auto;
        transform: translate(0, 0);
        letter-spacing: 0.1em; }
        @media screen and (max-width: 640px) {
          body.sub main .page_title span span.en {
            font-size: 2.5em; } }
      body.sub main .page_title span span.jp {
        font-size: 1.8125em;
        display: block;
        position: static;
        margin-top: .6em;
        width: 100%;
        top: auto;
        left: auto;
        transform: translate(0, 0); }
        body.sub main .page_title span span.jp.series {
          font-size: 1.3125em;
          margin-top: .4em; }
        @media screen and (max-width: 640px) {
          body.sub main .page_title span span.jp {
            font-size: 1.35em; } }
      body.sub main .page_title span span.read_l {
        font-size: 2.25em;
        display: block;
        position: static;
        margin-top: 1.5em;
        width: 100%;
        top: auto;
        left: auto;
        transform: translate(0, 0); }
        @media screen and (max-width: 640px) {
          body.sub main .page_title span span.read_l {
            font-size: 1.2em; } }
      body.sub main .page_title span span.read_s {
        font-size: 1.3125em;
        line-height: 1.747em;
        display: block;
        position: static;
        margin: 1.2em auto 0;
        width: 100%;
        top: auto;
        left: auto;
        transform: translate(0, 0);
        font-weight: normal;
        max-width: 825px; }
        @media screen and (max-width: 640px) {
          body.sub main .page_title span span.read_s {
            font-size: 1em; } }
  body.sub main section.contents {
    padding: 130px 0 140px;
    /*font-size: .8em;*/ }
    @media screen and (max-width: 640px) {
      body.sub main section.contents {
        padding: 45px 0 50px; } }
    body.sub main section.contents div.inner {
      /*max-width: 1513px;*/
      max-width: 1210px; }
      @media screen and (max-width: 1710px) {
        body.sub main section.contents div.inner {
          width: 80%; } }
      @media screen and (max-width: 1366px) {
        body.sub main section.contents div.inner {
          width: 80%; } }
      @media screen and (max-width: 1024px) {
        body.sub main section.contents div.inner {
          width: 95%; } }
      @media screen and (max-width: 640px) {
        body.sub main section.contents div.inner {
          width: 100%; } }
      body.sub main section.contents div.inner .flex {
        font-size: 0.8em; }
      body.sub main section.contents div.inner .single_title_wrap {
        margin-bottom: 2.5em; }
      body.sub main section.contents div.inner h1.single_title {
        margin: 0 0 1.5em;
        padding: 0 0 .4em;
        border-bottom: 3px solid #000; }
        @media screen and (max-width: 640px) {
          body.sub main section.contents div.inner h1.single_title {
            font-size: 1.6em;
            border-bottom: 2px solid #000; } }
      body.sub main section.contents div.inner div.single_content {
        line-height: 1.6;
        word-break: break-all; }
        @media screen and (max-width: 640px) {
          body.sub main section.contents div.inner div.single_content {
            font-size: 1em;
            line-height: 1.5; } }
        body.sub main section.contents div.inner div.single_content a {
          text-decoration: underline;
          transition: .2s; }
          body.sub main section.contents div.inner div.single_content a:hover {
            background: #e9e8e8;
            transition: .2s; }
        body.sub main section.contents div.inner div.single_content h2 {
          margin: 0 0 2.25em;
          font-size: 1.5em;
          background: #e9e8e8;
          /*padding: .92em 45px .92em 45px;*/
          /*padding: .92em 2.8125em .92em 2.8125em;*/
          padding: .45em 1.5em .45em 1.5em;
          font-weight: normal; }
          body.sub main section.contents div.inner div.single_content h2.horyuh2 {
            display: flex;
            justify-content: space-between;
            align-items: center; }
            body.sub main section.contents div.inner div.single_content h2.horyuh2 span {
              color: #56633f; }
              body.sub main section.contents div.inner div.single_content h2.horyuh2 span.fsize80 {
                font-size: 0.85em;
                text-align: right;
                color: #000; }
              @media screen and (max-width: 640px) {
                body.sub main section.contents div.inner div.single_content h2.horyuh2 span {
                  font-size: 0.85em; } }
          @media screen and (max-width: 640px) {
            body.sub main section.contents div.inner div.single_content h2 {
              padding: .92em;
              font-size: 1.3em; } }
        body.sub main section.contents div.inner div.single_content h3 {
          margin: 0 0 1.46em;
          font-size: 1.3125em;
          /*padding: .53em 0 .53em 29px;*/
          padding: .3em 0 .36em 0.8em;
          font-weight: normal;
          border-bottom: 1px dotted #e9e8e8;
          /*border-left: 16px solid $bg_color;*/
          border-left: 15px solid #e9e8e8; }
          body.sub main section.contents div.inner div.single_content h3.design2 {
            font-size: 1.5625em;
            border-bottom: 1px solid #000;
            border-left: none;
            padding: 0 0 .4em;
            margin: 0 0 1em; }
          @media screen and (max-width: 640px) {
            body.sub main section.contents div.inner div.single_content h3 {
              padding: .53em 0 .53em 10px;
              border-left: 8px solid #e9e8e8; } }
        body.sub main section.contents div.inner div.single_content h4 {
          margin: 0 0 1.46em;
          font-size: 1.3125em;
          padding: 0 0 .2em 0;
          font-weight: normal;
          border-bottom: 1px solid #000;
          display: inline-block; }
        body.sub main section.contents div.inner div.single_content p {
          line-height: 1.75em;
          font-size: 1.125em;
          margin: 0; }
          body.sub main section.contents div.inner div.single_content p.kome {
            text-indent: -1em;
            padding-left: 1em; }
          body.sub main section.contents div.inner div.single_content p.p_read {
            /*font-size: 1.3125em;*/
            font-size: 1.1875em;
            line-height: 1.75em; }
            @media screen and (max-width: 640px) {
              body.sub main section.contents div.inner div.single_content p.p_read {
                font-size: 1.1em; } }
        body.sub main section.contents div.inner div.single_content ul {
          padding-left: 1.5em; }
          body.sub main section.contents div.inner div.single_content ul.blocks-gallery-grid {
            padding-left: 0; }
          body.sub main section.contents div.inner div.single_content ul.media_list {
            border-top: 1px dotted #ddd; }
            body.sub main section.contents div.inner div.single_content ul.media_list li {
              padding: 1em 0;
              position: relative; }
              body.sub main section.contents div.inner div.single_content ul.media_list li::after {
                content: '';
                width: calc(100% + 1.5em);
                height: 1px;
                position: absolute;
                bottom: 0;
                left: -1.5em;
                border-bottom: 1px dotted #ddd; }
              body.sub main section.contents div.inner div.single_content ul.media_list li a {
                color: #000;
                text-decoration: none; }
        body.sub main section.contents div.inner div.single_content ol {
          padding-left: 1.8em; }
          body.sub main section.contents div.inner div.single_content ol li {
            margin-bottom: 1em;
            font-size: 1.125em; }
        body.sub main section.contents div.inner div.single_content table {
          width: 100%;
          border-collapse: collapse;
          border-spacing: 0;
          font-size: 1.125em; }
          body.sub main section.contents div.inner div.single_content table tr th {
            padding: .9em;
            border-bottom: 2px solid #333; }
          body.sub main section.contents div.inner div.single_content table tr td {
            padding: .9em;
            border: none;
            border-top: 1px dotted #808080;
            border-bottom: 1px dotted #808080; }
            body.sub main section.contents div.inner div.single_content table tr td:first-child {
              width: 25%; }
        body.sub main section.contents div.inner div.single_content figure {
          margin: auto; }
          body.sub main section.contents div.inner div.single_content figure img {
            vertical-align: bottom; }
          body.sub main section.contents div.inner div.single_content figure.taidan table tr th {
            border: none;
            padding: .5em; }
          body.sub main section.contents div.inner div.single_content figure.taidan table tr td {
            border: none;
            vertical-align: text-top;
            padding: .5em; }
            body.sub main section.contents div.inner div.single_content figure.taidan table tr td:first-child {
              width: 5em; }
          body.sub main section.contents div.inner div.single_content figure.size-full img {
            width: 100%; }
          body.sub main section.contents div.inner div.single_content figure.border-none table tr td {
            border: none;
            padding: 0.25em 0; }
        body.sub main section.contents div.inner div.single_content .googlemap {
          width: 100%;
          height: 0;
          padding: 28.8077% 0 0 0;
          margin: 0;
          position: relative; }
          body.sub main section.contents div.inner div.single_content .googlemap iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100% !important;
            height: 100% !important; }
          @media screen and (max-width: 1024px) {
            body.sub main section.contents div.inner div.single_content .googlemap {
              padding: 40% 0 0 0; } }
          @media screen and (max-width: 640px) {
            body.sub main section.contents div.inner div.single_content .googlemap {
              padding: 75% 0 0 0; } }
        body.sub main section.contents div.inner div.single_content .wp-block-group.p_read p {
          margin: 0;
          /*font-size: 1.3125em;*/
          font-size: 1.1875em;
          line-height: 1.75em; }
          @media screen and (max-width: 640px) {
            body.sub main section.contents div.inner div.single_content .wp-block-group.p_read p {
              font-size: 1.1em; } }
        body.sub main section.contents div.inner div.single_content .width70 {
          max-width: 70%; }
          @media screen and (max-width: 640px) {
            body.sub main section.contents div.inner div.single_content .width70 {
              max-width: 100%; } }
        body.sub main section.contents div.inner div.single_content .width70_img img {
          max-width: 70%; }
          @media screen and (max-width: 640px) {
            body.sub main section.contents div.inner div.single_content .width70_img img {
              width: 100%;
              max-width: 100%; } }
        body.sub main section.contents div.inner div.single_content .wp-block-image {
          /*&.width80 {
              max-width: 80%;
              margin-left: auto;
              margin-right: auto;
              @include mq(md) {
                  max-width: 100%;
                  width: 100%;
              }
          }*/ }
          @media screen and (max-width: 640px) {
            body.sub main section.contents div.inner div.single_content .wp-block-image.syomei img {
              width: 180px;
              height: auto; } }
          body.sub main section.contents div.inner div.single_content .wp-block-image.width90r {
            text-align: right; }
            body.sub main section.contents div.inner div.single_content .wp-block-image.width90r img {
              max-width: 90%;
              width: 90%; }
              @media screen and (max-width: 640px) {
                body.sub main section.contents div.inner div.single_content .wp-block-image.width90r img {
                  max-width: 100%;
                  width: 100%; } }
          body.sub main section.contents div.inner div.single_content .wp-block-image.width90l {
            text-align: left; }
            body.sub main section.contents div.inner div.single_content .wp-block-image.width90l img {
              max-width: 90%;
              width: 90%; }
              @media screen and (max-width: 640px) {
                body.sub main section.contents div.inner div.single_content .wp-block-image.width90l img {
                  max-width: 100%;
                  width: 100%; } }
          body.sub main section.contents div.inner div.single_content .wp-block-image.width90c {
            text-align: center; }
            body.sub main section.contents div.inner div.single_content .wp-block-image.width90c img {
              max-width: 90%;
              width: 90%; }
              @media screen and (max-width: 640px) {
                body.sub main section.contents div.inner div.single_content .wp-block-image.width90c img {
                  max-width: 100%;
                  width: 100%; } }
          body.sub main section.contents div.inner div.single_content .wp-block-image.width80r {
            text-align: right; }
            body.sub main section.contents div.inner div.single_content .wp-block-image.width80r img {
              max-width: 80%;
              width: 80%; }
              @media screen and (max-width: 640px) {
                body.sub main section.contents div.inner div.single_content .wp-block-image.width80r img {
                  max-width: 100%;
                  width: 100%; } }
          body.sub main section.contents div.inner div.single_content .wp-block-image.width80l {
            text-align: left; }
            body.sub main section.contents div.inner div.single_content .wp-block-image.width80l img {
              max-width: 80%;
              width: 80%; }
              @media screen and (max-width: 640px) {
                body.sub main section.contents div.inner div.single_content .wp-block-image.width80l img {
                  max-width: 100%;
                  width: 100%; } }
          body.sub main section.contents div.inner div.single_content .wp-block-image.width80c {
            text-align: center; }
            body.sub main section.contents div.inner div.single_content .wp-block-image.width80c img {
              max-width: 80%;
              width: 80%; }
              @media screen and (max-width: 640px) {
                body.sub main section.contents div.inner div.single_content .wp-block-image.width80c img {
                  max-width: 100%;
                  width: 100%; } }
          body.sub main section.contents div.inner div.single_content .wp-block-image.width70r {
            text-align: right; }
            body.sub main section.contents div.inner div.single_content .wp-block-image.width70r img {
              max-width: 70%;
              width: 70%; }
              @media screen and (max-width: 640px) {
                body.sub main section.contents div.inner div.single_content .wp-block-image.width70r img {
                  max-width: 100%;
                  width: 100%; } }
          body.sub main section.contents div.inner div.single_content .wp-block-image.width70l {
            text-align: left; }
            body.sub main section.contents div.inner div.single_content .wp-block-image.width70l img {
              max-width: 70%;
              width: 70%; }
              @media screen and (max-width: 640px) {
                body.sub main section.contents div.inner div.single_content .wp-block-image.width70l img {
                  max-width: 100%;
                  width: 100%; } }
          body.sub main section.contents div.inner div.single_content .wp-block-image.width70c {
            text-align: center; }
            body.sub main section.contents div.inner div.single_content .wp-block-image.width70c img {
              max-width: 70%;
              width: 70%; }
              @media screen and (max-width: 640px) {
                body.sub main section.contents div.inner div.single_content .wp-block-image.width70c img {
                  max-width: 100%;
                  width: 100%; } }
          body.sub main section.contents div.inner div.single_content .wp-block-image.width60r {
            text-align: right; }
            body.sub main section.contents div.inner div.single_content .wp-block-image.width60r img {
              max-width: 60%;
              width: 60%; }
              @media screen and (max-width: 640px) {
                body.sub main section.contents div.inner div.single_content .wp-block-image.width60r img {
                  max-width: 100%;
                  width: 100%; } }
          body.sub main section.contents div.inner div.single_content .wp-block-image.width60l {
            text-align: left; }
            body.sub main section.contents div.inner div.single_content .wp-block-image.width60l img {
              max-width: 60%;
              width: 60%; }
              @media screen and (max-width: 640px) {
                body.sub main section.contents div.inner div.single_content .wp-block-image.width60l img {
                  max-width: 100%;
                  width: 100%; } }
          body.sub main section.contents div.inner div.single_content .wp-block-image.width60c {
            text-align: center; }
            body.sub main section.contents div.inner div.single_content .wp-block-image.width60c img {
              max-width: 60%;
              width: 60%; }
              @media screen and (max-width: 640px) {
                body.sub main section.contents div.inner div.single_content .wp-block-image.width60c img {
                  max-width: 100%;
                  width: 100%; } }
          body.sub main section.contents div.inner div.single_content .wp-block-image figcaption {
            color: #555;
            font-size: .9em;
            text-align: center; }
        body.sub main section.contents div.inner div.single_content .wp-block-buttons a.wp-block-button__link {
          text-decoration: none;
          padding: 1em 1.8em;
          border-radius: 2em;
          font-weight: bold; }
        body.sub main section.contents div.inner div.single_content .wp-block-columns.large_font {
          font-size: 1.125em; }
        body.sub main section.contents div.inner div.single_content .wp-block-columns.mincho {
          font-family: "Noto Serif JP", serif; }
        body.sub main section.contents div.inner div.single_content .wp-block-columns.col_width {
          width: calc(100% - 80px);
          margin: 0 auto; }
          @media screen and (max-width: 640px) {
            body.sub main section.contents div.inner div.single_content .wp-block-columns.col_width {
              width: calc(100% - 40px); } }
        body.sub main section.contents div.inner div.single_content .wp-block-columns.center_inline {
          text-align: center;
          display: block; }
          body.sub main section.contents div.inner div.single_content .wp-block-columns.center_inline .wp-block-column {
            display: inline-block;
            text-align: left; }
        body.sub main section.contents div.inner div.single_content .wp-block-columns.small_width {
          width: 65%;
          margin-left: auto;
          margin-right: auto; }
          @media screen and (max-width: 768px) {
            body.sub main section.contents div.inner div.single_content .wp-block-columns.small_width {
              width: 100%; } }
        body.sub main section.contents div.inner div.single_content .wp-block-columns.width80c {
          max-width: 80%;
          margin-left: auto;
          margin-right: auto; }
          @media screen and (max-width: 768px) {
            body.sub main section.contents div.inner div.single_content .wp-block-columns.width80c {
              max-width: 100%;
              width: 100%; } }
        body.sub main section.contents div.inner div.single_content .wp-block-columns.item-center {
          align-items: center; }
        body.sub main section.contents div.inner div.single_content .wp-block-columns.m0 {
          margin-bottom: 0; }
        body.sub main section.contents div.inner div.single_content .wp-block-columns.l60_r30 {
          justify-content: space-between; }
          @media screen and (max-width: 640px) {
            body.sub main section.contents div.inner div.single_content .wp-block-columns.l60_r30 {
              display: block; } }
          body.sub main section.contents div.inner div.single_content .wp-block-columns.l60_r30 .wp-block-column:first-child {
            flex-basis: calc(64.2655% - 4.9435%) !important;
            width: calc(64.2655% - 4.9435%) !important;
            margin: 0; }
            @media screen and (max-width: 640px) {
              body.sub main section.contents div.inner div.single_content .wp-block-columns.l60_r30 .wp-block-column:first-child {
                flex-basis: 100% !important;
                width: 100% !important;
                margin: 0 0 30px; } }
          body.sub main section.contents div.inner div.single_content .wp-block-columns.l60_r30 .wp-block-column:last-child {
            flex-basis: 35.7344% !important;
            width: 35.7344% !important;
            margin: 0; }
            @media screen and (max-width: 640px) {
              body.sub main section.contents div.inner div.single_content .wp-block-columns.l60_r30 .wp-block-column:last-child {
                flex-basis: 100% !important;
                width: 100% !important; } }
            body.sub main section.contents div.inner div.single_content .wp-block-columns.l60_r30 .wp-block-column:last-child p {
              font-size: 1em; }
        body.sub main section.contents div.inner div.single_content .wp-block-columns.l30_r60 {
          justify-content: space-between; }
          @media screen and (max-width: 640px) {
            body.sub main section.contents div.inner div.single_content .wp-block-columns.l30_r60 {
              display: block; } }
          body.sub main section.contents div.inner div.single_content .wp-block-columns.l30_r60 .wp-block-column:first-child {
            flex-basis: 30.1646% !important;
            width: 30.1646% !important; }
            body.sub main section.contents div.inner div.single_content .wp-block-columns.l30_r60 .wp-block-column:first-child p {
              margin: 1em 0; }
            @media screen and (max-width: 640px) {
              body.sub main section.contents div.inner div.single_content .wp-block-columns.l30_r60 .wp-block-column:first-child {
                flex-basis: 100% !important;
                width: 100% !important;
                margin: 0 0 30px; } }
          body.sub main section.contents div.inner div.single_content .wp-block-columns.l30_r60 .wp-block-column:last-child {
            flex-basis: calc(69.8353% - 5.76347%) !important;
            width: calc(69.8353% - 5.76347%) !important; }
            @media screen and (max-width: 640px) {
              body.sub main section.contents div.inner div.single_content .wp-block-columns.l30_r60 .wp-block-column:last-child {
                flex-basis: 100% !important;
                width: 100% !important; } }
        body.sub main section.contents div.inner div.single_content .wp-block-columns.plan_list4 .wp-block-column, body.sub main section.contents div.inner div.single_content .wp-block-columns.plan_list3 .wp-block-column, body.sub main section.contents div.inner div.single_content .wp-block-columns.plan_list2 .wp-block-column {
          display: flex;
          justify-content: space-between;
          flex-direction: column; }
          body.sub main section.contents div.inner div.single_content .wp-block-columns.plan_list4 .wp-block-column .wp-block-button, body.sub main section.contents div.inner div.single_content .wp-block-columns.plan_list3 .wp-block-column .wp-block-button, body.sub main section.contents div.inner div.single_content .wp-block-columns.plan_list2 .wp-block-column .wp-block-button {
            display: block;
            width: 100%;
            max-width: 300px; }
            body.sub main section.contents div.inner div.single_content .wp-block-columns.plan_list4 .wp-block-column .wp-block-button .wp-block-button__link, body.sub main section.contents div.inner div.single_content .wp-block-columns.plan_list3 .wp-block-column .wp-block-button .wp-block-button__link, body.sub main section.contents div.inner div.single_content .wp-block-columns.plan_list2 .wp-block-column .wp-block-button .wp-block-button__link {
              font-size: .9em;
              padding: .8em 1.5em;
              display: block;
              width: 100%;
              position: relative; }
              body.sub main section.contents div.inner div.single_content .wp-block-columns.plan_list4 .wp-block-column .wp-block-button .wp-block-button__link:after, body.sub main section.contents div.inner div.single_content .wp-block-columns.plan_list3 .wp-block-column .wp-block-button .wp-block-button__link:after, body.sub main section.contents div.inner div.single_content .wp-block-columns.plan_list2 .wp-block-column .wp-block-button .wp-block-button__link:after {
                font-family: 'Font Awesome\ 5 Free';
                content: "\f019";
                margin-left: 1.1em;
                position: absolute;
                display: flex;
                align-items: center;
                top: 0;
                bottom: 0;
                right: 1em;
                margin: auto 0; }
      body.sub main section.contents div.inner div.bth_wrap {
        margin-top: 100px; }
        @media screen and (max-width: 640px) {
          body.sub main section.contents div.inner div.bth_wrap {
            margin-top: 50px; } }
        body.sub main section.contents div.inner div.bth_wrap a {
          margin-right: 10px; }
          @media screen and (max-width: 640px) {
            body.sub main section.contents div.inner div.bth_wrap a {
              margin-bottom: 10px; } }
body.sub.post-type-archive-news .widget_recent_entries {
  display: none; }
body.sub.post-type-archive-company main section.contents, body.sub.single-company main section.contents {
  background: #e0dfdf; }
  body.sub.post-type-archive-company main section.contents div.inner, body.sub.single-company main section.contents div.inner {
    /*max-width: 1732px;*/
    max-width: 1386px; }
    @media screen and (max-width: 1710px) {
      body.sub.post-type-archive-company main section.contents div.inner, body.sub.single-company main section.contents div.inner {
        max-width: 80%; } }
    @media screen and (max-width: 1024px) {
      body.sub.post-type-archive-company main section.contents div.inner, body.sub.single-company main section.contents div.inner {
        max-width: 95%; } }
    @media screen and (max-width: 640px) {
      body.sub.post-type-archive-company main section.contents div.inner, body.sub.single-company main section.contents div.inner {
        max-width: 100%; } }
    body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list::after, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list::after {
        content: '';
        height: 0;
        width: 30.921%;
        display: block; }
      body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li {
        /*width: calc(33.33333% - 40.6666px);*/
        width: 30.921%;
        background: #fff;
        margin: 0 0 65px; }
        @media screen and (max-width: 1500px) {
          body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li {
            margin: 0 0 55px; } }
        @media screen and (max-width: 1366px) {
          body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li {
            margin: 0 0 45px; } }
        @media screen and (max-width: 1024px) {
          body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li {
            margin: 0 0 20px; } }
        @media screen and (max-width: 640px) {
          body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li {
            width: 100%;
            margin: 0 0 30px; } }
        body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li a .img, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li a .img {
          width: 100%;
          height: 0;
          padding: 66.66666% 0 0 0;
          position: relative;
          overflow: hidden; }
          body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li a .img img, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li a .img img {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100%;
            height: auto;
            vertical-align: bottom; }
        body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title {
          display: flex;
          justify-content: space-between;
          padding: 10px 20px;
          align-items: center;
          min-height: 68px; }
          @media screen and (max-width: 1366px) {
            body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title {
              padding: 8px 15px; } }
          @media screen and (max-width: 640px) {
            body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title {
              min-height: 54px;
              padding: 10px; } }
          body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title p, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title p {
            /*font-weight: bold;*/
            /*font-size: 18px;*/
            /*font-size: 1.125em;*/
            font-weight: normal;
            font-size: 0.9em;
            margin: 0;
            color: #000;
            line-height: 1.388888em;
            padding-right: 1em; }
            @media screen and (max-width: 1366px) {
              body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title p, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title p {
                font-size: 1.05em; } }
          body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title .btn_wrap span.btn_link, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title .btn_wrap span.btn_link {
            background: none;
            border: 2px solid #333333;
            /*font-size: 13px;*/
            font-size: 0.8125em;
            font-weight: bold;
            padding: 0 2.7em 0 1.2em;
            height: 32px;
            line-height: 28px;
            display: block;
            transition: .3s;
            position: relative;
            color: #333333; }
            body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title .btn_wrap span.btn_link:after, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title .btn_wrap span.btn_link:after {
              font-family: 'Font Awesome\ 5 Free';
              content: "\f0da";
              margin-left: .6em;
              position: absolute;
              display: flex;
              align-items: center;
              top: 0;
              bottom: 0;
              right: .85em;
              margin: auto 0;
              font-weight: bold; }
            @media screen and (max-width: 640px) {
              body.sub.post-type-archive-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title .btn_wrap span.btn_link, body.sub.single-company main section.contents div.inner div.flex div.w100 ul.company_list li a .title .btn_wrap span.btn_link {
                height: 24px;
                line-height: 20px; } }
body.sub.single-company main section.contents {
  background: #fff; }
  body.sub.single-company main section.contents div.inner {
    max-width: 1476px; }
body.sub.single-company main section.company_list {
  background: #e0dfdf;
  padding: 75px 0 88px; }
  @media screen and (max-width: 640px) {
    body.sub.single-company main section.company_list {
      padding: 38px 0 44px; } }
  body.sub.single-company main section.company_list div.inner {
    max-width: 1730px; }
    @media screen and (max-width: 1710px) {
      body.sub.single-company main section.company_list div.inner {
        max-width: 90%; } }
    @media screen and (max-width: 640px) {
      body.sub.single-company main section.company_list div.inner {
        max-width: 100%; } }
    body.sub.single-company main section.company_list div.inner h2 {
      font-family: "Jost", sans-serif;
      font-size: 2.1875em;
      text-align: center;
      font-weight: 600;
      letter-spacing: 0.1em;
      margin: 0 0 60px 0; }
      @media screen and (max-width: 640px) {
        body.sub.single-company main section.company_list div.inner h2 {
          margin: 0 0 30px 0; } }
    body.sub.single-company main section.company_list div.inner ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      body.sub.single-company main section.company_list div.inner ul::after {
        content: '';
        display: block;
        /*width: calc(33.333333% - 38.66666px);*/
        width: 31.0179%;
        height: 0; }
        @media screen and (max-width: 640px) {
          body.sub.single-company main section.company_list div.inner ul::after {
            display: none; } }
      body.sub.single-company main section.company_list div.inner ul li {
        /*width: calc(33.333333% - 38.66666px);*/
        width: 31.0179%;
        background: #fff;
        margin: 0 0 32px; }
        @media screen and (max-width: 1500px) {
          body.sub.single-company main section.company_list div.inner ul li {
            margin: 0 0 27px; } }
        @media screen and (max-width: 1024px) {
          body.sub.single-company main section.company_list div.inner ul li {
            width: 31.8%;
            margin: 0 0 16px; } }
        @media screen and (max-width: 640px) {
          body.sub.single-company main section.company_list div.inner ul li {
            width: 100%;
            margin: 0 0 16px; } }
        body.sub.single-company main section.company_list div.inner ul li a {
          display: flex;
          align-items: center; }
          body.sub.single-company main section.company_list div.inner ul li a span.img {
            /*width: 152px;
            height: 90px;*/
            overflow: hidden;
            width: 29.3436%;
            padding: 17.374% 0 0 0;
            position: relative; }
            @media screen and (max-width: 640px) {
              body.sub.single-company main section.company_list div.inner ul li a span.img {
                width: 76px;
                height: 45px; } }
            body.sub.single-company main section.company_list div.inner ul li a span.img img {
              width: 100%;
              height: auto;
              vertical-align: bottom;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%); }
          body.sub.single-company main section.company_list div.inner ul li a span.title {
            font-size: 1.1em;
            line-height: 1.4em;
            width: calc(100% - 29.3436%);
            font-weight: normal;
            color: #000;
            /*padding: .5em 1.6em;*/
            padding: .5em 4%; }
            @media screen and (max-width: 1024px) {
              body.sub.single-company main section.company_list div.inner ul li a span.title {
                font-size: 0.9em; } }
            @media screen and (max-width: 640px) {
              body.sub.single-company main section.company_list div.inner ul li a span.title {
                width: calc(100% - 76px);
                padding: .4em 1.4em;
                font-size: 1em;
                line-height: 1.3em; } }
@media screen and (max-width: 640px) {
  body.sub.tax-series_list main .page_title {
    padding-top: 47%;
    background-size: auto 100%; }
    body.sub.tax-series_list main .page_title span {
      width: calc(100% - 40px); } }
body.sub.tax-series_list main section.contents {
  padding: 60px 0 60px;
  background: #e0dfdf; }
  body.sub.tax-series_list main section.contents.bg {
    background: #ececec; }
  body.sub.tax-series_list main section.contents div.inner {
    /*max-width: 1730px;*/
    max-width: 1384px; }
  body.sub.tax-series_list main section.contents h2 {
    font-size: 2.5em;
    text-align: center;
    margin: 10px 0 70px;
    line-height: 1em; }
    @media screen and (max-width: 640px) {
      body.sub.tax-series_list main section.contents h2 {
        margin: 5px 0 35px; } }
    body.sub.tax-series_list main section.contents h2.en {
      font-family: "Jost", sans-serif;
      font-size: 3em;
      letter-spacing: .1em; }
      @media screen and (max-width: 640px) {
        body.sub.tax-series_list main section.contents h2.en {
          font-size: 2.5em; } }
  body.sub.tax-series_list main section.contents .btn_wrap.center {
    text-align: center; }
  body.sub.tax-series_list main section.contents ul.series_nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 0 70px 0;
    font-size: 0.8em; }
    body.sub.tax-series_list main section.contents ul.series_nav li {
      margin-right: 15px;
      margin-bottom: 10px; }
      body.sub.tax-series_list main section.contents ul.series_nav li:last-child {
        margin-right: 0; }
      @media screen and (max-width: 640px) {
        body.sub.tax-series_list main section.contents ul.series_nav li {
          margin: 5px; } }
      body.sub.tax-series_list main section.contents ul.series_nav li a {
        background: #333333;
        color: #fff;
        position: relative;
        font-size: 1em;
        font-weight: bold;
        /*height: 53px;
        line-height: 53px;*/
        height: 42px;
        line-height: 42px;
        display: block;
        padding: 0 3em 0 1em; }
        @media screen and (max-width: 1500px) {
          body.sub.tax-series_list main section.contents ul.series_nav li a {
            /*height: 43px;
            line-height: 43px;*/
            height: 34px;
            line-height: 34px; } }
        @media screen and (max-width: 640px) {
          body.sub.tax-series_list main section.contents ul.series_nav li a {
            /*height: 33px;
            line-height: 33px;*/
            height: 28px;
            line-height: 28px;
            font-size: .9em;
            padding: 0 2.5em 0 .8em; } }
        body.sub.tax-series_list main section.contents ul.series_nav li a::after {
          font-family: 'Font Awesome\ 5 Free';
          content: "\f0d7";
          margin-left: 1.1em;
          position: absolute;
          display: flex;
          align-items: center;
          top: 0;
          bottom: 0;
          right: 1em;
          margin: auto 0; }
        body.sub.tax-series_list main section.contents ul.series_nav li a.blank::after {
          content: "\f0da"; }
  body.sub.tax-series_list main section.contents div.outline {
    /*font-size: 1.1875em;*/
    font-size: 1.0625em;
    text-align: center;
    margin: 0 0 100px 0; }
    body.sub.tax-series_list main section.contents div.outline p {
      margin: 0; }
  body.sub.tax-series_list main section.contents ul.series_detail_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    body.sub.tax-series_list main section.contents ul.series_detail_list::after {
      content: '';
      /*width: calc(33.33333% - 42.6666px);*/
      width: 30.778%;
      height: 0;
      display: block; }
    body.sub.tax-series_list main section.contents ul.series_detail_list li {
      /*width: calc(33.33333% - 42.6666px);*/
      width: 30.778%;
      background: #fff;
      margin: 0 0 65px; }
      @media screen and (max-width: 1500px) {
        body.sub.tax-series_list main section.contents ul.series_detail_list li {
          margin: 0 0 55px; } }
      @media screen and (max-width: 1366px) {
        body.sub.tax-series_list main section.contents ul.series_detail_list li {
          margin: 0 0 45px; } }
      @media screen and (max-width: 1024px) {
        body.sub.tax-series_list main section.contents ul.series_detail_list li {
          margin: 0 0 20px;
          width: 31%; } }
      @media screen and (max-width: 640px) {
        body.sub.tax-series_list main section.contents ul.series_detail_list li {
          width: 100%;
          margin: 0 0 30px; } }
      body.sub.tax-series_list main section.contents ul.series_detail_list li a {
        font-size: 0.8em;
        /*.title {
            padding: 28px 28px 14px;
            font-weight: bold;
            font-size: 1.125em;
            color: #000;
            @include mq(np) {
                padding: 18px 18px 14px;
            }
            @include mq(sm) {
                padding: 10px 10px 0;
            }
        }*/ }
        body.sub.tax-series_list main section.contents ul.series_detail_list li a .img {
          width: 100%;
          padding: 62.8% 0 0 0;
          position: relative;
          overflow: hidden; }
          body.sub.tax-series_list main section.contents ul.series_detail_list li a .img img {
            width: 100%;
            height: auto;
            vertical-align: bottom;
            position: absolute;
            top: 0;
            left: 0; }
        body.sub.tax-series_list main section.contents ul.series_detail_list li a .txt {
          display: flex;
          justify-content: space-between;
          /*padding: 28px 23px 28px 28px;*/
          padding: 1.75em 1.4375em 1.75em 1.75em;
          align-items: flex-start;
          /*@include mq(np) {
              padding: 18px 13px 18px 18px;
          }*/ }
          @media screen and (max-width: 768px) {
            body.sub.tax-series_list main section.contents ul.series_detail_list li a .txt {
              padding: 1.4em 1.15em 1.4em 1.4em;
              /*padding: 10px 5px 10px 10px;*/ } }
          body.sub.tax-series_list main section.contents ul.series_detail_list li a .txt .title {
            font-weight: bold;
            font-size: 1.125em;
            color: #000;
            padding-right: 1em;
            line-height: 23px; }
          body.sub.tax-series_list main section.contents ul.series_detail_list li a .txt .text {
            font-weight: bold;
            font-size: 1em;
            margin: 0;
            color: #000;
            line-height: 1.5em;
            padding-right: 4em;
            display: -webkit-box;
            overflow: hidden;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical; }
            body.sub.tax-series_list main section.contents ul.series_detail_list li a .txt .text p {
              margin: 0; }
          body.sub.tax-series_list main section.contents ul.series_detail_list li a .txt .btn_wrap span.btn_link {
            background: none;
            border: 2px solid #333333;
            /*font-size: 13px;*/
            font-size: 0.8125em;
            font-weight: bold;
            padding: 0 2.7em 0 1.2em;
            /*height: 32px;
            line-height: 28px;*/
            height: 25px;
            line-height: 21px;
            display: block;
            transition: .3s;
            position: relative;
            color: #333333; }
            body.sub.tax-series_list main section.contents ul.series_detail_list li a .txt .btn_wrap span.btn_link:after {
              font-family: 'Font Awesome\ 5 Free';
              content: "\f0da";
              margin-left: .6em;
              position: absolute;
              display: flex;
              align-items: center;
              top: 0;
              bottom: 0;
              right: .85em;
              margin: auto 0;
              font-weight: bold; }
            @media screen and (max-width: 640px) {
              body.sub.tax-series_list main section.contents ul.series_detail_list li a .txt .btn_wrap span.btn_link {
                height: 24px;
                line-height: 20px; } }
  body.sub.tax-series_list main section.contents.contents4 div.inner {
    /*max-width: 1200px;*/
    max-width: 960px;
    padding: 85px 0 45px; }
    @media screen and (max-width: 1500px) {
      body.sub.tax-series_list main section.contents.contents4 div.inner {
        max-width: 768px; } }
    @media screen and (max-width: 1366px) {
      body.sub.tax-series_list main section.contents.contents4 div.inner {
        font-size: 0.8em; } }
    @media screen and (max-width: 768px) {
      body.sub.tax-series_list main section.contents.contents4 div.inner {
        max-width: 90%; } }
    @media screen and (max-width: 640px) {
      body.sub.tax-series_list main section.contents.contents4 div.inner {
        width: calc(100% - 60px);
        padding: 43px 0 23px; } }
    body.sub.tax-series_list main section.contents.contents4 div.inner ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      body.sub.tax-series_list main section.contents.contents4 div.inner ul.others_list {
        justify-content: center; }
      body.sub.tax-series_list main section.contents.contents4 div.inner ul li {
        /*width: calc(50% - 20px);
        margin-bottom: 40px;*/
        width: 50%;
        margin-bottom: 0;
        background: #fff; }
        @media screen and (max-width: 640px) {
          body.sub.tax-series_list main section.contents.contents4 div.inner ul li {
            width: 100%; } }
        body.sub.tax-series_list main section.contents.contents4 div.inner ul li a {
          display: block;
          width: 100%;
          padding: 41.379% 0 0 0;
          position: relative; }
          body.sub.tax-series_list main section.contents.contents4 div.inner ul li a img.bg_img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: auto; }
          body.sub.tax-series_list main section.contents.contents4 div.inner ul li a h2 {
            position: absolute;
            top: 50%;
            font-size: 2em;
            color: #fff;
            width: 100%;
            text-align: center;
            transform: translate(0, calc(-50% - 1em)); }
            @media screen and (max-width: 768px) {
              body.sub.tax-series_list main section.contents.contents4 div.inner ul li a h2 {
                transform: translate(0, calc(-50% - 1.5em)); } }
            @media screen and (max-width: 640px) {
              body.sub.tax-series_list main section.contents.contents4 div.inner ul li a h2 {
                font-size: 1.8em; } }
          body.sub.tax-series_list main section.contents.contents4 div.inner ul li a .btn_wrap {
            position: absolute;
            top: 50%;
            transform: translate(0, calc(-50% + 3em));
            text-align: center;
            width: 100%; }
            @media screen and (max-width: 768px) {
              body.sub.tax-series_list main section.contents.contents4 div.inner ul li a .btn_wrap {
                transform: translate(0, calc(-50% + 2.2em)); } }
            body.sub.tax-series_list main section.contents.contents4 div.inner ul li a .btn_wrap span.btn_link {
              background: none;
              border: 2px solid #fff;
              /*font-size: 13px;*/
              font-size: 0.8125em;
              font-weight: bold;
              padding: 0 2.7em 0 1.2em;
              height: 32px;
              line-height: 28px;
              display: inline-block;
              transition: .3s;
              position: relative;
              color: #fff; }
              body.sub.tax-series_list main section.contents.contents4 div.inner ul li a .btn_wrap span.btn_link:after {
                font-family: 'Font Awesome\ 5 Free';
                content: "\f0da";
                margin-left: .6em;
                position: absolute;
                display: flex;
                align-items: center;
                top: 0;
                bottom: 0;
                right: .85em;
                margin: auto 0;
                font-weight: bold; }
              @media screen and (max-width: 1366px) {
                body.sub.tax-series_list main section.contents.contents4 div.inner ul li a .btn_wrap span.btn_link {
                  height: 24px;
                  line-height: 20px; } }
  body.sub.tax-series_list main section.contents.works {
    padding: 85px 0 90px; }
    body.sub.tax-series_list main section.contents.works ul.works_list {
      justify-content: space-between;
      margin: 0 0 50px;
      flex-wrap: wrap; }
      body.sub.tax-series_list main section.contents.works ul.works_list::after {
        content: '';
        display: block;
        height: 0;
        /*width: calc(33.3333333% - 42.666666px);*/
        width: 30.42%; }
        @media screen and (max-width: 1710px) {
          body.sub.tax-series_list main section.contents.works ul.works_list::after {
            width: calc(33.3333333% - 38.4px); } }
        @media screen and (max-width: 1500px) {
          body.sub.tax-series_list main section.contents.works ul.works_list::after {
            width: calc(33.3333333% - 34.13px); } }
        @media screen and (max-width: 1024px) {
          body.sub.tax-series_list main section.contents.works ul.works_list::after {
            width: 31%; } }
        @media screen and (max-width: 640px) {
          body.sub.tax-series_list main section.contents.works ul.works_list::after {
            width: 100%; } }
      body.sub.tax-series_list main section.contents.works ul.works_list li {
        background: #fff;
        /*width: calc(33.3333333% - 42.666666px);*/
        width: 30.42%;
        margin: 0;
        padding: 0;
        position: relative;
        font-size: 0.8em; }
        @media screen and (max-width: 1710px) {
          body.sub.tax-series_list main section.contents.works ul.works_list li {
            width: calc(33.3333333% - 38.4px); } }
        @media screen and (max-width: 1500px) {
          body.sub.tax-series_list main section.contents.works ul.works_list li {
            width: calc(33.3333333% - 34.13px); } }
        @media screen and (max-width: 1024px) {
          body.sub.tax-series_list main section.contents.works ul.works_list li {
            width: 31%;
            margin: 0 0 40px; } }
        @media screen and (max-width: 640px) {
          body.sub.tax-series_list main section.contents.works ul.works_list li {
            width: 100%;
            margin-bottom: 30px; }
            body.sub.tax-series_list main section.contents.works ul.works_list li:last-child {
              margin-bottom: 0; } }
        body.sub.tax-series_list main section.contents.works ul.works_list li div.img {
          width: 100%;
          height: 0;
          padding: 59.55% 0 0 0;
          position: relative;
          overflow: hidden; }
          body.sub.tax-series_list main section.contents.works ul.works_list li div.img img {
            width: 100%;
            height: 100%;
            max-width: 1000%;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            object-fit: cover; }
        body.sub.tax-series_list main section.contents.works ul.works_list li div.txt {
          padding: 1.25em 1.1875em;
          /*padding: 20px 19px;
          @include mq(xxl) {
              padding: 18px 17px;
          }
          @include mq(xl) {
              padding: 16px 15px;
          }
          @include mq(md) {
              padding: 13px 12px;
          }*/ }
          body.sub.tax-series_list main section.contents.works ul.works_list li div.txt .cat {
            background: #666666;
            color: #fff;
            /*font-size: 16.5px;*/
            font-size: 1.03125em;
            /*padding: 0 38px 0 16px;*/
            padding: 0 2.375em 0 1em;
            display: inline-block;
            height: 2.5em;
            line-height: 2.5em;
            /*height: 40px;
            line-height: 40px;
            @include mq(xxl) {
                height: 36px;
                line-height: 35px;
            }
            @include mq(xl) {
                height: 32px;
                line-height: 31px;
            }*/ }
          body.sub.tax-series_list main section.contents.works ul.works_list li div.txt .title {
            /*font-size: 18px;*/
            font-size: 1.125em;
            margin-top: .85em;
            /*width: 75%;*/
            width: calc(100% - 80px); }
          body.sub.tax-series_list main section.contents.works ul.works_list li div.txt .btn_wrap {
            position: absolute;
            margin-top: 0;
            bottom: 0.875em;
            right: 1em;
            /*bottom: 14px;
            right: 16px;
            @include mq(xxl) {
                bottom: 13px;
                right: 14px;
            }
            @include mq(xl) {
                bottom: 11px;
                right: 13px;
            }*/ }
            body.sub.tax-series_list main section.contents.works ul.works_list li div.txt .btn_wrap a.btn_link, body.sub.tax-series_list body.single main section.contents.works ul.works_list li div.inner div.flex div.txt .btn_wrap div.nextprev_wrap a, body.single body.sub.tax-series_list main section.contents.works ul.works_list li div.inner div.flex div.txt .btn_wrap div.nextprev_wrap a, body.sub.tax-series_list body.single main section.contents.works div.inner div.flex ul.works_list li div.txt .btn_wrap div.nextprev_wrap a, body.single body.sub.tax-series_list main section.contents.works div.inner div.flex ul.works_list li div.txt .btn_wrap div.nextprev_wrap a, body.sub.tax-series_list body.single main section.contents.works ul.works_list li div.inner div.flex div.txt div.nextprev_wrap .btn_wrap a, body.single body.sub.tax-series_list main section.contents.works ul.works_list li div.inner div.flex div.txt div.nextprev_wrap .btn_wrap a, body.sub.tax-series_list body.single main section.contents.works div.inner div.flex ul.works_list li div.txt div.nextprev_wrap .btn_wrap a, body.single body.sub.tax-series_list main section.contents.works div.inner div.flex ul.works_list li div.txt div.nextprev_wrap .btn_wrap a {
              font-weight: normal;
              /*font-size: 13px;*/
              font-size: 0.8125em;
              background: #fff;
              border: 2px solid #000;
              color: #000;
              padding: 0 2.5em 0 1.2em;
              /*line-height: 30px;
              height: 34px;*/
              line-height: 24px;
              height: 28px;
              letter-spacing: 0.08em; }
              body.sub.tax-series_list main section.contents.works ul.works_list li div.txt .btn_wrap a.btn_link::after, body.sub.tax-series_list body.single main section.contents.works ul.works_list li div.inner div.flex div.txt .btn_wrap div.nextprev_wrap a::after, body.single body.sub.tax-series_list main section.contents.works ul.works_list li div.inner div.flex div.txt .btn_wrap div.nextprev_wrap a::after, body.sub.tax-series_list body.single main section.contents.works div.inner div.flex ul.works_list li div.txt .btn_wrap div.nextprev_wrap a::after, body.single body.sub.tax-series_list main section.contents.works div.inner div.flex ul.works_list li div.txt .btn_wrap div.nextprev_wrap a::after, body.sub.tax-series_list body.single main section.contents.works ul.works_list li div.inner div.flex div.txt div.nextprev_wrap .btn_wrap a::after, body.single body.sub.tax-series_list main section.contents.works ul.works_list li div.inner div.flex div.txt div.nextprev_wrap .btn_wrap a::after, body.sub.tax-series_list body.single main section.contents.works div.inner div.flex ul.works_list li div.txt div.nextprev_wrap .btn_wrap a::after, body.single body.sub.tax-series_list main section.contents.works div.inner div.flex ul.works_list li div.txt div.nextprev_wrap .btn_wrap a::after {
                font-weight: bold;
                right: .8em; }
              body.sub.tax-series_list main section.contents.works ul.works_list li div.txt .btn_wrap a.btn_link:hover, body.sub.tax-series_list body.single main section.contents.works ul.works_list li div.inner div.flex div.txt .btn_wrap div.nextprev_wrap a:hover, body.single body.sub.tax-series_list main section.contents.works ul.works_list li div.inner div.flex div.txt .btn_wrap div.nextprev_wrap a:hover, body.sub.tax-series_list body.single main section.contents.works div.inner div.flex ul.works_list li div.txt .btn_wrap div.nextprev_wrap a:hover, body.single body.sub.tax-series_list main section.contents.works div.inner div.flex ul.works_list li div.txt .btn_wrap div.nextprev_wrap a:hover, body.sub.tax-series_list body.single main section.contents.works ul.works_list li div.inner div.flex div.txt div.nextprev_wrap .btn_wrap a:hover, body.single body.sub.tax-series_list main section.contents.works ul.works_list li div.inner div.flex div.txt div.nextprev_wrap .btn_wrap a:hover, body.sub.tax-series_list body.single main section.contents.works div.inner div.flex ul.works_list li div.txt div.nextprev_wrap .btn_wrap a:hover, body.single body.sub.tax-series_list main section.contents.works div.inner div.flex ul.works_list li div.txt div.nextprev_wrap .btn_wrap a:hover {
                background: #000;
                color: #fff;
                transition: .2s; }
              @media screen and (max-width: 1710px) {
                body.sub.tax-series_list main section.contents.works ul.works_list li div.txt .btn_wrap a.btn_link, body.sub.tax-series_list body.single main section.contents.works ul.works_list li div.inner div.flex div.txt .btn_wrap div.nextprev_wrap a, body.single body.sub.tax-series_list main section.contents.works ul.works_list li div.inner div.flex div.txt .btn_wrap div.nextprev_wrap a, body.sub.tax-series_list body.single main section.contents.works div.inner div.flex ul.works_list li div.txt .btn_wrap div.nextprev_wrap a, body.single body.sub.tax-series_list main section.contents.works div.inner div.flex ul.works_list li div.txt .btn_wrap div.nextprev_wrap a, body.sub.tax-series_list body.single main section.contents.works ul.works_list li div.inner div.flex div.txt div.nextprev_wrap .btn_wrap a, body.single body.sub.tax-series_list main section.contents.works ul.works_list li div.inner div.flex div.txt div.nextprev_wrap .btn_wrap a, body.sub.tax-series_list body.single main section.contents.works div.inner div.flex ul.works_list li div.txt div.nextprev_wrap .btn_wrap a, body.single body.sub.tax-series_list main section.contents.works div.inner div.flex ul.works_list li div.txt div.nextprev_wrap .btn_wrap a {
                  /*line-height: 27px;
                  height: 31px;*/
                  line-height: 18px;
                  height: 22px; } }
              @media screen and (max-width: 1500px) {
                body.sub.tax-series_list main section.contents.works ul.works_list li div.txt .btn_wrap a.btn_link, body.sub.tax-series_list body.single main section.contents.works ul.works_list li div.inner div.flex div.txt .btn_wrap div.nextprev_wrap a, body.single body.sub.tax-series_list main section.contents.works ul.works_list li div.inner div.flex div.txt .btn_wrap div.nextprev_wrap a, body.sub.tax-series_list body.single main section.contents.works div.inner div.flex ul.works_list li div.txt .btn_wrap div.nextprev_wrap a, body.single body.sub.tax-series_list main section.contents.works div.inner div.flex ul.works_list li div.txt .btn_wrap div.nextprev_wrap a, body.sub.tax-series_list body.single main section.contents.works ul.works_list li div.inner div.flex div.txt div.nextprev_wrap .btn_wrap a, body.single body.sub.tax-series_list main section.contents.works ul.works_list li div.inner div.flex div.txt div.nextprev_wrap .btn_wrap a, body.sub.tax-series_list body.single main section.contents.works div.inner div.flex ul.works_list li div.txt div.nextprev_wrap .btn_wrap a, body.single body.sub.tax-series_list main section.contents.works div.inner div.flex ul.works_list li div.txt div.nextprev_wrap .btn_wrap a {
                  /*line-height: 23px;
                  height: 27px;*/
                  line-height: 15px;
                  height: 19px; } }
  body.sub.tax-series_list main section.contents.photo {
    padding: 85px 0 100px; }
    body.sub.tax-series_list main section.contents.photo ul.photo-gallery {
      margin: 0 0 50px;
      justify-content: space-between;
      flex-wrap: wrap; }
      body.sub.tax-series_list main section.contents.photo ul.photo-gallery::after {
        content: '';
        /*width: calc(33.3333333% - 42.666666px);*/
        width: 30.42%;
        height: 0;
        display: block; }
        @media screen and (max-width: 1024px) {
          body.sub.tax-series_list main section.contents.photo ul.photo-gallery::after {
            width: 31%; } }
        @media screen and (max-width: 640px) {
          body.sub.tax-series_list main section.contents.photo ul.photo-gallery::after {
            width: 100%; } }
      body.sub.tax-series_list main section.contents.photo ul.photo-gallery li {
        /*width: calc(33.3333333% - 42.666666px);*/
        width: 30.42%;
        margin: 0;
        padding: 0; }
        @media screen and (max-width: 1024px) {
          body.sub.tax-series_list main section.contents.photo ul.photo-gallery li {
            width: 31%; } }
        @media screen and (max-width: 640px) {
          body.sub.tax-series_list main section.contents.photo ul.photo-gallery li {
            width: 100%; } }
        body.sub.tax-series_list main section.contents.photo ul.photo-gallery li a .img {
          width: 100%;
          display: block;
          padding: 66.66666% 0 0 0;
          position: relative;
          overflow: hidden; }
          body.sub.tax-series_list main section.contents.photo ul.photo-gallery li a .img img {
            width: auto;
            height: 100%;
            max-width: 1000%;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%); }
        body.sub.tax-series_list main section.contents.photo ul.photo-gallery li a .txt {
          margin-top: 10px;
          display: block; }
        @media screen and (max-width: 640px) {
          body.sub.tax-series_list main section.contents.photo ul.photo-gallery li {
            width: 100%;
            margin: 0 0 20px; } }
      body.sub.tax-series_list main section.contents.photo ul.photo-gallery.others-photo-gallery {
        margin: 0 0 0;
        padding-bottom: 20px; }
        @media screen and (max-width: 640px) {
          body.sub.tax-series_list main section.contents.photo ul.photo-gallery.others-photo-gallery {
            padding-bottom: 10px; } }
        body.sub.tax-series_list main section.contents.photo ul.photo-gallery.others-photo-gallery li {
          margin-bottom: 40px; }
          @media screen and (max-width: 640px) {
            body.sub.tax-series_list main section.contents.photo ul.photo-gallery.others-photo-gallery li {
              margin-bottom: 25px; } }
  body.sub.tax-series_list main section.contents.other_series {
    padding: 110px 0; }
    @media screen and (max-width: 640px) {
      body.sub.tax-series_list main section.contents.other_series {
        padding: 80px 0 60px; } }
    body.sub.tax-series_list main section.contents.other_series .other_series_list {
      display: flex; }
      @media screen and (max-width: 640px) {
        body.sub.tax-series_list main section.contents.other_series .other_series_list {
          display: block; } }
      body.sub.tax-series_list main section.contents.other_series .other_series_list .other_series_list_title {
        width: calc(100% - 80.23952%); }
        @media screen and (max-width: 768px) {
          body.sub.tax-series_list main section.contents.other_series .other_series_list .other_series_list_title {
            width: calc(100% - 75%); } }
        @media screen and (max-width: 640px) {
          body.sub.tax-series_list main section.contents.other_series .other_series_list .other_series_list_title {
            width: 100%; } }
        body.sub.tax-series_list main section.contents.other_series .other_series_list .other_series_list_title h2 {
          text-align: left;
          margin: 0;
          padding: 0;
          line-height: 1.2em;
          padding-top: .2em; }
          body.sub.tax-series_list main section.contents.other_series .other_series_list .other_series_list_title h2 span {
            display: block;
            font-size: 0.375em;
            letter-spacing: 0;
            padding-top: .25em; }
          @media screen and (max-width: 640px) {
            body.sub.tax-series_list main section.contents.other_series .other_series_list .other_series_list_title h2 {
              padding: 0 0 30px;
              text-align: center; } }
      body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom {
        width: 80.23952%;
        display: flex;
        justify-content: space-between;
        list-style: none;
        padding: 0;
        margin: 0;
        font-size: 0.8em; }
        @media screen and (max-width: 768px) {
          body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom {
            width: 75%; } }
        @media screen and (max-width: 640px) {
          body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom {
            display: block;
            width: 100%; } }
        body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li {
          /*width: calc(50% - 30px);*/
          width: 47.761%;
          text-align: center;
          list-style: none;
          padding: 33.805% 0 0 0;
          margin: 0;
          position: relative;
          overflow: hidden; }
          @media screen and (max-width: 768px) {
            body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li {
              font-size: 0.8em; } }
          @media screen and (max-width: 640px) {
            body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li {
              width: 100%;
              padding: 70.781% 0 0 0;
              margin-bottom: 20px;
              font-size: 1em; } }
          body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a {
            width: 100%;
            height: 100%;
            transition: .2s;
            overflow: hidden; }
            body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a img.bg_img {
              position: absolute;
              z-index: 0;
              top: 50%;
              left: 50%;
              width: calc(100% + 2px);
              height: auto;
              transform: translate(-50%, -50%);
              transition: .2s; }
            body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .txt_wrap {
              position: absolute;
              /*top: 31.5%;*/
              top: 30%;
              left: 0;
              width: 100%;
              margin: auto 0; }
              @media screen and (max-width: 1710px) {
                body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .txt_wrap {
                  top: 29.5%; } }
              @media screen and (max-width: 1366px) {
                body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .txt_wrap {
                  top: 27.5%; } }
              @media screen and (max-width: 768px) {
                body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .txt_wrap {
                  top: 24%; } }
              body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .txt_wrap h3 {
                /*font-size: 47.2px;*/
                font-size: 2.95em;
                line-height: 1em;
                color: #fff;
                font-weight: bold;
                font-family: "Jost", sans-serif;
                letter-spacing: 0.1em;
                margin: 0 0 .45em; }
                body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .txt_wrap h3 span {
                  display: block;
                  /*font-size: 15px;*/
                  font-size: 0.31779em;
                  line-height: 1em;
                  font-weight: normal;
                  letter-spacing: 0;
                  padding: .8em 0 0 0;
                  margin: 0; }
              body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .txt_wrap .txt {
                margin: 0;
                padding: 0;
                /*font-size: 16px;*/
                font-size: 1em;
                color: #fff;
                line-height: 1.4375em; }
            body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .btn_wrap {
              position: absolute;
              /*bottom: 22%;*/
              bottom: 20%;
              left: 0;
              width: 100%;
              margin: 0 0 0 0; }
              @media screen and (max-width: 1710px) {
                body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .btn_wrap {
                  bottom: 19.5%; } }
              @media screen and (max-width: 1366px) {
                body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .btn_wrap {
                  bottom: 17.5%; } }
              @media screen and (max-width: 768px) {
                body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .btn_wrap {
                  bottom: 15%; } }
              @media screen and (max-width: 640px) {
                body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .btn_wrap {
                  bottom: 17.5%; } }
              body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .btn_wrap span.btn_link {
                display: inline-block;
                color: #fff;
                background: none;
                border: 2px solid #fff;
                letter-spacing: .1em;
                /*font-size: 15px;*/
                font-size: 0.9375em;
                font-weight: bold;
                padding: 0 2.6em 0 1em;
                height: 38px;
                line-height: 34px;
                transition: .2s; }
                body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .btn_wrap span.btn_link::after {
                  right: .8em; }
                @media screen and (max-width: 1710px) {
                  body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .btn_wrap span.btn_link {
                    height: 30px;
                    line-height: 26px; } }
                @media screen and (max-width: 1500px) {
                  body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a .btn_wrap span.btn_link {
                    height: 26px;
                    line-height: 22px; } }
            body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a:hover {
              transition: .2s; }
              body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a:hover img.bg_img {
                transition: .2s;
                width: 105%;
                height: auto;
                max-width: 105%; }
              body.sub.tax-series_list main section.contents.other_series .other_series_list ul.series_list_bottom li a:hover .btn_wrap span.btn_link {
                background: #fff;
                color: #333333;
                transition: .2s; }
body.sub.single-series main section.contents.photo {
  padding: 85px 0 100px;
  background: #e0dfdf; }
  body.sub.single-series main section.contents.photo div.inner {
    max-width: 1730px; }
  body.sub.single-series main section.contents.photo h2 {
    font-size: 2.5em;
    text-align: center;
    margin: 10px 0 70px;
    line-height: 1em; }
    @media screen and (max-width: 640px) {
      body.sub.single-series main section.contents.photo h2 {
        margin: 5px 0 35px; } }
    body.sub.single-series main section.contents.photo h2.en {
      font-family: "Jost", sans-serif;
      font-size: 3em;
      letter-spacing: .1em; }
      @media screen and (max-width: 640px) {
        body.sub.single-series main section.contents.photo h2.en {
          font-size: 2.5em; } }
  body.sub.single-series main section.contents.photo .btn_wrap.center {
    text-align: center; }
  body.sub.single-series main section.contents.photo ul.photo-gallery {
    margin: 0 0 50px;
    justify-content: space-between;
    flex-wrap: wrap; }
    body.sub.single-series main section.contents.photo ul.photo-gallery::after {
      content: '';
      /*width: calc(33.3333333% - 42.666666px);*/
      width: 30.42%;
      height: 0;
      display: block; }
      @media screen and (max-width: 1024px) {
        body.sub.single-series main section.contents.photo ul.photo-gallery::after {
          width: 31%; } }
      @media screen and (max-width: 640px) {
        body.sub.single-series main section.contents.photo ul.photo-gallery::after {
          width: 100%; } }
    body.sub.single-series main section.contents.photo ul.photo-gallery li {
      /*width: calc(33.3333333% - 42.666666px);*/
      width: 30.42%;
      margin: 0;
      padding: 0; }
      @media screen and (max-width: 1024px) {
        body.sub.single-series main section.contents.photo ul.photo-gallery li {
          width: 31%; } }
      body.sub.single-series main section.contents.photo ul.photo-gallery li a .img {
        width: 100%;
        display: block;
        padding: 66.66666% 0 0 0;
        position: relative;
        overflow: hidden; }
        body.sub.single-series main section.contents.photo ul.photo-gallery li a .img img {
          width: auto;
          height: 100%;
          max-width: 1000%;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%); }
      body.sub.single-series main section.contents.photo ul.photo-gallery li a .txt {
        margin-top: 10px;
        display: block; }
      @media screen and (max-width: 640px) {
        body.sub.single-series main section.contents.photo ul.photo-gallery li {
          width: 100%;
          margin: 0 0 20px; } }
body.sub.post-type-archive-works main section.contents {
  background: #e0dfdf; }
  body.sub.post-type-archive-works main section.contents div.inner ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 92%;
    margin: 0 auto;
    font-size: 0.8em; }
    body.sub.post-type-archive-works main section.contents div.inner ul::after {
      content: '';
      /*width: 30.42%;*/
      width: 30%;
      height: 0;
      display: block; }
      @media screen and (max-width: 1710px) {
        body.sub.post-type-archive-works main section.contents div.inner ul::after {
          width: calc(33.3333333% - 38.4px); } }
      @media screen and (max-width: 1500px) {
        body.sub.post-type-archive-works main section.contents div.inner ul::after {
          width: calc(33.3333333% - 34.13px); } }
      @media screen and (max-width: 1024px) {
        body.sub.post-type-archive-works main section.contents div.inner ul::after {
          width: 31%; } }
      @media screen and (max-width: 640px) {
        body.sub.post-type-archive-works main section.contents div.inner ul::after {
          width: 100%; } }
    body.sub.post-type-archive-works main section.contents div.inner ul li {
      background: #fff;
      /*width: calc(33.3333333% - 42.666666px);*/
      /*width: 30.42%;*/
      width: 30%;
      /*margin: 0 0 60px;*/
      margin: 0 0 4em;
      padding: 0;
      position: relative; }
      @media screen and (max-width: 1710px) {
        body.sub.post-type-archive-works main section.contents div.inner ul li {
          width: calc(33.3333333% - 38.4px);
          margin: 0 0 50px; } }
      @media screen and (max-width: 1500px) {
        body.sub.post-type-archive-works main section.contents div.inner ul li {
          width: calc(33.3333333% - 34.13px);
          margin: 0 0 40px; } }
      @media screen and (max-width: 1024px) {
        body.sub.post-type-archive-works main section.contents div.inner ul li {
          width: 31%;
          margin: 0 0 40px; } }
      @media screen and (max-width: 640px) {
        body.sub.post-type-archive-works main section.contents div.inner ul li {
          width: 100%;
          margin-bottom: 30px; }
          body.sub.post-type-archive-works main section.contents div.inner ul li:last-child {
            margin-bottom: 0; } }
      body.sub.post-type-archive-works main section.contents div.inner ul li div.img {
        width: 100%;
        height: 0;
        padding: 59.55% 0 0 0;
        position: relative;
        overflow: hidden; }
        body.sub.post-type-archive-works main section.contents div.inner ul li div.img img {
          width: 100%;
          height: 100%;
          max-width: 1000%;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          object-fit: cover; }
      body.sub.post-type-archive-works main section.contents div.inner ul li div.txt {
        padding: 20px 19px; }
        @media screen and (max-width: 1710px) {
          body.sub.post-type-archive-works main section.contents div.inner ul li div.txt {
            padding: 18px 17px; } }
        @media screen and (max-width: 1500px) {
          body.sub.post-type-archive-works main section.contents div.inner ul li div.txt {
            padding: 16px 15px; } }
        @media screen and (max-width: 768px) {
          body.sub.post-type-archive-works main section.contents div.inner ul li div.txt {
            padding: 13px 12px; } }
        body.sub.post-type-archive-works main section.contents div.inner ul li div.txt .cat {
          background: #666666;
          color: #fff;
          /*font-size: 16.5px;*/
          font-size: 1.03125em;
          /*padding: 0 38px 0 16px;
          padding: 0 2em 0 1em;*/
          padding: 0 1em;
          display: inline-block;
          /*height: 40px;
          line-height: 40px;*/
          height: 32px;
          line-height: 32px; }
          @media screen and (max-width: 1710px) {
            body.sub.post-type-archive-works main section.contents div.inner ul li div.txt .cat {
              /*height: 36px;
              line-height: 35px;*/
              height: 29px;
              line-height: 28px; } }
          @media screen and (max-width: 1500px) {
            body.sub.post-type-archive-works main section.contents div.inner ul li div.txt .cat {
              /*height: 32px;
              line-height: 31px;*/
              height: 25px;
              line-height: 24px; } }
        body.sub.post-type-archive-works main section.contents div.inner ul li div.txt .title {
          /*font-size: 18px;*/
          font-size: 1.125em;
          margin-top: .85em;
          width: 75%; }
        body.sub.post-type-archive-works main section.contents div.inner ul li div.txt .btn_wrap {
          position: absolute;
          bottom: 14px;
          right: 16px;
          margin-top: 0; }
          @media screen and (max-width: 1710px) {
            body.sub.post-type-archive-works main section.contents div.inner ul li div.txt .btn_wrap {
              bottom: 13px;
              right: 14px; } }
          @media screen and (max-width: 1500px) {
            body.sub.post-type-archive-works main section.contents div.inner ul li div.txt .btn_wrap {
              bottom: 11px;
              right: 13px; } }
          body.sub.post-type-archive-works main section.contents div.inner ul li div.txt .btn_wrap a.btn_link, body.sub.post-type-archive-works body.single main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.single body.sub.post-type-archive-works main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.sub.post-type-archive-works body.single main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.single body.sub.post-type-archive-works main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.sub.post-type-archive-works body.single main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.single body.sub.post-type-archive-works main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.sub.post-type-archive-works body.single main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a, body.single body.sub.post-type-archive-works main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a {
            font-weight: normal;
            /*font-size: 13px;*/
            font-size: 0.8125em;
            background: #fff;
            border: 2px solid #000;
            color: #000;
            padding: 0 2.5em 0 1.2em;
            line-height: 30px;
            height: 34px;
            letter-spacing: 0.08em; }
            body.sub.post-type-archive-works main section.contents div.inner ul li div.txt .btn_wrap a.btn_link::after, body.sub.post-type-archive-works body.single main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a::after, body.single body.sub.post-type-archive-works main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a::after, body.sub.post-type-archive-works body.single main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a::after, body.single body.sub.post-type-archive-works main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a::after, body.sub.post-type-archive-works body.single main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a::after, body.single body.sub.post-type-archive-works main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a::after, body.sub.post-type-archive-works body.single main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a::after, body.single body.sub.post-type-archive-works main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a::after {
              font-weight: bold;
              right: .8em; }
            body.sub.post-type-archive-works main section.contents div.inner ul li div.txt .btn_wrap a.btn_link:hover, body.sub.post-type-archive-works body.single main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a:hover, body.single body.sub.post-type-archive-works main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a:hover, body.sub.post-type-archive-works body.single main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a:hover, body.single body.sub.post-type-archive-works main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a:hover, body.sub.post-type-archive-works body.single main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a:hover, body.single body.sub.post-type-archive-works main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a:hover, body.sub.post-type-archive-works body.single main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a:hover, body.single body.sub.post-type-archive-works main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a:hover {
              background: #000;
              color: #fff;
              transition: .2s; }
            @media screen and (max-width: 1710px) {
              body.sub.post-type-archive-works main section.contents div.inner ul li div.txt .btn_wrap a.btn_link, body.sub.post-type-archive-works body.single main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.single body.sub.post-type-archive-works main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.sub.post-type-archive-works body.single main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.single body.sub.post-type-archive-works main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.sub.post-type-archive-works body.single main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.single body.sub.post-type-archive-works main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.sub.post-type-archive-works body.single main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a, body.single body.sub.post-type-archive-works main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a {
                line-height: 27px;
                height: 31px; } }
            @media screen and (max-width: 1500px) {
              body.sub.post-type-archive-works main section.contents div.inner ul li div.txt .btn_wrap a.btn_link, body.sub.post-type-archive-works body.single main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.single body.sub.post-type-archive-works main section.contents div.inner ul li div.flex div.txt .btn_wrap div.nextprev_wrap a, body.sub.post-type-archive-works body.single main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.single body.sub.post-type-archive-works main section.contents div.inner div.flex ul li div.txt .btn_wrap div.nextprev_wrap a, body.sub.post-type-archive-works body.single main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.single body.sub.post-type-archive-works main section.contents div.inner ul li div.flex div.txt div.nextprev_wrap .btn_wrap a, body.sub.post-type-archive-works body.single main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a, body.single body.sub.post-type-archive-works main section.contents div.inner div.flex ul li div.txt div.nextprev_wrap .btn_wrap a {
                line-height: 23px;
                height: 27px; } }
body.sub.single-works main section.contents div.inner {
  max-width: 1260px; }
body.sub.post-type-archive-series main section.contents div.inner {
  /*max-width: 1260px;*/
  max-width: 750px; }
  body.sub.post-type-archive-series main section.contents div.inner .flex {
    font-size: 0.6em; }
  body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive {
    list-style: none;
    padding: 0;
    margin: 0;
    overflow: hidden;
    font-size: 1.2em; }
    @media screen and (max-width: 640px) {
      body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive {
        display: block; } }
    body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li {
      width: 100%;
      text-align: center;
      list-style: none;
      padding: 36% 0 0 0;
      /*47.202*/
      margin: 0 0 60px;
      position: relative;
      overflow: hidden; }
      @media screen and (max-width: 640px) {
        body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li {
          width: 100%;
          padding: 70.803% 0 0 0;
          margin: 0 0 30px; }
          body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li:last-child {
            margin-bottom: 0; } }
      body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a {
        width: 100%;
        height: 100%;
        display: block;
        transition: .2s; }
        body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a img.bg_img {
          position: absolute;
          z-index: 0;
          top: 50%;
          left: 50%;
          width: 100%;
          height: auto;
          transform: translate(-50%, -50%);
          transition: .2s; }
        body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .txt_wrap {
          position: absolute;
          top: 26%;
          left: 0;
          width: 100%;
          margin: auto 0; }
          @media screen and (max-width: 1366px) {
            body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .txt_wrap {
              top: 29.5%; } }
          @media screen and (max-width: 640px) {
            body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .txt_wrap {
              top: 20%; } }
          body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .txt_wrap h3 {
            /*font-size: 47.2px;
            font-size: 2.95em;*/
            /*font-size: 45.2px;*/
            font-size: 2.825em;
            line-height: 1em;
            color: #fff;
            font-weight: bold;
            font-family: "Jost", sans-serif;
            letter-spacing: 0.1em;
            margin: 0 0 .45em; }
            @media screen and (max-width: 640px) {
              body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .txt_wrap h3 {
                /*font-size: 2em;*/ } }
            body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .txt_wrap h3 span {
              display: block;
              /*font-size: 15px;*/
              font-size: 0.31779em;
              line-height: 1em;
              font-weight: normal;
              letter-spacing: 0;
              padding: .8em 0 0 0;
              margin: 0; }
          body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .txt_wrap .txt {
            margin: 0;
            padding: 0;
            /*font-size: 16px;*/
            font-size: 1em;
            color: #fff;
            line-height: 1.4375em; }
            @media screen and (max-width: 640px) {
              body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .txt_wrap .txt {
                /*font-size: .8em;*/ } }
        body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .btn_wrap {
          position: absolute;
          bottom: 17%;
          left: 0;
          width: 100%;
          margin: 0 0 0 0;
          transition: .2s; }
          @media screen and (max-width: 1366px) {
            body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .btn_wrap {
              bottom: 19.5%; } }
          @media screen and (max-width: 640px) {
            body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .btn_wrap {
              bottom: 17.5%; } }
          body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .btn_wrap span.btn_link {
            background: none;
            border: 2px solid #fff;
            letter-spacing: .1em;
            /*font-size: 15px;*/
            font-size: 0.9375em;
            font-weight: bold;
            padding: 0 2.6em 0 1em;
            /*height: 46px;
            line-height: 42px;*/
            height: 27px;
            line-height: 23px;
            display: inline-block;
            color: #fff;
            transition: .2s;
            position: relative; }
            body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .btn_wrap span.btn_link::after {
              font-family: 'Font Awesome\ 5 Free';
              content: "\f0da";
              margin-left: 1.1em;
              position: absolute;
              display: flex;
              align-items: center;
              top: 0;
              bottom: 0;
              margin: auto 0;
              right: .8em; }
            @media screen and (max-width: 1710px) {
              body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .btn_wrap span.btn_link {
                height: 30px;
                line-height: 26px; } }
            @media screen and (max-width: 1500px) {
              body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .btn_wrap span.btn_link {
                height: 26px;
                line-height: 22px; } }
            @media screen and (max-width: 640px) {
              body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a .btn_wrap span.btn_link {
                font-size: .8em;
                height: 26px;
                line-height: 22px;
                padding: 0 2em 0 .8em; } }
        body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a:hover {
          transition: .2s; }
          body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a:hover img.bg_img {
            width: 107%;
            height: auto;
            max-width: 107%;
            transition: .2s; }
          body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a:hover .btn_wrap {
            transition: .2s; }
            body.sub.post-type-archive-series main section.contents div.inner ul.series_list_archive li a:hover .btn_wrap span.btn_link {
              background: #fff;
              color: #333333;
              transition: .2s; }
body.sub.post-type-archive-design main section.contents {
  background: #e0dfdf; }
  body.sub.post-type-archive-design main section.contents div.inner {
    /*max-width: 1732px;*/
    /*max-width: 1154px;*/
    max-width: 924px; }
    @media screen and (max-width: 1710px) {
      body.sub.post-type-archive-design main section.contents div.inner {
        max-width: 60.2%; } }
    @media screen and (max-width: 1366px) {
      body.sub.post-type-archive-design main section.contents div.inner {
        max-width: 60%; } }
    @media screen and (max-width: 1280px) {
      body.sub.post-type-archive-design main section.contents div.inner {
        max-width: 57%; } }
    @media screen and (max-width: 1024px) {
      body.sub.post-type-archive-design main section.contents div.inner {
        max-width: 65%; } }
    @media screen and (max-width: 640px) {
      body.sub.post-type-archive-design main section.contents div.inner {
        max-width: 100%; } }
    body.sub.post-type-archive-design main section.contents div.inner ul.company_list {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      body.sub.post-type-archive-design main section.contents div.inner ul.company_list::after {
        content: '';
        display: block;
        width: 47.2577%;
        height: 0; }
      body.sub.post-type-archive-design main section.contents div.inner ul.company_list li {
        /*width: calc(33.33333% - 40.6666px);*/
        /*width: 30.921%;*/
        width: 47.2577%;
        background: #fff;
        margin: 0 0 65px; }
        @media screen and (max-width: 1500px) {
          body.sub.post-type-archive-design main section.contents div.inner ul.company_list li {
            margin: 0 0 55px; } }
        @media screen and (max-width: 1366px) {
          body.sub.post-type-archive-design main section.contents div.inner ul.company_list li {
            margin: 0 0 45px; } }
        @media screen and (max-width: 640px) {
          body.sub.post-type-archive-design main section.contents div.inner ul.company_list li {
            width: 100%;
            margin: 0 0 30px; } }
        body.sub.post-type-archive-design main section.contents div.inner ul.company_list li a .img {
          width: 100%;
          height: 0;
          padding: 66.66666% 0 0 0;
          position: relative;
          overflow: hidden; }
          body.sub.post-type-archive-design main section.contents div.inner ul.company_list li a .img img {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100%;
            height: auto;
            vertical-align: bottom; }
        body.sub.post-type-archive-design main section.contents div.inner ul.company_list li a .title {
          display: flex;
          justify-content: space-between;
          padding: 10px 20px;
          align-items: center;
          min-height: 68px; }
          @media screen and (max-width: 1366px) {
            body.sub.post-type-archive-design main section.contents div.inner ul.company_list li a .title {
              padding: 8px 15px; } }
          @media screen and (max-width: 640px) {
            body.sub.post-type-archive-design main section.contents div.inner ul.company_list li a .title {
              min-height: 54px;
              padding: 10px; } }
          body.sub.post-type-archive-design main section.contents div.inner ul.company_list li a .title p {
            /*font-weight: bold;*/
            /*font-size: 18px;*/
            /*font-size: 1.125em;*/
            font-weight: normal;
            font-size: 0.9em;
            margin: 0;
            color: #000;
            line-height: 1.388888em;
            padding-right: 1em; }
            @media screen and (max-width: 1366px) {
              body.sub.post-type-archive-design main section.contents div.inner ul.company_list li a .title p {
                font-size: 1.05em; } }
          body.sub.post-type-archive-design main section.contents div.inner ul.company_list li a .title .btn_wrap span.btn_link {
            background: none;
            border: 2px solid #333333;
            /*font-size: 13px;*/
            font-size: 0.8125em;
            font-weight: bold;
            padding: 0 2.7em 0 1.2em;
            height: 32px;
            line-height: 28px;
            display: block;
            transition: .3s;
            position: relative;
            color: #333333; }
            body.sub.post-type-archive-design main section.contents div.inner ul.company_list li a .title .btn_wrap span.btn_link:after {
              font-family: 'Font Awesome\ 5 Free';
              content: "\f0da";
              margin-left: .6em;
              position: absolute;
              display: flex;
              align-items: center;
              top: 0;
              bottom: 0;
              right: .85em;
              margin: auto 0;
              font-weight: bold; }
            @media screen and (max-width: 640px) {
              body.sub.post-type-archive-design main section.contents div.inner ul.company_list li a .title .btn_wrap span.btn_link {
                height: 24px;
                line-height: 20px; } }
body.sub.post-type-archive-photo-gallery main section.contents {
  background: #e0dfdf; }
  body.sub.post-type-archive-photo-gallery main section.contents div.inner div.search {
    background: #fff;
    padding: 40px 35px;
    margin-bottom: 60px; }
    @media screen and (max-width: 640px) {
      body.sub.post-type-archive-photo-gallery main section.contents div.inner div.search {
        padding: 25px 20px;
        margin-bottom: 30px; } }
    body.sub.post-type-archive-photo-gallery main section.contents div.inner div.search h2 {
      margin: 0 0 20px;
      text-align: center; }
    body.sub.post-type-archive-photo-gallery main section.contents div.inner div.search .keyword_wrap {
      display: flex;
      justify-content: center; }
      @media screen and (max-width: 640px) {
        body.sub.post-type-archive-photo-gallery main section.contents div.inner div.search .keyword_wrap {
          display: block; } }
      body.sub.post-type-archive-photo-gallery main section.contents div.inner div.search .keyword_wrap .select_wrap {
        /*overflow: hidden;*/
        width: calc(20% - 10px);
        margin: 2em 5px 0 5px;
        text-align: center;
        position: relative;
        border-radius: 2px;
        border: 2px solid #333333;
        background: #ffffff;
        position: relative; }
        @media screen and (max-width: 640px) {
          body.sub.post-type-archive-photo-gallery main section.contents div.inner div.search .keyword_wrap .select_wrap {
            width: 100%;
            margin: 3em 0 0 0; } }
        body.sub.post-type-archive-photo-gallery main section.contents div.inner div.search .keyword_wrap .select_wrap p.select_title {
          position: absolute;
          top: -2em;
          line-height: 2em;
          margin: 0;
          padding: 0;
          font-family: "Jost", sans-serif;
          font-weight: 600; }
        body.sub.post-type-archive-photo-gallery main section.contents div.inner div.search .keyword_wrap .select_wrap::before {
          position: absolute;
          top: 1.4em;
          right: 1em;
          width: 0;
          height: 0;
          padding: 0;
          content: '';
          border-left: 4px solid transparent;
          border-right: 4px solid transparent;
          border-top: 6px solid #333333;
          pointer-events: none; }
        body.sub.post-type-archive-photo-gallery main section.contents div.inner div.search .keyword_wrap .select_wrap select {
          font-size: 1.125em;
          width: 100%;
          cursor: pointer;
          text-indent: 0.01px;
          text-overflow: ellipsis;
          border: none;
          outline: none;
          background: transparent;
          background-image: none;
          box-shadow: none;
          -webkit-appearance: none;
          appearance: none;
          padding: .8em 2em .8em 1em;
          color: #333333; }
        body.sub.post-type-archive-photo-gallery main section.contents div.inner div.search .keyword_wrap .select_wrap:last-child {
          margin-right: 0; }
    body.sub.post-type-archive-photo-gallery main section.contents div.inner div.search .submit_wrap {
      margin-top: 30px;
      text-align: center; }
      body.sub.post-type-archive-photo-gallery main section.contents div.inner div.search .submit_wrap button {
        font-size: 1.125em;
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
        background: #333333;
        color: #fff;
        font-weight: bold;
        padding: .8em 1.6em;
        display: inline-block;
        margin: 0 .25em;
        /*border-radius: 25px;*/ }
        @media screen and (max-width: 640px) {
          body.sub.post-type-archive-photo-gallery main section.contents div.inner div.search .submit_wrap button {
            font-size: .9em;
            padding: 1.2em 1.6em; } }
  body.sub.post-type-archive-photo-gallery main section.contents div.inner ul {
    display: flex;
    justify-content: space-between;
    /*width: 100%;*/
    width: 92%;
    margin: 0 auto;
    flex-wrap: wrap;
    font-size: 0.8em; }
    @media screen and (max-width: 768px) {
      body.sub.post-type-archive-photo-gallery main section.contents div.inner ul {
        width: 100%; } }
    body.sub.post-type-archive-photo-gallery main section.contents div.inner ul::after {
      content: '';
      display: block;
      /*width: calc(33.333333% - 24px);*/
      /*width: 31.658%;*/
      width: 30%;
      height: 0; }
      @media screen and (max-width: 640px) {
        body.sub.post-type-archive-photo-gallery main section.contents div.inner ul::after {
          width: 49%; } }
    body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li {
      background: #fff;
      /*width: calc(33.333333% - 24px);*/
      /*width: 31.658%;*/
      width: 30%;
      position: relative;
      /*margin: 0 0 36px 0;*/
      margin: 0 0 4em 0;
      /*padding-top: 22.22222%;*/
      padding-top: 20%;
      overflow: hidden; }
      @media screen and (max-width: 1500px) {
        body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li {
          margin: 0 0 31px 0; } }
      @media screen and (max-width: 640px) {
        body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li {
          width: 49%;
          padding-top: 34.455%;
          margin: 0 0 10px 0; } }
      body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li.li_notfound p {
        position: absolute;
        text-align: center;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin: 0;
        padding: 0;
        width: 100%; }
      body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li img {
        width: 100%;
        height: 100%;
        max-width: 1000%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        object-fit: cover; }
      body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li p.title {
        background: #333333;
        background: linear-gradient(0deg, #333333 0%, rgba(51, 51, 51, 0) 40%);
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0; }
        body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li p.title span.area {
          color: #fff;
          font-weight: bold;
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%;
          height: auto;
          padding: 15px; }
          @media screen and (max-width: 640px) {
            body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li p.title span.area {
              padding: 8px;
              font-size: 10px; } }
      body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li p.detail {
        position: absolute;
        right: 10px;
        top: 10px;
        margin: 0;
        padding: 0; }
        body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li p.detail .series {
          display: inline-block;
          height: 40px;
          line-height: 40px;
          background: #333333;
          color: #fff;
          font-family: "Jost", sans-serif;
          font-weight: bold;
          padding: 0 1.2em; }
          @media screen and (max-width: 1710px) {
            body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li p.detail .series {
              height: 36px;
              line-height: 36px; } }
          @media screen and (max-width: 1500px) {
            body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li p.detail .series {
              height: 32px;
              line-height: 32px; } }
          @media screen and (max-width: 1366px) {
            body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li p.detail .series {
              height: 26px;
              line-height: 26px; } }
          @media screen and (max-width: 768px) {
            body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li p.detail .series {
              height: 21px;
              line-height: 21px; } }
        @media screen and (max-width: 640px) {
          body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li p.detail {
            right: 5px;
            top: 5px; }
            body.sub.post-type-archive-photo-gallery main section.contents div.inner ul li p.detail .series {
              height: 24px;
              line-height: 24px;
              font-size: 10px;
              padding: 0 1em; } }
body.sub.post-type-archive-photo-gallery #lightbox #imageDataContainer #titleText span {
  display: inline-block;
  line-height: 1em;
  padding: .5em 1em;
  /*border-radius: 1em;*/
  background: #333333;
  color: #fff;
  font-weight: bold;
  margin: .25em; }
body.sub.post-type-archive-photo-gallery #lightbox #imageDataContainer #titleText a.button {
  display: inline-block;
  border: 2px solid #333;
  padding: calc(.5em - 2px) 2em calc(.5em - 2px) 1em;
  font-weight: bold;
  line-height: 1em;
  position: relative;
  border-radius: 4px;
  color: #333;
  margin: .25em; }
  body.sub.post-type-archive-photo-gallery #lightbox #imageDataContainer #titleText a.button:after {
    font-family: 'Font Awesome\ 5 Free';
    content: "\f0da";
    margin-left: 1.1em;
    position: absolute;
    font-weight: bold;
    right: 0.5em;
    top: 50%;
    transform: translate(0, -50%); }
  body.sub.post-type-archive-photo-gallery #lightbox #imageDataContainer #titleText a.button:hover {
    background: #e0dfdf; }

/*pager*/
div.pager {
  margin-top: 140px;
  font-size: 0.75em; }
  @media screen and (max-width: 1500px) {
    div.pager {
      margin-top: 120px; } }
  @media screen and (max-width: 640px) {
    div.pager {
      margin-top: 60px; } }
  div.pager span.current {
    color: #000;
    background: #e9e8e8; }
  div.pager .page-numbers {
    display: inline-block;
    /*margin-right: 22px;*/
    margin-right: 15px;
    padding: 0;
    /*width: 68px;
    height: 68px;
    line-height: 68px;*/
    width: 45px;
    height: 45px;
    line-height: 45px;
    color: #fff;
    font-weight: bold;
    transition: .2s;
    background: #333333;
    text-align: center;
    /*font-size: 18px;*/
    font-size: 1.125em; }
    @media screen and (max-width: 1710px) {
      div.pager .page-numbers {
        margin-right: 14px;
        width: 41px;
        height: 41px;
        line-height: 41px; } }
    @media screen and (max-width: 1500px) {
      div.pager .page-numbers {
        /*margin-right: 19px;
        width: 58px;
        height: 58px;
        line-height: 58px;*/
        margin-right: 13px;
        width: 37.5px;
        height: 37.5px;
        line-height: 37.5px; } }
    @media screen and (max-width: 640px) {
      div.pager .page-numbers {
        margin-right: 6px;
        width: 32px;
        height: 32px;
        line-height: 32px; } }
    div.pager .page-numbers:hover {
      color: #000;
      background: #e9e8e8;
      transition: .2s; }

/* -------------------------------- 
about components 
--------------------------------- */
/* -------------------------------- 
news components 
--------------------------------- */
/* -------------------------------- 
access components 
--------------------------------- */
/* -------------------------------- 
privacy policy components 
--------------------------------- */
/* -------------------------------- 
archive taxsonomy single components 
--------------------------------- */
body.archive main section.contents div.inner div.flex, body.taxsonomy main section.contents div.inner div.flex, body.single main section.contents div.inner div.flex {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 640px) {
    body.archive main section.contents div.inner div.flex, body.taxsonomy main section.contents div.inner div.flex, body.single main section.contents div.inner div.flex {
      display: block; } }
  body.archive main section.contents div.inner div.flex div.w100, body.taxsonomy main section.contents div.inner div.flex div.w100, body.single main section.contents div.inner div.flex div.w100 {
    width: 100%; }
  body.archive main section.contents div.inner div.flex div.left, body.taxsonomy main section.contents div.inner div.flex div.left, body.single main section.contents div.inner div.flex div.left {
    width: calc(100% - 23.6% - 64px); }
    @media screen and (max-width: 640px) {
      body.archive main section.contents div.inner div.flex div.left, body.taxsonomy main section.contents div.inner div.flex div.left, body.single main section.contents div.inner div.flex div.left {
        width: 100%;
        margin-bottom: 40px; } }
  body.archive main section.contents div.inner div.flex div.right, body.taxsonomy main section.contents div.inner div.flex div.right, body.single main section.contents div.inner div.flex div.right {
    width: 23.6%;
    padding-left: 0; }
    @media screen and (max-width: 640px) {
      body.archive main section.contents div.inner div.flex div.right, body.taxsonomy main section.contents div.inner div.flex div.right, body.single main section.contents div.inner div.flex div.right {
        width: 100%;
        padding-left: 0; } }
    body.archive main section.contents div.inner div.flex div.right div, body.taxsonomy main section.contents div.inner div.flex div.right div, body.single main section.contents div.inner div.flex div.right div {
      margin-bottom: 40px; }
      body.archive main section.contents div.inner div.flex div.right div h2, body.taxsonomy main section.contents div.inner div.flex div.right div h2, body.single main section.contents div.inner div.flex div.right div h2 {
        margin-top: 0;
        margin-bottom: 0;
        padding: .81em 36px;
        /*font-size: 18px;*/
        font-size: 1.125em;
        color: #333333;
        background: #e9e8e8; }
      body.archive main section.contents div.inner div.flex div.right div ul, body.taxsonomy main section.contents div.inner div.flex div.right div ul, body.single main section.contents div.inner div.flex div.right div ul {
        padding-left: 0;
        list-style: none;
        margin: 0;
        padding: 0; }
        body.archive main section.contents div.inner div.flex div.right div ul li, body.taxsonomy main section.contents div.inner div.flex div.right div ul li, body.single main section.contents div.inner div.flex div.right div ul li {
          padding: 1em 36px;
          border-bottom: 1px dotted #a5b4bc; }
          @media screen and (max-width: 1366px) {
            body.archive main section.contents div.inner div.flex div.right div ul li, body.taxsonomy main section.contents div.inner div.flex div.right div ul li, body.single main section.contents div.inner div.flex div.right div ul li {
              padding: 1em; } }
          body.archive main section.contents div.inner div.flex div.right div ul li a, body.taxsonomy main section.contents div.inner div.flex div.right div ul li a, body.single main section.contents div.inner div.flex div.right div ul li a {
            font-size: 1.125em;
            line-height: 1.5625;
            color: #000; }
          body.archive main section.contents div.inner div.flex div.right div ul li span.post-date, body.taxsonomy main section.contents div.inner div.flex div.right div ul li span.post-date, body.single main section.contents div.inner div.flex div.right div ul li span.post-date {
            display: block;
            margin-top: 1em;
            font-size: .875em; }

/* -------------------------------- 
single components 
--------------------------------- */
body.single main section.contents div.inner div.flex div div.single_content {
  font-size: 1.125em; }
  body.single main section.contents div.inner div.flex div div.single_content.series_single_wrap {
    max-width: 80%;
    width: 80%;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      body.single main section.contents div.inner div.flex div div.single_content.series_single_wrap {
        max-width: 100%;
        width: 100%; } }
body.single main section.contents div.inner div.flex div div.nextprev_wrap a {
  margin-right: 10px; }
  @media screen and (max-width: 640px) {
    body.single main section.contents div.inner div.flex div div.nextprev_wrap a {
      margin-bottom: 10px; } }
body.single.single-works main section.contents div.inner div.flex div .single_title_wrap {
  max-width: 80%;
  width: 80%;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 768px) {
    body.single.single-works main section.contents div.inner div.flex div .single_title_wrap {
      max-width: 100%;
      width: 100%; } }
body.single.single-works main section.contents div.inner div.flex div div.single_content {
  max-width: 80%;
  width: 80%;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 768px) {
    body.single.single-works main section.contents div.inner div.flex div div.single_content {
      max-width: 100%;
      width: 100%; } }
body.single.postid-270 main section.contents div.inner div.flex div div.single_content {
  max-width: 85%;
  width: 85%;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 768px) {
    body.single.postid-270 main section.contents div.inner div.flex div div.single_content {
      max-width: 100%;
      width: 100%; } }

body.single-company main .page_title span span.en {
  font-family: "Jost", sans-serif;
  font-weight: 600;
  /*font-size: 2.1875em;*/
  font-size: 1.75em;
  text-transform: uppercase;
  display: block;
  position: static;
  width: 100%;
  top: auto;
  left: auto;
  transform: translate(0, 0);
  letter-spacing: 0.1em; }
  @media screen and (max-width: 640px) {
    body.single-company main .page_title span span.en {
      font-size: 1.09375em; } }
body.single-company main .page_title span span.jp {
  /*font-size: 3.5em;*/
  font-size: 2.8em;
  line-height: 1.2em;
  display: block;
  position: static;
  margin-top: .25em;
  width: 100%;
  top: auto;
  left: auto;
  transform: translate(0, 0); }
  @media screen and (max-width: 640px) {
    body.single-company main .page_title span span.jp {
      font-size: 1.75em; } }

/* -------------------------------- 
404 components 
--------------------------------- */
body.error404 p.error_text {
  margin-bottom: 100px;
  text-align: center; }
body.error404 div.bth_wrap {
  text-align: center; }

/* -------------------------------- 
form components
--------------------------------- */
body.contact div.form_wrap .inner {
  width: 100% !important;
  text-align: center; }
  body.contact div.form_wrap .inner .mw_wp_form_complete {
    padding: 1em; }
body.contact div.form_wrap span.red {
  color: crimson; }
body.contact div.form_wrap p.p_hissu {
  margin-bottom: 1em !important; }
  @media screen and (max-width: 768px) {
    body.contact div.form_wrap p.p_hissu {
      font-size: .9em;
      letter-spacing: .05em; } }
body.contact div.form_wrap div.form_flex {
  display: flex;
  justify-content: space-between;
  padding: 1.5em .5em;
  border-bottom: 1px dotted #ccc; }
  body.contact div.form_wrap div.form_flex.top {
    border-top: 1px dotted #ccc; }
  @media screen and (max-width: 768px) {
    body.contact div.form_wrap div.form_flex {
      font-size: .9em;
      letter-spacing: .05em; } }
  @media screen and (max-width: 640px) {
    body.contact div.form_wrap div.form_flex {
      display: block; } }
  body.contact div.form_wrap div.form_flex div.left {
    flex-basis: 200px;
    width: 200px;
    padding-top: 4px; }
    body.contact div.form_wrap div.form_flex div.left p {
      margin: 8px 0; }
      body.contact div.form_wrap div.form_flex div.left p span.red {
        margin-left: .8em; }
    @media screen and (max-width: 768px) {
      body.contact div.form_wrap div.form_flex div.left {
        flex-basis: 160px;
        width: 160px; } }
    @media screen and (max-width: 768px) {
      body.contact div.form_wrap div.form_flex div.left {
        flex-basis: 100%;
        width: 100%;
        font-weight: bold;
        color: #003087; } }
  body.contact div.form_wrap div.form_flex div.right {
    flex-basis: calc(100% - 200px);
    width: calc(100% - 200px); }
    @media screen and (max-width: 768px) {
      body.contact div.form_wrap div.form_flex div.right {
        flex-basis: calc(100% - 160px);
        width: calc(100% - 160px); } }
    @media screen and (max-width: 768px) {
      body.contact div.form_wrap div.form_flex div.right {
        flex-basis: 100%;
        width: 100%; } }
    body.contact div.form_wrap div.form_flex div.right span.p {
      display: block;
      margin-top: 4px;
      font-size: .9em; }
    body.contact div.form_wrap div.form_flex div.right p:empty:before {
      content: none; }
    body.contact div.form_wrap div.form_flex div.right span.zip {
      margin-bottom: 0.5em;
      display: block; }
      body.contact div.form_wrap div.form_flex div.right span.zip input {
        width: 10em; }
body.contact div.form_wrap div.form_btn_wrap {
  margin-top: 20px;
  text-align: center; }
  @media screen and (max-width: 640px) {
    body.contact div.form_wrap div.form_btn_wrap {
      text-align: left; } }

div.form_wrap {
  /*reset*/
  /*ie hack*/
  /* text */
  /*ie hack*/
  /* password */ }
  div.form_wrap input[type="text"], div.form_wrap input[type="number"], div.form_wrap input[type="tel"], div.form_wrap input[type="email"], div.form_wrap button, div.form_wrap textarea, div.form_wrap select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
  div.form_wrap input::-ms-clear {
    visibility: hidden; }
  div.form_wrap input::-ms-reveal {
    visibility: hidden; }
  div.form_wrap input[type="text"], div.form_wrap input[type="number"], div.form_wrap input[type="tel"], div.form_wrap input[type="email"], div.form_wrap textarea {
    outline: none;
    width: 100%;
    padding: 8px;
    border: 1px solid #bbb;
    border-radius: 4px;
    -webkit-transition: all .3s;
    transition: all .3s; }
  div.form_wrap input[type="text"]:focus, div.form_wrap input[type="number"]:focus, div.form_wrap input[type="tel"]:focus, div.form_wrap input[type="email"]:focus, div.form_wrap textarea:focus {
    box-shadow: 0 0 6px #3db6e4;
    border: 1px solid #3db6e4; }
  div.form_wrap input[type="submit"], div.form_wrap input[type="button"] {
    width: 200px;
    background-color: #333333;
    color: #fff;
    font-weight: bold;
    padding: 15px 20px;
    margin: 8px 0;
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: .2s; }
  div.form_wrap input[type="submit"]:hover, div.form_wrap input[type="button"]:hover {
    background-color: #e9e8e8;
    color: #333333; }
  div.form_wrap input[type="submit"]:disabled {
    cursor: default;
    opacity: .7; }
  div.form_wrap input[type="submit"]:disabled:hover {
    background-color: #333333; }
  div.form_wrap input[type="text"].p-postal-code {
    max-width: 12em; }
  div.form_wrap .mw_wp_form .error {
    margin: 4px 0;
    font-size: .9em;
    color: crimson; }

body #lightbox {
  margin-top: -4.5em; }

body.sub.postid-386 main section.contents div.inner {
  max-width: 1210px; }
  @media screen and (max-width: 1710px) {
    body.sub.postid-386 main section.contents div.inner {
      width: 80%; } }
  @media screen and (max-width: 1366px) {
    body.sub.postid-386 main section.contents div.inner {
      width: 80%; } }
  @media screen and (max-width: 640px) {
    body.sub.postid-386 main section.contents div.inner {
      width: 100%; } }
  body.sub.postid-386 main section.contents div.inner .flex {
    font-size: 0.8em; }

@media (min-width: 782px) {
  body.postid-389 .wp-block-column:not(:first-child) {
    margin-left: 3.8em; } }

body.h1_disable main section.contents div.inner .single_title_wrap {
  display: none; }

body.post-type-archive-photo-gallery #prevLink {
  background: none;
  position: relative; }
  body.post-type-archive-photo-gallery #prevLink::after {
    font-family: 'Font Awesome\ 5 Free';
    content: "\f0d9";
    position: absolute;
    width: 30px;
    height: 30px;
    top: 50%;
    left: 20px;
    background: #fff;
    font-weight: bold;
    line-height: 26px;
    border-radius: 50%;
    font-size: 19px;
    text-align: left;
    padding: 0 8px;
    background: #333;
    color: #fff;
    border: 2px solid #fff; }
    @media screen and (max-width: 640px) {
      body.post-type-archive-photo-gallery #prevLink::after {
        width: 24px;
        height: 24px;
        padding: 0 6px;
        line-height: 20px;
        font-size: 15px;
        left: -8px; } }
body.post-type-archive-photo-gallery #nextLink {
  background: none;
  position: relative; }
  body.post-type-archive-photo-gallery #nextLink::after {
    font-family: 'Font Awesome\ 5 Free';
    content: "\f0da";
    position: absolute;
    width: 30px;
    height: 30px;
    top: 50%;
    right: 20px;
    background: #fff;
    font-weight: bold;
    line-height: 26px;
    border-radius: 50%;
    font-size: 19px;
    text-align: right;
    padding: 0 8px;
    background: #333;
    color: #fff;
    border: 2px solid #fff; }
    @media screen and (max-width: 640px) {
      body.post-type-archive-photo-gallery #nextLink::after {
        width: 24px;
        height: 24px;
        padding: 0 6px;
        line-height: 20px;
        font-size: 15px;
        right: -8px; } }

div.top_bnr {
  text-align: center;
  padding: 0;
  margin-bottom: -182px;
  height: 202px;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 1710px) {
    div.top_bnr {
      margin-bottom: -164px;
      height: 184px; } }
  @media screen and (max-width: 1500px) {
    div.top_bnr {
      margin-bottom: -146px;
      height: 166px; } }
  @media screen and (max-width: 768px) {
    div.top_bnr {
      margin-bottom: -73px;
      height: 146px; } }
  @media screen and (max-width: 640px) {
    div.top_bnr {
      display: block;
      padding: 20px 30px;
      margin-bottom: -30px;
      height: auto; } }
  @media screen and (max-width: 360px) {
    div.top_bnr {
      padding: 20px 20px; } }
  div.top_bnr a {
    width: 60%;
    max-width: 510px; }
    div.top_bnr a img {
      max-width: 100%;
      vertical-align: bottom;
      z-index: 10;
      position: relative; }
      @media screen and (max-width: 640px) {
        div.top_bnr a img {
          max-width: 100%; } }
