@charset "utf-8";

/*
Theme Name: 奈良ヘルスケアシステム
Theme URI: https://office-sumire.com/
Author: internet-promotion
Author URI: https://internet-promotion.jp/
Description: internet-promotion制作のオリジナルテンプレートです
Version: 1.0
*/
/*-----------------------------
google font
-----------------------------------*/
.f_robo {
  font-family: "Roboto Condensed", sans-serif;
}
/*-----------------------------
カラーSET
-----------------------------------*/
:root {
  --color-primary: #31b69b; /* メインカラー */
  --color-text: #333; /* 文字色 */
}
/*-----------------------------
reset
-----------------------------------*/
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.6;
  box-sizing: border-box;
  text-align: justify;
}

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;
}

img {
  vertical-align: bottom;
}

a {
  text-decoration: none;
  color: var(--color-text);
}

a:hover {
  opacity: 0.8;
  transition: all 0.2s ease-out 0s;
}

/*---------------------------------
共通 common
-----------------------------------*/
html {
  font-size: 16px;
  color: var(--color-text);
}

body {
  font-family: "Arial", "Noto Sans JP", "Hiragino Kaku Gothic ProN",
    "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}

main {
  /* background-color: #F6F1EA; */
  width: 100%;
  padding: 0;
}

br.sp {
  display: none;
}

.sp {
  display: none !important;
}

.inner {
  max-width: 1200px;
  margin: 0 auto 0;
}

p + p {
  margin: 1em 0 0;
}

.w100 {
  width: 100%;
}

.flex {
  display: flex;
}
/*iphone対策*/
*/ a[href^="tel"] {
  color: inherit; /* 親要素の色を継承 */
  text-decoration: none; /* 下線を消す */
  pointer-events: auto; /* クリックを有効にする */
}
@media screen and (max-width: 1100px) {
  html {
    font-size: 14px;
  }
}

@media screen and (max-width: 1000px) {
  html {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .inner {
    width: 90%;
    margin: 0 auto;
  }

  html {
    font-size: 14px;
  }

  br.sp {
    display: block;
  }

  br.pc {
    display: none;
  }

  img {
    width: 100%;
    height: auto;
  }

  .sp {
    display: block !important;
  }

  .pc {
    display: none !important;
  }
}

/*---------------------------------
フォント設定
-----------------------------------*/
.ft-akshar {
  font-family: "Akshar", sans-serif;
}
/*---------------------------------
パンくず
-----------------------------------*/
.breadcrumb {
  position: absolute;
  z-index: 999;
  top: 120px;
  color: #fff;
  font-size: 12px;
  left: 30px;
}
.breadcrumb a {
  color: #fff;
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .breadcrumb {
    width: 100%;
    left: 0;
    top: 100px;
  }
}
/*---------------------------------
hed nav
-----------------------------------*/
.header {
  display: flex;
  justify-content: space-between;
  color: #fff;
  border-bottom: solid 1px #fff;
  padding: 0 0 10px;
  position: absolute;
  width: 100%;
  z-index: 999;
}

.header a {
  color: #fff;
}

.site_ttl {
  margin: 5px 0 0 30px;
}

.site_ttl_txt {
  display: block;
  font-size: 0.8rem;
  margin: 0 0 10px;
}

.site_ttl_logo {
  display: inline-block;
  width: 300px;
}

.site_ttl_logo img {
  width: 100%;
}

.contact {
  display: flex;
  justify-content: right;
  gap: 30px;
  order: 2;
}

.phone {
  font-size: 1.7rem;
  /* margin: 0 20px 0 0; */
}

.phone img {
  margin: 0 0 7px;
}

.phone small {
  font-size: 0.8rem;
  display: block;
  text-align: right;
  /* margin: -8px 0 0; */
}

.email a {
  display: block;
  background-color: var(--color-primary);
  padding: 10px 30px;
  height: 100%;
  display: flex;
  align-items: center;
}

.email span {
  display: flex;
  padding: 0 10px 0 0;
}

.hed-nav ul {
  display: flex;
  gap: 40px;
  margin: 10px 20px 0 0;
}

.hamburger-btn {
  display: none;
}
.next_btn {
  width: 30px;
}
@media screen and (max-width: 1100px) {
  .hed-nav ul {
    gap: 20px;
  }

  .site_ttl_txt {
    font-size: 0.6rem;
  }

  .site_ttl_logo img {
    width: 80%;
  }
}

@media screen and (max-width: 768px) {
  .hamburger-btn {
    display: block;
    position: absolute;
    right: 20px;
    top: 30px;
    flex-direction: column;
    justify-content: space-around;
    width: 40px;
    height: 40px;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 9999999;
  }

  .header a {
    color: var(--color-text);
    font-size: 1.3rem;
    display: block;
    width: 100%;
  }

  .hed-nav ul {
  }

  .hed-nav ul li {
    width: 100%;
    border-bottom: solid 1px #eee;
  }

  .hed-nav ul li a {
    padding: 5px;
  }

  .site_ttl {
    margin: 5px;
  }

  .site_ttl_txt {
    font-size: 12px;
  }

  .header_right {
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    width: 60%;
    height: 100vh;
    background: #fff;
    color: #fff;
    transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex;
    flex-wrap: wrap;
    z-index: 1000;
    padding: 25% 5% 5%;
    color: var(--color-text);
  }

  .header_right.open {
    transform: translateX(0);
    /* flex-direction: column-reverse; */
    transition: none;
    box-shadow: 0 20px 20px rgba(0, 0, 0, 0.5);
  }

  .hamburger-btn span {
    display: block;
    width: 30px;
    height: 3px;
    background: #fff;
    border-radius: 2px;
    margin: 7px 0;
  }

  .hamburger-btn.open {
  }

  .hamburger-btn.open span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
    /* 上のバーを斜めに */
    background-color: var(--color-primary);
  }

  .hamburger-btn.open span:nth-child(2) {
    opacity: 0;
    /* 中央のバーを非表示 */
    margin: -3px 0;
  }

  .hamburger-btn.open span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
    /* 下のバーを斜めに */
    background-color: var(--color-primary);
  }

  .contact {
    display: block;
    background-color: #eee;
    padding: 5% 5% 0;
    width: 100%;
    margin: 0 0 0;
    /* height: 120px; */
  }

  .phone {
    /* margin: 0 0 10px; */
    font-size: 1.5rem;
    color: var(--color-primary);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .phone .tel {
    width: 70%;
    white-space: nowrap;
  }
  .phone a {
    color: var(--color-primary);
  }
  .icon-tel {
    display: inline-block;
    margin: 0 2% 0 0;
    line-height: 1;
    width: 15%;
  }
  .phone .tel a {
    font-size: 25px;
    color: var(--color-primary);
  }
  .phone small {
    width: 100%;
    margin: 0 0 10px;
  }
  .hamburger-btn {
    display: block;
    position: fixed;
    right: 20px;
    top: 30px;
    flex-direction: column;
    justify-content: space-around;
    width: 40px;
    height: 40px;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 999;
  }

  .header a {
    color: var(--color-text);
    font-size: 1.3rem;
    display: block;
    width: 100%;
  }

  .hed-nav ul {
  }

  .hed-nav ul li {
    width: 100%;
    border-bottom: solid 1px #eee;
  }

  .hed-nav ul li a {
    padding: 5px;
  }

  .site_ttl {
    margin: 5px;
  }

  .site_ttl_txt {
    font-size: 12px;
  }

  .header_right {
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    width: 60%;
    height: 100vh;
    background: #fff;
    color: #fff;
    transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex;
    flex-wrap: wrap;
    z-index: 99;
    padding: 25% 5% 5%;
    color: var(--color-text);
  }

  .header_right.open {
    transform: translateX(0);
    /* flex-direction: column-reverse; */
    transition: none;
    box-shadow: 0 20px 20px rgba(0, 0, 0, 0.5);
  }

  .hamburger-btn span {
    display: block;
    width: 30px;
    height: 3px;
    background: #fff;
    border-radius: 2px;
    margin: 7px 0;
  }

  .contact {
    /* display: block; */
    background-color: #eee;
    padding: 5% 5% 5%;
    /* width: 100%; */
    /* margin: 0 0 0; */
    height: 130px;
  }

  .phone img {
    width: 100%;
    background-color: var(--color-primary);
    margin: 0;
  }

  .email a {
    display: flex;
    color: #fff;
    font-size: 1rem;
    padding: 10px;
    justify-content: center;
  }

  .hed-nav {
    order: 1;
  }

  .hed-nav ul {
    gap: 10px;
    width: 100%;
    flex-wrap: wrap;
  }
}

/*---------------------------------
アニメーション
-----------------------------------*/
/*---FVスライドイン--*/
.bg-slideup {
  position: absolute;
  overflow: hidden;
  top: 0;
  width: 100%;
  height: 100vh;
  color: #fff;
}

.bg-slideup.-visible:before {
  transform: translate(0, 0);
}

.bg-slideup:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #00000040;
  transform: translate(0, 100%);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.6s;
  content: "";
}

.fv_copy,
#idWrap {
  opacity: 0;
  transform: translateY(20px);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s,
    opacity linear 0.7s;
}

.fv_copy.-visible,
#idWrap.-visible {
  opacity: 1;
  transform: translateY(0);
}

/*---FVスクロールアニメ--*/
.c-scrolldown {
  width: 1px;
  height: 60px;
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: 0 auto;
  overflow: hidden;
  z-index: 2;
}

.c-scrolldown .c-line {
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(to bottom, white 50%, rgba(255, 255, 255, 0) 50%);
  background-position: 0 -60px;
  background-size: 100% 200%;
  animation: scrolldown 2.2s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
}

@keyframes scrolldown {
  0% {
    background-position: 0 -60px;
  }

  75% {
    background-position: 0 0;
  }

  100% {
    background-position: 0 60px;
  }
}

@media screen and (max-width: 768px) {
  .c-scrolldown {
    bottom: 15%;
  }
}

/*--汎用型　スライドイン--*/
/* 左から*/
.slide-in {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* スクロール時に適用されるクラス */
.slide-in.active {
  opacity: 1;
  transform: translateX(0);
}

/* 下から*/
.slide-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* スクロール時に適用されるクラス */
.slide-up.active {
  opacity: 1;
  transform: translateY(0);
}

/*---------------------------------
TOP-FV
-----------------------------------*/
.top-fv_wrap {
  position: relative;
  width: 100%;
  height: 100vh;
  /* ビューポートの高さ全体を占める */
  overflow: hidden;
}

.top-fv_wrap::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100vh;
}

.top-fv_mv {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  z-index: -1;
  object-fit: cover;
  /* 動画を全体にフィットさせる */
}

.fv_copy {
  position: absolute;
  width: 100%;
  color: #fff;
  margin: 10% auto 0;
  z-index: 1;
  bottom: 20%;
}

.fv_copy dt {
  font-size: 2.2rem;
  font-family: serif;
  font-weight: bold;
  text-align: center;
}
.fv_copy_logo {
  width: 230px;
  margin: 0 auto 30px;
}
.fv_copy dd {
  text-align: center;
  font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
  .top-fv_wrap {
  }

  .top-fv_wrap::before {
  }

  .top-fv_mv {
  }

  .fv_copy {
    bottom: 25%;
  }

  .fv_copy dt {
    font-size: 1.2rem;
    margin: 0 auto 30px;
  }
  .fv_copy dt img {
    width: 50%;
  }
  .fv_copy dd {
    font-size: 1rem;
    text-align: justify;
    margin: 0 10%;
  }
}

/******NEWS切り替え*******/
#idWrap {
  position: absolute;
  width: 440px;
  margin: 0 auto;
  text-align: center;
  z-index: 1;
  bottom: 0;
  right: 30px;
}

#idNews {
  /* border: solid 1px #CCCCCC; */
  margin: 0 auto;
  text-align: left;
  background-color: #fff;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.25);
  position: relative;
}

#idNews::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
  position: absolute;
  bottom: 5px;
  right: 5px;
  border-left: 15px solid transparent;
  border-bottom: 15px solid var(--color-primary);
}

#idNews ul {
  overflow: hidden;
  padding: 10px;
}

#idNews li {
}

#idNews li a {
  text-decoration: underline;
  color: var(--color-text) 333;
}

#idNews li a:hover {
  text-decoration: underline;
  color: #666666;
}

#idNews .date {
  display: block;
  font-size: 0.8rem;
  color: #888;
}

.text-ellipsis {
  width: 400px;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (max-width: 768px) {
  #idWrap {
    width: 90%;
    right: initial;
    margin: 0 5% 0;
  }

  .text-ellipsis {
    width: 90%;
  }
}

/*---------------------------------
SNS
----------------------------------*/
#fixsns {
  position: fixed;
  bottom: 10px;
  left: 0;
  z-index: 3;
}

#fixsns .sns {
  display: flex;
  /* gap: 5px; */
  flex-direction: row-reverse;
  background-color: #fff;
  transform: translateX(calc(-100% + 45px));
  transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.25);
  padding: 0 0 0 10px;
  border-radius: 0 5px 5px 0;
  overflow: hidden;
}

#fixsns .sns.open {
  transform: translateX(0);
}

#fixsns .sns li {
  padding: 5px;
}

#fixsns .sns li.snstgl {
  background-color: var(--color-primary);
  display: flex;
  align-items: center;
  padding: 10px;
  cursor: pointer;
}

#fixsns .sns li.snstgl img {
  width: 100%;
}

#fixsns .sns li img {
  width: 80%;
  margin: 5px 0;
}

@media screen and (max-width: 768px) {
  #fixsns {
    bottom: 70px;
  }

  #fixsns .sns:hover {
    /* transform: none; */
  }

  #fixsns .sns.open {
    transform: translateX(0);
    /* 表示時: 元の位置 */
  }
}

/*============================
#top-messege
============================*/
#top-messege {
  display: flex;
  max-width: 1200px;
  margin: 50px auto 80px;
  gap: 50px;
  align-items: top;
}

.top-messege_txt dt {
  font-family: serif;
  font-weight: bold;
  font-size: 1.2rem;
  margin: 0 0 10px;
  line-height: 1.4;
}

.top-messege_txt dd {
  line-height: 1.7;
}

.top-messege_ttl {
  color: var(--color-primary);
  font-size: 1.2rem;
  margin: 0 0 20px;
}

.top-messege_ttl::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 40px;
  background-color: var(--color-primary);
  margin: 0 10px 0 0;
}

.link_bt01 a {
  display: flex;
  align-items: center;
  color: var(--color-primary);
  font-weight: 700;
  gap: 10px;
  justify-content: end;
  margin: 20px 0 0;
}

@media screen and (max-width: 768px) {
  #top-messege {
    display: block;
    padding: 5% 10%;
    margin: 5% 0;
  }

  .top-messege_img {
    display: none;
  }

  .link_bt01 a img {
    width: 20px;
  }
}

/*============================
#top-共通
============================*/
.top-sec_hed {
  display: flex;
  align-items: end;
  gap: 4em;
  margin: 0 0 30px;
  position: relative;
  /* padding: 0 200px 0 0; */
}

.top-sec_ttl {
  color: #c9c1af;
  font-size: 6.5rem;
  line-height: 1;
}
.top-sec_hed dl {
  margin: 0 0 20px;
}
.top-sec_hed dl dt {
  font-weight: bold;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .top-sec_hed {
    display: block;
    padding: inherit;
    margin: 0 0 5%;
  }

  .top-sec_ttl {
    line-height: 1;
    margin: 0 0 2%;
    font-size: 3rem;
  }

  .top-sec_hed dl dd {
  }
}

/*============================
#top-service
============================*/
#top-service {
  background-color: #f5f0e6;
  padding: 50px 0;
}

.top-service_wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
}

.top-service_box {
  position: relative;
  padding: 80px 50px 0;
  min-height: 240px;
}
.top-service_box::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.4;
  height: 100%;
  width: 100%;
  background-color: #000000;
}
.top-service_box {
  background-size: cover;
  overflow: hidden;
  border-radius: 20px;
}
.top-service_box.btn01 {
  background: url(./img/img_top_sv01.jpg);
}
.top-service_box.btn02 {
  background: url(./img/img_top_sv02.jpg);
}
.top-service_box.btn03 {
  background: url(./img/img_top_sv03.jpg);
}
.top-service_box.btn04 {
  background: url(./img/img_top_sv04.jpg);
}
.sv_txt {
  color: #fff;
  text-align: center;
  margin: 0 0 30px;
  font-size: 1.2rem;
}
.sv_btn a {
  display: block;
  background-color: var(--color-primary);
  font-size: 1.6rem;
  font-weight: bold;
  padding: 15px;
  text-align: center;
  border-radius: 5px;
  position: relative;
  color: #fff;
  border-radius: 50px;
  max-width: 800px;
  margin: 0 auto;
}
.sv_btn a .next_btn {
  position: absolute;
  right: 20px;
  top: 20px;
}
@media screen and (max-width: 768px) {
  #top-service {
    padding: 5% 0;
  }

  .top-service_wrap {
    display: block;
  }

  .top-service_box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: initial;
    padding: 5%;
    margin: 0 0 5%;
    min-height: initial;
    background-size: cover !important;
    border-radius: 10px;
  }
  .top-service_box li {
  }
  .top-service_box h3 {
    position: relative;
    font-size: 2rem;
    top: initial;
    /* margin: 0 0 15%; */
  }
  .sv_btn a {
    padding: 5%;
    font-size: 1.2rem;
  }
  .sv_btn a .next_btn {
    width: 20px;
  }
  .sv_txt {
    margin: 0 0 5%;
  }
}
/*============================
#top-care
============================*/
#top-care {
  padding: 50px 0 100px;
}
.top-care_wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.top-care_box {
  text-align: center;
}
.top-care_box img {
  margin: 0 0 20px;
}
.top-care_box h3 {
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  margin: 0 0 10px;
}

.top-care_box p {
}
@media screen and (max-width: 768px) {
  #top-care {
  }
  .top-care_wrap {
    grid-template-columns: repeat(1, 1fr);
    padding: 0 10%;
  }

  ul.top-care_wrap {
  }
  .top-care_box {
  }
  .top-care_box img {
    width: 60%;
  }
  .top-care_box h3 {
    white-space: nowrap;
  }

  .top-care_box p {
  }
}
/*============================
#top-recruit
============================*/
#top-recruit {
  background-color: #f18c8e;
  position: relative;
  padding: 0 0 40px;
  margin: 0 0 80px;
}
.rec_ttl {
  background-color: #cce9e3;
  font-size: 3rem;
  /* padding: 0 0 0 13vw; */
  color: #f18c8e;
  font-weight: bold;
  padding: 10px 0;
}
#top-recruit dl {
  color: #fff;
  margin: 20px 0 0;
}
#top-recruit dl dt {
  font-size: 2rem;
  font-weight: bold;
}
#top-recruit dl dd {
  font-size: 1.4rem;
  margin: 10px 0;
}
.rec_btn a {
  display: block;
  background-color: #fff;
  max-width: 500px;
  padding: 10px;
  text-align: center;
  font-size: 2rem;
  color: #df2a4a;
  border-radius: 10px;
  box-shadow: 0 2px 10px 0 rgb(0 0 0 / 20%);
  margin: 40px 0 0;
  font-weight: bold;
  position: relative;
}
.rec_btn a .next_btn {
  position: absolute;
  right: 20px;
  top: 30%;
}
.rcimg {
  position: absolute;
  bottom: 0;
  right: 10vw;
}
@media screen and (max-width: 768px) {
  #top-recruit {
  }
  .rec_ttl {
    font-size: 2rem;
  }
  #top-recruit dl {
    position: relative;
    z-index: 2;
  }
  #top-recruit dl dt {
    font-size: 1.6rem;
  }
  #top-recruit dl dd {
    font-size: 1.2rem;
    text-indent: -1em;
    margin-left: 1em;
  }
  .rec_btn a {
  }
  .rec_btn a .next_btn {
  }
  .rcimg {
    width: 38%;
    bottom: 85%;
    right: 0;
  }
}

/*============================
#ft-access
============================*/
#ft-access {
}
.top_ac_wrap {
  display: flex;
  gap: 50px;
}
.top_ac_img {
}
.top_ac_wrap dl {
  width: 100%;
}
.top_ac_wrap dt {
  font-size: 2rem;
}
.top_ac_wrap dd {
  font-size: 1.2rem;
  border-bottom: solid 1px #ccc;
  padding: 20px 0;
}
.top_ac_wrap dd.tel {
  display: flex;
  gap: 20px;
  align-items: center;
}
.top_ac_wrap dd.tel span:first-child {
  width: 20%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .top_ac_wrap {
    display: block;
  }
  .top_ac_img {
    margin: 0 0 5%;
  }
  .top_ac_wrap dl {
  }
  .top_ac_wrap dt {
    font-size: 1.4rem;
  }
  .top_ac_wrap dd {
    font-size: 1.2rem;
  }
  .top_ac_wrap dd.tel {
  }
  .top_ac_wrap dd.tel span:first-child {
  }
}

/*============================
#ft-contact
============================*/
#ft-contact {
  position: relative;
  overflow: hidden;
  height: 400px;
  /* セクションの高さ */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
}

#ft-contact::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #59a18d;
  opacity: 0.7;
}

/* 背景画像 */
.parallax-bg {
  position: absolute;
  top: 10px;
  left: 0;
  width: 100%;
  height: 150%;
  /* 余裕を持たせてスクロール時にズレないように */
  background: url(./img/contact-bk.jpg) no-repeat center center;
  background-size: cover;
  will-change: transform;
  z-index: -1;
}

#ft-contact .inner {
  display: flex;
  position: relative;
  align-items: center;
}

.ft-contact_ttl {
  font-size: 4rem;
  padding: 0 130px 0 0;
}

.ft-contact_tel {
  font-size: 4rem;
  display: flex;
  align-items: center;
  margin: 0 0 10px;
}

.ft-contact_tel i {
  font-size: 3rem;
  padding: 0 20px 0 0;
}

.ft-contact_tel small {
  font-size: 1.3rem;
}

.ft-contact_right {
  padding: 0 0 0 90px;
  border-left: solid 3px #fff;
}

.ft-contact_tel a {
  color: #fff;
  padding: 0 30px 0 0;
}

.ft-contact_mail a {
  display: block;
  background-color: #fff;
  padding: 20px;
  text-align: center;
  color: var(--color-primary);
  font-size: 2rem;
  font-weight: bold;
  /* width: 80%; */
  margin: 0 auto;
  box-shadow: 0 0 5px 5px rgb(0 0 0 / 10%);
  border-radius: 10px;
}

.ft-contact_mail a i {
  font-size: 2.2rem;
  padding: 0 30px 0 0;
}
.c-privacypolicy {
  height: 180px;
  overflow: auto;
  padding: 15px 15px 0;
  border: solid 1px #ccc;
  width: 80%;
  margin: 50px auto;
}
.c-privacypolicy p {
  font-size: 0.8rem;
}

@media screen and (max-width: 1080px) {
  #ft-contact {
    height: 310px;
  }

  /* 背景画像 */
  .parallax-bg {
    left: 0%;
    width: 220%;
    height: 130%;
  }

  #ft-contact .inner {
    display: block;
  }

  .ft-contact_ttl {
    font-size: 3rem;
    text-align: center;
    padding: 0;
  }

  .ft-contact_tel {
    display: block;
    font-size: 3rem;
    text-align: center;
    margin: 0 0 5%;
  }

  .ft-contact_tel i {
    font-size: 2rem;
  }

  .ft-contact_tel small {
    display: block;
    text-align: center;
  }

  .ft-contact_right {
    padding: 0;
    border: none;
  }

  .ft-contact_mail a {
    font-size: 1.3rem;
    padding: 10px;
  }

  .ft-contact_mail a i {
    font-size: 1.5rem;
    padding: 0 10px 0 0;
  }
}

/*============================
footer
============================*/
footer {
  padding: 30px 0 0;
}

.ft-menu ul {
  display: flex;
  flex-wrap: wrap;
  gap: 3em;
  align-items: center;
  justify-content: center;
}

.ft-menu ul li {
  font-size: 1.4rem;
}

.ft-menu ul li a {
  color: var(--color-primary);
}

.ft-logo {
  text-align: center;
  margin: 50px 0;
}

.copylight {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .ft-menu ul {
    font-size: 1rem;
    gap: 20px;
  }

  .ft-menu ul li {
    font-size: 1rem;
  }

  .ft-logo {
    width: 80%;
    margin: 10% auto;
  }

  .copylight {
    font-size: 0.6rem;
  }
}

/*---------------------------------
トップへ戻る
-----------------------------------*/
#page-top {
  position: fixed;
  bottom: 30px;
  /* right: 110px; */
  /* width: 300px; */
  right: 30px;
}

#page-top a {
  display: block;
  color: var(--color-primary);
  font-size: 50px;
  text-align: center;
  text-decoration: none;
}

#page-top.on a {
  color: #fff;
}

#page-top a:hover {
  opacity: 0.8;
  transition: all 0.2s ease-out 0s;
}

@media screen and (max-width: 768px) {
  #page-top {
    bottom: 60px;
    right: 10px;
    width: initial;
  }

  #page-top a {
    font-size: 40px;
  }
}

/*---------------------------------
スマホ下固定ボタン
-----------------------------------*/
.fixed-footer {
  display: none;
}

@media screen and (max-width: 768px) {
  body {
    margin-bottom: 70px;
  }

  .fixed-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    background-color: #fff;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    transform: translateY(100%);
    /* 初期状態で非表示 */
    transition: transform 0.3s ease-in-out;
  }

  .fixed-footer.show {
    transform: translateY(0);
    /* 表示 */
  }

  .fixed-footer a {
    flex: 1;
    align-items: center;
    text-align: center;
    padding: 15px 0;
    font-size: 18px;
    font-weight: bold;
    color: white;
    text-decoration: none;
    justify-content: center;
  }

  .fixed-footer .phone {
    background-color: #f18200;
  }

  .fixed-footer .email {
    background-color: var(--color-primary);
  }

  /* アイコン */
  .fixed-footer i {
    margin-right: 8px;
  }
}

/*-----------------------------------------------------
Page
-----------------------------------*/
/*---------------------------------
Page共通
-----------------------------------*/
.page-hed {
  position: relative;
  /* margin: 0 0 80px; */
}
.page-hed::before {
  content: "";
  background-color: #000;
  height: 100%;
  width: 100%;
  display: block;
  position: absolute;
  opacity: 0.4;
}
.page-hed img {
  width: 100%;
}

.page-hed h2 {
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
}

.page-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.page-box {
}

.nomal-hed dt {
  font-size: 1.6rem;
  text-align: center;
  color: var(--color-primary);
  font-weight: bold;
  margin: 0 0 30px;
}

.nomal-hed dd {
  font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
  .page-box {
    margin: 0;
    flex-wrap: wrap;
    background-size: 100%;
    padding: 5%;
  }

  .page-hed {
    overflow: hidden;
    /* margin: 0 0 10%; */
  }

  .page-hed img {
    width: 240%;
    margin: 0 0 0 -30%;
  }

  .page-hed h2 {
    top: initial;
    bottom: 10%;
    white-space: nowrap;
  }

  .page-inner {
    padding: 0;
  }

  .nomal-hed dt {
    font-size: 1.3rem;
  }

  .nomal-hed dd {
    font-size: 1rem;
  }
}

/*----------------------
ブログ部分
-----------------------------------*/
.content.blog p a {
  color: blue;
  text-decoration: underline;
}
.content p + p {
  margin-top: 1em;
}
/* #searchform 検索フィールド */
#searchform .btn {
  background-color: transparent;
  border-width: 0;
  color: #f0264b;
  cursor: pointer;
  font-size: 16px;
  line-height: 24px;
}
#searchform .btn span {
  display: none;
}
.input-group {
  border-radius: 18px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) inset;
  display: flex;
  justify-content: center;
  margin: 0 auto 0 80px;
  padding: 5px 10px;
  width: 200px;
}
.input-group {
  width: 210px;
}
.input-group {
  margin: 0 auto;
}
.form-control {
  border-width: 0;
  line-height: 24px;
  padding: 0 0 0 10px;
  width: 100%;
}
.form-control {
  /* width: 200px; */
}
.form-control:focus {
  outline: none;
}
.archive-loop {
  margin-top: 30px;
}
.archive-item {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  margin-bottom: 30px;
  padding: 20px;
}
.archive-item {
  padding: 30px;
}
.content-header {
}
.title-block {
  margin: 0;
  width: 100%;
}
@media screen and (max-width: 1180px) {
  .title-block {
  }
}
.title-block h1 {
  border-bottom: solid 1px var(--color-primary);
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.2;
  margin: 0 0 5px 0;
  padding: 0 0 10px;
  width: 100%;
}
.title-block .pubdate {
  color: #888888;
  display: block;
  font-size: 0.825rem;
  font-weight: 300;
  margin: 0 0 5px;
}
.tag {
  margin: 10px 0 0;
}
.tag-item {
  background-color: #f2f2f2;
  border-radius: 3px;
  display: inline-block;
  font-size: 0.825em;
  line-height: 2;
  margin: 0 5px 5px 0;
  padding: 0 8px;
}
/*人気タグ*/
.tag-cloud-link::before {
  color: #a0a0a0;
  content: "\f02c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  padding-right: 2px;
}
.tag-cloud-link {
  background-color: #f2f2f2;
  border-radius: 3px;
  display: inline-block;
  font-size: 0.825em;
  line-height: 2;
  margin: 0 5px 5px 0;
  padding: 0 8px;
}
.post-thumb {
}
.post-thumb {
}
.post-thumb img {
  height: auto;
  width: 100%;
}
.excerpt {
  margin-top: 1em;
}
.excerpt > *:last-child {
  margin-bottom: 0;
}
.bloglist .content-wrapper {
}
.bloglist .content p a {
  color: #1db4ec;
  text-decoration: underline;
}
/*--sing--*/
.single-box {
  display: flex;
  margin: 100px auto;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1120px; /*ブログ横幅*/
}
.single-contents {
  width: 75%;
}
.nextpage-nav {
  text-align: center;
}
.nextpage-nav > span {
  background: #ebe2cd;
  border: 1px solid #ebe2cd;
  padding: 2px 3px;
}
.nextpage-nav > a > span {
  border: 1px solid #ebe2cd;
  padding: 2px 3px;
}
/* archive pagination */
.nav-links {
  margin: 0 auto 30px;
  text-align: center;
}
.page-numbers {
  background-color: #ffffff;
  border-radius: 20px;
  box-shadow: 0 1px 3px rgb(0 0 0 / 10%);
  display: inline-block;
  font-family: "Fira Sans Condensed", sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  height: 40px;
  line-height: 40px;
  margin: 0 3px;
  text-align: center;
  width: 40px;
}
a.page-numbers:hover {
  background-color: #ef6d26;
  color: #ffffff;
}
.page-numbers.current {
  background-color: #d0d0d0;
  color: #ffffff;
}
.content-wrapper {
  background-color: #ffffff;
}
.content-wrapper {
  margin: 0 0 100px;
}
.content {
}
.content .photo {
  margin-bottom: 30px;
}
.content > *:last-child {
  margin-bottom: 0;
}
.pagination {
  margin-top: 30px;
}
.pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pagination > .prev-article,
.pagination > .next-article {
  margin: 0 3px;
  width: 100%;
}
.pagination > .prev-article,
.pagination > .next-article {
  background-color: transparent;
  display: block;
  flex: 1 1 50%;
  height: auto;
  margin: 0;
}
.pagination > .next-article {
  text-align: center;
}
.pagination > .next-article {
  /* margin-left: 0.5rem; */
  text-align: right;
  display: flex;
  justify-content: end;
}
.pagination > .prev-article {
  text-align: center;
}
.pagination > .prev-article {
  margin-right: 0.5rem;
  /* text-align: left; */
  height: 100%;
}
.pagination a {
  background-color: #eee;
  display: block;
  padding: 10px;
  position: relative;
  display: flex;
  align-items: center;
  border: solid 1px #c3c4c7;
  height: 100%;
}
/* sidebar ========== */
.sidebar {
}
.sidebar {
  width: 20%;
  border-left: solid 1px var(--color-primary);
  padding: 0 0 0 20px;
}
.sidebar-block h2 {
  color: var(--color-primary);
  font-weight: bold;
}
.sidebar-block > *:last-child {
  margin-bottom: 0;
}
.sidebar-block ul.fa-ul {
  margin-left: 1.3em;
}
.sidebar-block li {
  padding: 0.5em 0;
}
.sidebar-block li:last-child {
}
.sidebar-block li ul li {
  border-bottom: 1px dotted #cccccc;
}
/* カテゴリ */
.post-categories {
  display: flex;
  flex-wrap: wrap;
}
.post-categories li {
  margin: 0 5px 5px;
}
.post-categories li a {
  background-color: #eeeeee;
  border-radius: 5px;
  color: #555555;
  font-size: 0.8rem;
  padding: 2px 5px;
}
.sidebar-block li:first-child {
  /* border: none; */
}
.sidebar-block li .children li {
  border: none;
  font-size: 0.8rem;
  text-indent: 1em;
}
.sidebar-block li .children li a:before {
  content: "・";
}
/* 投稿記事調整 ========== */
.wp-block-image {
  margin: 1em 0 1em;
  text-align: center;
}
.fa-tags:before {
  color: #a0a0a0;
  margin-right: 4px;
}
/* 投稿者 ========== */
/* #searchform 検索フィールド */
label[for="searchword"] {
  display: none;
}
#searchform .btn {
  background-color: transparent;
  border-width: 0;
  color: var(--color-primary);
  cursor: pointer;
  font-size: 16px;
  line-height: 24px;
}
#searchform .btn span {
  display: none;
}
.input-group {
  border-radius: 18px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) inset;
  display: flex;
  justify-content: center;
  margin: 0 auto 0 80px;
  padding: 5px 10px;
  border: solid 1px #ccc;
}

.input-group {
  background-color: #ffffff;
  margin: 0 auto 20px;
}
.form-control:focus {
  outline: none;
}
/* 検索結果ページ（search.php） */
.search .search-form-block {
  margin-bottom: 30px;
}
.search .search-form-block .input-group {
  width: 100%;
}
.search .form-control {
  background: transparent;
  width: 100%;
}
/* エラーページ（404.php） */
.primary main.error {
  margin: 0;
  text-align: center;
}
.error .content-header {
  justify-content: center;
}
/* ブログ記事調整 */
.blog .content h1,
.bl-content h1 {
  color: #093290;
  font-size: 2rem;
  font-weight: bold;
}
.blog .content h2,
.bl-content h2 {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 20px 0;
}
.blog .content h3,
.bl-content h3 {
  font-size: 1.2rem;
  font-weight: bold;
  margin: 1em 0;
}
.blog .content p,
.bl-content p {
  line-height: 1.8;
  margin: 1em 0;
}
.wp-block-quote {
  border-left: solid 4px #000000;
  padding: 0 0 0 20px;
}
.blog .content ul li,
.bl-content ul li {
  list-style: inside;
  margin: 0 0 0.5em 1em;
}
.blog .content a,
.bl-content a {
  color: #0caeeb;
  text-decoration: underline;
}
.blog .content strong,
.bl-content strong {
  font-weight: bold;
}
/*次のページへの文字制限*/
.pagination a {
  width: 400px;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pagination .next-article a .fas {
  position: absolute;
  top: 15px;
}
.pagination .next-article a .fas {
  right: 10px;
}

@media screen and (max-width: 768px) {
  /* #searchform 検索フィールド */
  .title-block {
    width: 100%;
  }
  .post-thumb {
    display: none;
    height: auto;
    margin: 0;
  }
  .single-box {
    display: block;
    max-width: 100%;
    width: 100%;
    margin: 0;
  }
  .single-contents {
    width: 100%;
  }
  .primary .sidebar {
    background-color: #ffffff;
    padding: 20px 0 0;
  }
  .content-wrapper {
    margin: 0;
    padding: 7% 5% 5%;
  }
  .sidebar {
    width: 100%;
    padding: 0;
    border: none;
  }
  .sidebar-block {
    padding: 0;
  }
  .sidebar-block h2 {
    /* text-align: center; */
    font-size: 1.2rem;
    padding-left: 5%;
  }
  .sidebar-block li ul li {
    border-color: #cccccc;
    font-size: 1.2rem;
    padding: 10px 0;
  }
  .profile-box {
    justify-content: space-between;
  }
  .profile-box h3 {
    width: 60%;
  }
  .profile-avatar {
    width: 30%;
  }
  .profile-contents {
    border-left: none;
    margin: 5% 0 0;
    width: 100%;
  }
  .sidebar-block.popular {
    margin: 0;
    padding: 0 0 0 0;
  }
  .popular-posts ul {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
  .popular-posts ul li {
    border: solid 1px #cccccc !important;
    display: inline-block;
    margin: 0 0 0 10px;
    width: 40%;
  }
  .popular-posts ul li a {
    display: block;
    padding: 0 5px;
  }
  .wpp-thumbnail {
    float: none;
  }
  .pagination {
    display: block;
    margin: 0 0 10%;
  }
  .pagination a {
    width: 100%;
  }
  .pagination .next-article a .fas {
  }
  .pagination .next-article a .fas {
  }
  /*===============================
SPフッタ　アコーディオンのためのcss
===================================*/
  /*アコーディオン全体*/
  .accordion-area {
    list-style: none;
    margin: 0 auto;
    /* width: 96%; */
    max-width: 900px;
  }
  .accordion-area li {
    /* margin: 10px 0; */
    padding: 0;
  }
  .accordion-area section {
    border: 1px solid #cccccc;
  }
  /*アコーディオンタイトル*/
  .accordion-area h2 {
    border-top: solid 1px #cccccc;
    border-bottom: solid 1px #cccccc;
    cursor: pointer;
    font-size: 1rem;
    font-weight: normal;
    padding: 3% 3% 3% 50px;
    position: relative; /*+マークの位置基準とするためrelative指定*/
    transition: all 0.5s ease;
  }
  /*アイコンの＋と×*/
  .accordion-area h2::before,
  .accordion-area h2::after {
    background-color: var(--color-primary);
    content: "";
    height: 2px;
    position: absolute;
    width: 15px;
  }
  .accordion-area h2::before {
    left: 15px;
    top: 48%;
    transform: rotate(0deg);
  }
  .accordion-area h2::after {
    left: 15px;
    top: 48%;
    transform: rotate(90deg);
  }
  /*　closeというクラスがついたら形状変化　*/
  .accordion-area h2.close::before {
    transform: rotate(45deg);
  }
  .accordion-area h2.close::after {
    transform: rotate(-45deg);
  }
  /*アコーディオンで現れるエリア*/
  .widget_block ul,
  .widget_block pre {
    display: none;
    /* background: #f3f3f3; */
    margin: 0 3% 3% 3%;
    padding: 3%;
  }
  .wpp-list {
    display: block !important;
  }
}
/*---------------------------------
ブログ一覧
-----------------------------------*/
.archive-box {
  display: flex;
  margin: 100px auto;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1120px; /*ブログ横幅*/
}
.archive-contents {
  width: 75%;
}
.ac-thumb {
  max-width: 150px;
  max-height: 120px;
  overflow: hidden;
  border-radius: 10px;
}

.ac-thumb {}
.ac-thumb img {
  width: 100%;
  height: auto;
}

.archive-contents header {
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .archive-box {
    display: block;
    max-width: 100%;
    width: 100%;
    margin: 0;
  }
  .archive-contents {
    width: 100%;
  }
}
/*---------------
お問合せ
-----------------------------------*/
.wpcf7-response-output {
  background-color: #ffffff;
  margin: 0 auto !important;
  max-width: 500px;
  padding: 30px 10px !important;
  /*送信完了メッセージ*/
  text-align: center;
  width: 90%;
}
.page-wrapper {
  padding: 0 0 0;
}
.page-header h1 {
  font-size: 30px;
  font-weight: bold;
  margin: 0 0 30px;
  text-align: center;
}
.contact_box {
  background-color: #ffffff;
  margin: 0 auto;
  min-width: 80%;
}
.contact_box input {
  border: solid 1px #888888;
  border-radius: 5px;
  box-sizing: border-box;
  font-size: 16px;
  padding: 10px;
}
.contact_box select {
  font-size: 16px;
  min-width: 50%;
  padding: 10px 20px;
}
.contact_box textarea {
  font-size: 16px;
  min-width: 90%;
  padding: 10px 20px;
}
.contact_box th {
  background: #eafcf9;
  border: solid 1px #d7d7d7;
  color: #444444;
  font-size: 16px;
  padding: 30px 10px;
  text-align: left;
  vertical-align: middle;
  width: 30%;
}
.contact_box td {
  border: solid 1px #d7d7d7;
  font-size: 13px;
  padding: 20px 20px;
}
.entry-content .contact_box tr,
.entry-content table {
  border: solid 1px #d7d7d7;
}
.haveto {
  background: #ef7575;
  border-radius: 2px;
  bottom: 1px;
  color: #ffffff;
  font-size: 12px;
  margin-right: 10px;
  padding: 0 5px;
  position: relative;
}
.any {
  background: #93c9ff;
  border-radius: 2px;
  color: #ffffff;
  font-size: 12px;
  margin-right: 10px;
  padding: 0 5px;
}
.verticallist .wpcf7-list-item {
  display: block;
}
#formbtn {
  background: var(--color-primary);
  border: none;
  border-radius: 8px;
  color: #ffffff;
  cursor: pointer;
  display: block;
  font-size: 18px;
  font-weight: bold;
  margin: 0 auto;
  padding: 1em 0;
  width: 60%;
  text-align: center;
}
#formbtn:hover {
  opacity: 0.8;
  transition: all 0.2s ease-out 0s;
}
.contact_kakunin {
  margin: 30px 0 0;
  text-align: center;
}
.contact_kakunin_yes {
  margin: 10px 0 40px;
  text-align: center;
}
input::placeholder,
textarea::placeholder {
  color: #cccccc;
}
.name-2col {
  display: flex;
}
.name-2col span {
  margin: 0 10px 0 0;
  width: 180px;
}
.name-2col input {
  width: 100%;
}
/*[response]*/
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #dc3232;
  color: #dc3232;
  margin-bottom: 1em !important;
}
.wpcf7 form.sent .wpcf7-response-output {
  border-color: #0ca8b9;
  color: #0ca8b9;
  margin-bottom: 1em !important;
}
.page-contact {
  padding: 50px 0;
  max-width: 1000px;
  margin: 0 auto;
}
.contact-hedtxt {
  text-align: center;
  margin: 0 0 30px;
}
@media (max-width: 900px) {
  .contact_box {
    width: 100%;
  }
  .contact_box input,
  .contact_box textarea,
  .contact_box select {
    width: 100%;
  }
  #formbtn {
    width: 90%;
  }
}
@media (max-width: 500px) {
  .contact_box th,
  .contact_box td {
    border-top: none !important;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important;
    display: block;
    width: 100% !important;
  }
  .contact_box tr:first-child th {
    border-top: 1px solid #d7d7d7 !important;
  }
  /* 必須・任意のサイズ調整 */
  .contact_box .haveto,
  .contact_box .any {
    font-size: 10px;
    padding: 2px 5px;
  }
  .contact_box .name-2col {
    display: flex;
  }
  .name-2col span {
    width: 50%;
  }
  .name-2col input {
  }
}
/*---------------------------------
フッターアクセス
-----------------------------------*/
#ft-access {
  margin: 30px 0 0;
}
.ft-map {
  margin: 60px 0 0;
}
.ft-map iframe {
  width: 100%;
  vertical-align: bottom;
}
@media screen and (max-width: 768px) {
  #ft-access {
  }
  .ft-map {
  }
  .ft-map iframe {
    max-height: 300px;
    max-width: 100%;
  }
}

/*---------------------------------
PAGE
---------------------------------------------------------------*/
/*-------------------
PAGE　サービス
-----------------------------------*/
.sn_nav {
  margin: 0 0 50px;
}
.sn_nav ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.sn_nav li {
  border-left: solid 1px #fff;
}
.sn_nav li a {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #31b69b;
  height: 80px;
  color: #fff;
  padding: 10px;
  text-align: center;
  position: relative;
}
.sn_nav li a:first-child {
  border: none;
}
.dwn_btn {
  position: absolute;
  width: 20px;
  right: 20px;
}
#sv_rental {
}
.sv_ttl {
  border-bottom: solid 5px #ccc;
  color: #31b69b;
  font-size: 2rem;
  position: relative;
  margin: 0 0 50px;
}
.sv_wrap {
  margin: 0 0 100px;
}
.sv_ttl::after {
  content: "";
  display: block;
  height: 5px;
  width: 300px;
  background-color: #31b69b; /* グレーの下線 */
  margin-top: 4px;
  position: absolute;
  bottom: -5px;
}

.sv_box {
  max-width: 1000px;
  margin: 0 auto;
}
.sv_img {
  text-align: center;
}
.sv_box h3 {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin: 20px 0;
}
.sv_box p {
  margin: 0 0 40px;
}
.sv_btn a {
  /* display: block; */
  /* background-color: #fdfbff; */
}
.sv_btn_next {
  width: 30px;
  position: absolute;
  right: 30px;
  top: 20px;
}

@media screen and (max-width: 768px) {
  .sn_nav {
  }
  .sn_nav ul {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  .sn_nav li {
    border-left: none;
    border-bottom: solid 1px #fff;
  }
  .sn_nav li a {
    height: initial;
  }
  .sn_nav li a:first-child {
  }
  .dwn_btn {
  }
  #sv_rental {
  }
  .sv_ttl {
    font-size: 1.4rem;
    padding: 0 0 2%;
    margin: 0 0 5%;
  }
  .sv_wrap {
    margin: 0 0 10%;
  }
  .sv_ttl::after {
    width: 20%;
  }
  .sv_box {
  }
  .sv_img {
  }
  .sv_box h3 {
    font-size: 1.2rem;
  }
  .sv_box p {
  }
  .sv_btn a {
    width: 90%;
  }
  .sv_btn_next {
  }
}
/*---------------------------------
会社概要
-----------------------------------*/
#cm_hed {
  margin: 50px 0 0;
}
.page_hed h3 {
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  margin: 0 0 50px;
}
#cm_hed .cm_box {
  display: flex;
  gap: 50px;
  align-items: center;
  margin: 0 0 80px;
}
#cm_hed dl {
}
#cm_hed dl dt {
  font-size: 1.4rem;
  font-weight: bold;
  margin: 0 0 10px;
}
#cm {
  margin: 0 0 100px;
}
#cm_hed dl dd {
  font-size: 1.2rem;
  line-height: 2;
}
#cm table {
  width: 1000px;
  margin: 0 auto;
}
#cm table tr {
  border-bottom: solid 1px #ccc;
  display: flex;
  align-items: center;
}
#cm table tr th {
  width: 20%;
  text-align: center;
  padding: 20px;
  position: relative;
}
#cm table tr th::after {
  content: "";
  position: absolute;
  right: 0;
  top: 18px;
  display: block;
  width: 1px;
  height: 30px;
  background-color: #ccc;
}
#cm table tr td {
  padding: 20px 30px;
}
@media screen and (max-width: 768px) {
  #cm_hed {
  }
  #cm_hed h3 {
    font-size: 1.4rem;
  }
  #cm_hed .cm_box {
    flex-wrap: wrap;
    gap: 20px;
    margin: 0 0 10%;
  }
  #cm_hed dl {
    order: 2;
  }
  #cm_hed dl dt {
  }
  #cm {
  }
  #cm_hed dl dd {
  }
  #cm table {
    width: 100%;
  }
  #cm table tr {
  }
  #cm table tr th {
    width: 30%;
  }
  #cm table tr th::after {
  }
  #cm table tr td {
    width: 70%;
  }
  .r.cm_box img {
  }

  .r.cm_box dl {
  }
}

/*---------------------------------
リクルート
-----------------------------------*/
.inner_1000 {
  width: 1000px;
  margin: 0 auto;
}
#rc_hed {
  margin: 50px 0 50px;
}
#rc_hed h3 {
}
#rc_hed img {
  margin: 0 0 30px;
}
#rc_hed p {
  font-size: 1.2rem;
  text-align: center;
  line-height: 2;
}
.rc_tbttl {
  background-color: #31b69b;
  color: #fff;
  padding: 10px;
  font-weight: bold;
  margin: 0 0 10px;
}
.gr_tb {
  border: solid 1px #ccc;
  width: 100%;
  margin: 0 0 50px;
}
.gr_tb tr {
  border-bottom: solid 1px #ccc;
}
.gr_tb th {
  width: 20%;
  background-color: #31b69b;
  color: #fff;
  text-align: center;
  padding: 10px;
  vertical-align: middle;
}
.gr_tb td {
  padding: 10px 20px;
}

@media screen and (max-width: 768px) {
  .inner_1000 {
    width: 100%;
  }
}
/*---------------------------------
item
-----------------------------------*/
.page_box {
  margin: 0 0 70px;
}
#item_hed {
}
#item_hed dl {
}
#item_hed dt {
  font-size: 2rem;
  text-align: center;
  margin: 20px 0;
}
#item_hed dd {
  max-width: 800px;
  margin: 0 auto;
}
#item_hed dd p {
  line-height: 2;
}
#item_hed dl .gr {
  color: #31b69b;
}
#item_hed dl .bx {
  background-color: #deebe9;
  padding: 20px;
}
#item_hed dd strong {
}
.tltx {
  margin: -30px 0 0;
}
.itm_ttl {
  background-color: #ededed;
  padding: 10px;
  font-size: 1.6rem;
  font-weight: bold;
  border-bottom: solid 1px #000;
  border-top: solid 1px #000;
  margin: 20px 0 20px;
}
.itm_txt {
}
.itm_txt.red {
  color: red;
  margin: 10px 0 20px;
}
.step {
}
.step li {
  display: flex;
  gap: 30px;
  align-items: center;
  margin: 0 0 30px;
}
.step li h4 {
  background-color: #31b69b;
  color: #fff;
  padding: 20px;
  font-weight: bold;
  position: relative;
  min-width: 40%;
  text-align: center;
}
.step li h4::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 45%;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-top: 10px solid #31b69b;
}
.step li h4.last::after {
  content: none;
}
.step li p {
}
.rental_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.rental_list > li {
  border: solid 1px #ccc;
  padding: 20px 10px 0;
}
.rental_list_ttl {
  text-align: center;
}
.rental_list_ttl img {
  /* width: 100%; */
}
.rental_list_ttl h3 {
  text-align: center;
  font-weight: bold;
  margin: 10px 0;
}
.rental_list_txt {
}
.rental_list_txt li {
  text-indent: -1em;
  margin: 1em;
}
.home_kai_list {
}
.home_kai_list li {
  font-size: 1.4rem;
  margin: 0 0 10px;
}
.home_kai_list li:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f14a";
  margin-right: 5px;
  color: #31b69b;
}
.rental_txt {
}
@media screen and (max-width: 768px) {
  .page_box {
  }
  #item_hed {
  }
  #item_hed dl {
  }
  #item_hed dt {
    font-size: 1.4rem;
  }
  #item_hed dd {
  }
  #item_hed dd p {
  }
  #item_hed dl .gr {
  }
  #item_hed dl .bx {
  }
  #item_hed dd strong {
  }
  .tltx {
    margin: 0;
  }
  .itm_ttl {
    text-align: center;
    font-size: 1.4rem;
  }
  .itm_txt {
  }
  .itm_txt.red {
  }
  .step {
  }
  .step li {
    display: block;
  }
  .step li h4 {
    margin: 2% 0;
    font-size: 1.2rem;
    padding: 3%;
  }
  .step li h4::after {
    top: -16px;
  }
  .step li h4.last::after {
    content: "";
  }
  .step li h4.farst::after {
    content: none;
  }
  .step li p {
  }
  .rental_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }
  .rental_list > li {
    padding: 20px;
  }
  .rental_list_ttl {
  }
  .rental_list_ttl img {
  }
  .rental_list_ttl h3 {
  }
  .rental_list_txt {
  }
  .rental_list_txt li {
  }
  .home_kai_list {
  }
  .home_kai_list li {
  }
  .home_kai_list li:before {
  }
  .rental_txt {
  }
}
/*---------------------------------
デイサービス
-----------------------------------*/
#day_hed h3 {
  text-align: center;
  font-size: 2rem;
  margin: 0 0 30px;
  color: var(--color-primary);
}
#day_hed h2 {
  margin: 40px 0 30px;
}
.day_hed_name {
  text-align: right;
  margin: 30px 0 0;
}
.entry-content {
  margin: 0 0 70px;
}
.entry-content figure {
}
/*ライトボックス*/
dialog#imgDlg {
  border: 0;
  padding: 0;
  background: transparent;
}
dialog#imgDlg::backdrop {
  background: rgba(0, 0, 0, 0.65);
}
.dlg-wrap {
  display: grid;
  place-items: center;
}
.dlg-wrap img {
  display: block;
}
.dlg-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  border-radius: 20px;
  border: 0;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  cursor: pointer;
  font-size: 34px;
  line-height: 1;
}
.day_design_list {
  max-width: 1000px;
  margin: 0 auto;
}
.day_design_list > li {
  margin: 0 0 40px;
}
.day_design_list li dl {
  display: flex;
  align-items: center;
}
.day_design_list li dl dt {
  font-size: 3rem;
  width: 30%;
  text-align: center;
}
.day_design_list li dl dt small {
  font-size: 1rem;
  display: block;
  text-align: center;
}
.day_design_list li dl dd {
  width: 70%;
  padding: 0 0 0 30px;
  border-left: solid 1px #ccc;
}
.day_design_list_txt {
}
.day_design_list_txt li {
}
.day_design_list_txt li.b {
  font-weight: bold;
}
.h3_ttl_gr {
  text-align: center;
  color: #31b69b;
  font-size: 2rem;
  font-weight: bold;
}
#day_tokutyou ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px;
  margin: 50px 0 0;
}
#day_tokutyou ul li {
  border: solid 1px #ccc;
}
#day_tokutyou ul li img {
}
#day_tokutyou ul li dl {
  margin: 20px;
}
#day_tokutyou ul li dl dt {
  font-weight: bold;
  margin: 0 0 10px;
  text-align: center;
}
#day_tokutyou ul li dl dd {
}
.timeline > li {
  overflow: hidden;
  margin: 0;
  position: relative;
}

.timeline-date {
  width: 13%;
  float: left;
  text-align: left;
  margin-top: 10px;
  color: #31b69b;
  font-weight: bold;
}

.timeline-content {
  width: 75%;
  float: left;
  border-left: 3px #ccc solid;
  padding: 10px 0 10px 30px;
  position: relative;
}
.timeline-content:before {
  content: "";
  width: 12px;
  height: 12px;
  background: #31b69b;
  position: absolute;
  left: -8px;
  top: 17px;
  border-radius: 100%;
}
.timeline_box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
#day_day .R {
  width: 50%;
}
#day_day .L {
  width: 40%;
}
#day_car {
  margin: 0 0 50px;
}
#day_car dl {
  border: solid 2px #31b69b;
  padding: 20px;
}
#day_car dt {
  text-align: center;
  font-size: 2rem;
  color: #31b69b;
}
#day_car dd {
  text-align: center;
}
#day_reserv {
}
.day_reserv_box {
}
.day_reserv_box h3 {
  background-color: #31b69b;
  color: #fff;
  text-align: center;
  padding: 10px;
  font-size: 2rem;
  font-weight: bold;
}
.day_reserv_box p {
  text-align: center;
  margin: 20px 0;
}
.day_reserv_box {
  background-color: #cce9e3;
  padding: 0 0 40px;
}
.day_reserv_box_in {
  background-color: #fff;
  margin: 0 50px;
  padding: 20px;
}
.day_reserv_box_in dt {
  text-align: center;
  font-size: 2rem;
  color: #31b69b;
}
.day_reserv_box_in dd.tel {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px 0;
}
.day_reserv_box_in dd.tel .l {
  display: inline-block;
  background-color: #31b69b;
  padding: 10px 50px;
  color: #fff;
  margin: 0 40px 0 0;
}
.day_reserv_box_in dd.tel .r {
  font-size: 3rem;
  color: #31b69b;
  line-height: 1;
}
.day_reserv_box_in dd.time {
  text-align: center;
}
.sn_nav.day ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

@media screen and (max-width: 768px) {
  #day_hed h3 {
    font-size: 1.6rem;
  }
  #day_hed h2 {
  }
  .day_hed_name {
  }
  .entry-content {
  }
  .entry-content figure {
  }
  /*ライトボックス*/
  dialog#imgDlg {
  }
  dialog#imgDlg::backdrop {
  }
  .dlg-wrap {
  }
  .dlg-wrap img {
  }
  .dlg-close {
  }
  .day_design_list {
  }
  .day_design_list > li {
  }
  .day_design_list li dl {
    display: block;
  }
  .day_design_list li dl dt {
    font-size: 3rem;
    width: initial;
    text-align: inherit;
    line-height: 1;
    margin: 0 0 10px;
  }
  .day_design_list li dl dt small {
    display: inline-block;
    margin: 0 0 0 30px;
  }
  .day_design_list li dl dd {
    width: 100%;
    padding: 0 0 0 5%;
  }
  .day_design_list_txt {
  }
  .day_design_list_txt li {
  }
  .day_design_list_txt li.b {
  }
  .h3_ttl_gr {
    font-size: 1.4rem;
  }
  #day_tokutyou ul {
    grid-template-columns: repeat(1, 1fr);
    margin: 5%;
    gap: 30px;
  }
  #day_tokutyou ul li {
  }
  #day_tokutyou ul li img {
  }
  #day_tokutyou ul li dl {
  }
  #day_tokutyou ul li dl dt {
  }
  #day_tokutyou ul li dl dd {
  }
  .timeline > li {
  }

  .timeline-date {
  }

  .timeline-content {
  }
  .timeline-content:before {
  }
  .timeline_box {
    display: block;
  }
  #day_day .R {
    width: 100%;
    margin: 5% 0 0;
  }
  #day_day .L {
    width: initial;
  }
  #day_car {
    margin: 0 0 5%;
  }
  #day_car dl {
  }
  #day_car dt {
  }
  #day_car dd {
  }
  #day_reserv {
  }
  .day_reserv_box {
  }
  .day_reserv_box h3 {
    font-size: 1.2rem;
  }
  .day_reserv_box p {
    margin: 5%;
    text-align: justify;
  }
  .day_reserv_box {
    padding: 0 0 1%;
  }
  .day_reserv_box_in {
    margin: 5%;
  }
  .day_reserv_box_in dt {
  }
  .day_reserv_box_in dd.tel {
    display: block;
  }
  .day_reserv_box_in dd.tel .l {
    margin: 0 0 5%;
    width: 100%;
  }
  .day_reserv_box_in dd.tel .r {
  }
  .day_reserv_box_in dd.time {
  }
}
/*---------------------------------
プライバシー
-----------------------------------*/
#privacy {
}
#privacy header {
  margin: 40px 0;
}
#privacy .inner {
  max-width: 800px;
  width: 90%;
  margin: 0 auto 100px;
}
#privacy h2 {
  font-weight: bold;
  margin: 1em 0;
}
@media screen and (max-width: 768px) {
}

/*---------------------------------
**
-----------------------------------*/
@media screen and (max-width: 768px) {
}
