@charset "UTF-8";
/*
theme: 池田印刷
*/
/* CSS Document */
/* all content
* --------------------------------------- */
div, h1, h2, h3, h4, p, a, td, li, ul, span, dl, dd, div, a, input, label, small {
  font-size: 18px;
  line-height: 1.8;
  text-decoration: none;
  font-family: 'Noto Serif JP', 'Zen Old Mincho', 'Hiragino Mincho ProN', serif;
  font-weight: 600;
  list-style: none;
  color: #000000;
}
a {
  display: block;
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
body {
  margin: 0 auto;
  position: relative;
  display: flex;
  flex-flow: column;
  min-height: 100vh;
  z-index: -2;
}
main {
  flex: 1;
  margin-bottom: 796px;
  background: #fff;
  border-bottom: solid 5px #C6332D;
}
img {
  vertical-align: top;
  width: 100%;
}
sup {
  vertical-align: super !important;
  font-size: smaller !important;
}
a:hover, a:focus {
  opacity: .7;
  text-decoration: none;
  color: #000;
}
::-webkit-selection {
  color: #fff;
  background: #0074BF;
}
::-moz-selection {
  color: #fff;
  background: #0074BF;
}
::selection {
  background-color: #cccccc;
  color: #000;
  text-shadow: none;
}
.main-u-page {
  background: url(../img/top-background.jpg);
}
#concierge, #overview, #philosophy, #mission, #affiliates, #solutions, #printing, #section01, #section02, #section03, #section04, #section05 {
  padding-top: 100px;
  margin-top: -100px;
}
.common-1400-width {
  max-width: 1400px;
  margin: 0 auto;
  width: calc(100% - 40px);
}
.common-1100-width {
  max-width: 1100px;
  margin: 0 auto;
  width: calc(100% - 40px);
}
.common-100-padding {
  padding: 100px 0;
}
.common-80-padding {
  padding: 80px 0;
}
.common-60-padding {
  padding: 60px 0;
}
.pc_none {
  display: none !important;
}
.common-btn__wrap a {
  width: 180px;
  background-image: url(../img/btn-bgi.svg);
  background-repeat: no-repeat;
  background-position: bottom right;
  padding-bottom: 1px;
  margin-left: auto;
  text-align: right;
  padding-right: 18px;
}
.common-btn__wrap._white a {
  color: #fff;
  background-image: url(../img/btn-bgi_white.svg);
}
.common-btn__wrap a:hover {
  width: 190px;
  opacity: 1;
}
.common-title__wrap {
  position: absolute;
  left: 0;
  top: 0;
}
.common-title__wrap ._title {
  max-width: 330px
}
.common-title__wrap ._title._philosophy {
  max-width: 410px
}
.common-title__wrap ._title._solutions {
  max-width: 710px
}
.common-title__wrap h2 span {
  display: block;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 35px;
  font-weight: 600;
  line-height: 1;
  margin-top: 16px;
  letter-spacing: 10px;
  white-space: nowrap;
}
.common-title__wrap h2 span._white {
  color: #fff;
}
.common-page__title {
  padding-top: 200px;
}
.common-page__title ._title {
  max-width: 500px;
  margin-bottom: 24px;
}
.common-page__title ._title._print {
  max-width: 700px
}
.common-page__title ._title._news {
  max-width: 300px
}
.common-page__title span._title {
  font-size: 100px;
  font-family: 'Yeseva One', 'Cormorant Garamond', system-ui, serif;
  letter-spacing: 0.05em;
  display: block;
  width: 100%;
  line-height: 1;
  font-weight: 400;
  max-width: 100%;
}
.common-page__title span._title::first-letter {
  color: #C6332D;
}
.common-page__title ._text {
  font-size: 40px;
  letter-spacing: 0.5em;
}
section._index-01, article._index-01 {
  position: relative;
  z-index: 100;
}
/* ブラウザのデフォのスムースと二重化しない */
html {
  scroll-behavior: auto;
}
/* Safariでfixed要素のブレ防止（必要なら） */
.site-header {
  transform: translateZ(0);
  will-change: transform;
}
@media screen and (max-width: 768px) {
  .main-u-page {
    padding-top: 80px;
  }
  #concierge, #overview, #philosophy, #mission, #affiliates, #solutions, #printing, #section01, #section02, #section03, #section04, #section05 {
    padding-top: 80px;
    margin-top: -80px;
  }
  .pc_none {
    display: block !important;
  }
  .sp_none {
    display: none !important;
  }
  div, h1, h2, h3, h4, p, a, td, li, ul, span, dl, dd, div, a, input, label, small {
    font-size: 15px;
  }
  .common-100-padding {
    padding: 46px 0;
  }
  .common-80-padding {
    padding: 60px 0;
  }
  .common-btn__wrap a {
    margin: 0 auto;
  }
  .common-title__wrap ._title {
    max-width: 200px;
  }
  .common-title__wrap ._title._philosophy {
    max-width: 210px
  }
  .common-title__wrap h2 span {
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 21px;
    margin-top: 13px;
  }
  .common-60-padding {
    padding: 46px 0;
  }
  main {
    margin-bottom: 433px;
  }
  .common-page__title {
    padding-top: 46px;
  }
  .common-page__title ._title {
    max-width: 250px;
    margin-bottom: 16px;
  }
  .common-page__title ._text {
    font-size: 21px;
    letter-spacing: 0.3em;
  }
  .common-title__wrap ._title._solutions {
    max-width: 300px
  }
  .common-page__title span._title {
    font-size: 40px;
    letter-spacing: 0;
  }
  .common-page__title ._title._print {
    max-width: 400px
  }
  .common-page__title ._title._news {
    max-width: 200px
  }
  .main-u-page {
    background: url(../img/top-background_sp.jpg) no-repeat fixed top / cover;
	  background-size: contain;
    background-repeat: repeat;
  }
}
/* キービジュアル
* --------------------------------------- */
.index-main____group {
  position: relative;
  padding-top: 100vh;
}
.keyvisual-area__group {
  position: fixed;
  top: 0;
  z-index: 0;
  width: 100%;
}
.keyvisual-video__wrap {
  position: relative;
  padding-bottom: 100vh;
  height: 0;
  overflow: hidden;
}
.fv--movie {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.keyvisual-video__area {
  position: relative;
  background-color: #fff;
}
.keyvisual-scroll__gif {
  width: 150px;
  position: absolute;
  bottom: 50px;
  transform: translateX(-50%);
  left: 50%;
  opacity: 1;
  transition: opacity .4s ease;
}
.keyvisual-scroll__gif.is-opacity {
  opacity: 0;
  pointer-events: none;
}
.keyvisual-area__group {
  transition: opacity .6s ease, visibility .6s step-end;
}
.keyvisual-area__group.is-off {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
@media screen and (max-width: 941px) {
  .keyvisual-area__group {
    margin-top: 80px;
  }
}
@media screen and (max-width: 768px) {
  .keyvisual-video__wrap {
    position: relative;
    padding-bottom: 50vh;
    height: 0;
    overflow: hidden;
  }
  .keyvisual-scroll__gif {
    width: 90px;
    bottom: 32px;
  }
  .index-main____group {
    padding-top: 58vh;
  }
}
/* グローバルナビ

* --------------------------------------- */
.header-global__wrap {
  position: sticky;
  top: 0;
  z-index: 999;
}
.global-nav__list {
  display: flex;
  width: 100%;
  margin-left: auto;
  gap: 0 40px;
  align-items: center;
}
.hamburger {
  display: none;
  width: 100%;
}
.global-nav__item {
  text-align: center;
}
.global-nav__item a {
  font-size: 20px;
  font-weight: 500;
}
.global-nav__logo a img {
  width: 300px;
}
.sidebarMenu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100px;
  padding: 0 30px;
  box-sizing: border-box;
  margin: 0 auto;
  position: relative;
  z-index: 100;
  background: #ebebebd4;
}
.fixed.header-global__wrap {
  background-color: #ebebebb8;
}
.fixed.header-global__wrap {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
}
.global-nav h1 {
  font-weight: 400;
}
@media screen and (max-width: 1100px) {
  .global-nav__item a {
    font-size: 16px;
  }
  .global-nav h1 {
    font-size: 13px;
  }
  .global-nav__logo a img {
    width: 210px;
  }
  .global-nav__list {
    gap: 0 24px;
  }
}
@media screen and (max-width: 941px) {
  .global-nav__item:nth-child(1) {
    display: block;
  }
  .global-nav__logo a img {
    width: 230px;
    margin-left: 10px;
  }
  .sidebarMenu {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 80px;
    background-color: #fff;
    z-index: 9999;
    padding: 0;
  }
  .global-nav {
    flex-direction: column;
    position: fixed;
    right: -100vw;
    top: 0;
    width: 100vw;
    height: 91vh;
    background-color: #fff;
    transition: all .5s;
    z-index: 200;
    overflow-y: auto;
    margin-top: 80px;
  }
  .hamburger {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 80px;
    height: 80px;
    cursor: pointer;
    z-index: 300;
    border-radius: 5px;
  }
  .global-nav__list {
    flex-direction: column;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    width: 100%;
    padding-bottom: 200px;
  }
  .global-nav__item {
    text-align: left;
    width: 100%;
    border-left: none;
  }
  .global-nav__item a {
    display: block;
    padding: 23px 0;
    margin-bottom: 0;
    text-decoration: none;
    text-align: center;
    background-color: #000;
    color: #fff;
    border-bottom: solid 1px #fff
  }
  .hamburger__line {
    position: absolute;
    left: 21px;
    width: 40px;
    height: 3px;
    background-color: #000;
    transition: all .6s;
    border-radius: 100px;
  }
  .hamburger__line--1 {
    top: 20px;
  }
  .hamburger__line--2 {
    top: 29px;
  }
  .hamburger__line--3 {
    top: 38px;
  }
  .hamburger__menu::after {
    content: "MENU";
    letter-spacing: 0.05em;
    font-size: 13px;
    top: 42px;
    position: absolute;
    left: 20px;
    font-weight: bold;
    font-weight: 700;
    color: #000000;
  }
  /* 表示された時用のCSS */
  .nav-open .global-nav {
    right: 0;
  }
  .nav-open .hamburger__line--1 {
    transform: rotate(25deg);
    top: 30px;
  }
  .nav-open .hamburger__line--2 {
    width: 0;
    left: 50%;
  }
  .nav-open .hamburger__line--3 {
    transform: rotate(-25deg);
    top: 30px;
  }
  .nav-open .hamburger__menu::after {
    content: "CLOSE";
    left: 17px;
  }
  .global-nav h1 {
    background-color: #000;
    color: #fff;
    padding: 10px;
    border-bottom: solid 1px #fff;
    text-align: center;
  }
}
@media screen and (max-width: 426px) {
  .global-nav h1 {
    text-align: left;
  }
  .global-nav__logo a img {
    width: 200px;
  }
}
/* 冒頭
* --------------------------------------- */
.concierge-area__group {
  background-image: url(../img/concierge-image01.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.concierge-title__wrap h2 {
  font-size: 30px;
  font-family: 'Zen Old Mincho', serif;
  text-align: center;
  font-weight: 500;
  margin-bottom: 36px;
  color: #fff;
}
.concierge-title__wrap h2 span {
  display: inline-block;
  font-family: 'Zen Old Mincho', serif;
  font-size: 60px;
  color: #fff;
  background: linear-gradient(transparent 50%, #C6332D 50%);
}
.concierge-title__wrap p {
  color: #fff;
  text-align: center;
  max-width: 600px;
  font-weight: 500;
  font-size: 18px;
  margin: 0 auto 32px;
  line-height: 2.2;
}
.concierge-title__wrap ._btn a {
  max-width: 250px;
  color: #fff;
  border: solid 1px #fff;
  padding: 10px 10px;
  box-sizing: border-box;
  text-align: center;
  margin: 0 auto;
  border-radius: 24px 0 0 0;
}
.concierge-title__wrap ._btn a:hover {
  background: #fff;
  color: #000;
}
@media screen and (max-width: 768px) {
  .concierge-title__wrap h2 {
    font-size: 18px;
    margin-bottom: 32px;
  }
  .concierge-title__wrap h2 span {
    font-size: 24px;
  }
  .concierge-title__wrap p {
    text-align: left;
    font-size: 15px;
    margin: 0 auto 24px;
    line-height: 1.8;
  }
  .concierge-title__wrap ._btn a {
    max-width: 200px;
    padding: 10px 10px;
  }
}
/* 必要な工程だけのご相談も承ります
* --------------------------------------- */
.answer-area__group {
  padding: 24px 0 32px;
  box-shadow: 0px 5px 4px #00000045;
  background-color: #fff;
  z-index: 100;
  position: relative;
}
.answer-icon__image {
  width: 47px;
  margin: 0 auto 8px;
}
.answer-text__wrap {
  max-width: 600px;
  margin: 0 auto;
}
.answer-text__wrap h2 {
  font-size: 30px;
  margin-bottom: 16px;
  text-align: center;
}
.answer-text__wrap p {
  text-align: center;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .answer-icon__image {
    width: 32px;
  }
  .answer-text__wrap h2 {
    font-size: 21px;
  }
  .answer-text__wrap p {
    text-align: left;
  }
}
/* 色品質の、最前線へ。
* --------------------------------------- */
.about-area__group {
  background: url(../img/top-background.jpg);
}
.mastery-area__group {
  background-color: #C6332D;
  background-image: url("../img/about-bgi.png");
  background-position: right top;
  background-size: 1700px auto;
  background-repeat: no-repeat;
  border-top: solid 10px #C6332D;
  border-bottom: solid 30px #C6332D;
  padding: 24px 0 0;
}
.mastery-text__wrap h2 {
  color: #fff;
  font-size: 60px;
}
.mastery-text__wrap h3 {
  color: #fff;
  font-size: 30px;
  margin-bottom: 16px;
}
.mastery-text__wrap p {
  color: #fff;
  max-width: 500px;
  font-weight: 500;
}
.mastery-btn__group {
  background-image: url(../img/iro_obi.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 110px 0 20px;
  box-shadow: 0px 5px 3px #00000063;
  background-color: #fff;
  z-index: 100;
  position: relative;
}
.mastery-inner__wrap {
  margin: 0 auto;
  max-width: 500px;
}
.mastery-inner__wrap h2 {
  font-size: 30px;
  color: #fff;
  text-align: center;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .mastery-text__wrap h2 {
    font-size: 28px;
    margin-bottom: 16px;
  }
  .mastery-text__wrap h3 {
    font-size: 18px;
    margin-bottom: 8px;
  }
  .mastery-area__group {
    background-size: 100%;
    border-top: solid 5px #C6332D;
    border-bottom: solid 0 #C6332D;
    padding: 24px 0 32px;
  }
  .mastery-inner__wrap h2 {
    font-size: 21px;
  }
  .about-area__group {
    background: url(../img/top-background_sp.jpg);
  }
  .mastery-btn__group {
    padding: 81px 0 24px;
  }
}
/* 加工
* --------------------------------------- */
.print-area__group {
  background-color: #000;
}
.print-items__wrap {
  padding: 60px 0 46px;
}
.print-text__wrap ._title {
  max-width: 600px;
  margin: 0 auto 24px;
}
.print-text__wrap h2 {
  color: #fff;
  font-size: 30px;
  margin-bottom: 16px;
  text-align: center;
}
.print-text__wrap p {
  color: #fff;
  max-width: 550px;
  margin: 0 auto;
  text-align: center;
}
.print-btn__group {
  background-image: url(../img/WiP_obi.jpg);
  background-size: cover;
  background-position: center top -12px;
  padding: 90px 0 16px;
  box-shadow: 0px 5px 3px #00000063;
  background-color: #fff;
}
.print-inner__wrap {
  margin: 0 auto;
  max-width: 500px;
}
.print-inner__wrap h2 {
  font-size: 30px;
  text-align: center;
  margin-bottom: 16px;
}
.print-archive__text {
  margin-bottom: 100px;
}
.print-archive__text h2 {
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-size: 40px;
  border-bottom: double 6px #000;
  padding: 0 20px;
  padding-bottom: 16px;
  margin-bottom: 32px;
}
.print-archive__text p {
  margin: 0 20px;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-weight: 400;
  line-height: 2.2;
}
.print-archive__block {
  display: flex;
  gap: 46px 8%;
  flex-wrap: wrap;
}
.print-archive__box {
  width: 28%;
}
.print-archive__box img {
  height: auto;
}
.print-slider__box img {
  width: 100%;
  height: auto;
}
.slick-dots li button:before {
  color: #fff;
}
.slick-dots li.slick-active button:before {
  color: #fff;
}
.slick-dots {
  bottom: -10px;
}
.slick-dotted.slick-slider {
  margin-bottom: 46px;
}
@media screen and (max-width: 768px) {
  .print-inner__wrap h2 {
    font-size: 21px;
  }
  .print-text__wrap h2 {
    font-size: 21px;
  }
  .print-text__wrap ._title {
    max-width: 300px;
  }
  .print-archive__text {
    margin-bottom: 46px;
  }
  .print-archive__text h2 {
    font-size: 18px;
    border-bottom: double 6px #000;
    padding: 0 10px;
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
  .print-archive__text p {
    margin: 0 10px;
    line-height: 2;
  }
  .print-archive__block {
    gap: 16px 0;
  }
  .print-archive__box {
    width: 70%;
    margin: 0 auto;
  }
  .print-btn__group {
          background-position: center top 0px;
        padding: 80px 0 16px;
  }
}
/* 事業案内
* --------------------------------------- */
.service-area__group {
  background-color: #202020;
}
.service-area__inner {
  background-color: #e9e9e9;
}
.business-area__group {
  max-width: 780px;
  margin-left: auto;
  position: relative;
  padding: 70px 60px;
  box-sizing: border-box;
  background-image: url("../img/business-image01.png");
  background-position: right bottom;
  background-size: 550px auto;
  background-repeat: no-repeat;
  margin-bottom: 120px;
}
.business-items__wrap {
  background: #ffffffb0;
  padding: 60px;
  box-sizing: border-box;
  border-radius: 60px 0 0 0;
}
.business-items__wrap p {
  font-weight: 400;
  line-height: 2.5;
}
.business-items__wrap ul {
  margin-top: 46px;
  margin-left: 60px;
  margin-bottom: 46px;
}
.business-items__wrap ul li {
  font-weight: 400;
  margin-bottom: 24px;
}
.business-items__wrap ul li:nth-last-child(1) {
  margin-bottom: 0;
}
.business-btn__wrap a {
  text-align: right;
  letter-spacing: 0.3em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .business-area__group {
    padding: 46px 0 0 40px;
    background-size: 250px auto;
    background-repeat: no-repeat;
    margin-bottom: 60px;
    background-position: right 20px bottom 20px;
  }
  .business-items__wrap {
    background: #ffffffb0;
    padding: 24px 16px;
    box-sizing: border-box;
    border-radius: 20px 0 0 0;
  }
  .business-items__wrap ul {
    margin-top: 24px;
    margin-left: 24px;
    margin-bottom: 32px;
  }
  .business-items__wrap ul li {
    margin-bottom: 10px;
  }
  .service-area__group .common-1400-width {
    width: 100%;
  }
}
/* ご挨拶
* --------------------------------------- */
.greeting-area__group {
  padding: 80px 0 0 60px;
  position: relative;
  box-sizing: border-box;
}
.greeting-items__wrap {
  background: #ffffffb0;
  padding: 60px;
  box-sizing: border-box;
  border-radius: 60px 0 0 0;
}
.greeting-text__box {
  margin-bottom: 46px;
}
.greeting-text__box h3 {
  margin-bottom: 24px;
  font-size: 20px;
}
.greeting-text__box p {
  font-weight: 400;
  line-height: 2;
}
.greeting-text__box a {
  text-decoration: underline;
  font-weight: 400;
  margin-bottom: 24px;
  font-size: 20px;
}
.greeting-items__wrap ._name {
  display: block;
  margin-top: 46px;
  font-weight: 400;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .greeting-area__group {
    padding: 46px 0 0 40px;
  }
  .greeting-items__wrap {
    background: #ffffffb0;
    padding: 24px 16px;
    box-sizing: border-box;
    border-radius: 20px 0 0 0;
  }
  .greeting-text__box h3 {
    margin-bottom: 16px;
    font-size: 17px;
  }
  .greeting-items__wrap ._name {
    margin-top: 24px;
  }
  .greeting-text__box {
    margin-bottom: 32px;
  }
  .greeting-text__box a {
    font-size: 17px;
  }
}
/* お知らせ
* --------------------------------------- */
.common-title__wrap ._title._news {
  max-width: 200px;
}
.news-area__group {
  background-color: #e9e9e9;
  overflow: hidden
}
.news-items__wrap {
  padding: 80px 0 0 60px;
  position: relative;
  box-sizing: border-box;
}
.news-items__wrap::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
}
.news-items__inner {
  margin-right: -100%;
}
.news-lists__box li {
  display: flex;
  gap: 8px 32px;
  padding-bottom: 16px;
  margin-bottom: 24px;
  border-bottom: solid .5px #000;
  font-weight: 400;
}
.news-lists__box li:nth-last-child(1) {
  margin-bottom: 0;
}
.news-lists__box li time {
  font-weight: 400;
}
.news-btn__wrap {
  max-width: 1100px;
}
.news-btn__wrap a {
  text-align: right;
  letter-spacing: 0.3em;
  font-weight: 400;
  margin-top: 32px;
}
.news-lists__wrap {
  background: #fff;
  padding: 60px;
  box-sizing: border-box;
  border-radius: 60px 0 0 0;
}
.news-lists__box {
  max-width: 1100px;
}
@media screen and (max-width: 1360px) {
  .news-items__wrap::after {
    display: none;
  }
  .news-items__inner {
    margin-right: -20px;
  }
}
@media screen and (max-width: 768px) {
  .common-title__wrap ._title._news {
    max-width: 150px;
  }
  .news-items__wrap {
    padding: 50px 0 0 40px;
  }
  .news-lists__wrap {
    padding: 24px 16px;
    box-sizing: border-box;
    border-radius: 20px 0 0 0;
  }
  .news-lists__box li {
    gap: 4px 32px;
    padding-bottom: 10px;
    margin-bottom: 16px;
    flex-direction: column;
  }
  .news-btn__wrap a {
    margin-top: 24px;
  }
}
/* お問い合わせ
* --------------------------------------- */
.contact-area__group {
  background-color: #e9e9e9;
}
.contact-items__wrap {
  max-width: 1670px;
  background-color: #202020;
  border-radius: 0 60px 0 0;
  padding-right: 100px;
  padding: 60px 100px 60px 20px;
  box-sizing: border-box;
}
.contact-items__box {
  padding: 80px 0 0 60px;
  position: relative;
  box-sizing: border-box;
  max-width: 1000px;
  margin-left: auto;
}
.contact-items__inner {
  max-width: 500px;
  margin: 0 auto;
}
.contact-items__tel a {
  font-family: 'Cormorant Garamond', serif;
  font-size: 80px;
  color: #fff;
  font-weight: 400;
  text-align: center;
}
.contact-items__tel span {
  text-align: center;
  color: #fff;
  font-weight: 300;
  display: block;
}
.contact-items__inner ._image {
  margin: 46px auto;
  width: 100%;
}
.contact-items__email {
  margin-bottom: 60px;
}
.contact-items__email a {
  max-width: 250px;
  color: #fff;
  border: solid 1px #fff;
  padding: 10px 10px;
  box-sizing: border-box;
  text-align: center;
  margin: 0 auto;
  border-radius: 24px 0 0 0;
  position: relative;
  font-weight: 400;
}
.contact-items__email a img {
  width: 30px;
  position: absolute;
  left: 20px;
  transform: translateY(-50%);
  top: 50%;
}
.contact-social__wrap span {
  display: block;
  text-align: center;
  letter-spacing: 5px;
  color: #fff;
  margin-bottom: 32px;
  font-weight: 400;
}
.contact-social__wrap ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1200px) {
  .contact-area__group::after {
    display: none
  }
}
@media screen and (max-width: 768px) {
  .contact-items__tel a {
    font-size: 40px;
  }
  .contact-items__inner ._image {
    margin: 24px auto;
  }
  .contact-items__email {
    margin-bottom: 46px;
  }
  .contact-social__wrap span {
    margin-bottom: 24px;
  }
  .contact-social__wrap ul li a {
    width: 30px;
  }
  .contact-social__wrap {
    max-width: 180px;
    margin: 0 auto;
  }
  .contact-items__email a img {
    width: 23px;
  }
  .contact-items__wrap {
    border-radius: 0 20px 0 0;
  }
}
/* 
* --------------------------------------- */
.banner-area__group {
  background-color: #fff;
}
.banner-items__wrap h2 {
  text-align: center;
  margin-bottom: 46px;
  font-weight: 400;
  font-size: 20px;
}
.banner-items__wrap ul {
  display: flex;
  gap: 10px 0;
  justify-content: space-between;
  align-items: center
}
.banner-items__wrap ul li {
  width: 90px;
}
@media screen and (max-width: 768px) {
  .banner-items__wrap h2 {
    margin-bottom: 16px;
    font-size: 16px;
  }
  .banner-items__wrap ul li {
    width: 50px;
  }
}
/* フッター
* --------------------------------------- */
.footer-area__group {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: -1;
  background-color: #202020;
}
.footer-name__wrap {
  text-align: center;
}
.footer-name__wrap h2 {
  font-size: 25px;
  color: #fff;
  margin-bottom: 16px;
  font-weight: 400;
}
.footer-name__wrap small {
  display: block;
  font-weight: 400;
  font-size: 60px;
  color: #fff;
  margin-bottom: 24px;
}
.footer-address__wrap {
  max-width: 700px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 46px;
}
.footer-address__wrap ._image {
  width: 12%;
}
.footer-address__wrap ._text {
  width: 83%;
}
.footer-address__wrap ._text address {
  font-style: normal;
  color: #fff;
  font-size: 22px;
  letter-spacing: 0.15em;
  font-weight: 400;
}
.footer-address__wrap ._text a {
  display: inline-block;
  color: #fff;
  font-size: 22px;
  letter-spacing: 0.15em;
  font-weight: 400;
  margin-right: 16px;
}
.footer-links__wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px 0;
  margin-bottom: 32px;
}
.footer-links__box li {
  color: #fff;
  font-size: 22px;
  margin-bottom: 10px;
  letter-spacing: 0.1em;
  font-weight: 400;
}
.footer-links__box li a {
  color: #fff;
  margin-left: 10px;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.footer-policy__wrap {
  display: flex;
  justify-content: center
}
.footer-policy__wrap li a {
  color: #fff;
  margin-left: 10px;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5
}
.footer-policy__wrap li:nth-child(1) {
  padding-right: 24px;
  margin-right: 16px;
  border-right: solid 1px #fff;
}
.footer-copy__wrap {
  background-color: #C6332D;
}
.footer-copy__wrap a {
  color: #fff;
  font-weight: 400;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .footer-name__wrap h2 {
    font-size: 16px;
    margin-bottom: 10px;
  }
  .footer-name__wrap small {
    font-size: 26px;
    margin-bottom: 16px;
  }
  .footer-address__wrap {
    gap: 16px 0;
    margin-bottom: 32px;
  }
  .footer-address__wrap ._image {
    width: 100%;
    margin: 0 auto;
    max-width: 80px;
  }
  .footer-address__wrap ._text {
    width: 100%;
  }
  .footer-address__wrap ._text address {
    font-size: 14px;
    letter-spacing: 0.1em;
  }
  .footer-address__wrap ._text a {
    font-size: 14px;
    letter-spacing: 0.1em;
    margin-right: 10px;
  }
  .footer-links__wrap {
    display: none
  }
  .footer-policy__wrap li a {
    font-size: 12px;
  }
  .footer-policy__wrap li:nth-child(1) {
    padding-right: 16px;
    margin-right: 10px;
  }
  .footer-copy__wrap a {
    font-size: 12px;
  }
  .footer-copy__wrap {
    padding: 10px 0;
  }
}
/* 
* --------------------------------------- */
/* 左からフェードイン */
.reveal-left {
  --reveal-distance: -120px; /* マイナスで左方向 */
  --reveal-duration: 0.9s;
  opacity: 0;
  transform: translate3d(var(--reveal-distance), 0, 0);
  transition:
    transform var(--reveal-duration) cubic-bezier(.22, .61, .36, 1), opacity var(--reveal-duration) ease;
  will-change: transform, opacity;
}
.reveal-left.is-inview {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
/* 中の要素を段階的に見せたい場合（任意） */
.reveal-left.is-inview .contact-items__inner > * {
  opacity: 0;
  transform: translate3d(-24px, 0, 0);
  transition: transform .7s cubic-bezier(.22, .61, .36, 1), opacity .7s ease;
}
.reveal-left.is-inview .contact-items__inner > *:nth-child(1) {
  transition-delay: .05s;
  opacity: 1;
  transform: none;
}
.reveal-left.is-inview .contact-items__inner > *:nth-child(2) {
  transition-delay: .15s;
  opacity: 1;
  transform: none;
}
.reveal-left.is-inview .contact-items__inner > *:nth-child(3) {
  transition-delay: .25s;
  opacity: 1;
  transform: none;
}
.reveal-left.is-inview .contact-items__inner > *:nth-child(4) {
  transition-delay: .35s;
  opacity: 1;
  transform: none;
}
/* レスポンシブで距離を調整 */
@media (max-width: 768px) {
  .reveal-left {
    --reveal-distance: -80px;
    --reveal-duration: 0.8s;
  }
}
/* 右からフェードインの初期状態 */
.reveal-right {
  opacity: 0;
  transform: translateX(40px);
  transition: transform .8s cubic-bezier(.22, .61, .36, 1), opacity .8s ease;
  will-change: transform, opacity;
}
/* 可視化時 */
.reveal-right.is-inview {
  opacity: 1;
  transform: translateX(0);
}
/* （任意）中のニュースを段階的に表示したい場合 */
.reveal-right.is-inview .news-lists__box li {
  opacity: 0;
  transform: translateX(12px);
  transition: transform .6s cubic-bezier(.22, .61, .36, 1), opacity .6s ease;
}
.reveal-right.is-inview .news-lists__box li:nth-child(1) {
  transition-delay: .05s;
  opacity: 1;
  transform: none;
}
.reveal-right.is-inview .news-lists__box li:nth-child(2) {
  transition-delay: .15s;
  opacity: 1;
  transform: none;
}
.reveal-right.is-inview .news-lists__box li:nth-child(3) {
  transition-delay: .25s;
  opacity: 1;
  transform: none;
}
.reveal-right.is-inview .news-lists__box li:nth-child(4) {
  transition-delay: .35s;
  opacity: 1;
  transform: none;
}
.reveal-right.is-inview .news-lists__box li:nth-child(5) {
  transition-delay: .45s;
  opacity: 1;
  transform: none;
}
/* 会社概要
* --------------------------------------- */
.company-links__wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px 0;
  max-width: 940px;
  margin: 0 auto 100px;
  width: calc(100% - 40px);
}
.company-links__wrap li a {
  font-weight: 400;
  font-size: 20px;
}
.overview-area__group {
  overflow: hidden;
}
.overview-area__inner {
  margin-left: auto;
  position: relative;
  padding: 120px 0 0 300px;
  box-sizing: border-box;
  background-image: url(../img/overview-image.png);
  background-position: top 65px left 65px;
  background-size: 990px auto;
  background-repeat: no-repeat;
  margin-bottom: 200px
}
.overview-items__wrap {
  background: #ffffffb0;
  padding: 60px;
  box-sizing: border-box;
  border-radius: 60px 0 0 0;
}
.overview-table__box {
  width: 100%;
  max-width: 740px;
}
.overview-table__box tr {
  display: block;
  border-bottom: solid .5px #000;
  padding: 20px 0;
}
.overview-table__box tr:nth-child(1) {
  padding-top: 0;
}
.overview-table__box tr th {
  width: 150px;
  text-align: left;
  box-sizing: border-box;
  font-weight: 400;
}
.overview-table__box tr td {
  font-weight: 400;
}
.overview-items__area {
  margin-right: -100%;
}
@media screen and (max-width: 1200px) {
  .overview-items__area {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .overview-area__inner {
    padding: 46px 0 0 40px;
    margin-bottom: 80px;
    background: none;
  }
  .overview-items__wrap {
    background: #ffffffb0;
    padding: 24px 16px;
    box-sizing: border-box;
    border-radius: 20px 0 0 0;
  }
  .company-links__wrap {
    justify-content: flex-start;
    gap: 8px 60px;
    ;
    margin: 0 auto 60px;
  }
  .overview-table__box tr th {
    width: 60px;
  }
  .company-links__wrap li a {
    font-size: 17px;
  }
}
/* 経営理念
* --------------------------------------- */
.philosophy-area__inner {
  margin-left: auto;
  position: relative;
  padding: 80px 0 0 70px;
  box-sizing: border-box;
  margin-bottom: 200px
}
.philosophy-items__wrap {
  background: #ffffffb0;
  padding: 60px;
  box-sizing: border-box;
  border-radius: 60px 0 0 0;
}
.philosophy-table__box {
  width: 100%;
  max-width: 740px;
}
.philosophy-items__wrap h3 {
  color: #C6332D;
  font-size: 22px;
  margin-bottom: 16px;
}
.philosophy-items__wrap p {
  font-weight: 400;
  margin-bottom: 46px;
  font-weight: 400;
}
.philosophy-items__wrap ._image {
  max-width: 300px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .philosophy-area__inner {
    padding: 46px 0 0 40px;
    margin-bottom: 80px;
  }
  .philosophy-items__wrap {
    background: #ffffffb0;
    padding: 24px 16px;
    box-sizing: border-box;
    border-radius: 20px 0 0 0;
  }
  .philosophy-items__wrap h3 {
    font-size: 18px;
  }
  .philosophy-items__wrap p {
    margin-bottom: 24px;
  }
  .philosophy-items__wrap ._image {
    max-width: 180px;
  }
}
/* 方針
* --------------------------------------- */
.mission-items__wrap {
  position: relative;
  padding: 70px 60px;
  box-sizing: border-box;
  background-image: url("../img/mission-image.png");
  background-position: right bottom;
  background-size: 700px auto;
  background-repeat: no-repeat;
  margin-bottom: 120px;
}
.mission-items__text {
  background: #ffffffb0;
  padding: 60px;
  box-sizing: border-box;
  border-radius: 60px 0 0 0;
}
.mission-items__text h3 {
  color: #C6332D;
  font-size: 22px;
  margin-bottom: 16px;
}
.mission-items__text p {
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .mission-items__wrap {
    padding: 46px 0 0 40px;
    background-size: 250px auto;
    background-repeat: no-repeat;
    margin-bottom: 60px;
    background-position: right 20px bottom 20px;
  }
  .mission-items__text {
    background: #ffffffb0;
    padding: 24px 16px;
    box-sizing: border-box;
    border-radius: 20px 0 0 0;
  }
  .mission-items__text h3 {
    font-size: 18px;
  }
}
/* 会社概要
* --------------------------------------- */
.affiliates-area__group {
  overflow: hidden;
}
.affiliates-area__inner {
  position: relative;
  padding: 65px 0 0 55px;
  box-sizing: border-box;
  margin-left: 23%;
}
.affiliates-items__wrap {
  background: #ffffffb0;
  padding: 60px;
  box-sizing: border-box;
  border-radius: 60px 0 0 0;
}
.affiliates-table__box {
  width: 100%;
  max-width: 740px;
}
.affiliates-table__box tr {
  display: block;
  border-bottom: solid .5px #000;
  padding: 20px 0;
}
.affiliates-table__box tr:nth-child(1) {
  padding-top: 0;
}
.affiliates-table__box tr th {
  width: 150px;
  text-align: left;
  box-sizing: border-box;
  font-weight: 400;
}
.affiliates-table__box tr td {
  font-weight: 400;
}
.affiliates-items__area {
  margin-right: -100%;
}
@media screen and (max-width: 1200px) {
  .affiliates-items__area {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .affiliates-area__inner {
    padding: 46px 0 0 40px;
    background: none;
    margin-left: 0;
  }
  .affiliates-items__wrap {
    background: #ffffffb0;
    padding: 24px 16px;
    box-sizing: border-box;
    border-radius: 20px 0 0 0;
  }
  .affiliates-links__wrap {
    justify-content: flex-start;
    gap: 8px 60px;
    ;
    margin: 0 auto 60px;
  }
  .affiliates-table__box tr th {
    width: 60px;
  }
}
/* 沿革
* --------------------------------------- */
.history-area__inner {
  margin-left: auto;
  position: relative;
  padding: 80px 0 0 70px;
  box-sizing: border-box;
}
.history-items__area {
  background: #ffffffb0;
  padding: 60px;
  box-sizing: border-box;
  border-radius: 60px 0 0 0;
}
.company-history {
  position: relative;
  margin-bottom: 2rem;
}
.company-history::before {
  content: "";
  width: 2px;
  height: calc(100% + 35px);
  background-color: #999;
  position: absolute;
  top: 9px;
  left: 85px;
}
/* hover時の内円色変更 */
.company-history .balloon-item:hover .history-circle::before {
  background-color: #d33;
}
/* 年表示 */
.company-history .balloon-item .history-year {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}
.company-history .balloon-item .history-year p {
  text-align: right;
  font-weight: 400;
  font-size: 1.2rem;
}
/* 外円 */
.company-history .balloon-item .history-circle {
  display: inline-block;
  position: absolute;
  top: 7px;
  left: 76px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #eee;
}
.company-history .balloon-item .history-circle::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #999;
  transition: all .5s;
}
.company-history .balloon-item .history-balloon {
  display: inline-block;
  position: relative;
  top: 0;
  left: 150px;
  width: calc(100% - 174px);
  border-radius: 5px;
  padding: 1.5rem;
  background-color: #eee;
  font-weight: 400;
}
.company-history .balloon-item .history-balloon time {
  display: block;
  margin-bottom: .3rem;
  font-weight: 400;
}
.company-history .balloon-item .history-balloon p {
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .history-area__inner {
    padding: 46px 0 0 40px;
    margin-bottom: 80px;
  }
  .history-items__area {
    background: #ffffffb0;
    padding: 24px 16px;
    box-sizing: border-box;
    border-radius: 20px 0 0 0;
  }
  .company-history .balloon-item .history-circle {
    left: 42px;
    top: 3px;
  }
  .company-history::before {
    left: 52px;
    width: 1px;
    top: 5px;
    height: calc(100% + 25px);
  }
  .company-history .balloon-item .history-balloon {
    left: 70px;
    width: calc(100% - 70px);
    box-sizing: border-box;
    padding: 10px;
  }
  .company-history .balloon-item .history-year p {
    font-weight: 400;
    font-size: 14px;
  }
  .company-history .balloon-item .history-balloon time {
    font-weight: 400;
    font-size: 14px;
    margin-bottom: 0;
  }
  .company-history .balloon-item .history-balloon p {
    font-weight: 500;
    font-size: 14px;
  }
  .company-history {
    margin-bottom: 1.5rem;
  }
}
/* 事業案内
* --------------------------------------- */
.business-links__wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px 46px;
  margin: 0 auto 100px;
  width: calc(100% - 40px);
}
.business-links__wrap li a {
  font-weight: 400;
  font-size: 20px;
  letter-spacing: 0.1em;
}
.solutions-area__inner {
  margin-left: auto;
  position: relative;
  padding: 80px 0 0 70px;
  box-sizing: border-box;
  margin-bottom: 200px;
}
.solutions-items__area {
  background: #ffffffb0;
  padding: 60px;
  box-sizing: border-box;
  border-radius: 60px 0 0 0;
}
.solutions-text__wrap {
  margin-bottom: 46px;
}
.solutions-text__wrap h3 {
  color: #C6332D;
  font-size: 22px;
  margin-bottom: 16px;
}
.solutions-text__wrap p {
  font-weight: 400;
}
.solutions-items__block {
  display: flex;
  flex-wrap: wrap;
  gap: 46px 0;
  justify-content: space-between;
}
.solutions-items__box {
  width: 48%;
  border: solid .3px #acacac;
  position: relative;
  padding: 32px;
  box-sizing: border-box;
}
.solutions-items__box::after {
  content: '';
  display: inline-block;
  width: 35px;
  height: 76px;
  background-image: url(../img/deco-bottom.svg);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  bottom: -2px;
  right: -1px;
  background-repeat: no-repeat;
}
.solutions-items__box::before {
  content: '';
  display: inline-block;
  width: 35px;
  height: 76px;
  background-image: url(../img/deco-top.svg);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: -1px;
  left: 0;
  background-repeat: no-repeat;
  z-index: 2;
}
.solutions-items__box._max {
  width: 100%;
}
.solutions-items__box._max p {
  min-height: auto;
}
.solutions-items__box h3 {
  color: #C6332D;
  font-size: 22px;
  margin-bottom: 16px;
  font-weight: 500;
}
.solutions-items__box p {
  font-weight: 400;
  background-color: #00000014;
  padding: 23px;
  border-radius: 20px 0 0 0;
  line-height: 2.2;
  min-height: 240px;
}
@media screen and (max-width: 768px) {
  .solutions-area__inner {
    padding: 46px 0 0 40px;
    margin-bottom: 80px;
  }
  .solutions-items__area {
    background: #ffffffb0;
    padding: 24px 16px;
    box-sizing: border-box;
    border-radius: 20px 0 0 0;
  }
  .solutions-items__box {
    width: 100%;
    padding: 16px;
  }
  .solutions-text__wrap h3 {
    font-size: 18px;
  }
  .solutions-items__box h3 {
    font-size: 16px;
    margin-bottom: 8px;
  }
  .solutions-text__wrap {
    margin-bottom: 24px;
  }
  .solutions-items__box p {
    padding: 16px;
    border-radius: 10px 0 0 0;
    line-height: 2;
    min-height: auto;
  }
  .solutions-items__block {
    gap: 16px 0;
  }
  .solutions-items__box::after {
    width: 26px;
    height: 53px;
    bottom: -1px;
    right: -2px;
  }
  .solutions-items__box::before {
    width: 26px;
    height: 53px;
    top: -1px;
    left: -1px;
  }
  .business-links__wrap {
    margin: 0 auto 60px;
    flex-direction: column;
  }
  .business-links__wrap li a {
    font-size: 18px;
  }
}
/* 印刷工程
* --------------------------------------- */
.printing-area__inner {
  margin-left: auto;
  position: relative;
  padding: 80px 0 0 70px;
  box-sizing: border-box;
}
.printing-items__area {
  background: #ffffffb0;
  padding: 60px;
  box-sizing: border-box;
  border-radius: 60px 0 0 0;
}
.printing-text__wrap {
  margin-bottom: 46px;
}
.printing-text__wrap h3 {
  color: #C6332D;
  font-size: 22px;
  margin-bottom: 16px;
}
.printing-text__wrap p {
  font-weight: 400;
}
.printing-items__wrap {}
.printing-items__box {
  border: solid .3px #acacac;
  position: relative;
  padding: 32px;
  box-sizing: border-box;
  margin-bottom: 46px;
}
.printing-items__box:nth-last-child(1) {
  margin-bottom: 0;
}
.printing-items__box::after {
  content: '';
  display: inline-block;
  width: 35px;
  height: 76px;
  background-image: url(../img/deco-bottom.svg);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  bottom: -2px;
  right: -1px;
  background-repeat: no-repeat;
}
.printing-items__box::before {
  content: '';
  display: inline-block;
  width: 35px;
  height: 76px;
  background-image: url(../img/deco-top.svg);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: -1px;
  left: 0;
  background-repeat: no-repeat;
  z-index: 2;
}
.printing-items__box h3 {
  color: #C6332D;
  font-size: 22px;
  margin-bottom: 16px;
  font-weight: 500;
}
.printing-items__box ._text {
  background-color: #00000014;
  padding: 23px;
  border-radius: 20px 0 0 0;
}
.printing-items__box h4 {
  font-weight: 500;
  font-size: 20px;
  margin-bottom: 16px;
}
.printing-items__box p {
  font-weight: 400;
  line-height: 2.2;
  margin-left: 24px;
}
.printing-items__box ._image {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 180px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .printing-area__inner {
    padding: 46px 0 0 40px;
  }
  .printing-items__area {
    background: #ffffffb0;
    padding: 24px 16px;
    box-sizing: border-box;
    border-radius: 20px 0 0 0;
  }
  .printing-items__box::after {
    width: 26px;
    height: 53px;
    bottom: -1px;
    right: -2px;
  }
  .printing-items__box::before {
    width: 26px;
    height: 53px;
    top: -1px;
    left: -1px;
  }
  .printing-text__wrap h3 {
    font-size: 18px;
    margin-bottom: 10px;
  }
  .printing-text__wrap {
    margin-bottom: 24px;
  }
  .printing-items__box {
    margin-bottom: 16px;
    padding: 16px;
  }
  .printing-items__box h3 {
    font-size: 17px;
    margin-bottom: 8px;
  }
  .printing-items__box ._text {
    padding: 16px;
    border-radius: 10px 0 0 0;
  }
  .printing-items__box h4 {
    font-size: 16px;
    margin-bottom: 10px;
    font-weight: 500;
  }
  .printing-items__box p {
    font-weight: 400;
    line-height: 1.8;
    margin-left: 0;
  }
  .printing-items__box ._image {
    bottom: 16px;
    right: 16px;
    width: 100px;
  }
}
/* 固定ページ
* --------------------------------------- */
.common-page__post h2 {
  margin-top: 2em;
  margin-bottom: .3em;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  background: linear-gradient(transparent 75%, #C6332D80 75%);
  font-size: 27px;
  display: inline-block;
  margin-left: 20px;
  margin-right: 20px;
  line-height: 1.5;
}
.common-page__post h3 {
  margin-top: 1em;
  margin-bottom: .5em;
  margin-left: 20px;
  margin-right: 20px;
  padding-left: 26px;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  position: relative;
  font-weight: 400;
  font-size: 21px;
}
.common-page__post h3::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  background: #000;
  border-radius: 50%;
  top: 10px;
  left: 0;
}
.common-page__post ul {
  margin-top: 1em;
  margin-bottom: .5em;
  margin-left: 20px;
  margin-right: 20px;
}
.common-page__post ul li {
  position: relative;
  margin-bottom: 5px;
  padding-left: 20px;
  box-sizing: border-box;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-weight: 400;
}
.common-page__post ul li::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  background: #000;
  border-radius: 50%;
  top: 13px;
  left: 0;
}
.common-page__post ol {
  margin-top: 1em;
  margin-bottom: .5em;
  margin-left: 20px;
  margin-right: 20px;
}
.common-page__post ol li {
  list-style-type: decimal;
  margin-bottom: 5px;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-weight: 400;
}
.common-page__post ol {
  padding-left: 20px;
  margin-left: 20px;
  margin-right: 20px;
}
.common-page__post p {
  margin-bottom: 1.5em;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  margin-left: 20px;
  margin-right: 20px;
  font-weight: 400;
  line-height: 2;
}
.common-page__post a {
  display: inline-block;
  text-decoration: underline;
  color: #14589B;
  padding: 0 5px;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-weight: 400;
}
.common-page__post a:hover {
  text-decoration: none;
}
.common-page__post img {
  max-width: 100%;
  height: auto;
}
.common-page__btn {
  margin-top: 60px;
}
.common-page__btn a {
  background-color: #C6332D;
  color: #fff;
  width: 300px;
  margin: 0 auto;
  padding: 5px 10px;
  box-sizing: border-box;
  border-radius: 16px 0 0 0;
  text-align: center;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-size: 25px;
  font-weight: 400;
}
.common-outline__wrap {
  background-color: #D9D9D980;
  border-radius: 60px 0 0 0;
  padding: 32px 46px;
  margin-bottom: 64px;
}
.common-outline__wrap span {
  font-size: 20px;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  padding-bottom: 8px;
  margin-bottom: 16px;
  border-bottom: solid 1.5px #000;
  display: block;
}
.common-outline__wrap ul li a {
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-weight: 400;
}
.common-outline__wrap ul li:not(:last-child) {
  margin-bottom: 8px;
}
.common-outset__wrap {
  margin-bottom: 46px;
}
.common-outset__wrap h2 {
  margin-top: .5em;
  margin-bottom: .5em;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-size: 40px;
  border-bottom: double 6px #000;
  padding: 0 20px;
}
.common-outset__wrap p {
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  margin-left: 20px;
  margin-right: 20px;
  font-weight: 400;
  line-height: 2;
}
.post-items__block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px 0;
}
.post-items__text {
  width: 55%;
}
.post-items__image {
  width: 43%;
}
@media screen and (max-width: 768px) {
  .common-page__post p {
    margin-bottom: .8em;
    margin-left: 0;
    margin-right: 0;
  }
  .common-page__post h2 {
    font-size: 17px;
    margin-left: 0;
    margin-right: 0;
    margin-top: 3em;
  }
  .common-page__post h3 {
    margin-bottom: .8em;
    margin-left: 0;
    margin-right: 0;
    padding-left: 22px;
    font-size: 17px;
  }
  .common-page__post h3::before {
    width: 15px;
    height: 15px;
    top: 9px;
  }
  .common-page__post ul {
    margin-top: .5em;
    margin-left: 0;
    margin-right: 0;
  }
  .common-page__post ul li::before {
    width: 5px;
    height: 5px;
    top: 12px;
  }
  .common-page__post ul li {
    padding-left: 12px;
  }
  .common-page__btn a {
    width: 240px;
    border-radius: 10px 0 0 0;
    font-size: 18px;
  }
  .common-outline__wrap {
    border-radius: 20px 0 0 0;
    padding: 24px;
    margin-bottom: 52px;
  }
  .common-outline__wrap span {
    font-size: 15px;
  }
  .common-outset__wrap {
    margin-bottom: 24px;
  }
  .common-outset__wrap h2 {
    font-size: 21px;
    padding: 0 0 8px;
  }
  .common-outset__wrap p {
    margin-left: 0;
    margin-right: 0;
    line-height: 1.8;
  }
  .post-items__text {
    width: 100%;
  }
  .post-items__image {
    width: 80%;
    margin: 0 auto;
  }
}
/* 詳細
* --------------------------------------- */
.post-single__group {
  padding-top: 100px;
}
.common-single__post h1 {
  color: #C6332D;
  margin-bottom: 24px;
  ;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-size: 45px;
}
.common-single__post h2 {
  margin-bottom: .5em;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-size: 40px;
  border-bottom: double 6px #000;
}
.common-single__post h3 {
  margin-top: 2em;
  margin-bottom: .5em;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  background: linear-gradient(transparent 75%, #F7DF22 75%);
  font-size: 27px;
  color: #C6332D;
  display: inline-block;
  line-height: 1.5;
}
.common-single__post ul {
  margin-bottom: .5em;
}
.common-single__post ul li {
  position: relative;
  margin-bottom: 5px;
  padding-left: 20px;
  box-sizing: border-box;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-weight: 400;
}
.common-single__post ul li::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  background: #000;
  border-radius: 50%;
  top: 13px;
  left: 0;
}
.common-single__post ol {
  margin-top: 1em;
  margin-bottom: .5em;
}
.common-single__post ol li {
  list-style-type: decimal;
  margin-bottom: 5px;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-weight: 400;
}
.common-single__post ol {
  padding-left: 20px;
  margin-left: 20px;
  margin-right: 20px;
}
.common-single__post p {
  margin-bottom: 1.5em;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-weight: 400;
  line-height: 2;
}
.common-single__post a {
  display: inline-block;
  text-decoration: underline;
  color: #14589B;
  padding: 0 5px;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-weight: 400;
}
.common-single__post a:hover {
  text-decoration: none;
}
.common-single__post img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .common-single__post h2 {
    font-size: 21px;
    padding: 0 0 8px;
  }
  .common-single__post p {
    margin-bottom: .8em;
  }
  .common-single__post h3 {
    font-size: 17px;
  }
  .common-single__post ul li::before {
    width: 5px;
    height: 5px;
    top: 12px;
  }
  .common-single__post ul li {
    padding-left: 12px;
  }
  .common-single__post h1 {
    margin-bottom: 16px;
    font-size: 28px;
  }
  .post-single__group {
    padding-top: 80px;
  }
}
/*古物商
* --------------------------------------- */
.curio-items__block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 46px 0
}
.curio-items__box {
  width: 48%;
  border: solid .3px #acacac;
  position: relative;
  padding: 32px;
  box-sizing: border-box;
  background-color: #ffffff85;
}
.curio-items__box::after {
  content: '';
  display: inline-block;
  width: 35px;
  height: 76px;
  background-image: url(../img/deco-bottom.svg);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  bottom: -2px;
  right: -1px;
  background-repeat: no-repeat;
}
.curio-items__box::before {
  content: '';
  display: inline-block;
  width: 35px;
  height: 76px;
  background-image: url(../img/deco-top.svg);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: -1px;
  left: 0;
  background-repeat: no-repeat;
  z-index: 2;
}
.curio-items__box h2 {
  color: #C6332D;
  font-size: 22px;
  margin-bottom: 16px;
  font-weight: 500;
}
.curio-items__inner p {
  font-weight: 400;
  background-color: #00000014;
  padding: 23px;
  border-radius: 20px 0 0 0;
  line-height: 2.2;
}
@media screen and (max-width: 768px) {
  .curio-items__box {
    width: 100%;
    padding: 16px;
  }
  .curio-items__box h2 {
    font-size: 16px;
    margin-bottom: 8px;
  }
  .curio-items__box p {
    padding: 16px;
    border-radius: 10px 0 0 0;
    line-height: 2;
    min-height: auto;
  }
  .curio-items__block {
    gap: 16px 0;
  }
  .curio-items__box::after {
    width: 26px;
    height: 53px;
    bottom: -1px;
    right: -2px;
  }
  .curio-items__box::before {
    width: 26px;
    height: 53px;
    top: -1px;
    left: -1px;
  }
}
/* パンくず
* --------------------------------------- */
.breadcrumbs-items__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0 7px;
  margin: 20px 0;
}
.breadcrumbs-items__wrap span, .breadcrumbs-items__wrap a {
  font-size: 16px;
  font-weight: 400;
}
.breadcrumbs-items__wrap span[property="name"] {
  display: inline-block;
  padding: 0;
  margin-top: -3px;
  vertical-align: middle;
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 789px) {
  .breadcrumbs-items__wrap span, .breadcrumbs-items__wrap a {
    font-size: 14px;
  }
  .breadcrumbs-items__wrap {
    justify-content: flex-start;
  }
}
/* ページング
* --------------------------------------- */
.single-peger-items {
  display: flex;
  justify-content: center;
  margin-top: 50px;
  gap: 0 15px;
}
.single-peger-items .pre a {
  border: solid 1px #C6332D;
  background-color: #C6332D;
  color: #fff;
}
.single-peger-items .next a {
  border: solid 1px #C6332D;
  background-color: #C6332D;
  color: #fff;
}
.single-peger-items li:nth-child(2) a {
  background-color: #000;
  color: #fff;
  border: solid 1px #000;
}
.single-peger-items li a {
  width: 80px;
  text-align: center;
  padding: 8px 0;
  font-size: 14px;
}
.single-peger-items li a:hover {
  background-color: #C6332D;
  border: solid 1px #C6332D;
  opacity: 1;
}
.wp-pagenavi .pages {
  display: none;
}
.wp-pagenavi {
  display: flex;
  justify-content: center;
  margin-top: 50px;
  gap: 0 10px;
}
.wp-pagenavi .current {
  background-color: #C6332D;
  border: solid 1px #C6332D;
  color: #fff;
  width: 44px;
  text-align: center;
  padding: 6px 0;
}
.wp-pagenavi a {
  border: solid 1px #2DB6ED;
  background-color: #2DB6ED;
  color: #fff;
  width: 44px;
  text-align: center;
  padding: 6px 0;
}
.wp-pagenavi a:hover {
  background-color: #C6332D;
  border: solid 1px #C6332D;
  opacity: 1;
}
.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
  width: 80px;
  font-size: 14px;
  padding: 8px 0;
}
@media screen and (max-width: 769px) {
  .single-peger-items li a {
    width: 80px;
  }
  .wp-pagenavi a {
    font-size: 14px;
    width: 33px;
    padding: 7px 0;
  }
  .wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
    width: 60px;
    font-size: 13px;
    padding: 7px 0;
  }
  .wp-pagenavi .current {
    font-size: 13px;
    width: 33px;
    padding: 7px 0;
  }
  .single-peger-items {
    margin-top: 30px;
  }
  .wp-pagenavi {
    display: flex;
    justify-content: center;
    margin-top: 35px;
  }
}
@media screen and (max-width: 426px) {
  .single-peger-items li a {
    width: 73px;
  }
}
/* お問い合わせ
* --------------------------------------- */
.form-items__text {
  margin-bottom: 100px;
  font-weight: 400;
}
.contactform-label {
  display: flex;
  flex-direction: column;
}
.contactform-label li {
  font-weight: 400;
  font-size: 15px;
}
.contact-list.row.none {
  margin-bottom: 0;
}
.contactform-label .contact-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 32px;
}
.contactform-label .contact-list ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: normal;
}
.contactform-label .contact-list dd {
  background-color: lightgray; /* map-get($colors, lightgray) の代替 */
}
.contactform-label .contact-list dd input {
  height: 100%;
  width: 100%;
  padding: 0.5rem;
  box-sizing: border-box;
}
.contactform-label .contact-list dd textarea {
  height: 100%;
  width: 100%;
  padding: 1rem;
  box-sizing: border-box;
}
.contact-policy {
  height: 300px;
  overflow-y: scroll;
  font-size: 0.9rem;
  padding: 1rem;
  text-align: justify;
  border: 1px solid gray; /* map-get($colors, gray) の代替 */
  margin-bottom: 4rem;
  margin-top: 4rem;
}
.contact-policy .heading-3 {
  color: #C6332D;
  font-weight: 500;
  margin-bottom: 16px;
}
.contact-policy .heading-5 {
  font-weight: 500;
}
.sub-item {
  display: block;
  font-size: 0.9rem;
  font-weight: normal;
  letter-spacing: 0.2rem;
}
.col-5 {
  width: 38%;
}
.col-7 {
  width: 60%;
}
.contact-required {
  color: #ff6f61;
  font-weight: 400;
}
.contact-any {
  color: #ccc;
  font-weight: 400;
}
.submit-btn {
  width: 100%;
  max-width: 160px;
  margin: 32px auto 0;
}
.wpcf7 .wpcf7-submit:disabled {
  cursor: not-allowed;
}
.submit-btn input {
  background: #ccc;
  font-size: 18px;
  color: #fff;
  border: none;
  width: 100%;
  padding: 20px 0;
}
.wpcf7-spinner {
  display: none !important;
}
.wpcf7-list-item {
  margin: 0 !important;
}
.wpcf7-acceptance span.wpcf7-list-item-label {
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .form-items__text {
    margin-bottom: 60px;
  }
  .col-5 {
    width: 100%;
  }
  .col-7 {
    width: 100%;
  }
  .sub-item {
    font-size: 10px;
  }
  .contactform-label .contact-list {
    gap: 10px 0;
  }
  .contact-required {
    font-size: 14px;
  }
  .contact-policy {
    margin-bottom: 32px;
    margin-top: 32px;
  }
  .submit-btn input {
    font-size: 16px;
    padding: 18px 0;
  }
  .contactform-label li {
    font-size: 13px;
  }
  .contact-policy .heading-5 {
    margin-bottom: 10px;
  }
}
/* アニメーション
* --------------------------------------- */
html {
  scroll-behavior: auto;
}
.site-header {
  transform: translateZ(0);
  will-change: transform;
}
/* --- Reveal base --- */
/* 下からふわっと（デフォルト=up） */
.reveal {
  opacity: 0;
  transform: translateY(28px) scale(.96);
  transition-property: opacity, transform, filter;
  transition-duration: var(--reveal-dur, 1.1s);
  transition-timing-function: cubic-bezier(.2, .8, .2, 1);
  filter: blur(var(--reveal-blur, 8px));
  will-change: opacity, transform, filter;
}
.reveal.is-inview {
  opacity: 1;
  transform: none;
  filter: blur(0);
}
/* 方向バリアント（必要なら） */
.reveal[data-reveal="up"] {
  transform: translateY(28px) scale(.96);
}
.reveal[data-reveal="up"].is-inview {
  transform: none;
}
.reveal[data-reveal="up-zoom"] {
  transform: translateY(32px) scale(.92);
}
.reveal[data-reveal="up-zoom"].is-inview {
  transform: none;
}
/* 既存の左右演出を残す場合は任意で */
.reveal[data-reveal="left"] {
  transform: translateX(28px) scale(.96);
}
.reveal[data-reveal="left"].is-inview {
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    filter: none !important;
  }
}