@charset "UTF-8";

/*!  02_base
================================================ */
body {
  -webkit-text-size-adjust: 100%;
  position: relative;
  width: 100%;
  width: 100%;
  min-width: 320px;
  color: #000;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: justify;
  font-family: 'Noto Sans JP', sans-serif;
  user-select: none;
}

body a {
  color: #000;
  text-decoration: none;
}

body a[href^="tel:"] {
  pointer-events: none;
}

/* body a:active {
	-webkit-animation: pulse 0.2s 1;
	animation: shad26 0.2s 1;
  opacity: 0.8;
}
@keyframes shad26 {
	0% {box-shadow: 0 0 0 0 #fff;}
	70% {box-shadow: 0 0 0 25px rgb(39 172 217 / 0%);}
	100% {box-shadow: 0 0 0 0 rgb(39 172 217 / 0%);}
} */
body li:active {
  -webkit-animation: pulse 0.2s 1;
  animation: shad26 0.2s 1;
  opacity: 0.8;
}

@keyframes shad26 {
  0% {
    box-shadow: 0 0 0 0 #fff;
  }

  70% {
    box-shadow: 0 0 0 25px rgb(39 172 217 / 0%);
  }

  100% {
    box-shadow: 0 0 0 0 rgb(39 172 217 / 0%);
  }
}

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

.txt-l {
  text-align: left;
}

.txt-r {
  text-align: right;
}

.txt-c {
  text-align: center;
}

.notice {
  color: #b8272d;
}

/*=============================================================
 01_base
=============================================================*/
/*=============================================================
 02_layout
=============================================================*/
/*!  受付
================================================ */
/* .reception {
  background: url(../images/bg01.jpg) no-repeat 50% 50%/cover;
} */

.reception .container {
  width: 100%;
  margin: 0 auto;
  padding: 72px 0 55px;
}

.reception .content-inner {
  width: 100%;
  margin: 0 auto;
}

h1 {
  position: relative;
  padding-left: 25px;
  font-size: 4.1rem;
  color: #fff;
  display: block;
  width: 17em;
  text-align: center;
  margin: 0 auto 50px;
}

h1:before {
  position: absolute;
  content: '';
  bottom: -3px;
  left: 0;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 15px transparent;
  border-bottom: solid 15px rgb(119, 195, 223);
}

h1:after {
  position: absolute;
  content: '';
  bottom: -3px;
  left: 10px;
  width: 100%;
  border-bottom: solid 3px rgb(119, 195, 223);
}

.reception .txt {
  color: #fff;
  font-size: 2.5rem;
  text-align: center;
}

.reception .dept {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 33px auto 0;
}

.reception .dept li {
  width: 20%;
  min-width: 330px;
  margin: 0 25px 35px;
  color: #fff;
  font-size: 2.7rem;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.35);
  border-radius: 10px;
  border: 2px #fafafa solid;
  padding-bottom: 10px;
}

.reception .dept li a {
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
  color: #fff;
}

.reception .dept li a.link-logo {
  margin-top: 30px;
  margin-bottom: 10px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
}

.reception .dept li a.link-logo img {
  vertical-align: middle;
  max-height: 60px;
  max-width: 90%;
}

.reception .btn {
  width: 221px;
  min-height: 52px;
  margin: 10px 35px 0 auto;
  overflow: hidden;
  color: #fff;
  font-size: 2.1rem;
  text-align: center;
  text-shadow: black 3px 0px 0px, black 2.83487px 0.981584px 0px, black 2.35766px 1.85511px 0px, black 1.62091px 2.52441px 0px, black 0.705713px 2.91581px 0px, black -0.287171px 2.98622px 0px, black -1.24844px 2.72789px 0px, black -2.07227px 2.16926px 0px, black -2.66798px 1.37182px 0px, black -2.96998px 0.42336px 0px, black -2.94502px -0.571704px 0px, black -2.59586px -1.50383px 0px, black -1.96093px -2.27041px 0px, black -1.11013px -2.78704px 0px, black -0.137119px -2.99686px 0px, black 0.850987px -2.87677px 0px, black 1.74541px -2.43999px 0px, black 2.44769px -1.73459px 0px, black 2.88051px -0.838247px 0px;
}

.reception .btn a {
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 10px 0 10px;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: inset 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
  color: #fff;
}

.reception .btn a::before {
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.88);
  content: "";
  filter: blur(13px);
}

/*!  課
================================================ */
/* .sec {
  background: url(../images/bg02.jpg) no-repeat 50% 50%/cover;
} */
.sec .container {
  width: 100%;
  max-width: 948px;
  margin: 0 auto;
  padding: 72px 0 55px;
}

.sec .btn {
  width: 239px;
  min-height: 56px;
  overflow: hidden;
  color: #fff;
  font-size: 2.3rem;
  text-align: center;
}

.sec .btn a {
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 10px 0 10px;
  overflow: hidden;
  border-radius: 10px;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.5);
}

a.btn-tag {
  color: #fff;
  border-bottom: 5px solid #db9014;
  background: #f39800;
}

a.btn-tag:before {
  border-right: 2px solid rgba(255, 255, 255, .5);
}

a.btn-tag:active {
  margin-top: 3px;
  border-bottom: 2px solid #db9014;
  background: #ffa50e;
}

.sec .dept {
  width: 921px;
  margin: 63px auto 0;
}

.sec .dept li {
  margin-bottom: 40px;
  text-align: center;
}

.sec .dept li.logo-area {
  text-align: center;
  margin-bottom: 10px;
}

.sec .dept li.logo-area img {
  max-height: 80px;
}

.sec .dept li.company-name {
  color: #fff;
  font-size: 24px;
}

.sec .dept li a::before {
  content: "";
  display: inline-block;
  width: 1em;
  /* スマホで見た時の幅 */
  height: 1em;
  /* スマホで見た時の高さ */
  background: url(../images/icon-calling.svg) no-repeat;
  background-size: contain;
  margin-right: 0.5em;
  vertical-align: middle;
}

/*!  個人
================================================ */
/* .personal {
  background: url(../images/bg02.jpg) no-repeat 50% 50%/cover;
} */

.personal .container {
  width: 100%;
  max-width: 815px;
  margin: 0 auto;
  padding: 82px 0 55px;
}

.personal .btn {
  display: flex;
  justify-content: space-between;
  width: 435px;
  margin-bottom: 47px;
}

.personal .btn li {
  width: 204px;
  min-height: 48px;
  overflow: hidden;
  color: #fff;
  font-size: 1.9rem;
  text-align: center;
  text-shadow: black 3px 0px 0px, black 2.83487px 0.981584px 0px, black 2.35766px 1.85511px 0px, black 1.62091px 2.52441px 0px, black 0.705713px 2.91581px 0px, black -0.287171px 2.98622px 0px, black -1.24844px 2.72789px 0px, black -2.07227px 2.16926px 0px, black -2.66798px 1.37182px 0px, black -2.96998px 0.42336px 0px, black -2.94502px -0.571704px 0px, black -2.59586px -1.50383px 0px, black -1.96093px -2.27041px 0px, black -1.11013px -2.78704px 0px, black -0.137119px -2.99686px 0px, black 0.850987px -2.87677px 0px, black 1.74541px -2.43999px 0px, black 2.44769px -1.73459px 0px, black 2.88051px -0.838247px 0px;
}

.personal .btn li a {
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 10px 0 10px;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: inset 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
  color: #fff;
}

.personal .btn li a::before {
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.88);
  content: "";
  filter: blur(13px);
}

.personal .personal01, .personal .personal02 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto 0;
}

.personal .personal01 li, .personal .personal02 li {
  width: 260px;
  min-height: 81px;
  margin-bottom: 25px;
  color: #fff;
  font-size: 2.9rem;
  text-shadow: black 3px 0px 0px, black 2.83487px 0.981584px 0px, black 2.35766px 1.85511px 0px, black 1.62091px 2.52441px 0px, black 0.705713px 2.91581px 0px, black -0.287171px 2.98622px 0px, black -1.24844px 2.72789px 0px, black -2.07227px 2.16926px 0px, black -2.66798px 1.37182px 0px, black -2.96998px 0.42336px 0px, black -2.94502px -0.571704px 0px, black -2.59586px -1.50383px 0px, black -1.96093px -2.27041px 0px, black -1.11013px -2.78704px 0px, black -0.137119px -2.99686px 0px, black 0.850987px -2.87677px 0px, black 1.74541px -2.43999px 0px, black 2.44769px -1.73459px 0px, black 2.88051px -0.838247px 0px;
}

.personal .personal01 li a, .personal .personal02 li a {
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 20px 23px 17px;
  overflow: hidden;
  border-radius: 5px;
  box-shadow: inset 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
  color: #fff;
}

.personal .personal01 li a::before, .personal .personal02 li a::before {
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.88);
  content: "";
  filter: blur(13px);
}

.personal .personal01 li:not(:nth-of-type(3n)), .personal .personal02 li:not(:nth-of-type(3n)) {
  margin-right: 17px;
}

.personal .personal02 li {
  margin-right: 17px;
}

.personal .personal02 li:nth-of-type(2n) {
  margin-right: 206px;
}

/*!  呼び出し
================================================ */
/* .call {
  background: url(../images/bg02.jpg) no-repeat 50% 50%/cover;
} */

.call .container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 899px;
  height: 100vh;
  margin: 0 auto;
}

.call .panel {
  box-sizing: border-box;
  width: 100%;
  min-height: 611px;
  padding: 50px 0 30px;
  border-radius: 10px;
  background-color: #C7C7C7;
}

.call .panel figure {
  width: 294px;
  margin: 0 auto 37px;
}

.call .panel .txt {
  margin-bottom: 35px;
  font-size: 3.5rem;
  line-height: 1.45;
  text-align: center;
}

.call .panel .end-call {
  width: 62px;
  margin: 0 auto;
}


/***在室/不在ボタン***/

li p {
  margin-top: 1em;
  margin-bottom: 1em;
}

li.zai .button-title::after {
  content: "在室";
  width: 100%;
  display: block;
  background-color: #4bf361cb;
  margin: 25px 0;
}

li.fuzai a {
  pointer-events: none;
}

li.fuzai .button-title::after {
  content: "不在";
  width: 100%;
  display: block;
  background-color: #f34b59cb;
  margin: 25px 0;
}

.reception .dept li.other {
  border-radius: 50%;
  overflow: hidden;
  min-width: auto;
  max-width: 300px;
}

.to_map {
  text-align: left;
  margin-left: 20px;
}