@charset "UTF-8";
/*!
【記述ルール】
p-header-****__****--****
 -****  セクション的要素
 __**** ブロック・インライン的要素の名称
 --**** 修飾的要素の名称
 例）p-top-content01__list--bold

 注意：1クラスに記述するブロック・インライン的要素は必要以上多くならないように注意する
*/
/* =========================================================
flex - flex関連の指定
========================================================= */
/* =========================================================
shadow - シャドウ
デフォルトでは色が濃い目なので使う際に調整してください。
========================================================= */
/* =========================================================
other - その他
========================================================= */
/* =========================================================
color - 色の設定
========================================================= */
/* =========================================================
font - font-familyの設定など
========================================================= */
/* =========================================================
typography - テキスト関連の設定
========================================================= */
html {
  font-size: 100%;
  line-height: 1.5em;
}

/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

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

/* =========================================================
base - 基本設定
========================================================= */
body {
  background-color: #F9F8F3;
  overflow-x: hidden;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 24px;
  color: #707070;
  font-family: "メイリオ", Meiryo, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans Japanese", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
  letter-spacing: 0.1em;
}
@media screen and (min-width: 980px) {
  body {
    overflow-x: hidden !important;
  }
}

a {
  cursor: pointer;
  text-decoration: none;
  transition: .4s;
  line-height: 1;
}
a:hover {
  color: inherit;
}

p {
  color: #707070;
}

img {
  height: auto;
  vertical-align: bottom;
  max-width: 100%;
  width: auto;
}

.pc-show {
  display: none;
}
@media screen and (min-width: 980px) {
  .pc-show {
    display: block;
  }
}

@media screen and (min-width: 980px) {
  .sp-show {
    display: none;
  }
}

.pc-show-inline {
  display: none;
}
@media screen and (min-width: 980px) {
  .pc-show-inline {
    display: inline-block;
  }
}

/* =========================================================
section - コンテンツの大枠
========================================================= */
.l-container {
  width: 100%;
  padding-right: 25px;
  padding-left: 25px;
  margin: 0 auto;
}
@media screen and (min-width: 1200px) {
  .l-container {
    max-width: 1250px;
  }
}

/* =========================================================
header - ヘッダー
========================================================= */
/* =========================================================
main - メイン
========================================================= */
.l-main {
  position: relative;
}

/* =========================================================
footer - フッターのレイアウト
========================================================= */
/* =========================================================
text - 共通のテキストなど
========================================================= */
.c-basic-txt,
.c-error-message {
  color: #555555;
  word-wrap: break-word;
  margin-top: 0px;
  margin-top: 0rem;
  margin-bottom: 6px;
  margin-bottom: 0.375rem;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 24px;
  line-height: 1.5rem;
}
@media screen and (min-width: 980px) {
  .c-basic-txt,
  .c-error-message {
    margin-top: 0px;
    margin-top: 0rem;
    margin-bottom: 12px;
    margin-bottom: 0.75rem;
    font-size: 16px;
    font-size: 1rem;
    line-height: 24px;
    line-height: 1.5rem;
  }
}
.c-basic-txt:last-of-type,
.c-error-message:last-of-type {
  margin-bottom: 0;
}

.c-small-txt {
  margin-top: 0px;
  margin-top: 0rem;
  margin-bottom: 3px;
  margin-bottom: 0.18rem;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 24px;
  line-height: 1.5rem;
}
@media screen and (min-width: 980px) {
  .c-small-txt {
    margin-top: 0px;
    margin-top: 0rem;
    margin-bottom: 6px;
    margin-bottom: 0.375rem;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 24px;
    line-height: 1.5rem;
  }
}
.c-small-txt:last-of-type {
  margin-bottom: 0;
}

.c-error-message {
  display: inline-block;
  color: #e74c3c;
  margin-top: .5rem;
}

/* =========================================================
button - ボタン関係のコンポーネント
========================================================= */
.c-basic-btn a {
  background-color: #0077C7;
  border-radius: 50px;
  color: #fff;
  display: block;
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: bold;
  padding: 18px 0;
  position: relative;
  max-width: 330px;
  margin: 80px auto 0;
  text-align: center;
}
.c-basic-btn a::after {
  background-image: url(../images/common/icon-btn-arw02.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: '';
  display: block;
  height: 10px;
  width: 10px;
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.c-basic-btn a:hover {
  opacity: .7;
}

.c-reserve-tel {
  display: none;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 1000;
  width: 100%;
}
@media screen and (min-width: 980px) {
  .c-reserve-tel {
    bottom: 100px;
    right: 10px;
    width: auto;
  }
}
.c-reserve-tel a {
  background-color: #558B2F;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: calc(24 * (100vw / 768));
  font-weight: bold;
  margin: 0;
  padding: 23px;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-reserve-tel a {
    font-size: calc(16 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .c-reserve-tel a {
    border-radius: 50px;
    font-size: 16px;
    max-width: 400px;
    padding: 23px;
  }
}
.c-reserve-tel a:hover {
  opacity: .8;
  transition: .4s;
}
.c-reserve-tel a .icon-tel {
  display: block;
  content: '';
  background-image: url(../images/common/icon-tel.png);
  background-repeat: no-repeat;
  width: 32px;
  height: 32px;
  margin: 0 12px 0 0;
}

/* =========================================================
txtarea - テキストエリア
========================================================= */
.c-txtarea {
  resize: none;
  width: 100%;
  height: 10rem;
  padding: .5rem;
  border: 0;
  border: 1px solid #dddddd;
  border-radius: 4px;
  background-color: #fafafa;
  font-size: 16px;
  font-size: 1rem;
  color: #555555;
  font-family: "メイリオ", Meiryo, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans Japanese", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.c-txtarea::placeholder {
  color: #cccccc;
}
.c-txtarea.is-entered {
  background-color: #ffffff;
}

/* =========================================================
drawer - ドロワーのスタイルなど
========================================================= */
.c-drawer {
  display: block;
  position: relative;
  z-index: 101;
}
.c-drawer-nav--wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow-y: scroll;
  padding: 22px 0;
}
@media screen and (min-width: 768px) {
  .c-drawer-nav--wrap {
    flex-direction: row;
    padding: 0;
    overflow: auto;
    height: 100%;
  }
}
.c-drawer-info {
  padding: 0 60px 0 12%;
  flex-grow: 1;
}
.c-drawer-info__logo {
  padding: 20px 0 0;
  max-width: 320px;
}
.c-drawer-info__list {
  padding: 40px 0 0;
}
.c-drawer-info__item {
  margin: 0 0 10px;
}
.c-drawer-info__item a {
  color: #fff;
  display: block;
  font-size: 14px;
  font-weight: bold;
  padding: 10px;
}
.c-drawer-tel {
  margin: 12px 0 8px;
}
.c-drawer-tel a {
  background-color: #F6CA1C;
  border-radius: 10px;
  color: #fff;
  display: flex;
  align-items: center;
  padding: 15px;
  text-align: center;
  max-width: 290px;
  font-weight: bold;
}
.c-drawer-tel a .icon-tel {
  display: block;
  content: '';
  background-image: url(../images/common/icon-tel.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 32px;
  height: 32px;
  margin: 0 12px 0 0;
}
.c-drawer-contact {
  margin: 0 0 8px;
}
.c-drawer-contact a {
  background-color: #F6CA1C;
  border-radius: 10px;
  color: #fff;
  display: block;
  padding: 15px;
  text-align: center;
  max-width: 290px;
  font-weight: bold;
}
.c-drawer-contact a .icon-mail {
  display: block;
  content: '';
  background-image: url(../images/common/icon-mail.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 32px;
  height: 32px;
  margin: 0 12px 0 0;
}
.c-drawer-instagram {
  margin: 0 0 8px;
}
.c-drawer-instagram a {
  background-color: #F6CA1C;
  border-radius: 10px;
  color: #fff;
  display: flex;
  align-items: center;
  padding: 15px;
  text-align: center;
  max-width: 290px;
  font-weight: bold;
}
.c-drawer-instagram a .icon-insta {
  display: block;
  content: '';
  background-image: url(../images/common/icon-instagram.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 32px;
  height: 32px;
  margin: 0 12px 0 0;
}
.c-drawer-map {
  margin: 0 0 8px;
}
.c-drawer-map a {
  background-color: #F6CA1C;
  border-radius: 10px;
  color: #fff;
  display: flex;
  align-items: center;
  padding: 15px;
  text-align: center;
  max-width: 290px;
  font-weight: bold;
}
.c-drawer-map a .icon-map {
  display: block;
  content: '';
  background-image: url(../images/common/icon-map.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 32px;
  height: 32px;
  margin: 0 12px 0 0;
}
.c-drawer-parking {
  margin: 0 0 8px;
}
.c-drawer-parking a {
  background-color: #F6CA1C;
  border-radius: 10px;
  color: #fff;
  display: flex;
  align-items: center;
  padding: 15px;
  text-align: center;
  max-width: 290px;
  font-weight: bold;
}
.c-drawer-parking a .icon-parking {
  display: block;
  content: '';
  background-image: url(../images/common/icon-parking.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 32px;
  height: 32px;
  margin: 0 12px 0 0;
}
.c-drawer-label {
  color: #fff;
  font-size: 10px;
  font-size: 0.625rem;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 12px;
  margin: auto;
}
.c-drawer-label::before {
  content: 'menu';
}
.c-drawer-schedule {
  width: 90vw;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 24px 0 0 0;
  padding: 0 18px;
}
@media screen and (min-width: 768px) {
  .c-drawer-schedule {
    background-color: #454545;
    margin: 0;
    padding: 35px 6%;
    width: 50vw;
  }
}
.c-drawer-schedule table {
  margin: 5px auto 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-drawer-schedule table {
    margin: 35px auto 0;
  }
}
.c-drawer-schedule table thead {
  border-bottom: 1px solid #fff;
}
.c-drawer-schedule table thead th {
  text-align: center;
}
.c-drawer-schedule table tbody tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.c-drawer-schedule table tbody th {
  line-height: 1.4;
  text-align: left;
}
.c-drawer-schedule table th {
  padding: 8px 5px;
}
.c-drawer-schedule table td {
  color: #fff;
  padding: 8px 5px;
  text-align: center;
  vertical-align: middle;
}
.c-drawer-schedule table td .vertical {
  font-size: 0.8em;
  vertical-align: top;
}
.c-drawer-schedule table td .close {
  text-align: center;
}
.c-drawer-schedule table td .close::before {
  content: '‐';
}
.c-drawer-schedule table td .open {
  text-align: center;
}
.c-drawer-schedule table td .open::before {
  content: '●';
}
.c-drawer-schedule table td .open-harf {
  text-align: center;
}
.c-drawer-schedule table td .open-harf::before {
  content: '▲';
}
.c-drawer-schedule table td .att {
  position: relative;
}
.c-drawer-schedule table td .att::after {
  content: '※';
  font-size: 80%;
}
.c-drawer-schedule table p {
  color: #fff;
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .c-drawer-schedule table p {
    font-size: 16px;
  }
}
.c-drawer-schedule--ttl {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}
.c-drawer-schedule--note {
  color: #fff;
  font-size: 12px;
  margin: 25px auto 0;
}

.drawer-nav {
  visibility: hidden;
  opacity: 0;
  transition: .4s;
  width: 100vw;
}

.drawer--right .drawer-nav {
  background-color: #5a9f4d;
  right: -100vw;
}

.drawer--right.drawer-open .drawer-hamburger {
  background-color: #fff;
  right: 0;
}

.drawer-hamburger {
  background-color: #558B2F;
  border-radius: 99px;
  padding: 17px 0.75rem 29px;
  top: 10px;
  right: 10px !important;
}
@media screen and (min-width: 768px) {
  .drawer-hamburger {
    right: 25px !important;
  }
}

.drawer-hamburger-icon {
  margin: 10px 10%;
  height: 0;
  width: 80%;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before {
  background-color: #fff;
}

.drawer-hamburger-icon:after {
  top: 0;
}

.drawer-open .drawer-nav {
  right: 0;
  visibility: visible;
  opacity: 1;
  transition: .4s;
}

.drawer-open .c-drawer-label {
  color: #fff;
  bottom: 6px;
}

.drawer-open .c-drawer-label::before {
  content: 'close';
}

.drawer-open .drawer-hamburger-icon,
.drawer-open .drawer-hamburger-icon:after,
.drawer-open .drawer-hamburger-icon:before {
  background-color: #fff;
}

.slick-next {
  right: -20px;
}

/* =========================================================
pagenation - ページ送り
========================================================= */
.c-pagenation {
  text-align: center;
  margin: auto;
}
.c-pagenation__group {
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-pagenation__item + .c-pagenation__item {
  margin-left: .5rem;
}
.c-pagenation__item.is-current .c-pagenation__link {
  border-color: #666;
  background-color: #666;
  color: #ffffff;
  pointer-events: none;
}
.c-pagenation__link a {
  text-decoration: none;
}
.c-pagenation__link .page-numbers {
  width: 2rem;
  height: 2rem;
  border: 1px solid #999;
  color: #999;
  font-weight: bold;
  text-decoration: none;
  transition: .3s;
  display: inline-block;
  line-height: 1.7;
  margin: 0 5px;
}
.c-pagenation__link .page-numbers:hover {
  background-color: #666;
  border-color: #666;
  color: #fff;
}
.c-pagenation__link .next,
.c-pagenation__link .prev {
  border: none;
  width: 4rem;
}
.c-pagenation__link .next:hover,
.c-pagenation__link .prev:hover {
  background-color: #fff;
  color: #999;
  text-decoration: underline;
}
.c-pagenation__link .current {
  background-color: #666;
  color: #fff;
}

/* =========================================================
breadcrumbs - パンくずリスト
========================================================= */
.c-pankuzu {
  width: 96%;
  max-width: 1080px;
  margin: 12px auto 0;
}
.c-pankuzu-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0;
}
.c-pankuzu-item {
  display: inline-block;
  position: relative;
  padding-right: calc(16px + 8px);
  margin-right: 8px;
}
.c-pankuzu-item a {
  text-decoration: none;
}
.c-pankuzu-item::before {
  content: '›';
  width: 1em;
  height: 1em;
  line-height: 1;
  text-align: center;
  font-size: 1em;
  color: inherit;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.c-pankuzu-item:last-child {
  margin-right: 0;
  padding-right: 0;
}
.c-pankuzu-item:last-child::before {
  content: normal;
}

/* =========================================================
navigation - グローバルナビなど
========================================================= */
/* =========================================================
trigger - トリガー
========================================================= */
.invisible {
  opacity: 0.0;
  transition: opacity 0.5s ease;
}

.c-trigger_delay_2 {
  animation-delay: .2s;
}
.c-trigger_delay_4 {
  animation-delay: .4s;
}
.c-trigger_delay_6 {
  animation-delay: .6s;
}
.c-trigger_delay_8 {
  animation-delay: .8s;
}
.c-trigger_delay_10 {
  animation-delay: 1s;
}
.c-trigger_delay_12 {
  animation-delay: 1.2s;
}
.c-trigger_delay_14 {
  animation-delay: 1.4s;
}
.c-trigger_delay_16 {
  animation-delay: 1.6s;
}
.c-trigger_delay_24 {
  animation-delay: 2.4s;
}
.c-trigger_duration_1 {
  --animate-duration: 1.5s;
}
.c-trigger_duration_2 {
  --animate-duration: 2s;
}
.c-trigger_duration_3 {
  --animate-duration: 3s;
}
.c-trigger_duration_4 {
  --animate-duration: 4s;
}

/* =========================================================
reveal effect - テキストエフェクト
========================================================= */
@-webkit-keyframes passing-bar {
  0% {
    left: 0;
    right: auto;
    width: 0;
  }
  50% {
    left: 0;
    right: auto;
    width: 100%;
  }
  51% {
    left: auto;
    right: 0;
    width: 100%;
  }
  100% {
    left: auto;
    right: 0;
    width: 0;
  }
}
@keyframes passing-bar {
  0% {
    left: 0;
    width: 0;
  }
  50% {
    left: 0;
    width: 100%;
  }
  51% {
    left: 0;
    width: 100%;
  }
  100% {
    left: 100%;
    width: 0;
  }
}
@-webkit-keyframes passing-txt {
  0% {
    opacity: 0;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes passing-txt {
  0% {
    opacity: 0;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.u-passing .u-passing-bar {
  display: inline-block;
  position: relative;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.u-passing .u-passing-bar:before {
  content: '';
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background: #80C6C4;
}
.u-passing .u-passing-txt {
  opacity: 0;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.u-passing.isActive .u-passing-time:before {
  -webkit-animation: passing-bar 1s ease 0s 1 normal forwards;
  animation: passing-bar 1s ease 0s 1 normal forwards;
}
.u-passing.isActive .u-passing-time_delay02:before {
  -webkit-animation: passing-bar 1s ease .2s 1 normal forwards;
  animation: passing-bar 1s ease .2s 1 normal forwards;
}
.u-passing.isActive .u-passing-time_delay04:before {
  -webkit-animation: passing-bar 1s ease .4s 1 normal forwards;
  animation: passing-bar 1s ease .4s 1 normal forwards;
}
.u-passing.isActive .u-passing-time_delay06:before {
  -webkit-animation: passing-bar 1s ease .6s 1 normal forwards;
  animation: passing-bar 1s ease .6s 1 normal forwards;
}
.u-passing.isActive .u-passing-time_delay08:before {
  -webkit-animation: passing-bar 1s ease .8s 1 normal forwards;
  animation: passing-bar 1s ease .8s 1 normal forwards;
}
.u-passing.isActive .u-passing-time_delay10:before {
  -webkit-animation: passing-bar 1s ease 1s 1 normal forwards;
  animation: passing-bar 1s ease 1s 1 normal forwards;
}
.u-passing.isActive .u-passing-time_delay12:before {
  -webkit-animation: passing-bar 1s ease 1.2s 1 normal forwards;
  animation: passing-bar 1s ease 1.2s 1 normal forwards;
}
.u-passing.isActive .u-passing-txt {
  -webkit-animation: passing-txt 0s ease .6s 1 normal forwards;
  animation: passing-txt 0s ease .6s 1 normal forwards;
}
.u-passing.isActive .u-passing-txt_delay08 {
  -webkit-animation: passing-txt 0s ease .8s 1 normal forwards;
  animation: passing-txt 0s ease .8s 1 normal forwards;
}
.u-passing.isActive .u-passing-txt_delay10 {
  -webkit-animation: passing-txt 0s ease 1s 1 normal forwards;
  animation: passing-txt 0s ease 1s 1 normal forwards;
}
.u-passing.isActive .u-passing-txt_delay12 {
  -webkit-animation: passing-txt 0s ease 1.2s 1 normal forwards;
  animation: passing-txt 0s ease 1.2s 1 normal forwards;
}
.u-passing.isActive .u-passing-txt_delay14 {
  -webkit-animation: passing-txt 0s ease 1.4s 1 normal forwards;
  animation: passing-txt 0s ease 1.4s 1 normal forwards;
}
.u-passing.isActive .u-passing-txt_delay16 {
  -webkit-animation: passing-txt 0s ease 1.6s 1 normal forwards;
  animation: passing-txt 0s ease 1.6s 1 normal forwards;
}

/* =========================================================
textline - テキストラインエフェクト
========================================================= */
.c-textline-txt {
  display: inline-block;
  opacity: 0;
  position: relative;
  transition: all 0.4s;
  z-index: 1;
}
.c-textline-txt:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0%;
  height: 1rem;
  background: #e8f3ff;
  z-index: -1;
  transition: all 0.8s;
  animation-delay: .6s;
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .c-textline-txt:after {
    height: 1rem;
  }
}
.c-textline-txt.isActive {
  opacity: 1;
}
.c-textline-txt.isActive:after {
  opacity: 1;
  width: 100%;
}
.c-textline-txt-brown {
  position: relative;
  z-index: 1;
}
.c-textline-txt-brown:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0%;
  height: 2rem;
  background: #F1EAE9;
  z-index: -1;
  transition: all 0.8s;
  opacity: 0;
}
.c-textline-txt-brown.isActive:after {
  opacity: 1;
  width: 100%;
}

/* =========================================================
loader - プリローダー
========================================================= */
#c-loader {
  background-color: #F1EAE9;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 999;
}
#c-loader--wrap {
  max-width: 300px;
  width: 50%;
}
#c-loader .st0 {
  fill: none;
  fill-opacity: 0;
  stroke: #AA8E76;
  stroke-width: 1;
  transition: fill-opacity 1s;
}
#c-loader .done .st0 {
  fill: #5F2A1D;
  fill-opacity: 1;
  stroke-width: 0;
  transition: fill-opacity 1s, stroke-width 1s;
}

/* =========================================================
header - ヘッダー内のクラス
========================================================= */
/* =========================================================
footer - フッター内のクラス
========================================================= */
.c-footer {
  margin: 80px 0 0 0;
}
.c-footer-wrap {
  background: #5DA050;
  width: 100%;
  height: auto;
  padding: 60px 0;
}
.c-footer-cont {
  display: flex;
  flex-direction: column;
  width: 96%;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (min-width: 980px) {
  .c-footer-cont {
    flex-direction: row;
  }
}
.c-footer-cont-left {
  width: 100%;
}
@media screen and (min-width: 980px) {
  .c-footer-cont-left {
    width: 50%;
  }
}
.c-footer-cont-center {
  width: 100%;
}
@media screen and (min-width: 980px) {
  .c-footer-cont-center {
    width: 25%;
  }
}
.c-footer-cont-right {
  width: 100%;
}
@media screen and (min-width: 980px) {
  .c-footer-cont-right {
    width: 25%;
  }
}
.c-footer-menuleft_ttl {
  font-size: 16px;
  font-weight: 700;
  border-left: 5px solid #F6CA1C;
  color: #fff;
  width: 100%;
  margin: 0 0 16px 0;
  padding: 0 0 0 12px;
}
.c-footer-menuleft_summury li {
  color: #fff;
  padding: 0 0 0 12px;
}
.c-footer-menucenter_ttl {
  font-size: 16px;
  font-weight: 700;
  border-left: 5px solid #F6CA1C;
  color: #fff;
  width: 100%;
  margin: 12px 0 16px 0;
  padding: 0 0 0 12px;
}
@media screen and (min-width: 980px) {
  .c-footer-menucenter_ttl {
    margin: 0 0 16px 0;
  }
}
.c-footer-menucenter_item {
  color: #fff;
  padding: 0 0 0 12px;
}
.c-footer-menucenter_item a {
  color: inherit;
}
.c-footer-menuright_list {
  margin: 12px 0 0 0;
}
@media screen and (min-width: 980px) {
  .c-footer-menuright_list {
    margin: 0;
  }
}
.c-footer-menuright_item:nth-child(n+2) {
  margin: 12px 0 0 0;
}
.c-footer-menuright_item a {
  background-color: #F6CA1C;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  margin: 0;
  padding: 12px;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-footer-menuright_item a {
    font-size: 16px;
  }
}
@media screen and (min-width: 980px) {
  .c-footer-menuright_item a {
    max-width: 400px;
    padding: 14px;
  }
}
.c-footer-menuright_item a:hover {
  opacity: .8;
  transition: .4s;
}
.c-footer-menuright_item a .icon-tel {
  display: block;
  content: '';
  background-image: url(../images/common/icon-tel.png);
  background-repeat: no-repeat;
  width: 32px;
  height: 32px;
  margin: 0 12px 0 0;
}
.c-footer-menuright_item a .icon-instagram {
  display: block;
  content: '';
  background-image: url(../images/common/icon-instagram.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 24px;
  height: 24px;
  margin: 0 12px 0 0;
}
.c-footer-menuright_item a .icon-map {
  display: block;
  content: '';
  background-image: url(../images/common/icon-map.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 24px;
  height: 24px;
  margin: 0 12px 0 0;
}
.c-footer-menuright_item a .icon-parking {
  display: block;
  content: '';
  background-image: url(../images/common/icon-parking.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 24px;
  height: 24px;
  margin: 0 12px 0 0;
}
.c-footer-copyright {
  background-color: #00582d;
  width: 100%;
  padding: 15px;
  text-align: center;
}
.c-footer-copyright small {
  font-size: 10px;
  color: #fff;
}
@media screen and (min-width: 980px) {
  .c-footer-copyright small {
    font-size: 12px;
  }
}

/* =========================================================
top - トップページのクラスなど
========================================================= */
.p-top-mv {
  position: relative;
  overflow: hidden;
  height: 85vh;
  width: 100vw;
}
@media screen and (min-width: 980px) {
  .p-top-mv {
    height: auto;
  }
}
.p-top-mv_title {
  display: flex;
  align-items: center;
  font-size: calc(42 * (100vw / 980));
  font-weight: bold;
  line-height: 1.6;
  position: absolute;
  left: 5vw;
  bottom: 24vh;
  margin: auto;
  z-index: 1;
}
@media screen and (min-width: 980px) {
  .p-top-mv_title {
    font-size: calc(42 * (100vw / 1280));
  }
}
@media screen and (min-width: 1200px) {
  .p-top-mv_title {
    font-size: 40px;
    top: 0;
    bottom: -44vh;
  }
}
.p-top-mv_title .color_org {
  color: #F6CA1C;
}
.p-top-mv_title--wrap {
  color: #fff;
  text-shadow: 1px 1px 4px rgba(4, 0, 0, 0.35);
}
.p-top-mv_title--wrap .underline {
  background: linear-gradient(rgba(0, 0, 0, 0) 60%, #c5e1a5 30%);
}
.p-top-mv_news {
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
  position: absolute;
  right: 0;
  left: 0;
  bottom: 2vh;
  margin: auto;
  width: 90%;
  z-index: 1;
}
@media screen and (min-width: 980px) {
  .p-top-mv_news {
    right: 5vw;
    left: auto;
    bottom: 5vh;
    max-width: 480px;
  }
}
.p-top-mv_news--title {
  border-left: 4px solid #599C4A;
  font-size: calc(24 * (100vw / 768));
  font-weight: bold;
  margin: 0 0 14px;
  padding: 0 0 0 7px;
}
@media screen and (min-width: 768px) {
  .p-top-mv_news--title {
    font-size: calc(20 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-mv_news--title {
    font-size: 16px;
  }
}
.p-top-mv_news--title .color_org {
  color: #F6CA1C;
}
.p-top-mv_news--list {
  border-top: 1px solid #707070;
  font-size: calc(24 * (100vw / 768));
  font-weight: bold;
  padding: 10px 0 0;
}
@media screen and (min-width: 980px) {
  .p-top-mv_news--list {
    font-size: 16px;
  }
}
.p-top-mv_news--list li a {
  color: #555;
  font-size: calc(24 * (100vw / 768));
}
@media screen and (min-width: 768px) {
  .p-top-mv_news--list li a {
    font-size: calc(20 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-mv_news--list li a {
    font-size: 16px;
  }
}
.p-top-mv_news--list li a:hover {
  text-decoration: underline;
}
.p-top-mv_slide.pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-top-mv_slide.pc {
    display: block;
  }
}
.p-top-mv_slide.sp {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-top-mv_slide.sp {
    display: none;
  }
}
.p-top-guide {
  padding: 70px 0;
  overflow: hidden;
  width: 100vw;
}
.p-top-guide--title {
  border-left: 5px solid #599C4A;
  display: inline-block;
  font-size: calc(90 * (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  padding: 0 0 0 10px;
}
@media screen and (min-width: 768px) {
  .p-top-guide--title {
    font-size: calc(60 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-guide--title {
    font-size: 60px;
  }
}
.p-top-guide--title .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-top-guide--title .color_org {
  color: #F6CA1C;
}
.p-top-guide--wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: auto;
  max-width: 1380px;
}
.p-top-guide--wrap figure {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: calc(10 * (100vw / 768)) 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-guide--wrap figure {
    margin: calc(10 * (100vw / 980)) 0;
  }
}
@media screen and (min-width: 980px) {
  .p-top-guide--wrap figure {
    flex-direction: row;
    margin: 150px 0;
  }
}
.p-top-guide--wrap figure::after {
  background-color: #C5E1A5;
  display: block;
  content: '';
  height: 30vh;
  width: 50vw;
  position: absolute;
  left: 450px;
  bottom: -50px;
  z-index: -1;
}
@media screen and (min-width: 980px) {
  .p-top-guide--wrap figure::after {
    width: 15vw;
    bottom: -30px;
  }
}
.p-top-guide--wrap figure picture img {
  position: relative;
  bottom: -50px;
}
@media screen and (min-width: 980px) {
  .p-top-guide--wrap figure picture img {
    top: -70px;
    right: -100px;
    bottom: auto;
  }
}
.p-top-guide--wrap figure figcaption {
  background-color: #fff;
  padding: 100px 20px 40px;
  width: 92%;
}
@media screen and (min-width: 980px) {
  .p-top-guide--wrap figure figcaption {
    max-width: 780px;
    padding: 40px 40px 40px 150px;
    width: 70%;
  }
}
.p-top-guide--wrap figure figcaption .subtitle {
  font-size: calc(32 * (100vw / 768));
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-top-guide--wrap figure figcaption .subtitle {
    font-size: calc(24 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-guide--wrap figure figcaption .subtitle {
    font-size: 24px;
  }
}
.p-top-guide--wrap figure figcaption .subtitle .underline {
  background: linear-gradient(rgba(0, 0, 0, 0) 60%, #c5e1a5 30%);
}
.p-top-guide--wrap figure figcaption .text {
  line-height: 2;
  margin: 30px auto 0;
  font-size: calc(21 * (100vw / 768));
}
@media screen and (min-width: 768px) {
  .p-top-guide--wrap figure figcaption .text {
    font-size: calc(14 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-guide--wrap figure figcaption .text {
    font-size: 14px;
  }
}
.p-top-guide--wrap figure figcaption .text .align-left {
  display: block;
  text-align: right;
}
.p-top-guide--wrap figure figcaption .btn a {
  background-color: #558B2F;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  color: #fff;
  font-size: calc(24 * (100vw / 768));
  font-weight: bold;
  margin: 20px auto 0;
  max-width: 320px;
  text-align: center;
  padding: 23px;
}
@media screen and (min-width: 768px) {
  .p-top-guide--wrap figure figcaption .btn a {
    font-size: calc(16 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-guide--wrap figure figcaption .btn a {
    font-size: 16px;
  }
}
.p-top-guide--wrap figure figcaption .btn a:hover {
  opacity: .8;
  transition: .4s;
}
.p-top-guide--wrap figure figcaption .btn a::after {
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;
  border-right: 0;
  margin: 0 0 0 10px;
}
.p-top-about {
  padding: 70px 0;
  overflow: hidden;
  width: 100vw;
}
@media screen and (min-width: 1200px) {
  .p-top-about {
    padding: 180px 0 120px;
  }
}
.p-top-about--title {
  border-left: 5px solid #599C4A;
  display: inline-block;
  font-size: calc(90 * (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  padding: 0 0 0 10px;
}
@media screen and (min-width: 768px) {
  .p-top-about--title {
    font-size: calc(60 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-about--title {
    font-size: 60px;
  }
}
.p-top-about--title .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-top-about--title .color_org {
  color: #F6CA1C;
}
.p-top-about--wrap {
  position: relative;
}
.p-top-about_textarea {
  background-color: #fff;
  margin: auto;
  padding: 40px;
  position: relative;
  bottom: 20px;
  z-index: 1;
  width: 90%;
}
@media screen and (min-width: 1200px) {
  .p-top-about_textarea {
    max-width: 510px;
    position: absolute;
    left: 10vw;
    top: -21vh;
    bottom: auto;
  }
}
.p-top-about_textarea .subtitle {
  font-size: calc(36 * (100vw / 768));
  font-weight: bold;
  line-height: 1.5;
  margin: 30px auto 0;
}
@media screen and (min-width: 768px) {
  .p-top-about_textarea .subtitle {
    font-size: calc(24 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-about_textarea .subtitle {
    font-size: 24px;
  }
}
.p-top-about_textarea .subtitle .underline {
  background: linear-gradient(rgba(0, 0, 0, 0) 60%, #c5e1a5 30%);
}
.p-top-about_textarea .text {
  line-height: 2;
  margin: 30px auto 0;
  font-size: calc(21 * (100vw / 768));
}
@media screen and (min-width: 768px) {
  .p-top-about_textarea .text {
    font-size: calc(14 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-about_textarea .text {
    font-size: 14px;
  }
}
.p-top-about_textarea .text .align-left {
  display: block;
  margin: 2rem 0 0;
  text-align: right;
}
.p-top-about_textarea .btn a {
  background-color: #558B2F;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  color: #fff;
  font-size: calc(24 * (100vw / 768));
  font-weight: bold;
  margin: 20px auto 0;
  max-width: 320px;
  text-align: center;
  padding: 23px;
}
@media screen and (min-width: 768px) {
  .p-top-about_textarea .btn a {
    font-size: calc(16 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-about_textarea .btn a {
    font-size: 16px;
  }
}
.p-top-about_textarea .btn a:hover {
  opacity: .8;
  transition: .4s;
}
.p-top-about_textarea .btn a::after {
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;
  border-right: 0;
  margin: 0 0 0 10px;
}
.p-top-about_slide {
  overflow: hidden;
  width: 100vw;
}
.p-top-treatment {
  padding: 70px 0;
  position: relative;
  overflow: hidden;
  width: 100vw;
}
.p-top-treatment::before {
  background-color: #DCEDC8;
  display: block;
  content: '';
  height: 50vh;
  width: 70vw;
  position: absolute;
  left: 0;
  top: 125px;
  z-index: -1;
}
.p-top-treatment::after {
  background-color: #AED581;
  display: block;
  content: '';
  height: 55vh;
  width: 50vw;
  position: absolute;
  right: 0;
  bottom: 90vh;
  z-index: -1;
}
.p-top-treatment--wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: auto;
  max-width: 1280px;
}
.p-top-treatment--wrap::before {
  background-color: #DCEDC8;
  display: block;
  content: '';
  height: 50vh;
  width: 30vw;
  position: absolute;
  left: 0;
  bottom: 40vh;
  z-index: -1;
}
.p-top-treatment--title {
  border-left: 5px solid #599C4A;
  display: inline-block;
  font-size: calc(90 * (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  padding: 0 0 0 10px;
}
@media screen and (min-width: 768px) {
  .p-top-treatment--title {
    font-size: calc(60 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-treatment--title {
    font-size: 60px;
  }
}
.p-top-treatment--title .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-top-treatment--title .color_org {
  color: #F6CA1C;
}
.p-top-treatment--textarea {
  font-size: calc(21 * (100vw / 768));
  line-height: 2;
  margin: 25px auto 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-treatment--textarea {
    font-size: calc(14 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-treatment--textarea {
    font-size: 14px;
    margin: 45px auto 0;
  }
}
.p-top-treatment_list {
  display: flex;
  flex-wrap: wrap;
  margin: 30px auto 0;
}
@media screen and (min-width: 980px) {
  .p-top-treatment_list {
    margin: 60px auto 0;
  }
}
.p-top-treatment_list > li {
  background-color: #fff;
  margin: 0 1.5% 35px;
  padding: 10px;
  width: calc(94% / 2);
  position: relative;
}
@media screen and (min-width: 980px) {
  .p-top-treatment_list > li {
    padding: 30px;
    width: calc(91% / 3);
  }
}
.p-top-treatment_list > li .tag {
  position: absolute;
  top: 20px;
  left: -8px;
}
.p-top-treatment_list > li .tag span {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 40px;
  padding: 0 18px 0 10px;
  color: #ffffff;
  background: #F6CA1C;
  font-weight: 700;
  clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
}
.p-top-treatment_list > li .tag::before {
  position: absolute;
  content: '';
  top: -8px;
  left: 0;
  width: 8px;
  height: 8px;
  background-color: #D7AD08;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.p-top-treatment_list > li a:hover {
  opacity: .8;
  transition: .4s;
}
.p-top-treatment_list > li figure picture {
  display: block;
  width: 60%;
  height: auto;
  margin: 0 auto;
}
.p-top-treatment_list > li figure picture img {
  display: block;
  margin: auto;
}
.p-top-treatment_list > li figure figcaption .subject {
  font-size: calc(25 * (100vw / 768));
  font-weight: bold;
  margin: 20px auto 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-treatment_list > li figure figcaption .subject {
    font-size: calc(24 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-treatment_list > li figure figcaption .subject {
    font-size: 24px;
  }
}
.p-top-treatment_list > li figure figcaption .subject .number {
  color: #F6CA1C;
  display: block;
  margin: 0 0 5px 0;
}
@media screen and (min-width: 768px) {
  .p-top-treatment_list > li figure figcaption .subject .number {
    display: inline;
  }
}
.p-top-treatment_list > li figure figcaption .subject .en {
  color: #e0e0e0;
  display: block;
  font-size: 60%;
  margin: 5px auto 0;
}
@media screen and (min-width: 980px) {
  .p-top-treatment_list > li figure figcaption .subject .en {
    margin: 10px auto 0;
  }
}
.p-top-treatment_list--btn {
  width: 100%;
}
.p-top-treatment_list--btn a {
  background-color: #558B2F;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  color: #fff;
  font-size: calc(24 * (100vw / 768));
  font-weight: bold;
  margin: 20px auto 0;
  max-width: 320px;
  text-align: center;
  padding: 23px;
}
.p-top-treatment_list--btn a:hover {
  opacity: .8;
  transition: .4s;
}
@media screen and (min-width: 768px) {
  .p-top-treatment_list--btn a {
    font-size: calc(16 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-treatment_list--btn a {
    font-size: 16px;
  }
}
.p-top-treatment_list--btn a::after {
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;
  border-right: 0;
  margin: 0 0 0 10px;
}
.p-top-treatment_slide {
  margin: 60px auto 0;
}
.p-top-news {
  padding: 20px 0;
  position: relative;
  overflow: hidden;
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .p-top-news {
    padding: 70px 0 150px;
  }
}
.p-top-news::before {
  background-color: #AED581;
  display: block;
  content: '';
  height: 20vw;
  width: 20vw;
  position: absolute;
  right: 0;
  top: 125px;
  z-index: -1;
  transform: rotate(50deg);
}
.p-top-news::after {
  background-color: #C5E1A5;
  display: block;
  content: '';
  height: 20vw;
  width: 30vw;
  position: absolute;
  left: -20vw;
  bottom: 0;
  z-index: -1;
  transform: rotate(-40deg);
}
.p-top-news--wrap {
  background-color: #fff;
  padding: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: auto;
  max-width: 1080px;
}
.p-top-news--title {
  border-left: 5px solid #599C4A;
  display: inline-block;
  font-size: calc(90 * (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  padding: 0 0 0 10px;
}
@media screen and (min-width: 768px) {
  .p-top-news--title {
    font-size: calc(60 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-news--title {
    font-size: 60px;
  }
}
.p-top-news--title .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-top-news--title .color_org {
  color: #F6CA1C;
}
.p-top-news_list {
  margin: 65px auto 0;
  width: 100%;
}
.p-top-news_list > li {
  border-top: 1px solid #707070;
  padding: 5px;
}
.p-top-news_list > li:last-of-type {
  border-bottom: 1px solid #707070;
}
.p-top-news_list > li a {
  color: #707070;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  font-size: calc(24 * (100vw / 768));
  padding: 18px;
}
@media screen and (min-width: 768px) {
  .p-top-news_list > li a {
    font-size: calc(16 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-news_list > li a {
    font-size: 16px;
  }
}
.p-top-news_list > li a:hover {
  text-decoration: none;
}
.p-top-news_list > li a .cat {
  background: #5A9F4D;
  border-radius: 4px;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  width: 100%;
  max-width: 100px;
  margin: 0 0 0 8px;
  padding: 8px 12px;
  text-align: center;
}
.p-top-news_list > li a .title {
  margin: 12px 0 0 0;
  width: 100%;
}
@media screen and (min-width: 980px) {
  .p-top-news_list > li a .title {
    margin: 0 0 0 8px;
    width: auto;
  }
}
.p-top-news_list > li a .title:hover {
  text-decoration: underline;
}
.p-top-news .btn {
  width: 100%;
}
.p-top-news .btn a {
  background-color: #558B2F;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  color: #fff;
  font-size: calc(24 * (100vw / 768));
  font-weight: bold;
  margin: 40px auto 0;
  max-width: 320px;
  text-align: center;
  padding: 23px;
}
.p-top-news .btn a:hover {
  opacity: .8;
  transition: .4s;
}
@media screen and (min-width: 768px) {
  .p-top-news .btn a {
    font-size: calc(24 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-news .btn a {
    font-size: 16px;
  }
}
.p-top-news .btn a::after {
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;
  border-right: 0;
  margin: 0 0 0 10px;
}
.p-top-banner {
  padding: 70px 0;
  position: relative;
  overflow: hidden;
  width: 100vw;
}
.p-top-banner--wrap {
  margin: auto;
  max-width: 1080px;
}
.p-top-banner--title {
  color: #fff;
  display: inline-block;
  font-size: calc(90 * (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
}
@media screen and (min-width: 768px) {
  .p-top-banner--title {
    font-size: calc(60 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-banner--title {
    font-size: 60px;
  }
}
.p-top-banner--title .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-top-banner--title .color_org {
  color: #F6CA1C;
}
.p-top-banner figure.recruit {
  display: flex;
  flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  .p-top-banner figure.recruit {
    flex-direction: row-reverse;
  }
}
.p-top-banner figure.recruit figcaption {
  background-color: #558B2F;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 35px;
}
.p-top-banner figure.recruit figcaption .text {
  color: #fff;
  font-size: calc(27 * (100vw / 768));
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-top-banner figure.recruit figcaption .text {
    font-size: calc(18 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-banner figure.recruit figcaption .text {
    font-size: 18px;
  }
}
.p-top-info {
  overflow: hidden;
  width: 100vw;
}
.p-top-info--wrap {
  display: flex;
  flex-direction: column;
  margin: auto;
  max-width: 1080px;
}
@media screen and (min-width: 768px) {
  .p-top-info--wrap {
    flex-direction: row;
  }
}
.p-top-info_schedule {
  background-color: #5DA050;
  flex-grow: 1;
  padding: 35px 20px;
}
@media screen and (min-width: 768px) {
  .p-top-info_schedule {
    padding: 35px;
  }
}
.p-top-info_schedule .title {
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
.p-top-info_schedule .title .en {
  display: block;
  font-size: 68%;
}
@media screen and (min-width: 768px) {
  .p-top-info_schedule .title .en {
    display: inline;
  }
}
.p-top-info_schedule .subtitle {
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  margin: 20px auto 0;
}
@media screen and (min-width: 768px) {
  .p-top-info_schedule .subtitle {
    font-size: 18px;
  }
}
.p-top-info_schedule--list table {
  margin: 5px auto 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-top-info_schedule--list table {
    margin: 35px auto 0;
  }
}
.p-top-info_schedule--list table thead {
  border-bottom: 1px solid #fff;
}
.p-top-info_schedule--list table thead th {
  text-align: center;
}
.p-top-info_schedule--list table tbody tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.p-top-info_schedule--list table tbody th {
  line-height: 1.4;
  text-align: left;
}
.p-top-info_schedule--list table th {
  padding: 8px 5px;
}
.p-top-info_schedule--list table td {
  color: #fff;
  padding: 8px 5px;
  text-align: center;
  vertical-align: middle;
}
.p-top-info_schedule--list table td .vertical {
  font-size: 0.8em;
  vertical-align: top;
}
.p-top-info_schedule--list table td .close {
  text-align: center;
}
.p-top-info_schedule--list table td .close::before {
  content: '‐';
}
.p-top-info_schedule--list table td .open {
  text-align: center;
}
.p-top-info_schedule--list table td .open::before {
  content: '●';
}
.p-top-info_schedule--list table td .open-harf {
  text-align: center;
}
.p-top-info_schedule--list table td .open-harf::before {
  content: '▲';
}
.p-top-info_schedule--list table td .att {
  position: relative;
}
.p-top-info_schedule--list table td .att::after {
  content: '※';
  font-size: 80%;
}
.p-top-info_schedule--list table p {
  color: #fff;
  font-size: calc(21 * (100vw / 768));
}
@media screen and (min-width: 768px) {
  .p-top-info_schedule--list table p {
    font-size: calc(14 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-info_schedule--list table p {
    font-size: 14px;
  }
}
.p-top-info_schedule--note {
  margin: 15px auto 0;
}
.p-top-info_schedule--note p {
  color: #fff;
  font-size: calc(20 * (100vw / 768));
}
@media screen and (min-width: 768px) {
  .p-top-info_schedule--note p {
    font-size: calc(14 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-info_schedule--note p {
    font-size: 14px;
  }
}
.p-top-info_schedule--btn {
  margin: 15px auto 0;
}
.p-top-info_schedule--btn a {
  background-color: #F6CA1C;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  color: #fff;
  font-size: calc(24 * (100vw / 768));
  font-weight: bold;
  margin: 40px auto 0;
  max-width: 490px;
  text-align: center;
  padding: 23px;
}
.p-top-info_schedule--btn a:hover {
  opacity: .8;
  transition: .4s;
}
@media screen and (min-width: 768px) {
  .p-top-info_schedule--btn a {
    font-size: calc(24 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-top-info_schedule--btn a {
    font-size: 16px;
  }
}
.p-top-info_schedule--btn a::after {
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;
  border-right: 0;
  margin: 0 0 0 10px;
}

/* =========================================================
about - トップページのクラスなど
========================================================= */
.p-about-mv {
  background-image: url(../images/about/mv-sp.jpg);
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  width: 100%;
  height: 420px;
}
@media screen and (min-width: 980px) {
  .p-about-mv {
    background-image: url(../images/about/mv.jpg);
  }
}
.p-about-mv_ttl {
  background: #599C4A;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 30vh 0 0 0;
  padding: 30px 40px 12px;
  opacity: .7;
}
@media screen and (min-width: 980px) {
  .p-about-mv_ttl {
    margin: 0;
    padding: 40px 100px 20px 100px;
  }
}
.p-about-mv_ttl .en {
  display: block;
  font-size: 48px;
  margin-bottom: 18px;
}
.p-about-mv_ttl .en .orange {
  color: #F6CA1C;
}

.p-about-concept {
  padding: 5vw 0 10vw 0;
}
@media screen and (min-width: 980px) {
  .p-about-concept {
    padding: 10vh 0;
  }
}
.p-about-concept--wrap {
  display: flex;
  flex-direction: column-reverse;
  flex-wrap: wrap;
  width: 96%;
  max-width: 1080px;
  height: auto;
  margin: 5vw auto 0;
}
@media screen and (min-width: 980px) {
  .p-about-concept--wrap {
    flex-direction: row;
  }
}
.p-about-concept--right {
  width: 100%;
  margin: 10vw 0 0 0;
  padding: 0;
}
@media screen and (min-width: 980px) {
  .p-about-concept--right {
    width: 50%;
    margin: 0;
    padding: 0 80px 0 0;
  }
}
.p-about-concept--left {
  border-radius: 16px;
  overflow: hidden;
  width: 100%;
  margin: 10vw 0 0 0;
}
@media screen and (min-width: 980px) {
  .p-about-concept--left {
    width: 50%;
    margin: 0;
  }
}
.p-about-concept--ttl {
  font-size: calc(56* (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-about-concept--ttl {
    font-size: calc(60 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-about-concept--ttl {
    font-size: 60px;
  }
}
.p-about-concept--ttl::before {
  position: absolute;
  border-bottom: 5px solid #599C4A;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  content: '';
}
.p-about-concept--ttl .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-about-concept--ttl .color_org {
  color: #F6CA1C;
}
.p-about-concept--catch {
  font-size: 18px;
  margin: 0 0 24px 0;
}
@media screen and (min-width: 980px) {
  .p-about-concept--catch {
    margin: 0 0 24px 0;
  }
}
.p-about-concept--txt {
  font-size: 16px;
}

.p-about-doctor {
  padding: 20vw 0 0 0;
}
@media screen and (min-width: 980px) {
  .p-about-doctor {
    padding: 10vh 0;
  }
}
.p-about-doctor--wrap {
  display: flex;
  flex-direction: column-reverse;
  flex-wrap: wrap;
  width: 96%;
  max-width: 1080px;
  height: auto;
  margin: 5vw auto 0;
}
@media screen and (min-width: 980px) {
  .p-about-doctor--wrap {
    flex-direction: row-reverse;
  }
}
.p-about-doctor--right {
  border-radius: 16px;
  overflow: hidden;
  width: 100%;
  margin: 10vw 0 0 0;
}
@media screen and (min-width: 980px) {
  .p-about-doctor--right {
    width: 45%;
    margin: 0;
  }
}
.p-about-doctor--left {
  width: 100%;
  padding: 0;
  margin: 10vw 0 0 0;
}
@media screen and (min-width: 980px) {
  .p-about-doctor--left {
    width: 55%;
    margin: 0;
    padding: 0 0 0 80px;
  }
}
.p-about-doctor--ttl {
  font-size: calc(56* (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-about-doctor--ttl {
    font-size: calc(60 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-about-doctor--ttl {
    font-size: 60px;
  }
}
.p-about-doctor--ttl::before {
  position: absolute;
  border-bottom: 5px solid #599C4A;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  content: '';
}
.p-about-doctor--ttl .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-about-doctor--ttl .color_org {
  color: #F6CA1C;
}
.p-about-doctor--h3 {
  font-size: 18px;
  margin-bottom: 36px;
}
.p-about-doctor--h3 .role {
  display: block;
  font-size: 10px;
}
.p-about-doctor--h3 .name-ja {
  display: block;
  font-size: 20px;
}
.p-about-doctor--h3 .name-en {
  display: block;
  font-size: 10px;
}
.p-about-doctor--catch {
  background: linear-gradient(rgba(0, 0, 0, 0) 60%, #c5e1a5 30%);
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 24px;
  text-align: center;
}
@media screen and (min-width: 980px) {
  .p-about-doctor--catch {
    text-align: left;
  }
}
.p-about-doctor--txt {
  border-bottom: 1px solid #000;
  font-size: 16px;
  margin-bottom: 24px;
  padding-bottom: 36px;
}
.p-about-doctor--carrierlist {
  display: flex;
  flex-direction: column;
}
.p-about-doctor--carrieritemttl {
  font-size: 18px;
  padding: 0 0 12px 0;
}
.p-about-doctor--carrieritemttl::before {
  content: "■";
  color: #5A9F4D;
  margin-right: 8px;
}
.p-about-doctor--carrieritemcont {
  font-size: 16px;
  padding: 0 0 8px 0;
}
.p-about-doctor--carrieritemcont .year {
  margin-right: 24px;
}
.p-about-doctor--affiliationlist {
  display: flex;
  flex-direction: column;
}
.p-about-doctor--affiliationitemttl {
  font-size: 18px;
  padding: 0 0 12px 0;
}
.p-about-doctor--affiliationitemttl::before {
  content: "■";
  color: #5A9F4D;
  margin-right: 8px;
}
.p-about-doctor--affiliationitemcont {
  font-size: 16px;
  padding: 0 0 8px 0;
}

.p-about-feature {
  padding: 20vw 0 0 0;
}
@media screen and (min-width: 980px) {
  .p-about-feature {
    padding: 10vh 0;
  }
}
.p-about-feature--wrap {
  width: 96%;
  max-width: 1080px;
  height: auto;
  margin: 10vw auto 0;
}
@media screen and (min-width: 980px) {
  .p-about-feature--wrap {
    margin: 5vw auto 0;
  }
}
.p-about-feature--list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
@media screen and (min-width: 980px) {
  .p-about-feature--list {
    flex-direction: row;
  }
}
.p-about-feature--item {
  background: #fff;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: auto;
  border: 2px solid #5A9F4D;
  border-radius: 16px;
  margin-bottom: 3vw;
  padding: 32px;
}
@media screen and (min-width: 980px) {
  .p-about-feature--item {
    width: 48%;
  }
}
.p-about-feature--imagebox {
  border-radius: 16px;
  overflow: hidden;
  width: 100%;
  height: auto;
  margin-bottom: 24px;
}
.p-about-feature--txtbox h3 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 16px;
  text-align: center;
}
@media screen and (min-width: 980px) {
  .p-about-feature--txtbox h3 {
    font-size: 18px;
    margin-bottom: 24px;
  }
}
.p-about-feature--txtbox h3 .number {
  display: block;
  font-size: 12px;
  font-weight: 600;
  background-color: #5A9F4D;
  border-radius: 4px;
  color: #fff;
  margin: 0 0 16px 0;
  padding: 4px 12px;
}
@media screen and (min-width: 980px) {
  .p-about-feature--txtbox h3 .number {
    margin: 0 0 24pxpx 0;
  }
}
.p-about-feature--ttl {
  font-size: calc(56* (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-about-feature--ttl {
    font-size: calc(60 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-about-feature--ttl {
    font-size: 60px;
  }
}
.p-about-feature--ttl::before {
  position: absolute;
  border-bottom: 5px solid #599C4A;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  content: '';
}
.p-about-feature--ttl .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-about-feature--ttl .color_org {
  color: #F6CA1C;
}

.p-about-gallery {
  padding: 20vw 0 10vw 0;
}
@media screen and (min-width: 980px) {
  .p-about-gallery {
    padding: 10vh 0;
  }
}
.p-about-gallery_ttl {
  font-size: calc(56* (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-about-gallery_ttl {
    font-size: calc(60 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-about-gallery_ttl {
    font-size: 60px;
  }
}
.p-about-gallery_ttl::before {
  position: absolute;
  border-bottom: 5px solid #599C4A;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  content: '';
}
.p-about-gallery_ttl .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-about-gallery_ttl .color_org {
  color: #F6CA1C;
}
.p-about-gallery_list {
  width: 96%;
  max-width: 1080px;
  margin: 5vw auto 0;
}
.p-about-gallery_list.pc {
  display: none;
}
@media screen and (min-width: 980px) {
  .p-about-gallery_list.pc {
    display: grid;
    grid-template-columns: 25% 25% 25% 25%;
    grid-template-rows: 240px 240px 240px 240px;
    grid-template-areas: "A A B C" "A A F F" "D E F F" "G G H H";
    gap: 0;
  }
}
.p-about-gallery_list.sp {
  display: grid;
  grid-template-columns: 50% 50%;
  grid-template-rows: 12.5% 12.5% 12.5% 12.5% 12.5% 12.5% 12.5% 12.5%;
  grid-template-areas: "A B" "A B" "C D" "C D" "E F" "E F" "G H" "G H";
  gap: 10px;
}
@media screen and (min-width: 980px) {
  .p-about-gallery_list.sp {
    display: none;
  }
}
.p-about-gallery_item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-about-gallery_item.photoA {
  grid-area: A;
}
.p-about-gallery_item.photoB {
  grid-area: B;
}
.p-about-gallery_item.photoC {
  grid-area: C;
}
.p-about-gallery_item.photoD {
  grid-area: D;
}
.p-about-gallery_item.photoE {
  grid-area: E;
}
.p-about-gallery_item.photoF {
  grid-area: F;
}
.p-about-gallery_item.photoG {
  grid-area: G;
}
.p-about-gallery_item.photoH {
  grid-area: H;
}

/* =========================================================
TREATMENT - 診療案内ページのクラスなど
========================================================= */
.p-treatment-mv {
  background-image: url(../images/treatment/mv-sp.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  width: 100%;
  height: 420px;
}
@media screen and (min-width: 980px) {
  .p-treatment-mv {
    background-image: url(../images/treatment/mv.jpg);
  }
}
.p-treatment-mv_ttl {
  background: #599C4A;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 30vh 0 0 0;
  padding: 30px 40px 12px;
  opacity: .7;
}
@media screen and (min-width: 980px) {
  .p-treatment-mv_ttl {
    margin: 0;
    padding: 40px 100px 20px 100px;
  }
}
.p-treatment-mv_ttl .en {
  display: block;
  font-size: 38px;
  margin-bottom: 18px;
}
.p-treatment-mv_ttl .en .orange {
  color: #F6CA1C;
}

.p-treatment-box {
  padding: 20vw 0;
}
@media screen and (min-width: 980px) {
  .p-treatment-box {
    padding: 10vh 0;
  }
}
.p-treatment-lead {
  font-size: 16px;
  text-align: center;
  line-height: 2.0;
}
@media screen and (min-width: 980px) {
  .p-treatment-lead {
    font-size: 18px;
  }
}
.p-treatment-list {
  width: 94%;
  max-width: 1080px;
  margin: 0 auto;
}
.p-treatment-item {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 80px 0;
}
.p-treatment-item:nth-child(n+2) {
  border-top: 1px dotted;
}
.p-treatment-item figure {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (min-width: 980px) {
  .p-treatment-item figure {
    flex-direction: row;
    justify-content: space-between;
  }
}
.p-treatment-item figure picture {
  width: 60%;
  margin: auto;
}
@media screen and (min-width: 980px) {
  .p-treatment-item figure picture {
    width: 25%;
  }
}
.p-treatment-item figure picture img {
  width: 100%;
  height: auto;
}
.p-treatment-item figure figcaption {
  width: 100%;
  padding: 30px 0 0 0;
}
@media screen and (min-width: 980px) {
  .p-treatment-item figure figcaption {
    width: 70%;
    padding: 0 0 0 60px;
  }
}
.p-treatment-item figure figcaption h3 {
  font-size: 18px;
  font-weight: 700;
}
@media screen and (min-width: 980px) {
  .p-treatment-item figure figcaption h3 {
    font-size: 22px;
  }
}
.p-treatment-item figure figcaption h3 .number {
  color: #F6CA1C;
  margin: 0 20px 0 0;
}
.p-treatment-item figure figcaption h3 .en {
  color: #e0e0e0;
  font-size: 12px;
  margin: 0 0 0 12px;
}
@media screen and (min-width: 980px) {
  .p-treatment-item figure figcaption h3 .en {
    font-size: 14px;
  }
}
.p-treatment-item figure figcaption p {
  padding: 20px 0 0 0;
}

.cp_box *, .cp_box *:before, .cp_box *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.cp_box {
  position: relative;
}

.cp_box label {
  position: absolute;
  z-index: 1;
  bottom: 0;
  width: 100%;
  height: 140px;
  cursor: pointer;
  text-align: center;
  background: linear-gradient(to bottom, rgba(249, 248, 243, 0) 0%, rgba(249, 248, 243, 0.95) 90%);
}

.cp_box input:checked + label {
  background: inherit;
}

.cp_box label:after {
  line-height: 2.5rem;
  position: absolute;
  z-index: 2;
  bottom: 20px;
  left: 50%;
  width: 16rem;
  content: ' 続きをよむ';
  transform: translate(-50%, 0);
  letter-spacing: 0.05em;
  color: #ffffff;
  border-radius: 20px;
  background-color: #558b2f;
}

.cp_box input {
  display: none;
}

.cp_box .cp_container {
  overflow: hidden;
  height: 180px;
  transition: all 0.5s;
}

.cp_box input:checked + label {
  /* display: none ; 閉じるボタンを消す場合解放 */
}

.cp_box input:checked + label:after {
  font-family: FontAwesome;
  content: ' 閉じる';
}

.cp_box input:checked ~ .cp_container {
  height: auto;
  padding-bottom: 80px;
  transition: all 0.5s;
}

/* =========================================================
GUIDE - 初めての方ページのクラスなど
========================================================= */
.p-guide-mv {
  background-image: url(../images/guide/mv-sp.jpg);
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  width: 100%;
  height: 420px;
}
@media screen and (min-width: 980px) {
  .p-guide-mv {
    background-image: url(../images/guide/mv.jpg);
  }
}
.p-guide-mv_ttl {
  background: #599C4A;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 30vh 0 0 0;
  padding: 30px 40px 12px;
  opacity: .7;
}
@media screen and (min-width: 980px) {
  .p-guide-mv_ttl {
    margin: 0;
    padding: 40px 100px 20px 100px;
  }
}
.p-guide-mv_ttl .en {
  display: block;
  font-size: 48px;
  margin-bottom: 18px;
}
.p-guide-mv_ttl .en .orange {
  color: #F6CA1C;
}

.p-guide-message {
  padding: 20vw 0 0 0;
}
@media screen and (min-width: 980px) {
  .p-guide-message {
    padding: 10vh 0;
  }
}
.p-guide-message_wrap {
  width: 96%;
  max-width: 1080px;
  margin: 0 auto;
}
.p-guide-message_ttl {
  font-size: calc(56* (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-guide-message_ttl {
    font-size: calc(60 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-guide-message_ttl {
    font-size: 60px;
  }
}
.p-guide-message_ttl::before {
  position: absolute;
  border-bottom: 5px solid #599C4A;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  content: '';
}
.p-guide-message_ttl .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-guide-message_ttl .color_org {
  color: #F6CA1C;
}
.p-guide-message_txt {
  font-size: 18px;
  font-weight: bold;
  line-height: 2;
  text-align: center;
  margin: 40px 0 0 0;
}
.p-guide-message_attention {
  text-align: center;
  margin: 24px 0 0 0;
  font-size: 12px;
  font-size: 12px;
}
@media screen and (min-width: 980px) {
  .p-guide-message_attention {
    font-size: 14px;
  }
}
.p-guide-message_attention li {
  text-indent: -1.5rem;
  padding-left: 1.5rem;
  text-align: left;
}
.p-guide-message_attention li::before {
  content: "☑";
  color: #F6CA1C;
  font-weight: bold;
  margin: 0 0.5rem 0 0;
}

.p-guide-cancel {
  padding: 5vw 0 10vw 0;
}
@media screen and (min-width: 980px) {
  .p-guide-cancel {
    padding: 10vh 0;
  }
}
.p-guide-cancel_wrap {
  background: #c5e1a5;
  border-radius: 24px;
  width: 96%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 48px;
  text-align: center;
}
.p-guide-cancel_ttl {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 24px;
}
.p-guide-cancel_ttl .en {
  display: block;
  font-size: 24px;
  margin-bottom: 12px;
}
.p-guide-cancel_txt {
  color: #fff;
  text-align: left;
  font-weight: bold;
}
@media screen and (min-width: 980px) {
  .p-guide-cancel_txt {
    text-align: center;
  }
}

.p-guide-flow {
  padding: 0 0 10vw 0;
}
@media screen and (min-width: 980px) {
  .p-guide-flow {
    padding: 10vh 0;
  }
}
.p-guide-flow_wrap {
  width: 96%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 20px;
}
.p-guide-flow_ttl {
  font-size: calc(56* (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-guide-flow_ttl {
    font-size: calc(60 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-guide-flow_ttl {
    font-size: 60px;
  }
}
.p-guide-flow_ttl::before {
  position: absolute;
  border-bottom: 5px solid #599C4A;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  content: '';
}
.p-guide-flow_ttl .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-guide-flow_ttl .color_org {
  color: #F6CA1C;
}
.p-guide-flow_box {
  background: #fff;
  border: 2px solid #5A9F4D;
  border-radius: 16px;
  padding: 32px;
}
.p-guide-flow_box:nth-child(n+2) {
  margin: 60px 0 0 0;
}
.p-guide-flow_box figure {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 980px) {
  .p-guide-flow_box figure {
    flex-direction: row;
  }
}
.p-guide-flow_box__image {
  border-radius: 16px;
  overflow: hidden;
  width: 100%;
  height: auto;
  margin: 0 0 16px 0;
}
@media screen and (min-width: 980px) {
  .p-guide-flow_box__image {
    width: 40%;
    margin: 0;
  }
}
.p-guide-flow_box__cont {
  width: 100%;
}
@media screen and (min-width: 980px) {
  .p-guide-flow_box__cont {
    width: 60%;
    padding: 0 0 0 40px;
  }
}
.p-guide-flow_box__ttl {
  font-size: 21px;
  border-left: 4px solid #599C4A;
  padding: 0 0 0 16px;
  line-height: 1.4;
}
@media screen and (min-width: 980px) {
  .p-guide-flow_box__ttl {
    font-size: 26px;
  }
}
.p-guide-flow_box__ttl::before {
  content: attr(data-en);
  display: block;
  color: #F6CA1C;
  font-size: 12px;
  font-weight: 700;
}
@media screen and (min-width: 980px) {
  .p-guide-flow_box__ttl::before {
    font-size: 14px;
  }
}
.p-guide-flow_box__txt {
  margin: 1.3rem 0 0 0;
}
.p-guide-flow_box__txt .red {
  color: firebrick;
}

/* =========================================================
RECRUIT - 採用情報ページのクラスなど
========================================================= */
.wpcf7 p {
  display: inline;
}

.p-recruit-mv {
  background-image: url(../images/recruit/mv-sp.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  width: 100%;
  height: 420px;
}
@media screen and (min-width: 980px) {
  .p-recruit-mv {
    background-image: url(../images/recruit/mv.jpg);
  }
}
.p-recruit-mv_ttl {
  background: #599C4A;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 30vh 0 0 0;
  padding: 30px 40px 12px;
  opacity: .7;
}
@media screen and (min-width: 980px) {
  .p-recruit-mv_ttl {
    margin: 0;
    padding: 40px 100px 20px 100px;
  }
}
.p-recruit-mv_ttl .en {
  display: block;
  font-size: 48px;
  margin-bottom: 18px;
}
.p-recruit-mv_ttl .en .orange {
  color: #F6CA1C;
}

.p-recruit-resources {
  padding: 20vw 0 0 0;
}
@media screen and (min-width: 980px) {
  .p-recruit-resources {
    padding: 10vh 0;
  }
}
.p-recruit-resources_wrap {
  width: 96%;
  max-width: 1080px;
  margin: 0 auto;
  text-align: center;
}
.p-recruit-resources_ttl {
  background: linear-gradient(rgba(0, 0, 0, 0) 60%, #c5e1a5 30%);
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 20px 0;
}
@media screen and (min-width: 980px) {
  .p-recruit-resources_ttl {
    font-size: 26px;
    margin: 0 0 36px 0;
  }
}
.p-recruit-resources_lead {
  font-size: 14px;
  font-weight: bold;
  line-height: 2.0;
  margin: 0 0 14px 0;
}
@media screen and (min-width: 980px) {
  .p-recruit-resources_lead {
    font-size: 18px;
    margin: 0 0 24px 0;
  }
}
.p-recruit-resources_lead .orange {
  color: #F6CA1C;
}
.p-recruit-resources_txt {
  font-weight: bold;
}

.p-recruit-hygienist {
  padding: 20vw 0 10vw 0;
}
@media screen and (min-width: 980px) {
  .p-recruit-hygienist {
    padding: 10vh 0;
  }
}
.p-recruit-hygienist_wrap {
  width: 96%;
  max-width: 1080px;
  margin: 10vw auto 0;
}
@media screen and (min-width: 980px) {
  .p-recruit-hygienist_wrap {
    margin: 5vw auto 0;
  }
}
.p-recruit-hygienist_ttl {
  font-size: calc(56* (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-recruit-hygienist_ttl {
    font-size: calc(60 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-recruit-hygienist_ttl {
    font-size: 60px;
  }
}
.p-recruit-hygienist_ttl::before {
  position: absolute;
  border-bottom: 5px solid #599C4A;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  content: '';
}
.p-recruit-hygienist_ttl .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-recruit-hygienist_ttl .color_org {
  color: #F6CA1C;
}
.p-recruit-hygienist_subttl {
  border-left: 4px solid #599C4A;
  font-size: 16px;
  font-weight: bold;
  line-height: 2.0;
  margin: 36px auto 0;
  padding: 0 0 0 1rem;
}
@media screen and (min-width: 980px) {
  .p-recruit-hygienist_subttl {
    font-size: 18px;
    margin: 48px auto 0;
  }
}
.p-recruit-hygienist_subttl .en {
  font-size: 12px;
  color: #e0e0e0;
  text-transform: uppercase;
  　margin: 0 0 0 12px;
}
@media screen and (min-width: 980px) {
  .p-recruit-hygienist_subttl .en {
    font-size: 14px;
  }
}

.p-recruit-assistant {
  padding: 0 0 10vw 0;
}
@media screen and (min-width: 980px) {
  .p-recruit-assistant {
    padding: 10vh 0;
  }
}
.p-recruit-assistant_wrap {
  width: 96%;
  max-width: 1080px;
  margin: 10vw auto 0;
}
@media screen and (min-width: 980px) {
  .p-recruit-assistant_wrap {
    margin: 5vw auto 0;
  }
}
.p-recruit-assistant_ttl {
  font-size: calc(56* (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-recruit-assistant_ttl {
    font-size: calc(60 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-recruit-assistant_ttl {
    font-size: 60px;
  }
}
.p-recruit-assistant_ttl::before {
  position: absolute;
  border-bottom: 5px solid #599C4A;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  content: '';
}
.p-recruit-assistant_ttl .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-recruit-assistant_ttl .color_org {
  color: #F6CA1C;
}
.p-recruit-assistant_subttl {
  border-left: 4px solid #599C4A;
  font-size: 16px;
  font-weight: bold;
  line-height: 2.0;
  margin: 36px auto 0;
  padding: 0 0 0 1rem;
}
@media screen and (min-width: 980px) {
  .p-recruit-assistant_subttl {
    font-size: 18px;
    margin: 48px auto 0;
  }
}
.p-recruit-assistant_subttl .en {
  font-size: 12px;
  color: #e0e0e0;
  text-transform: uppercase;
  　margin: 0 0 0 12px;
}
@media screen and (min-width: 980px) {
  .p-recruit-assistant_subttl .en {
    font-size: 14px;
  }
}

.p-recruit-affairs {
  padding: 0 0 10vw 0;
}
@media screen and (min-width: 980px) {
  .p-recruit-affairs {
    padding: 10vh 0;
  }
}
.p-recruit-affairs_wrap {
  width: 96%;
  max-width: 1080px;
  margin: 10vw auto 0;
}
@media screen and (min-width: 980px) {
  .p-recruit-affairs_wrap {
    margin: 5vw auto 0;
  }
}
.p-recruit-affairs_ttl {
  font-size: calc(56* (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-recruit-affairs_ttl {
    font-size: calc(60 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-recruit-affairs_ttl {
    font-size: 60px;
  }
}
.p-recruit-affairs_ttl::before {
  position: absolute;
  border-bottom: 5px solid #599C4A;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  content: '';
}
.p-recruit-affairs_ttl .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-recruit-affairs_ttl .color_org {
  color: #F6CA1C;
}
.p-recruit-affairs_subttl {
  border-left: 4px solid #599C4A;
  font-size: 16px;
  font-weight: bold;
  line-height: 2.0;
  margin: 36px auto 0;
  padding: 0 0 0 1rem;
}
@media screen and (min-width: 980px) {
  .p-recruit-affairs_subttl {
    font-size: 18px;
    margin: 48px auto 0;
  }
}
.p-recruit-affairs_subttl .en {
  font-size: 12px;
  color: #e0e0e0;
  text-transform: uppercase;
  　margin: 0 0 0 12px;
}
@media screen and (min-width: 980px) {
  .p-recruit-affairs_subttl .en {
    font-size: 14px;
  }
}

.p-recruit-requirements {
  background: #fff;
  border-radius: 24px;
  width: 100%;
  max-width: 1080px;
  margin: 40px auto 0;
  padding: 60px 20px;
}
@media screen and (min-width: 980px) {
  .p-recruit-requirements {
    padding: 60px 40px;
  }
}
.p-recruit-requirements_item {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  width: 100%;
}
@media screen and (min-width: 980px) {
  .p-recruit-requirements_item {
    flex-direction: row;
  }
}
.p-recruit-requirements_menu {
  border-bottom: 1px dotted #e0e0e0;
  font-weight: bold;
  width: 100%;
  padding: 20px 0 20px 12px;
}
@media screen and (min-width: 980px) {
  .p-recruit-requirements_menu {
    border-bottom: 2px solid #F6CA1C;
    width: 30%;
  }
}
.p-recruit-requirements_cont {
  border-bottom: 1px solid #599C4A;
  width: 100%;
  padding: 20px 0 20px 12px;
}
@media screen and (min-width: 980px) {
  .p-recruit-requirements_cont {
    border-bottom: 2px solid #599C4A;
    width: 70%;
  }
}
.p-recruit-requirements_btn a {
  background-color: #558B2F;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  color: #fff;
  font-size: calc(24 * (100vw / 768));
  font-weight: bold;
  margin: 20px auto 0;
  max-width: 320px;
  text-align: center;
  padding: 23px;
}
@media screen and (min-width: 768px) {
  .p-recruit-requirements_btn a {
    font-size: calc(16 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-recruit-requirements_btn a {
    font-size: 16px;
  }
}
.p-recruit-requirements_btn a:hover {
  opacity: .8;
  transition: .4s;
}
.p-recruit-requirements_btn a::after {
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;
  border-right: 0;
  margin: 0 0 0 10px;
}
.p-recruit-requirements_txtbox {
  background: #fff;
  border-radius: 24px;
  width: 100%;
  max-width: 1080px;
  margin: 40px auto 0;
  padding: 60px 20px;
}
@media screen and (min-width: 980px) {
  .p-recruit-requirements_txtbox {
    padding: 60px 40px;
  }
}

.p-recruit-entry_ttl {
  font-size: calc(56* (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
  position: relative;
  margin: 20vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .p-recruit-entry_ttl {
    font-size: calc(60 * (100vw / 980));
    margin: 10vh 0 0 0;
  }
}
@media screen and (min-width: 980px) {
  .p-recruit-entry_ttl {
    font-size: 60px;
  }
}
.p-recruit-entry_ttl::before {
  position: absolute;
  border-bottom: 5px solid #599C4A;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  content: '';
}
.p-recruit-entry_ttl .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-recruit-entry_ttl .color_org {
  color: #F6CA1C;
}

.p-recruit-form {
  background: #fff;
  border-radius: 20px;
  width: 100%;
  max-width: 1080px;
  margin: 20vw auto;
  padding: 18px;
}
@media screen and (min-width: 980px) {
  .p-recruit-form {
    margin: 10vh auto;
    padding: 36px;
  }
}
.p-recruit-form_item {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  width: 100%;
}
@media screen and (min-width: 980px) {
  .p-recruit-form_item {
    flex-direction: row;
  }
}
.p-recruit-form_menu {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-bottom: 1px dotted #e0e0e0;
  font-weight: bold;
  width: 100%;
  padding: 20px 12px;
}
@media screen and (min-width: 980px) {
  .p-recruit-form_menu {
    justify-content: space-between;
    border-bottom: 1px solid #e0e0e0;
    width: 25%;
  }
}
.p-recruit-form_menu .required {
  background: firebrick;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
  margin: 0 0 0 12px;
  padding: 8px 12px;
}
@media screen and (min-width: 980px) {
  .p-recruit-form_menu .required {
    margin: 0;
  }
}
.p-recruit-form_menu .any {
  background: #707070;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
  margin: 0 0 0 12px;
  padding: 8px 12px;
}
@media screen and (min-width: 980px) {
  .p-recruit-form_menu .any {
    margin: 0;
  }
}
.p-recruit-form_cont {
  border-bottom: 1px solid #e0e0e0;
  width: 100%;
  padding: 20px 12px;
}
@media screen and (min-width: 980px) {
  .p-recruit-form_cont {
    border-bottom: 2px solid #e0e0e0;
    width: 75%;
  }
}
.p-recruit-form_cont input, .p-recruit-form_cont textarea, .p-recruit-form_cont select {
  border: 1px solid #cecece;
  background: #F1EAE9;
  color: #5F2A1D;
  border-radius: 5px;
  background-clip: padding-box;
  box-sizing: border-box;
  padding: 15px;
}
.p-recruit-form_cont textarea {
  width: 100%;
}
@media screen and (min-width: 980px) {
  .p-recruit-form_cont textarea {
    width: 60%;
  }
}
.p-recruit-form_cont input[type="text"] {
  width: 100%;
}
@media screen and (min-width: 980px) {
  .p-recruit-form_cont input[type="text"] {
    width: 60%;
  }
}
.p-recruit-form_cont input[type="tel"] {
  width: 100%;
}
@media screen and (min-width: 980px) {
  .p-recruit-form_cont input[type="tel"] {
    width: 60%;
  }
}
.p-recruit-form_cont input[type="email"] {
  width: 100%;
}
@media screen and (min-width: 980px) {
  .p-recruit-form_cont input[type="email"] {
    width: 60%;
  }
}
.p-recruit-form_submit {
  text-align: center;
  margin: 20px 0 0 0;
}
.p-recruit-form_btn {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-recruit-form_btn {
    flex-direction: row;
    justify-content: space-evenly;
  }
}
.p-recruit-form_btn p {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-recruit-form_btn p {
    flex-direction: row;
  }
}
.p-recruit-form_btn input[type="button"], .p-recruit-form_btn input[type="submit"] {
  background-color: #558B2F;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  color: #fff;
  font-size: calc(24 * (100vw / 768));
  font-weight: bold;
  margin: 20px auto 0;
  min-width: 240px;
  text-align: center;
  padding: 23px;
}
@media screen and (min-width: 768px) {
  .p-recruit-form_btn input[type="button"], .p-recruit-form_btn input[type="submit"] {
    font-size: calc(16 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-recruit-form_btn input[type="button"], .p-recruit-form_btn input[type="submit"] {
    font-size: 16px;
  }
}
.p-recruit-form_btn input[type="button"]:hover, .p-recruit-form_btn input[type="submit"]:hover {
  opacity: .8;
  transition: .4s;
}
.p-recruit-form_btn input[type="button"]::after, .p-recruit-form_btn input[type="submit"]::after {
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;
  border-right: 0;
  margin: 0 0 0 10px;
}

.p-recruit-thanks_wrap {
  width: 96%;
  max-width: 840px;
  margin: 0 auto;
}
.p-recruit-thanks_ttl {
  font-size: calc(56* (100vw / 768));
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
  position: relative;
  margin: 20vw 0 0 0;
}
@media screen and (min-width: 768px) {
  .p-recruit-thanks_ttl {
    font-size: calc(60 * (100vw / 980));
    margin: 10vh 0 0 0;
  }
}
@media screen and (min-width: 980px) {
  .p-recruit-thanks_ttl {
    font-size: 60px;
  }
}
.p-recruit-thanks_ttl::before {
  position: absolute;
  border-bottom: 5px solid #599C4A;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  content: '';
}
.p-recruit-thanks_ttl .reduce {
  display: block;
  font-size: 30%;
  font-weight: normal;
}
.p-recruit-thanks_ttl .color_org {
  color: #F6CA1C;
}
.p-recruit-thanks_subttl {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin: 24px 0 0 0;
}
@media screen and (min-width: 980px) {
  .p-recruit-thanks_subttl {
    font-size: 24px;
    margin: 36px 0 0 0;
  }
}
.p-recruit-thanks_txt {
  margin: 24px 0 0 0;
}
@media screen and (min-width: 980px) {
  .p-recruit-thanks_txt {
    margin: 36px 0 0 0;
  }
}
.p-recruit-thanks_btn {
  margin: 24px 0 0 0;
}
@media screen and (min-width: 980px) {
  .p-recruit-thanks_btn {
    margin: 36px 0 0 0;
  }
}
.p-recruit-thanks_btn a {
  background-color: #558B2F;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  color: #fff;
  font-size: calc(24 * (100vw / 768));
  font-weight: bold;
  margin: 20px auto 0;
  max-width: 320px;
  text-align: center;
  padding: 23px;
}
@media screen and (min-width: 768px) {
  .p-recruit-thanks_btn a {
    font-size: calc(16 * (100vw / 980));
  }
}
@media screen and (min-width: 980px) {
  .p-recruit-thanks_btn a {
    font-size: 16px;
  }
}
.p-recruit-thanks_btn a:hover {
  opacity: .8;
  transition: .4s;
}
.p-recruit-thanks_btn a::after {
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;
  border-right: 0;
  margin: 0 0 0 10px;
}

/* =========================================================
NEWS - お知らせページのクラスなど
========================================================= */
.p-news-mv {
  background-image: url(../images/news/mv-sp.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  width: 100%;
  height: 420px;
}
@media screen and (min-width: 980px) {
  .p-news-mv {
    background-image: url(../images/news/mv.jpg);
  }
}
.p-news-mv_ttl {
  background: #599C4A;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 30vh 0 0 0;
  padding: 30px 40px 12px;
  opacity: .7;
}
@media screen and (min-width: 980px) {
  .p-news-mv_ttl {
    margin: 0;
    padding: 40px 100px 20px 100px;
  }
}
.p-news-mv_ttl .en {
  display: block;
  font-size: 48px;
  margin-bottom: 18px;
}
.p-news-mv_ttl .en .orange {
  color: #F6CA1C;
}

.p-news-single-cont {
  margin: 10vh 0;
}
.p-news-single-cont_wrap {
  width: 96%;
  max-width: 980px;
  margin: 0 auto;
}
.p-news-single-cont_meta {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.p-news-single-cont_cat {
  background: #5A9F4D;
  border-radius: 4px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  width: 100%;
  max-width: 100px;
  margin: 12px 0 0 0;
  padding: 8px 18px;
  text-align: center;
}
.p-news-single-cont_ttl {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  margin: 24px 0 0 0;
  border-bottom: 1px solid #5A9F4D;
  width: 100%;
  text-align: left;
}
@media screen and (min-width: 980px) {
  .p-news-single-cont_ttl {
    font-size: 22px;
  }
}
.p-news-single-cont_thumarea {
  width: 100%;
  max-width: 720px;
  margin: 24px auto 0;
}
.p-news-single-cont_txtarea {
  margin: 24px 0 0 0;
}
.p-news-single-cont_sign {
  text-align: right;
}

.p-news-archive-cont {
  margin: 10vh 0;
}
.p-news-archive-cont_wrap {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-news-archive-cont_wrap {
    width: 96%;
  }
}
.p-news-archive-list {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-news-archive-list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .p-news-archive-list::after {
    content: "";
    display: block;
    width: 46%;
  }
}
@media screen and (min-width: 980px) {
  .p-news-archive-list::after {
    width: 30%;
  }
}
.p-news-archive-item {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-news-archive-item {
    width: 46%;
  }
}
@media screen and (min-width: 980px) {
  .p-news-archive-item {
    width: 30%;
  }
}
.p-news-archive-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  box-sizing: border-box;
  border-radius: 8px;
  box-shadow: 0 3px 7px -3px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0 3px 7px -3px rgba(0, 0, 0, 0.3);
  width: 100%;
  padding: 12px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-news-archive-card {
    padding: 14px;
  }
}
@media screen and (min-width: 980px) {
  .p-news-archive-card {
    padding: 16px;
  }
}
.p-news-archive-card:hover {
  opacity: .7;
}
.p-news-archive-card a {
  position: absolute;
  width: 100%;
  height: 100%;
}
.p-news-archive-card_newicon {
  position: absolute;
  top: 20px;
  left: -8px;
}
.p-news-archive-card_newicon span {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 40px;
  padding: 0 30px 0 20px;
  color: #ffffff;
  background: #F6CA1C;
  clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
}
.p-news-archive-card_newicon::before {
  position: absolute;
  content: '';
  top: -8px;
  left: 0;
  width: 8px;
  height: 8px;
  background-color: #D7AD08;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.p-news-archive-card_img {
  width: 100%;
  height: 240px;
  margin-bottom: 8px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-news-archive-card_img {
    height: 240px;
  }
}
@media screen and (min-width: 980px) {
  .p-news-archive-card_img {
    height: 180px;
  }
}
.p-news-archive-card_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.p-news-archive-card_date {
  margin-bottom: 8px;
}
.p-news-archive-card_cat {
  background: #5A9F4D;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  width: 100%;
  max-width: 100px;
  margin-bottom: 8px;
  padding: 8px 18px;
  text-align: center;
}
.p-news-archive-card_ttl {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  margin: 8px 0 0 0;
  width: 100%;
  text-align: left;
  margin-bottom: 8px;
}
@media screen and (min-width: 980px) {
  .p-news-archive-card_ttl {
    font-size: 16px;
  }
}
.p-news-archive-card_readmore {
  color: #F6CA1C;
  font-size: 12px;
  text-align: right;
}

/* =========================================================
FORM - フォームのクラスなど
========================================================= */
.p-form-mv {
  background-image: url(../images/form/mv.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 400px;
}
.p-form-mv_ttl {
  color: #fff;
  font-size: 16px;
  text-align: center;
}
.p-form-mv_ttl .en {
  display: block;
  font-size: 48px;
  margin-bottom: 18px;
}

/* =========================================================
page - 固定ページのクラスなど
========================================================= */
/* =========================================================
post - 投稿のクラスなど
========================================================= */
