/*
Theme Name: yutokai
Author URI: Sakura Printing Inc.
Version: 1.0
*/
body {
  font-family: "Helvetica Neue",
  Arial,
  "Hiragino Kaku Gothic ProN",
  "Hiragino Sans",
  Meiryo,
  sans-serif;
  position: relative;
  color: #000;
  margin: 0
}
main {
  padding-top: 172px;
}
p {
  margin: 0;
}
ul {
  margin: 0;
  padding: 0;
}
li {
  list-style: none;
}
a {
  color: #000;
  text-decoration: none;
  opacity: 1;
  transition: opacity .15s ease-in-out;
}
a:hover {
  text-decoration: none;
  opacity: .5;
  color: #000;
}
img {
  max-width: 100%;
  height: auto;
}
/*--------------------------------------
共通パーツ
--------------------------------------*/
/*-- Font ---------------*/
.ff_n-serif {
  font-family: 'Noto Serif JP',;
}
.ff_n-sans {
  font-family: "Noto Sans JP", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
}
.ff_times {
  font-family: "Times New Roman", serif;
}
.ff-Roboto {
  font-family: "Roboto", "Museo Sans" , "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
#top_page h2,
#kaigo h2,
h1 {
  /* ページタイトル */
  font-size: clamp(30px, 4.5vw, 45px);
  font-weight: normal;
  color: #707070;
  letter-spacing: 2px;
}
.sub_page h1 {
  font-size: clamp(27px, 3.5vw, 35px);
}
.section_title_wrap h4 {
  /* 下線タイトル */
  width: 100%;
  font-size: clamp(20px, 2.8vw, 36px);
  font-weight: normal;
  padding-bottom: 20px;
  letter-spacing: 1.8px;
  border-bottom: 2px solid #104088;
}
h4 br {
  display: none;
}
.sp_open_br br {
  display: none;
}
.fs_14 {
  font-size: clamp(10px, 1.4vw, 15px);
}
.fs_15, .fs_15 > p {
  font-size: clamp(11px, 1.5vw, 15px);
}
.fs_16 {
  font-size: clamp(12px, 1.6vw, 16px);
}
.fs_18 {
  font-size: clamp(14px, 1.8vw, 18px);
}
.fs_20 {
  font-size: clamp(16px, 2vw, 20px);
}
.fs_24 {
  font-size: clamp(20px, 2.4vw, 24px);
}
.fs_28 {
  font-size: clamp(24px, 3vw, 28px);
}
.fs_32 {
  font-size: clamp(28px, 3.2vw, 32px);
}
/*-- ボタン系 ---------------*/
/* 青ボタン */
.button {
  font-family: "Noto Sans japanese", 'Hiragino Kaku Gothic ProN';
  padding-bottom: min(10vw, 100px);
  max-width: 364px;
  min-width: 300px;
  width: 90%;
  margin: auto;
}
.button a {
  position: relative;
  display: flex;
  justify-content: center;
  flex-direction: column;
  height: 90px;
  width: 100%;
  background-color: #104088;
  color: #fff;
  transition: all 0.6s;
}
.button a:hover {
  background-color: #092753;
  opacity: 1;
}
.button p {
  font-size: 18px;
  margin: 10px 40px;
  text-align: left;
}
.button a::before {
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 15%;
  width: 60px;
  height: 1.5px;
  content: "";
  transition: all 0.6s;
}
.button a::after {
  position: absolute;
  top: 55%;
  right: 15%;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(30deg) translate(-50%, -50%);
  transform: rotate(30deg) translate(-50%, -50%);
  border-top: 1.5px solid #fff;
  content: "";
  transition: all 0.6s;
}
.button a:hover::before {
  right: 9%;
}
.button a:hover::after {
  right: 9%;
}
/* 白ボタン */
.button_white {
  display: flex;
  justify-content: center;
}
.button_white a {
  width: 100%;
  max-width: 272px;
  border: 1px solid #000;
  position: relative;
  padding: 18px 40px;
  font-size: 18px;
  line-height: 2;
}
.button_white a::before {
  content: "";
  background-color: #333;
  position: absolute;
  top: 50%;
  right: 50px;
  width: 45px;
  height: 1px;
  margin-top: 0px;
  transition: all 0.6s;
}
.button_white a::after {
  content: "";
  position: absolute;
  top: 52.3%;
  right: 55px;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(30deg) translateY(-50%);
  transform: rotate(30deg) translateY(-50%);
  border-top: 1px solid #333;
  transition: all 0.6s;
}
.button_white a:hover::before {
  right: 30px;
}
.button_white a:hover::after {
  right: 35px;
}
/*--------------------------------------
ヘッダー・フッター
--------------------------------------*/
/*-- header ---------------------*/
.header {
  width: 100%;
  z-index: 9999;
  position: fixed;
  top: 0;
  left: 0;
  transition: all 0.5s ease-out;
}
.header_top {
  padding: 0 0 0 40px;
  min-height: 112px;
  background: #fff;
  color: #000;
  border-bottom: 1px solid #E4EDFA;
}
.header.fixed-hide {
  transform: translateY(-112px);
}
.header_text {
  font-size: 12px;
  padding: 10px 0;
}
.header_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header_left {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.header_logo img {
  object-fit: cover;
  width: 226px;
  min-width: 226px;
}
.header_left a:hover {
  opacity: 1;
}
.header_right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 100%;
  width: 80%;
}
.header_right > nav {
  width: 100%;
}
.header_right nav ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  width: 100%;
  padding: 0 2%;
}
.header_right nav li {
  margin-right: 4%;
}
.header_right nav ul li a {
  transition: all 0.6s;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  height: 50px;
}
.header_form {
  background-color: #E59EAF;
}
.header_tel {
  background-color: #104088;
}
/* sp-menubtn */
.sp_header_3line {
  display: none;
  position: absolute;
  top: 0px;
  right: 0px;
  z-index: 998;
}
.sp_header_3line-span {
  position: relative;
  cursor: pointer;
  width: 50px;
  height: 50px;
  background: #104088;
  overflow: hidden;
}
.sp_header_3line-span span {
  display: inline-block;
  position: absolute;
  left: 50%;
  height: 2px;
  background: #fff;
  width: 24px;
  transform: translate(-50%, -50%);
  transition: all 0.4s;
}
.sp_header_3line-span span:nth-of-type(1) {
  top: 35%;
}
.sp_header_3line-span span:nth-of-type(2) {
  top: 50%;
}
.sp_header_3line-span span:nth-of-type(3) {
  top: 65%;
}
/* sp-xbtn */
.sp_header_3line-span.sp-active span:nth-of-type(1) {
  top: 25px;
  left: 14px;
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
.sp_header_3line-span.sp-active span:nth-of-type(2) {
  opacity: 0;
}
.sp_header_3line-span.sp-active span:nth-of-type(3) {
  top: 25px;
  left: 14px;
  transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}
/* sp-menu OVERLAY */
body.fixed {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.overlay {
  width: 100%;
  height: 100%;
  opacity: 0;
  position: fixed;
  color: #000;
  top: 0;
  left: 0;
  display: none;
  z-index: -1;
}
.header_box {
  min-width: 138px;
  max-width: 170px;
  width: 26%;
  margin-right: 2% !important;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.header_box a {
  height: 50px;
  color: #fff !important;
  font-weight: bold !important;
  font-size: 15px !important;
  width: 100%;
}
.header_box img {
  padding: 0 5% 0 0;
}
.header_g-nav {
  display: flex;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  max-height: 60px;
  overflow: hidden;
  background: #fff;
  text-align: center;
  box-shadow: 1px 1px 10px -8px;
  transition: all 0.5s ease-out;
}
.header_g-nav nav {
  margin: auto;
  width: 90%;
  height: 100%;
  max-width: 1100px;
}
.header_g-nav_wrap {
  display: flex;
  align-items: center;
}
.g-nav_open {
  display: none;;
}
.g-nav {
  position: relative;
  width: 100%;
}

.g-nav:not(:last-child)::after {
  position: absolute;
  content: '';
  height: 20px;
  border-left: 1px solid #E4EDFA;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.g-nav > a, .g-nav > p {
  padding: 20px 0;
  display: block;
  position: relative;
  place-items: center;
  width: 100%;
  font-size: 14px;
  cursor: pointer;
}
.js-header-font {
  transition: all 0.3s;
}
.js-header-font:hover {
  color: #104088;
  font-weight: bold;
}
.js-header-font.fontChange {
  color: #104088;
  font-weight: bold;
}
.header_g-nav_inner {
  display: none;
  position: fixed;
  top: 172px;
  left: 0;
  background-color: #104088;
  width: 100%;
}
.g-nav.header_g-nav_font {
  font-weight: bold;
  color: #104088;
}
.header_g-nav_inner div {
  display: grid;
  justify-content: center;
  grid-column-gap: 4%;
  background-color: #104088;
  max-width: 1400px;
  margin: auto;
  padding: 16px 0;
}
.grid_3 {
  grid-template-columns: auto auto auto;
}
.grid_2 {
  grid-template-columns: auto auto;
}
.header_g-nav_inner div li {
  min-width: 280px;
  margin-bottom: 5%;
  border-bottom: 1px solid #fff;
}
.header_g-nav_inner div li a {
  display: block;
  color: #fff;
  text-align: left;
  font-weight: 500;
  padding: 5% 0;
}
.header_g-nav_inner div li .header_g-nav_sub_txt {
  font-size: 10px;
}
.header_g-nav_inner div li h4 {
  position: relative;
  padding-right: 60px;
  margin: 2px 0 0 0;
}
.header_g-nav_inner div li h4::before {
  position: absolute;
  content: '';
  right: 2%;
  top: 50%;
  transform: translateY(-50%);
  height: 2px;
  width: 40px;
  background-color: #fff;
}
.header_g-nav_inner div li h4::after {
  position: absolute;
  content: '';
  right: 2.5%;
  top: calc(50% - 3px);
  transform: translateY(-50%) rotate(0deg) skewX(50deg);
  height: 8px;
  width: 3px;
  background-color: #fff;
}
.header_g-nav_inner_img img {
  height: 189px;
  object-fit: cover;
  aspect-ratio: 1.5/1;
  padding-bottom: 5%;
}
.sp_header_g-nav_bottom {
  display: none;
}
/*-- footer ---------------------*/
#footer {
  background: #fff;
  color: #104088;
  font-family: "Noto Sans japanese", 'Hiragino Kaku Gothic ProN';
}
#footer a {
  color: #104088;
}
.footer_wrap {
  max-width: 1200px;
  margin: 4% auto;
  width: 94%;
}
.footer_company {
  display: flex;
  justify-content: space-between;
}
.footer_company_inner {
  display: flex;
  align-items: flex-end;
  width: 66%;
}
.footer_company_inner p {
  margin-left: 2%;
  font-weight: 500;
}
.footer_company_inner p:nth-child(1) {
  font-size: 30px;
  font-weight: bold;
}
.footer_company_inner span {
  font-size: 42px;
  font-weight: bold;
  line-height: 120%;
}
.footer_form {
  background-color: #E59EAF;
}
.footer_tel {
  background-color: #104088;
}
.footer_tel img,.header_tel img{
  max-width:40px;
}

.footer_box-wrap {
  padding-right: 1%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 34%;
}
.footer_box {
  min-width: 138px;
  max-width: 170px;
  width: 50%;
  margin-right: 4% !important;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.footer_box a {
  height: 50px;
  color: #fff !important;
  font-weight: bold !important;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer_box img {
  padding: 0 5% 0 0;
}
.footer_logo img {
  object-fit: cover;
  width: 25vw;
  max-width: 312px;
}
.footer_logo_img {
  padding: 2% 2%;
}
.footer_logo_img img {
  width: 161px;
}
.footer_menu {
  padding: 3% 0 0 0;
  display: flex;
  justify-content: center;
}
.footer_menu-wrap {
  width: 100%;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.footer_menu-inner {
  flex-grow: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  max-width: 24%;
}
.footer_line {
  border-right: 1px solid #104088;
}
.footer_menu-items {
  text-align: left;
  width: 80%;
}
.footer_menu-items p {
  margin-bottom: 8%;
  font-weight: bold;
}
.footer_menu-items ul li {
  position: relative;
  padding-left: 15px;
  font-size: 12px;
  /* margin-bottom: 4%; */
}
.footer_menu-items ul li::before {
  position: absolute;
  content: "-";
  top: 2px;
  left: 0;
}
.footer_menu-items p a {
  display: inline-block;
  width: 100%;
}
.footer_menu-items ul li a {
  display: inline-block;
  line-height: 1.4;
  width: 100%;
  margin-bottom: 10px;
}
.sp_footer_wrap {
  display: none;
}
.copyright {
  text-align: center;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0px;
  padding-bottom: 20px;
}
/* サイド追従バー */
.following_bar {
  position: fixed;
  top: max(35%, 178px);
  right: 0;
  z-index: 999;
}
.following_bar_inner {
  background-color: #104088;
  width: 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 20%;
  border-radius: 10px 0 0 10px;
}
.following_bar_inner a {
  color: #fff;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 4px;
  line-height: 1.2;
  padding: 40% 0;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.following_bar_2 {
  background-color: #E4EDFA;
}
.following_bar_2 a {
  color: #104088;
}
/*--------------------------------------
TOPページ
--------------------------------------*/
#top_page h2, #top_page h1 {
  text-align: center;
  margin-bottom: min(3.1vw, 35px);
  color: #000;
  line-height: 1.6;
}
#top_page h1 {
  letter-spacing: min(0.5vw, 6px);
}
#top_page h2 {
  letter-spacing: min(0.2vw, 3px);
}
.top_about h1 br:nth-child(2), .top_sec > h2 br {
  display: none;
}
.top_intro .fs_15 {
  font-size: clamp(9px, 1vw, 15px);
  font-weight: 300;
}
.top_intro .fs_28 {
  font-size: clamp(20px, 2vw, 28px);
}
.top_intro .fs_24 {
  font-size: clamp(16px, 1.6vw, 24px);
}

/*-- TOPファーストビュー ---------------*/
#top_fv {
  display: flex;
  justify-content: center;
  align-items: center;
}
.top_fv-img {
  position: relative;
  width: 100%;
  z-index: -1;
}
.top_fv-img img {
  object-fit: cover;
  height: 85vh;
  width: 100%;
}


/*-- TOP私たちについて ---------------*/
/*-- TOPわたしたちのビジョン  ---------------*/
.top_about {
  position: relative;
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}
.top_about-wrap {
  background-color: #fff;
  margin: 0 auto;
  padding: min(6vw, 70px) 0%;
  color: #666;
  letter-spacing: 1.2px;
}
.top_about-wrap h2, .top_vision-wrap h2 {
  line-height: 150%;
  font-size: clamp(30px, 4.1vw, 45px);
}
.top_about-wrap h2 br:nth-child(2) {
  display: none;
}
.top_about-wrap > p, .top_vision-wrap > p {
  text-align: center;
  font-weight: 400;
  line-height: 220%;
  color: #525252;
  font-size: clamp(15px, 2.2vw, 25px);
}
.top_vision {
  position: relative;
  max-width: 1100px;
  width: 100%;
  margin: auto;
}
.top_vision-row {
  display: flex;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  width: 90%;
  margin: min(10vw, 111px) auto 0;
}
.top_vision-row .top_vision-text {
  width: 49vw;
  max-width: 540px;
  margin: 0 min(2vw, 28px) min(1vw, 20px) min(2vw, 28px);
  line-height: 2;
}
.top_vision-row .top_vision-img_big {
  max-width: 492px;
}
.top_vision-row .top_vision-img_big img {
  width: 53vw;
}
.top_vision-row-reserve {
  flex-direction: row-reverse;
  width: 84%;
}
.top_vision-row-reserve .top_vision-text {
  margin: 0 min(8vw, 88px) min(2vw, 20px) 0;
}
.top_vision-text h3 {
  font-size: clamp(20px, 2.7vw, 30px);
  margin: min(1vw, 10px) 0 min(3vw, 30px);
  line-height: 1.5;
  letter-spacing: min(0.2vw, 3px);
  font-weight: normal;
}
.top_vision-text p {
  letter-spacing: min(0.1vw, 0.8px);
}
.top_vision-row .button_white {
  justify-content: flex-start;
  margin: min(3vw, 40px) 0 0 0;
}
/*-- TOP優都会の介護  ---------------*/
.arrow_title {
  text-align: center;
  margin-bottom: min(10px, 12vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.arrow_title span {
  /* padding-top: min(2vw,20px); */
  height: min(100px, 10vw);
  position: relative;
  width: 8px;
  transform: translateY(10%);
}
.arrow_title span img {
  height: min(70px, 7vw);
  animation: movearrow 1s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95) alternate-reverse;
}
@keyframes movearrow {
  0% {
    transform: translateY(5%);
  }
  100% {
    transform: translateY(30%);
  }
}
.top_sec {
  max-width: 1100px;
  width: 100%;
  margin: auto;
  padding: min(1%, 148px) 0;
}
.top_sec-wrap {
  display: flex;
  margin: 3% auto;
  align-items: center;
  justify-content: center;
  width: 84%;
}
.top_sec-img {
  max-width: 364px;
}
.top_sec-img video,
.top_sec-img img {
  aspect-ratio: 1/1;
  width: 35vw;
  object-fit: cover;
  max-width: 364px;
}
.top_sec-text {
  margin: 0 0 min(2vw, 20px) min(5vw, 54px);
  width: 51vw;
  max-width: 564px
}
.top_sec-text h3 {
  font-size: clamp(20px, 2.7vw, 30px);
  font-weight: normal;
  margin: 4% 0 10% 0;
}
.top_sec-text h3 br {
  display: none;
}
.top_sec-wrap .button_white {
  justify-content: flex-end;
}
/*-- TOP運営施設の紹介 ---------------*/
.top_intro {
  background-color: #F2F5FF;
}
.top_intro-wrap {
  max-width: 1400px;
  margin: auto;
  padding: min(10%, 148px) 0;
}
.top_intro-wrap > h2 br {
  display: none;
}
.top_intro_grid {
  max-width: 1100px;
  margin: auto 10%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.top_intro_box {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  min-width: 100%;
  max-width: 368px;
  max-height: 450px;
  border: 2px solid #f5deb3;
  box-sizing: border-box;
  background-color: #fff;
  transition: background-size 0.6s;
}
.top_intro_box:hover {
  background-size: 105% 73%;
  cursor: pointer;
}
.top_intro_filter {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  overflow: hidden;
  transition: opacity 0.3s;
}
.top_intro_filter img {
  height: 100%;
}
.top_intro_img1 {
  background: url("./img/top_intro_img1.jpg") left 50% bottom 0 / 100% 69% no-repeat #fff;
}
.top_intro_img2 {
  background: url("./img/top_intro_img2.jpg") left 50% bottom 0 / 100% 69% no-repeat #fff;
}
.top_intro_img3 {
  background: url("./img/top_intro_img3.png") left 50% bottom 0 / 100% 69% no-repeat #fff;
}
.top_intro_img4 {
  background: url("./img/top_intro_img4.png") left 50% bottom 0 / 100% 69% no-repeat #fff;
}
.top_intro_img5 {
  background: url("./img/top_intro_img5.png") left 50% bottom 0 / 100% 69% no-repeat #fff;
}
.top_intro_img6 {
  background: url("./img/top_intro_img6.jpg") left 50% bottom 0 / 100% 69% no-repeat #fff;
}
.top_intro_title {
  text-align: center;
  padding: 10% 0 8% 0;
}
.top_intro_title p:nth-child(1) {
  color: #104088;
  padding-bottom: 2%;
}
.top_intro_title p br {
  display: none;
}
.js_top_intro {
  max-height: 72%;
  width: 69%;
  height: 100%;
  margin: 0 auto 10% auto;
  transition: all 0.6s;
  opacity: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.js_top_intro p {
  padding: 0 0 2% 0;
  color: #fff;
  line-height: 2.2;
  min-height: 15vw;
}
.top_intro .button_white {
  width: 0;
  max-height: 67px;
  overflow: hidden;
  justify-content: center;
}
.top_intro .button_white a {
  color: #fff;
  border: 2px solid #fff;
  padding: 14px 20px;
  font-size: clamp(10px, 1.3vw, 18px);
}
.top_intro .button_white a::before {
  background-color: #fff;
  height: 2px;
  right: 40px;
}
.top_intro .button_white a::after {
  border-top: 2px solid #fff;
  right: 46px;
}
.top_intro .button_white a:hover::before {
  right: 30px;
}
.top_intro .button_white a:hover::after {
  right: 36px;
}
/* js */
.top_intro_box.top-intro-open {
  color: #fff;
  background-size: 140% 100%;
}
.js_top_intro.top-intro-fade {
  opacity: 1;
  z-index: 2;
}
.top_intro_title.top-intro-fade {
  z-index: 2;
}
.top_intro_filter.top-intro-fade {
  opacity: 1;
  z-index: 1;
}
.js_find {
  transition: all 0.6s;
}
.js_find.top-intro-open3 {
  color: #fff !important;
  z-index: 2;
}
.top-intro-fade .button_white {
  width: 100%;
}
/*-- TOPお知らせ  ---------------*/
.top_topic-wrap {
  max-width: 1100px;
  margin: auto 10%;
}
.top_topic-wrap .topic_tab_item {
  min-width: 238px;
}
.top_topic-wrap .topic_news-content a {
  padding: 2% 5%;
}
.topic_tab_item:hover {
  cursor: pointer;
}
.current:hover {
  cursor: default;
}
/*-- TOPよくある質問  ---------------*/
.section_QA {
  background: #104088;
}
.section_QA_row {
  width: 95%;
  max-width: 1100px;
  max-height: 422px;
  margin: auto;
  padding: min(5%, 120px) 0;
  display: flex;
  justify-content: center;
}
.section_QA_row a img {
  max-width: 100%;
}
.section_QA_row a:nth-child(1) {
  /* padding-right: 5%; */
}
.section_QA > img {
  object-fit: cover;
  max-height: 380px;
  height: 100%;
  width: 100%;
}
.section_QA_row a img:nth-child(2) {
  display: none;
}
/*--------------------------------------
下層ページ
--------------------------------------*/
/* 共通 */
.section_wrap {
  max-width: 1400px;
  width: 100%;
  margin: auto;
}
.section_maxw_1100 {
  max-width: 1100px;
  width: 84%;
  margin: 0px auto;
}
.section_title_wrap {
  max-width: 1100px;
  width: 84%;
  margin: 0px auto;
}

/* ボタン */
.sub_page .button {
  /* margin: min(8%, 130px) auto; */
  padding-bottom: min(2%, 30px)
}
/* ピンクボタン */
.button_pink a {
  background-color: #E59EAF;
}
.button_pink a:hover {
  background-color: #DE7C94;
}
/* ボタン横並び */
.button_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}
.sub_page .button_wrap .button {
  padding: 8% 0 5% 0;
  margin: 0 2%;
}
/* リンクボタン(access) */
.link_btn p {
  inline-size: max-content;
  border: 1px solid #000;
  padding: 10px 15px;
  margin-left: auto;
  line-height: 1;
}
.link_btn p br {
  display: none;
}
.link_btn img {
  width: 12px;
  margin-left: 6px;
}
.access_bus .link_btn p {
  position: relative;
  padding: 10px 35px 10px 15px;
}
.access_bus .link_btn p::before {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  background: url('./img/access_icon_link.png');
  background-size: contain;
}
/* タイトル横並びメニュー */
.pagettl_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* margin: min(8vw,104px) 0; */
}
.pagettl_wrap a {
  text-align: left;
}
.pagettl_wrap p {
  position: relative;
  padding: 20px 60px 20px 0;
  max-width: 330px;
  min-width: 210px;
  width: 26vw;
  font-size: 15px;
  font-weight: 500;
  font-family: "Noto Sans JP";
  color: #707070;
  border-bottom: 1px solid #707070;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.pagettl_wrap p::after {
  content: '';
  position: absolute;
  width: 40px;
  height: 6px;
  border-bottom: solid 1px;
  border-right: solid 1px;
  transform: skew(45deg) translateY(-50%);
  right: 20px;
  top: 50%;
  color: #707070;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.pagettl_wrap p:hover {
  color: #E59EAF;
  border-bottom: 1px solid #E59EAF;
}
.pagettl_wrap p:hover::after {
  right: 6px;
  color: #E59EAF;
}
/* 現在地 */
.pagettl_wrap-active p {
  color: #E59EAF;
  border-bottom: 1px solid #E59EAF !important;
}
.pagettl_wrap-active p::after {
  right: 6px;
  color: #E59EAF;
}
.pagettl_wrap p:hover {
  opacity: 1;
}
/* パンくずリスト */
.pankuzu_wrap {
  width: 100%;
  border-bottom: 1px solid #707070;
}
.pankuzu_inner {
  max-width: 1100px;
  width: 95%;
  margin: auto;
  display: flex;
  padding: 10px 10px 8px 10px;
  align-items: center;
}
.pankuzu_inner img {
  width: 18.25px !important;
}
.pankuzu_link,
.pankuzu_current {
  margin-left: 35px;
  position: relative;
  font-size: 14px;
  color: #104088;
  font-weight: 500;
}
.pankuzu_link::before,
.pankuzu_current::before {
  position: absolute;
  content: '';
  left: -20px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  height: 6px;
  width: 6px;
  border-right: 1px solid #000;
  border-top: 1px solid #000;
}
/*-- 下層私たちについて ---------------*/
/* 青背景 */
.blue_bg {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  margin-bottom: min(10%, 130px);
}
.blue_bg > img {
  position: absolute;
  left: 50%;
  width: 2400px;
  height: 100%;
  transform: translateX(-50%);
  max-width: 2400px;
}
.blue_bg > .section_title_wrap {
  position: relative;
  z-index: 2;
}
.blue_bg > .section_wrap {
  position: relative;
  z-index: 2;
}
/* 挨拶 */
#about .fs_15 > p, #about .fs_15 {
   font-size: clamp(11px, 1.5vw, 15px);
  font-weight: 300;
  letter-spacing: 1.1px;
}
.about_msg_row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.about_msg_img {
  width: 40%;
  margin-right: 5%;
  max-width: 458px;
}
.about_msg_img img {
  padding-bottom: 5%;
}
.about_msg_text {
  width: 50%;
  margin: 5% 0 10%;
}
.about_msg_text p {
  padding-bottom: 5%;
  line-height: 2;
}
.about_msg_img p {
  padding-bottom: 2%;
}
/* 法人概要 */
.table_corporation {
  margin: 10% auto 2%;
  border-top: 1px solid #104088;
}
.table_corporation th {
  vertical-align: top;
  text-align: left;
}
.table_corporation > tbody > tr > th,
.table_corporation > tbody > tr > td {
   border-bottom: 1px solid #104088;
}




.table_corporation > tbody > tr > th {
  background-color: #F9FAFF;
  font-weight: 600;
  padding: 3% 2%;
  width: 20%;
}
.table_corporation > tbody > tr > td {
  padding: 3% 5%;
}
.table_corporation > tbody > tr > td > ul > li {
  padding: 0 0 3% 0;
}
.table_enkatsu, .table_location {
  width: 100%;
}
.table_enkatsu > tbody > tr > th {
  font-weight: 400;
  font-size: clamp(11px, 1vw, 13px);
  padding: 3% 0;
  width: 100px;
}
.table_enkatsu > tbody > tr > td {
  padding: 3% 0;
}
.table_location > tbody > tr > th {
  position: relative;
  font-weight: 400;
  padding: 12px 0 12px 18px;
  width: min(280px,18vw);
}
.table_location > tbody > tr > th::before {
  position: absolute;
  top: 17px;
  left: 0;
  content: '';
  width: 13px;
  height: 13px;
  background-color: #E4EDFA;
  border-radius: 50%;
}
.table_location > tbody > tr > td {
  padding: 12px 15px;
}
.table_date {
  width: 90%;
  margin: auto;
  color: #104088;
  text-align: right;
}
/*-- 下層情報公開 ---------------*/
.info-disc_content {
  max-width: 900px;
  margin: 6% auto;
}
.info-disc_content h3 {
  background-color: #104088;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 20px 30px;
}
.info-disc_content-flex ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.info-disc_content-flex li {
  border-bottom: dotted 2px #104088;
  width: calc(100%/4.5);
}
.info-disc_content-flex li a {
  background-position: top 50% right 1px;
  transition: all 0.2s ease-out;
  display: block;
  width: 100%;
  position: relative;
}
.info-disc_content-flex li a:after {
  content: "";
  position: absolute;
  background-image: url("./img/info-disc_link.png");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  height: 25px;
  width: 35px;
  top: 50%;
  bottom: 50%;
  left: 88%;
}
.info-disc_content-flex li a:not(.info-disc_link):after {
  background-image: url("./img/info-disc_pdf.png");
}
.info-disc_content-flex li a:hover {
  opacity: 0.6;
}
.info-disc_content-flex li a p {
  /* font-family: "Roboto"; */
  font-size: 15px;
  font-weight: bold;
  padding: 40px 0 15px;
}
/*-- 下層優都会の介護  ---------------*/
#kaigo .top_intro-wrap > h2, #kaigo .top_sec > h2 {
  text-align: center;
  margin-bottom: 8%;
  color: #000;
}
#kaigo .top_sec-wrap {
  padding-bottom: 10%;
}
#kaigo .pagettl_wrap {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
#kaigo h5 {
  font-size: 32px;
  color: #707070;
  line-height: 1.8;
  letter-spacing: 2px;
  margin: 0;
  font-weight: normal;
}
#vision h6,
#kaigo h6 {
  font-size: clamp(17px, 2vw, 25px);
  color: #707070;
  text-align: left;
  line-height: 1.8;
  letter-spacing: 2px;
  font-weight: normal;
}

.sub_fv {
  width: 100%;
  padding-bottom: 4%;
  height: 44vw;
  max-height: 660px;
  padding-bottom: 4%;
}
.sub_fv img,
.sub_fv video {
  aspect-ratio: 550/308;
  width: 100%;
}
.kaigo_wrap {
  margin: 5% auto 10%;
}
.kaigo_row_wrap {
  display: flex;
  justify-content: space-between;
  padding-bottom: 10%;
}
.kaigo_row-reverse {
    position: relative;
    padding-top: 10%;
    margin-bottom: 10%;
}
.kaigo_row-reverse::before{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
    display: block;
    width: 200vw;
    height: 100%;
  background-color: #F9FAFF;
    content: "";
    transform: translateX(-50%);
}


.kaigo_row_text_wrap {
  width: 50%
}
.kaigo_row_text_wrap > p:nth-child(1) {
  font-size: 90px;
  color: #f7e2e7;
  font-style: italic;
  font-weight: bold;
  line-height: 1;
}
.kaigo_row_text_wrap > p:nth-child(1) span {
  font-size: 35px;
  color: #E3E3E3;
}
.kaigo_row_text p {
  padding-top: 5%;
  color: #5f5f5f;
  line-height: 2.2;
}
.kaigo_row_text p:nth-child(1) {
  padding-top: 8%;
}
.kaigo_row_img {
  width: 42%;
}
.kaigo_row_img {
  margin-left: 8%;
}
.kaigo_row_img img{
  aspect-ratio: 3/1.5;
    object-fit: cover;
    object-position: 0 35%;
    min-width: 100%;
}
.kaigo_row_img_aspect{
     object-position: 0 15%;
}


/*-- ダイバージョナルセラピー＆ケアガーデン「みんなの庭」 ---------------*/
#vision.sub_page h1 br:nth-child(1),
#vision.sub_page h1 br:nth-child(3) {
  display: none;
}
.vision_over_wrap > div {
  display: flex;
  align-items: center;
}
.vision_over_wrap .vision_over_wrap_img {
  justify-content: flex-start;
  width: 100%;
}
.vision_over_wrap_img img {
  aspect-ratio: 815/441;
  object-fit: cover;
  object-position: center 95%;
  max-width: 815px;
  width: 80vw;
}
.vision_over_wrap .vision_over_text {
  justify-content: flex-end;
  position: relative;
  margin-top: -5%;
  width: 100%;
}
.vision_over_text_inner {
  width: 84vw;
  max-width: 848px;
  background-color: #fff;
  padding: 7% 0;
}
.vision_over_text_inner p {
  width: 80%;
  margin: auto;
  margin-bottom: 5%;
}
.vision_img_row_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 10% 0 5%;
}
.vision_img_row_wrap a {
  width: 47%;
}
.vision_img_row_wrap img {
  aspect-ratio: 523/348;
}
.vision_img_row_wrap a:first-child {
  margin-right: 6%;
}



/*-- 下層アクセス ---------------*/
#access .section_maxw_1100 {
  margin: min(5%, 67px) auto min(10%, 77px);
}
#access .fs_18 {
  letter-spacing: 1.4px;
}
#access .fs_15 {
  letter-spacing: 1.2px;
}
/* ドット下線タイトル */
.dot_line_title {
  display: flex;
  align-items: center;
  margin: 5% 0 2%;
  background-image: linear-gradient(to right, #104088 2px, transparent 2px);
  background-size: 9px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
}
.dot_line_title h5 {
  color: #104088;
  line-height: 2.5;
  font-weight: bold;
  margin: 0;
  letter-spacing: 2px;
}
.dot_line_title p {
  margin-left: 18px;
}
/* 所在地・周辺地図 */
.access_map {
  text-align: center;
  padding-bottom: 3%;
  height: 50vw;
  max-height: 590px;
}
.access_map_bottom {
  display: flex;
  justify-content: space-between;
}
.access_map_text {
  width: 100%;
  padding-top: 2%;
  color: #104088;
  font-weight: bold;
}
.access_map_text_row {
  width: 100%;
  display: flex;
}
.access_map_text_row p:nth-child(1) {
  width: 12%;
}
.access_map_text_row p:nth-child(2) {
  font-weight: normal;
  width: 70%;
}
/* 電車をご利用の方へ */
.dot_line_wrap ul li {
  position: relative;
  padding-left: 25px;
  margin-top: 2%;
  letter-spacing: 1.2px;
  color: #333;
  font-weight: bold;
}
.dot_line_wrap ul li::before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  top: 6.5px;
  left: 0;
  background-color: #104088;
}
.dot_line_wrap ul li span {
  font-weight: 300;
  margin: 0 15px;
  letter-spacing: 1.4px;
}
#access .dot_line_wrap ul li br {
  display: none;
}
/* バスをご利用の方へ */
.access_table_bus {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-bottom: 1rem;
  border-bottom: 1px solid #707070;
}
dl, dd, dt {
  margin-bottom: 0rem;
  margin-inline-start: 0px;
  margin-block-start: 0em;
  margin-block-end: 0em;
}
.access_table_bus dl {
  border-left: 1px solid #707070;
  min-width: 15%;
}
.access_table_bus dl:nth-last-child(1) {
  border-right: 1px solid #707070;
}
.access_table_long {
  flex-grow: 1;
}
.access_table_bus dt, .access_table_bus dd {
  border-top: 1px solid #707070;
  color: #333;
  text-align: center;
  padding: 10px 4px;
}
.access_table_bus dt {
  border-bottom: none;
  background-color: #F2F5FF;
}
.dot_line_wrap .link_btn {
  width: 300px;
}
/* タクシー・車をご利用の方へ */
.blue_uline {
  line-height: 2;
  padding-bottom: 2%;
}
.blue_uline span {
  border-bottom: 1px solid #104088;
  padding-bottom: 3px;
}
.access_car_row_wrap {
  display: flex;
}
.access_car_row_wrap > ul li {
  width: 88%;
}
.access_car_row_wrap > ul, .access_car_row_right {
  width: 100%;
}
.access_car_box {
  text-align: center;
  border: 1px solid #104088;
  max-width: 372px;
  margin: 5% 0;
}
.access_car_box_inner {
  display: flex;
  justify-content: center;
  border-bottom: dashed 1px #104088;
  width: 90%;
  margin: 6% auto;
}
.access_car_box_inner p {
  width: 50%;
}
.access_car_box_inner span {
  font-weight: bold;
}
.access_car_row_right > p {
  max-width: 372px;
}
/*-- 下層関連リンク  ---------------*/
#link h5 {
  color: #104088;
  font-weight: bold;
  line-height: 1.5;
  margin: 5% 0;
}
#link .fs_18 {
  letter-spacing: 0.8px;
}
.link_grid_wrap {
  display: grid;
  grid-template-columns: 32% 32% 32%;
  grid-column-gap: 3%;
}
.link_grid {
  height: 362px;
}
/*-- 下層個人情報保護方針  ---------------*/
#privacy .fs_15 {
  line-height: 2;
}
.privacy_line_ttl_wrap {
  margin: min(5%,40px) 0 min(10%,60px);
}
.privacy_line_ttl_wrap h6 {
  border-bottom: 2px solid #000;
  padding-bottom: 1%;
  margin-bottom: 2%;
}
.privacy_line_ttl_wrap h6 br {
  display: none;
}
.privacy_bottom_text {
  text-align: right;
}
.privacy_bottom_text p {
  margin-bottom: 0.5%;
}
/*-- 下層サイトマップ  ---------------*/
.site_map_wrap {
  display: grid;
  grid-template-columns: 32% 32% 32%;
  grid-column-gap: 3%;
}
.site_map_wrap2 {
  grid-template-columns: 32% 32%;
}
.site_map_wrap .dot_line_wrap {
  min-height: 100px;
}
.site_map_wrap .dot_line_title {
  margin: 7% 0;
}
.site_map_wrap .dot_line_wrap ul {
  margin-bottom: 50px;
}
.site_map_wrap .dot_line_wrap ul li {
  margin-top: 5%;
}
.site_map_wrap .dot_line_wrap ul li a {
  color: #333;
}
/*-- 下層お知らせ  ---------------*/
.topic {
  max-width: 920px;
  margin: 0 auto 50px;
  font-family: "Noto Sans JP";
}
.topic_toggle, .topic_accordion_title {
  display: none;
}
.topic_news_link {
  display: flex;
  justify-content: center;
  padding: 0;
  list-style-type: none;
}
.topic_tab_item {
  width: calc(100%/3);
}
.tab_item_button {
  padding: 20px 6px;
  display: block;
  color: #104088;
  text-align: center;
  line-height: 1;
  border: solid 1px #104088;
  transition: all 0.2s ease;
}
.tab_item_button:hover {
  background-color: #104088;
  color: #fff;
  opacity: 1;
}
/*-- お知らせ選択中 ---*/
.topic_tab_item_active :link {
  background-color: #104088;
  color: #fff !important;
  transition: all 0.2s ease;
}
/*-- お知らせ記事タイトル ---*/
.topic_news-content:nth-child(even) {
  background-color: #F9FAFF;
}
.topic_news-content a {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  padding: 5% 5%;
}
.topic_news_item :nth-child(3), .topic_cat {
  background: #104088;
  border-radius: 20px;
  text-align: center;
  margin: 0 10px 0 15px;
  color: #fff;
  font-size: 10px;
  padding: 5px 0;
  width: 100px;
}
.topic_time {
  font-size: 14px;
  color: #000;
}
.topic_news-content span {
  display: block;
  width: 1px;
  height: 24px;
  background-color: #000;
  margin: 0 -2px 0 18px;
}
.topic_ttl {
  max-width: 590px;
  font-weight: normal;
}
/*ページネーション*/ /* お知らせページ＆情報公開ページ */
.pagination {
  text-align: center;
  margin: min(5%, 76px) auto 0 auto;
}
.nav-links {
  margin: 0 auto;
}
.nav-links ul {
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-numbers {
  display: inline-block;
  width: 35px;
  padding: 10px 0;
  color: #104088;
  line-height: 1;
  font-size: 18px;
}
.pagination a:hover {
  opacity: 0.7;
}
.current {
  background: #104088;
  color: #FFF;
}
/* ここからがニュース記事のCSS */
.topic_article {
  background-color: #F9FAFF;
  padding: 110px 0;
}
.topic_article_content {
  background-color: #fff;
  padding-top: 40px;
  padding: min(40px,4vw) 0;
}
.topic_article_inner {
  margin: 0 auto;
  width: 90%;
  margin: auto;
}
.topic_article_header {
  padding: 33px 0 11px;
  display: flex;
  align-items: center;
}
.topic_article .topic_time {
  color: #104088;
}
.topic_article_ttl, .topic_article_txt, .topic_article_img {
  display: block !important;
  padding: 0 !important;
}
.topic_article_ttl p {
  font-size: 25px;
  color: #104088;
  font-weight: bold;
  padding-bottom: 20px;
  border-bottom: solid 2px #104088;
}
.topic_article_img {
  background-color: #fff;
  margin: 60px auto 0;
  max-width: 80%;
}
.topic_article_txt p {
  line-height: 2rem;
  margin-top: 60px;
  padding-bottom: 80px;
  border-bottom: solid 1px #104088;
  font-weight: normal;
}
/*記事別リンクボタン*/
.topic_article_pagenation {
  padding: 25px 0 45px !important;
  display: flex;
  justify-content: space-between;
  border-top: solid 1px #104088;
}
.topic_article_old a, .topic_article_new a {
  position: relative;
  display: block;
  padding: 0 20px;
}
.topic_article_old a::before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(225deg);
  max-width: 13px;
}
.topic_article_new a::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
  max-width: 13px;
}
/*-- 下層よくある質問  ---------------*/
.qa_wrap {
  width: 90%;
  margin: 0 auto 8%;
}
.qa_innner {
  padding: 35px 0 0 0;
}
.qa_innner dt, .qa_innner dd {
  position: relative;
  margin: 0;
  padding: 1em 2em 1em 3.1em;
  color: #333333;
  font-size: 15px;
  letter-spacing: 1px;
  line-height: 1.8;
}
.qa_innner dt {
  font-weight: 600;
  color: #104088;
  padding-bottom: 14px;
  border-bottom: dotted 2px #104088;
}
.qa_innner dd + dt {
  margin-top: 1em;
}
.qa_innner dt::before, .qa_innner dd::before {
  display: inline-block;
  position: absolute;
  width: 35px;
  height: 35px;
  top: 8px;
  left: 0;
  border-radius: 50%;
  color: #fff;
  font-weight: 600;
  font-size: 1.1em;
  line-height: 34px;
  text-align: center;
}
.qa_innner dt::before {
  background-color: #104088;
  content: 'Q';
}
.qa_innner dd::before {
  background-color: #E59EAF;
  content: 'A';
}
/*-- 下層見学のお申込み ＆　お問い合わせ ---------------*/
select, input[type="text"], input[type="submit"], input[type="button"] {
  /* 初期化 */
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border: none;
  font-family: "Noto Sans japanese", 'Hiragino Kaku Gothic ProN';
}
/* 共通*/
table {
  font-family: "Noto Sans japanese", 'Hiragino Kaku Gothic ProN';
}
.form_txt {
  margin-top: 20px;
}
.app-contact_box table {
  width: 100%;
  margin-top: 100px;
}
.app-contact_box table tr th {
  width: 38%;
  font-weight: bold;
  padding: 1em .5em;
  background: #E59EAF;
  color: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 15px;
  text-align: left;
  padding-left: 15px;
  vertical-align: baseline;
  border: none;
}
.app-contact_box table tr th span {
  background: #fff;
  padding: 0 .3em;
  color: #E01515;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  float: right;
  margin-right: 15px;
}
.app-contact_box table tr th:after {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  height: 1px;
  border-bottom: solid 1px #fff;
}
.app-contact_box table tr td {
  padding: 11px;
  background-color: #F3F0F1;
  box-sizing: border-box;
  text-align: left;
}
.contact_box_color table tr td {
  background-color: #E9ECF1;
}
.app-contact_box table tr td:after {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  height: 1px;
}
.app-contact_box table tr .app_box-contents {
  display: block;
  margin: 10px 0;
}
.app-contact_box table tr select, .app-contact_box table tr textarea, .wide, input[type="text"] {
  width: 100%;
  height: 55px;
  padding: 5px 15px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
  font-size: 15px;
  border: none;
	font-family: 'Noto Sans JP';
}
.address_flex > p > input {
  width: 47.5%;
  margin: 0 0 20px 0;
  background-color: #fff;
  padding: 5px;
  height: 55px;
  border: none;
}
.address_flex > .error {
  display: none!important;
}
.app-contact_box table tr textarea {
  height: 400px;
}
.app-contact_row {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
.app-contact_mw div > label:last-of-type {
  margin-left: 25px;
}
::placeholder {
  color: #E9ECF1;
}
.click-addrres_blue {
  margin: 0 0 20px 26px;
  padding: 13px;
  text-align: center;
  font-size: 13px;
  cursor: pointer;
  border: none;
  color: #104088;
  background-color: #BDCAEB;
  max-width: 185px;
}
button.click-addrres_pink {
  margin: 0 0 20px 26px;
  padding: 13px;
  text-align: center;
  font-size: 13px;
  cursor: pointer;
  border: none;
  color: #A44468;
  background-color: #F0DADF;
  max-width: 185px;
}
.zip {
  width: 47.5%;
  margin: 0 0 20px 0;
  background-color: #fff;
  padding: 5px;
  height: 55px;
  border: none;
}
.contact_redio > p {
  margin-left: 5px;
}
.app-contact_mw, .app_box, .app-contact_era {
  background-color: #fff !important;
}
.address_flex, .contact_redio, .app-contact_era {
  display: flex;
  align-items: center;
}
.address_flex > p >input,
.address_flex>input{
  width: 47.5%;
  margin: 0 0 20px 0;
  background-color: #fff;
  padding: 5px;
  height: 55px;
  border: none;
}
.address_flex > p {
	display: contents;
}
.app_form-select-date > input {
  padding: 8px 16px;
  margin-left: 0!important;
  margin-right: 10px;
  border-radius: 4px;
  font-size: 14px;
}
.app_form-select-date > p >select {
  width: 100% !important;
  margin-right: 0 !important;
}
.app_form-select-date > span.error {
  display: none;
}
.app_box_select > p > span {
  padding-top: 0!important;
}
.app-contact_era p {
  margin-left: 20px;
}
.traiangele-item {
  position: relative;
}
.traiangele-item::before {
  position: absolute;
  top: 50%;
  right: 0.9em;
  width: 0;
  height: 0;
  padding: 0;
  content: '';
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #666666;
  pointer-events: none;
}
.app-contact_era-area {
  width: 36.8%;
}
.app-contact_institution {
  width: 65%;
}
.app_form-select-date > select {
  margin-left: 10px;
}
/* 見学のお申込み*/
/* 見学希望日*/
.app_box_select {
  display: block !important;
}
.app_form-select-wrap, .app_form-select-date {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  width: 100%;
}
.app_form-select-wrap > div > p {
  font-size: 15px;
  width: 83px;
}
.app_form-select-date > input {
  padding: 8px 16px;
  margin-left: 10px;
  margin-right: 10px;
  border-radius: 4px;
  font-size: 14px;
  width: 100%;
}
.hasDatepicker {
  width: inherit !important;
}
.app_form-select-date > p > select {
  width: 100% !important;
  margin-right: 0 !important;
}

.app_boder_color {
  border-bottom: 2px solid #E59EAF !important;
}
.contact-label_pink {
  accent-color: #A44468;
}
.app_era-innner {
  background-color: #F3F0F1 !important;
}

/* お問い合わせ*/
.contact_box_color table tr th {
  background: #104088;
}
.contact_era-innner {
  background-color: #E9ECF1 !important;
}
/* ボタン*/
.submit_confirmation_wrap {
  display: inline-block;
  position: relative;
  margin: 8% 0;
}
.submit_confirmation {
  text-align: center;
}
.submit_confirmation_button {
  display: inline-block;
  max-width: 364px;
  cursor: pointer;
  padding: 20px 37px;
  background: #104088;
  color: #ffffff;
  height: 90px;
  line-height: 1em;
  border: none;
  margin: 8% auto 10%;
  text-align: left;
  font-size: 18px;
  transition: all 0.6s;
  width: 100vw;
}
.submit_confirmation_button:hover {
  background-color: #092753;
  opacity: 1;
}
.submit_confirmation_application {
  display: inline-block;
  max-width: 364px;
  cursor: pointer;
  padding: 20px 37px;
  color: #ffffff;
  height: 90px;
  line-height: 1em;
  border: none;
  margin: 8% auto 10%;
  text-align: center;
  font-size: 18px;
  transition: all 0.6s;
  background-color: #E59EAF;
  width: 100vw;
}
.submit_confirmation_application:hover {
  background-color: #DE7C94;
  opacity: 1;
}
.submit_confirmation_wrap::before {
  background-color: #fff;
  position: absolute;
  top: 55%;
  right: 15%;
  width: 60px;
  height: 1.5px;
  content: "";
  transition: all 0.6s;
  -webkit-transform: translateY(-50%);
}
.submit_confirmation_wrap::after {
  position: absolute;
  top: 58%;
  right: 15%;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(30deg) translate(-50%, -50%);
  transform: rotate(30deg) translate(-50%, -50%);
  border-top: 1.5px solid #fff;
  content: "";
  transition: all 0.6s;
}
.submit_confirmation_wrap:hover::before {
  right: 9%;
}
.submit_confirmation_wrap:hover::after {
  right: 9%;
}
/*お問い合わせ電話*/
.contact_tel_wrap nav ul {
  display: flex;
  justify-content: space-between;
  margin: 60px 20px;
}
.contact_tel_wrap nav ul li a {
  display: flex;
  align-items: center;
  padding: 30px 55px;
  background-color: #FFF5EA;
  border: solid 1px #FF8700;
  max-width: 500px;
  height: 100px;
}
.contact_tel_wrap nav ul li a:first-child {
  font-family: "Noto Serif JP";
  font-size: 15px;
  color: #FF8700;
  margin-bottom: 20px;
}
.contact_tel_number {
  font-style: italic;
  font-weight: bold;
  font-size: 2.2rem;
  margin-left: 25px;
}
.contact_tel_pia a {
  background-color: #EEF8F3 !important;
  border: solid 1px #36B077 !important;
  color: #36B077 !important;
}
.contact_tel_wrap nav ul li > p {
  display: none;
}
.app_box-contents span label {
  display: flex;
  align-items: baseline;
}
/*-- 下層見学のお申込み ＆　お問い合わせ
 -----確認画面 ---------------*/
 .mw_wp_form_confirm.app_form-select-wrap {
   margin-bottom: 12px;
 }
 .mw_wp_form_confirm.app_form-select-wrap, .app_form-select-date {
   font-size: 15px;
   margin-bottom: 0;
 }
 .mw_wp_form_confirm.app_form-select-wrap, .app_form-select-date br {
   display: none;
 }

.mwform-checkbox-field input, .mwform-radio-field input {
   min-width: 13px;
   width: 13px;
 }
.mw_wp_form_confirm .confirmation_box_ap p, .mw_wp_form_confirm .app-contact_box p {
  font-size: 15px;
	display: flex;
  justify-content: center;
}
.mw_wp_form_confirm .confirmation_box_ap table tr, .mw_wp_form_confirm .app-contact_box table tr {
  position: relative;
}
.mw_wp_form_confirm .app-contact_box table tr:after {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  border-bottom: dotted 2px #104088;
}
.mw_wp_form_confirm .confirmation_box_ap table tr:after {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  border-bottom: dotted 2px #E59EAF;
}
.mw_wp_form_confirm .confirmation_box_ap table tr th {
  width: 38%;
  font-weight: bold;
  padding: 1em .5em;
  color: #E59EAF;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 15px;
  text-align: left;
  padding-left: 15px;
  vertical-align: baseline;
  border: none;
  background: #fff;
}
.mw_wp_form_confirm .app-contact_box table tr th {
  color: #104088;
  width: 38%;
  font-weight: bold;
  padding: 1em .5em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 15px;
  text-align: left;
  padding-left: 15px;
  vertical-align: baseline;
  border: none;
  background: #fff;
}
.mw_wp_form_confirm .confirmation_box_ap table tr th {
  color: #E59EAF;
  width: 38%;
  font-weight: bold;
  padding: 1em .5em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 15px;
  text-align: left;
  padding-left: 15px;
  vertical-align: baseline;
  border: none;
  background: #fff;
}
.mw_wp_form_confirm .confirmation_box_ap table tr td, .mw_wp_form_confirm .app-contact_box table tr td {
  padding: 1em 1.5em;
  width: 100%;
  background: #fff;
}
.mw_wp_form_confirm .confirmation_box_ap, .mw_wp_form_confirm table tr td p, .mw_wp_form_confirm.app-contact_box table tr td p {
  font-size: 15px;
}
.mw_wp_form_confirm .confirmation_box_flex, .mw_wp_form_confirm.confirmation_box_flex_right {
  display: flex;
}
.mw_wp_form_confirm .confirmation_box_flex_right {
  margin-left: 30px;
  gap: 10px;
}
.title_open {
  display: none;
}
.mw_wp_form_confirm .click-addrres_blue {
  display: none;
}
.mw_wp_form_confirm button.click-addrres_pink {
  display: none;
}
/* フォームでは非表示 */
.mw_wp_form_confirm .traiangele-item::before {
  display: none;
}
.mw_wp_form_confirm .contact_none {
  display: none;
}
.mw_wp_form_confirm .section_title_wrap {
  display: none;
}
.mw_wp_form_confirm .app-contact_mw div > label:last-of-type {
  margin-left: 0;
}
.mw_wp_form_confirm .app-contact_era-area {
  width: auto;
}
.mw_wp_form_confirm .contact_redio br {
  display: none;
}
.mw_wp_form_confirm .title_none {
  display: none;
}
.mw_wp_form_confirm .title_open {
  display: block;
  min-height: inherit;
}
.mw_wp_form_confirm .app-contact_box table tr th > span {
  display: none;
}
.mw_wp_form_confirm .submit_confirmation_wrap::after, .mw_wp_form_confirm .submit_confirmation_wrap::before {
  display: none;
}
.mw_wp_form_input .pagettl_wrap p, .mw_wp_form_confirm .pagettl_wrap p {
  display: none;
}
.mw_wp_form_confirm button.click-addrres_pink {
  display: none;
}
.mw_wp_form_confirm .confirm-hidden {
  display: hidden;
}
/* ボタン*/
.mw_wp_form_confirm .confirmation_button-txt {
  margin-top: 70px;
  text-align: center;
}
.mw_wp_form_confirm .submit_confirmation_wrap p{
  display: flex;
  justify-content: center;
  margin: 0 auto;
  column-gap: 50px;
}
.send_button_pink {
  max-width: 364px;
  min-width: 300px;
  width: 90%;
  margin: 0 4%;
  font-size: 18px;
  text-align: center;
  cursor: pointer;
  padding: 20px 18px;
  background: #E59EAF;
  color: #ffffff;
  height: 90px;
  line-height: 1em;
  transition: .3s;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40%;
}
.mw_wp_form_confirm .send_button_pink:hover {
  background-color: #DE7C94;
}
.submit_confirmation_button {
  max-width: 364px;
  display: inline-block;
  font-size: 18px;
  text-align: center;
  cursor: pointer;
  padding: 20px 18px;
  background: #104088;
  color: #ffffff;
  height: 90px;
  line-height: 1em;
  transition: .3s;
  border: none;
  width: 100vw;
}
.submit_confirmation_button:hover {
  background-color: #092753;
}
.mw_wp_form_confirm .back {
  max-width: 364px;
  min-width: 300px;
  display: inline-block;
  font-size: 18px;
  text-align: center;
  cursor: pointer;
  padding: 20px 18px;
  background: #C8CACD;
  color: #ffffff;
  height: 90px;
  line-height: 1em;
  transition: .3s;
  border: none;
  margin: 8% auto 10%;
  width: 50%;
}
.mw_wp_form_confirm .back:hover {
  filter: brightness(93%);
}
.mw_wp_form_confirm .submit_confirmation_button {
  max-width: 364px;
  min-width: 300px;
  width: 50%;
}
.mw_wp_form_confirm .submit_confirmation_application {
  max-width: 364px;
  min-width: 300px;
  width: 50%;
}

.mw_wp_form .error{
	padding: 0.5rem 0;
	font-family: 'Noto Sans JP';
}

/*-- サンクスページ ---------------*/
.thanks_wrap {
  padding: min(40px,4vw);
}
.app_article {
  padding: 110px 0;
  background-color: #F3F0F1;
}
.app_article_ttl {
  display: block !important;
  padding: 0 !important;
}
.app_article_ttl p {
  font-size: 25px;
  color: #E59EAF;
  font-weight: bold;
  padding-bottom: 20px;
  border-bottom: solid 1px #E59EAF;
}
.app_article_txt p {
  line-height: 2rem;
  padding-bottom: 80px;
  border-bottom: solid 1px #E59EAF;
}
/*-- 404 ---------------*/
.error_ttl {
  font-size: 120px;
  font-family: "Poppins";
  color: #104088;
}
