@charset "utf-8";
/******************************************************
GLOBAL
******************************************************/
*, *:before, *:after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  text-decoration: none;
}
html {
  scroll-behavior: smooth;
}
html, body {
  margin: 0;
  padding: 0;
  font-size: 16px;
  color: #231815;
  line-height: 1.8;
  font-family: "Noto Sans JP", sans-serif, Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}
main {
  margin: 0;
  padding: 0;
}
/******************************************************
LINK TEXT
******************************************************/
a {
  color: #000;
  text-decoration: none;
}
a:hover {
  /*color: #0c5fb3;*/
  color: #8f1a43;
}
a.new::after {
  font-family: "Font Awesome 5 Free";
  content: '\f35d';
  font-weight: bold;
  margin-left: 1em;
  margin: -.2em 0 0 1em;
}
/******************************************************
MARGIN
******************************************************/
/*** top ***/
.mgn-t-0 {
  margin-top: 0;
}
.mgn-t-1 {
  margin-top: 1em;
}
.mgn-t-2 {
  margin-top: 2em;
}
.mgn-t-3 {
  margin-top: 3em;
}
/*** bottom ***/
.mgn-b-0 {
  margin-bottom: 0;
}
.mgn-b-1 {
  margin-bottom: 1em;
}
.mgn-b-2 {
  margin-bottom: 2em;
}
.mgn-b-3 {
  margin-bottom: 3em;
}
/*** left ***/
.mgn-l-0 {
  margin-left: 0;
}
.mgn-bl-1 {
  margin-left: 1em;
}
.mgn-l-2 {
  margin-left: 2em;
}
.mgn-bl-3 {
  margin-left: 3em;
}
/*** right ***/
.mgn-r-0 {
  margin-right: 0;
}
.mgn-r-1 {
  margin-right: 1em;
}
.mgn-r-2 {
  margin-right: 2em;
}
.mgn-r-3 {
  margin-right: 3em;
}
/******************************************************
FONT
******************************************************/
.txt-Noto-Serif {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
}
.txt-Noto-Sans {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}
.txt-Mincho {
  font-family: "ZenOldMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
}
.txt-Mincho-900 {
  font-weight: 900;
}
.txt-Mincho-700 {
  font-weight: 700;
}
.txt-Mincho-500 {
  font-weight: 500;
}
.txt-Mincho-400 {
  font-weight: 400;
}
.txt-Mincho-300 {
  font-weight: 300;
}
/******************************************************
TEXT COLOR
******************************************************/
.txt-red {
  color: #b0184b;
}
.txt-blue {
  color: #446594;
}
/******************************************************
TEXT WEIGHT
******************************************************/
.txt-bld {
  font-weight: bold;
}
.txt-nml {
  font-weight: normal;
}
/******************************************************
TEXT SIZE
******************************************************/
.txt-sml {
  font-size: 80%;
}
.txt-big {
  font-size: 120%;
}
.txt-bogger {
  font-size: 140%;
}
/******************************************************
TEXT ARIGN
******************************************************/
.txt-right {
  text-align: right;
}
.txt-left {
  text-align: left;
}
.txt-center {
  text-align: center;
}
/******************************************************
ROW
******************************************************/
p {
  margin: 0 0 1em;
  padding: 0;
}
ul, ul li {
  margin: 0;
  padding: 0;
  list-style-position: inside;
}
/******************************************************
BUTTON
******************************************************/
.btn-01 {
  display: inline-block;
  color: #8f1a43;
  background: rgba(234, 191, 187, .56);
  margin-top: 2em;
  padding: .3em 5em;
  border: 1px solid #8f1a43;
  border-radius: 5px;
}
.btn-01 p {
  margin: 0;
}
.btn-01 p::after {
  font-family: "Font Awesome 5 Free";
  content: '\f054';
  font-weight: bold;
  margin-left: 1em;
}
/******************************************************
DEVICE
******************************************************/
@media screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}
@media screen and (max-width: 480px) {}
/******************************************************
HEADER
******************************************************/
header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 9999;
  padding-left: 5%;
  transition: background .3s;
  background: rgba(255, 255, 255, 0.9);
}
#pages header {
  border-bottom: 1px solid #999;
}
header h1 {
  margin: 0;
  padding: 0;
}
header .header-logo {
  max-width: 220px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header .header-logo img {
  max-width: 100%;
}
header .header-right {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header .header-right .inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #dbaaa6;
}
header .header-right a.header-btn {
  padding: 0 1em;
  line-height: 1.4;
  border-right: 2px dotted #7f7e7e;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  flex-wrap: wrap;
}
header .header-right a.header-btn p {
  display: block;
  font-size: 18px;
  width: 100%;
  text-align: center;
  margin: 0;
}
header .header-right .header-tel {
  padding: 0 1em;
  line-height: 1.4;
}
header .header-right .header-tel p.tel {
  font-size: 22px;
  font-weight: bold;
  color: #b0184b;
  padding: 0;
  margin: 0;
}
header .header-right .header-tel p.tel::before {
  font-family: "Font Awesome 5 Free";
  content: '\f095';
  font-weight: bold;
  margin-right: .3em;
}
header .header-right .header-tel .tel-inner {
  font-size: 12px;
  color: #231815;
  display: flex;
  justify-content: center;
  align-items: center;
}
header .header-right .header-tel p.time {
  padding: 0 1em 0 0;
  margin: 0;
}
header .header-right .header-tel p.time::before {
  font-family: "Font Awesome 5 Free";
  content: '\f1da';
  font-weight: bold;
  margin-right: .3em;
}
header .header-right .header-tel p.date {
  padding: 0;
  margin: 0;
}
header .header-right .header-tel p.date::before {
  font-family: "Font Awesome 5 Free";
  content: '\f073';
  font-weight: bold;
  margin-right: .3em;
}
/*** PAGE TOP ***/
.back-to-top {
  position: fixed;
  right: 3%;
  bottom: 3%;
  color: #fff;
  padding: 2rem;
  border-radius: 50%;
  display: inline-block;
  text-decoration: none;
  z-index: 1;
}
.back-to-top:hover {
  color: #fff;
}
.back-to-top::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  width: 60px;
  height: 60px;
  background-color: rgba(0, 0, 0, .6);
  border-radius: 50%;
  z-index: -1;
}
.back-to-top:hover::before {
  background-color: rgba(176, 24, 75, .8);
}
@media screen and (max-width: 480px) {
  .back-to-top {
    right: .7em;
    bottom: 0;
  }
  .back-to-top::before {
    width: 40px;
    height: 40px;
  }
}
/*** HUMBURGER ***/
.hamburger {
  display: block;
  height: 60px;
  margin-left: auto;
  position: relative;
  z-index: 10;
  width: 60px;
  border: none;
  background-color: transparent;
}
.hamburger:hover {
	cursor:pointer
}
.hamburger.-active .hamburger__line {
  background-color: transparent;
}
.hamburger.-active .hamburger__line::before {
  top: 0;
  transform: rotate(45deg);
  background: #fff;
}
.hamburger.-active .hamburger__line::after {
  top: 0;
  transform: rotate(-45deg);
  background: #fff;
}
.hamburger__line {
  display: block;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  background-color: #231815;
  transition: 0.4s;
}
.hamburger__line:before, .hamburger__line:after {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  background-color: #172e59;
  transition: inherit;
}
.hamburger__line:before {
  top: -6px;
}
.hamburger__line:after {
  top: 6px;
}
.header__nav-area {
  color: #fff;
  position: fixed;
  top: 0;
  left: -100%;
  z-index: 9;
  height: 100vh;
  width: 100%;
  visibility: hidden;
  overflow: auto;
  padding-top: 40px;
  background-color: rgba(0, 0, 0, .8);
  transition: 0.4s;
}
.header__nav-area.-active {
  left: 0;
  visibility: visible;
}
.global-navigation {
  padding-top: 40px;
  padding-right: 25px;
  padding-bottom: 120px;
  padding-left: 25px;
}
.global-navigation .header-tel {
  text-align: center;
}
.global-navigation .header-tel img {
  width: 50px;
}
.global-navigation p.tel {
  text-align: center;
}
.global-navigation .tel-inner {
  color: #fff !important;
}
.global-navigation__list {
  list-style: none;
}
.global-navigation__list > li {
  padding-bottom: 20px;
  border-bottom: 2px solid #e7e9ee;
}
.global-navigation__list > li + li {
  margin-top: 20px;
}
.global-navigation__link {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 16px;
  transition: color 0.4s;
}
.global-navigation__link.-accordion {
  position: relative;
  background: none;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 0;
}
.global-navigation__link.-accordion::after {
  content: '';
  display: block;
  height: 12px;
  position: absolute;
  top: 50%;
  right: 5px;
  width: 2px;
  background-color: #ed3242;
  transform: translateY(-50%);
  transition: transform 0.4s;
}
.global-navigation__link.-accordion::before {
  content: '';
  display: block;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  background-color: #ed3242;
  transform: translateY(-50%);
}
.global-navigation__link.-active::after {
  transform: translateY(-50%) rotate(-90deg);
}
.accordion {
  height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: 0.4s;
}
.accordion.-active {
  height: auto;
  padding-top: 30px;
  visibility: visible;
}
.accordion__list {
  list-style: none;
}
.accordion__list li {
  font-size: 14px;
}
.accordion__list li + li {
  margin-top: 21px;
}
.accordion__link {
  color: #fff;
}
@media screen and (max-width: 480px) {
  header .header-logo img {
    max-width: 90%;
  }
  header .header-right a.header-btn {
    padding: 0;
    font-size: 10px;
  }
  header .header-right a.header-btn p {
    font-size: 14px;
  }
  .hamburger {
    height: 40px;
    width: 40px;
  }
  .hamburger__line {
    width: 18px;
  }
}
/******************************************************
CONTAINER
******************************************************/
.container {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto;
  padding: 4em 0;
}
#pages .container {
  margin: 50px auto 0;
}
@media screen and (max-width: 480px) {
  #pages .container {
    margin: 40px auto 0;
  }
}
/******************************************************
TITLE
******************************************************/
.container .ttl {
  margin: 0 0 1em;
  padding: 0 0 0 40px;
  font-size: 30px;
  line-height: 1;
  font-weight: normal;
  position: relative;
}
.container .ttl::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 30px;
  width: 30px;
}
.container .ttl.cube-white::before {
  background: url("../img/cube-white.png") repeat 0 0 / 100%;
}
.container .ttl.cube-red::before {
  background: url("../img/cube-red.png") repeat 0 0 / 100%;
}
.container .ttl.cube-pink::before {
  background: url("../img/cube-pink.png") repeat 0 0 / 100%;
}
/******************************************************
TOP
******************************************************/
/*** TEASER ***/
.scrollDown {
  position: absolute;
  left: 50%;
  bottom: 120px;
  height: 50px;
  z-index: 999;
}
.scrollDown span {
  position: absolute;
  text-align: center;
  padding-left: 4px;
  left: -36px;
  top: -15px;
  color: #fff;
  font-size: .75em;
  letter-spacing: 0.25em;
  border: 1px solid #fff;
  border-radius: 3px 3px 3px 3px;
}
/* 線の描写 */
.scrollDown::after {
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 30px;
  background: #fff;
  animation: upDownEffect 2s ease-in-out infinite;
  opacity: 0;
}
/*線が上から下に動く*/
@keyframes upDownEffect {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 30px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 50px;
    opacity: 0;
  }
}
/*** INFORMATION ***/
.top-info {
  background: #22304f;
  max-height: 400px;
  background-image: radial-gradient(#111 15%, transparent 16%), radial-gradient(#111 15%, transparent 16%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
}
.top-info .container .ttl {
  color: #F0F0F0;
}
.top-info .container iframe {
  width: 100%;
  height: 200px;
  border: 0;
}
.top-info ul {
  list-style: none;
  max-height: 200px;
  overflow: scroll;
  overflow-x: hidden;
}
.top-info ul li {
  color: #fff;
  padding: .7em 0;
  border-bottom: 1px dotted #fff;
}
.top-info ul li .date {
  font-size: 12px;
  color: #a2acbb;
}
.top-info ul li .date a {
  font-size: 12px;
  color: #a2acbb;
}
.top-info ul li .honbun a {
  font-size: 14px;
  color: #fff;
}
.top-info ul li p {
  line-height: 14px;
}
.top-info ul#load-info li .honbun a::after {
  font-family: "Font Awesome 5 Free";
  content: '\f35d';
  font-weight: bold;
  margin: -.2em 0 0 1em;
}
/*** VISION ***/
.top-vision {
  position: relative;
  background: url("../img/top-vision/bg.jpg") no-repeat #dddddd center center / cover;
  text-align: center;
}
/*.top-vision::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  background-image: radial-gradient(rgba(255, 255, 255, .6) 10%, transparent 90%);
  background-color: rgba(255, 255, 255, .3);
  background-position: 0 0;
  background-size: 3px 3px;
}*/
.top-vision .container a p::after{
	font-family: "Font Awesome 5 Free";
    content: '\f35d';
    font-weight: bold;
    margin: -.2em 0 0 1em;
}
.top-vision .container {
  position: relative;
  z-index: 1;
}
.top-vision .container .ttl {
  font-size: 36px;
  color: #8f1a43;
  line-height: 1;
  margin-bottom: .5em;
}
.top-vision .container .icon {
  width: 48px;
  margin-bottom: .5em;
}
.top-vision .container .msg {
  font-size: 20px;
}

@media screen and (max-width: 1024px) {}
@media screen and (max-width:767px) {
  .top-vision .container .ttl {
    font-size: 22px !important;
  }
  .top-vision .container .msg {
    font-size: 17px !important;
  }
}
@media screen and (max-width: 480px) {}
/*** TOP LINKS ***/
.top-links {
  background: #ebedf0;
  padding-bottom: 4em;
}
.top-links .links-wrapper {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}
.top-links .links-wrapper .item {
  width: 24.25%;
  position: relative;
  margin: 1% 0 0 1%;
  border-radius: 3px;
  overflow: hidden;
}
.top-links .links-wrapper .item:nth-child(-n+4) {
  margin-top: 0;
}
.top-links .links-wrapper .item:nth-child(4n+1) {
  margin-left: 0;
}
.top-links .links-wrapper .item a::before {
  opacity: .4;
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.2);
  background-image: radial-gradient(#111 15%, transparent 16%), radial-gradient(#111 15%, transparent 16%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
}
* .top-links .links-wrapper .item a {
  display: block;
  text-decoration: none;
  position: relative;
  width: 100%;
  height: 600px;
  background: #ccc;
}
.top-links .links-wrapper .item h3 {
  z-index: 1;
}
.top-links .links-wrapper .item .photo {
  width: 100%;
  height: 100%;
}
.top-links .links-wrapper .item .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-links .links-wrapper .item h3 {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 5em;
  font-size: 16px;
  line-height: 1.3;
  position: absolute;
  bottom: 0;
  padding: 1em;
  background: #22304f;
  color: #fff;
  font-weight: normal;
}
.top-links .links-wrapper .item a.newwin::after {
  z-index: 1;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 50px;
  width: 50px;
  background: url("../img/top-links/new-win.png") repeat 0 0 / 100%;
}
@media screen and (max-width: 1024px) {
  .top-links .links-wrapper .item a {
    height: 450px;
  }
}
@media screen and (max-width: 767px) {
  .top-links .links-wrapper {
    justify-content: space-between;
  }
  .top-links .links-wrapper .item {
    width: 49.2537313433%;
    margin: 0 0 1.4925373134%;
  }
  .top-links .links-wrapper .item a {
    height: 400px;
  }
}
@media screen and (max-width: 480px) {
  .top-links .links-wrapper .item h3 {
    font-size: 12px;
  }
  .top-links .links-wrapper .item a {
    height: 340px;
  }
}
/*** BANNER ***/
.bnr {
  width: 100%;
}
/*** FOOTER ***/
footer {
  border-top: 5px solid #b0184b;
  /*background: #22304f;*/
  background: #2E4364;
  padding-bottom: 4em;
  color: #fff;
}
footer a {
  color: #fff;
}
.footer-innner {
  display: flex;
}
.footer-innner .f-logo-wrapper {
  margin-right: 6em;
}
.footer-innner img {
  max-width: 300px;
}
.footer-innner .f-logo-wrapper p.tel {
  font-size: 22px;
  font-weight: bold;
  color: #b0184b;
  padding: 0;
  margin: 0;
}
.footer-innner .f-logo-wrapper p.tel::before {
  font-family: "Font Awesome 5 Free";
  content: '\f095';
  font-weight: bold;
  margin-right: .3em;
}
.footer-innner .f-logo-wrapper p.time::before {
  font-family: "Font Awesome 5 Free";
  content: '\f1da';
  font-weight: bold;
  margin-right: .3em;
}
.footer-innner .f-logo-wrapper p.date::before {
  font-family: "Font Awesome 5 Free";
  content: '\f073';
  font-weight: bold;
  margin-right: .3em;
}
.footer-innner .copyright {
  font-size: 10px;
  margin-top: 2em;
}
.footer-innner .f-nav {
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer-innner .f-nav a::before {
  font-family: "Font Awesome 5 Free";
  content: '\f1b2';
  font-weight: bold;
  margin-right: .3em;
}
@media screen and (max-width: 767px) {
  .footer-innner {
    display: block;
  }
}
/******************************************************
FLOW
******************************************************/
.flow ol {
  list-style: none;
  counter-reset: number;
}
.flow ol li {
  position: relative;
  padding: 1em 0;
  border-bottom: 1px solid #999;
  display: flex;
}
.flow ol li::before {
  counter-increment: number;
  content: counter(number);
  width: 24px;
  height: 24px;
  background: #ebedf0;
  border: 1px solid #c9c8c8;
  border-radius: 50%;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  margin: .1em .5em auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
/******************************************************
DESIGNATED
******************************************************/
.designated .greeting {
  background: url("../img/designated/greeting-01.png"), url("../img/designated/greeting-02.png"), linear-gradient(30deg, #ffeded 0, #fffcfc 70%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: 50%, 30%, 100%;
  background-position: top right, bottom left, top;
}
.designated .inc-wrapper {
  display: flex;
  align-items: center;
  margin: 3em 0 2em;
}
.designated .inc-wrapper img {
  width: 160px;
  margin-right: 2em;
}
.designated .inc-wrapper .read {
  position: relative;
  display: inline-block;
  font-weight: normal;
  font-size: 14px;
  color: #b0184b;
  padding: .3em 1em;
  margin: 0 0 .5em;
}
.designated .inc-wrapper .read::before, .designated .inc-wrapper .read::after {
  position: absolute;
  content: '';
  top: calc(50% - 10px);
  height: 20px;
  border-left: #b0184b solid 2px;
}
.designated .inc-wrapper .read::before {
  left: 0;
  transform: rotate(-30deg);
}
.designated .inc-wrapper .read::after {
  right: 0;
  transform: rotate(30deg);
}
.designated .inc-wrapper .cap {
  font-size: 14px;
  font-weight: normal;
  margin: 0 0 .9em;
}
.designated .inc-wrapper .cap .school {
  padding: .2em .5em;
  margin-right: .3em;
  border-radius: 5px;
  background: #9cacc5;
  color: #fff;
}
.designated .inc-wrapper .inc {
  font-size: 34px;
  font-weight: normal;
  line-height: 1;
}
.designated .honbun {
  padding-right: 3em;
  padding-left: 3em;
  line-height: 3em;
  background-image: linear-gradient(transparent 0, transparent 97%, #ccc 100%);
  background-size: 100% 3em;
}
.designated .features {
  text-align: center;
  padding: 0 0 5em;
}
.designated .features img {
  width: 70%;
}
.designated .features .item-wrapper {
  position: relative;
  border: 3px solid #9cacc5;
  border-radius: 5px;
  margin-bottom: 4em;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.designated .features .item-wrapper .badge {
  position: absolute;
  top: -50px;
  left: -50px;
  height: 100px;
  width: 100px;
  border-radius: 50%;
  background: #b0184b;
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(-45deg);
}
.designated .features .item-wrapper .marker {
  background: linear-gradient(transparent 50%, #fff000 50%);
}
.designated .features .item-wrapper .item-mds {
  background: #9cacc5;
  display: flex;
  justify-content: center;
  align-items: center;
}
.designated .features .item-wrapper .item-mds h3 {
  font-size: 180%;
  font-weight: normal;
  margin: 0;
  padding: .5em;
}
.designated .features .item-wrapper .item-mds {
  width: 100%;
}
.designated .features .item-wrapper .item {
  width: 33.33%;
  margin: 1em 0;
  padding: .5em 1em;
}
.designated .features .item-wrapper .item p {
  margin: 0 0 .5em;
  padding: 0;
}
.designated .features .item-wrapper .item h3 {
  line-height: 1.4;
}
.designated .features .item-wrapper .item.border {
  border-right: 2px dotted #9cacc5;
}
.designated .features .item-wrapper .item h3 {
  font-weight: normal;
  margin-bottom: 1em;
}
.designated .features .item-wrapper .item h3 p {
  font-size: 26px;
  font-weight: bold;
  margin: 0;
}
.designated .features .item-wrapper .item a img {
  width: 50%;
}
.designated .features .item-wrapper .item a img:hover {
  opacity: 0.5;
  transition: 0.3s;
}
.designated .features .item-wrapper .item .gray-back {
  background: #eee;
  padding: .2em;
}
.designated .features .item-wrapper .item .voice {
  text-align: left;
  line-height: 1.4;
  margin-bottom: 1em;
  font-size: 14px;
  display: flex;
  align-content: center;
}
.designated .features .item-wrapper .item .voice .face {
  width: 100px;
  height: auto;
}
.designated .features .item-wrapper .item .voice img {
  max-width: 100%;
}
.designated .features .item-wrapper .item .voice p {
  width: calc(100% - 100px);
}
@media screen and (max-width: 767px) {
  .designated .inc-wrapper {
    display: block;
    margin: 3em 0 2em;
    text-align: center;
  }
  .designated .honbun {
    padding-right: 1em;
    padding-left: 1em;
    line-height: 2em;
    background-size: 100% 2em;
  }
  .designated .features .item-wrapper {
    display: block;
  }
  .designated .features .item-wrapper .badge {
    top: -60px;
    left: -20px;
    width: 90px;
    height: 90px;
    font-size: 12px;
  }
  .designated .features .item-wrapper .item-mds h3 {
    font-size: 120%;
    line-height: 1.4;
    padding: .5em 3em;
  }
  .designated .features .item-wrapper .item {
    width: 95%;
    margin: 0 auto;
    padding: 1em .5em;
    text-align: left;
  }
  .designated .features .item-wrapper .item.border {
    border-bottom: 2px dotted #9cacc5;
    border-right: none;
  }
  .designated .features img {
    width: 100%;
  }
  .designated .features .item-wrapper .item.sp-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .designated .features .item-wrapper .sp-item h3, .designated .features .item-wrapper .sp-item figure {
    width: 50%;
    text-align: left !important;
  }
  .designated .features .item-wrapper .item h3 p {
    font-size: 16px;
    padding-right: .5em;
  }
}
@media screen and (max-width: 480px) {
  .designated .greeting {
    background-size: 100%, 50%, 100%;
  }
  .designated .honbun {
    padding-right: .5em;
    padding-left: .5em;
    line-height: 2em;
    background-size: 100% 2em;
  }
}
/******************************************************
ACCESS
******************************************************/
.access .map .g-map {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}
.access .map .g-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.access .route {
  display: flex;
  justify-content: space-between;
  margin-top: 3em;
}
.access .route .item {
  width: 48%;
}
.access .route .item h4 .fas {
  font-size: 140%;
  color: #b0184b;
}
.access .route .item img {
  max-width: 100%;
  padding: 2px;
  border: 1px solid #999;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .access .route {
    display: block;
  }
  .access .route .item {
    width: 100%;
    margin: 0 0 2em;
  }
}
/*========= MODAL ===============*/
img.modal {
  cursor: pointer;
}
#grayDisplay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100% !important;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
}
#grayDisplay img {
  position: absolute;
  top: auto;
  bottom: 3em;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 90%;
  max-height: 80%;
  height: 90%;
  object-fit: contain;
}
/*========= ANIME ===============*/
.anim-box.poyoyon2.is-animated { /*未使用*/
  animation: poyoyon2 1.5s ease-in-out infinite;
}
@keyframes poyoyon2 { /*未使用*/
  0% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  15% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    transform: scale(1.02, 1.0) translate(0, 8px);
  }
  50% {
    transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    transform: scale(1.0, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}
.animate__animated {
  visibility: hidden;
  opacity: 0;
  transition: 1s;
}
.animate__bounce {
  visibility: visible;
  opacity: 1;
}
.animate__zoomIn { /*未使用*/
  visibility: visible;
  opacity: 1;
}
/*========= FLOAT ===============*/
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
.f-left {
  float: left;
}
.f-right {
  float: right;
}
/*========= BALLOON ===============*/
.balloon1-left {
  position: relative;
  display: inline-block;
  margin: 1.5em 0 1.5em 15px;
  padding: 1em !important;
  color: #555;
  font-size: 14px;
  background: #e0edff;
}
.balloon1-left:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #e0edff;
}
.balloon1-right {
  position: relative;
  display: inline-block;
  margin: 1.5em 15px 1.5em 0;
  padding: 1em !important;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #e0edff;
}
.balloon1-right:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #e0edff;
}