@charset "utf-8";

@keyframes flash  {
  0%,
  100%  {
    opacity: 1;
  }
  49.9% {
    opacity: 1;
  }
  50%,
  99.9% {
    opacity: 0;
  }


}

html {
  height: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  height: 100%;
  font: 14px/1.231 YuGothic, '游ゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
  font-weight: 500;
  font-feature-settings: "palt";
  line-height: 1.8;
  letter-spacing: .08em;
  *font-size: small;
  *font: x-small;
  color: #303030;
  -webkit-font-smoothingv: antialiased;
  word-break: break-word;
}
body.modal_set {
  overflow: hidden;
}

@media all and (-ms-high-contrast:none) {
  body {
    font-family: "メイリオ", Meiryo, 'Lato', YuGothic, '游ゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
  }
}

::selection {
  background-color: #f8952b;
}

*,
*:after,
*::before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

ul,
ol {
  list-style: none;
}

small {
  font-size: 86%;
}

a {
  color: #333;
  text-decoration: none;
  transition: .2s ease-out;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  outline: none;
}

a:hover {
  color: #543c1a;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  transition: all 0.4s ease-out;
}

.mgn-btm8 {
  margin-bottom: 8px;
}

.mgn-btm16 {
  margin-bottom: 16px;
}

.mgn-btm24 {
  margin-bottom: 24px;
}

.mgn-btm32 {
  margin-bottom: 32px;
}

.mgn-btm40 {
  margin-bottom: 40px;
}

.mgn-btm48 {
  margin-bottom: 48px;
}

.mgn-btm56 {
  margin-bottom: 56px;
}

.mgn-btm64 {
  margin-bottom: 64px;
}

.mgn-btm72 {
  margin-bottom: 72px;
}

.mgn-btm80 {
  margin-bottom: 80px;
}

.mgn-btm100 {
  margin-bottom: 100px;
}

.flx {
  display: flex;
}

.fl-ctr {
  justify-content: center;
}

.fl-bw {
  justify-content: space-between;
}

.fl-ali {
  align-items: center;
}

.flt-rgt {
  float: right;
}

.flt-lft {
  float: left;
}

.anker {
  margin-top: -100px;
  padding-top: 100px;
}

address {
  font-style: normal;
}

.fnt-10 {
  font-size: 71%;
}

.fnt-12 {
  font-size: 85%;
}

.fnt-16 {
  font-size: 114%;
}

.fnt-18 {
  font-size: 128%;
}

.fnt-20 {
  font-size: 142%;
}

.fnt-22 {
  font-size: 157%;
}

.fnt-24 {
  font-size: 171%;
}

.fnt-26 {
  font-size: 185%;
}

.fnt-28 {
  font-size: 200%;
}

.fnt-30 {
  font-size: 214%;
}

.fnt-32 {
  font-size: 228%;
}

.fnt-34 {
  font-size: 242%;
}

.fnt-40 {
  font-size: 285%;
}

.txt-rd {
  color: #e30000;
}

.txt-brw {
  color: #543c1a;
}

.txt-wh {
  color: #fff;
}

.txt-bld {
  font-weight: bold;
}

.txt-ctr {
  text-align: center;
}

.txt-rgt {
  text-align: right;
}

.fll-org-lgt {
  fill: #ffcf7e;
}

.fll-org {
  fill: #ffbb48;
}

.fll-org-sat {
  fill: #f8952b;
}

.fll-wh {
  fill: #fff;
}

.fll-brw {
  fill: #543c1a;
}

.shinmgo {
  font-family: 新丸ゴ R;
}

.suzumushi {
  font-family: すずむし;
}

.anti_alias {
  -ms-transform: rotate(0.05deg);
  transform: rotate(0.05deg);
}

.anti_alias05 {
  -ms-transform: rotate(0.5deg);
  transform: rotate(0.5deg);
}

.line-wave {
  padding-bottom: 1em;
  background: url(/wp/wp-content/themes/original_theme/images/common/line_wave_rd.png) 0 22px repeat-x;
}

.line-wave-bld {
  padding-bottom: 14px;
  background: url(/wp/wp-content/themes/original_theme/images/common/line_wave_rd_bld.png) repeat-x;
  background-size: 15px;
  background-position: left 27px;
}

.bg-rd {
  background-color: #e30000;
}

.bg-org-md {
  background-color: #ffbb48;
}

.bg-org-lgt {
  background-color: #ffcf7e;
}

.bg-org-lgt {
  background-color: #ffcf7e;
}

.bg-org-sat {
  background-color: #f8952b;
}

.bg-wh {
  background-color: #fff;
}

.bg-bge {
  background-image: url(/wp/wp-content/themes/original_theme/images/common/pt01.jpg);
}

.bg-brw {
  background-image: url(/wp/wp-content/themes/original_theme/images/common/pt02.jpg);
}

.bg-org-lgt {
  background-image: url(/wp/wp-content/themes/original_theme/images/common/pt_main.jpg);
}

.bg-org {
  background-image: url(/wp/wp-content/themes/original_theme/images/common/pt03.jpg);
}

.pc-none {
  display: none;
}

.sp-none {
  display: block;
}

-webkit-text-size-adjust: none;

@media (min-width: 768px) {
  @-moz-document url-prefix() {
    * {
      font-feature-settings: "palt";
    }
  }

  @media screen and (-webkit-min-device-pixel-ratio:0) {
    * {
      font-feature-settings: "palt";
    }
  }
}

@media (max-width: 767px) {
  body {
    font-size: 13px;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  .mgn-btm8 {
    margin-bottom: 4px;
  }

  .mgn-btm16 {
    margin-bottom: 8px;
  }

  .mgn-btm24 {
    margin-bottom: 16px;
  }

  .mgn-btm32 {
    margin-bottom: 16px;
  }

  .mgn-btm40 {
    margin-bottom: 24px;
  }

  .mgn-btm48 {
    margin-bottom: 24px;
  }

  .mgn-btm56 {
    margin-bottom: 32px;
  }

  .mgn-btm64 {
    margin-bottom: 32px;
  }

  .mgn-btm72 {
    margin-bottom: 40px;
  }

  .mgn-btm80 {
    margin-bottom: 40px;
  }

  .mgn-btm100 {
    margin-bottom: 50px;
  }

  .sp-none {
    display: none;
  }

  .pc-none {
    display: block;
  }

  .pdg_lft5p {
    padding-left: 5%;
  }

  .pdg_rgt5p {
    padding-right: 5%;
  }

  .line-wave-bld {
    background-size: 13px;
    background-position: left 20px;
  }
}


/* =====================================================================================

    COMMON

===================================================================================== */

.breadcrumbs {
  padding-top: 5px;
  background-color: #ffedcf;
  font-size: 92%;
  padding-bottom: 5px;
}

/* layout
 **************************************** */
.wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* --- inner --- */
.inner {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

.inner-sm {
  max-width: 800px;
}

.inner-lg {
  max-width: 1400px;
}

.section_pdg {
  padding-top: 120px;
  padding-bottom: 120px;
}

@media (max-width: 1400px) {
  .inner-lg {
    width: 94%;
  }
}

@media (max-width: 767px) {
  .inner {
    width: 90%;
  }

  .inner .inner {
    width: 100%;
  }

  .section_pdg {
    padding-top: 20vw;
    padding-bottom: 20vw;
  }
}

/* header
 **************************************** */
.page_ttl {
  padding-top: 120px;
  padding-bottom: 60px;
  color: #543c1a;
  text-align: center;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/pt01.jpg);
}

.page_ttl.flag::before,
.page_ttl.flag::after {
  width: 14vw;
  height: 6vw;
  background-size: cover;
}

.page_ttl-jp {
  position: relative;
  z-index: 1;
  display: block;
  font-size: 285%;
  font-family: すずむし;
  line-height: 1.2;
}

.page_ttl-eng {
  position: relative;
  z-index: 1;
  color: #e30000;
  font-size: 128%;
  font-family: 'Libre Baskerville';
  text-transform: uppercase;
}

.page_ttl .inner {
  position: relative;
}

.page_ttl svg {
  position: absolute;
  top: 0;
  left: 50%;
  width: 65px;
  height: 100px;
  z-index: 0;
  transform: translate(-50%);
}

@media (max-width: 767px) {
  .page_ttl {
    padding-top: 50px;
  }

  .page_ttl.flag::before,
  .page_ttl.flag::after {
    width: 32vw;
    height: 13vw;
  }
}

/* service_header
 **************************************** */
.service_header {
  height: 700px;
  padding-top: 120px;
  background: url(/wp/wp-content/themes/original_theme/images/common/bg_subttl_img01.jpg) top center no-repeat;
  background-size: cover;
}

.service_header .inner {
  position: relative;
  height: 100%;
}

.service_header .page_ttl {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  width: 37%;
  padding: 40px;
  text-align: left;
  letter-spacing: 2px;
  border-radius: 20px;
  transform: translateY(-50%);
}

.page-spearkey .service_header .page_ttl {
  background: #22998c url(/wp/wp-content/themes/original_theme/images/spearkey/bg_subttl.png) right 20% bottom 20% no-repeat;
}

.page-unlock .service_header .page_ttl {
  background: #0da6bc url(/wp/wp-content/themes/original_theme/images/unlock/bg_subttl.png) right 20% bottom 20% no-repeat;
}

.page-house .service_header .page_ttl {
  background: #0da6bc url(/wp/wp-content/themes/original_theme/images/house/bg_subttl.png) right 20% bottom 20% no-repeat;
}

.page-safe .service_header .page_ttl {
  background: #0da6bc url(/wp/wp-content/themes/original_theme/images/safe/bg_subttl.png) right 20% bottom 20% no-repeat;
}

.page-car .service_header .page_ttl {
  background: #0da6bc url(/wp/wp-content/themes/original_theme/images/car/bg_subttl.png) right 20% bottom 20% no-repeat;
}

.page-repair .service_header .page_ttl {
  background: #f8952b url(/wp/wp-content/themes/original_theme/images/repair/bg_subttl.png) right 20% bottom 20% no-repeat;
}

.service_header .page_ttl h1 {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #f8952b;
}

.page-repair .page_ttl h1 {
  border-bottom: 1px solid #ffcf7e;
}

.service_header .page_ttl .page_ttl-jp {
  display: block;
  margin-bottom: 15px;
  color: #fff;
  font-size: 442%;
  font-family: すずむし;
  line-height: 1;
}

.page-safe .service_header .page_ttl .page_ttl-jp {
  font-size: 407%;
  letter-spacing: 0;
}

.page-repair .service_header .page_ttl .page_ttl-jp {
  font-size: 307%;
  letter-spacing: 0;
}

.service_header .page_ttl .page_ttl-eng {
  color: #bfe0dc;
  font-size: 114%;
  font-family: 'Libre Baskerville';
}

.page-unlock .service_header .page_ttl .page_ttl-eng,
.page-house .service_header .page_ttl .page_ttl-eng,
.page-safe .service_header .page_ttl .page_ttl-eng,
.page-car .service_header .page_ttl .page_ttl-eng {
  color: #b5dbe1;
}

.page-repair .service_header .page_ttl .page_ttl-eng {
  color: #ffcf7e;
}

.service_header .page_ttl p {
  color: #fff;
  font-size: 164%;
  font-family: 新丸ゴ R;
}

.service_header img {
  position: absolute;
  top: 50%;
  right: 0;
  width: 69%;
  border-radius: 30px;
  transform: translateY(-50%);
}

/* --- intro --- */
.intro {
  padding-top: 70px;
  padding-bottom: 70px;
}

@media (max-width: 767px) {
  .service_header {
    height: auto;
    padding-top: 0;
    padding-bottom: 30px;
  }

  .service_header .inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: 100%;
  }

  .service_header .page_ttl {
    position: relative;
    top: initial;
    left: initial;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: -10vw;
    padding: 8%;
    text-align: center;
    transform: none;
  }

  .page-safe .service_header .page_ttl .page_ttl-jp {
    font-size: 385%;
  }

  .service_header .page_ttl .page_ttl-jp {
    font-size: 307%;
  }

  .service_header img {
    position: relative;
    right: initial;
    width: 100%;
    order: -1;
    border-radius: 0;
    transform: none;
  }
}

/* link
 **************************************** */

.link {
  display: inline-block;
  position: relative;
  padding-top: 15px;
  padding-bottom: 15px;
  color: #fff;
  text-align: center;
  font-family: 新丸ゴ R;
  border-radius: 5px;
  background-color: #543c1a;
  border: 1px solid #6d6348;
}

.link::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: rotate(45deg) translateY(-50%);
}

.link:hover {
  color: #fff;
  transform: scale(1.2);
  transition: .2s;
}

.link span {
  display: inline-block;
}

.link_wh {
  color: #543c1a;
  background: none;
  border: 1px solid #543c1a;
}

.link_wh::after {
  border-right: 1px solid #543c1a;
  border-top: 1px solid #543c1a;
}

.link-back {
  display: inline-flex;
  align-items: center;
  padding: 10px 25px;
  color: #fff;
  text-align: center;
  font-family: 新丸ゴ R;
  border-radius: 5px;
  background-color: #543c1a;
  border: 1px solid #543c1a;
}

.link-back:hover {
  color: #543c1a;
  background-color: #fff;
}

.link-back:hover::before {
  border-bottom: 2px solid #543c1a;
  border-left: 2px solid #543c1a;
}

.link-back::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  margin-right: 10px;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  transform: rotate(45deg);
}

.link.link_wh:hover {
  color: #543c1a;
}

.link-txt {
  display: inline-flex;
  align-items: center;
}

.link-txt:hover {
  opacity: .5;
}

.link-txt::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
}

.link-txt.lft::after {
  order: -1;
  margin-right: 10px;
  border-bottom: 2px solid #000;
  border-left: 2px solid #000;
}

.link-txt.rgt::after {
  margin-left: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
}

.external {
  display: inline-flex;
  align-items: center;
  border-bottom: transparent 1px solid;
}

.external img {
  margin-right: 8px;
}

.external:hover {
  border-bottom: 1px solid #543c1a;
}

.external::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  margin-left: 10px;
  background: url(/wp/wp-content/themes/original_theme/images/common/external.svg) right center no-repeat;
}


/* section_ttl
 **************************************** */

.section_ttl {
  position: relative;
  font-family: すずむし;
  font-weight: normal;
  line-height: 1.6;
  letter-spacing: .1em;
}

.section_ttl:not(.small) {
  margin-bottom: 80px;
}

.section_ttl:not(.small) span {
  font-size: 414%;
  letter-spacing: 8px;
  line-height: 1.3;
}

.section_ttl span,
.section_ttl::after {
  position: relative;
  z-index: 2;
}

.section_ttl span {
  color: #543c1a;
}

.section_ttl span::after {
  position: relative;
  z-index: 2;
  display: block;
  font-size: 1rem;
  content: attr(data-ttl);
  color: #e30000;
  font-family: 'Libre Baskerville';
  letter-spacing: 3px;
  text-transform: uppercase;
}

.section_ttl svg,
.page_sub_ttl svg {
  position: absolute;
  z-index: 1;
}

.section_ttl .key {
  top: 50%;
  left: calc(50% - 6px);
  width: 81px;
  height: 157px;
  transform: translateX(-50%) translateY(-50%);
}

.section_ttl .key.small {
  width: 73px;
  height: 141px;
}

.light {
  width: 168px;
  height: 70px;
  fill: #543c1a;
  transform: translateX(-50%);
}

.light--efct {
  position: absolute;
  left: 50%;
  animation-delay: .2s;
  z-index: 1;
}

.section_ttl .light {
  top: -100px;
  left: 50%;
}

.page_sub_ttl .light {
  top: -70px !important;
}

.light.small {
  top: -80px;
  width: 133px;
  height: 55px;
}

.section_ttl.small {
  display: flex;
  margin-bottom: 30px;
}

.section_ttl.small span {
  font-size: 300%;
  line-height: 1;
}

.section_ttl.small span::after {
  margin-top: 10px;
  font-size: .9rem;
}

.section_ttl .key_small {
  position: relative;
  top: 0;
  left: 0;
  width: 47px;
  height: 73px;
  margin-right: 10px;
  order: -1;
}

.section_ttl:not(.small) {
  display: flex;
  justify-content: center;
  text-align: center;
}

@media (max-width: 767px) {
  .light.small {
    width: 94px;
    height: 39px;
  }

  .page_sub_ttl .light {
    top: -50px !important;
  }

  .section_ttl:not(.small) {
    margin-bottom: 10vw;
  }

  .section_ttl:not(.small) span {
    font-size: 307% !important;
    letter-spacing: 1px;
    line-height: 1;
  }

  .section_ttl span::after {
    margin-top: 10px;
  }
}

/* key_img, dog_img, cloud, light_img, car_img, flag
 **************************************** */

/* --- key_img --- */
.key_img>p {
  position: absolute;
  z-index: 1;
}

.key_img>p::after {
  content: "";
  display: block;
  animation: key 3s infinite;
}

.key_img-one01 p:nth-child(1)::after {
  width: 56px;
  height: 98px;
  background-image: url(/wp/wp-content/themes/original_theme/images/img_main_key01.png);
}

.key_img-one01 p:nth-child(2)::after {
  width: 69px;
  height: 98px;
  background-image: url(/wp/wp-content/themes/original_theme/images/img_main_key02.png);
}

.key_img-one01 p:nth-child(3)::after {
  width: 59px;
  height: 112px;
  background-image: url(/wp/wp-content/themes/original_theme/images/img_main_key03.png);
}

.key_img-one02 p:nth-child(1)::after {
  width: 77px;
  height: 107px;
  background-image: url(/wp/wp-content/themes/original_theme/images/img_sub_key01.png);
}

.key_img-one02 p:nth-child(2)::after {
  width: 56px;
  height: 118px;
  background-image: url(/wp/wp-content/themes/original_theme/images/img_sub_key02.png);
}

.key_img-one02 p:nth-child(3)::after {
  width: 112px;
  height: 116px;
  background-image: url(/wp/wp-content/themes/original_theme/images/img_sub_key03.png);
}

.key_img-one02 p:nth-child(4)::after {
  width: 78px;
  height: 135px;
  background-image: url(/wp/wp-content/themes/original_theme/images/img_sub_key04.png);
}

.key_img-one02 p:nth-child(5)::after {
  width: 81px;
  height: 127px;
  background-image: url(/wp/wp-content/themes/original_theme/images/img_sub_key05.png);
}

.key_img-one02 p:nth-child(6)::after {
  width: 66px;
  height: 113px;
  background-image: url(/wp/wp-content/themes/original_theme/images/other_service01.png);
}

.key_img-one02 p:nth-child(7)::after {
  width: 89px;
  height: 141px;
  background-image: url(/wp/wp-content/themes/original_theme/images/other_service02.png);
}

.key_img-one03 p:nth-child(1)::after {
  width: 66px;
  height: 113px;
  background-image: url(/wp/wp-content/themes/original_theme/images/other_service01.png);
}

.key_img-one03 p:nth-child(2)::after {
  width: 89px;
  height: 141px;
  background-image: url(/wp/wp-content/themes/original_theme/images/other_service02.png);
}

.key_img-set01 p:nth-child(1)::after {
  width: 147px;
  height: 291px;
  background-image: url(/wp/wp-content/themes/original_theme/images/img_area_key01.png);
}

.key_img-set01 p:nth-child(2)::after {
  width: 156px;
  height: 379px;
  background-image: url(/wp/wp-content/themes/original_theme/images/img_area_key02.png);
}

.key_img-set02 p:nth-child(1)::after {
  width: 134px;
  height: 325px;
  background-image: url(/wp/wp-content/themes/original_theme/images/spearkey/img_case_key01.png);
}

.key_img-set02 p:nth-child(2)::after {
  width: 138px;
  height: 456px;
  background-image: url(/wp/wp-content/themes/original_theme/images/spearkey/img_case_key02.png);
}

@keyframes key {
  0% {
    transform: rotate(0deg);
  }

  50% {
    transform: rotate(0deg);
  }

  51% {
    transform: rotate(-30deg);
  }

  100% {
    transform: rotate(-30deg);
  }
}

.key_img>p:nth-child(2n)::after {
  animation: key 3s reverse infinite;
}

/* --- dog_img --- */
.dog_img {
  position: absolute;
}

.dog_img::after {
  content: "";
  display: block;
  background-size: cover;
  background-repeat: no-repeat;
}

.dog_img01::after {
  width: 105px;
  height: 187px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/chara_dog01.svg);
}

.dog_img02::after {
  width: 175px;
  height: 317px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/chara_dog02.svg);
}

.dog_img03::after {
  width: 82px;
  height: 182px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/chara_dog03.svg);
}

.dog_img04::after {
  width: 159px;
  height: 231px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/chara_dog04.svg);
}

.dog_img05::after {
  width: 104px;
  height: 186px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/chara_dog05.svg);
}

.dog_img06::after {
  width: 164px;
  height: 328px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/chara_dog06.svg);
}

/* --- cloud_img --- */
.cloud_img {
  position: absolute;
  width: 30px;
  height: 26px;
  background: url(/wp/wp-content/themes/original_theme/images/common/cloud.png) left bottom no-repeat;
}

.light_img {
  position: absolute;
  width: 29px;
  height: 27px;
  background: url(/wp/wp-content/themes/original_theme/images/common/light.png) left bottom no-repeat;
}

/* --- car_img --- */
@keyframes car {
  0% {
    margin-top: 0;
    margin-right: 0;
  }

  33% {
    margin-top: 0;
    margin-right: 0;
  }

  34% {
    margin-top: 5px;
    margin-right: 10px;
  }

  66% {
    margin-top: 5px;
    margin-right: 10px;
  }

  67% {
    margin-top: 10px;
    margin-right: 15px;
  }

  100% {
    margin-top: 10px;
    margin-right: 15px;
  }
}

.car_img {
  position: absolute;
  width: 510px;
  height: 318px;
  background: url(/wp/wp-content/themes/original_theme/images/img_car.png) no-repeat;
  animation: car 1s infinite alternate;
}

/* --- flag --- */
.flag:before,
.flag:after {
  content: "";
  position: absolute;
  top: 0;
  display: block;
  width: 324px;
  height: 135px;
  z-index: 0;
  background: url('/wp/wp-content/themes/original_theme/images/flag.png') left top no-repeat;
}

.flag:before {
  left: 0;
  transform: scale(-1, 1);
}

.flag:after {
  right: 0;
}

@media (max-width: 1080px) {

  .flag:before,
  .flag:after {
    width: 22vw;
    height: 9vw;
    background-size: cover;
  }
}

@media (max-width: 767px) {

  .flag:before,
  .flag:after {
    width: 32vw;
    height: 17vw;
  }
}

/* efct
 **************************************** */
.efct_act {
  animation-name: pon;
  animation-duration: .5s;
  animation-fill-mode: forwards;
}

.efct_parents>*:nth-child(1) {
  animation-delay: .2s;
}

.efct_parents>*:nth-child(2) {
  animation-delay: .4s;
}

.efct_parents>*:nth-child(3) {
  animation-delay: .6s;
}

.efct_parents>*:nth-child(4) {
  animation-delay: .8s;
}

@keyframes pon {
  0% {
    opacity: 0;
    transform: scale(0);
  }

  80% {
    transform: scale(1.3);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 1080px) {
  .line_qr {
    display: none;
  }
}

@media (max-width: 767px) {
  .key_img-one01 p:nth-child(1)::after {
    width: 8vw;
    height: 14vw;
    background-size: cover;
  }

  .key_img-one01 p:nth-child(2)::after {
    width: 11vw;
    height: 15vw;
    background-size: cover;
  }

  .key_img-one01 p:nth-child(3)::after {
    width: 8vw;
    height: 15vw;
    background-size: cover;
  }

  .section_ttl .key {
    width: 16vw;
    height: 30vw;
  }

  .section_ttl .key.small {
    width: 14vw;
    height: 26vw;
  }

  .section_ttl .light {
    width: 29vw;
    height: 11vw;
    top: -55px;
  }

  .flx {
    display: block;
  }
}


/* =====================================================================================

    HEADER

===================================================================================== */

.header--address {
  padding-top: 5px;
  padding-bottom: 5px;
  color: #fff;
  font-family: 新丸ゴ R;
  text-align: right;
  background-color: #e30000;
}

.header--address .freedial {
  width: 22px;
  height: 13px;
}

/* gnav
 **************************************** */
 .home .sp_home-link {
  opacity: 0;
  pointer-events: none;
 }
 .home .sp_home-link.header-sm {
  opacity: 1;
  pointer-events: all;
 }
.sp_home-link {
  position: fixed;
  top: 0;
  left: 5px;
  z-index: 9998;
  padding: 10px 20px;
  background: #fff;
  border-radius:  0 0 10px 10px;
  font-family: 新丸ゴ B;
  color: #e30000;
  font-size: 16px;
}
.sp_home-link.active {
  opacity: 0;
  pointer-events: none;
}

.gnav {
  display: flex;
}

.gnav ul {
  display: flex;
  align-items: flex-start;
}

.hone .gnav {
  justify-content: center;
}

.subpage .gnav {
  justify-content: flex-end;
}

.gnav li {
  border-radius: 5px;
  transition: .3s;
}

.gnav li+li {
  margin-left: 1px;
}

.gnav a {
  display: block;
  padding: 8px 12px;
  color: #543c1a;
  font-size: 114%;
  font-family: 新丸ゴ R;
}

.gnav a span {
  display: inline-block;
}

.gnav li:hover {
  background-color: #ffbb48;
}

.gnav--unlock {
  position: relative;
  text-align: center;
}

.gnav--unlock>a {
  padding-left: 30px;
  padding-right: 30px;
}


.head_sub_nav a {
  text-align: center;
  white-space: nowrap;
}

.head_sub_nav,
.gnav--unlock_sub {
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 0;
  z-index: 1;
  display: block !important;
  width: fit-content;
  height: 0;
  padding-top: .5em;
  visibility: hidden;
  opacity: 0;
  list-style: none;
  transition: .3s;
}
.gnav--service > .menu-item-has-children {
  position: relative;
}

.gnav--unlock_sub li:hover {
  background: none;
}

.gnav--unlock_sub li+li {
  padding-top: 2px;
}
.head_sub_nav a,
.gnav--unlock_sub a {
  color: #543c1a !important;
  font-size: 88%;
  border-radius: 5px;
  border: 1px solid #ffbb48;
  background-color: #fff;
}
.head_sub_nav li:first-child a,
.gnav--unlock_sub li:first-child a {
  /* font-size: 82%; */
}
.head_sub_nav a:hover,
.gnav--unlock_sub a:hover {
  background-color: #ffbb48;
  border: 1px solid #fff;
}
.menu-item-has-children:hover .head_sub_nav,
.gnav--unlock:hover .gnav--unlock_sub {
  visibility: visible;
  opacity: 1;
}

.header--nav {
  position: absolute;
  z-index: 99;
  width: 100%;
}

.home .header--nav {
  margin-top: -25px;
}

.subpage .header--nav {
  margin-top: 30px;
}

.header--nav h2 {
  display: none;
}

.subpage .header--nav .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.home .header--nav .header--logo {
  position: absolute;
  left: calc(50% - 202px / 2);
  animation-delay: .2s;
}

.home .header--nav .gnav--company {
  margin-left: 13vw;
}

.home .header--nav .gnav {
  justify-content: center;
  position: absolute;
  top: 50px;
  left: 50%;
  width: calc(100% - 4vw);
  margin-left: 30px;
  transform: translateX(-50%);
}

.gnav--fixed {
  position: fixed;
  top: -73px;
  z-index: 999;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 73px;
  padding-top: 5px;
  padding-bottom: 5px;
  background: #e30000;
  border-bottom: 1px solid #ff3e3e;
  transition: .5s ease-out;
}

.gnav--fixed a {
  color: #fff;
}

.gnav--fixed .gnav a:hover {
  color: #543c1a;
}

.gnav--fixed .gnav--unlock:hover a {
  color: #543c1a;
}

.gnav--fixed.active {
  top: 0;
}

.gnav--fixed.relative {
  transition: .5s ease-out;
}

.gnav--fixed h3 {
  width: 60px;
  margin-right: 20px;
}

.gnav--form {
  margin-left: 8px;
}

.gnav--form a {
  color: #e30000;
  background-color: #fff;
  border-radius: 8px;
}

.gnav--calendar a {
  color: #fff;
  padding: 6px 12px;
  border: 3px solid #fff;
  background-color: #ff1380;
}

.gnav--form span {
  display: inline-block;
}

.subpage .header--logo {
  max-width: 193px;
  flex: 1;
  margin-right: 24px;
}

.gnav--haschild {
  position: relative;
}
.gnav--haschild:hover .gnav--sub_list {
  opacity: 1;
  pointer-events: all;
}


.gnav--sub_list {
  padding-top: 20px;
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 0;
  opacity: 0;
  pointer-events: none;
}

.gnav--sub_list ul{
  border: 1px solid #ffbb48;
  background-color: #fff;
  padding: 10px;
  display: grid;
  row-gap: 10px;
  column-gap: 10px;
  grid-template-columns: 1fr 1fr 1fr;
  border-radius: 10px;
 }
 .gnav--sub_list ul a {
  white-space: nowrap;
  text-align: center;
  font-size: 14px;
 } 
 .flx .gnav--sub_list {
  padding-top: 10px;
}
.flx .gnav--sub_list ul {
  background: #fff;
  border-radius: 10px;
}
.flx .gnav--sub_list a {
  color: #543c1a;
}

@media (max-width: 1400px) {
  .gnav a {
    display: block;
    padding: 8px;
    font-size: 106%;
  }

  .gnav--calendar a {
    padding: 6px 12px;
  }

  .home .header--nav .header--logo {
    width: 150px;
  }

  .home .header--nav .gnav {
    margin-left: 2vw;
  }
}

@media (max-width: 1080px) {
  .gnav a {
    padding: 7px 5px;
    font-size: 105%;
  }

  .gnav--calendar a {
    padding: 4px 6px;
  }

  .gnav--unlock_sub {
    font-size: 92%;
  }

  .gnav--unlock>a {
    padding-left: 26px;
    padding-right: 26px;
  }

  .home .header--nav .gnav {
    margin-left: 0;
    width: 100%;
  }

  .subpage .header--logo {
    width: 170px;
  }

  .subpage .header--nav .inner {
    width: 96%;
  }
}

@media (max-width: 767px) {
  .menu_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .menu_ttl::before {
    margin-right: 10px;
  }

  .menu_ttl::after {
    margin-left: 10px;
  }

  .menu_ttl::before,
  .menu_ttl::after {
    content: "";
    display: block;
    width: 50px;
    height: 1px;
    background-color: #543c1a;
  }

  .header--nav.active {
    display: block !important;
  }

  .header--logo {
    position: relative;
  }

  .gnav--fixed {
    overflow: auto;
    top: -120%;
    z-index: 1000;
    height: 100vh;
    padding-top: 0;
    padding-bottom: 0;
    transition: .4s;
    background-image: url(/wp/wp-content/themes/original_theme/images/common/pt03.jpg);
  }

  .gnav--fixed h3 {
    width: 50vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3vw;
    margin-top: 5vw;
  }

  .gnav {
    display: block;
    text-align: center;
  }

  .gnav a {
    display: flex;
    align-items: center;
    padding: 0;
    font-size: 123%;
  }

  .gnav .gnav--calendar {
    width: 100%;
  }

  .gnav--calendar a {
    border: none;
  }

  .gnav .gnav--service {
    flex-wrap: wrap;
    margin-left: 5%;
    margin-right: 5%;
    align-items: stretch;
  }

  .gnav--service li {
    position: relative;
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
  }

  .gnav--service a {
    position: relative;
  }

  .gnav--service a::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    width: 12px;
    height: 12px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    transform: rotate(45deg) translate(-50%);
  }

  .gnav--service li+li {
    margin-top: 10px;
  }
  .head_sub_nav,
  .gnav--unlock_sub {
    position: relative;
    display: flex !important;
    justify-content: center;
    width: 100%;
    height: auto;
    padding-top: 0;
    visibility: visible;
    opacity: 1;
  }
  .head_sub_nav li,
  .gnav--unlock_sub li {
    width: 33.33%;
    margin-top: 0 !important;
  }
  .head_sub_nav a::after,
  .gnav--unlock_sub a::after {
    width: 7px;
    height: 7px;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
  }
  .head_sub_nav a,
  .gnav--unlock_sub a {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 1em;
    color: #fff !important;
    border: none;
    background: none;
  }

  .gnav_img {
    width: 30%;
    margin-right: 20px;
  }

  .gnav_img img {
    border-radius: 10px 0 0 10px;
    vertical-align: middle;
  }

  .gnav--unlock .gnav_img img {
    border-radius: 10px 0 0 0;
  }
.gnav--spearkey > a,
.gnav--unlock > a,
.gnav--repair > a {
padding: 20px 20px 20px 120px;
background-repeat: no-repeat;
background-size:  auto 100%;
background-position: center left;
}
.gnav--spearkey > a {
  background-image: url(../images/common/sp-gnav_spearkey.jpg);
}
.gnav--unlock > a {
  background-image: url(../images/common/sp-gnav_unlock.jpg);
}
.gnav--repair > a {
  background-image: url(../images/common/sp-gnav_repair.jpg);
}
  .gnav--spearkey {
    background-color: #22998c;
  }

  .gnav--unlock {
    background-color: #0da6bc;
  }

  .gnav--repair {
    background-color: #f8952b;
  }

  .gnav--other {
    flex-wrap: wrap;
    width: calc(90% + .5em);
    margin-top: 20px;
    margin-bottom: 15px;
    margin-left: 5%;
    margin-right: 5%;
  }
  .gnav--service li.other-a a,
  .gnav--other a {
    padding-top: 10px;
    padding-bottom: 10px;
    justify-content: center;
    color: #543c1a;
    background-color: #ffeac7;
    border-radius: 10px;
  }
  .gnav--faq a { 
    font-size: 14px;
    height: 100%;
  }
  .gnav--service li.other-a a::after {
    display: none;
  }
  .gnav--other::after {
    content: "";
    display: block;
    width: 32%;
  }
  .gnav--service li.other-a,
  .gnav--other li {
    width: calc(33.33% - .5em);
    margin-left: 0 !important;
    margin-bottom: .5em;
    margin-right: .5em;
  }


  .gnav--security {
    margin-left: 0;
  }

  .gnav_btn {
    position: fixed;
    top: 0;
    right: 5px;
    z-index: 9999;
    padding: 15px;
    background-color: #e30000;
    border-left: 1px solid #ff3e3e;
    border-right: 1px solid #ff3e3e;
    border- bottom: 1px solid #ff3e3e;
    border-radius: 0 0 10px 10px;
    transition: .4s;
  }

  .gnav_btn p {
    position: relative;
    width: 40px;
    height: 35px;
  }

  .gnav_btn::after {
    content: "メニュー";
    position: absolute;
    bottom: 6px;
    font-size: 80%;
    color: #fff;
    font-family: 新丸ゴ R;
  }

  .gnav_btn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #fff;
  }

  .gnav_btn span:nth-of-type(1) {
    top: 0;
  }

  .gnav_btn span:nth-of-type(2) {
    top: 10px;
  }

  .gnav_btn span:nth-of-type(3) {
    top: 20px;
  }

  .gnav_btn.active span:nth-of-type(1) {
    transform: translateY(10px) rotate(-35deg);
  }

  .gnav_btn.active span:nth-of-type(2) {
    opacity: 0;
  }

  .gnav_btn.active span:nth-of-type(3) {
    transform: translateY(-10px) rotate(35deg);
  }

  .gnav_btn.active {
    background-color: #fff;
    border: none;
  }

  .gnav_btn.active::after {
    color: #e30000;
  }

  .gnav_btn.active span {
    background-color: #e30000;
  }

  .fixed-contact {
    position: fixed;
    bottom: calc(-228px - 47px);
    z-index: 999;
    width: 98%;
    margin-left: 1%;
    margin-right: 1%;
    font-size: calc(80% + 1.3vw);
    text-align: center;
    transition: .5s;
  }

  .fixed-contact.on {
    bottom: -270px;
  }

  .fixed-contact.open {
    bottom: 0 !important;
    transition: .5s;
  }

  .contact-btn {
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 47px;
    color: #fff;
    padding: 10px;
    font-family: 新丸ゴ R;
    border-radius: 10px 10px 0 0;
    background-color: #e30000;
    border-top: 1px solid #ff3e3e;
    border-left: 1px solid #ff3e3e;
    border-right: 1px solid #ff3e3e;
    transition: .5s;
  }

  .contact-btn::after {
    content: "";
    display: block;
    width: 10px;
    margin-left: 10px;
    border-style: solid;
    border-width: 13px 8px 0 8px;
    border-color: #fff transparent transparent transparent;
    transition: .5s;
  }

  .fixed-contact.open .contact-btn::after {
    transform: rotate(180deg);
  }

  .contact-navi {
    height: 270px;
    padding: 20px;
    background-color: #e30000;
    border-left: 1px solid #ff3e3e;
    border-right: 1px solid #ff3e3e;
    transition: .5s;
  }

  .contact-navi .contact-link {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
    padding: 10px;
    color: #fff;
    line-height: 1.5;
    font-family: 新丸ゴ R;
    text-align: center;
    border-radius: 10px;
  }

  .contact-navi .contact-other,
  .contact-navi .contact-other li+li {
    margin-top: 10px;
  }

  .contact-navi p {
    margin-right: 10px;
  }

  .contact-navi span {
    display: block;
  }

  .contact-navi .tel-freedial span {
    /* font-size: 123%; */
    font-size: 152%;
    width: 100%;
    display: block;
  }

  .contact-navi .freedial {
    width: 30px;
    height: 17px;
  }

  .contact-navi .tel-freedial {
    background-color: #F7952B;
  }

  .contact-navi .form-sp {
    background-color: #23988b;
  }

  .contact-navi .tel-sp {
    background-color: #089EB5;
  }

  .contact-navi .line-contact {
    background-color: #00b900;
  }
}



/* =====================================================================================

    FOOTER

===================================================================================== */

#contact {
  margin-top: -50px;
  padding-top: 50px;
}

.foot_contact_wrap {
  background-image: url(/wp/wp-content/themes/original_theme/images/common/pt03.jpg);
}

.contact_line {
  display: flex;
  column-gap: 20px;
  align-items: center;
  align-content: center;
}
.contact_line .line-wrap{
  width: 100%;
  max-width: 160px;
}

@media (max-width: 767px) {
  .contact_line {
    flex-direction: column;
    row-gap: 20px;
  }
}

/* contact_info--key
**************************************** */
.contact_info--key {
  position: relative;
  z-index: 3;
  font-family: 新丸ゴ R;
  text-align: center;
}

.archive-blog .contact_info--key,
.single-blog .contact_info--key {
  margin-top: -95px;
}

.contact_info--key .bg {
  position: absolute;
  width: calc(50% + 1px);
  height: 572px;
  overflow: hidden;
}

.contact_info--key .bg-lft {
  transform: skewY(13deg);
}

.contact_info--key .bg-rgt {
  right: 0;
  transform: skewY(-13deg);
}

.contact_info--key .bg::after {
  content: "";
  display: block;
  position: absolute;
  top: -10vw;
  z-index: 0;
  width: 100%;
  height: 100vh;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/pt03.jpg);
}

.contact_info--key .bg-lft::after {
  background-position: top left;
}

.contact_info--key .bg-rgt::after {
  background-position: top right;
}

.contact_info--key .bg-lft::after {
  transform: skewY(-13deg);
}

.contact_info--key .bg-rgt::after {
  transform: skewY(13deg);
}

.contact_info--key .inner {
  position: relative;
  z-index: 1;
  min-height: 613px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 30px;
  padding-left: 90px;
  padding-right: 90px;
  padding-bottom: 120px;
  background: url(/wp/wp-content/themes/original_theme/images/common/bg_contact_key.png) no-repeat;
  background-size: contain;
  background-position: center;
  line-height: 1.6;
}

.contact_info--key .line-wrap {
  display: flex;
  align-items: flex-start;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.contact_info--key .line-wrap>*+* {
  margin-left: 10px;
}

.contact_info--key .line-wrap .line_logo {
  width: 40px;
  height: 40px;
}

.contact_info--key .line-wrap .line_qr {
  width: 70px;
  height: 70px;
  padding: 3px;
  background-color: #fff;
}

.contact_info--key .line-detail {
  color: #00b900;
  text-align: left;
  line-height: 1.3;
}

.contact_info--key .business_hours {
  color: #fff;
  border-radius: 20px;
  background-color: #543c1a;
}

.contact_info--key .contact-sp {
  color: #0da6bc;
}

.contact_info--key .contact-sp .sp {
  width: 28px;
  height: 28px;
  fill: #0da6bc;
}

.contact_info--key .info-dtl {
  max-width: 330px;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.contact_info--key .early {
  color: #0da6bc;
  text-align: center;
}

.contact_info--key .early span {
  display: inline-block;
  line-height: 1;
}
.contact_info--key .contact_info_dtl .form-sp {
  margin-top: 10px;
  margin-bottom: 0;
}
.contact_info--key .contact_info--massage {
  margin-top: 10px;
}
.contact_info--key--sp  {
  column-gap: 20px;
  position: relative;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.contact_info--key--copy {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.contact_info--key--sp .line-wrap {
  width: 200px;
  position: absolute;
  right: 0;
}
.contact_info--key--sp .line-wrap img {
  width: auto;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  translate: calc(100% + 120px) 0;
}


.footer .contact_info_dtl .form-sp {
  margin-top: 20px;
  margin-bottom: 0;
}

@media (max-width: 1080px) {
  .contact_info--key--sp {
    justify-content: center;
  }

  .contact_info--key--sp .line-wrap {
    margin-right: 20px;
  }
}

@media (max-width: 767px) {
  .contact_info--key .early {
    display: block;
    padding: 3vw 5vw;
    border-radius: 10px;
    border: 1px dashed #fff;
    background-color: #ffe1ad;
  }

  .contact_info--key .inner {
    background: none;
    padding: 0;
    padding-top: 10vw;
  }

  .contact_info--key .inner p {
    font-size: 114%;
  }

  .contact_info--key .bg {
    height: 120vw;
  }

  .contact_info--key .bg::after {
    background-image: url(/wp/wp-content/themes/original_theme/images/common/pt_main.jpg);
  }

  .contact_info--key .line-wrap {
    max-width: 100%;
    margin-bottom: 3vw;
    padding: 3vw 5vw;
    margin-left: auto;
    margin-right: auto;
    border-radius: 5px;
    position: relative;
    transform: 0;
  }
  .contact_info--key--sp .line-wrap img {
    translate: 0;
  }

  .contact_info--key .info-dtl {
    margin-left: auto;
    margin-right: auto;
  }

  .contact_info--key .business_hours {
    margin-bottom: 2vw;
  }

  
}



/* contact
 **************************************** */
 #anchor-contactform {
  margin-top: -200px;
  padding-top: 200px;
 }
.contact {
  margin-top: -200px;
  padding-top: 430px;
  padding-bottom: 120px;
  background:
    url('/wp/wp-content/themes/original_theme/images/common/bg_contact_top.jpg') left top no-repeat,
    url('/wp/wp-content/themes/original_theme/images/common/bg_contact_btm.jpg') right bottom no-repeat;
  background-color: #ffcf7e;
}

.contact .inner {
  position: relative;
  padding-left: 140px;
  padding-right: 140px;
  padding-bottom: 100px;
  border-radius: 30px;
}

.contact .inner .dog_img06 {
  bottom: -30px;
  left: -110px;
}

.contact .section_ttl {
  margin-bottom: 70px;
}

.contact .section_ttl::after {
  content: "";
  display: block;
  position: absolute;
  top: -170px;
  left: 50%;
  z-index: 0;
  width: 400px;
  height: 400px;
  background-color: #fff;
  border-radius: 100%;
  transform: translateX(-50%);
}

.contact-txt {
  position: relative;
  z-index: 5;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  
  margin-bottom: 50px;
}

@media (max-width: 767px) {
  .contact {
    margin-top: 0;
    padding-top: 50vw;
  }

  .contact .section_ttl {
    margin-bottom: 40px;
  }

  .contact-txt {
    margin-bottom: 25px;
    text-align: left;
  }

  .contact .inner {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 30px;
    padding-bottom: 20px;
  }

  .contact .section_ttl::after {
    top: -90px;
    width: 200px;
    height: 200px;
  }
}


/* footer
 **************************************** */
.footer {
  line-height: 1.6;
  font-family: 新丸ゴ R;
}

.calendar_btn {
  display: block;
  padding: 8px 24px;
  font-size: 116%;
  text-align: center;
  border: none;
  border-radius: 4px;
  background-color: #fff;
}

/* --- footer--top --- */
.footer--top {
  position: relative;
  background-color: #f8952b;
}

.footer--top::before {
  content: "";
  position: absolute;
  top: -24px;
  right: 0;
  display: block;
  width: 100%;
  height: 24px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/bg_footer_nami.png);
}

.footer--top .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* --- footer--nav --- */
.footer--nav ul {
  display: flex;
}

.footer--nav li {
  margin-top: 30px;
  margin-bottom: 30px;
}

.footer--nav li+li {
  margin-left: 10px;
}

.footer--nav li a {
  display: block;
  color: #543c1a;
  font-size: 107%;
  padding: 8px;
  border-radius: 5px;
}

.footer--nav li a:hover {
  background-color: #fff;
}

/* --- footer--bottom --- */
.footer--bottom {
  padding-top: 50px;
  padding-bottom: 60px;
  background-color: #e30000;
}

.footer--bottom .foot {
  justify-content: space-between;
  padding-top: 20px;
  color: #fff;
  border-top: 1px solid #f9f5f2;
}

.footer--company {
  justify-content: space-between;
  margin-bottom: 10px;
}

.footer--company h1 img {
  width: 340px;
}

.footer--company .tel-sp {
  justify-content: space-between;
  margin-top: 10px;
  font-size: 114%;
}

.footer--company .tel-sp .tel_num {
  margin-left: 10px;
  text-decoration: underline;
}

.footer--company-tel {
  margin-left: auto;
  max-width: 630px;
  width: 60%;
}

.footer--address {
  justify-content: space-between;
  padding-bottom: 30px;
}
.footer--address .contact_info--massage {
  max-width: 340px;
  border-radius: 10px;
  text-align: left;
  text-indent: -1em;
  padding-left: calc(20px + 1em);
}  

.footer--line img {
  width: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
  height: 300px;
}

.footer--line .line_qr {
  width: 124px;
  height: 124px;
  margin-right: 10px;
}

.footer--line .line_logo {
  width: 56px;
  height: 56px;
}

.footer--line p:not(.line-id) {
  font-size: 107%;
}

.footer--line svg {
  width: 62px;
  height: 62px;
}


.pbl {
  opacity: 0.5;
}

.google-map iframe {
  width: 100%;
}

.footer--copyright {
  text-align: right;
}

  @media screen and (min-width: 768px) {
    .footer--addtxt {
      position: relative;
    }
    .footer--addinner {
      min-width: 340px;
      position: absolute;
      top: 0;
      left: 0;
      transform: translateY(-290px);
    }
}

@media (max-width: 1080px) {
  .footer--line div {
    width: 100%;
  }

  .footer--line .line_logo {
    float: left;
    margin-right: 20px;
  }
}

@media (max-width: 767px) {
  .footer--top .inner {
    display: block;
  }

  .footer--nav ul {
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 20px;
  }

  .footer--nav ul::after {
    content: "";
    width: 33.33%;
  }

  .footer--nav li {
    width: 33.33%;
    text-align: center;
    margin-left: 0 !important;
    margin-top: 0;
    margin-bottom: 0;
  }

  .footer--nav li a {
    padding: 10px 0;
  }
  .footer--company-tel {
    width: 100%;
  }
  .contact_info--attention {
    margin-top: 16px;
  }

  .sns {
    justify-content: center;
    padding-top: 20px;
    padding-bottom: 40px;
  }

  .footer--company h1 {
    margin-bottom: 5%;
  }

  .footer--company h1 img {
    width: 100%;
  }

  .footer--company .tel-sp a {
    display: block;
    width: 99%;
    padding: 10px;
    border-radius: 10px;
    border: 1px dashed #fff;
    box-sizing: border-box;
  }

  .footer--company .tel-sp {
    text-align: center;
    font-size: 128%;
  }

  .footer--company .tel-sp p {
    margin-bottom: 10px;
  }

  .footer--company .tel-sp span {
    display: block;
  }

  .footer--line {
    margin-bottom: 20px;
  }

  .footer--line .line_logo {
    float: left;
    margin-right: 10px;
  }

  .footer--copyright {
    margin-top: 20px;
  }
  .footer .contact_info_dtl {
    padding-bottom: 0;
  }
  .footer .contact_info_dtl .form-sp {
    margin-top: 0;
    margin-bottom: 0;
  }
}


/* pagetop
 **************************************** */

@keyframes pagetop_active {
  0% {
    right: -168px;
  }

  100% {
    right: 0;
  }
}

@keyframes pagetop_hide {
  0% {
    right: 0;
  }

  100% {
    right: -168px;
  }
}

.pagetop {
  display: block;
  position: fixed;
  z-index: 15;
  right: 0;
  bottom: 20px;
  width: 167px;
  height: 336px;
  transition: .5s;
  animation: pagetop_active .3s forwards;
}

.pagetop.hide {
  animation: pagetop_hide .3s forwards;
}

@media (max-width: 1080px) {
  .pagetop {
    display: none;
  }
}



/*#contact
 **************************************** */
#contact_form {
  position: relative;
  z-index: 10;
  font-family: 新丸ゴ R;
}
#contact_form .red {
  color: red;
  font-weight: bold;
}
#contact_form .indent {
  text-indent: -1em;
  padding-left: 1em;
  display: inline-block;
}

#contact_form table {
  width: 100%;
}

#contact_form th,
#contact_form td {
  padding: 16px;
  vertical-align: middle;
  border-bottom: solid 1px #eee;
}

#contact_form th {
  font-weight: normal;
  white-space: nowrap;
  text-align: left;
  width: 34%;
}

#contact_form table input[type="text"],
#contact_form table input[type="email"],
#contact_form table input[type="tel"],
#contact_form table input[type="date"],
#contact_form table input[type="password"],
#contact_form table textarea {
  width: 100%;
  border-radius: 3px;
  vertical-align: bottom;
}

#contact_form table input[type="text"],
#contact_form table input[type="email"],
#contact_form table input[type="tel"],
#contact_form table input[type="date"],
#contact_form table input[type="password"],
#contact_form select,
#contact_form textarea {
  margin: 0;
  padding: 5px 15px;
  border: 1px solid #ccc;
  font: inherit;
  font-size: 100%;
}

#contact_form textarea {
  height: 100px;
}

#contact_form select {
  height: 40px;
}

#contact_form ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#contact_form input:hover {
  opacity: 0.7;
}

#contact_form textarea:hover {
  opacity: 0.7;
}

/*#contact_form input:focus {  background-color: #fff;}*/
#contact_form .parsley-validated {
  background-color: #eee;
}

#contact_form .parsley-error {
  background-color: #fee;
}

#contact_form .parsley-success {
  background-color: #fff;
}

.help_text {
  font-size: 85%;
  color: #999;
}

.hidden_help {
  display: none;
}

#contact_privacy div {
  overflow-y: scroll;
  height: 140px;
  border: solid 1px #ccc;
  font-size: 85%;
  padding: 8px 16px;
}

.requiredIcon {
  background: #f55;
  color: #fff;
  margin: 0 0 0 1em;
  font-size: 70%;
  padding: 2px 5px;
  border-radius: 3px;
  float: right;
}

.contact_btn {
  padding-top: 32px;
  text-align: center;
}

.contact_btn .ajax-loader {
  margin-left: 1em;
}

.contact_btn input {
  font-size: inherit;
  border: none;
  cursor: pointer;
  color: #fff;
  border-radius: 3px;
  padding: 16px 32px;
  -webkit-appearance: none;
  appearance: none;
  background-color: #ffbb48;
  outline: none;
}

#contact_form ul li input[type="radio"],
#contact_form ul li input[type="checkbox"] {
  display: none !important;
}

#contact_form ul li label {
  height: 40px;
  line-height: 40px;
  display: inline-block;
  vertical-align: top;
  position: relative;
  padding: 0px 8px 0px 40px;
  cursor: pointer;
}

#contact_form ul li label:hover {
  opacity: .7;
}

#contact_form ul li label::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  border: 2px solid #788b93;
  left: 16px;
  top: 12px;
}

#contact_form ul li input[type="radio"]+label::before {
  border-radius: 10px;
}

#contact_form ul li input[type="radio"]:checked+label,
#contact_form ul li input[type="checkbox"]:checked+label {
  color: #e75f5f;
  font-weight: bold;
}

#contact_form ul li input[type="radio"]:checked+label::before,
#contact_form ul li input[type="checkbox"]:checked+label::before {
  border-color: #e75f5f;
}

#contact_form ul li input[type="radio"]:checked+label::after,
#contact_form ul li input[type="checkbox"]:checked+label::after {
  content: "";
  width: 10px;
  height: 18px;
  top: 4px;
  left: 20px;
  border-right: 2px solid #e75f5f;
  border-bottom: 2px solid #e75f5f;
  display: block;
  position: absolute;
  z-index: 10;
  transform: rotate(45deg);
}

.contact_btn .contact_submit_disabled:hover {
  opacity: 1;
  cursor: default;
}

.autoConfirmBack {
  background-color: #aaa;
}

#contact_send {
  background-color: #ff6600;
}

#total_required {
  padding: 16px;
  color: #f55555;
  text-align: center;
}

@media (max-width: 767px) {

  #contact_form th,
  #contact_form td {
    display: block;
    width: auto;
    padding-left: 0;
    padding-right: 0;
  }

  #contact_form th {
    border-bottom: none;
    padding-bottom: 0;
    white-space: normal;
    font-weight: bold;
  }

  #contact_form td {
    padding-top: 0;
  }

  .contact_btn {
    padding-top: 8px;
  }

  .contact_btn input {
    width: 100%;
    background-size: contain;
    background-position: center;
  }
}



/* --- area_map --- */

.area .inner {
  position: relative;
}

.area .section_ttl span {
  font-size: 357%;
}

.area .key_img p:nth-child(1) {
  top: 0;
  right: -310px;
}

.area .key_img p:nth-child(2) {
  bottom: 90px;
  left: -270px;
}

.area_map {
  position: relative;
  font-family: 新丸ゴ R;
}

.area_map::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 100px;
  right: 260px;
  width: 383px;
  height: 260px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/map_line.png);
}

.area_map .area_ttl {
  position: absolute;
  color: #fff;
  font-size: 171%;
}

.area_map .area_gifu .area_ttl {
  top: 180px;
  left: 312px;
  text-align: center;
  line-height: 1.5;
}

.area_map .area_gifu ul {
  position: absolute;
  top: 20px;
  right: -77px;
  padding: 25px;
  border-radius: 5px;
  background-color: #bfe0dc;
}

.area_map .area_gifu li {
  display: flex;
  align-items: flex-start;
}

.area_map .area_gifu li+li {
  margin-top: 15px;
}

.area_map .area_gifu p:not(.area_ttl_sub) {
  width: 230px;
  line-height: 1.5;
}

.area_map .area_gifu .area_ttl_sub {
  margin-right: .5em;
  padding: 5px 10px;
  color: #22998c;
  line-height: 1;
  border-radius: 5px;
  background-color: #fff;
}

.area_map .area_other--aichi .area_ttl {
  top: 370px;
  left: 370px;
}

.area_map .area_other--aichi p {
  position: absolute;
  top: 380px;
  left: 60px;
  padding: 15px 30px;
  border-radius: 5px;
  background-color: #c9ebf0;
}

.area_map .area_other--shiga .area_ttl {
  top: 120px;
  left: 170px;
}

.area_map .area_other--shiga p {
  position: absolute;
  top: 290px;
  left: 120px;
  padding: 15px 30px;
  border-radius: 5px;
  background-color: #ccfaf5;
}

.area_map .about_area_img {
  display: none;
}

@media (max-width: 1080px) {
  .area .key_img {
    display: none;
  }
}

@media (max-width: 767px) {
  .area_map::before {
    display: none;
  }

  .area_map img {
    display: block;
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }

  .area_map .area_ttl,
  .area_map .area_gifu ul,
  .area_map .area_other--aichi p,
  .area_map .area_other--shiga p {
    position: relative;
    top: initial !important;
    right: initial !important;
    left: initial !important;
    border-radius: 0;
  }

  .area_map .area_gifu .area_ttl_sub {
    width: 17%;
    padding: 1% 2%;
    text-align: center;
  }

  .area_map .area_gifu p:not(.area_ttl_sub) {
    width: 83%;
  }

  .area_map .area_ttl {
    text-align: center;
  }

  .area_map .area_gifu ul,
  .area_map .area_other--aichi p,
  .area_map .area_other--shiga p {
    padding: 15px;
  }

  .area_map .area_gifu .area_ttl {
    background-color: #22998c;
  }

  .area_map .area_other--aichi .area_ttl {
    background-color: #27A8BC;
  }

  .area_map .area_other--shiga .area_ttl {
    background-color: #4DBDB1;
  }
}


/* sns
 **************************************** */
.sns {
  display: flex;
}

.sns li {
  width: 40px;
  height: 40px;
  border-radius: 5px;
  background-color: #fff;
}

.sns li+li {
  margin-left: 20px;
}

.sns li a {
  display: block;
  height: 100%;
  padding: 9px;
}

.sns svg {
  width: 100%;
  height: 100%;
  fill: #f8952b;
}

/* Google Map
 **************************************** */
#map {
  width: 100%;
  height: 400px;
}


/* =====================================================================================

    INDEX

===================================================================================== */

/* board
 **************************************** */
@font-face {
  font-family: "font_dots_jp";
  src: url(../fonts/dots_jp.woff2) format("woff2");
}

.dots_jp {
  font-family: font_dots_jp, sans-serif;
}

.board {
  position: relative;
  padding-top: 160px;
  font-weight: bold;
  margin-bottom: 72px;
}

.board.calendar-page {
    padding-top: 40px;
  margin-bottom: 0;
  padding-bottom: 0;
}

.board .inner {
  position: relative;
  z-index: 0;
  width: 90%;
  border-radius: 20px;
  color: #fff;
  background-color: #fff;
}

.board--lft {
  position: absolute;
  z-index: 1;
  width: 50%;
  padding: 60px 20px 20px;
}

.board--youtube {
  position: relative;
  border-radius: 20px;
}

.board--youtube::before {
  content: '';
  display: block;
  padding-top: 75%;
}

.board--youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 15px;
}

/* iframe */
.board--rt {
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  min-height: 460px;
  vertical-align: middle;
  border-radius: 20px;
}

.board--rt-html {
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  overflow-y: hidden !important;
}

.board--rt-body {
  position: relative;
  z-index: 0;
  color: #fff;
  /* max-width: 1080px; */
}

.board--rt-body::before {
  content: '';
  position: absolute;
  pointer-events: none;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  height: 100%;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
}

.board--rt-body.opening .board--txtarea {
  color: #333;
}

.board--rt-body.opening {
  background: linear-gradient(135deg, #fde506, #bd9700);
}

.board--rt-body.open {
  background: linear-gradient(135deg, #ff4c44, #7c0002);
}

.board--rt-body.out {
  background: linear-gradient(135deg, #7981ff, #000881);
}

.board--rt-body.closed {
  background: linear-gradient(135deg, #83735d, #1e1e1e);
}

.board--rt-body::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2em;
  width: 100%;
  font-size: 1.5rem;
  background: #000 url(../images/common/dots.png);
}

.board--crawling_text {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  color: #ffd13f;
  font-size: 1.7rem;
  white-space: nowrap;
  overflow: hidden;
}

.board--crawling_text br {
  display: none;
}

.board--txtarea {
  padding: 60px 20px 20px;
  color: #fff;
}

.board--txtarea a {
  color: #fff;
  text-decoration: underline;
}

.board--txtarea-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: 370px;
  margin-left: 50%;
}

.board--ttl {
  font-size: 160%;
  line-height: 1.1;
  font-family: "リュウミン B-KL";
}

.board--ttl-main {
  font-size: 300%;
  font-family: "リュウミン B-KL";
  line-height: 1.1;

}
.flash {
  opacity: 0;
  animation: flash 1.2s linear infinite;
}

.board--ttl-main span {
  font-family: "Sharoa Pro Bold", sans-serif;
}
.board--ttl-main .en,
.board--ttl-main.en {
  font-family: "Sharoa Pro Bold", sans-serif;
}
.board--ttl-main .jp,
.board--ttl-main.en .jp {
  font-family: "リュウミン B-KL";
}

.board--ttl-main i {
  font-size: 70%;
  font-style: normal;
}

.board--time {
  line-height: 1.3;
  font-weight: bold;
}

.board--comment {
  margin-top: 2rem;
  text-align: left;
  font-size: 1.5rem;
  font-family: "リュウミン M-KL";
}

.board--comment-box {
  padding: 1em;
  text-align: left;
  color: #303030;
  line-height: 1.5;
  font-weight: bold;
  background-color: #fff;
  border-radius: 10px;
  font-size: 1rem;
}

.board--attention a {
  position: relative;
  display: block;
  margin-bottom: 8px;
  margin-inline: auto;
  color: #000;
  background: #ffe68a;
  border-radius: 50px;
  padding: 0.5em 1em;
  line-height: 1.3;
  font-size: .9rem;
  text-decoration: underline;
}
.calendar-page .board--attention {
  display: none;
}

.board--attention span {
  position: absolute;
  right: 20px;
  bottom: -20px;
  color: #fff;
  font-size: .85rem;
  font-weight: bold;
}

.board--attention span::after {
  content: '';
  position: absolute;
  right: -20px;
  top: -6px;
  display: block;
  width: 20px;
  aspect-ratio: 122/ 150;
  background: url(../images/common/icon-finger.svg);
}


@media screen and (max-width: 767px) {
  .board--ttl {
    font-size: 170%;
  }

  .board--lft {
    width: 100%;
    padding: 70px 10px 10px;
  }

  .board--youtube iframe {
    border-radius: 12px;
  }

  .board--rt {
    position: relative;
    width: 100%;
    border-radius: 10px;
  }

  .board--crawling_text {
    font-size: 1.5rem;
  }

  .board--txtarea {
    padding: 70px 20px 20px;
  }

  .board--txtarea-inner {
    margin-left: 0;
    margin-top: 80%;
    min-height: auto;
    padding-block: 32px;
  }

  .board--ttl-main {
    font-size: 230%;
  }

  .board--comment {
    margin-top: 1rem;
  }
}

/* hero
 **************************************** */
.hero {
  position: relative;
  padding-top: 80px;
  overflow: hidden;
  background-position: center top;
}

.hero--slider li {
  position: relative;
  width: 546px;
  height: 557px;
}

.hero--slider li::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  display: block;
  width: 100%;
  height: 100%;
}

.hero--slider li:nth-child(5n+1)::after {
  background: url(/wp/wp-content/themes/original_theme/images/main_slide_frame04.png) center top no-repeat;
}

.hero--slider li:nth-child(5n+2)::after {
  background: url(/wp/wp-content/themes/original_theme/images/main_slide_frame03.png) center top no-repeat;
}

.hero--slider li:nth-child(5n+3)::after {
  background: url(/wp/wp-content/themes/original_theme/images/main_slide_frame01.png) center top no-repeat;
}

.hero--slider li:nth-child(5n+4)::after {
  background: url(/wp/wp-content/themes/original_theme/images/main_slide_frame02.png) center top no-repeat;
}

.hero--slider li:nth-child(5n+5)::after {
  background: url(/wp/wp-content/themes/original_theme/images/main_slide_frame05.png) center top no-repeat;
}

.hero--slider li:nth-child(5n+6)::after {
  background: url(/wp/wp-content/themes/original_theme/images/main_slide_frame06.png) center top no-repeat;
}

.hero--slider img {
  padding-top: 117px;
  padding-left: 44px;
}

/* --- hero--key --- */
.hero--key {
  z-index: 5;
}

.hero--key .key_img p:nth-child(1) {
  top: 150px;
  left: calc(50% - 300px);
  animation-delay: .8s;
}

.hero--key .key_img p:nth-child(2) {
  top: 550px;
  right: calc(50% - 380px);
  animation-delay: 1s;
}

.hero--key .key_img p:nth-child(3) {
  top: 650px;
  right: calc(50% - 300px);
  animation-delay: 1.2s;
}

.hero--key .key_img p:nth-child(3)::after {
  animation: key 3s reverse infinite;
}

/* --- main-lead --- */
.main-lead p {
  display: block;
  position: absolute;
  z-index: 15;
}

.main-lead p:nth-child(1) {
  top: 180px;
  right: calc(50% - 370px);
  animation-delay: .4s;
}

.main-lead p:nth-child(2) {
  top: 320px;
  left: calc(50% - 350px);
  animation-delay: .6s;
}

@media (max-width: 767px) {
  .hero {
    padding-top: 10vw;
  }

  .home .header--nav {
    margin-top: 5vw;
  }

  .home .header--nav .header--logo {
    position: relative;
    left: initial;
    width: 40vw;
    margin: auto;
  }

  .hero--slider_wrap::before {
    width: 100%;
    height: 100%;
    border: 8px solid #fff;
  }

  .hero--slider_wrap::after {
    width: 100%;
    height: calc(61vw + 6px);
    background-size: 45%, auto;
  }

  .hero--slider {
    height: calc(64vw + 6px);
  }

  .hero--slider ul {
    height: 66vw;
    margin: auto;
  }

  .hero--slider li {
    width: 84vw;
    height: 86vw;
  }

  .hero--slider li::after {
    background-size: contain !important;
  }

  .hero--slider li img {
    padding-top: 18vw;
    padding-left: 7vw;
    padding-right: 4vw;
  }

  .main-lead p:nth-child(1) {
    top: 120px;
    right: 10px;
    width: 20vw;
  }

  .main-lead p:nth-child(2) {
    top: 140px;
    left: 10px;
    width: 18vw;
  }

  .hero--key .key_img p:nth-child(1) {
    left: 10vw;
    top: 10vw;
  }

  .hero--key .key_img p:nth-child(2) {
    top: 100vw;
    right: 6vw;
  }

  .hero--key .key_img p:nth-child(3) {
    top: 110vw;
    right: 20vw;
  }
}

/* hero--contact
 **************************************** */
.contact_info--attention {
  width: fit-content;
  margin-inline: auto;
  background-color: #000;
  padding: 0.5em 2em;
  font-family: "リュウミン H-KL";
}

.contact_info {
  position: relative;
  margin-top: calc(10px + 5vw);
  color: #fff;
  font-family: 新丸ゴ R;
  text-align: center;
}

.home .contact_info::before,
.home .contact_info::after {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  z-index: 0;
  width: calc(50% + .5px);
  height: 100vh;
  background-color: #e30000;
}

@-moz-document url-prefix() {

  .home .contact_info::before,
  .home .contact_info::after {
    top: -10px;
  }
}

.contact_info::before {
  transform: skewY(13deg);
  right: 0;
}

.contact_info::after {
  transform: skewY(-13deg);
  left: 0;
}

.contact_info--support {
  position: absolute;
  bottom: 20px;
  left: 0px;
  width: 169px;
  height: 295px;
}

.contact_info--support::after {
  content: "";
  position: absolute;
  right: 20px;
  bottom: 0;
  z-index: 100;
  width: 86px;
  height: 151px;
  color: #543c1a;
  font-size: 142%;
  background: url(/wp/wp-content/themes/original_theme/images/common/chara_dog01.svg) no-repeat;
}

.contact_info--support p {
  display: block;
  padding-top: 45px;
}

.contact_info--support p::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 142px;
  background: url(/wp/wp-content/themes/original_theme/images/common/cloud_img.png) no-repeat;
  background-size: contain;
}

.contact_info--support span {
  position: relative;
  z-index: 1;
  color: #543c1a;
  font-size: 142%;
  line-height: 1.3;
}

.contact_info_dtl {
  position: relative;
  z-index: 10;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}

.contact_info_dtl p span {
  display: inline-block;
}


.contact_info_dtl .form-sp {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 10px;
  color: #fff;
  font-size: 123%;
  font-family: 新丸ゴ R;
  line-height: 1.5;
  text-align: center;
  border-radius: 10px;
  background-color: #23988b;
}


.contact_info_ttl {
  margin-top: calc(20px - 2vw);
}

.contact_info .business_hours {
  display: inline-block;
  padding-left: 50px;
  padding-right: 50px;
  border-radius: 50px;
  color: #543c1a;
  font-size: 128%;
  background-color: #fff;
}

.contact_info .early {
  position: relative;
  z-index: 1;
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: #f8952b;
}

.contact_info .early span {
  display: inline-block;
  margin-right: 10px;
  color: #fff;
  font-size: 128%;
}

/* --- contact_info--line--- */
.contact_info--line {
  position: absolute;
  bottom: -40px;
  right: 0;
  width: 181px;
  height: 261px;
  font-size: 114%;
  text-align: center;
  line-height: 1.3;
  background: none;
}

.contact_info--line .line_logo {
  width: 40px;
  height: 40px;
}

.contact_info--line .line_qr {
  width: 74px;
  height: 74px;
  margin: 5px;
}

.contact_info--line p {
  color: #00b900;
}

.contact_info--massage {
  width: 100%;
  max-width: 504px;
  margin: 20px auto 40px;
  padding: 20px 20px;
  background-color: #23988b;
  color: #fff;
  text-align: justify;
  display: block;
  border: 2px solid #fff;
  border-radius: 10px;
  line-height: 1.8;
  text-align: center;
}
.footer--bottom .contact_info--massage {
  margin: 20px auto;
  padding: 10px 20px;
}
.contact_info--massage:hover {
  color: #fff;
}
.contact_info--ttl {
  font-size: 18px;
  text-align: center;
  display: block!important;
  margin-bottom: .5em;
}
a .contact_info--ttl {
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  width: fit-content;
  padding: 10px 25px;
  background: #fff;
  border: 1px solid #fff;
  color:  #23988b;
  padding-right: 40px;
  position: relative;
  border-radius: 100px;
  transition: .2s  ease-out;
}
a .contact_info--ttl::after {
  content: '';
  width: 10px;
  height: 10px;
  border: 2px solid #23988b;
  border-width: 2px 2px 0 0;
  rotate: 45deg;
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  translate: 0 -50%;
}
a:hover .contact_info--ttl {
  background: #23988b;
  color: #fff;
}
a:hover .contact_info--ttl::after {
  border-color: #fff;
}
a:hover .contact_info--ttl {
  text-decoration: none;
}




@media (max-width: 1080px) {
  .contact_info .early img {
    padding-left: 5%;
    padding-right: 5%;
  }

  .contact_info_ttl {
    margin-top: calc(20px - 1vw);
  }

  .contact_info--line {
    display: flex;
    position: relative;
    bottom: initial;
    right: initial;
    width: 50%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 16px;
    text-align: left;
  }

  .contact_info--line .line_logo {
    margin-right: 30px;
  }

  .contact_info--line br {
    display: none;
  }

  .contact_info--support {
    width: 15vw;
    height: 28vw;
  }

  .contact_info--support p {
    padding-top: 4vw;
  }

  .contact_info--support span {
    font-size: 130%;
  }

  .contact_info--support p::before {
    height: 13vw;
  }
}

@media (min-width: 768px) {
  .contact_info_dtl .form-sp {
    max-width: 400px;
    margin: 0 auto 20px;
    border: 2px solid #fff;
  }
}

@media (max-width: 767px) {
  .contact_info {
    margin-top: calc(10px + 20vw);
  }

  .contact_info_dtl {
    padding: 7% 5%;
  }

  .contact_info--support {
    top: -110px;
    bottom: initial;
    width: 100%;
    height: 135px;
  }

  .contact_info--support span {
    font-size: 110%;
  }

  .contact_info--support p {
    position: absolute;
    top: 35px;
    left: 81px;
    width: 115px;
    height: 96px;
    padding-top: 30px;
    font-size: 107%;
  }

  .contact_info--support p::before {
    width: 115px;
    height: 96px;
    transform: scale(-1, 1);
    background-size: cover;
  }

  .contact_info--support::after {
    left: 20px;
    width: 56px;
    height: 99px;
  }

  .contact_info .business_hours {
    font-size: 115%;
    padding-left: 5%;
    padding-right: 5%;
  }

  .contact_info--line {
    width: 70%;
    height: auto;
    border-radius: 10px;
  }

  .contact_info--line .line_logo {
    width: 14vw;
    height: 10vw;
    margin-right: 3vw;
  }

  .contact_info .early {
    padding-bottom: 15px;
  }
  .contact_info_dtl .form-sp {
    margin-bottom: 10px;
  }
}


/*blog--slider
**************************************** */
.blog {
  padding-top: 0;
}
.blog.section_pdg {
  padding-top: 40px;
} 
.archive-blog .breadcrumbs,
.single-blog .breadcrumbs {
  background-image: url(/wp/wp-content/themes/original_theme/images/common/pt01.jpg);
}
.blog--slider_wrap .section_ttl {
  display: block;
  text-align: center;
  margin: 0 auto;
}

.blog--slider_wrap .section_ttl .key_small {
  position: relative;
  top: -70px;
  left: -115px;
  width: 47px;
  height: 73px;
  margin-right: 0px;
  order: -1;
}

.blog-link_list {
  overflow: visible !important;
  margin-top: -50px;
  background: #000;
  padding-block: 16px;
}
.blog-link_list .blog-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
} 
.blog-link_list li {
  margin: 0 1vw;
  width: 400px;
}

.blog-link_list li .no-image,
.blog-thumbnail.no-image {
  display: none;
}

.blog-link_list li .eyecatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-link_list a {
  display: flex;
  line-height: 1.6;
  background-color: #fff;
}

.blog-link_list a:hover {
  color: #ccc;
}

.blog-link_list .date {
  font-size: 100%;
  margin-bottom: 4px;
}

.blog-text {
  padding: 16px 16px 16px 0;
}

.blog-text .title {
  font-size: 108%;
}

.blog-thumbnail>div {
  position: relative;
  width: 160px;
  height: 160px;
  margin: 0 16px 0 0;
  overflow: hidden;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}

.blog-link_list .clearfix {
  width: auto;
  height: auto;
  border-radius: 20px;
}

/* slick-control */
.slide-control {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 32px;
}

.slide-control .slick-dots {
  display: flex;
  align-items: center;
  justify-content: center;
}

.slide-control .slick-dots li {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #B9B9B9;
}

.slide-control .slick-dots li:not(:last-child) {
  margin-right: 10px;
}

.slide-control .slick-dots li.slick-active {
  background-color: #191919;
}

.slide-control .slick-arrow {
  position: relative;
  left: auto;
  right: auto;
  display: block;
  width: 35px;
  height: 35px;
  background: url(../images/common/arrow-1.svg) center no-repeat;
  background-size: auto 15px;
  z-index: 100;
}

.slide-control .slick-prev {
  transform: scale(-1, 1);
}

.slide-control .slick-arrow::before,
.slide-control .slick-arrow::after {
  display: none;
}

.slide-control .slick-next {
  order: 1;
}

.slide-control .slick-prev::before,
.slide-control .slick-next::before {
  font-size: 28px;
  color: black;
}

@media screen and (max-width: 767px) {
  .blog-thumbnail>div {
    width: 125px;
    height: 125px;
  }

  .blog-link_list li {
    margin: 0 2vw;
    width: 86vw;
  }

  .blog-text {
    padding: 10px 16px 8px 0;
  }

  .blog-text .date {
    font-size: 90%;
  }

  .blog-text .title {
    font-size: 100%;
  }

  /* slick-control */
  .slide-control {
    margin-top: 24px;
  }
}

/* home_レビュー
 **************************************** */

.review_box {
  width: 90%;
  max-width: 900px;
  margin: 0 auto 40px;
  background: #fff;
  border-radius: 24px;
  padding: 24px;

}
.review_box_inner {
  width: 100%;
  margin: 0 auto;
  background: #fff;
  border: 2px solid #FFB744;
  border-radius: 12px;
  padding: 24px;
  height: 300px;
  overflow: auto;
}

.review_box_ttl {
  color: #543C1A;
  font-size: 24px;
  text-align: center;
  margin-bottom: 24px;
  font-family: 新丸ゴ B;
}
.review_box_inner::-webkit-scrollbar {
  width: 3px;
  border-radius: 100px;
  overflow: hidden;
}
.review_box_inner::-webkit-scrollbar-track {
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0);
}
.review_box_inner::-webkit-scrollbar-thumb {
  background-color: #d9dce0;
  border-radius: 100px;
}

/* home_about
 **************************************** */

.home_area {
  padding-top: 70px;
  padding-bottom: 100px;
}

.home_area .inner {
  position: relative;
}

.home_area .area_list {
  display: flex;
  text-align: left;
}

.home--area {
  position: relative;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px;
  padding: 35px 30px 30px 30px;
  font-family: 新丸ゴ R;
  text-align: center;
  border-radius: 10px;
  background-color: #ffcf7e;
}

.eo-fullcalendar {
  margin-bottom: 70px;
}

.home--area h2 {
  position: absolute;
  top: -20px;
  left: 50%;
  width: 100%;
  transform: translate(-50%);
}

.home--area h2 span {
  display: inline-block;
  padding: 5px 30px;
  color: #543c1a;
  font-size: 142%;
  font-family: 新丸ゴ R;
  text-align: center;
  border-radius: 50px;
  background-color: #ffcf7e;
}

.home--area ul br,
.home--area p br {
  display: none;
}

.home_area .area_gifu {
  width: 65%;
}

.home_area .area_other {
  width: 35%;
}

.home_area .area_gifu li {
  align-items: center;
}

.home_area .area_gifu,
.home_area .area_other--aichi,
.home_area .area_other--shiga,
.home_area .area_gifu li,
.home_area .area_other--aichi li,
.home_area .area_other--shiga li {
  display: flex;
  align-items: flex-start;
}

.home_area .area_other--shiga {
  margin-top: 5px;
}

.home_area .area_ttl {
  margin-right: .5em;
  padding: 3px 15px;
  color: #fff;
  font-size: 114%;
  line-height: 1.3;
  text-align: center;
  border-radius: 5px;
  background-color: #f8952b;
}

.home_area .area_ttl_sub {
  margin-right: .5em;
  padding-left: 10px;
  padding-right: 10px;
  color: #fff;
  border-radius: 5px;
  line-height: 1.5;
  background-color: #ff6c00;
}

.home_area .key_img p:nth-child(1) {
  top: 80px;
  left: -190px;
}

.home_area .key_img p:nth-child(1)::after {
  animation: key 3s reverse infinite;
}

.home_area .key_img p:nth-child(2) {
  top: 270px;
  left: -110px;
}

.home_area .key_img p:nth-child(3) {
  bottom: 60px;
  left: -200px;
}

.home_area .key_img p:nth-child(4) {
  top: -30px;
  right: -130px;
}

.home_area .key_img p:nth-child(5) {
  top: 160px;
  right: -180px;
}

.home_area .key_img p:nth-child(6) {
  bottom: 190px;
  right: -90px;
}

.home_area .key_img p:nth-child(7) {
  bottom: 0;
  right: -220px;
}

.home_area .key_img p:nth-child(5)::after {
  animation: key 3s reverse infinite;
}

.about_area_img {
  position: absolute;
  right: -40px;
  bottom: 10px;
  display: flex;
  align-items: flex-end;
}

.about_area_img img {
  width: 89px;
  height: 161px;
}

.about_area_img figcaption {
  position: relative;
  order: -1;
  margin-right: 20px;
  margin-bottom: 20px;
  padding: 7px 20px;
  line-height: 1.3;
  border-radius: 10px;
  background-color: #fff;
}

.about_area_img figcaption::after {
  content: "";
  position: absolute;
  right: -15px;
  top: 50%;
  border-style: solid;
  border-width: 15px 15px 0 0;
  border-color: #ffffff transparent transparent transparent;
  transform: translateY(-50%);
}

.home_map {
  position: relative;
  max-width: 980px;
  height: 500px;
  margin: auto;
  margin-bottom: 40px;
}

#home_map {
  position: absolute !important;
  right: 0;
  top: 50%;
  width: 100%;
  height: 100%;
  transform: translateY(-50%);
}

.home_smartkey {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  transition: .4s;
}

.home_smartkey:hover {
  opacity: .7;
}

@media (max-width: 767px) {
  .home--area {
    padding: 7vw 7vw 27vw 7vw;
  }

  .home_area .area_list,
  .home_area .area_gifu,
  .home_area .area_other--aichi,
  .home_area .area_other--shiga {
    display: block;
  }

  .home_area .area_gifu,
  .home_area .area_other,
  .home_area .area_ttl {
    width: 100%;
  }

  .home_area .area_ttl_sub {
    width: 20%;
    padding-left: 3%;
    padding-right: 3%;
    text-align: center;
  }

  .home_area .area_gifu li+li {
    margin-top: 10px;
  }

  .home_area .area_gifu li p:not(.area_ttl_sub) {
    width: 80%;
    line-height: 1.5;
  }

  .home_area .area_ttl {
    margin-bottom: 10px;
  }

  .home_area .area_other--aichi {
    margin-top: 10px;
  }

  .about_area_img {
    right: -20px;
  }

  .about_area_img figcaption {
    width: 70vw;
    margin-right: 10px;
    padding: 4vw 1vw;
    margin-bottom: 2vw;
  }

  .home_map {
    height: auto;
  }

  #home_map {
    position: relative !important;
    width: 100%;
    height: 50vw;
    transform: none;
  }

  .about_area_img img {
    width: 20vw;
    height: 35vw;
  }
}

/* home_service
 **************************************** */
.home_service {
  position: relative;
  padding-bottom: 270px;
}

.home_service::before {
  content: "";
  position: absolute;
  top: -55px;
  left: 50%;
  display: block;
  width: 232px;
  height: 55px;
  margin: auto;
  transform: translate(-50%);
  background-image: url(/wp/wp-content/themes/original_theme/images/common/bg_menu_circle.png);
}

.home_service--bottom::before,
.home_service--bottom::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 24px;
}

.home_service--bottom {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding-bottom: 72px;
  background-color: #f8952b;
}

.home_service--bottom::before {
  top: 0;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/bg_service_nami.png);
  background-position: 30px;
}

.home_service--bottom::after {
  bottom: 0;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/bg_service_nami_wh.png);
}

/* --- service_list --- */
.service_list {
  justify-content: space-between;
  align-items: stretch;
  margin-top: 60px;
}

.service_list p {
  padding-left: 20px;
  padding-right: 20px;
  font-size: 114%;
}

.service_list>li {
  flex-direction: column;
  max-width: 340px;
  width: 32%;
  background-size: 100%;
}

.service_ttl {
  margin-bottom: 270px;
  font-family: 新丸ゴ R;
  text-align: center;
}

.service_ttl .catch {
  display: block;
  margin-bottom: .2em;
  color: #543c1a;
  font-size: 128%;
}

.service_ttl .ttl {
  position: relative;
  display: inline-block;
  width: 250px;
  padding-left: 10px;
  padding-right: 5px;
  color: #fff;
  font-size: 214%;
  letter-spacing: .2em;
  border-radius: 15px;
}

.service_ttl .ttl::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  border-style: solid;
  border-width: 20px 8.5px 0 8.5px;
  transform: translate(-50%);
}

.service_txt {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  font-size: 128%;
  line-height: 1.7;
}

.service_detail {
  margin-top: auto;
  padding-bottom: 10px;
  border-radius: 0 0 5px 5px;
  font-family: 新丸ゴ R;
}

.service_detail--list {
  height: 205px;
  margin: 20px;
  padding: 10px 20px;
  border-radius: 5px;
  font-size: 128%;
  background-color: #fff;
}

.service_list li:not(.unlock) .service_detail--list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.service_detail--list li {
  display: flex;
  align-items: center;
  font-weight: bold;
}

.service_detail--list li+li {
  margin-top: 5px;
}

.service_detail--list .icon-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 42px;
  margin-right: 15px;
}

.service_detail--list .house {
  width: 42px;
  height: 35px;
}

.service_detail--list .car {
  width: 47px;
  height: 31px;
}

.service_detail--list .bag {
  width: 40px;
  height: 35px;
}

.service_detail--list .safe {
  width: 39px;
  height: 39px;
}

.service_detail--list .door {
  width: 31px;
  height: 41px;
}

.service_detail--list .etc {
  width: 42px;
  height: 42px;
}

.service_detail .link {
  width: 100%;
}

.service_links {
  margin: 20px 10px;
  padding-top: 20px;
  border-top: 1px dotted #6d6348;
}

.service_links a {
  font-size: 128%;
}

.service_links>*+* {
  margin-top: 10px;
}

.spearkey {
  background: url(/wp/wp-content/themes/original_theme/images/img_sparekey.png) 0 92px no-repeat;
}

.spearkey .service_detail,
.spearkey p {
  background-color: #bfe0dc;
}

.spearkey .service_detail--list svg {
  fill: #22998c;
}

.spearkey .service_ttl .ttl {
  background-color: #22998c;
}

.spearkey .service_ttl .ttl::after {
  border-color: #22998c transparent transparent transparent;
}

.spearkey .service_detail--list {
  color: #22998c;
}

.unlock {
  background: url(/wp/wp-content/themes/original_theme/images/img_unlock.png) 0 92px no-repeat;
}

.unlock .service_detail,
.unlock p {
  background-color: #b5dbe1;
}

.unlock .service_detail--list svg {
  fill: #0da6bc;
}

.unlock .service_ttl .ttl {
  background-color: #0da6bc;
}

.unlock .service_ttl .ttl::after {
  border-color: #0da6bc transparent transparent transparent;
}

.unlock .service_detail--list {
  color: #0da6bc;
}

.repair {
  background: url(/wp/wp-content/themes/original_theme/images/img_repair.png) 0 92px no-repeat;
}

.repair .service_detail,
.repair p {
  background-color: #ffcf7e;
}

.repair .service_detail--list svg {
  fill: #f8952b;
}

.repair .service_ttl .ttl {
  background-color: #f8952b;
}

.repair .service_ttl .ttl::after {
  border-color: #f8952b transparent transparent transparent;
}

.repair .service_detail--list {
  color: #f8952b;
}


/* --- column --- */
.home .column {
  max-width: 980px;
}

.column {
  position: relative;
  max-width: 830px;
  margin-top: 120px;
  margin-left: auto;
  margin-right: auto;
  padding: 10px;
  background-color: rgba(255, 255, 255, .8);
}

.column .dog_img02 {
  left: -52px;
  bottom: -13px;
  z-index: 1;
}

.column .dog_img02::after {
  width: 103px;
  height: 187px;
  background-size: auto;
}

.column .dog_img03 {
  right: -52px;
  bottom: -13px;
  z-index: 1;
}

.home .column .inner {
  padding: 30px 40px 30px 310px;
}

.column .inner {
  padding: 30px 40px;
  border: 2px dashed #e30000;
}

.home .column .inner::before,
.home .column .inner::after {
  content: "";
  display: block;
  position: absolute;
}

.column .inner::before {
  width: 88px;
  height: 126px;
  top: -50px;
  right: -40px;
  background: url(/wp/wp-content/themes/original_theme/images/img_illust01.png) no-repeat;
}

.column .inner::after {
  width: 93px;
  height: 110px;
  bottom: -40px;
  left: -50px;
  background: url(/wp/wp-content/themes/original_theme/images/img_illust02.png) no-repeat;
}

.column--ttl {
  margin-bottom: 20px;
  font-family: 新丸ゴ R;
}

.column--ttl .catch {
  display: block;
  letter-spacing: 2.5px;
  font-size: 142%;
  line-height: 1.3;
  margin-bottom: 10px;
}

.column--ttl .ttl {
  letter-spacing: 5px;
  line-height: 1.3;
  color: #543c1a;
  font-size: 214%;
}

.column--img {
  position: absolute;
  top: -40px;
  left: -40px;
  width: 337px;
  height: 415px;
}

.column a {
  padding: 10px 50px 9px 50px;
}

.column a::after {
  width: 7px;
  height: 7px;
}

@media (max-width: 1080px) {
  .service_list {
    margin-left: 40px;
    margin-right: 40px;
  }

  .service_ttl {
    margin-bottom: 25vw;
  }
}

@media (max-width: 767px) {
  .home_service {
    padding-bottom: 50vw;
  }

  .service_list {
    margin-top: 10vw;
    margin-left: 0;
    margin-right: 0;
  }

  .service_list>li {
    width: 100%;
    max-width: none;
  }

  .service_list>li+li {
    margin-top: 10vw;
  }

  .service_ttl {
    margin-bottom: 70vw;
  }

  .service_detail--list li {
    width: 100%;
  }

  .spearkey {
    background-size: 100%;
  }

  .home .column .inner {
    width: 100%;
    padding: 20px;
  }

  .column .inner {
    width: 100%;
    padding: 7%;
  }

  .column--ttl .ttl {
    font-size: 170%;
  }

  .column--img {
    position: relative;
    top: 10px;
    width: 70vw;
    height: 76vw;
  }

  .column .dog_img03 {
    right: -20px;
    bottom: 30vw;
  }

  .point_list--txt a {
    display: block;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}


/* home_point
 **************************************** */

.home_point {
  position: relative;
  padding-top: 200px;
  padding-bottom: 150px;
}

.home_point .car_img {
  top: -110px;
  right: calc(50% - 650px);
}

.car_img .cloud_img {
  background: none;
}

.car_img .cloud_img::before {
  content: "";
  position: absolute;
  display: block;
  width: 30px;
  height: 26px;
  background: url(/wp/wp-content/themes/original_theme/images/common/cloud.png) left bottom no-repeat;
}

.car_img .cloud_img01::before {
  top: 310px;
  left: 288px;
  transform: scale(-1, 1) rotate(75deg);
  animation: car 1s .5s infinite alternate;
}

.car_img .cloud_img02::before {
  top: 340px;
  left: 260px;
  transform: scale(-1, 1) rotate(75deg);
  animation: car 1s .8s infinite alternate;
}

/* --- point_list --- */
.point_list {
  background: url(/wp/wp-content/themes/original_theme/images/bg_nami.jpg) left top 750px repeat-x;
}

.point_list li {
  align-items: stretch;
  position: relative;
  min-width: 1000px;
  justify-content: space-between;
}

.point_list li+li {
  margin-top: 40px;
}

.point_list li:nth-child(2n+1) {
  padding-right: 10%;
}

.point_list li:nth-child(2n) {
  padding-left: 10%;
}

.point_list li:nth-child(3) {
  padding-top: 6vw;
}

.point_list--txt {
  position: relative;
  z-index: 1;
  width: 450px;
}

.point_list--txt h3 {
  font-size: 285%;
  line-height: 1.3;
  font-family: 新丸ゴ R;
}

.point_list li:nth-child(2n) .point_list--txt {
  margin-top: 6vw;
}

.point_list--txt a {
  margin-bottom: 1em;
  padding-left: 13px;
  padding-right: 24px;
  padding-top: 16px;
  padding-bottom: 13px;
}

.point_list li:nth-child(2n) .img {
  float: right;
}

.point_list li .img {
  position: relative;
  width: 70%;
  min-width: 270px;
}

.point_list li .img img {
  width: 100%;
}

.point_list li:nth-child(3) .img {
  margin-top: 20px;
}

.point_list li:nth-child(3) .point_list--img img {
  min-width: 860px;
}

.point_list li:nth-child(2) .dog_img04 {
  left: -140px;
  bottom: -20px;
}

.point_list li:nth-child(2) .light_img {
  left: -140px;
  top: 0;
}

.point_list li:nth-child(3) .dog_img05 {
  right: -80px;
  bottom: 0;
}

@keyframes slide_in {
  0% {
    opacity: 0;
    margin-right: -100px;
  }

  100% {
    opacity: 1;
    margin-right: 0;
  }
}

.point_list li:nth-child(3) .dog_img05.efct_act {
  animation-name: slide_in;
}

.point_list li:nth-child(3) .dog_img05::after {
  z-index: 10;
  transform: scale(-1, 1);
}

.point_list li:nth-child(3) .cloud_img01 {
  right: -110px;
  bottom: 40px;
}

.point_list li:nth-child(3) .cloud_img02 {
  right: -150px;
  bottom: 60px;
}

.point_list--img {
  position: relative;
  width: calc(100% - 450px - 4%);
  height: 100%;
  padding-right: 40px;
  overflow: hidden;
  transform: skewY(-5deg);
}

.point_list li:nth-child(2n+1) .point_list--img {
  order: -1;
  margin-top: 40px;
}

.point_list--img img {
  width: 100%;
  min-width: 860px;
  max-width: none;
  transform: skewY(5deg) scale(1.13);
}

.point_list--ttl {
  font-size: 257%;
  line-height: 1.3;
  letter-spacing: 2.7px;
}

@media (max-width: 1280px) {
  .point_list--img {
    width: 58%;
  }

  .point_list--txt {
    width: 38%;
  }

  .point_list li:nth-child(2n) {
    padding-left: 5%;
  }

  .point_list li:nth-child(2n+1) {
    padding-right: 5%;
  }

  .point_list--txt h3 {
    font-size: 230%;
  }
}

@media (max-width: 1000px) {
  .point_list li .img {
    display: none;
  }

  .point_list--txt h3 img {
    width: 60px;
  }
}

@media (max-width: 767px) {
  .home_point {
    padding-top: 30vw;
    padding-bottom: 25vw;
  }

  .point_list--txt h3 {
    font-size: 215%;
  }

  .home_point .car_img {
    width: 48vw;
    height: 30vw;
    background-size: cover;
  }

  .point_list li {
    min-width: auto;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .point_list--txt {
    width: 100%;
    padding-left: 5%;
    padding-right: 5%;
  }

  .point_list--img {
    width: 90%;
    padding-right: 0;
  }

  .point_list--img img {
    min-width: 100% !important;
  }

  .point_list li:nth-child(2n) {
    overflow: hidden;
    padding-bottom: 4vw;
  }

  .point_list li:nth-child(2n) .point_list--img {
    float: right;
  }
}

/* home_area
 **************************************** */
.bnr-covid {
  display: block;
  margin-top: -24px;
  margin-left: auto;
  margin-right: auto;
}

.bnr-covid:hover {
  opacity: .7;
}

/* home_calendar
 **************************************** */
.home_calendar .section_ttl {
  margin-bottom: 40px;
  justify-content: center;
}

/* home_flow
 **************************************** */
.home_flow {
  position: relative;
  padding-top: 150px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/pt03.jpg);
}

.home_flow::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 99px;
  background: url(/wp/wp-content/themes/original_theme/images/common/bg_circle_wh.png) center;
}

.home_flow .section_ttl span {
  font-size: 357%;
}

/* --- flow_chart --- */
.flow_chart li+li {
  margin-left: 40px;
}

.flow_chart--ttl {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  color: #543c1a;
  font-size: 185%;
  font-family: 新丸ゴ R;
}

.flow_chart--ttl img {
  margin-right: 10px;
}

.flow_chart--img img {
  border-radius: 5px;
}

.flow_chart--txt {
  position: relative;
  z-index: 1;
  width: 226px;
  height: 118px;
  margin-top: -10px;
  margin-left: auto;
  margin-right: auto;
  padding: 50px 25px 20px 25px;
  font-size: 114%;
  line-height: 1.3;
  background: url(/wp/wp-content/themes/original_theme/images/balloon_flow01.png) no-repeat;
}

@media (max-width: 1000px) {
  .flow_chart {
    margin-left: 40px;
    margin-right: 40px;
  }
}

@media (max-width: 767px) {
  .home_flow {
    padding-top: 30vw;
  }

  .home_flow::before {
    height: 40px;
    background-size: cover;
  }

  .flow_chart {
    margin-left: 0;
    margin-right: 0;
  }

  .flow_chart li {
    margin-left: 10vw !important;
    margin-right: 10vw;
  }

  .flow_chart li+li {
    margin-top: 10vw;
  }

  .home_flow p {
    text-align: left;
  }
}

/* info
 **************************************** */
.info {
  position: relative;
}

.info .inner {
  justify-content: space-between;
  position: relative;
  z-index: 1;
}

@media (max-width: 1000px) {
  .info .inner {
    margin-left: 40px;
    margin-right: 40px;
  }
}

@media (max-width: 767px) {
  .info .inner {
    margin-left: auto;
    margin-right: auto;
  }
}

/* worklog
 **************************************** */
.eyecatch.no-image p {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: #eee;
}

.worklog {
  width: 50%;
}

.common_blog li {
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: 114%;
  border-bottom: 2px dashed #543c1a;
}

.common_blog a {
  display: flex;
}

.common_blog a:hover .blog--wrap {
  color: #eee;
}

.common_blog .eyecatch {
  position: relative;
  width: 90px;
  height: 120px;
  margin-right: 25px;
  overflow: hidden;
}

.common_blog .eyecatch img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.blog--wrap {
  flex-grow: 1;
  width: 400px;
  transition: .2s ease-out;
}

.blog--wrap h4 {
  line-height: 1.7;
}

@media (max-width: 767px) {
  .worklog {
    width: 100%;
  }

  .blog--wrap {
    width: 70%;
  }
}

/* words
 **************************************** */
.common_words {
  width: 46%;
}

.asce_order_list--ttl {
  font-size: 114%;
}

.asce_order_list {
  font-size: 128%;
}

.asce_order_list::before,
.asce_order_list::after {
  content: "";
  display: block;
  width: 100px;
  order: 1;
}

.asce_order_list li {
  display: inline-block;
  width: 100px;
  margin-bottom: 20px;
  margin-right: 19px;
}

.asce_order_list a {
  display: block;
  padding: 10px;
  text-align: center;
  border-radius: 5px;
  background-color: #ffbb48;
}

.asce_order_list a:hover {
  background-color: #ffcf7e;
}




/* --- words_search --- */
.words_search {
  margin-bottom: 30px;
  padding: 20px;
  border-radius: 10px;
  background-color: #ffeac7;
}

.words_search p {
  margin-bottom: 10px;
  margin-left: 5px;
  font-size: 114%;
}

.words_search h3 {
  margin-bottom: 20px;
}

.words_search input {
  width: 100%;
  padding: 16px 80px 16px 20px;
  font-size: 128%;
  border-radius: 100px;
  border: 1px solid #ffbb48;
  outline: none;
}

.words_search fieldset {
  position: relative;
}

.words_search button {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  background: none;
  border: none;
  padding: 0;
  width: 32px;
  height: 32px;
  outline: none;
}

.words_search button::before {
  content: "";
  width: 12px;
  height: 1px;
  background: #ffbb48;
  display: block;
  transform: rotate(45deg);
  position: absolute;
  bottom: 2px;
  right: 0;
}

.words_search button::after {
  content: "";
  display: block;
  border-radius: 100%;
  border: 1px solid #ffbb48;
  height: 28px;
  width: 28px;
  position: absolute;
  top: 0;
  left: 0;
}

::placeholder {
  color: #ddd;
}

:-ms-input-placeholder {
  color: #ddd;
}

/* --- side_search --- */
.search_box--headwrap {
  padding: 10px 20px 0;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/pt01.jpg);
  display: none;
}
.search_box--headwrap .side_search_box {
  margin-bottom: 0;
}
.search_box--headwrap.serch_list {
  background-color: #ffedcf;
  background-image: none;
  padding-bottom: 10px;
}


.side_search_box {
  background: #FFEAC7;
  padding: 10px;
  margin: 0 0 20px;
  font-family: 新丸ゴ R;
}
.words_search .side_search_txt {
  font-size: 12px;
  margin-bottom: 10px;
}
.side_search {
  background: #fff;
  position: relative;
  border-radius: 500px;
  border: 1px solid #ffbb48;
  overflow: hidden;
}
.side_search_box .searchtext {
border: none;
width: 85%;
padding: 10px;
outline: none;
font-size: 12px;
}
.words_search .side_search_btn {
  scale: 0.7;
  transform: translateY(-70%);
  right: 10px;
}


@media (max-width: 767px) {
  .search_box--headwrap {
    display: block;
  }
  .common_words {
    width: 100%;
    margin-top: 20vw;
  }
 .side-column .side_search_box {
  display: none;
 }

  .asce_order_list li {
    width: 30%;
    margin-bottom: 3vw;
    margin-right: 1%;
  }

  .asce_order_list a {
    padding: 2vw 5%;
  }
}

/* home_other_service
 **************************************** */
.home_other_service {
  text-align: center;
}

.home_other_service .inner {
  position: relative;
}

.home_other_service .other_service--ttl {
  display: inline-block;
  margin-bottom: 30px;
  color: #543c1a;
  font-family: すずむし;
  font-size: 342%;
  letter-spacing: 4px;
  background: url(/wp/wp-content/themes/original_theme/images/common/line_wave_org.png) bottom repeat-x;
}

.other_service_list {
  justify-content: space-between;
}

.other_service_list li {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 340px;
  width: 32%;
}

.other_service_list--txt {
  color: #543c1a;
  font-size: 228%;
  font-family: すずむし;
}

.other_service_list--img {
  order: -1;
  border-radius: 30px;
}

.other_service_list--img a:hover {
  opacity: .7;
}

.other_service_list--img img {
  border-radius: 30px;
}

.other_service_list li:nth-child(1) img {
  border: 1px solid #543c1a;
}

.home_other_service .key_img p:nth-child(1) {
  top: 0;
  right: -120px;
}

.home_other_service .key_img p:nth-child(2) {
  bottom: 40px;
  left: -170px;
}

@media (max-width: 767px) {
  .home_other_service .other_service--ttl {
    font-size: 223%;
    line-height: 1;
    padding-bottom: 20px;
  }

  .other_service_list li {
    width: 100%;
    flex-wrap: nowrap;
    align-items: center;
  }

  .other_service_list li+li {
    margin-top: 10px;
  }

  .other_service_list--txt {
    width: 70%;
    text-align: left;
    line-height: 1;
  }

  .other_service_list--img {
    width: 27%;
    margin-right: 3%;
  }

  .other_service_list--img img {
    border-radius: 10px;
  }
}


/* =====================================================================================

    PAGE

===================================================================================== */

/* service_page common
 **************************************** */
.subpage .intro_txt {
  line-height: 2;
  font-size: 114%;
}

.subpage .intro_txt p+p {
  margin-top: 20px;
}

/* --- common --- */
.bg_sub {
  background: url(/wp/wp-content/themes/original_theme/images/spearkey/bg_sub.jpg) center;
}

.flame_wh::before,
.flame_wh-btm::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 54px;
  background-image: url(/wp/wp-content/themes/original_theme/images/spearkey/bg_sub_nami.png);
  background-position: center;
}

.flame_wh::before {
  top: 0;
}

.flame_wh-btm::after {
  bottom: 0;
  transform: scale(1, -1);
}

.frame_brw::before,
.frame_brw-btm::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 24px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/bg_service_nami.png);
  background-position: center;
}

.frame_brw::before {
  top: -23px;
  transform: scale(1, -1);
}

.frame_brw-btm::after {
  bottom: -24px;
}


/* --- section --- */
.subpage .section,
.subpage .section .inner {
  position: relative;
}

.subpage .section .link.small {
  width: auto;
  padding: 10px 45px;
  font-size: 114%;
}

.subpage .section .link {
  width: 480px;
  font-size: 128%;
}

.subpage .column_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
  line-height: 1;
  color: #543c1a;
  font-size: 285%;
  text-align: center;
}

.subpage .column_ttl .key_small {
  width: 34px;
  height: 50px;
  margin-right: 10px;
}

.subpage .column_ttl2 {
  display: flex;
  align-items: center;
  justify-content: center;
}

.subpage .column_ttl2 svg {
  margin-right: .5em;
}

.subpage .column_ttl2 .type {
  width: 30px;
  height: 30px;
}

.subpage .column_ttl2 .place {
  width: 35px;
  height: 36px;
}

.section_mgn-tp80 {
  margin-top: 80px;
}

/* --- section-pt01 --- */
.section-pt01 {
  position: relative;
  padding-left: 80px;
  padding-right: 80px;
  padding-top: 80px;
  padding-bottom: 100px;
  border-radius: 30px;
  background-color: #fff;
}

.section-pt01 .section_ttl {
  margin-bottom: 70px;
}

.section-pt01 .section_ttl::after {
  content: "";
  display: block;
  position: absolute;
  top: -150px;
  left: 50%;
  z-index: 0;
  width: 300px;
  height: 300px;
  background-color: #fff;
  border-radius: 100%;
  transform: translateX(-50%);
}

.section-pt01 .section_ttl span {
  font-size: 357%;
}

.section-pt01--txt {
  text-align: center;
}

.section-pt01--txt p {
  color: #543c1a;
  font-family: 新丸ゴ R;
  font-size: 128%;
}

.section-pt01--txt p+p {
  margin-top: 1em;
}

.section-pt01 .key_img p:nth-child(1) {
  top: -20px;
  left: -190px;
}

.section-pt01 .key_img p:nth-child(2) {
  top: 30px;
  right: -200px;
}

/* --- section-pt02 --- */
.section-pt02--txt {
  font-size: 114%;
  text-align: center;
}

.section-pt02 .key_img p:nth-child(1) {
  top: -20px;
  left: -190px;
}

.section-pt02 .key_img p:nth-child(2) {
  top: 30px;
  right: -200px;
}

/* --- section-pt03 --- */
.section-pt03--txt {
  font-size: 114%;
  text-align: center;
}

/* --- consult --- */
.consult {
  position: relative;
  padding: 40px 50px;
  border: 1px solid #ffbb48;
  background-color: #fff;
}

.consult h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
  color: #543c1a;
  font-size: 285%;
  font-family: すずむし;
  font-family: "Suzumushi";
  text-align: center;
  line-height: 1;
}

.consult h2 svg {
  width: 34px;
  height: 50px;
  margin-right: 10px;
}

.consult_list li {
  display: flex;
  align-items: center;
  font-size: 157%;
  font-family: 新丸ゴ R;
}

.consult_list li+li {
  margin-top: 1em;
}

.consult_list .check {
  display: inline-block;
  width: 36px;
  height: 36px;
  margin-right: 1em;
  border-radius: 6px;
  background-color: #e30000;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/img_check.png);
  background-repeat: no-repeat;
  background-position: center;
}

.consult p {
  margin-top: 30px;
  font-size: 114%;
  text-align: center;
  line-height: 1.7;
}

.consult .key {
  position: absolute;
  top: -30px;
  right: -30px;
  width: 116px;
  height: 221px;
}

.page-unlock .consult_list .check,
.page-house .consult_list .check,
.page-safe .consult_list .check,
.page-car .consult_list .check {
  background-color: #0da6bc;
}

.page-repair .consult_list .check {
  background-color: #f8952b;
}

.pdg-btm60 {
  padding-bottom: 60px;
}

@media (max-width: 767px) {
  .pdg-btm60 {
    padding-bottom: 40px;
  }

  .pdg-btm80 {
    padding-bottom: 20vw !important;
  }

  /* --- common --- */
  .flame_wh::before,
  .flame_wh-btm::after {
    height: 5vw;
    background-size: contain;
  }

  .section_mgn-tp80 {
    margin-top: 10vw;
  }

  .section-pt01--txt p,
  .section-pt02 p,
  .section-pt02--txt p,
  .section-pt03--txt p {
    text-align: left;
  }

  /* --- section --- */
  .subpage .section .link {
    width: 80%;
  }

  /* --- section-pt01 --- */
  .section-pt01 {
    padding-top: 10vw;
    padding-bottom: 10vw;
    padding-left: 10%;
    padding-right: 10%;
  }

  .section-pt01 .section_ttl {
    margin-bottom: 40px;
  }

  .section-pt01 .section_ttl::after {
    top: -25vw;
    width: 50vw;
    height: 50vw;
  }

  /* --- consult --- */
  .consult {
    padding: 5%;
  }

  .consult .key {
    right: -10px;
    width: 16vw;
    height: 29vw;
  }

  .consult_list li {
    font-size: 123%;
    line-height: 1.3;
  }

  .consult_list .check {
    width: 26px;
    height: 26px;
    margin-right: 10px;
    background-size: 18px;
  }

  .consult_list span:not(.check) {
    width: calc(100% - 26px);
  }

  .consult p {
    line-height: 1.5;
    text-align: left;
  }

  .subpage .column_ttl2 {
    font-size: 184%;
  }
}

/* spearkey
 **************************************** */
.page-spearkey .section_ttl .key {
  fill: #bfe0dc;
}

/* --- key_list --- */
.page-spearkey .key_list_wrap {
  margin-top: 120px;
}

.page-spearkey .key_list_wrap::before,
.page-spearkey .key_list_wrap::after {
  content: "";
  display: block;
  background-size: cover;
}

.page-spearkey .key_list_wrap::before {
  flex-grow: 2;
  background-image: url(/wp/wp-content/themes/original_theme/images/spearkey/img_spare_smartkey01.jpg);
}

.page-spearkey .key_list_wrap::after {
  flex-grow: 1;
  background-image: url(/wp/wp-content/themes/original_theme/images/spearkey/img_spare_smartkey02.jpg);
}

.page-spearkey .key_list {
  max-width: 750px;
  padding: 20px 50px;
}

.page-spearkey .key_list .lead {
  line-height: 1.5;
}

.page-spearkey .key_list_item h3 {
  display: inline-block;
  font-size: 371%;
  line-height: 1.3;
  letter-spacing: 10px;
}

.page-spearkey .key_list_item h3::after {
  display: block;
  font-size: 1rem;
  content: attr(data-ttl);
  color: #e30000;
  font-family: 'Libre Baskerville';
  letter-spacing: 3px;
  text-transform: uppercase;
}

.page-spearkey .key_list_item p+p {
  margin-top: 1em;
}

/* --- copy_key_list --- */
.copy_key_list li:nth-child(2n+1) {
  padding-left: 15%;
}

.copy_key_list li:nth-child(2n) {
  padding-right: 15%;
}

.copy_key_list li {
  align-items: stretch;
  position: relative;
  min-width: 1000px;
  justify-content: space-between;
}

.copy_key_list li:nth-child(2) {
  padding-top: 6vw;
}

.copy_key_list--txt {
  position: relative;
  z-index: 1;
  width: 30%;
}

.copy_key_list--txt .note {
  position: relative;
  padding: 30px;
  border: 1px solid #e30000;
  border-radius: 10px;
}

.copy_key_list--txt .note .dog_img03 {
  bottom: 0;
  right: -62px;
}

.copy_key_list li:nth-child(3) .img {
  margin-top: 20px;
}

.copy_key_list li:nth-child(3) .copy_key_list--img img {
  min-width: 860px;
}

.copy_key_list--img {
  position: relative;
  z-index: 1;
  width: 65%;
  height: 100%;
  padding-right: 40px;
  overflow: hidden;
  transform: skewY(-5deg);
}

.copy_key_list li:nth-child(2n) .copy_key_list--img {
  order: -1;
  margin-top: 40px;
}

.copy_key_list--img img {
  width: 100%;
  min-width: 860px;
  max-width: none;
  transform: skewY(5deg) scale(1.13);
}

/* --- item_list --- */
.item_list {
  position: relative;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
}

.item_list::after {
  content: "";
  display: block;
  width: 30%;
}

.item_list li {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  width: 30%;
  margin-bottom: 50px;
}

.item_list .dog_img05 {
  bottom: -10px;
  right: -10px;
}

.item_list .dog_img05::after {
  transform: scale(-1, 1);
}

.item_list .cloud_img01 {
  bottom: 30px;
  right: -50px;
}

.item_list .cloud_img02 {
  bottom: 50px;
  right: -90px;
}

.item_list li .number {
  order: 0;
  width: 7%;
}

.machine_ttl {
  margin-bottom: 20px;
  font-family: 新丸ゴ R;
  line-height: 1.3;
}

.machine_maker {
  margin-bottom: 5px;
}

.machine_name {
  font-size: 142%;
}

.machine_origin {
  display: block;
  margin-top: .5em;
  font-size: 92%;
}

.item_list--img {
  margin-bottom: 20px;
}

@media (max-width: 1080px) {
  .copy_key_list li:nth-child(2n+1) {
    padding-left: 5%;
  }

  .copy_key_list li:nth-child(2n) {
    padding-right: 5%;
  }

  .copy_key_list--txt {
    width: 60%;
  }

  .copy_key_list--img {
    width: 37%;
  }

  .copy_key_list--img img {
    width: 120%;
    min-width: auto;
  }
}

@media (max-width: 767px) {

  /* --- key_list --- */
  .page-spearkey .key_list_wrap {
    margin-bottom: 0;
  }

  .page-spearkey .key_list_wrap::before {
    height: 50vw;
  }

  .page-spearkey .key_list_wrap::after {
    display: none;
  }

  .page-spearkey .key_list {
    padding: 7% 7% 0 7%;
  }

  .page-spearkey .key_list .lead {
    font-size: 184%;
  }

  .page-spearkey .key_list_item h3 {
    font-size: 250%;
  }

  .item_list li:last-child {
    margin-bottom: 0;
  }

  /* --- copy_key_list --- */
  .copy_key_list li {
    min-width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .copy_key_list--txt {
    padding-left: 7%;
    padding-right: 7%;
    padding-bottom: 5%;
  }

  .copy_key_list--txt,
  .copy_key_list--img {
    width: auto;
  }

  .copy_key_list--img {
    padding-right: 0;
  }

  .copy_key_list--img img {
    min-width: 100%;
  }

  .copy_key_list--txt .note {
    width: 90%;
  }

  /* --- item_list --- */
  .item_list li,
  .item_list--img,
  .item_list--img img {
    width: 100%;
  }
}

/* unlock
 **************************************** */
.page-unlock .dog_img01::after {
  transform: scale(-1, 1);
}

.page-unlock .section_ttl .key,
.page-house .section_ttl .key,
.page-safe .section_ttl .key,
.page-car .section_ttl .key {
  fill: #b5dbe1;
}

.question_wrap {
  margin-left: 5%;
  margin-right: 5%;
  margin-bottom: 100px;
}

.question_wrap li {
  display: flex;
  flex-wrap: wrap;
  width: 23%;
  padding: 20px;
  font-family: 新丸ゴ R;
  line-height: 1.5;
  background-color: #ffcf7e;
  border-radius: 10px;
}

.question {
  width: 100%;
  margin-bottom: 20px;
}

.question::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
  border-style: solid;
  border-width: 16px 16px 0 16px;
  border-color: #543c1a transparent transparent transparent;
}

.answer {
  width: 100%;
  padding: 20px;
  border-radius: 10px;
}

.link-column {
  justify-content: center;
  text-align: center;
}

.link-column a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding-left: 40px;
  padding-right: 50px;
}

.link-column a+a {
  margin-left: 30px;
}

.link-column a svg {
  margin-right: .5em;
  fill: #fff;
}

.link-column a .house {
  width: 42px;
  height: 36px;
}

.link-column a .safe {
  width: 38px;
  height: 38px;
}

.link-column a .car {
  width: 47px;
  height: 30px;
}

.calm_down {
  position: relative;
  padding-bottom: 100px;
  text-align: center;
}

.page-unlock .calm_down .dog_img01 {
  top: -100px;
  right: 50px;
}

.page-unlock .contact_info--key {
  margin-top: -100px !important;
}


@media (max-width: 767px) {
  .question_wrap li {
    width: 100%;
    margin-bottom: 5vw;
    text-align: left;
  }

  .link-column a {
    width: 100% !important;
    margin-left: 0 !important;
    margin-bottom: 10px;
  }

  .calm_down {
    padding-right: 25vw;
    text-align: left;
  }

  .page-unlock .calm_down .dog_img01 {
    right: 0;
  }

  .page-unlock .calm_down .dog_img01::after {
    width: 24vw;
    height: 43vw;
    background-size: cover;
  }
}

/* house
 **************************************** */
.door_knob_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.door_knob_list li {
  width: 200px;
  overflow: hidden;
  margin-bottom: 8px;
  margin-left: 8px;
  margin-right: 8px;
  border-radius: 10px;
  border: 2px solid #f8952b;
  background-color: #F5F5F5;
}

.door_knob--ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 3.5em;
  padding: 10px;
  color: #543c1a;
  font-size: 114%;
  font-family: 新丸ゴ R;
  text-align: center;
  background-color: #f8952b;
  line-height: 1.3;
}

.door_knob--img {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 77%;
  padding: 20px;
}

@media (max-width: 767px) {
  .door_knob_list ul {
    justify-content: space-between;
  }

  .door_knob_list li {
    width: calc(50% - 4px);
    margin-left: 0;
    margin-right: 0;
  }
}

/* safe
 **************************************** */
.safe_maker_list {
  flex-wrap: wrap;
  justify-content: space-between;
}

.safe_maker_list li {
  width: 32%;
  overflow: hidden;
  margin-bottom: 20px;
  border-radius: 10px;
  background-color: #fff;
  border-radius: 10px;
  border: 2px solid #f8952b;
}

.safe_maker--ttl {
  padding: 10px;
  font-size: 142%;
  text-align: center;
  background-color: #f8952b;
  line-height: 1.3;
}

.safe_maker--txt {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 20px;
  padding-bottom: 30px;
  font-size: 114%;
}

@media (max-width: 767px) {
  .safe_maker p {
    text-align: left;
  }

  .safe_maker_list li {
    width: 100%;
  }
}

/* car
 **************************************** */
.car_key {
  text-align: center;
}

.car_key_block {
  display: inline-block;
  margin-left: 10px;
  margin-right: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
  padding: 20px;
  text-align: center;
  border-radius: 20px;
  background: #ffeac7;
}

.car_key_block img {
  margin-left: 5px;
  margin-right: 5px;
  border-radius: 15px;
}

@media (max-width: 767px) {
  .car_key_block {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 20px 20px 10px 20px;
  }

  .car_key_block img {
    width: calc(50% - 13px);
    margin-bottom: 10px;
  }
}

/* repair
 **************************************** */
.to_manager_dtl {
  justify-content: space-between;
}

.to_manager .section_ttl span {
  font-size: 287% !important;
}

.to_manager_dtl li {
  width: 49%;
  padding: 30px;
  text-align: center;
  border-radius: 10px;
  background-color: #ffcf7e;
}

.to_manager_dtl li h3 {
  margin-bottom: 20px;
  padding-bottom: .5em;
  line-height: 1.3;
  border-bottom: 2px dashed #fff;
}

.to_manager_dtl li p {
  font-size: 114%;
  line-height: 1.7;
}

@media (max-width: 767px) {
  .to_manager_dtl li {
    width: 100%;
    padding: 5vw 7vw;
  }

  .to_manager_dtl li p {
    text-align: left;
  }

  .to_manager_dtl li+li {
    margin-top: 20px;
  }
}


/* security
 **************************************** */
.security--lead {
  font-size: 114%;
  text-align: center;
}

.invade_method_list {
  flex-wrap: wrap;
  justify-content: center;
  margin-left: 5%;
  margin-right: 5%;
}

.invade_method_list li {
  position: relative;
  width: calc(25% - 20px);
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 20px;
  padding: 20px 30px;
  font-size: 114%;
  border-radius: 10px;
  background-color: #fff;
}

.invade_method_list h3 {
  margin-bottom: 20px;
  font-size: 162%;
  text-align: center;
  line-height: 1.3;
}

.invade_method_list a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 107%;
  line-height: 1.3;
  border-bottom: 2px dotted #543c1a;
}

.invade_method_list a::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #543c1a;
  border-right: 2px solid #543c1a;
  transform: rotate(45deg);
}

.worst_key_list {
  justify-content: space-between;
  align-items: flex-start;
  margin-left: 5%;
  margin-right: 5%;
}

.worst_key_list li {
  position: relative;
  width: 32%;
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 30px;
  padding-bottom: 30px;
  border-radius: 20px;
  background-color: #fff;
}

.worst_key_list li:nth-child(2) {
  margin-top: 70px;
}

.worst_key_list li:nth-child(3) {
  margin-top: 140px;
}

.worst_key--ttl {
  display: flex;
  align-items: center;
  justify-content: center;
}

.worst_key--ttl::after {
  position: absolute;
  top: -70px;
  left: 50%;
  z-index: 0;
  display: block;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background-color: #fff;
  transform: translate(-50%);
}

.worst_key--img {
  position: relative;
  z-index: 1;
  order: -1;
  width: 70px;
  height: 171px;
  margin-right: 30px;
  background-size: contain;
  background-repeat: no-repeat;
}

.worst01 .worst_key--img {
  background-image: url(/wp/wp-content/themes/original_theme/images/security/img_worst01.png);
}

.worst02 .worst_key--img {
  background-image: url(/wp/wp-content/themes/original_theme/images/security/img_worst02.png);
}

.worst03 .worst_key--img {
  background-image: url(/wp/wp-content/themes/original_theme/images/security/img_worst03.png);
}

.worst_number {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin-top: -30px;
  margin-bottom: 20px;
  padding: 10px;
  font-size: 1.2rem;
  color: #fff;
  border-radius: 10px;
  line-height: 1;
  background-color: #e30000;
}

.worst_key_name {
  position: relative;
  z-index: 1;
  display: block;
  font-size: 185%;
  line-height: 1.3;
}

.worst_key_info {
  margin-bottom: 10px;
}

.worst_key_info dl {
  text-align: center;
}

.worst_key_info>*+* {
  margin-left: 50px;
}

.worst_key_info dt {
  display: inline-block;
  padding-left: 10px;
  padding-right: 10px;
  border-radius: 5px;
  background-color: #ffbb48;
}

.worst_key_status {
  margin-bottom: 10px;
  border: 1px solid #ffeac7;
  background-color: #fff;
}

.worst_key_status dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 10px;
}

.worst_key_status dl:nth-child(2n+1) {
  background-color: #ffeac7;
}

.worst_key_status dt {
  width: 50%;
  text-align: center;
  line-height: 1.3;
}

.worst_key_status dd {
  width: 50%;
  text-align: center;
}

.hojo_lead {
  font-size: 114%;
}

.hojo_step ul {
  counter-reset: number;
}

.hojo_step li {
  padding-top: 30px;
}

.hojo_step li+li {
  margin-top: 30px;
  border-top: 1px solid #ffbb48;
}

.hojo_step--txt {
  width: calc(100% - 200px);
  margin-left: 30px;
}

.hojo_step--txt p {
  font-size: 114%;
}

.hojo_step--ttl {
  color: #543c1a;
  font-size: 142%;
  line-height: 1;
}

.hojo_step--ttl::before {
  counter-increment: number;
  content: "Step "counter(number);
  display: inline-block;
  margin-bottom: 10px;
  margin-right: 10px;
  padding: 5px;
  font-size: 1rem;
  font-family: 'Libre Baskerville';
  border-radius: 10px;
  background-color: #ffbb48;
}

.hojo_step--img {
  width: 200px;
  order: -1;
}

.hojo_step--img img {
  border-radius: 10px;
}

.camera_lead {
  font-size: 114%;
}

.camera_type {
  margin-left: 5%;
  margin-right: 5%;
}

.camera_type h4 {
  line-height: 1;
}

.camera_type li {
  width: 49%;
  border-radius: 10px;
}

.camera_type li>div {
  width: 60%;
  padding: 30px 20px;
}

.camera_type figure {
  order: -1;
  width: 40%;
  height: 100%;
  margin-right: 20px;
  overflow: hidden;
  border-radius: 10px 0 0 10px;
}

.camera_type img {
  width: 100%;
}

.camera_place {
  margin-left: 7%;
  margin-right: 7%;
}

.camera_place li {
  width: 32%;
  border-radius: 10px;
}

.camera_place h4 {
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 2px dashed #ffbb48;
}

.camera_place p {
  padding: 25px 30px;
}

.other_goods_list {
  display: flex;
  margin-left: 5%;
  margin-right: 5%;
}

.other_goods_list li:first-child {
  width: 58%;
}

.other_goods_list li:last-child {
  width: 40%;
}

.other_goods_list li {
  border-radius: 10px;
}

.other_goods_list li>div {
  width: calc(100% - 300px);
  padding: 20px;
}

.other_goods_list figure {
  order: -1;
  width: 300px;
  padding: 10px;
}

.other_goods_list figure img {
  border-radius: 10px;
}

@media (max-width: 1080px) {
  .invade_method_list li {
    width: calc(50% - 20px);
  }

  .worst_key_list li {
    padding-left: 20px;
    padding-right: 20px;
  }

  .other_goods_list {
    display: block;
  }

  .other_goods_list li {
    width: 100% !important;
    margin-bottom: 20px;
  }
}

@media (max-width: 767px) {

  .security--lead,
  .hojo_lead,
  .hojo_step p,
  .hojo_step--txt,
  .camera_lead {
    text-align: left;
  }

  .worst_key_name {
    font-size: 170%;
  }

  .invade_method_list li {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .worst_key_list li {
    width: 100%;
    margin-top: 0 !important;
    padding-left: 20px;
    padding-right: 20px;
  }

  .worst_key_list li+li {
    margin-top: 10vw !important;
  }

  .worst_key_dtl {
    padding-left: 0;
  }

  .worst_key_dtl::before {
    position: relative;
    width: 20vw;
    height: 55vw;
    background-size: cover;
  }

  .worst_key_info {
    width: 70%;
    margin: auto;
  }

  .worst_key_info dl {
    justify-content: flex-start;
    margin-bottom: 1em;
    margin-left: 0;
  }

  .worst_key_info dt {
    width: 7em;
    text-align: center;
  }

  .hojo {
    padding-bottom: 50px;
  }

  .hojo_step li {
    text-align: center;
  }

  .hojo_step--txt {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
  }

  .hojo_step--img {
    width: 90%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .camera {
    margin-left: 5%;
    margin-right: 5%;
  }

  .camera_type,
  .camera_place {
    margin-left: 0;
    margin-right: 0;
  }

  .camera_type li,
  .camera_type li>div,
  .camera_type figure {
    width: 100%;
  }

  .camera_type li>div {
    padding: 7%;
  }

  .camera_type li+li {
    margin-top: 30px;
  }

  .camera_type h4 {
    font-size: 153%;
    text-align: center;
  }

  .camera_type img {
    border-radius: 0 0 10px 10px;
  }

  .camera_place li {
    width: 100%;
  }

  .camera_place li+li {
    margin-top: 30px;
  }

  .camera_place h4 {
    padding-top: 3%;
    padding-bottom: 3%;
  }

  .camera_place p {
    padding: 5vw 7vw;
  }

  .other_goods_list li+li {
    margin-top: 30px;
  }

  .other_goods_list li h4 {
    text-align: center;
  }

  .other_goods_list li,
  .other_goods_list li>div,
  .other_goods_list figure,
  .other_goods_list figure img {
    width: 100%;
  }
}

/* page_sub_ttl
 **************************************** */

.page_sub_ttl h2 {
  margin-bottom: 30px;
  color: #543c1a;
  font-size: 200%;
  font-family: 新丸ゴ R;
  text-align: center;
  line-height: 1.3;
}

.page_sub_ttl2 {
  position: relative;
}

.page_sub_ttl2 h2 {
  position: relative;
  z-index: 1;
  font-size: 357%;
}

.page_sub_ttl2 .key_small {
  width: 73px;
  height: 141px;
}

.page_sub_ttl2 .light.small {
  position: absolute;
  top: -60px;
}

.page_sub_ttl2 .key_small {
  position: absolute;
  top: 50%;
  left: calc(50% - 6px);
  z-index: 0;
  width: 61px;
  height: 90px;
  transform: translateX(-50%) translateY(-50%);
}

@media (max-width: 767px) {
  .page_sub_ttl h2 {
    font-size: 169%;
    margin-bottom: 5vw;
  }

  .page_sub_ttl2 h2 {
    font-size: 307%;
  }

  .page_sub_ttl2 .light.small {
    top: -40px;
  }

  .page_sub_ttl2 .key_small {
    width: 46px;
    height: 70px;
  }
}


/* subpage .contact_info
 **************************************** */

.subpage .contact_info_ttl {
  margin-top: -2vw;
}

.subpage .contact_info .business_hours {
  margin-bottom: 10px;
}

.subpage .contact_info {
  margin-top: 0;
  padding-bottom: 70px;
  background: url(/wp/wp-content/themes/original_theme/images/common/tel_back.png) top;
  background-repeat: no-repeat;
  background-size: cover;
}

.subpage .contact_info.top_minus {
  margin-top: -6vw;
}

.subpage .contact_info--support {
  bottom: -20px;
}

.subpage .contact_info_dtl::before {
  bottom: 0;
}

.subpage .contact_info .early {
  width: 62%;
  margin: auto;
  color: #fff;
  background-color: #543c1a;
}

@media (max-width: 767px) {
  .subpage .contact_info {
    margin-top: -7vw !important;
    padding-bottom: 5vw;
    background-repeat: no-repeat;
    background-size: auto 100% ;
    background-position: top center;
  }

  .subpage .contact_info::before {
    height: 7vw;
    background-size: contain;
    background-repeat: no-repeat;
  }

  .subpage .contact_info .early {
    width: auto;
    padding: 1vw 5vw 3vw 5vw;
    margin-top: 3vw;
  }

  .subpage .contact_info::after {
    top: 6vw;
    height: 105vw;
  }
}

/* price
**************************************** */

.price .inner {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.unlock_price {
  position: relative;
}

.unlock_price .key_img p {
  z-index: 3;
}

.unlock_price .key_img p:nth-child(1) {
  top: 7%;
  right: 6%;
}

.unlock_price .key_img p:nth-child(2) {
  bottom: 3%;
  left: 6%;
}

.spearkey_price .page_sub_ttl {
  padding-top: 50px;
}

.price_tbl {
  position: relative;
}

.price_tbl .dog_img {
  z-index: 5;
  bottom: -10%;
  right: 9%;
}

.price_tbl .dog_img03 {
  left: 10%;
}

.price_tbl .dog_img03::after {
  width: 106px;
  height: 235px;
  transform: scale(-1, 1);
}

.price_tbl .dog_img05::after {
  width: 124px;
  height: 222px;
  transform: scale(-1, 1);
}

.unlock_price .price_tbl {
  padding-top: 50px;
  padding-bottom: 40px;
}

.price_ttl {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.price_ttl span {
  font-size: 214%;
  font-family: 新丸ゴ R;
  text-align: center;
}

.price_ttl svg {
  margin-right: 15px;
}

.price_ttl .house {
  width: 60px;
  height: 48px;
}

.price_ttl .car {
  width: 60px;
  height: 48px;
}

.price_ttl .safe {
  width: 60px;
  height: 48px;
}

.price_ttl .bag {
  width: 60px;
  height: 48px;
}

.page-price .contact_info--key {
  margin-top: -230px !important;
}

.spearkey_price {
  position: relative;
  padding-bottom: 200px !important;
}

.spearkey_price::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 99px;
  background: url(/wp/wp-content/themes/original_theme/images/common/bg_circle_wh.png) center;
}

.price_list {
  flex-wrap: wrap;
  justify-content: center;
  padding-left: 5%;
  padding-right: 5%;
  padding-top: 20px;
}

.price_house .price_list {
  width: 70%;
  margin: auto;
}

.price_list li {
  display: flex;
  justify-content: space-between;
  width: calc(33.33% - 20px);
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 20px;
  border: 3px solid #f8952b;
  border-radius: 10px;
}

.price_house .price_list li {
  width: calc(50% - 20px);
}

.price_list--txt {
  display: flex;
  flex-wrap: wrap;
  width: 70%;
  border-radius: 0 8px 0 0;
  background-color: #ffeac7;
}

.price_list_ttl {
  margin-bottom: 20px;
  font-family: 新丸ゴ R;
  font-size: 157%;
  line-height: 1.3;
}

.price_list_detail {
  flex-grow: 1;
  padding: 20px 30px;
  line-height: 1.3;
}

.price_list--img {
  position: relative;
  order: -1;
  width: 30%;
  padding-top: 37%;
  overflow: hidden;
  border-radius: 8px 0 0 8px;
  background-color: #fff;
}

.spearkey_price .price_list--img {
  background-color: #222;
}

.price_list--img img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 100%;
}

.price_list--price {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  margin-top: auto;
  padding: 10px;
  color: #fff;
  font-family: 新丸ゴ R;
  text-align: center;
  line-height: 1.5;
  background-color: #f8952b;
}

.price_list--price p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.price_list--price p+p {
  margin-left: 10px;
}

.price_list--price .icon {
  display: inline-block;
  margin-right: .5em;
  padding-left: 5px;
  padding-right: 5px;
  border-radius: 5px;
  background-color: #fff;
}

@media (max-width: 1080px) {

  .price .key_img,
  .price .dog_img {
    display: none;
  }

  .price_house .price_list {
    width: auto;
  }

  .price_list li {
    width: calc(50% - 20px);
  }
}

@media (max-width: 767px) {
  .price .inner {
    width: 100%;
  }

  .price p {
    text-align: left;
  }

  .unlock_price .price_tbl {
    padding-top: 10vw;
  }

  .price_ttl svg {
    margin-right: 10px;
  }

  .price_ttl .house {
    width: 38px;
    height: 31px;
  }

  .price_ttl .car {
    width: 45px;
    height: 32px;
  }

  .price_ttl .safe {
    width: 37px;
    height: 37px;
  }

  .price_ttl .bag {
    width: 35px;
    height: 32px;
  }

  .price_ttl span {
    font-size: 169%;
  }

  .unlock_price .key_img {
    display: none;
  }

  .price_list {
    padding-top: 3vw;
  }

  .price_house .price_list li,
  .price_list li {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 15px;
  }

  .price_list_detail {
    padding: 15px 20px;
  }

  .price_list_ttl {
    margin-bottom: 10px;
  }

  .spearkey_price::after {
    height: 40px;
    background-size: cover;
  }
}

/* company
**************************************** */

/* --- company_dtl --- */
.company_dtl {
  font-size: 114%;
}

.company_dtl .inner {
  position: relative;
}

.company_dtl dl:not(:last-child) dt {
  border-bottom: 2px solid #ffbb48;
}

.company_dtl dl:not(:last-child) dd {
  border-bottom: 1px solid #ffbb48;
}

.company_dtl dt {
  width: 25%;
  padding: 15px;
}

.company_dtl dd {
  width: 75%;
  padding: 15px;
}

.company_dtl .key_img p:nth-child(1) {
  top: 30%;
  right: -20%;
}

.company_dtl .key_img p:nth-child(2) {
  top: -4%;
  right: -37%;
}

.company_dtl .key_img p:nth-child(3) {
  top: 10%;
  left: -40%;
}

.company_dtl .key_img p:nth-child(4) {
  top: 50%;
  left: -23%;
}

.company_dtl .key_img p:nth-child(5) {
  bottom: 20%;
  right: -32%;
}
.company_dtl .company_pres {
  text-align: center;
  width: 30%;
  margin: 40px auto 0;
}
.company_dtl .company_pres_txt {
  padding-top: 16px;
}
/* --- company_accsess --- */
.company_accsess {
  position: relative;
  height: 37vw;
}

.company_accsess_info {
  position: absolute;
  left: 0;
  z-index: 1;
  overflow: hidden;
  width: 35%;
  height: 100%;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/pt03.jpg);
}

.company_accsess--txt {
  position: relative;
  padding-top: 16%;
  padding-bottom: 6%;
  text-align: center;
}

.company_accsess--img {
  width: 100%;
}

.company_accsess--img img {
  width: 100%;
}

#company_accsess--map {
  position: absolute !important;
  right: 0;
  top: 50%;
  width: 65%;
  height: 100%;
  transform: translateY(-50%);
}

/* --- company_area --- */
.company_area .inner::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: calc(50% - 40px);
  z-index: 0;
  width: 541px;
  height: 518px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/map.jpg);
  opacity: .1;
  transform: translate(-50%);
}

.company_area .inner {
  position: relative;
}

.company_area .inner>* {
  position: relative;
  z-index: 1;
}

.company_area--map {
  justify-content: space-between;
}

.company_area--map h3 {
  margin-bottom: 10px;
  border-radius: 5px;
  text-align: center;
}

.company_area--map p {
  padding-left: 10px;
  padding-right: 10px;
}

.company_area--map p span {
  display: block;
}

.company_area--gifu {
  width: calc(80% - 20px);
}

.company_area--gifu h3 {
  background-color: #bfe0dc;
}

.company_area--gifu ul {
  justify-content: space-between;
}

.company_area--gifu li {
  width: 20%;
}

.company_area--gifu h4 {
  color: #22998c;
  margin-bottom: 10px;
  text-align: center;
  border-radius: 5px;
  border-bottom: 1px solid #22998c;
}

.company_area--other {
  display: flex;
  justify-content: space-between;
  width: 20%;
}

.company_area--other>div {
  width: calc(50% - 10px);
}

.company_area_other--aichi h3 {
  background-color: #c9ebf0;
}

.company_area_other--shiga h3 {
  background-color: #ccfaf5;
}

@media (max-width: 1080px) {
  .company_accsess {
    height: 44vw;
  }

  .company_accsess--txt {
    padding-top: 10vw;
  }
}

@media (max-width: 767px) {

  .company_dtl dt,
  .company_dtl dd {
    width: 100%;
  }

  .company_dtl dt {
    padding: 10px 20px;
    border-top: 2px solid #ffbb48;
    border-bottom: none !important;
    background: #ffeac7;
  }

  .company_dtl dl:not(:last-child) dd {
    border-bottom: none;
  }

  .company_accsess {
    height: auto;
  }

  .company_accsess_info {
    position: relative;
    width: 100%;
    padding-bottom: 5%;
  }

  .company_accsess--txt {
    padding-top: 20vw;
  }

  #company_accsess--map {
    position: relative !important;
    width: 100%;
    height: 70vw;
    transform: none;
  }

  .company_area .inner {
    text-align: left;
  }

  .company_area--gifu,
  .company_area--other {
    width: 100%;
  }

  .company_area--gifu li {
    width: 100%;
  }

  .company_area--gifu li+li {
    margin-top: 20px;
  }

  .company_area--map p {
    padding: 0;
  }

  .company_area--map p span {
    display: inline-block;
    margin-right: .5em;
  }

  .company_area--other {
    margin-top: 30px;
  }
  .company_dtl .company_pres {
    width: 90%;
  }
}


/* thanks
 **************************************** */

.thanks .inner {
  position: relative;
  padding: 50px 30px;
  border-radius: 20px;
  background-color: #ffeac7;
}

.thanks .key_img p:nth-child(1) {
  bottom: 30px;
  left: -230px;
}

.thanks .key_img p:nth-child(2) {
  top: 20px;
  right: -210px;
}



/* =====================================================================================

    ARCHIVE

===================================================================================== */

/* main-column
 **************************************** */
.main-column {
  float: left;
  width: 760px;
}
/* --- post --- */
.post { position: relative; }
.post--link::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.post--link:hover {
  text-decoration: underline;
}


.blog {
  padding-bottom: 160px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/pt01.jpg);
}

.blog .post .mceContentBody p {
  margin-bottom: 0;
  letter-spacing: 0;
  font-size: 18px;
}

.blog .post--list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3,minmax(30%,1fr));
  column-gap: 14px;
  row-gap: 14px;
}
@media (max-width: 767px) {
  .blog .post--list {
  grid-template-columns: repeat(2,minmax(calc(50% - 7px),1fr));
  }
}
.search_archive.blog  .post--list {
  grid-template-columns: repeat(4,1fr);
}
.blog .post--list .post {
  padding: 20px;
  position: relative;
  display: flex;  
  flex-direction: column;
  gap: 20px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.5);
}
.blog .post--list .post-img {
  margin: 0 auto;
  overflow: hidden;
  width: 120px; 
  height: 110px;
  border-radius: 0;
}
.blog .post-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.blog .post--list .no-img {
}


.blog .post--list .date {
  margin: 0  0;
}


.blog .post::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -20px;
  right: 0;
  background-size: cover;
}

.blog .post:nth-child(6n+1)::before {
  width: 99px;
  height: 177px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/chara_dog01.svg);
}

.blog .post:nth-child(6n+2)::before {
  width: 99px;
  height: 180px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/chara_dog02.svg);
}

.blog .post:nth-child(6n+3)::before {
  width: 82px;
  height: 183px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/chara_dog03.svg);
}

.blog .post:nth-child(6n+4)::before {
  width: 123px;
  height: 178px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/chara_dog04.svg);
  transform: scale(-1, 1);
}

.blog .post:nth-child(6n+5)::before {
  width: 104px;
  height: 186px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/chara_dog05.svg);
  transform: scale(-1, 1);
}

.blog .post:nth-child(6n+6)::before {
  width: 93px;
  height: 186px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/chara_dog06.svg);
}
.blog .post::before {
  scale: .4;
  display: none;
}

.blog .post_ttl {
  font-size: 100%;
  font-weight: bold;
  font-family: 新丸ゴ B;
  line-height: 1.4;
  letter-spacing: .1em;
}
.single-blog .blog .post_ttl {
  font-size: 180%;
  font-weight: normal;
  font-family: 新丸ゴ R;
}

.category_list {
  overflow: hidden;
  margin-bottom: 30px;
}

.category_list li {
  list-style: none;
}


.side-section a:hover {
  color: #ccc;
}

.category_list a {
  display: inline-block;
  vertical-align: middle;
  font-size: 79%;
  font-family: 新丸ゴ R;
  line-height: 1;
  padding: 6px 16px;
  border-radius: 3px;
  float: left;
  margin: 0 4px 4px 0;
  white-space: nowrap;
}

.sidebar-child_cat a,
.sidebar-grandson_cat_ttl {
  display: flex;
  padding: 16px 5px;
  justify-content: space-between;
}

.sidebar-grandson_cat_ttl::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-right: 2px solid #543c1a;
  border-bottom: 2px solid #543c1a;
  transform: translateY(50%) rotate(45deg);
}

.sidebar-grandson_cat_top.open .sidebar-grandson_cat_ttl::after {
  transform: translateY(50%) rotate(-135deg);
}

.sidebar-grandson_cat_top.open .sidebar-grandson_cat {
  height: auto !important;
  overflow: auto;
  transition: .2s ease-out;
}

.sidebar-child_cat>li:not(:first-child) {
  border-top: 1px dashed #ffcf7e;
}

.sidebar-child_cat>li:last-child {
  border-bottom: 1px dashed #ffcf7e;
}

.sidebar-grandson_cat {
  transition: .2s ease-out;
  overflow: hidden;
}

.sidebar-grandson_cat li:first-child {
  padding-top: 5px;
  border-top: 1px dashed #ffcf7e;
}

.sidebar-grandson_cat li:last-child a {
  margin-bottom: 5px;
}

.sidebar-grandson_cat a {
  display: block;
  padding: 5px 0;
}

.sidebar-grandson_cat a::before {
  content: "-";
  margin-right: .5em;
}

.date {
  margin-bottom: 8px;
  color: #e30000;
  font-size: 114%;
}

.post .post-img {
  overflow: hidden;
  margin: 0 0 24px 24px;
  border-radius: 5px;
}

@media(max-width: 1100px) and (min-width: 768px) {
  .main-column {
    width: 70%;
  }
}

@media (max-width: 767px) {
  .main-column {
    width: 100%;
    float: none;
  }

  .post_ttl {
    font-size: 169%;
    line-height: 1.5;
  }

  .post-img {
    width: 110px;
  }

  .post section::after {
    padding-bottom: 40px;
  }

  .post::before {
    display: none;
  }
}

/* faq
 **************************************** */

.faq_search_box {
  padding-top: 40px;
   background-image: url(/wp/wp-content/themes/original_theme/images/common/pt01.jpg);
}
@media (max-width: 767px) {
  .faq_search_box {
    padding-top: 40px;
  }
}
.faq_search_box .side_search_box {
  width: 90%;
  max-width: 440px;
  margin-left: auto;
  margin-right: auto;
   margin-bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 0;
  column-gap: 20px;
}
@media (max-width: 767px) {
  .faq_search_box .side_search_box {
    flex-direction: column;
  }
}
.faq_search_box .inner {
  margin: 0;
  width: fit-content;
  min-width: 220px;
}
@media (max-width: 767px) {
  .faq_search_box .inner {
    width: 90%;
  }
}
.faq_search_box  .side_search_txt {
  margin-bottom: 0;
  font-size: 114%;
}
.faq {
  padding-top: 0;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/pt01.jpg);
}

.faq .main-column {
  float: none;
  width: 100%;
  max-width: 940px;
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  padding: 45px;
}
@media (max-width: 767px) {
  .faq .main-column {
    padding: 20px;
  }
}
.faq .section_pdg {
  padding-top: 0;
  padding-bottom: 0; 
}
@media (max-width: 767px) {
  
  .faq .faq_section_pdg {
    padding-top: 0;
    padding-bottom: 0;
 }
 .faq .faq_section_pdg_bottom {
    padding-top: 0;
    padding-bottom: 0; 
  }
 }
.faq-ttl {
  font-size: 16px;
  text-align: center;
  line-height: 2;
  margin-bottom: 28px;
}
.faq .category_list  {
  display: flex;
  justify-content: center;
  column-count: 3;
  flex-wrap: wrap;
  column-gap: 20px;
  row-gap:  14px;
}
@media (max-width: 767px) {
  .faq-ttl {
    margin-bottom: 14px;
  }
  .faq .category_list {
    column-gap: 8px;
    row-gap: 8px;
  }
}
.faq .category_list a {
  font-size: 14px;
  color: #fff;
  display: inline-block;
  padding: 4px 24px;
  background: #FB880D;
  border-radius: 100px;
  line-height: 2;
  border: 1px solid #FB880D;
  transition: .4s ease-out;
}
@media (max-width: 767px) {
  .faq .category_list a {
    padding: 4px 12px;
    line-height: 1.8;
    margin: 0;
  }
}
.faq .category_list a:hover {
  background: #fff;
  color: #FB880D;
}
.faq_category-column {
  width: 90%;
  margin-bottom: 40px;
  padding-top: 40px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .faq_category-column {
    width: 100%;
  }
}
.faq-item {
  font-family: 新丸ゴ R;
  padding-bottom: 13px;
  margin-bottom: 13px;
  border-bottom: 1px #FFEAC7 solid;
}
.faq_ttl,
.faq_txt {
  padding-left: 38px;
  padding-right: 34px;
  position: relative;

}
.faq_txt { 
  font-family: 新丸ゴ R;
}
.faq_txt strong,
.faq_txt .bold {
  display: inline-block;
  padding: 0 0.125em;
  background: linear-gradient( rgba(255,255,255,0) 0%, rgba(255, 255, 255, 0) 50%, #FFF1AA 50%, #FFF1AA 90%, rgba(255,255,255,0) 90%, rgba(255,255,255,0) 100%);
  font-weight: bold;
  font-family: 新丸ゴ B;
}

.faq_ttl {
  cursor: pointer;
  transition: .4s ease-out;
}
.faq_ttl:hover {
  opacity: .5;
}
.faq_ttl .toggle_btn {
  position: absolute;
  right:  0;
  top: -.125em;
  display: block;
  width: 10px;
  height: 10px;
  border: 2px solid #21359a;
  border-width: 2px 2px 0 0;
  rotate: 135deg;
  transition: .4s ease-in-out;
}
.faq_ttl.active .toggle_btn{
  rotate: -45deg;
}
.faq_icon {
  width: 28px;
  height: 28px;
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: -.125em;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.faq_icon.quest_icon {
  background: #23988B;
}
.faq_icon.answer_icon {
  background: #E30000;
}
.faq_icon.answer_icon .faq_icon_inner {
  translate: 1px;
}
.faq_txt {
  margin-top: 14px;
}

/* side-column
**************************************** */
.side-column {
  float: right;
  width: 240px;
}

.side-section {
  margin-bottom: 56px;
}

.side-ttl {
  font-size: 120%;
  font-family: 新丸ゴ R;
  letter-spacing: 0.2em;
  line-height: 1;
  margin-bottom: 24px;
}

.side-ttl small {
  font-size: 62%;
  font-family: 'Libre Baskerville';
  letter-spacing: 0.15em;
  display: block;
  line-height: 1;
  margin-top: 8px;
}

.side-link_list li {
  padding: 16px 0;
  border-bottom: 1px dashed #ffcf7e;
}

.side-link_list li .no-image,
.side-thumbnail.no-image {
  display: none;
}

.side-link_list a {
  display: flex;
  line-height: 1.6;
}

.side-link_list a:hover {
  color: #ccc;
}

.side-thumbnail>div {
  position: relative;
  width: 96px;
  height: 96px;
  margin: 0 16px 0 0;
  overflow: hidden;
  border-radius: 3px;
}

.side-thumbnail img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translateX(-50%) translateY(-50%);
}

/* catarea-bloc */
.catarea-bloc {
  position: relative;
  padding: 8px 0;
  border-top: 1px solid #888;
}

.catarea-bloc h3 {
  padding-right: 64px;
  line-height: 1.5;
}

.catarea-bloc h3 a {
  display: block;
}

.catarea-bloc h3 a:hover {
  color: #333
}

.catarea-bloc .tab {
  display: inline-block;
  position: absolute;
  background: #aaa;
  height: 20px;
  text-align: center;
  border-radius: 10px;
  line-height: 20px;
  color: #fff;
  top: 9px;
  right: 0;
  font-size: 80%;
  padding: 0 8px;
}

.catarea-bloc .tab:hover {
  background: #aaa;
}

.catarea-bloc .tab.open {
  background: #d3cfac;
}

.catarea-bloc .catarea-list {
  margin-top: 16px;
  display: block;
}

.catarea-bloc .catarea-list li a {
  background: #f6f6f6;
  display: block;
  padding: 4px 16px;
  margin-top: 4px;
  font-size: 93%;
  line-height: 1.4;
}

.catarea-bloc .catarea-list li a:hover {
  background: #ccc;
}

#wp-calendar {
  width: 100%;
  text-align: center;
}

#wp-calendar td {
  padding: 2px 0;
}

#wp-calendar tbody td a {
  background-color: #eee;
  display: inline-block;
  width: 25px;
  height: 25px;
  text-decoration: none;
  border-radius: 15px;
}

#wp-calendar #prev a,
#wp-calendar #next a {
  background: #56a0b9;
  border-radius: 2px;
  color: #fff;
  text-decoration: none;
  display: block;
  margin-top: 16px;
}

.top_cat {
  display: block;
  color: #e30000;
  font-weight: bold;
  border-bottom: 1px solid #e30000;
}

.side-section li:not(:first-child) .top_cat {
  margin-top: 50px;
}

.side-archives {
  display: flex;
  flex-wrap: wrap;
}

.side-archives li {
  width: 50%;
  font-size: 92%;
}

@media(max-width: 1100px) and (min-width: 768px) {
  .side-column {
    width: 27%;
  }

  .catarea-bloc {
    width: 23%;
    display: inline-block;
    margin: 1%;
  }

  .side-section {
    overflow: hidden;
  }
}

@media (max-width: 767px) {
  .side-column {
    width: 100%;
    float: none;
    margin-top: 80px;
  }

  .side-column .side-section:last-child {
    margin-bottom: 0;
  }

  .side-ttl {
    margin-bottom: 12px;
  }

  .catarea-bloc .catarea-list {
    overflow: hidden;
    margin: 8px 0 16px;
  }

  .catarea-bloc .catarea-list li {
    width: 49%;
    margin: 0 0 1% 1%;
    float: left;
  }

  .catarea-bloc .catarea-list li a {
    font-size: 100%;
  }
}

/* blog
**************************************** */
.blog .category_list a {
  color: #fff;
  background-color: #f8952b;
}
.blog .category_list a:hover {
  background-color: #cb6d08;
}

/* words common
**************************************** */
.words_category {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: auto;
}

.words_category li+li {
  margin-left: 1vw;
}

.words_category a {
  display: block;
  padding: 7px 20px;
  text-align: center;
  border-radius: 5px;
  background-color: #ffbb48;
}

.words_category a:hover {
  background-color: #ffcf7e;
}

@media (max-width: 767px) {
  .words_category {
    display: block;
    padding-left: 8%;
    padding-right: 9%;
  }

  .words_category li {
    display: inline-block;
    width: 30%;
    margin: 1% !important;
  }

  .words_category a {
    padding: 6% 20%;
  }
}


/* words_archives
**************************************** */
.current_cat {
  padding-top: 30px;
  padding-bottom: 30px;
  background-position: center;
}

.words_archives {
  margin-left: 5%;
  margin-right: 5%;
}

.words_archives .inner {
  flex-wrap: wrap;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.words_item {
  position: relative;
  width: calc(25% - 20px);
  margin: 10px;
  border-radius: 10px;
  background-color: #ffeac7;
  border: 3px solid #ffeac7;
  transition: .3s;
}

.words_item:hover {
  background-color: #543c1a;
  border: 3px solid #543c1a;
  transform: scale(1.05);
}

.words_item a {#
  display: flex;
  height: 100%;
}

.words_item a:hover {
  color: #333;
}

.words_item:hover .words_ttl {
  color: #fff;
}

.words_item .eyecatch {
  position: relative;
  width: 30%;
  overflow: hidden;
  padding-bottom: 30%;
  border-radius: 0 8px 8px 0;
}

.words_item .eyecatch img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translateX(-50%) translateY(-50%);
}

.words_ttl {
  position: relative;
  font-family: 新丸ゴ R;
  color: #543c1a;
  font-size: 214%;
}

.words_item .words_ttl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-grow: 1;
  width: 70%;
  padding: 20px;
  line-height: 1.3;
  font-size: 171%;
}

.words_item .words_ttl::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  border-right: 2px solid #543c1a;
  border-top: 2px solid #543c1a;
  transform: rotate(45deg) translateY(-50%);
}

.words_item .words_ttl:hover::after {
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
}

.words_item .category_list {
  position: absolute;
  margin-bottom: 0;
  margin-left: 30px;
  margin-top: -40px;
}

.words .category_list a {
  background-color: #ffbb48;
}

.words .category_list a:hover {
  color: #333;
}

.words_archives .more {
  display: block;
  width: 80%;
  margin: auto;
}

.words_archives .wp-pagenavi {
  margin-top: 50px;
}


/* search
**************************************** */
.search_word {
  padding-top: 30px;
  padding-bottom: 30px;
  background-position: center;
}

.no-result {
  margin: auto;
  font-size: 128%;
}

.no-result a {
  padding-left: 1em;
  padding-right: 2em;
}

@media (max-width: 1080px) {
  .words_item {
    width: calc(50% - 20px);
  }
}

@media (max-width: 767px) {
  .words_archives .inner {
    width: 100%;
  }

  .words_item {
    width: 100%;
    margin: 10px 0;
  }

  .words_item .category_list {
    margin-left: 20px;
    margin-top: -30px;
  }

  .words_archives .wp-pagenavi {
    width: 100%;
  }
}

/* =====================================================================================

    SINGLE

===================================================================================== */
.wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 50px;
}

.single .wp-pagenavi {
  justify-content: space-between;
}

.wp-pagenavi .pages {
  display: block;
  width: 100%;
  text-align: center;
  margin-bottom: 20px;
}

.wp-pagenavi .extend {
  margin-right: 5px;
}

.wp-pagenavi .current,
.wp-pagenavi a {
  position: relative;
  display: inline-block;
  max-width: 42%;
  margin-right: 5px;
  margin-bottom: 10px;
  padding: 8px 16px;
  overflow: hidden;
  vertical-align: top;
  color: #543c1a;
  line-height: 1.4;
  border-radius: 3px;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #ffbb48;
}

.single .wp-pagenavi a {
  margin-left: 0;
  margin-right: 0;
}

.wp-pagenavi .current {
  color: #fff;
  background: #e30000;
}

.wp-pagenavi a:hover {
  background: #ffcf7e;
}

/* words_single
**************************************** */
.words_single .mceContentBody a {
  pointer-events: none;
}

.words_single .words_ttl h2 {
  flex-grow: 1;
  padding-bottom: 10px;
  border-bottom: 2px dashed #e30000;
}

.words_single .mceContentBody {
  font-size: 114%;
}

.words_single .mceContentBody img {
  margin: 0;
  border-radius: 20px;
  border: 1px solid #ffeac7;
  margin: 20px auto;
}

.words_single .mceContentBody img:first-child:last-child {
  float: right;
  display: block;
  width: auto;
  max-width: 240px;
  max-height: 300px;
  margin-left: 30px;
  margin-top: 20px;
}

@media (max-width: 767px) {
  .words_ttl {
    font-size: 184%;
  }

  .wp-pagenavi {
    display: block;
    text-align: center;
  }

  .wp-pagenavi a {
    width: auto;
    max-width: 100%;
    margin-bottom: 8px;
    margin-left: 0;
    margin-right: 5px;
  }

  .wp-pagenavi {
    width: 100%;
  }

  .wp-pagenavi .pages {
    display: block;
    width: 100%;
    margin-bottom: 8px;
    text-align: center;
  }

  .words_single .mceContentBody img:first-child:last-child {
    float: none;
    display: block;
    width: auto;
    max-width: 100%;
    max-height: none;
    margin-left: auto;
    margin-top: auto;
  }
}


/* ショートコード　CTA
**************************************** */
.cta--custom {
  margin-top: 40px;
  font-family: 新丸ゴ R;
}
.cta--custom--inner {
  padding: 10px;
  background: #FFB744;
  display: grid;
  grid-template-columns:  minmax(446px,auto) 1fr;
  column-gap: 10px;
  row-gap: 10px;
}
.cta--custom--txt {
  padding: 20px 16px;
  background: #fff;
  grid-column: 1;
  grid-row: 1 / 3;
  font-size: 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: 新丸ゴ R;
}
.cta--custom--txt strong,
.cta--custom--txt .bold {
  font-family: 新丸ゴ B;
}
.cta--custom--txt_inner {
  height: fit-content;
  line-height: 1.6;
}
.cta--custom--cta_tel {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: flex-end;
}
.cta--custom--cta_tel a {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #e30000;
  padding: 15px 14px  10px;
  border-radius: 10px;
}
.cta--custom--tel {
  display: block;
  margin: 0 0 10px;
}
.cta--custom--hours {
  margin-top: 10px;
  display: block;
  text-align: center;
  font-size: 12px;
  color: #fff;
}
.mail_btn {
  grid-column: 2;
  grid-row: 2;
}
.mail_btn a {
  background: #FB880D;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  border-radius: 10px;
  width: 100%;
  padding: 15px 10px;
  color: #fff;
  font-size: 18px;
}
.mail_btn a:hover {
  background: #cb6d08;
}
@media (max-width: 767px) {
  .cta--custom--inner {
    display: flex;
    flex-direction: column;
    padding: 20px 10px;
  }
}


  /* writerprofile
**************************************** */
.writerprofile {
  margin-top: 64px;
  border: 4px solid #FFB744;
  padding: 0 30px 30px;
  border-radius: 18px;
  font-family: 新丸ゴ R;
}
.writer--ttl {
  display: block;
  width: fit-content;
  margin: 0 auto 0 0;
  padding: 6px 16px;
  color: #fff;
  font-weight: 500;
  font-size: 112.5%;
  line-height: 2;
  background: #FFB744;
  transform: translateY( calc(-50% - 4px));
  font-weight: bold;
  border-radius: 8px;
}
.writer--cont {
  display: grid;
  grid-template-columns: 198px 1fr;
  column-gap: 40px;
  row-gap: 40px;
}
.writer--img {
  width: 100%;
  max-width: 198px;
  aspect-ratio: 12 / 7;
  overflow: hidden;
  margin: auto;
}
.writer--img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.writer--mainprofile_txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 4px;
}
.writer--mainprofile {
  display: flex;
  column-gap: 40px;
  place-content:  center normal;
}
.writer--name {
  font-size: 112.5%;
  font-weight: bold;
  font-family: 新丸ゴ B;
}


@media  only screen and (max-width: 767px) {
  .writerprofile {
    margin-top: 32px;
    border: 6px solid rgba(239,241,244,.5);
    padding: 0 20px 16px;
  }
  .writer--ttl {
    padding: 0 16px;
    font-size: 100%;
    margin-left: auto;
    margin-right: auto;
    line-height: 32px;
    border-radius: 4px;
  }
  .writer--cont {
    display: block;
  }
  .writer--img {
    margin: 0 auto 16px;
  }
  .writer--mainprofile {
    flex-direction: column;
    row-gap: 20px;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
}

  /* 関連記事
**************************************** */
.connection_liset {
  margin: 0 0 200px;
  padding: 20px 0 32px;
  background-image: url(/wp/wp-content/themes/original_theme/images/common/pt03.jpg);
}
.connection_liset .ttl {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  color: #543C1A;
  font-size: 20px;
  margin-bottom: 10px;
  font-family: 新丸ゴ B;
}
@media (max-width: 767px) {
  .connection_liset {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.connection_liset .post_ttl a {
  font-size: 14px;
  font-weight: bold;
  font-family: 新丸ゴ B;
}
.connection_liset .container {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  overflow-x: auto;
}
.scroll-wrap {
  width: fit-content;
  column-gap: 32px;
  display: flex;
}
.scroll-wrap .post {
  background: #fff;
  margin-bottom: 2em !important;
  width: 280px;
  padding: 15px;
}
.scroll-wrap .post  .post-img {
  width: 140px;
  height: 140px;
  margin: 0 auto 10px;
}
.scroll-wrap .post  .post-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.scroll-wrap .post_ttl {
  font-weight: bold;
  font-size: 12px;
  font-family: 新丸ゴ B;
}
.scroll-wrap .date {
  display: none;
}
/*スクロールバー*/
.connection_liset .container::-webkit-scrollbar {
  height: 8px;
  background: #fff;
  border-radius: 10px
}
.connection_liset .container::-webkit-scrollbar-track {
  background: 0 0;
  border: none
}
.connection_liset .container::-webkit-scrollbar-thumb {
  background: #d49831;
  border-radius: 10px
}

/* =====================================================================================

    Event Organiser スタイル

===================================================================================== */
.eo-fullcalendar-reset.fc-unthemed .fc-today {
  background: #fff2ae !important;
}

.fc-toolbar h2 {
  font-size: 120% !important;
  font-weight: bold !important;
  font-family: 新丸ゴ R !important;
}

.fc-day-grid-event {
  padding: 2px !important;
  font-size: 100% !important;
  font-weight: bold !important;
  border-radius: 4px !important;
  border: none !important;
}

.fc-ltr .fc-basic-view .fc-day-number {
  padding: 2px 8px !important;
  text-align: left !important;
  font-size: 120%;
  font-family: 新丸ゴ R !important;
}

.fc-sat {
  color: #2181ff;
  background-color: #ebf6ff !important;
}

.fc-sun {
  color: #ff4b2a;
  background-color: #ffefeb !important;
}

.fc-row .fc-content-skeleton tbody td,
.fc-row .fc-helper-skeleton tbody td {
  padding: 0 6px 4px 6px !important;
  text-align: center;
}

.fc-row .fc-content-skeleton td,
.fc-row .fc-helper-skeleton td {
  border-color: #ddd !important;
}

.fc button {
  border: none;
  outline: none;
  border-radius: 4px !important;
}

@media screen and (max-width: 767px) {
  .fc-toolbar {
    display: flex;
  }

  .fc-day-grid-event {
    font-size: 80% !important;
  }

  .fc-row .fc-content-skeleton tbody td,
  .fc-row .fc-helper-skeleton tbody td {
    padding: 0 2px 2px 2px !important;
  }
}

/* リキャプチャ・キャプション
**************************************** */
.grecaptcha-badge {
  visibility: hidden;
}

.recaptcha_policy {
  padding: 0;
  margin-top: 40px;
  color: #444 !important;
  font-size: 10px !important;
  text-align: center;
  letter-spacing: 0 !important;
}

.recaptcha_policy a {
  color: #111 !important;
  font-size: 11px !important;
  text-decoration: underline;
}

.page-contact-design .wpcf7-checkbox {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

@media screen and (max-width: 767px) {
  .recaptcha_policy {
    text-align: left;
  }
}


.crosstalk {
  background: rgba(255, 255, 255, 0.5);
  border-radius: 20px;
  padding: 54px 40px;
  margin-bottom: 32px;
}
.crosstalk .staff,
.crosstalk .customer {
  margin-bottom: 32px;
  position: relative;
}

.crosstalk .staff::after,
.crosstalk .customer::after {
  content: '';
  width: 60px;
  height: 60px;
  position: absolute;
  top: 50%;
  
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.crosstalk .customer::after {
  background-image: url('../images/blog/blog_img.png');
  left: 0;
  translate: -25px -50%;
  mix-blend-mode: multiply;
}
.crosstalk .staff::after {
  background-image: url('../images/blog/chara_dog01.svg');
  right: 0;
  translate: 80px -50%;
  width: 120px;
  height: 120px;
  transform: scale(-1,1 );
}

.crosstalk .inner {
  background: #fff;
  border: 2px solid #FB880D;
  position: relative;
  padding: 24px ;
}
.crosstalk .customer {
  padding-left: 56px;
}
.crosstalk .staff {
  padding-right: 56px;
}
.crosstalk .inner::after {
  content: '';
  width: 16px;
  height: 16px;
  display: block;
  rotate: 45deg;
  background: #fff;
  border: 2px solid #FB880D;
  position: absolute;
}
.crosstalk .staff .inner::after {
  top: 50%;
  right: 0;
  translate: calc(50% + 1px) -50%;
  
  border-width: 2px 2px 0 0;
}
.crosstalk .customer .inner::after {
  top: 50%;
  left: 0;
  translate: calc(-50% + -1px)-50%;
  border-width: 0 0 2px 2px;
}

.blog_info_ttl {
  position: relative;
  text-align: center;
  font-size: 22px;
  color: #543C1A;
  margin-bottom: 34px;
  z-index: 1;
  font-family: 新丸ゴ M;
}
.blog_info_ttl .key {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 54px;
  height: 84px;
  z-index: -1;
}


.cartype_info {
  background: #fff;
  border-radius: 20px;
  border: 2px solid #FB880D;
  padding: 54px 40px;
  margin-bottom: 30px;
}
.cartype_info_list {
  display: grid;
  grid-template-columns: 180px 1fr;
}
@media (max-width: 767px) {
  .blog_info_ttl .key {
    width: 27px;
    height: 42px;
  }

  .cartype_info_list {
   grid-template-columns: 100%;
  }
  .crosstalk,
  .cartype_info {
    padding: 20px;
  }
  .crosstalk .staff {
    padding-right: 30px;
  }
  .crosstalk .customer {
    padding-left: 30px;
  }
.crosstalk .customer::after {
    width: 30px;
    height: 30px;
    translate: -11px -50%;
  }
  .crosstalk .staff::after {
    width: 60px;
    height: 80px;
    translate: 35px -50%;
  }
}
.cartype_info dt {
  border: 1px solid #FFB744;
  border-width: 0 0 2px;
  padding: 10px 20px;
  font-weight: bold;
}
.cartype_info dd {
  padding: 10px 20px;
  border: 1px solid #FFB744;
  border-width: 0 0 2px;
}
@media (max-width: 767px) {
  .cartype_info dt {
    background: #FFB744;
    color: #000;
    padding: 5px 20px;
  }
  .cartype_info dd {
    margin-bottom: 20px;
    border: none;
    font-weight: bold;
  }
}
.add_cont_wrap {
  margin-top: 40px;
}
.add_cont_wrap {
  background: rgba(255, 255, 255, 0.5);
  border-radius: 20px;
  padding: 34px 24px 24px;
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.add_cont_wrap  .blog_info_ttl .key {
  width: 40px;
  height: 60px;
  opacity: .4;
}
.ttl_check ,
.ttl_no_check {
  font-family: 新丸ゴ M;
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 30px;
  padding-bottom: 16px;
  border-bottom: dashed 2px #ff3e3e;
}

@media (max-width: 767px) {
.ttl_check ,
.ttl_no_check {
  margin-bottom: 20px;
}
}
.ttl_check { 
  border: none;
  padding-bottom: 0;
  position: relative;
  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: center;
}
 .ttl_check .check {
  width: 24px;
  height: 24px;
  background: #ff953e;
  border-radius: 4px;
  display: inline-block;
  position: relative;
}
.ttl_check .check::after {
  content: '';
  height: 8px;
  width: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -65%;
  transform: rotate(-45deg);
  display: block;
  border: 2px solid #fff;
  border-width: 0 0 2px 2px;
}
.add_cont_item {
  background: #fff;
  border-radius: 18px;
  padding: 30px;
}
.add_cont_item--txt {
  font-size: 16px;
  line-height: 1.9;
}
.check_list {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.check_list li {
  list-style: none;
  padding-left: 30px;
  position: relative;
}
.check_list_ttl {
  display: block;
}
.check_list li::before {
  content: '';
  width: 24px;
  height: 24px;
  background: #f20016;
  border-radius: 4px;
  display: inline-block;
  position: absolute;
  top: 0.125em;
  left: 0;
  translate: 0 0;
}
.check_list li::after {
  position: absolute;
  content: '';
  height: 8px;
  width: 16px;
  top: 0.5em;
  left: 4px;
  translate: 0 0;
  transform: rotate(-45deg);
  display: block;
  border: 2px solid #fff;
  border-width: 0 0 2px 2px;
}


.modalwrap {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;

}
.modalwrap .message {
  width: 600px;
  max-width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background: #e30000;
  color: #fff;
  border-radius: 10px;
  font-size: 20px;
  padding: 40px;
  border: 1px solid #000;
}
@media (max-width: 767px) {
  .modalwrap .message { 
    width: 90%;
    font-size: 18px;
  }
}

.modalwrap .close_inner {
    padding-block: 8px;
    padding-inline: 16px;
    color: #ff442f;
    text-align: center;
    font-family: 新丸ゴ R;
    border-radius: 5px;
    background-color: #fff;
    border: 1px solid #fff;
    cursor: default;
}
.modalwrap .close_inner:hover {
  opacity: 0.8;
}