@charset "UTF-8";
/*
**  ===================================================================
**  各種設定：var,reset,base-font,break-point
**  ===================================================================
*/
/**
 * Foundation
**/
/**
 * WIDTH
**/
/**
 * COLOR
**/
/*
**  ===================================================================
**  foundation CSS ※サイト全体に共通のスタイル
**  ===================================================================
*/
/*!
 * html5doctor.com Reset Stylesheet v1.6.1 (http://html5doctor.com/html-5-reset-stylesheet/)
 * Richard Clark (http://richclarkdesign.com)
 * http://cssreset.com
 */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  line-height: 1;
}

body {
  line-height: 1;
  font-feature-settings: "palt";
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  border: 0px;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

img {
  border-style: none;
}

/*
**  ===================================================================
**  Mixin CSS
**  ===================================================================
*/
/**
 * clearfix
**/
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

html {
  font-family: fot-tsukuardgothic-std, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  font-style: normal;
}
@media only screen and (max-width: 480px) {
  html {
    font-size: 13px;
  }
}

body {
  background: url("../images/bg.jpg");
  background-size: cover;
  color: #42210b;
}

a {
  color: #42210b;
  text-decoration: none;
  transition: all 0.3s;
}
a:hover {
  opacity: 0.6;
  transition: all 0.3s;
}

.pc {
  display: block;
}
@media only screen and (max-width: 480px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media only screen and (max-width: 480px) {
  .sp {
    display: block;
  }
}

.btn {
  color: #fff;
  width: 324px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: #73b95f;
  border-radius: 10px;
  margin: 54px auto;
}
.btn:after {
  content: "";
  width: 7px;
  height: 14px;
  background: url("../images/link_arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  right: 24px;
  top: calc(50% - 7px);
}

.sec_inner {
  min-height: 44vh;
}

.sec_staff .staff_wrap {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 4em;
  justify-content: flex-start;
}
.sec_staff .staff_wrap .staff_block {
  width: calc(20% - 24px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  margin: 0 12px 24px;
}
@media only screen and (max-width: 480px) {
  .sec_staff .staff_wrap .staff_block {
    width: calc(50% - 20px);
    flex-direction: column;
    margin-bottom: 12px;
    min-width: inherit;
    margin: 0;
  }
}
.sec_staff .staff_wrap .staff_block .img {
  max-width: 160px;
  max-height: 160px;
  border-radius: 100%;
  overflow: hidden;
  acsept-ratio: 1/1;
}
.sec_staff .staff_wrap .staff_block .img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec_staff .staff_wrap .staff_block .position {
  margin: 8px auto;
  color: #73b85f;
  font-size: 16px;
}

.sec_training .training_wrap {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 4em;
}
@media only screen and (max-width: 480px) {
  .sec_training .training_wrap {
    flex-direction: column;
  }
}
.sec_training .training_wrap .training_block {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 42px;
}
@media only screen and (max-width: 480px) {
  .sec_training .training_wrap .training_block {
    width: 100%;
    flex-direction: column;
    margin-bottom: 60px;
  }
}
.sec_training .training_wrap .training_block .img {
  width: 160px;
  height: 160px;
  border-radius: 100%;
  overflow: hidden;
}
.sec_training .training_wrap .training_block .img img {
  width: 100%;
}
.sec_training .training_wrap .training_block .text {
  width: calc(100% - 160px);
  padding: 0 32px;
  box-sizing: border-box;
}
@media only screen and (max-width: 480px) {
  .sec_training .training_wrap .training_block .text {
    width: 100%;
    padding: 0;
    margin-top: 16px;
  }
}
.sec_training .training_wrap .training_block .text h3 {
  font-size: 20px;
  margin-bottom: 8px;
  color: #73b85f;
}
.sec_training .training_wrap .training_block .text p {
  line-height: 1.2;
}
.sec_training .training_wrap .training_block .text .price {
  margin: 12px 0;
  font-size: 18px;
  line-height: 1.5;
  background: #eaf4e7;
  padding: 8px;
  box-sizing: border-box;
}
.sec_training .training_wrap .training_block .text .price .price_list {
  line-height: 1.5;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
}
.sec_slide {
  margin-bottom: 80px;
}
.sec_slide .sec_inner {
  padding: 0 0 0px 0 !important;
  min-height: inherit;
}
.sec_slide .wpsisac-slick-carousal .slick-dots {
  margin-top: 20px !important;
}
.sec_slide .slick-slide .wpsisac-image-slide-wrap {
  width: 100%;
  height: 100%;
}
.sec_slide .slick-slide img {
  height: 100%;
  width: auto;
}

.sec_line .read {
  text-align: center;
  font-size: 18px;
  line-height: 1.5;
}
.sec_line .line_wrap {
  display: flex;
  width: 100%;
  justify-content: space-between;
  margin-top: 48px;
}
@media only screen and (max-width: 480px) {
  .sec_line .line_wrap {
    flex-direction: column;
  }
}
.sec_line .line_wrap .line_block {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 30%;
  background: #fff;
  padding: 32px 0;
  box-sizing: border-box;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
}
@media only screen and (max-width: 480px) {
  .sec_line .line_wrap .line_block {
    width: 100%;
    margin-bottom: 14px;
    position: relative;
    padding: 16px;
    align-items: flex-start;
    padding-left: 104px;
  }
}
.sec_line .line_wrap .line_block h3 {
  font-size: 18px;
  text-align: left;
  margin-bottom: 0.5em;
}
.sec_line .line_wrap .line_block .icon {
  width: 124px;
  height: 124px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 16px 0;
}
@media only screen and (max-width: 480px) {
  .sec_line .line_wrap .line_block .icon {
    position: absolute;
    width: 62px;
    height: 62px;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
  }
}
.sec_line .line_wrap .line_block svg {
  width: 124px;
}
@media only screen and (max-width: 480px) {
  .sec_line .line_wrap .line_block svg {
    height: 84px;
  }
}
.sec_line .line_wrap .line_block svg path, .sec_line .line_wrap .line_block svg polygon {
  fill: #63b244;
}
.sec_line .line_wrap .line_block p {
  text-align: center;
  line-height: 1.5;
}
@media only screen and (max-width: 480px) {
  .sec_line .line_wrap .line_block p {
    text-align: left;
  }
}
.sec_line .caution {
  margin: 1em 0;
  line-height: 1.2;
}
.sec_line .sec_line_footer {
  display: flex;
  justify-content: space-between;
  margin-top: 64px;
}
@media only screen and (max-width: 480px) {
  .sec_line .sec_line_footer {
    flex-direction: column;
  }
}
.sec_line .sec_line_footer .movie {
  background: #000;
  aspect-ratio: 560/315;
  width: 80%;
  text-align: center;
  margin-right: 24px;
}
@media only screen and (max-width: 480px) {
  .sec_line .sec_line_footer .movie {
    width: 100%;
    margin-right: 0;
    margin-bottom: 24px;
  }
}
.sec_line .sec_line_footer .movie iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 560/315;
}
.sec_line .sec_line_footer .line_qr {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
  padding: 16px;
  box-sizing: border-box;
  width: 100%;
}
.sec_line .sec_line_footer .line_qr .logo {
  height: auto;
  width: 220px;
  margin: 0 auto 12px auto;
}
@media only screen and (max-width: 480px) {
  .sec_line .sec_line_footer .line_qr .logo {
    width: 180px;
  }
}
.sec_line .sec_line_footer .line_qr h4 {
  background: #63b244;
  color: #fff;
  font-size: 20px;
  padding: 8px 16px;
  border-radius: 15px;
  text-align: center;
  margin-bottom: 16px;
}
.sec_line .sec_line_footer .line_qr h4 br {
  display: none;
}
@media only screen and (max-width: 480px) {
  .sec_line .sec_line_footer .line_qr h4 br {
    display: block;
  }
}
.sec_line .sec_line_footer .line_qr p {
  font-size: 14px;
}
.sec_line .sec_line_footer .line_qr img {
  height: 240px;
  width: auto;
  margin-left: 16px;
}
@media only screen and (max-width: 480px) {
  .sec_line .sec_line_footer .line_qr img {
    width: 40%;
    height: auto;
  }
}

.is_login {
  visibility: hidden;
  height: 0;
  pointer-events: none;
}

.logged-in .is_login {
  visibility: visible;
  height: auto;
  pointer-events: all;
}

header {
  height: 82px;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  padding: 0 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  z-index: 5;
  transition: all 0.5s;
}
@media only screen and (max-width: 480px) {
  header {
    position: static;
  }
}
header.active {
  background: #fff;
  transition: all 0.5s;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 480px) {
  header.active {
    background: none;
    box-shadow: none;
  }
}
@media only screen and (max-width: 480px) {
  header h1 {
    width: 100%;
    text-align: center;
    margin-top: 60px;
  }
  header h1 img {
    max-width: 330px;
    width: 73%;
  }
}
header .sp_nav {
  display: none;
}
@media only screen and (max-width: 480px) {
  header .sp_nav {
    display: block;
    position: fixed;
    top: 20px;
    right: 20px;
    cursor: pointer;
    z-index: 5;
  }
}
header nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media only screen and (max-width: 480px) {
  header nav {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    justify-content: center;
    top: 0;
    left: 0;
    width: 100%;
    pointer-events: none;
    transition: all 0.4s;
    z-index: 4;
    flex-direction: column;
    background: #fff;
    height: 100vh;
  }
  header nav.active {
    pointer-events: all;
    opacity: 1;
    visibility: visible;
    transition: all 0.4s;
  }
}
header nav ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media only screen and (max-width: 480px) {
  header nav ul {
    flex-direction: column;
  }
}
header nav ul li {
  margin-right: 36px;
}
@media only screen and (max-width: 480px) {
  header nav ul li {
    margin: 20px 0;
  }
}
header nav ul li a {
  position: relative;
}
@media only screen and (max-width: 480px) {
  header nav ul li a {
    font-size: 18px;
    line-height: 2;
  }
}
header nav ul li a:hover {
  opacity: 1;
}
header nav ul li a:hover:before {
  content: "";
  width: 15px;
  height: 15px;
  display: block;
  background: url("../images/icon_g.svg");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: -18px;
  top: 0;
}
header nav ul li a:hover:after {
  content: "";
  height: 2px;
  display: block;
  width: calc(100% + 18px);
  background: #5eaf31;
  position: absolute;
  bottom: -4px;
  right: 0;
}
header nav .tel {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 480px) {
  header nav .tel {
    margin-top: 50px;
  }
}
header nav .tel .logo {
  margin-right: 3px;
}
header nav .tel div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
@media only screen and (max-width: 480px) {
  header nav .tel div {
    font-size: 18px;
  }
}
header nav .tel div span {
  font-family: din-2014, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 18px;
  line-height: 24px;
}
@media only screen and (max-width: 480px) {
  header nav .tel div span {
    font-size: 24px;
  }
}

footer {
  background: #73b85f;
  position: relative;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 164px;
  width: 100%;
}
footer:before {
  content: "";
  width: 193px;
  height: 156px;
  display: block;
  background: url("../images/footer_dogs.svg");
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: -156px;
  right: 50px;
}
@media only screen and (max-width: 480px) {
  footer:before {
    height: 117px;
    width: 144px;
    top: -117px;
    right: calc(50% - 72px);
  }
}
@media only screen and (max-width: 480px) {
  footer {
    flex-direction: column;
    height: auto;
  }
}
@media only screen and (max-width: 480px) {
  footer .left {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    margin: 30px auto 0;
    align-items: center;
  }
}
footer .left p {
  margin-top: 16px;
}
@media only screen and (max-width: 480px) {
  footer .left p {
    display: inline-block;
    margin: 14px auto 28px;
  }
}
footer .tel {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  margin-left: 60px;
}
@media only screen and (max-width: 480px) {
  footer .tel {
    margin-left: 0;
    margin-bottom: 30px;
  }
}
footer .tel .logo {
  margin-right: 3px;
}
footer .tel div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  font-size: 18px;
}
footer .tel div span {
  font-family: din-2014, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 32px;
  line-height: 48px;
}

.footer_links {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #73b85f;
  padding: 4px 0 20px 0;
}
@media only screen and (max-width: 480px) {
  .footer_links {
    flex-direction: column;
  }
}
.footer_links a {
  color: #fff;
  font-size: 12px;
}

.mainvisual {
  margin-top: 100px;
  position: relative;
}
@media only screen and (max-width: 480px) {
  .mainvisual {
    margin-top: 60px;
    margin-bottom: 70px;
  }
}
.mainvisual img {
  max-width: 1160px;
  width: 90%;
  height: auto;
  margin: 0 auto;
}
.mainvisual .sotomach_block {
  background: rgba(255, 255, 255, 0.8);
  position: absolute;
  bottom: 10%;
  left: 10%;
  padding: 24px;
  border-radius: 10px;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 980px) {
  .mainvisual .sotomach_block {
    position: static;
    width: calc(100% - 40px);
    margin: 40px auto;
    padding: 12px;
    box-sizing: border-box;
  }
}
.mainvisual .sotomach_block .sotomachi_inner {
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mainvisual .sotomach_block p {
  font-size: 18px;
  margin-bottom: 8px;
}
@media only screen and (max-width: 980px) {
  .mainvisual .sotomach_block p {
    font-size: 14px;
    text-align: center;
  }
}
.mainvisual .sotomach_block .line_block {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
}
.mainvisual .sotomach_block .line_block .text {
  margin: 12px 0 0 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 24px;
}
.mainvisual .sotomach_block .line_block .text .comment p {
  color: #c30d23;
  font-weight: bold;
  font-size: 18px;
  text-align: left;
}
.mainvisual .sotomach_block .line_block .text span {
  display: inline;
  background: linear-gradient(transparent 60%, #81f570 60%);
}
.mainvisual .sotomach_block .line_block .text span br {
  display: none;
}
@media only screen and (max-width: 480px) {
  .mainvisual .sotomach_block .line_block .text span br {
    display: block;
  }
}
.mainvisual .sotomach_block .line_block img {
  width: 48px;
  height: auto;
  margin: 0 0.5em 0 0;
}
.mainvisual .sotomach_block .qr_block {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  font-size: 12px;
  margin: 0 0 0 1em;
}
.mainvisual .sotomach_block .qr_block img {
  width: 96px;
  height: auto;
}

.sec_block .sec_inner {
  width: 80%;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 0 60px 0;
}
@media only screen and (max-width: 480px) {
  .sec_block .sec_inner {
    width: calc(100% - 40px);
  }
}
.sec_block h2 {
  font-size: 38px;
  letter-spacing: 0.1em;
  line-height: 55px;
  display: flex;
  align-items: center;
  margin-bottom: 42px;
}
@media only screen and (max-width: 480px) {
  .sec_block h2 {
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 20px;
  }
}
.sec_block h2::before {
  content: "";
  width: 54px;
  height: 54px;
  display: block;
  background: url("../images/icon_b.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 20px;
}
@media only screen and (max-width: 480px) {
  .sec_block h2::before {
    width: 40px;
    height: 40px;
    margin-right: 10px;
  }
}
.sec_block h2 span {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
}
.sec_block h2 sub {
  font-size: 18px;
}
.sec_block h2 small {
  font-size: 23px;
  line-height: 34px;
  font-family: fot-tsukubrdgothic-std, sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-left: 0.2em;
}
@media only screen and (max-width: 480px) {
  .sec_block h2 small {
    font-size: 3.6vw;
    line-height: 25px;
  }
}

#news {
  background: url("../images/img_back_object2.png");
  background-size: 584px 422px;
  background-position: right -200px bottom;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 480px) {
  #news {
    background-size: 292px 211px;
    background-position: right -100px bottom;
  }
}

.new_post {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.new_post .new_post_block {
  width: 284px;
  height: 284px;
  overflow: hidden;
  border-radius: 10px;
  background: #fff;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
  margin-right: 20px;
}
@media only screen and (max-width: 480px) {
  .new_post .new_post_block {
    width: calc(50vw - 20px);
    height: calc(50vw - 20px);
    margin-right: 10px;
  }
}
.new_post .new_post_block:last-child {
  margin-right: 0;
}
.new_post .new_post_block .thumb {
  height: 174px;
  width: 100%;
  overflow: hidden;
}
@media only screen and (max-width: 480px) {
  .new_post .new_post_block .thumb {
    height: calc((50vw - 20px) * 0.6);
  }
}
.new_post .new_post_block .thumb img {
  width: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.new_post .new_post_block .thumb.none {
  background: #ac8d6c;
  display: flex;
  align-items: center;
  justify-content: center;
}
.new_post .new_post_block .thumb.none img {
  width: 80%;
  height: auto;
}
.new_post .new_post_block .date {
  color: #ac8d6c;
  margin-top: 14px;
  padding: 0 20px;
}
@media only screen and (max-width: 480px) {
  .new_post .new_post_block .date {
    margin-top: 4px;
    padding: 0 10px;
  }
}
.new_post .new_post_block .title {
  margin-top: 14px;
  padding: 0 20px;
}
@media only screen and (max-width: 480px) {
  .new_post .new_post_block .title {
    margin-top: 4px;
    padding: 0 10px;
  }
}

#about {
  background: url("../images/img_back_object3.png");
  background-size: 385px 344px;
  background-position: left 50px bottom 60px;
  background-repeat: no-repeat;
  margin-bottom: 60px;
}
@media only screen and (max-width: 480px) {
  #about {
    background-size: 192px 172px;
    background-position: left 20px bottom 30px;
  }
}

.about_inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 960px;
  margin: 0 auto;
}
@media only screen and (max-width: 480px) {
  .about_inner {
    width: 100%;
    flex-direction: column;
  }
}
.about_inner .profile_image {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media only screen and (max-width: 480px) {
  .about_inner .profile_image {
    width: 100%;
  }
}
.about_inner .profile_image img {
  width: 310px;
  height: 310px;
}
@media only screen and (max-width: 480px) {
  .about_inner .profile_image img {
    width: 240px;
    height: 240px;
  }
}
.about_inner .profile_image p {
  font-size: 18px;
  text-align: center;
  margin-top: 20px;
}
.about_inner .profile_image p b {
  font-size: 20px;
  line-height: 36px;
}
.about_inner .profile_text {
  height: 404px;
  width: 574px;
  position: relative;
  background: #fff;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
  padding: 40px 30px;
  box-sizing: border-box;
  margin-top: 123px;
}
@media only screen and (max-width: 480px) {
  .about_inner .profile_text {
    width: 100%;
    height: auto;
    padding: 20px 10px;
    margin-top: 72px;
  }
}
.about_inner .profile_text:before {
  content: "";
  width: 234px;
  height: 123px;
  background: url("../images/dogs.png");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  z-index: 1;
  top: -110px;
  right: 20px;
}
@media only screen and (max-width: 480px) {
  .about_inner .profile_text:before {
    width: 117px;
    height: 62px;
    top: -52px;
    right: 10px;
  }
}
.about_inner .profile_text h3 {
  font-size: 22px;
  height: 72px;
  line-height: 72px;
  background: url("../images/icon_title.svg");
  background-size: 71px 72px;
  background-repeat: no-repeat;
  background-position: left center;
  text-indent: 2em;
}
@media only screen and (max-width: 480px) {
  .about_inner .profile_text h3 {
    font-size: 16px;
    text-indent: 0;
    background: url("../images/icon_title.svg");
    background-size: 50px 50px;
    background-repeat: no-repeat;
    background-position: left center;
    line-height: 50px;
    height: 50px;
    text-indent: 1em;
  }
}
.about_inner .profile_text p {
  padding: 0 0 0 1em;
  line-height: 32px;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 480px) {
  .about_inner .profile_text p {
    padding: 0 1.2em;
    line-height: 26px;
  }
}

#hours {
  background: url("../images/img_back_object4.png");
  background-size: 587px 270px;
  background-position: right -200px bottom;
  background-repeat: no-repeat;
  margin-bottom: 60px;
}
@media only screen and (max-width: 480px) {
  #hours {
    background-size: 294px 135px;
    background-position: right -100px bottom;
  }
}
#hours table {
  margin: 0 auto;
  width: 960px;
  position: relative;
}
@media only screen and (max-width: 480px) {
  #hours table {
    width: 100%;
  }
  #hours table.sp {
    display: inline-table;
  }
}
#hours table:before {
  content: "";
  width: 113px;
  height: 90px;
  background: url("../images/cat.svg");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  display: block;
  top: -85px;
  right: 60px;
}
@media only screen and (max-width: 480px) {
  #hours table:before {
    width: 94px;
    height: 75px;
    top: -70px;
    right: 10px;
  }
}
#hours table tr {
  line-height: 58px;
}
@media only screen and (max-width: 480px) {
  #hours table tr {
    line-height: 50px;
  }
}
#hours table tr:first-child {
  background: #73b85f;
  color: #fff;
}
#hours table tr:first-child td {
  border-right: 1px solid #fff;
  background: #73b85f !important;
}
@media only screen and (max-width: 480px) {
  #hours table tr:first-child td {
    line-height: 1.2;
    text-align: center;
  }
}
#hours table tr:first-child td:last-child {
  border-right: 1px solid #73b85f;
}
#hours table tr td {
  width: 100px;
  text-align: center;
  box-sizing: border-box;
  background: #fff;
  border-right: 1px solid #73b85f;
  border-bottom: 1px solid #73b85f;
  padding: 0.5em;
  vertical-align: middle;
  height: 64px;
}
@media only screen and (max-width: 480px) {
  #hours table tr td {
    width: 33%;
    height: auto;
    padding: 1em;
  }
}
#hours table tr td:first-child {
  width: 260px;
  text-align: left;
  background: #eaf4e7;
  border-left: 1px solid #73b85f;
}
@media only screen and (max-width: 480px) {
  #hours table tr td:first-child {
    width: 33%;
    text-align: center;
  }
}
#hours p {
  line-height: 28px;
  width: 960px;
  margin: 16px auto;
}
@media only screen and (max-width: 480px) {
  #hours p {
    width: 100%;
    line-height: 1.5;
    margin: 12px auto;
  }
}
#hours.hours_cange .message {
  font-size: 18px;
  line-height: 16px;
}
@media only screen and (max-width: 480px) {
  #hours.hours_cange .message {
    line-height: 1.5;
    font-size: 16px;
    margin-bottom: 80px;
  }
}
#hours.hours_cange .message span {
  font-size: 26px;
  text-decoration: underline;
  display: block;
  color: #c30d23;
}
@media only screen and (max-width: 480px) {
  #hours.hours_cange .message span {
    word-break: keep-all;
    line-height: 1.4;
  }
}
@media only screen and (max-width: 480px) {
  #hours.hours_cange P {
    letter-spacing: -0.02em;
  }
}
#hours.hours_cange table tr td {
  padding: 0.5em;
  vertical-align: middle;
}
@media only screen and (max-width: 480px) {
  #hours.hours_cange table tr td {
    padding: 1em 0;
  }
}
#hours.hours_cange table tr td:first-child {
  text-align: center;
}
#hours.hours_cange table tr td b {
  color: #c30d23;
  font-size: 22px;
}
#hours.hours_cange table tr td span {
  color: #c30d23;
}

#access {
  background: url("../images/img_back_object6.png");
  background-size: 465px 275px;
  background-position: left bottom;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 480px) {
  #access {
    background-size: 232px 137px;
    padding-bottom: 120px;
  }
}
#access .map {
  width: 735px;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 480px) {
  #access .map {
    width: 100%;
    height: auto;
  }
}
#access .map:after {
  content: "";
  background: url("../images/img_back_object5.png");
  width: 308px;
  height: 217px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  z-index: -1;
  display: block;
  top: -120px;
  right: -160px;
}
@media only screen and (max-width: 480px) {
  #access .map:after {
    right: 0;
  }
}
#access .map iframe {
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 480px) {
  #access .map iframe {
    width: 100%;
    height: 300px;
  }
}
#access p {
  line-height: 28px;
  width: 960px;
  margin: 16px auto;
}
@media only screen and (max-width: 480px) {
  #access p {
    width: 100%;
    line-height: 1.5;
    margin: 12px auto;
  }
}

#heartworm .filariform_title {
  border-radius: 20px;
  overflow: hidden;
  height: 320px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  position: relative;
  margin-bottom: 32px;
  box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 480px) {
  #heartworm .filariform_title {
    height: 204px;
  }
}
#heartworm .filariform_title:before {
  content: "";
  width: calc(100% - 80px);
  height: calc(100% - 80px);
  border-radius: 20px;
  border: 4px solid #73b85f;
  display: block;
  position: absolute;
  top: 40px;
  left: 40px;
}
@media only screen and (max-width: 480px) {
  #heartworm .filariform_title:before {
    width: calc(100% - 32px);
    height: calc(100% - 32px);
    top: 12px;
    left: 12px;
  }
}
#heartworm .filariform_title .image {
  width: 50%;
  height: 100%;
  overflow: hidden;
  flex: 0 0 auto;
}
@media only screen and (max-width: 480px) {
  #heartworm .filariform_title .image {
    width: 34%;
  }
}
#heartworm .filariform_title .image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#heartworm .filariform_title h2 {
  width: 50%;
  flex: 0 0 auto;
  padding: 1em calc(1em + 40px) 1em 1em;
  font-size: min(2.4vw, 30px);
  font-weight: bold;
  line-height: 1.5;
  word-break: keep-all;
  box-sizing: border-box;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
}
#heartworm .filariform_title h2 span {
  font-size: 0.8em;
  margin: 1em 0 0 0;
  padding: 0;
  background: #73b85f;
  border-radius: 10px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 2em;
  color: #fff;
}
#heartworm .filariform_title h2:before {
  display: none;
}
@media only screen and (max-width: 480px) {
  #heartworm .filariform_title h2 {
    font-size: min(4vw, 20px);
    width: 66%;
    padding: 0em calc(1em + 16px) 0em 1em;
  }
}
#heartworm .read {
  font-size: 20px;
  text-align: center;
  word-break: keep-all;
  margin-bottom: 2em;
  line-height: 1.4;
}
#heartworm .read .sp {
  display: none;
}
@media only screen and (max-width: 480px) {
  #heartworm .read {
    word-break: break-all;
  }
  #heartworm .read .sp {
    display: block;
  }
}
#heartworm .read b {
  text-decoration: underline;
}
#heartworm .read strong {
  font-size: 24px;
  text-decoration: underline;
  display: block;
  text-align: center;
  margin-top: 0.5em;
  font-weight: bold;
  color: #c30d23;
  line-height: 1.4;
}

#single {
  margin-top: 150px;
  padding-bottom: 150px;
}
@media only screen and (max-width: 480px) {
  #single {
    margin-top: 60px;
  }
}
#single .title {
  width: calc(100% - 60px);
  max-width: 680px;
  margin: 0 auto;
}
@media only screen and (max-width: 480px) {
  #single .title {
    width: calc(100% - 40px);
  }
}
#single .title h2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  height: 120px;
}
@media only screen and (max-width: 480px) {
  #single .title h2 {
    height: 60px;
  }
}
#single .title h2:before {
  position: absolute;
  width: 120px;
  height: 120px;
  background: url("../images/icon_title.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  left: 0;
  top: 0;
  z-index: -1;
}
@media only screen and (max-width: 480px) {
  #single .title h2:before {
    height: 60px;
    width: 60px;
  }
}
#single .title h2 .date {
  font-size: 14px;
  color: #a07d57;
  margin-bottom: 8px;
}
@media only screen and (max-width: 480px) {
  #single .title h2 .date {
    font-size: 10px;
    margin-bottom: 4px;
  }
}
#single .title h2 span {
  font-size: 32px;
  color: #42210b;
}
@media only screen and (max-width: 480px) {
  #single .title h2 span {
    font-size: 16px;
  }
}
#single .post {
  width: calc(100% - 60px);
  max-width: 680px;
  margin: 0 auto;
}
@media only screen and (max-width: 480px) {
  #single .post {
    width: calc(100% - 40px);
  }
}
#single .post p {
  line-height: 1.5;
}
#single .post img {
  max-width: 80%;
  height: auto;
  margin: 32px auto;
  display: block;
}

#archive {
  margin-top: 150px;
  padding-bottom: 150px;
}
@media only screen and (max-width: 480px) {
  #archive {
    margin-top: 60px;
  }
}
#archive .archive_links {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  border-bottom: 1px solid #ac8d6c;
  padding: 16px 0;
}
#archive .archive_links:first-child {
  border-top: 1px solid #ac8d6c;
}
#archive .archive_links:hover {
  background: #ebf5e8;
}
#archive .archive_links:after {
  content: "";
  width: 12px;
  height: 25px;
  display: block;
  background: url("../images/archive_arrow.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  right: 20px;
  top: calc(50% - 12px);
}
#archive .archive_links .thumb {
  width: 255px;
  height: 195px;
  overflow: hidden;
  border-radius: 10px;
  margin-right: 20px;
}
@media only screen and (max-width: 480px) {
  #archive .archive_links .thumb {
    width: 30vw;
    height: 21vw;
  }
}
#archive .archive_links .thumb.none {
  background: #ac8d6c;
  display: flex;
  align-items: center;
  justify-content: center;
}
#archive .archive_links .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#archive .archive_links .content .date {
  font-size: 18px;
}
@media only screen and (max-width: 480px) {
  #archive .archive_links .content .date {
    font-size: 14px;
  }
}
#archive .archive_links .content .entry-title {
  font-size: 24px;
  color: #51a838;
  line-height: 34px;
}
@media only screen and (max-width: 480px) {
  #archive .archive_links .content .entry-title {
    margin-top: 12px;
    font-size: 16px;
    line-height: 20px;
    padding-right: 42px;
  }
}
#archive .m-pagenation {
  width: 100%;
  margin: 60px auto;
  display: flex;
  justify-content: center;
}
#archive ol {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
#archive ol li {
  width: 38px;
  height: 38px;
  background: #51a838;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 4px;
  color: #fff;
}
#archive ol li.current {
  background: #fff;
  color: #51a838;
}
#archive ol li a {
  color: #fff;
}
#archive .m-pagenation__next, #archive .m-pagenation__prev {
  width: 38px;
  height: 38px;
  background: #51a838;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 4px;
  color: #fff;
}
#archive .m-pagenation__next a, #archive .m-pagenation__prev a {
  color: #fff;
}

#page {
  margin-top: 150px;
  padding-bottom: 150px;
}
@media only screen and (max-width: 480px) {
  #page {
    margin-top: 60px;
  }
}
#page .title {
  width: calc(100% - 60px);
  max-width: 680px;
  margin: 0 auto;
}
@media only screen and (max-width: 480px) {
  #page .title {
    width: calc(100% - 40px);
  }
}
#page .title h2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  height: 120px;
}
@media only screen and (max-width: 480px) {
  #page .title h2 {
    height: 60px;
  }
}
#page .title h2:before {
  position: absolute;
  width: 120px;
  height: 120px;
  background: url("../images/icon_title.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  left: 0;
  top: 0;
  z-index: -1;
}
@media only screen and (max-width: 480px) {
  #page .title h2:before {
    height: 60px;
    width: 60px;
  }
}
#page .title h2 .date {
  font-size: 14px;
  color: #a07d57;
  margin-bottom: 8px;
}
@media only screen and (max-width: 480px) {
  #page .title h2 .date {
    font-size: 10px;
    margin-bottom: 4px;
  }
}
#page .title h2 span {
  font-size: 32px;
  color: #42210b;
}
@media only screen and (max-width: 480px) {
  #page .title h2 span {
    font-size: 16px;
  }
}
#page .post {
  width: calc(100% - 60px);
  max-width: 680px;
  margin: 0 auto;
}
@media only screen and (max-width: 480px) {
  #page .post {
    width: calc(100% - 40px);
  }
}
#page .post p {
  line-height: 1.5;
  margin-bottom: 1em;
}
#page .post h3 {
  font-size: 24px;
  margin-bottom: 1em;
  line-height: 1.5;
}
#page .post img {
  max-width: 80%;
  height: auto;
  margin: 32px auto;
  display: block;
}

#page {
  margin-top: 150px;
  padding-bottom: 50px;
}
@media only screen and (max-width: 480px) {
  #page {
    margin-top: 60px;
  }
}
#page .filariform_page {
  width: calc(100% - 60px);
  max-width: 980px;
  margin: 0 auto;
}
@media only screen and (max-width: 480px) {
  #page .filariform_page {
    width: calc(100% - 40px);
  }
}
#page .filariform_page article {
  margin-bottom: 120px;
}
#page .filariform_page article h3 {
  font-size: 24px;
  margin-bottom: 0.5em;
  padding-left: 1em;
  border-left: 4px solid #73b85f;
}
#page .filariform_page p {
  font-size: 20px;
  line-height: 1.4;
}
#page .filariform_page h1 {
  font-size: 38px;
  letter-spacing: 0.1em;
  line-height: 55px;
  display: flex;
  align-items: center;
  margin-bottom: 42px;
}
@media only screen and (max-width: 480px) {
  #page .filariform_page h1 {
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 20px;
  }
}
#page .filariform_page h1::before {
  content: "";
  width: 54px;
  height: 54px;
  display: block;
  background: url("../images/icon_b.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 20px;
}
@media only screen and (max-width: 480px) {
  #page .filariform_page h1::before {
    width: 40px;
    height: 40px;
    margin-right: 10px;
  }
}
#page .filariform_page h1 span {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
}
#page .filariform_page h1 sub {
  font-size: 18px;
}
#page .filariform_page h1 small {
  font-size: 23px;
  line-height: 34px;
  font-family: fot-tsukubrdgothic-std, sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-left: 0.2em;
}
@media only screen and (max-width: 480px) {
  #page .filariform_page h1 small {
    font-size: 3.6vw;
    line-height: 25px;
  }
}
#page .filariform_page .filariform_title {
  border-radius: 20px;
  overflow: hidden;
  height: 320px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  position: relative;
  margin-bottom: 32px;
  box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 480px) {
  #page .filariform_page .filariform_title {
    height: 140px;
  }
}
#page .filariform_page .filariform_title:before {
  content: "";
  width: calc(100% - 80px);
  height: calc(100% - 80px);
  border-radius: 20px;
  border: 4px solid #73b85f;
  display: block;
  position: absolute;
  top: 40px;
  left: 40px;
}
@media only screen and (max-width: 480px) {
  #page .filariform_page .filariform_title:before {
    width: calc(100% - 32px);
    height: calc(100% - 32px);
    top: 12px;
    left: 12px;
  }
}
#page .filariform_page .filariform_title .image {
  width: 50%;
  height: 100%;
  overflow: hidden;
  flex: 0 0 auto;
}
@media only screen and (max-width: 480px) {
  #page .filariform_page .filariform_title .image {
    width: 34%;
  }
}
#page .filariform_page .filariform_title .image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#page .filariform_page .filariform_title h2 {
  width: 50%;
  flex: 0 0 auto;
  padding: 1em calc(1em + 40px) 1em 1em;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.5;
  word-break: keep-all;
  box-sizing: border-box;
}
@media only screen and (max-width: 480px) {
  #page .filariform_page .filariform_title h2 {
    font-size: min(4vw, 20px);
    width: 66%;
    padding: 0em calc(1em + 16px) 0em 1em;
  }
}
#page .filariform_page .read {
  font-size: 20px;
  text-align: center;
  word-break: keep-all;
}
#page .filariform_page .read .sp {
  display: none;
}
@media only screen and (max-width: 480px) {
  #page .filariform_page .read {
    word-break: break-all;
  }
  #page .filariform_page .read .sp {
    display: block;
  }
}
#page .filariform_page .read b {
  text-decoration: underline;
}
#page .filariform_page .read strong {
  font-size: 24px;
  text-decoration: underline;
  display: block;
  text-align: center;
  margin-top: 0.5em;
  font-weight: bold;
  color: #c30d23;
  line-height: 1.4;
}
#page .filariform_page .type_wrap {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin-top: 48px;
  margin-bottom: 60px;
}
@media only screen and (max-width: 480px) {
  #page .filariform_page .type_wrap {
    flex-direction: column;
  }
}
#page .filariform_page .type_wrap .type_block {
  background: #fff;
  border-radius: 20px;
  padding: 32px 16px;
  flex: 0 0 auto;
  max-width: 320px;
  box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 480px) {
  #page .filariform_page .type_wrap .type_block {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}
#page .filariform_page .type_wrap .type_block .icon {
  background: #73b85f;
  width: 92px;
  height: 92px;
  border-radius: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.1);
}
#page .filariform_page .type_wrap .type_block .icon img {
  width: 52px;
  height: auto;
  filter: invert(100%) sepia(0%) saturate(7500%) brightness(200%) contrast(101%);
}
#page .filariform_page .type_wrap .type_block h3 {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  border-bottom: 4px solid #eaf4e7;
  border-left: none;
  max-width: 8em;
  margin: 1em auto;
  padding-bottom: 0.5em;
  padding-left: 0;
}
#page .filariform_page .type_wrap .type_block p {
  font-size: 16px;
}
#page .filariform_page .term {
  text-align: center;
  margin-bottom: 32px;
}
#page .filariform_page .term img {
  max-width: 100%;
}
#page .filariform_page .article_02 p {
  font-size: 16px;
}
#page .filariform_page .article_02 h3 {
  margin-top: 2em;
}
#page .filariform_page .article_02 h3:first-child {
  margin-top: 0;
}
#page .filariform_page .medicine_block {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 64px;
  margin-top: 100px;
}
@media only screen and (max-width: 480px) {
  #page .filariform_page .medicine_block {
    flex-direction: column;
  }
}
#page .filariform_page .medicine_block .medicine_title_block {
  position: sticky;
  top: 120px;
  width: min(20%, 340px);
  flex: 0 0 auto;
}
@media only screen and (max-width: 480px) {
  #page .filariform_page .medicine_block .medicine_title_block {
    position: static;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1em;
  }
  #page .filariform_page .medicine_block .medicine_title_block br {
    display: none;
  }
  #page .filariform_page .medicine_block .medicine_title_block br.disp {
    display: block;
  }
}
#page .filariform_page .medicine_block .medicine_title_block .img {
  width: 180px;
  height: 180px;
  overflow: hidden;
  border-radius: 90px;
  margin: 0 auto;
}
@media only screen and (max-width: 480px) {
  #page .filariform_page .medicine_block .medicine_title_block .img {
    width: 120px;
    height: 120px;
    flex: 0 0 auto;
    margin: 0;
  }
}
#page .filariform_page .medicine_block .medicine_title_block .img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#page .filariform_page .medicine_block .medicine_title_block h3 {
  border-left: none;
  padding-left: 0;
  margin-top: 1em;
  text-align: center;
  line-height: 1.5;
  font-size: 24px;
}
#page .filariform_page .medicine_block .medicine_title_block h3 span {
  font-size: 18px;
}
#page .filariform_page .medicine_block .medicine_title_block h3 b {
  background: linear-gradient(transparent 60%, #f2cf39 0%);
  display: inline;
  padding: 0 1px 0px;
}
#page .filariform_page .medicine_block .list {
  margin-top: 48px;
  margin-bottom: 48px;
}
@media only screen and (max-width: 480px) {
  #page .filariform_page .medicine_block .list {
    margin-top: 0px;
  }
}
#page .filariform_page .medicine_block .list:has(h5) table {
  margin-top: 0px !important;
}
#page .filariform_page .medicine_block h4 {
  font-size: 24px;
  border-bottom: 2px solid #73b85f;
  padding-bottom: 0.25em;
  margin-bottom: 0.5em;
}
#page .filariform_page .medicine_block h5 {
  font-size: 20px;
  margin-bottom: 0.5em;
  margin-top: 24px;
}
#page .filariform_page .medicine_block table {
  font-size: 18px;
  margin-top: 24px;
  background: #fff;
}
@media only screen and (max-width: 480px) {
  #page .filariform_page .medicine_block table {
    width: 100%;
  }
}
#page .filariform_page .medicine_block table th, #page .filariform_page .medicine_block table td {
  padding: 0.5em;
  min-width: 160px;
}
#page .filariform_page .medicine_block table thead {
  background: #73b85f;
  color: #fff;
}
#page .filariform_page .medicine_block table thead th {
  font-weight: bold;
  border-right: 1px solid #fff;
}
#page .filariform_page .medicine_block table thead th:last-child {
  border-left: none;
}
#page .filariform_page .medicine_block table tbody tr {
  border-bottom: 1px solid #73b85f;
}
#page .filariform_page .medicine_block table tbody td {
  border-right: 1px solid #73b85f;
  padding: 0.5em 1em;
}
#page .filariform_page .medicine_block table tbody td:last-child {
  border-right: none;
  text-align: right;
}
#page .filariform_page .article_04 h3 {
  border-left: none;
  padding-left: 0;
  line-height: 1.4;
  display: flex;
  align-items: flex-start;
}
#page .filariform_page .article_04 h3:before {
  content: "Q:";
  color: #c30d23;
}
#page .filariform_page .article_04 p {
  margin-bottom: 2.5em;
  display: flex;
  align-items: flex-start;
}
#page .filariform_page .article_04 p:before {
  content: "A:";
  color: #73b85f;
}

#ct{
  h3{
    font-size: 24px;
    margin-bottom: 1em;
    line-height: 1.5;
  }
  p{
    line-height: 1.5;
  }
  .ct_block_wrap{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 32px;
    margin-top: 32px;
    @media only screen and (max-width: 480px) {
      flex-direction: column-reverse;
    }
  }
  .ct_block{
    width: calc(50% - 16px);
    @media only screen and (max-width: 480px) {
      width: 100%;
    }
    span{
      color: #fff;
      background-color: #73b85f;
      padding: 0.5em 1em;
      border-radius: 100px;
      display: inline-block;
      margin-bottom: 0.5em;
    }
    p{
      margin-bottom: 1em;
      strong{
        font-weight: bold;
        background:linear-gradient(transparent 60%, #c9f4be 60%);
        font-size: 18px;
        padding-bottom: .25em;
      }
    }
    ul{
      list-style: none;
      padding-left: 0;
      margin-bottom: 1em;
    }
    ul li{
      margin-bottom: 0.5em;
      &:before{
        content: "";
        width: 15px;
        height: 15px;
        display: inline-block;
        background: url(../images/icon_g.svg);
        background-size: contain;
        background-repeat: no-repeat;
      }
    }
    h4{
      font-size: 20px;
      margin-bottom: 0.5em;
      line-height: 1.5;
      &:before{
        content: "";
        width: 15px;
        height: 15px;
        display: inline-block;
        background: url(../images/icon_g.svg);
        background-size: contain;
        background-repeat: no-repeat;
      }
    }
    .img{
      background: #fff;
      padding: 1em;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
      img{
        width: 100%;
      }
      figure{
        font-size: 12px;
        margin-top: 0.5em;
        text-align: right;
        display: block;
        width: 100%;
      }
    }
    
  }
}

#page{
  #ct{
    .sec_inner{
      max-width: 960px;
    }
  }
}
#ct{
  .sec_inner{
    .ct_page_block{
      margin: 40px auto;
      h3{
        border-bottom: 2px solid #73b85f;
      }
      p{
        text-align: justify;
        line-height: 1.8;
        strong{
          background: linear-gradient(transparent 60%, #c9f4be 60%);
          padding-bottom: .25em;
        }
        &.table_note{
          text-align: right;
          font-size: 12px;
          line-height: 1.5;
          @media only screen and (max-width: 480px) {
            font-size: 10px;
          }
        }
      }
      table{
        width: 100%;
        margin-bottom: 16px;
        tr{
          td,th{
            padding: 8px;
            border: 1px solid #73b85f;
            line-height: 1.5;
          }
          th{
            background: #eaf4e7;
            vertical-align: middle;
            width: 160px;
            font-size: 16px;
          }
          td{
            font-size: 14px;
            vertical-align: middle;
            text-align: right;
            &.right{
              text-align: left;
            }
          }
        }
      }
      .ct_page_block_img{
        display: flex;
        gap: 16px;
        align-items: flex-start;
        justify-content: space-between;
        img{
          width: calc(40% - 8px);
        }
        @media only screen and (max-width: 480px) {
          flex-direction: column;
          img{
            width: 100%;
          }
        }
      }
      .sp_wrap{
        @media only screen and (max-width: 480px) {
          overflow: scroll;
          table{
            width: 860px;
            th{
              width: 140px;
            }
          }
        }
      }
    }
  }
}