@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto&family=Sora:wght@400;700&display=swap');
:root {
  --primary: rgb(49, 108, 244);
  --dark: #000;
  --body: #000;
  /* --orange: rgb(221, 155, 94); */
  --box-shadow: 0 8px 22px rgba(0, 0, 0, 0.2);
}

body {
  font-family: 'Sora', 'sans-serif';
  line-height: 1.7;
  color: var(--body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.display-4 {
  color: var(--primary);
  font-weight: 700;
}
a {
  color: var(--dark);
  text-decoration: none;
}
.navbar {
  background-color: rgb(49, 108, 244);
}
.btn {
  padding: 14px 18px;
  border-width: 2px;
  border-radius: 0;
}

section {
  padding-top: 60px;
  padding-bottom: 120px;
}

.card-effect {
  box-shadow: var(--box-shadow);
  background-color: #dff6ff;
  padding: 25px;
  transition: all 0.35s ease;
}

.card-effect:hover {
  box-shadow: none;
  transform: translateY(5px);
}

.iconbox {
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--primary);
  color: white;
  font-size: 32px;
  border-radius: 100px;
  flex: none;
}

.service {
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.service::after {
  content: '';
  position: absolute;
  top: -100%;
  left: 0;
  background-color: var(--primary);
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0;
  transition: all 0.4s ease;
}

.service:hover h5,
.service:hover p {
  color: white;
}

.service:hover .iconbox {
  background-color: #fff;
  color: var(--primary);
}

.service:hover::after {
  opacity: 1;
  top: 0;
}

/* 黒板風　2 */
.kokuban-s2 {
  position: relative;
  margin: 2em auto;
  padding: 1em;
  width: 90%; /* ボックス幅 */
  background: #006633; /* ボックス背景色 */
  color: #fff; /* 文章色 */
  border: 8px solid #b2771f; /* 枠線 */
  border-radius: 3px; /* 角の丸み */
  box-shadow: 0 0 5px #333, 0 0 5px #555 inset;
}
.kokuban-s2::before,
.kokuban-s2::after {
  position: absolute;
  content: ”;
  bottom: 0;
}
.kokuban-s2::before {
  width: 20px;
  right: 10px;
  border: solid 3px #ffff00; /*チョーク（黄色）*/
  border-radius: 3px 2px 0 2px;
}
.kokuban-s2::after {
  width: 15px;
  right: 45px;
  border: solid 3px #fff; /*チョーク（白） */
  border-radius: 8px 5px 2px 5px;
}
/*Chat Bubbles　CSS Setting*/
/* 全体のスタイル */
.voice {
  margin-bottom: 40px;
}
/* 左画像 */
.voice-img-left {
  margin-left: 4px;
  margin-top: -1px;
  float: left;
  width: 60px;
  height: 60px;
}
/* 右画像 */
.voice-img-right {
  margin-right: 4px;
  margin-top: -1px;
  float: right;
  width: 60px;
  height: 60px;
}
.voice figure img {
  width: 100%;
  height: 100%;
  border: 2px solid #eee;
  border-radius: 50%;
  margin: 0;
}
/* 画像の下のテキスト */
.voice-img-description {
  padding: 5px 0 0;
  font-size: 10px;
  text-align: center;
}
/* 左からの吹き出しテキスト */
.voice-text-right {
  color: #444;
  position: relative;
  margin-left: 100px;
  padding: 1.2em;
  border: 3px solid #eee;
  background-color: #fff;
  border-radius: 5px;
}
/* 右からの吹き出しテキスト */
.voice-text-left {
  position: relative;
  margin-right: 100px;
  padding: 1.2em;
  border: 3px solid #eee;
  background-color: #fff;
  border-radius: 5px;
}
p.voice-text {
  margin: 0 0 8px;
  font-weight: bold;
}
p.voice-text:last-child {
  margin-bottom: 0px;
}
/* 左の三角形を作る */
.voice-text-right:before {
  position: absolute;
  content: '';
  border: 10px solid transparent;
  border-right: 10px solid #eee;
  top: 15px;
  left: -20px;
}
.voice-text-right:after {
  position: absolute;
  content: '';
  border: 10px solid transparent;
  border-right: 10px solid #fff;
  top: 15px;
  left: -16px;
}
/* 右の三角形を作る */
.voice-text-left:before {
  position: absolute;
  content: '';
  border: 10px solid transparent;
  border-left: 10px solid #eee;
  top: 15px;
  right: -23px;
}
.voice-text-left:after {
  position: absolute;
  content: '';
  border: 10px solid transparent;
  border-left: 10px solid #fff;
  top: 15px;
  right: -19px;
}
/* 回り込み解除 */
.voice:after,
.voice:before {
  clear: both;
  content: '';
  display: block;
}
/* ページ内リンクの位置調整 */
/* section {
  margin-top: -60px;
  padding-top: 60px;
} */
