@charset "UTF-8";
/* アニメーションベンダープレフィックス込み指定 */
/* アニメーションベンダープレフィックス込み指定 */
html {
  font-size: 16px;
}

body {
  font-family: "Zen Maru Gothic", "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.6;
  letter-spacing: 0.1rem;
  color: #2a2a2a;
  font-feature-settings: "palt";
}
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}
body.under main {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)), url(../img/bg_square.jpg) repeat top;
}

main {
  overflow: hidden;
}

a {
  color: #2a2a2a;
  text-decoration: none;
}

img {
  max-width: 100%;
}

#loader {
  width: 100%;
  height: 100%;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
}
#loader .load_logo {
  width: 180px;
}
@media all and (max-width: 639px) {
  #loader .load_logo {
    width: 120px;
  }
}
#loader .load_logo img {
  width: 100%;
}

header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  transition: 0.5s ease;
  background: linear-gradient(to bottom, #e7ffce, #fff);
  /* overflow: hidden; */
}
@media all and (max-width: 1150px) {
  header {
    top: 0;
    overflow: visible;
  }
}
header #header {
  width: 1200px;
  max-width: 100%;
  margin: auto;
}
@media all and (max-width: 1150px) {
  header #header {
    padding: 0.5rem;
    border-radius: 0;
  }
}
header #header .head_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media all and (max-width: 1150px) {
  header #header .head_inner {
    margin-bottom: 0;
  }
}
header #header #logo {
  width: 140px;
  transition: 0.3s ease;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 1200px) {
  header #header #logo {
    width: 60px;
  }
}
@media all and (max-width: 1150px) {
  header #header #logo {
    width: 60px;
  }
}
@media all and (max-width: 639px) {
  header #header #logo {
    width: 110px;
  }
}
header #header #logo a {
  display: block;
  transition: 0.3s ease;
}
header #header .head_contact {
  text-align: center;
  padding-right: 80px;
  margin-left: 1rem;
  position: relative;
  top: 0.5rem;
}
@media all and (max-width: 1150px) {
  header #header .head_contact {
    display: none;
  }
}
header #header .head_contact .head_deco1, header #header .head_contact .head_deco2 {
  position: absolute;
}
header #header .head_contact .head_deco1 {
  width: 70px;
  top: 0;
  right: 0;
  transform: rotate(-10deg);
}
header #header .head_contact .head_deco2 {
  width: 100px;
  top: 0px;
  left: -110px;
  transform: rotate(-25deg);
}
header #header .head_contact p {
  font-weight: 600;
  margin-bottom: 5px;
}
header #header .head_contact .head_sns {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
header #header .head_contact .head_sns li {
  margin-left: 1rem;
}
header #header .head_contact .head_sns li a {
  font-size: 1.5rem;
}
header #header .head_contact .head_sns .head_insta a {
  color: #cf2e92;
}
header #header .head_contact .head_sns .head_fb a {
  color: #3b5998;
}
header #header .head_contact .head_link {
  display: flex;
  align-items: center;
      justify-content: space-around;
}
header #header .head_contact .head_link .tel_btn {
  margin-right: 10px;
}
header #header .head_contact .head_link .tel_btn a {
  color: #1258d9;
  font-size: 1.5rem;
  font-weight: 600;
}
header #header .head_contact .head_link .tel_btn a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f87b";
  font-weight: 900;
  margin-right: 5px;
}
header #header .head_contact .head_link .mail_btn a {
  padding: 0.5rem 1rem;
  background: #d03721;
  border-radius: 5px;
  color: #fff;
}
header #header .head_contact .head_link .mail_btn a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 5px;
}
header #header .head_contact .head_link .insta {
  margin-left: 10px;
}
header #header .sp_txt {
  display: none;
  margin-top: 2.5rem;
  font-size: 1.25rem;
  font-weight: 600;
}
@media all and (max-width: 639px) {
  header #header .sp_txt {
    display: block;
  }
}
header.upMove {
  position: fixed;
  width: 100%;
  animation: upAnime 0.8s forwards;
}
header.downMove {
  position: fixed;
  width: 100%;
  animation: downAnime 0.8s forwards;
}
header.fixed #header .head_inner {
  margin-bottom: 0;
}

@keyframes upAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}
@keyframes downAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes navAnim {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
#nav_menu {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 20;
  transition: ease 0.3s;
}
@media all and (max-width: 1150px) {
  #nav_menu {
    padding: 0;
  }
}
#nav_menu nav {
  width: 100%;
}
@media all and (max-width: 1150px) {
  #nav_menu nav {
    height: 100vh;
    padding: 65px 0 2rem;
    text-align: center;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s ease;
    background: rgba(255, 255, 255, 0.95);
    z-index: 98;
    will-change: transform;
    overflow-y: scroll;
  }
}
#nav_menu nav ul {
  display: flex;
  justify-content: space-around;
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul {
    display: block;
    border-top: 4px solid #1258d9;
  }
}
#nav_menu nav>ul>li {
  text-align: center;
  margin: 0 0.5rem;
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li {
    text-align: left;
    border-bottom: 1px solid #ddd;
    margin: 0;
  }
}
#nav_menu nav ul li a {
  display: block;
  padding: 0.5rem;
  color: #1eaa39;
  font-weight: 600;
  position: relative;
  z-index: 1;
  transition: ease 0.5s;
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li a {
    padding: 1rem 2rem;
    position: relative;
  }
  #nav_menu nav ul li a:after {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%);
  }
}
#nav_menu nav ul li a span {
  display: block;
  text-align: center;
  color: #d03721;
  font-weight: 600;
  font-size: 0.5rem;
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li a span {
    display: none;
  }
}
#nav_menu nav ul li.dropdown {
  position: relative;
  z-index: 1;
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li.dropdown a {
    display: inline-block;
  }
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li.dropdown a:after {
    display: none;
  }
}
#nav_menu nav ul li.dropdown ul {
  display: block;
  width: 200%;
  position: absolute;
  top: calc(100% + 1rem);
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  /* background: #d03721;
  border-radius: 10px; */
  transition: 0.5s ease;
}
#nav_menu nav ul li.dropdown ul li {
  background: #d03721;
  border-radius: 10px;
  transition: 0.5s ease;
}
#nav_menu nav ul li.dropdown ul li:first-child {
  border-radius: 10px 10px 0 0;
}
#nav_menu nav ul li.dropdown ul li:last-child {
  border-radius: 0 0 10px 10px;
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li.dropdown ul {
    width: 100%;
    display: none;
    position: static;
    opacity: 1;
    visibility: visible;
    transition: none;
    transform: none;
    border-radius: 0;
  }
  #nav_menu nav ul li.dropdown ul li {
    background: #d03721;
    border-radius: 0 !important;
  }
}
#nav_menu nav ul li.dropdown ul:before {
  content: "";
  display: block;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #1258d9;
  border-left: 10px solid transparent;
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li.dropdown ul:before {
    display: none;
    transform: none;
  }
}
#nav_menu nav ul li.dropdown ul li {
  margin-left: 0;
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li.dropdown ul li {
    border-bottom: 0;
  }
}
#nav_menu nav ul li.dropdown ul li a {
  display: block;
  color: #fff;
  border-bottom: 1px solid #fff;
  padding: 1rem;
  transition: 0.5s ease;
  font-size: 0.9rem;
}
#nav_menu nav ul li.dropdown ul li:hover {
  background: #3073ee;
}
#nav_menu nav ul li.dropdown ul li:last-of-type a {
  border-bottom: 0;
}
#nav_menu nav ul li.dropdown:hover ul {
  opacity: 1;
  visibility: visible;
}
#nav_menu nav ul li.dropdown .drop_arw {
  display: none;
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li.dropdown .drop_arw {
    display: block;
    position: absolute;
    top: 30px;
    right: 1.875rem;
    transform: translateY(-50%);
  }
}
#nav_menu nav ul li.dropdown .drop_arw:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0d7";
  font-weight: 900;
}
#nav_menu nav ul li.dropdown.open .drop_arw {
  transform: translateY(-50%) rotate(180deg);
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li.mega_menu {
    position: relative;
  }
}
#nav_menu nav ul li.mega_menu:hover > a {
  background: #d03721;
  color: #fff;
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li.mega_menu:hover > a {
    background: transparent;
    color: #d03721;
  }
}
#nav_menu nav ul li.mega_menu:hover > a span {
  color: #fff;
}
#nav_menu nav ul li.mega_menu ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 1rem;
  position: absolute;
  top: 100%;
  left: 0;
  opacity: 0;
  visibility: hidden;
  background-color: #d03721;
  transition: ease 0.3s;
  z-index: 1;
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li.mega_menu ul {
    display: none;
    position: static;
    opacity: 1;
    visibility: visible;
    transition: none;
    transform: none;
    padding: 0;
  }
}
#nav_menu nav ul li.mega_menu ul li {
  width: 25%;
  flex: inherit;
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li.mega_menu ul li {
    width: auto;
  }
}
#nav_menu nav ul li.mega_menu ul li a {
  color: #fff;
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li.mega_menu ul li a figure {
    display: none;
  }
}
#nav_menu nav ul li.mega_menu ul.last {
  left: inherit;
  right: 0;
}
#nav_menu nav ul li.mega_menu:hover ul {
  opacity: 1;
  visibility: visible;
}
#nav_menu nav ul li.mega_menu .drop_arw {
  display: none;
}
@media all and (max-width: 1150px) {
  #nav_menu nav ul li.mega_menu .drop_arw {
    display: block;
    position: absolute;
    top: 24px;
    right: 1rem;
    transform: translateY(-50%);
  }
}
#nav_menu nav ul li.mega_menu .drop_arw:before {
  font-family: "Font Awesome 5 Free";
  content: "\f13a";
  font-weight: 900;
}
#nav_menu nav ul li.mega_menu.open .drop_arw {
  transform: translateY(-50%) rotate(180deg);
}
#nav_menu nav .nav_contact, #nav_menu nav .nav_worker {
  display: none;
}
@media all and (max-width: 1150px) {
  #nav_menu nav .nav_contact, #nav_menu nav .nav_worker {
    display: block;
  }
  #nav_menu nav .nav_contact a, #nav_menu nav .nav_worker a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 2rem;
  }
  #nav_menu nav .nav_contact a:after, #nav_menu nav .nav_worker a:after {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
  }
}
#nav_menu nav .nav_contact a {
  background: #005d8e;
  color: #fff;
}
#nav_menu nav .nav_worker a {
  background: #009e92;
  color: #fff;
}
#nav_menu #nav_toggle {
  display: none;
  width: 2rem;
  height: 1.5rem;
  padding: 0.5rem;
  position: fixed;
  top: 1.5rem;
  right: 1rem;
  z-index: 99;
}
#nav_menu #nav_toggle span {
  display: inline-block;
  width: 100%;
  height: 2px;
  background: #2a2a2a;
  position: absolute;
  transform: translateY(-50%);
  transition: ease 0.3s;
}
#nav_menu #nav_toggle span:nth-of-type(1) {
  top: 0;
  left: 0;
}
#nav_menu #nav_toggle span:nth-of-type(2) {
  top: 50%;
  left: 0;
}
#nav_menu #nav_toggle span:nth-of-type(3) {
  top: 100%;
  left: 0;
}
@media all and (max-width: 1150px) {
  #nav_menu #nav_toggle {
    display: block;
  }
}
#nav_menu.open nav {
  opacity: 1;
  visibility: visible;
}
#nav_menu.open #nav_toggle span:nth-of-type(1) {
  top: 50%;
  transform: translateY(-50%) rotate(-135deg);
}
#nav_menu.open #nav_toggle span:nth-of-type(2) {
  width: 0;
  opacity: 0;
}
#nav_menu.open #nav_toggle span:nth-of-type(3) {
  top: 50%;
  transform: translateY(-50%) rotate(135deg);
}
#nav_menu .nav_contact {
  display: none;
}
@media all and (max-width: 1150px) {
  #nav_menu .nav_contact {
    display: block;
  }
}
#nav_menu .nav_contact ul li {
  text-align: center;
  border-bottom: 0;
}
#nav_menu .nav_contact ul li.nav_tel {
  margin: 1rem 0;
}
#nav_menu .nav_contact ul li.nav_tel a {
  display: block;
  padding: 1rem;
  background: linear-gradient(135deg, #1258d9, #33e6fb);
  color: #fff;
  border-radius: 10px;
  font-size: 1rem;
}
#nav_menu .nav_contact ul li.nav_mail a {
  display: block;
  padding: 1rem;
  background: linear-gradient(135deg, #1258d9, #33e6fb);
  color: #fff;
  border-radius: 10px;
  font-size: 1rem;
}
#nav_menu .nav_contact ul li.nav_mail a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 5px;
}

.nv_eff a b {
  font-weight: 600;
  text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, 0px 2px 0 #fff, -2px 0 #fff, -2px 0 0 #fff, 2px 0 0 #fff;
}
.nv_eff a b:nth-of-type(1) {
  color: #e6591f;
}
.nv_eff a b:nth-of-type(2) {
  color: #bd0034;
}
.nv_eff a b:nth-of-type(3) {
  color: #12a644;
}
.nv_eff a b:nth-of-type(4) {
  color: #0e8fde;
}
.nv_eff a span {
  position: relative;
}
.nv_eff a span:before {
  content: "";
  display: block;
  width: 0%;
  height: 2px;
  background: #d03721;
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.3s ease;
}
.nv_eff a:hover span:before {
  width: 2rem;
}

.breadcrumbs_wrap {
  width: 100%;
  background: #fff;
}

.breadcrumbs {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}
@media all and (max-width: 639px) {
  .breadcrumbs {
    justify-content: center;
  }
}
.breadcrumbs li {
  margin: 1rem 0.5rem;
}
.breadcrumbs li:last-of-type:before {
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  font-weight: 900;
  margin-right: 0.5rem;
  font-size: 12px;
  color: #2a2a2a;
}
.breadcrumbs li a {
  color: #d03721;
}
.breadcrumbs li:last-of-type a {
  color: #2a2a2a;
  pointer-events: none;
}

main#under {
  overflow: hidden;
}

footer {
  position: relative;
  overflow: hidden;
}
footer #footer {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding: 100px 0;
  color: #2a2a2a;
}
@media all and (max-width: 639px) {
  footer #footer {
    padding: 80px 1rem 40px;
  }
}
footer #footer .flogo {
  width: 120px;
  margin: 0 auto 20px;
}
footer #footer .f_tel {
  text-align: center;
}
footer #footer .f_tel a {
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
  font-size: 2rem;
  color: #2a2a2a;
}
@media all and (max-width: 639px) {
  footer #footer .f_tel a {
    font-size: 1rem;
  }
}
footer #footer .foot_wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
footer #footer .foot_wrap .f_left {
  width: 49%;
}
footer #footer .foot_wrap .f_right {
  width: 49%;
}
footer #footer .foot_wrap .f_list {
  display: flex;
  flex-wrap: wrap;
}
footer #footer .foot_wrap .f_list li {
  width: 48%;
  margin-bottom: 1rem;
}
footer #footer .foot_wrap .f_list li a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  font-weight: 900;
  margin-right: 5px;
}
@media all and (max-width: 1150px) {
  footer #footer .foot_wrap {
    padding: 0 15px;
  }
  footer #footer .foot_wrap .f_left {
    width: 35%;
  }
  footer #footer .foot_wrap .f_right {
    width: 45%;
  }
}
@media all and (max-width: 639px) {
  footer #footer .foot_wrap .f_left {
    width: 100%;
    margin-bottom: 2rem;
  }
  footer #footer .foot_wrap .f_right {
    width: 100%;
  }
}
footer .copyright {
  text-align: center;
  padding: 1rem;
  color: #2a2a2a;
}
@media all and (max-width: 639px) {
  footer .copyright {
    font-size: 0.5rem;
  }
}
footer .copyright a {
  color: #2a2a2a;
}
@media all and (max-width: 639px) {
  footer .copyright a {
    font-size: 0.5rem;
  }
}
footer .foot_txt {
  margin-bottom: 10px;
  text-align: center;
  color: #009e92;
}
@media all and (max-width: 639px) {
  footer .foot_txt {
    font-size: 0.875rem;
  }
}
footer .foot_txt .en {
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
}
footer .f_navi {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media all and (max-width: 639px) {
  footer .f_navi {
    margin: 2rem 0;
  }
}
footer .f_navi li {
  width: 48%;
  margin: 1rem 0;
  line-height: 1;
}
@media all and (max-width: 639px) {
  footer .f_navi li {
    margin: 0.6rem 0;
  }
}
footer .f_navi li a {
  color: #2a2a2a;
  font-weight: 600;
}
footer .f_navi li a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: 900;
  margin-right: 5px;
  color: #009e92;
}
footer .f_navi li span {
  font-size: 1.25rem;
  display: block;
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
}
@media all and (max-width: 639px) {
  footer .f_add {
    margin: 2rem 0;
    font-size: 0.8rem;
  }
}

.t_shadow {
  text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0px 1px 0 #fff, -1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
}

.company_tbl {
  width: 100%;
  table-layout: fixed;
  line-height: 1.6;
}
@media all and (max-width: 639px) {
  .company_tbl {
    font-size: 0.75rem;
  }
}
.company_tbl th, .company_tbl td {
  padding: 1rem;
  border-bottom: 1px solid #ccc;
  vertical-align: middle;
}
@media all and (max-width: 639px) {
  .company_tbl th, .company_tbl td {
    padding: 0.5rem;
  }
}
.company_tbl th {
  width: 25%;
  font-weight: 600;
  border-bottom: 1px solid #d03721;
  text-align: left;
}

.company {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 5px;
}
@media all and (max-width: 639px) {
  .company {
    font-size: 12px;
  }
}
.company th,
.company td {
  padding: 15px 10px;
  vertical-align: middle;
}
.company th {
  width: 25%;
  position: relative;
  background: #d03721;
  color: #fff;
  font-weight: bold;
}
@media all and (max-width: 639px) {
  .company th {
    width: 31%;
  }
}
.company td {
  background: #f9f9f9;
  padding-left: 20px;
}

.rec_tbl {
  width: 100%;
  table-layout: fixed;
}
.rec_tbl th, .rec_tbl td {
  padding: 0.5rem;
  border: 1px solid #ddd;
}
@media all and (max-width: 639px) {
  .rec_tbl th, .rec_tbl td {
    width: 100%;
    display: block;
    font-size: 13px;
  }
}
.rec_tbl th {
  width: 30%;
  text-align: left;
  background: linear-gradient(135deg, #1258d9, #33e6fb);
  color: #fff;
}
@media all and (max-width: 639px) {
  .rec_tbl th {
    width: 100%;
    text-align: center;
  }
}
@media all and (max-width: 639px) {
  .rec_tbl td {
    margin-bottom: 0.5rem;
  }
}

.ifno_contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 1rem 0;
}
.ifno_contact li {
  width: 300px;
}
@media all and (max-width: 639px) {
  .ifno_contact li {
    width: 100%;
    text-align: center;
  }
}
.ifno_contact .ifno_tel a {
  font-size: 1.5rem;
}
.ifno_contact .ifno_tel a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f87b";
  font-weight: 900;
  margin-right: 5px;
}
@media all and (max-width: 639px) {
  .ifno_contact .ifno_tel {
    margin-bottom: 1rem;
  }
}
.ifno_contact .ifno_web {
  width: 180px;
}
.ifno_contact .ifno_web a {
  display: block;
  padding: 0.5rem 1rem;
  background: #d03721;
  color: #fff;
  text-align: center;
}
.ifno_contact .ifno_web a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f073";
  font-weight: 900;
  margin-right: 5px;
}
.ifno_contact .ifno_mail a {
  display: block;
  padding: 0.5rem 1rem;
  background: #1258d9;
  color: #fff;
  text-align: center;
}
@media all and (max-width: 639px) {
  .ifno_contact .ifno_mail a {
    width: 300px;
  }
}
.ifno_contact .ifno_mail a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 5px;
}

.ifno_address {
  margin-bottom: 1rem;
}
.ifno_address span:before {
  font-family: "Font Awesome 5 Free";
  content: "\f3c5";
  font-weight: 900;
  margin-right: 5px;
}

.ifno_access span {
  font-size: 1.25rem;
}
@media all and (max-width: 639px) {
  .ifno_access span {
    font-size: 1rem;
  }
}
.ifno_access span:before {
  font-family: "Font Awesome 5 Free";
  content: "\f238";
  font-weight: 900;
  margin-right: 5px;
}

.gmap {
  width: 100%;
  position: relative;
  padding-top: 66.6666666667%;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.gmap2 {
  width: 100%;
  position: relative;
  padding-top: 50%;
}
.gmap2 iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#mainvisual {
  width: 100%;
  position: relative;
  background: linear-gradient(to top, #e7ffce, #fff);
}
@media all and (max-width: 1150px) {
  #mainvisual {
    margin-top: 63px;
  }
}
@media all and (max-width: 639px) {
  #mainvisual {
    margin-top: 120px;
  }
}
#mainvisual #main_catch {
  width: 80%;
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  font-size: 1.25rem;
  color: #2a2a2a;
  transition: 0.5s ease;
  filter: drop-shadow(0 0 6px #000);
  overflow: hidden;
}
@media all and (max-width: 1150px) {
  #mainvisual #main_catch {
    width: 70%;
    font-size: 1.125rem;
  }
}
@media all and (max-width: 1150px) {
  #mainvisual #main_catch {
    top: 80%;
  }
}
@media all and (max-width: 639px) {
  #mainvisual #main_catch {
    top: 70%;
  }
}
#mainvisual #main_catch .main_text {
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: 0.5rem;
  text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, 0px 2px 0 #fff, -2px 0 #fff, -2px 0 0 #fff, 2px 0 0 #fff;
  color: #1eaa39;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media all and (max-width: 1150px) {
  #mainvisual #main_catch .main_text {
    font-size: 2.5rem;
  }
}
@media all and (max-width: 639px) {
  #mainvisual #main_catch .main_text {
    font-size: 1.125rem;
  }
}
#mainvisual #main_catch .main_text b {
  color: #d03721;
}
#mainvisual #main_catch .main_logo {
  display: inline-block;
  width: 680px;
  filter: drop-shadow(1px 1px 0 #fff);
}
@media all and (max-width: 1150px) {
  #mainvisual #main_catch .main_logo {
    width: 600px;
  }
}
@media all and (max-width: 639px) {
  #mainvisual #main_catch .main_logo {
    width: 220px;
  }
}
#mainvisual #main_catch p {
  font-size: 1.5rem;
  color: #fff;
}
@media all and (max-width: 639px) {
  #mainvisual #main_catch p {
    font-size: 1rem;
  }
}
#mainvisual #mainvisual_img {
  width: 100%;
  height: 100vh;
  position: relative;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 89% 99%, 74% 100%, 52% 98%, 35% 100%, 12% 98%, 0 100%, 0 0);
          clip-path: polygon(100% 0, 100% 100%, 89% 99%, 74% 100%, 52% 98%, 35% 100%, 12% 98%, 0 100%, 0 0);
}
@media all and (max-width: 639px) {
  #mainvisual #mainvisual_img {
    height: 40vh;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 89% 99%, 74% 100%, 52% 98%, 35% 100%, 12% 98%, 0 100%, 0 0);
          clip-path: polygon(100% 0, 100% 100%, 89% 99%, 74% 100%, 52% 98%, 35% 100%, 12% 98%, 0 100%, 0 0);
    /* -webkit-clip-path: polygon(0 16%, 9% 4%, 33% 0, 81% 0, 96% 6%, 100% 18%, 100% 98%, 84% 97%, 64% 100%, 43% 97%, 20% 100%, 0 98%);
            clip-path: polygon(0 16%, 9% 4%, 33% 0, 81% 0, 96% 6%, 100% 18%, 100% 98%, 84% 97%, 64% 100%, 43% 97%, 20% 100%, 0 98%); */
  }
}
#mainvisual #mainvisual_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#mainvisual #mainvisual_img:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/main_cover.png) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
}


#topSlider .swiper-slide {
  position: relative;
}
#topSlider .swiper-slide .slide-img {
  height: 100vh;
  overflow: hidden;
}
@media all and (max-width: 639px) {
  #topSlider .swiper-slide .slide-img {
    height: 40vh;
  }
}
#topSlider .swiper-slide .slide-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#topSlider .swiper-slide .slide_catch {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding: 4rem 0;
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  border-radius: 15px;
}
@media all and (max-width: 639px) {
  #topSlider .swiper-slide .slide_catch {
    padding: 1rem;
  }
}
#topSlider .swiper-slide .slide_catch .catch_txt {
  display: inline-block;
  font-size: 4rem;
  margin-bottom: 2rem;
  font-weight: 600;
  text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0px 1px 0 #fff, -1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
}
@media all and (max-width: 639px) {
  #topSlider .swiper-slide .slide_catch .catch_txt {
    font-size: 2rem;
  }
}
#topSlider .swiper-slide .slide_catch .catch_logo {
  text-align: center;
}
#topSlider .swiper-slide .slide_catch .catch_logo img {
  width: 200px;
}
#topSlider .swiper-slide .slide_catch p {
  font-size: 2rem;
  font-weight: 600;
  text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0px 1px 0 #fff, -1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
}
@media all and (max-width: 639px) {
  #topSlider .swiper-slide .slide_catch p {
    font-size: 1rem;
  }
}
#topSlider .swiper-slide[class*=-active] {
  opacity: 1;
}
#topSlider .swiper-slide[class*=-active] .slide_catch {
  opacity: 1;
}
#topSlider .swiper-slide[class*=-prev], #topSlider .swiper-slide[class*=-next] {
  opacity: 0;
}
#topSlider .swiper-slide[class*=-prev] .slide_catch, #topSlider .swiper-slide[class*=-next] .slide_catch {
  opacity: 0;
}

@keyframes showSlide {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes hideSlide {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes showTranslate {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-15%);
  }
}
.container {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  padding: 100px 0;
  position: relative;
}
@media all and (max-width: 1200px) {
  .container {
    padding: 100px 1rem;
  }
}
@media all and (max-width: 639px) {
  .container {
    padding: 50px 1rem;
  }
}
.container.pd0 {
  padding: 0;
}
@media all and (max-width: 639px) {
  .container.pd0 {
    padding: 50px 1rem;
  }
}
.container.pd_t0 {
  padding-top: 0;
}
.container.pd_b0 {
  padding-bottom: 0;
}
.container.pd_b200 {
  padding-bottom: 200px;
}
@media all and (max-width: 639px) {
  .container.pd_b200 {
    padding-bottom: 100px;
  }
}
@media all and (max-width: 1150px) {
  .container.pd_ttab0 {
    padding-top: 0;
  }
}
@media all and (max-width: 639px) {
  .container.pd_ttab0 {
    padding-top: 50px;
  }
}

.container2 {
  width: 100%;
  padding: 100px 0;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 639px) {
  .container2 {
    padding: 50px 1rem;
  }
}
.container2.type2 {
  padding: 0;
}
@media all and (max-width: 639px) {
  .container2.type2 {
    padding: 50px 1rem;
  }
}
@media all and (max-width: 639px) {
  .container2.v2 {
    padding: 50px 0;
  }
}

.container3 {
  width: 1600px;
  max-width: 100%;
  margin: auto;
  padding: 100px 1rem;
  margin: auto;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 639px) {
  .container3 {
    padding: 50px 1rem;
  }
}
.container3.type2 {
  padding: 0 1rem 100px;
}

.container4 {
  width: calc(100% - 100px);
  max-width: 100%;
  padding: 100px 1rem;
  margin: auto;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 639px) {
  .container4 {
    width: 100%;
    padding: 50px 1rem;
  }
}
.container4.type2 {
  padding: 0 1rem;
}
@media all and (max-width: 639px) {
  .container4.type2 {
    padding: 0;
  }
}
.container4.white {
  background: #fff;
}

.container_white {
  width: 1600px;
  max-width: 100%;
  margin: auto;
  padding: 100px 0;
  background: #fff;
}
@media all and (max-width: 639px) {
  .container_white {
    padding: 0;
  }
}

.box {
  padding: 60px;
  background: #fff;
}
@media all and (max-width: 639px) {
  .box {
    padding: 40px 1rem;
  }
}
.box.pd0 {
  padding: 0;
}
.box.pd_t0 {
  padding-top: 0;
}
.box.bdr_b {
  border-bottom: 2px solid #d03721;
}
.box.sdw {
  box-shadow: 0 5px 10px -5px rgba(0, 0, 0, 0.1);
}
.box.transparent {
  background: transparent;
}
.box.r_box {
  border-radius: 1rem;
}

.box2 {
  max-width: 800px;
  width: 100%;
  margin: auto;
  padding: 60px 0;
}
@media all and (max-width: 639px) {
  .box2 {
    max-width: 100%;
    padding: 1rem 0;
  }
}
.box2.type2 {
  max-width: 100%;
}

.box3 {
  padding: 2rem;
  background: #fff;
  border: 2px solid #d03721;
  position: relative;
  box-shadow: 10px 10px 0 0 #e15743;
}
@media all and (max-width: 639px) {
  .box3 {
    padding: 1rem;
  }
}

.box4 {
  max-width: 80%;
  margin-inline: auto;
  padding: 2rem;
  border: 2px solid #d03721;
}
@media all and (max-width: 639px) {
  .box4 {
    max-width: 100%;
    padding: 1rem;
  }
}
.box4.type2 {
  max-width: 100%;
}

.transparent {
  background: transparent;
}

.h_ttl {
  line-height: 1.2;
  margin-bottom: 2rem;
  line-height: 1.6;
}
.h_ttl .eng {
  display: block;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 3rem;
  color: #d03721;
}
@media all and (max-width: 639px) {
  .h_ttl .eng {
    font-size: 1.5rem;
  }
}
.h_ttl .ja {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 600;
  color: #3e2814;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}
.h_ttl .ja:before {
  content: "";
  border-top: 1px solid;
  width: 2rem;
  margin-right: 0.5rem;
}
.h_ttl .ja:after {
  content: "";
  border-top: 1px solid;
  width: 2rem;
  margin-left: 0.5rem;
}
.h_ttl.v2 {
  position: relative;
  text-align: center;
  margin-top: -4rem;
  z-index: 1;
}
@media all and (max-width: 639px) {
  .h_ttl.v2 {
    margin-bottom: 0;
  }
}
.h_ttl.v2:before {
  content: "";
  width: 500px;
  height: 400px;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
@media all and (max-width: 639px) {
  .h_ttl.v2:before {
    width: 300px;
    height: 250px;
    top: -30px;
  }
}
.h_ttl.v2 .eng {
  font-size: 2.25rem;
}
.h_ttl.v2 .ja {
  font-weight: 600;
  color: #3e2814;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}
.h_ttl.deco {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.h_ttl.deco .ttl_inner {
  line-height: 1.6;
}
.h_ttl.deco .ttl_inner .eng {
  font-size: 1rem;
}
.h_ttl.deco .ttl_inner .ja {
  font-size: 1.5rem;
}
.h_ttl.deco .ttl_inner .ja:before, .h_ttl.deco .ttl_inner .ja:after {
  display: none;
}
@media all and (max-width: 639px) {
  .h_ttl.deco .ttl_inner .ja {
    font-size: 1.125rem;
  }
}
.h_ttl.deco:before, .h_ttl.deco:after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 1rem;
}
@media all and (max-width: 639px) {
  .h_ttl.deco:before, .h_ttl.deco:after {
    width: 30px;
    height: 30px;
    margin: 0 0.25rem;
  }
}
.h_ttl.deco:before {
  background: url(../img/ttl_l.svg);
}
.h_ttl.deco:after {
  background: url(../img/ttl_r.svg);
}
.h_ttl.white .eng {
  color: #fff;
}
.h_ttl.white .ja {
  color: #fff;
}
.h_ttl.brown .eng {
  color: #2a2a2a;
}
.h_ttl.brown .ja {
  color: #2a2a2a;
}

.h_ttl2 {
  margin-bottom: 2rem;
  font-size: 1.5rem;
  line-height: 1.6;
}
@media all and (max-width: 639px) {
  .h_ttl2 {
    padding-bottom: 1rem;
  }
}
.h_ttl2 .en {
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 3rem;
  color: #d03721;
}
@media all and (max-width: 639px) {
  .h_ttl2 .en {
    display: block;
    font-size: 2rem;
  }
}
.h_ttl2 .ja {
  display: flex;
  align-items: center;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}
.h_ttl2 .ja:before {
  content: "";
  border-top: 1px solid;
  width: 2rem;
  margin-right: 0.5rem;
}
@media all and (max-width: 639px) {
  .h_ttl2 b {
    display: none;
  }
}
.h_ttl2.pd_b0 {
  padding-bottom: 0;
}

.h_ttl3 {
  font-size: 1.5rem;
  font-weight: 600;
  position: relative;
  margin-bottom: 2rem;
  line-height: 1.6;
}
@media all and (max-width: 639px) {
  .h_ttl3 {
    font-size: 1.25rem;
  }
}
.h_ttl3 span {
  font-size: 2rem;
  font-weight: 600;
  color: #d03721;
}
@media all and (max-width: 639px) {
  .h_ttl3 span {
    font-size: 1.5rem;
  }
}

.h_ttl4 {
  display: flex;
  align-items: center;
  padding: 1rem 0;
  margin-bottom: 2rem;
  font-size: 1.25rem;
  font-weight: 600;
  border-top: 1px solid #d03721;
  border-bottom: 1px solid #d03721;
  line-height: 1.6;
}
.h_ttl4:before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 2px;
  margin-right: 10px;
  background: #d03721;
}

.h_ttl_big {
  font-size: 2.5rem;
  color: #d03721;
  font-weight: 600;
  margin-bottom: 2rem;
}
@media all and (max-width: 1150px) {
  .h_ttl_big {
    font-size: 2rem;
  }
}
@media all and (max-width: 639px) {
  .h_ttl_big {
    font-size: 1.5rem;
  }
}

.h_ttl_s {
  margin-bottom: 1rem;
  font-weight: 600;
}
@media all and (max-width: 639px) {
  .h_ttl_s {
    font-size: 1rem;
  }
}
.h_ttl_s span {
  display: flex;
  align-items: center;
  font-weight: 600;
  font-size: 1.125rem;
}
.h_ttl_s span:before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 3px;
  background: #d03721;
  margin-right: 0.5rem;
}
.h_ttl_s.type2 {
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
  border-bottom: 1px dashed #ccc;
}

.h_ttl_line {
  padding: 0.5rem 0;
  margin-bottom: 2rem;
  border-bottom: 2px solid #ddd;
  font-size: 1.25rem;
  position: relative;
  font-weight: 600;
}
@media all and (max-width: 639px) {
  .h_ttl_line {
    font-size: 1.25rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}
.h_ttl_line:before {
  content: "";
  display: block;
  width: 4rem;
  height: 2px;
  background: #d03721;
  position: absolute;
  bottom: -2px;
  left: 0;
}
.h_ttl_line a {
  color: #2a2a2a;
}

.h_ttl_sline {
  position: relative;
  font-weight: 500;
  font-size: 1.5rem;
  margin-bottom: 2rem;
  padding-bottom: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}
@media all and (max-width: 639px) {
  .h_ttl_sline {
    margin: 1rem 0;
  }
}
.h_ttl_sline:before {
  content: "";
  position: absolute;
  bottom: -1px;
  width: 100px;
  height: 1px;
  background: #683f26;
  z-index: 1;
}
.h_ttl_sline span {
  font-size: 1rem;
  margin-left: 1rem;
  color: #d03721;
}

.h_ttl_kkr {
  text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, 0px 2px 0 #fff, -2px 0 #fff, -2px 0 0 #fff, 2px 0 0 #fff;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.25rem;
  margin-bottom: 2rem;
}
.h_ttl_kkr span {
  font-weight: 600;
  font-size: 1.5rem;
}
.h_ttl_kkr b {
  font-weight: 600;
  font-size: 1.5rem;
}
.h_ttl_kkr b:nth-of-type(1) {
  color: #e6591f;
}
.h_ttl_kkr b:nth-of-type(2) {
  color: #bd0034;
}
.h_ttl_kkr b:nth-of-type(3) {
  color: #12a644;
}
.h_ttl_kkr b:nth-of-type(4) {
  color: #0e8fde;
}
.h_ttl_kkr b:nth-of-type(5) {
  color: #e6591f;
}
.h_ttl_kkr b:nth-of-type(6) {
  color: #bd0034;
}
.h_ttl_kkr b:nth-of-type(7) {
  color: #12a644;
}
.h_ttl_kkr b:nth-of-type(8) {
  color: #0e8fde;
}
@media all and (max-width: 639px) {
  .h_ttl_kkr {
    margin: 1rem 0;
  }
}

.kgyk_ttl {
  font-weight: 600;
}
.kgyk_ttl b {
  font-weight: 600;
}
.kgyk_ttl b:nth-of-type(1) {
  color: #e6591f;
}
.kgyk_ttl b:nth-of-type(2) {
  color: #bd0034;
}
.kgyk_ttl b:nth-of-type(3) {
  color: #12a644;
}
.kgyk_ttl b:nth-of-type(4) {
  color: #0e8fde;
}

.mtext1 {
  font-size: 1.25rem;
}
@media all and (max-width: 639px) {
  .mtext1 {
    font-size: 1.125rem;
  }
}

.mtext2 {
  font-size: 1.5rem;
}
@media all and (max-width: 639px) {
  .mtext2 {
    font-size: 1.25rem;
  }
}

.mtext3 {
  font-size: 2rem;
}
@media all and (max-width: 639px) {
  .mtext3 {
    font-size: 1.25rem;
  }
}

.bdr {
  margin-bottom: 2rem;
}
.bdr span {
  display: inline-block;
  padding-bottom: 1rem;
  border-bottom: 2px dashed #ffd08a;
  font-weight: 600;
}

.bold {
  font-weight: 600;
}

.color1 {
  color: #d03721;
}

.color2 {
  color: #6f5240;
}

.color_blue {
  color: #1258d9;
}

.list_disc li {
  padding: 5px 0;
}
.list_disc li:not(:last-of-type) {
  margin-bottom: 5px;
}
.list_disc li:before {
  content: "●";
  margin-right: 0.25rem;
  color: #1eaa39;
  font-size: 0.5rem;
}
@media all and (max-width: 639px) {
  .list_disc li {
    font-size: 12px;
  }
}
.list_disc.type2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.list_disc.type2 li {
  width: 48%;
}
.list_disc.type3 {
  display: flex;
  flex-wrap: wrap;
}
.list_disc.type3 li {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 1rem;
  background: #fcfdfe;
  border-radius: 2rem;
  border-bottom: 0;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  color: #2a2a2a;
}

.list_check.type1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.list_check.type1 li {
  width: 48%;
  margin-bottom: 1rem;
  background: #fefefe;
  font-weight: 600;
  border-bottom: 1px dotted #d03721;
}
@media all and (max-width: 639px) {
  .list_check.type1 li {
    width: 100%;
    margin-bottom: 5px;
    font-size: 0.875rem;
  }
}
.list_check li {
  padding: 4px 0;
  margin-bottom: 5px;
  padding-left: 21px;
  text-indent: -21px;
}
.list_check li span {
  font-weight: normal;
  font-size: 0.9em;
  display: block;
  padding: 10px;
  background: rgba(255, 208, 138, 0.2);
  margin-top: 10px;
}
.list_check li a {
  color: #d03721;
  border-bottom: 1px dotted #d03721;
}
.list_check li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  font-weight: 900;
  margin-right: 5px;
  color: #1eaa39;
}
@media all and (max-width: 639px) {
  .list_check li {
    margin: 0 auto 10px;
  }
}

.top_news {
  width: 800px;
  max-width: 100%;
  padding: 1rem;
  margin: auto;
}
@media all and (max-width: 639px) {
  .top_news {
    padding: 0;
  }
}

.news_dl {
  display: flex;
  flex-wrap: wrap;
  padding: 2rem;
}
@media all and (max-width: 639px) {
  .news_dl {
    padding: 0;
  }
}
.news_dl dt {
  width: 130px;
  padding: 1rem;
  border-bottom: 1px solid #d03721;
}
@media all and (max-width: 639px) {
  .news_dl dt {
    width: 120px;
    padding: 0.5rem;
  }
}
.news_dl dd {
  width: calc(100% - 130px);
  padding: 1rem;
  border-bottom: 1px solid #ccc;
}
@media all and (max-width: 639px) {
  .news_dl dd {
    width: calc(100% - 120px);
    padding: 0.5rem;
  }
}
.news_dl dd a {
  color: #2a2a2a;
}

.list_dl {
  display: flex;
  flex-wrap: wrap;
}
.list_dl dt {
  width: 160px;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #2a2a2a;
}
.list_dl dd {
  width: calc(100% - 160px);
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #2a2a2a;
}

.list_dl2 dt {
  color: #d03721;
  font-size: 1.125rem;
  margin-bottom: 10px;
}
.list_dl2 dt .num {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background: #e87e6f;
  text-align: center;
  line-height: 2rem;
  color: #fff;
  margin-right: 10px;
}
.list_dl2 dd {
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-bottom: 1px solid #e87e6f;
}
.list_dl2 dd:last-of-type {
  border-bottom: 0;
}

.list_dl3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 20px;
  background: #fafafa;
}
.list_dl3 dt {
  width: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #d03721;
}
.list_dl3 dd {
  width: calc(100% - 100px);
}

.list_dl4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background: #fafafa;
  padding: 10px;
}
.list_dl4 dt {
  width: 140px;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #ddd;
}
.list_dl4 dd {
  width: calc(100% - 140px);
  padding: 10px;
  border-bottom: 1px solid #ddd;
}

.img_area {
  width: 100%;
  overflow: hidden;
}

.flx {
  display: flex;
  flex-wrap: wrap;
}

.flx2 {
  display: flex;
  flex-wrap: wrap;
}
.flx2 .flx_in {
  width: 48%;
}
@media all and (max-width: 639px) {
  .flx2 .flx_in {
    width: 100%;
  }
}
.flx2 .flx_in .img_max {
  width: 100%;
}
.flx2 .flx_in.textarea {
  padding: 2rem;
}
@media all and (max-width: 639px) {
  .flx2 .flx_in.textarea {
    padding: 0;
  }
}
.flx2.type2 .flx_in {
  width: 40%;
}
.flx2.type2 .flx_in img {
  width: 100%;
}
@media all and (max-width: 639px) {
  .flx2.type2 .flx_in {
    width: 100%;
  }
}
.flx2.type2 .flx_in:nth-of-type(2) {
  width: 55%;
}
@media all and (max-width: 639px) {
  .flx2.type2 .flx_in:nth-of-type(2) {
    width: 100%;
  }
}
.flx2.type3 .flx_in {
  width: 55%;
}
@media all and (max-width: 639px) {
  .flx2.type3 .flx_in {
    width: 100%;
  }
}
.flx2.type3 .flx_in:nth-of-type(2) {
  width: 40%;
}
@media all and (max-width: 639px) {
  .flx2.type3 .flx_in:nth-of-type(2) {
    width: 100%;
  }
}
.flx2.type4 .flx_in {
  width: 30%;
}
@media all and (max-width: 639px) {
  .flx2.type4 .flx_in {
    width: 100%;
  }
}
.flx2.type4 .flx_in:nth-of-type(2) {
  width: 65%;
}
@media all and (max-width: 639px) {
  .flx2.type4 .flx_in:nth-of-type(2) {
    width: 100%;
  }
}
.flx2.type5 .flx_in {
  width: 73%;
}
@media all and (max-width: 639px) {
  .flx2.type5 .flx_in {
    width: 100%;
  }
}
.flx2.type5 .flx_in:nth-of-type(2) {
  width: 25%;
}
@media all and (max-width: 639px) {
  .flx2.type5 .flx_in:nth-of-type(2) {
    width: 100%;
  }
}

.flx3 {
  display: flex;
  flex-wrap: wrap;
}
.flx3 .flx_in {
  width: 31%;
}
@media all and (max-width: 639px) {
  .flx3 .flx_in {
    width: 100%;
  }
}
@media all and (max-width: 1200px) {
  .flx3.type2 .flx_in {
    width: 48%;
  }
}

.flx4 {
  display: flex;
  flex-wrap: wrap;
}
.flx4 .flx_in {
  width: 23%;
}
@media all and (max-width: 639px) {
  .flx4 .flx_in {
    width: 48%;
  }
}

.flx6 {
  display: flex;
  flex-wrap: wrap;
}
.flx6 .flx_in {
  width: 15%;
}
@media all and (max-width: 639px) {
  .flx6 .flx_in {
    width: 48%;
  }
}

.r_reverse {
  flex-direction: row-reverse;
}

.ai_center {
  align-items: center;
}

.ai_start {
  align-items: flex-start;
}

.as_center {
  align-self: center;
}

.ai_end {
  align-items: flex-end;
}

.jc_center {
  justify-content: center;
}

.jc_between {
  justify-content: space-between;
}

.jc_end {
  justify-content: flex-end;
}

.contents_box {
  margin: 100px 0;
}
.contents_box .btn01 {
  margin-top: 2rem;
}
@media all and (max-width: 639px) {
  .contents_box {
    margin: 40px 0;
  }
  .contents_box .btn01 {
    margin-top: 1rem;
  }
}

.contents_box2 {
  margin: 100px 0 0;
}
@media all and (max-width: 639px) {
  .contents_box2 {
    margin: 40px 0 0;
  }
}

.pos_r {
  position: relative;
}

.bg_main {
  background: url(../img/bg_mokume.jpg) no-repeat center/cover;
  position: relative;
  z-index: 1;
}
.bg_main.minus {
  margin-top: -200px;
  padding-top: 200px;
  z-index: 0;
}
.bg_main.minus2 {
  margin-top: -100px;
  z-index: 0;
}
@media all and (max-width: 639px) {
  .bg_main.minus2 {
    padding-top: 20px;
    margin-top: -40px;
  }
}
.bg_main.pd {
  padding: 100px 0;
}
@media all and (max-width: 639px) {
  .bg_main.pd {
    padding: 50px 0;
  }
}
.bg_main.mg_b100 {
  margin-bottom: 100px;
}
@media all and (max-width: 639px) {
  .bg_main.mg_b100 {
    margin-bottom: 80px;
  }
}
.bg_main.fixed {
  background-attachment: fixed;
}

.bg_main2 {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)), url(../img/bg_body2.jpg) no-repeat center/cover;
  position: relative;
  z-index: 1;
}
.bg_main2.minus {
  margin-top: -200px;
  padding-top: 200px;
  z-index: 0;
}
.bg_main2.minus2 {
  margin-top: -100px;
  z-index: 0;
}
@media all and (max-width: 639px) {
  .bg_main2.minus2 {
    padding-top: 20px;
    margin-top: -40px;
  }
}
.bg_main2.fixed {
  background-attachment: fixed;
}

.bg_main3 {
  background: linear-gradient(to bottom, #ffd08a 0%, rgba(255, 208, 138, 0.8) 50%, #ffd08a 100%), url(../img/bg_base3.jpg) no-repeat center/cover;
  position: relative;
  z-index: 1;
}
.bg_main3.minus {
  margin-top: -200px;
  padding-top: 200px;
  z-index: 0;
}
.bg_main3.minus2 {
  margin-top: -100px;
  z-index: 0;
}
@media all and (max-width: 639px) {
  .bg_main3.minus2 {
    padding-top: 20px;
    margin-top: -40px;
  }
}

.bg_hogan {
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
}

.bg_moku {
  position: relative;
}
.bg_moku:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-clip-path: polygon(0 0, 20% 1%, 51% 0, 72% 1%, 87% 0, 100% 2%, 100% 100%, 83% 98%, 63% 100%, 43% 98%, 23% 100%, 0 99%);
          clip-path: polygon(0 0, 20% 1%, 51% 0, 72% 1%, 87% 0, 100% 2%, 100% 100%, 83% 98%, 63% 100%, 43% 98%, 23% 100%, 0 99%);
}
@media all and (max-width: 1150px) {
  .bg_moku:before {
    background-attachment: scroll;
  }
}
@media all and (max-width: 639px) {
  .bg_moku:before {
    -webkit-clip-path: polygon(0 0, 20% 1%, 51% 0, 72% 1%, 87% 0, 100% 2%, 100% 100%, 83% 98%, 63% 100%, 43% 98%, 23% 100%, 0 99%);
            clip-path: polygon(0 0, 20% 1%, 51% 0, 72% 1%, 87% 0, 100% 2%, 100% 100%, 83% 98%, 63% 100%, 43% 98%, 23% 100%, 0 99%);
  }
}

.bg_map {
  position: relative;
  background-image: url(../img/area.png);
  background-repeat: no-repeat;
  background-size: 600px;
  background-position: top -40px right 15%;
  z-index: 1;
}
@media all and (max-width: 639px) {
  .bg_map {
    background-size: 65%;
    background-position: 97% 5%;
  }
}
@media all and (max-width: 639px) {
  .bg_map .map_inner {
    padding: 110px 10px 0;
  }
}

.bg_translucent {
  background: rgba(255, 255, 255, 0.9);
}

.bg_area {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)), url(../img/bg_area.jpg) no-repeat center/cover;
}

.bg_base {
  background: #d03721;
}
.bg_base.bg_right {
  background: linear-gradient(to left, #d03721 75%, transparent 75%);
}
.bg_base.bg_left {
  background: linear-gradient(to right, #d03721 75%, transparent 75%);
}
.bg_base.bg_btm {
  background: linear-gradient(to top, #d03721 55%, transparent 55%);
}
.bg_base.minus {
  margin-top: -100px;
}

.bg_gray {
  background: #fcfcfc;
}
.bg_gray.bg_right {
  background: linear-gradient(to left, #fafafa 85%, transparent 85%);
}
.bg_gray.bg_left {
  background: linear-gradient(to right, #fafafa 85%, transparent 85%);
}
.bg_gray.minus {
  margin-top: -100px;
}

.bg_white {
  background: #fff;
}
.bg_white.bg_left {
  background: linear-gradient(to right, #fff 85%, transparent 85%);
}
.bg_white.minus {
  margin-top: -100px;
}

.bg_beige {
  background: #ffefd7;
}
.bg_beige.bg_right {
  background: linear-gradient(to left, #005d8e 85%, transparent 85%);
}
.bg_beige.bg_left {
  background: linear-gradient(to right, #005d8e 85%, transparent 85%);
}
.bg_beige.bg_btm {
  background: linear-gradient(to top, #005d8e 55%, transparent 55%);
}

.bg_beige2 {
  background: #fcfaf2;
}

.bg_img1 {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)), url(../img/h_ptn.png);
}

.bg_skew {
  position: relative;
}
.bg_skew:before, .bg_skew:after {
  content: "";
  display: block;
  width: 25%;
  height: 200%;
  background: #fafafa;
  transform: matrix(1, 0, -0.3, 1, 0, 0);
  position: absolute;
  top: 0;
  z-index: -1;
}
@media all and (max-width: 1150px) {
  .bg_skew:before, .bg_skew:after {
    width: 100%;
  }
}
.bg_skew:before {
  transform-origin: 100% 0;
  left: 0;
}
@media all and (max-width: 1150px) {
  .bg_skew:before {
    transform-origin: 0 0;
    transform: none;
  }
}
.bg_skew:after {
  transform-origin: 0 100%;
  right: 0;
}
@media all and (max-width: 1150px) {
  .bg_skew:after {
    display: none;
  }
}

.bg_dot {
  background: radial-gradient(#d03721 2px, transparent 2px), radial-gradient(#d03721 2px, #fff 2px);
  background-size: 40px 40px;
  background-position: 0 0, 20px 20px;
  position: relative;
  z-index: 1;
}
.bg_dot:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  position: absolute;
  top: 0;
  left: 0;
}

.pos_z {
  position: relative;
  z-index: 1;
}

.ov_h {
  overflow: hidden;
}

.lh2 {
  line-height: 2;
}

.lh28 {
  line-height: 2.8;
}
@media all and (max-width: 639px) {
  .lh28 {
    line-height: 2;
  }
}

.t_shadow {
  text-shadow: 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff;
}

.page_wrap {
  overflow: hidden;
}

.page_title_box {
  position: relative;
  padding: 260px 0 60px;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/2.jpg) no-repeat center/cover;
  width: 100%;
  margin: auto;
  transition: 0.5s ease;
}
.page_title_box.page_title02 {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/1.jpg) no-repeat center/cover;
}
@media all and (max-width: 639px) {
  .page_title_box {
    padding: 150px 0 10px;
  }
}
.page_title_box .inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  min-height: 450px;
  margin: 0 auto;
  padding-top: 120px;
}
@media all and (max-width: 1150px) {
  .page_title_box .inner {
    width: 90%;
    min-height: auto;
    padding: 40px 1rem;
  }
}
.page_title_box .page_title {
  margin-bottom: 32px;
  text-align: center;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
}
@media all and (max-width: 1150px) {
  .page_title_box .page_title {
    text-align: center;
    font-size: 1rem;
  }
}
.page_title_box .page_title span {
  font-weight: 600;
  letter-spacing: 0.25rem;
  display: block;
  font-size: 3rem;
}
@media all and (max-width: 1150px) {
  .page_title_box .page_title span {
    font-size: 1.5rem;
  }
}
.page_title_box .page_title2 {
  margin-bottom: 32px;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
}
@media all and (max-width: 1150px) {
  .page_title_box .page_title2 {
    text-align: center;
    font-size: 1rem;
  }
}
.page_title_box .page_title2 span {
  font-weight: 600;
  letter-spacing: 0.25rem;
  display: block;
  font-size: 3rem;
  text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, 0px 2px 0 #fff, -2px 0 #fff, -2px 0 0 #fff, 2px 0 0 #fff;
}
@media all and (max-width: 1150px) {
  .page_title_box .page_title2 span {
    font-size: 1.5rem;
  }
}
.page_title_box .page_title2 span b {
  font-weight: 600;
}
.page_title_box .page_title2 span b:nth-of-type(1) {
  color: #e6591f;
}
.page_title_box .page_title2 span b:nth-of-type(2) {
  color: #bd0034;
}
.page_title_box .page_title2 span b:nth-of-type(3) {
  color: #12a644;
}
.page_title_box .page_title2 span b:nth-of-type(4) {
  color: #0e8fde;
}
.page_title_box.page_1 {
  background-color: #ffa32c;
}
.page_title_box.page_1 .page_title span {
  color: #e8972d;
}
.page_title_box.page_1 .table_contents {
  border-left: 2px solid #e8972d;
}
.page_title_box.page_2 {
  background-color: #e53232;
}
.page_title_box.page_2 .page_title span {
  color: #9d2121;
}
.page_title_box.page_2 .table_contents {
  border-left: 2px solid #9d2121;
}
.page_title_box.page_3 {
  background-color: #028b82;
}
.page_title_box.page_3 .page_title span {
  color: #025751;
}
.page_title_box.page_3 .table_contents {
  border-left: 2px solid #025751;
}
.page_title_box.page_4 {
  background-color: #228cbb;
}
.page_title_box.page_4 .page_title span {
  color: #04648e;
}
.page_title_box.page_4 .table_contents {
  border-left: 2px solid #04648e;
}
.page_title_box.page_5 {
  background-color: #f6d273;
}
.page_title_box.page_5 .page_title span {
  color: #9a8242;
}
.page_title_box.page_5 .table_contents {
  border-left: 2px solid #9a8242;
}
.page_title_box.on {
  opacity: 1;
}

.table_contents {
  padding-left: 1.5em;
}
.table_contents li {
  margin-bottom: 8px;
}
.table_contents li::before {
  content: "・";
  color: #fff;
}
.table_contents li a {
  position: relative;
  color: #fff;
}
.table_contents li a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  transform: scaleX(0);
  background-color: #fff;
  transition: all 0.3s ease;
}
.table_contents li a:hover:after {
  transform: scaleX(1);
}

.page_image {
  overflow: hidden;
  position: absolute;
  z-index: 1;
  width: 1200px;
  height: 450px;
  bottom: 0;
  right: 0;
}
@media all and (max-width: 1560px) {
  .page_image {
    width: 900px;
  }
}
@media all and (max-width: 1200px) {
  .page_image {
    width: 860px;
  }
}
@media all and (max-width: 1150px) {
  .page_image {
    position: static;
    width: 100%;
    height: 240px;
  }
}
.page_image img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  vertical-align: middle;
}

.rec_box {
  margin-bottom: 3rem;
}
@media all and (max-width: 639px) {
  .rec_box {
    margin-bottom: 1.5rem;
  }
}

.link {
  margin-top: 1rem;
}
.link a {
  text-decoration: underline;
}

.form {
  margin: 0 auto;
  width: 90%;
}
@media all and (max-width: 639px) {
  .form {
    width: 100%;
  }
}
.form dl dt {
  float: left;
  width: 280px;
  padding-top: 20px;
  font-weight: 600;
}
@media all and (max-width: 639px) {
  .form dl dt {
    float: none;
  }
}
.form dl dt span {
  color: #2a2a2a;
  background: #1eaa39;
  padding: 5px 8px;
  margin-right: 5px;
  font-size: 11px;
  border-radius: 20px;
  position: relative;
  top: -2px;
  color: #fff;
}
.form dl dt span.nini {
  background: #aaa;
  color: #fff;
}
.form dl dd {
  padding-left: 280px;
  padding-bottom: 20px;
  padding-top: 23px;
  line-height: 1.5;
  border-bottom: 1px dotted #cccccc;
}
.form dl dd:last-child {
  border-bottom: none;
}
@media all and (max-width: 639px) {
  .form dl dd {
    padding-top: 10px;
    padding-left: 0;
  }
}
.form .textarea, .form textarea {
  border: 0;
  padding: 15px;
  width: 100%;
  border-radius: 0;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background: #f0f0f0;
}
.form .textarea02 {
  width: 48.5%;
  margin-right: 3%;
}
.form .textarea02:last-child {
  margin-right: 0;
}
.form .textarea03 {
  width: 22%;
  margin-right: 1%;
}
@media all and (max-width: 639px) {
  .form .textarea03 {
    width: 50%;
  }
}
.form button {
  cursor: pointer;
  display: block;
  text-align: center;
  transition: all 0.2s ease-in-out 0s;
  border: 1px solid #1258d9;
  font-weight: 600;
  padding: 12px 5px;
  margin: 0 auto;
  width: 250px;
  background: #1258d9;
  color: #fff;
  border-radius: 25px;
}
.form button:hover {
  background: #fff;
  color: #1258d9;
}
.form button:before {
  font-weight: normal;
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 10px;
}
.form .select-wrap {
  position: relative;
  overflow: hidden;
  display: inline-block;
  min-width: 192px;
  min-width: 12em;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  color: #333;
}
.form .select-wrap select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  z-index: 2;
  display: block;
  width: 200%;
  width: -webkit-calc(100% + 5em);
  margin: 0;
  padding: 11px 35px 11px 11px;
  padding: 0.6875rem 2.1875rem 0.6875rem 0.6875rem;
  background: transparent;
  border: 0;
  outline: none;
  line-height: 1.5;
}
.form .entypo-down-open-mini:before {
  font-family: "FontAwesome";
  content: "\f0ab";
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 12px;
  right: 0.75rem;
  margin-top: -8px;
  margin-top: -0.5rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  color: #d03721;
}
.form label.radio_text {
  cursor: pointer;
  position: relative;
  margin-right: 20px;
  overflow: hidden;
  padding-left: 20px;
  display: inline-block;
}
.form label.radio_text:before {
  position: absolute;
  width: 15px;
  height: 15px;
  border: 1px solid #ccc;
  border-radius: 50%;
  left: 0px;
  top: 5px;
  content: "";
  z-index: 3;
}
.form label.radio_text:after {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 100%;
  left: 3px;
  top: 8px;
  background-color: #d03721;
  z-index: 1;
}
.form label.radio_text input[type=radio] {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  z-index: 2;
  width: 20px;
  height: 20px;
  left: -23px;
  top: 0px;
  margin: 0px;
  box-shadow: 20px -1px #fff;
}
.form label.radio_text input[type=radio]:checked {
  box-shadow: none;
}
.form label.radio_text input[type=radio]:focus {
  opacity: 0.2;
  box-shadow: 20px -1px #eeebda;
}
.form label.checkbox_text {
  cursor: pointer;
  position: relative;
  padding-left: 25px;
  margin: 0 20px 5px 0;
  overflow: hidden;
  display: inline-block;
}
.form label.checkbox_text:before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid #ccc;
  z-index: 3;
  padding: 1px;
}
.form label.checkbox_text:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  display: block;
  margin-top: -9px;
  width: 8px;
  height: 12px;
  border-right: 3px solid #d03721;
  border-bottom: 3px solid #d03721;
  transform: rotate(45deg);
  z-index: 1;
}
.form label.checkbox_text input[type=checkbox] {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  left: -40px;
  width: 20px;
  height: 20px;
  display: block;
  box-shadow: 41px 0px #fff;
  z-index: 2;
  margin: 0px;
  padding: 0px;
}
.form label.checkbox_text input[type=checkbox]:checked {
  box-shadow: none;
}
.form label.checkbox_text input[type=checkbox]:checked:focus {
  outline: none;
}
.form label.checkbox_text input[type=checkbox]:focus {
  outline: none;
}
.form input[type=text], .form textarea {
  font-size: 16px;
}

.acc_toggle {
  padding: 1rem;
  text-align: center;
  position: relative;
  border-top: 1px solid #d03721;
  border-bottom: 1px solid #d03721;
  margin-bottom: 1rem;
  transition: 0.3s ease;
  cursor: pointer;
}
@media all and (max-width: 639px) {
  .acc_toggle {
    text-align: left;
    font-size: 1rem;
  }
}
.acc_toggle:before {
  font-family: "Font Awesome 5 Free";
  content: "\f05a";
  font-weight: 900;
  margin-right: 5px;
}
.acc_toggle:after {
  font-family: "Font Awesome 5 Free";
  content: "\f067";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  font-size: 1rem;
  transition: 0.3s ease;
}
@media all and (max-width: 639px) {
  .acc_toggle:after {
    right: 1rem;
  }
}
.acc_toggle.on:after {
  transform: translateY(-50%) rotate(135deg);
}

.acc_body {
  display: none;
  padding: 2rem 1rem;
  border: 1px solid #d03721;
}
@media all and (max-width: 639px) {
  .acc_body {
    padding: 1rem;
  }
}

.faq_wrap {
  border-bottom: 1px solid #ddd;
}

.faq_toggle {
  display: flex;
  align-items: baseline;
  padding: 1rem;
  position: relative;
  transition: 0.3s ease;
  font-weight: 600;
  cursor: pointer;
}
@media all and (max-width: 639px) {
  .faq_toggle {
    text-align: left;
    font-size: 1rem;
    padding-left: 0;
  }
}
.faq_toggle span {
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
  font-weight: 400;
  color: #d03721;
  font-size: 2rem;
  margin-right: 10px;
  margin-top: -9px;
}
.faq_toggle:after {
  font-family: "Font Awesome 5 Free";
  content: "\f067";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  font-size: 1rem;
  transition: 0.3s ease;
}
@media all and (max-width: 639px) {
  .faq_toggle:after {
    right: 0;
  }
}
.faq_toggle.on:after {
  transform: translateY(-50%) rotate(135deg);
}

.faq_body {
  display: none;
  padding: 1rem;
  border-top: 1px dashed #d03721;
}
@media all and (max-width: 639px) {
  .faq_body {
    padding: 1rem 0;
  }
}
.faq_body .faq_inner {
  display: flex;
  align-items: baseline;
}
.faq_body .faq_inner .answer {
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
  color: #f69454;
  font-size: 2rem;
  font-weight: 400;
  margin-right: 10px;
}

#modal_bg {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  z-index: 80;
  transition: 0.5s ease;
}
#modal_bg #modal_inner {
  padding: 40px;
  background: #d03721;
}
#modal_bg #modal_inner .modal_img {
  width: 100px;
  margin: auto;
}
#modal_bg #modal_inner .modal_txt {
  color: #fff;
}
#modal_bg #modal_inner #modal_close {
  position: relative;
  text-align: center;
  margin-top: 40px;
}
#modal_bg #modal_inner #modal_close span {
  font-size: 2rem;
  color: #fff;
}
#modal_bg.active {
  opacity: 1;
  visibility: visible;
}
@media all and (max-width: 639px) {
  #modal_bg .flx3 .flx_in {
    width: 48%;
  }
}

#modal_toggle {
  text-align: center;
}
#modal_toggle span {
  display: inline-block;
  font-size: 1.5rem;
  background: #d03721;
  color: #fff;
  padding: 2rem 6rem;
  cursor: pointer;
}
@media all and (max-width: 639px) {
  #modal_toggle span {
    font-size: 1.25rem;
    padding: 1rem 2rem;
  }
}
#modal_toggle span:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: 900;
  margin-right: 5px;
}

.link_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.link_list li {
  margin: 1rem 0.5rem;
}
@media all and (max-width: 639px) {
  .link_list li {
    width: 100%;
  }
}
.link_list.type1 {
  justify-content: space-between;
}
.link_list.type1 li {
  width: 48%;
  margin: 0;
}
.link_list.type1 li .btn01 a {
  width: 100%;
}
.link_list.type2 {
  justify-content: space-between;
}
.link_list.type2 li {
  width: 48%;
  margin: 0;
}
.link_list.type2 li .btn01 a {
  width: 100%;
}
@media all and (max-width: 1150px) {
  .link_list.type2 li {
    width: 100%;
    margin-bottom: 1rem;
  }
}

.link_list.type2 {
  justify-content: space-between;
}
.link_list.type2 li {
  width: 32%;
  margin: 0;
}
.link_list.type2 li .btn01 a {
  width: 100%;
}
@media all and (max-width: 639px) {
  .link_list.type2 li {
    width: 48%;
  }
}

.btn01 a, .btn01 span {
  width: 300px;
  display: inline-block;
  padding: 1rem;
  color: #fff;
  background-color: #d03721;
  transition: 0.3s ease;
  -webkit-clip-path: polygon(62% 0, 98% 0, 100% 35%, 100% 71%, 98% 99%, 58% 99%, 22% 100%, 1% 97%, 0 38%, 1% 1%);
          clip-path: polygon(62% 0, 98% 0, 100% 35%, 100% 71%, 98% 99%, 58% 99%, 22% 100%, 1% 97%, 0 38%, 1% 1%);
  position: relative;
  text-align: center;
  font-weight: 600;
}
.btn01 a:hover, .btn01 span:hover {
  color: #d03721;
  background-color: rgba(208, 55, 33, 0.5);
}
@media all and (max-width: 639px) {
  .btn01 a, .btn01 span {
    width: 100%;
    font-size: 0.875rem;
    text-align: center;
  }
}
.btn01 i {
  margin-right: 5px;
}
.btn01.type1 a {
  background-color: #1258d9;
}
.btn01.type1 a:hover {
  background-color: rgba(18, 88, 217, 0.5);
  color: #1258d9;
  border-color: #1258d9;
}
.btn01.type2 a {
  background-color: #1eaa39;
}
.btn01.type2 a:hover {
  background-color: rgba(30, 170, 57, 0.5);
  color: #1eaa39;
  border-color: #1eaa39;
}

.insta_btn {
  color: #fff;
  border-radius: 7px;
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 0.5rem;
  text-align: center;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  overflow: hidden;
  text-decoration: none;
}
.insta_btn:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
}
.insta_btn .fa-instagram {
  font-size: 1.5rem;
  position: relative;
}
.insta_btn span {
  display: inline-block;
  position: relative;
  margin-left: 0.5rem;
  z-index: 1;
}

#sp_menu {
  width: 100%;
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 88;
  transition: 0.5s ease;
}
#sp_menu.fixed {
  transform: translateY(0);
}
@media all and (max-width: 1150px) {
  #sp_menu {
    display: block;
  }
}
#sp_menu ul {
  display: flex;
  justify-content: space-between;
}
#sp_menu ul li {
  width: 24%;
}
#sp_menu ul li a {
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
  font-weight: 400;
  text-align: center;
  letter-spacing: normal;
  display: block;
  padding: 0.25rem;
  background: #d03721;
  color: #fff;
  font-size: 0.5rem;
}
#sp_menu ul li a span {
  display: block;
  text-align: center;
}

.blog_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.blog_wrap .blog_main {
  width: 78%;
}
@media all and (max-width: 1150px) {
  .blog_wrap .blog_main {
    width: 100%;
  }
}
.blog_wrap .blog_main .blog_detail_date {
  display: inline-block;
  padding: 5px 10px;
  margin-bottom: 1rem;
  color: #fff;
  background-color: #ffab3e;
  border-radius: 5px;
}
.blog_wrap .blog_side {
  width: 20%;
}
@media all and (max-width: 1150px) {
  .blog_wrap .blog_side {
    width: 100%;
  }
}
.blog_wrap .blog_side .archive {
  padding: 0.5rem;
  background: #d03721;
  margin-bottom: 0.5rem;
  color: #fff;
}
.blog_wrap .blog_side .archive:before {
  font-family: "Font Awesome 5 Free";
  content: "\f03a";
  font-weight: 900;
  margin-right: 5px;
}
.blog_wrap .blog_side ul li {
  padding: 0.5rem;
  border-bottom: 1px dashed #d03721;
}
.blog_wrap .blog_side ul li a {
  color: #2a2a2a;
}

.tab:hover {
  cursor: pointer;
}

.content {
  display: none;
}
.content.is-show {
  display: block;
}

.pc {
  display: block;
}
@media all and (max-width: 639px) {
  .pc {
    display: none;
  }
}

.pc2 {
  display: block;
}
@media all and (max-width: 1150px) {
  .pc2 {
    display: none;
  }
}

.sp {
  display: none;
}
@media all and (max-width: 639px) {
  .sp {
    display: block;
  }
}

.tab {
  display: none;
}
@media all and (max-width: 1150px) {
  .tab {
    display: block;
  }
}

@keyframes zoom-in {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.12);
  }
}
.thanks {
  width: 700px;
  max-width: 100%;
  padding: 2rem;
  margin: auto;
  border: 3px solid #2a2a2a;
  box-shadow: 0 0 0 8px rgba(0, 93, 142, 0.8);
}

#page_top {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  opacity: 0;
  transform: translateY(100px);
}
@media all and (max-width: 1150px) {
  #page_top {
    bottom: 20px;
  }
}
#page_top a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #d03721;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.6rem;
  transition: all 0.3s;
}
#page_top a:hover {
  background: #777;
}
#page_top.pageUp {
  animation: pageUp 0.5s forwards;
}
#page_top.pagDown {
  animation: pagDown 0.5s forwards;
}

@keyframes pageUp {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes pagDown {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(100px);
  }
}
.catch_wrap {
  overflow: hidden;
}

.catch_anim {
  opacity: 0;
  display: inline-block;
  overflow: hidden;
}
.catch_anim.on {
  animation-name: fadeDown;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.8, 0, 0.5, 1);
  opacity: 1 !important;
}
.catch_anim.v2 {
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
  font-weight: 400;
  letter-spacing: 0.5rem;
  padding: 1rem 2rem;
  background: #d03721;
}

.catch_anim2 {
  opacity: 0;
  display: inline-block;
  overflow: hidden;
}
.catch_anim2.on {
  animation-name: fadeIn;
  animation-delay: 1s;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.8, 0, 0.5, 1);
}

@keyframes fadeDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.slide_anim_wrap {
  display: inline-block;
  overflow: hidden;
}

.slide_anim, .slide_anim2 {
  opacity: 0;
  overflow: hidden;
  display: block;
}
.slide_anim.on, .slide_anim2.on {
  position: relative;
  opacity: 1;
  animation-name: maskIn;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
}
.slide_anim.on:before, .slide_anim2.on:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #005d8e;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  animation-name: maskOut;
  animation-duration: 0.5s;
  animation-delay: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
}

.slide_anim2.on:before {
  background: #fff;
}

@keyframes maskIn {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes maskOut {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(0);
  }
}
.smooth_ttl {
  font-size: 2rem;
  font-weight: 600;
}
.smooth_ttl .en {
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
  font-weight: 700;
  font-size: 6rem;
}
@media all and (max-width: 639px) {
  .smooth_ttl .en {
    font-size: 2rem;
  }
}
.smooth_ttl.white {
  color: #fff;
}

.smooth {
  overflow: hidden;
  display: block;
}

.txt_trigger {
  transition: 1s ease-in-out;
  transform: translate3d(0, 100%, 0) skewY(12deg);
  transform-origin: left;
  display: block;
}
.txt_trigger.txt_up {
  transform: translate3d(0, 0, 0) skewY(0);
}

.contact_sec {
  text-align: center;
}
.contact_sec .contact_sec_tel {
  margin: 0 1rem;
}
@media all and (max-width: 639px) {
  .contact_sec .contact_sec_tel {
    margin: 1rem;
  }
}
.contact_sec .contact_sec_tel a {
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
  font-size: 2rem;
  color: #fff;
}
.contact_sec .contact_sec_tel a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f87b";
  font-weight: 900;
  margin-right: 5px;
}
.contact_sec .contact_sec_tel + p {
  margin-bottom: 2rem;
}
@media all and (max-width: 639px) {
  .contact_sec .contact_sec_tel + p {
    font-size: 0.875rem;
  }
}
.contact_sec .contact_sec_mail {
  margin: 0 1rem;
}
.contact_sec .contact_sec_mail a {
  display: block;
  padding: 1rem 3rem;
  color: #fff;
  border: 1px solid #fff;
  font-size: 1.25rem;
  transition: 0.5s ease;
}
@media all and (max-width: 639px) {
  .contact_sec .contact_sec_mail a {
    padding: 1rem;
    font-size: 1rem;
  }
}
.contact_sec .contact_sec_mail a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 5px;
}
.contact_sec .contact_sec_mail a:hover {
  background: rgba(255, 255, 255, 0.8);
  color: #1258d9;
}
.contact_sec.type2 a {
  color: #1258d9;
}
.contact_sec.type2 .contact_sec_mail a {
  border: 1px solid #1258d9;
}

.contact_tel {
  text-align: center;
  margin-bottom: 1rem;
}
.contact_tel a {
  display: inline-block;
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
  font-size: 2rem;
}
.contact_tel a i {
  margin-right: 10px;
}

.ceo {
  text-align: right;
  font-weight: 600;
}
.ceo span {
  display: inline-block;
  margin-left: 0.5rem;
  font-size: 1.25rem;
  font-weight: 600;
}

.hot_list li {
  margin-bottom: 1rem;
}
.hot_list li span {
  display: inline-block;
  margin-left: 1rem;
  font-size: 1.25rem;
}
.hot_list li i {
  font-size: 2rem;
  color: #d03721;
}

.r_img img {
  border-radius: 50%;
}

.r_img2 img {
  border-radius: 1rem;
}

.total_box {
  width: 50%;
  padding: 1rem 2rem;
  margin: auto;
  margin-bottom: 2rem;
  background: #007ec1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
@media all and (max-width: 639px) {
  .total_box {
    width: 100%;
  }
}
.total_box span {
  color: #fff;
}
.total_box input[type=text].textarea {
  width: auto;
  text-align: right;
  background: #fafafa;
}
@media all and (max-width: 639px) {
  .total_box input[type=text].textarea {
    width: 100%;
    display: block;
    margin-top: 0.5rem;
  }
}

.greet {
  padding-bottom: 340px;
}
@media all and (max-width: 639px) {
  .greet {
    padding: 80px 0 100px;
  }
}
.greet .h_ttl {
  padding-left: calc((100% - 1200px) / 2);
}
@media all and (max-width: 639px) {
  .greet .h_ttl {
    padding-left: 1rem;
  }
}
.greet.v2 {
  padding-bottom: 140px;
  margin-bottom: 80px;
}
.greet.v3 {
  padding-bottom: 140px;
  margin-bottom: 80px;
}

.greet_box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 100px 0;
  position: relative;
}
@media all and (max-width: 639px) {
  .greet_box {
    padding: 60px 0 0;
  }
}
.greet_box .foot_illust_r {
  bottom: -100px !important;
}
@media all and (max-width: 639px) {
  .greet_box .foot_illust_r {
    bottom: -70px !important;
  }
}
.greet_box .greet_img {
  width: 40%;
  padding-top: 200px;
  position: relative;
}
.greet_box .greet_img .top_neko {
  position: absolute;
  top: 0;
  left: 50px;
}
@media all and (max-width: 639px) {
  .greet_box .greet_img .top_neko {
    width: 200px;
    top: -140px;
    left: 0;
  }
}
.greet_box .greet_img .h_ttl_vertical {
  position: absolute;
  top: 10px;
  right: 20px;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  writing-mode: vertical-rl;
  text-shadow: 0 0 6px #f69454;
  letter-spacing: 0.4rem;
  line-height: 2;
}
@media all and (max-width: 1560px) {
  .greet_box .greet_img .h_ttl_vertical {
    font-size: 2rem;
  }
}
@media all and (max-width: 1200px) {
  .greet_box .greet_img .h_ttl_vertical {
    font-size: 1.75rem;
  }
}
@media all and (max-width: 639px) {
  .greet_box .greet_img .h_ttl_vertical {
    font-size: 1.3rem;
    letter-spacing: 0.2rem;
    top: -60px;
    right: 20px;
  }
}
.greet_box .greet_txt {
  width: 53%;
  padding: 40px 0;
  padding-right: calc((100% - 1200px) / 2);
  line-height: 2;
}
.greet_box .greet_txt p {
  font-weight: 600;
  color: #6f5240;
}
.greet_box .greet_txt p:not(:first-of-type) {
  margin-top: 1rem;
}
.greet_box .greet_txt .h_ttl2 .en {
  color: #2a2a2a;
}
.greet_box .btn01 {
  margin-top: 2rem;
  text-align: right;
}
@media all and (max-width: 1150px) {
  .greet_box .btn01 {
    margin-top: 1rem;
    text-align: center;
  }
}
@media all and (max-width: 1150px) {
  .greet_box {
    padding: 100px 0 0;
  }
  .greet_box .greet_img {
    width: 100%;
  }
  .greet_box .greet_txt {
    width: 100%;
    padding: 1rem;
  }
}
@media all and (max-width: 639px) {
  .greet_box .greet_img {
    padding-top: 0;
  }
}

.cat_box {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  padding: 100px 0;
  position: relative;
}
@media all and (max-width: 639px) {
  .cat_box {
    padding: 0 0 20px;
  }
}
.cat_box .cat_img {
  width: 45%;
  position: relative;
}
.cat_box .cat_img img {
  border-radius: 400px 0 0 400px;
}
.cat_box .cat_txt {
  position: relative;
  width: 50%;
  padding: 40px 0;
  padding-left: calc((100% - 1200px) / 2);
}
.cat_box .cat_txt p:not(:first-of-type) {
  margin-top: 1rem;
}
.cat_box .cat_txt .h_ttl2 .en {
  color: #2a2a2a;
}
@media all and (max-width: 1150px) {
  .cat_box .cat_txt {
    padding: 40px 1rem;
  }
}
.cat_box .btn01 {
  margin-top: 2rem;
  text-align: right;
}
@media all and (max-width: 639px) {
  .cat_box .btn01 {
    margin-top: 1rem;
    text-align: center;
  }
}
@media all and (max-width: 1150px) {
  .cat_box {
    padding-top: 0;
  }
  .cat_box .cat_img {
    width: 90%;
  }
  .cat_box .cat_txt {
    width: 100%;
    padding: 40px 20px;
  }
}
.cat_box .cat_illust1 {
  width: 160px;
  position: absolute;
  top: -60px;
  right: 0;
}
@media all and (max-width: 639px) {
  .cat_box .cat_illust1 {
    width: 100px;
    top: -30px;
    z-index: 1;
  }
}
.cat_box .cat_illust2 {
  width: 180px;
  position: absolute;
  top: 50px;
  right: 10px;
  z-index: -1;
}
@media all and (max-width: 639px) {
  .cat_box .cat_illust2 {
    width: 100px;
    top: 35px;
    z-index: 1;
  }
}
.cat_box .cat_illust3 {
  width: 200px;
  position: absolute;
  bottom: 50px;
  right: 0;
}
@media all and (max-width: 1150px) {
  .cat_box .cat_illust3 {
    bottom: -80px;
    right: 10px;
    width: 150px;
  }
}
@media all and (max-width: 639px) {
  .cat_box .cat_illust3 {
    width: 100px;
    right: 10px;
  }
}
.cat_box .flower_illust1 {
  width: 200px;
  position: absolute;
  left: 15%;
  bottom: -40px;
  z-index: -1;
}
@media all and (max-width: 1150px) {
  .cat_box .flower_illust1 {
    left: 5%;
  }
}
@media all and (max-width: 639px) {
  .cat_box .flower_illust1 {
    width: 100px;
  }
}
.cat_box .flower_illust2 {
  width: 200px;
  position: absolute;
  top: -60px;
  right: 0;
}
@media all and (max-width: 1150px) {
  .cat_box .flower_illust2 {
    right: inherit;
    left: 10px;
    top: -120px;
  }
}
@media all and (max-width: 639px) {
  .cat_box .flower_illust2 {
    width: 100px;
    top: -50px;
  }
}
.cat_box .flower_illust3 {
  width: 200px;
  position: absolute;
  bottom: 50px;
  right: 0;
}
@media all and (max-width: 1150px) {
  .cat_box .flower_illust3 {
    bottom: -80px;
    right: 10px;
  }
}
@media all and (max-width: 639px) {
  .cat_box .flower_illust3 {
    width: 100px;
  }
}

.top_blog {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  align-items: flex-end;
  justify-content: space-between;
  padding: 80px 0;
}
@media all and (max-width: 639px) {
  .top_blog {
    padding: 1rem 0;
  }
}
.top_blog .top_blog_main {
  width: calc(100% - 300px);
}
@media all and (max-width: 639px) {
  .top_blog .top_blog_main {
    width: 100%;
  }
}
.top_blog .top_blog_main .blog_inner {
  width: 30%;
}
@media all and (max-width: 639px) {
  .top_blog .top_blog_main .blog_inner {
    width: 66%;
  }
}
.top_blog .top_blog_main .blog_inner a {
  display: block;
  background: #d03721;
  border: 2px solid #d03721;
  border-radius: 10px;
  transition: 0.3s ease;
  height: 288px;
  overflow: hidden;
}
.top_blog .top_blog_main .blog_inner a:hover {
  transform: translateY(-10px);
}
@media all and (max-width: 639px) {
  .top_blog .top_blog_main .blog_inner a:hover {
    height: 258px;
    transform: none;
  }
}
.top_blog .top_blog_main .blog_inner .blog_txt {
  padding: 1rem;
  color: #fff;
}
.top_blog .top_blog_main .blog_inner .blog_txt .blog_date {
  display: flex;
  align-items: center;
}
.top_blog .top_blog_main .blog_inner .blog_txt .blog_date .blog_cate {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  margin-left: 5px;
  background: #005d8e;
  color: #2a2a2a;
  line-height: 1;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
}
@media all and (max-width: 639px) {
  .top_blog .top_blog_main .blog_inner .blog_txt .blog_date .blog_cate {
    font-size: 0.6rem;
    padding: 0.125rem;
  }
}
.top_blog .top_blog_main .blog_inner .blog_txt .blog_ttl {
  position: relative;
}
.top_blog .top_blog_main .blog_inner .blog_txt .blog_ttl:before {
  content: "";
  display: block;
  width: 100%;
  height: 2rem;
  position: absolute;
  top: 1.5rem;
  left: 0;
  background: linear-gradient(to top, rgb(0, 113, 177) 50%, rgba(0, 113, 177, 0.5) 100%);
}
@media all and (max-width: 639px) {
  .top_blog .top_blog_main .blog_inner .blog_txt .blog_ttl:before {
    height: 3rem;
  }
}
.top_blog .top_blog_sub {
  padding-bottom: 72px;
}
@media all and (max-width: 639px) {
  .top_blog .top_blog_sub {
    width: 100%;
    padding-top: 72px;
    padding-bottom: 0;
    text-align: center;
  }
}

#cnt_slide {
  padding: 1rem 0;
}
@media all and (max-width: 639px) {
  #cnt_slide {
    padding: 0 0 1rem;
  }
}
#cnt_slide .swiper-slide:not(.swiper-slide-visible) .slide-img {
  pointer-events: none;
  opacity: 0.3;
}
#cnt_slide .swiper-slide .slide-img {
  width: 100%;
  height: 160px;
}
#cnt_slide .swiper-slide .slide-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#cnt_slide .swiper_controller {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
}
#cnt_slide .swiper-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 0.8rem;
  justify-content: center;
  margin: auto;
  text-align: center;
}
#cnt_slide .swiper-pagination-bullet {
  width: 1.6rem;
  height: 3px;
  cursor: pointer;
  transition: ease 0.3s;
  vertical-align: top;
  background: #ddd;
}
#cnt_slide .swiper-pagination-bullet[class*=-active] {
  width: 4rem;
  background: #d03721;
}
#cnt_slide .swiper-button[class*=-prev], #cnt_slide .swiper-button[class*=-next] {
  position: relative;
  flex-shrink: 0;
  margin: 0;
}
#cnt_slide .swiper-button[class*=-disabled] {
  pointer-events: none;
  opacity: 0.5;
}
#cnt_slide .swiper-button[class*=-disabled]:before {
  box-shadow: inset 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05), inset -0.8rem -0.8rem 1.2rem #fff;
}

#cnt_slide .swiper-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1.2rem 0.8rem;
  margin: 0 auto 0 0;
  text-align: center;
}
#cnt_slide .swiper-pagination-bullet {
  background: #fff;
}
#cnt_slide .swiper-button-prev, #cnt_slide .swiper-button-next {
  display: grid;
  place-content: center;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  transition: ease 0.3s;
  position: relative;
  flex-shrink: 0;
  margin: 0 1rem;
}
@media all and (max-width: 639px) {
  #cnt_slide .swiper-button-prev, #cnt_slide .swiper-button-next {
    width: 44px;
    height: 44px;
  }
}
#cnt_slide .swiper-button-prev:before, #cnt_slide .swiper-button-next:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: #fff;
  border: 2px solid #d03721;
  border-radius: 50%;
  box-shadow: 0px 0px 15px -5px #777;
  transition: ease 0.3s;
}
#cnt_slide .swiper-button-prev:after, #cnt_slide .swiper-button-next:after {
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  border: solid #0f909b;
  border-width: 3px 3px 0 0;
  transition: ease 0.3s;
}
#cnt_slide .swiper-button-prev:hover:before, #cnt_slide .swiper-button-next:hover:before {
  transform: scale(1.2);
}
#cnt_slide .swiper-button-prev:after {
  margin-left: 0.25rem;
  transform: rotate(-135deg);
}
#cnt_slide .swiper-button-next:after {
  margin-right: 0.25rem;
  transform: rotate(45deg);
}
#cnt_slide .swiper-button-disabled {
  pointer-events: none;
  opacity: 0.5;
}

.top_content_box {
  width: 48% !important;
  padding: 0.3rem;
  margin-bottom: 2rem;
  border: 1px solid #d03721;
  border-radius: 10px;
}
.top_content_box a {
  display: block;
  border: 1px solid #d03721;
  border-radius: 10px;
  overflow: hidden;
}
.top_content_box a .top_content_inner {
  padding: 1rem;
  border-top: 1px solid #d03721;
  position: relative;
}
@media all and (max-width: 639px) {
  .top_content_box a .top_content_inner {
    padding: 1rem 0.5rem;
  }
}
.top_content_box a .top_content_inner:before {
  content: "";
  display: block;
  width: 120%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -121%;
  background: #d03721;
  transition: 0.3s ease;
}
.top_content_box a .top_content_inner .cnt_ttl {
  display: block;
  padding: 0.5rem;
  margin-top: -36px;
  text-align: center;
  background: #d03721;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.25rem;
  border-radius: 40px;
  position: relative;
}
@media all and (max-width: 639px) {
  .top_content_box a .top_content_inner .cnt_ttl {
    padding: 0.5rem 0.25rem;
    font-size: 0.9rem;
  }
}
.top_content_box a .top_content_inner .ja_ttl {
  position: relative;
  padding: 0 1rem;
  margin-top: 1rem;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 600;
  color: #2a2a2a;
  transition: 0.3s ease;
}
@media all and (max-width: 639px) {
  .top_content_box a .top_content_inner .ja_ttl {
    padding: 0;
    font-size: 1rem;
  }
}
.top_content_box a .top_content_inner .ja_ttl:after {
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%) rotate(180deg);
  color: #005d8e;
  transition: 0.3s ease;
}
@media all and (max-width: 639px) {
  .top_content_box a .top_content_inner .ja_ttl:after {
    right: 0;
    transform: translateY(-50%) rotate(0deg);
  }
}
.top_content_box a:hover .top_content_inner:before {
  left: -10%;
  background: #c7e2f7;
}
.top_content_box a:hover .top_content_inner .ja_ttl:after {
  transform: translateY(-50%) rotate(0deg);
}

.morebtn_wrap {
  position: relative;
}
.morebtn_wrap .btn_ico {
  width: 82px;
  position: absolute;
  top: -100%;
  left: 50%;
  transform: translateX(-50%);
}
@media all and (max-width: 639px) {
  .morebtn_wrap .btn_ico {
    width: 42px;
    top: -38px;
  }
}

.morebtn {
  position: relative;
  display: inline-block;
  cursor: pointer;
  outline: none;
  border: 0;
  margin: 15px 0;
  vertical-align: middle;
  text-decoration: none;
  background: #fff;
  border-radius: 40px;
  border: 1px solid #ddd;
  padding: 6px;
  box-shadow: rgba(0, 0, 0, 0.05) 0px 3px 8px;
  width: 240px;
  font-size: 1rem;
}
.morebtn .circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: block;
  margin: 0;
  width: 44px;
  height: 44px;
  background: #0050a7;
  margin-left: -1px;
  border-radius: 22px;
}
.morebtn .circle .icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}
.morebtn .circle .icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 4px;
  width: 2rem;
  height: 0.125rem;
  background: none;
}
.morebtn .circle .icon.arrow:before {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  content: "";
  top: -0.25rem;
  right: 0.625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.125rem solid #fff;
  border-right: 0.125rem solid #fff;
  transform: rotate(45deg);
}
.morebtn .button-text {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 16px 0;
  margin: 0 0 0 1.85rem;
  color: #222;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
}
.morebtn:hover .circle {
  width: 101%;
  background: #0050a7;
}
.morebtn:hover .circle .icon.arrow {
  background: #fff;
  transform: translate(1rem, 0);
}
.morebtn:hover .circle .icon.arrow:before {
  right: 0;
}
.morebtn:hover .button-text {
  color: #fff;
}
.morebtn.type1 {
  background: #d03721;
  width: 280px;
}
.morebtn.type1 .circle {
  background: #fff;
}
.morebtn.type1 .icon {
  background: #005d8e;
}
.morebtn.type1 .icon.arrow:before {
  border-color: #d03721;
}
.morebtn.type1 .button-text {
  color: #fff;
  font-size: 1.1em;
}
.morebtn.type1:hover .button-text {
  color: #d03721;
}

.svg_wrap {
  position: absolute;
  z-index: -9999;
}

@media all and (max-width: 1150px) {
  .prlx, .prlx2, .prlx3, .prlx4 {
    transform: none !important;
    background-position: bottom !important;
  }
}

.form_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 4rem;
}
@media all and (max-width: 639px) {
  .form_list {
    margin-bottom: 2rem;
  }
}
.form_list li {
  width: 40%;
  margin: 1rem;
  text-align: center;
  position: relative;
}
@media all and (max-width: 1150px) {
  .form_list li {
    width: 100%;
    margin-bottom: 1.5rem;
  }
}
.form_list li .ttl {
  display: inline-block;
  padding: 0.35rem 0.75rem;
  background: #1258d9;
  border-radius: 30px;
  color: #fff;
  line-height: 1;
  margin-bottom: -1rem;
}
.form_list li a, .form_list li span {
  letter-spacing: 0.25rem;
  display: block;
  padding: 1.25rem 2rem 0.5rem;
  margin-top: -1rem;
  border: 2px solid #1258d9;
  border-radius: 30px;
  font-size: 1.25rem;
  color: #1258d9;
  font-weight: 600;
}
@media all and (max-width: 639px) {
  .form_list li a, .form_list li span {
    font-size: 1rem;
    padding: 1.25rem 1rem 0.5rem;
  }
}
.form_list li.form_tel a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f879";
  font-weight: 900;
  margin-right: 5px;
}
.form_list li.form_fax span:before {
  font-family: "Font Awesome 5 Free";
  content: "\f1ac";
  font-weight: 900;
  margin-right: 5px;
}
.form_list li.form_web a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f109";
  font-weight: 900;
  margin-right: 5px;
}
.form_list.mg_b0 {
  margin-bottom: 0;
}

.president_box {
  max-width: 80%;
  margin: auto;
  padding: 60px;
  position: relative;
  line-height: 2;
  border: 2px solid #d03721;
  border-radius: 15px;
}
@media all and (max-width: 639px) {
  .president_box {
    max-width: 100%;
    padding: 25px 25px 120px;
  }
}
.president_box .president_ico1, .president_box .president_ico2 {
  position: absolute;
}
.president_box .president_ico1 {
  width: 80px;
  top: -98px;
  right: -10px;
}
.president_box .president_ico2 {
  width: 200px;
  bottom: -3px;
  left: -15px;
}
.president_box .president_name {
  margin-top: 20px;
  text-align: right;
}

.company_box {
  max-width: 80%;
  margin: auto;
  padding: 60px;
  position: relative;
  line-height: 2;
  border: 2px solid #d03721;
  border-radius: 15px;
}
@media all and (max-width: 639px) {
  .company_box {
    max-width: 100%;
    padding: 25px 25px 120px;
  }
}
.company_box .company_ico1, .company_box .company_ico2 {
  position: absolute;
}
.company_box .company_ico1 {
  width: 80px;
  top: -98px;
  right: -10px;
}
.company_box .company_ico2 {
  width: 200px;
  bottom: -3px;
  left: -15px;
}

.instructor {
  display: flex;
  flex-wrap: wrap;
}
.instructor > li {
  width: 31.333%;
  margin: 1%;
  background: #fff;
  border: 2px solid #d03721;
  border-radius: 10px;
}
.instructor > li img {
  border-radius: 8px 8px 0 0;
}
.instructor > li .inner {
  padding: 20px;
}
@media all and (max-width: 639px) {
  .instructor > li .inner {
    padding: 20px 10px;
  }
}
.instructor > li .inner .sub-txt {
  font-weight: 500;
  margin-top: 10px;
}
.instructor > li .inner h3 {
  text-indent: -1rem;
  padding-left: 2rem;
  font-weight: 600;
}
@media all and (max-width: 639px) {
  .instructor > li .inner h3 {
    text-indent: -0.875rem;
  }
}
.instructor > li .inner h3 b {
  color: #005d8e;
  font-weight: 600;
}
.instructor > li .inner h3 i {
  color: #d03721;
}
@media all and (max-width: 1150px) {
  .instructor > li {
    width: 48%;
  }
}
@media all and (max-width: 639px) {
  .instructor > li {
    width: 95%;
    margin: 0 auto 60px;
  }
}

.mtitle_ribon {
  position: relative;
  background: #d03721;
  color: #fff;
  display: inline-block;
  padding: 15px 35px 15px 15px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 2.2rem;
  -webkit-clip-path: polygon(0% 0%, 100% 0, 95% 50%, 100% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 100% 0, 95% 50%, 100% 100%, 0% 100%);
  margin: 0 0 25px -30px;
}
.mtitle_ribon .eng {
  font-size: 1rem;
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
  letter-spacing: 0.125rem;
  margin-left: 10px;
}
.mtitle_ribon.type1 {
  background: #d03721;
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
  letter-spacing: 0.125rem;
  font-size: 1rem;
  padding: 10px 30px 10px 10px;
  margin: 10px 0 0 -10px;
}
.mtitle_ribon.type1 span {
  font-size: 1.5rem;
  font-weight: 600;
}
@media all and (max-width: 639px) {
  .mtitle_ribon {
    margin: 0 0 20px -10px;
    font-size: 1.5rem;
  }
  .mtitle_ribon .eng {
    font-size: 1rem;
  }
  .mtitle_ribon.type1 {
    font-size: 1.4rem;
    margin: 5px 0 0 -5px;
  }
  .mtitle_ribon.type1 span {
    font-size: 1.8rem;
  }
}

.mtext0 {
  font-size: 1.25rem;
  line-height: 1.6;
}
.mtext0.type1 {
  color: #3e3e3e;
}
.mtext0.type1 i {
  color: #005d8e;
  font-size: 1.125rem;
  margin-right: 10px;
}
@media all and (max-width: 639px) {
  .mtext0 {
    font-size: 1rem;
  }
  .mtext0.type1 i {
    font-size: 1.125rem;
  }
}

.mtitle2 {
  margin-bottom: 25px;
  font-weight: 600;
  display: flex;
  align-items: center;
  line-height: 1.5;
  position: relative;
}

.mtitle2.center {
  justify-content: center;
}

.mtitle2.type1 .eng,
.mtitle2.type1 .ja {
  color: #3a200c;
}

.mtitle2 .eng {
  font-size: 1rem;
  margin-right: 10px;
  padding-right: 10px;
  padding-top: 5px;
  border-right: 0.9px solid #555;
  font-family: "Oswald", sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  color: #555;
  letter-spacing: 0.1rem;
}

.mtitle2 .ja {
  font-size: 1.5rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-weight: 700;
}

@media screen and (max-width: 639px) {
  .mtitle2 .eng {
    font-size: 1rem;
  }
  .mtitle2 .ja {
    font-size: 1rem;
  }
}
.service_wrap {
  display: flex;
  flex-wrap: wrap;
}

.service_box {
  width: 48%;
  background: #fff;
  border-radius: 20px;
  border: 4px solid #2a2a2a;
  padding: 35px 30px;
  margin-bottom: 60px;
}
@media all and (max-width: 639px) {
  .service_box {
    width: 100%;
    padding: 20px;
  }
}
.service_box .srv_inner {
  padding-top: 20px;
  border-top: 2px solid #2a2a2a;
}

.lifelong-list {
  margin-top: 1rem;
}
@media all and (max-width: 639px) {
  .lifelong-list {
    margin-top: 1rem;
  }
}

.lifelong-list li {
  display: inline-block;
  padding-left: 14px;
  position: relative;
  margin-right: 8px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-weight: 700;
  color: #3a200c;
  font-size: 1.1em;
  letter-spacing: 0.1rem;
  margin-bottom: 2px;
}
@media all and (max-width: 639px) {
  .lifelong-list li {
    font-size: 1rem;
  }
}

.lifelong-list li:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0.5em;
  width: 8px;
  height: 0.8em;
  background: #f08d8d;
}

.lifelong-list li:nth-child(3n-1):before {
  background: #03f0e0;
}

.lifelong-list li:nth-child(3n):before {
  background: #ffcf92;
}

.lifelong-txt {
  margin-top: 10px;
  padding-top: 15px;
  border-top: 1px solid #2a2a2a;
  letter-spacing: 0;
}

.letter-wrap p {
  background-size: 100% 2.5em;
  background-image: linear-gradient(to bottom, transparent 0%, transparent 96%, #ddd 100%);
  line-height: 2.5em;
}

.about_bg {
  position: relative;
  padding: 40px 0 80px;
  background: #f9f9f9;
  overflow: hidden;
}
@media all and (max-width: 639px) {
  .about_bg {
    padding: 60px 0;
  }
}
.about_bg:before, .about_bg:after {
  display: block;
  content: "";
  width: 203px;
  height: 224px;
  position: absolute;
}
@media all and (max-width: 639px) {
  .about_bg:before, .about_bg:after {
    width: 121px;
    height: 134px;
  }
}
.about_bg:before {
  background: url(../img/rectangle_l2.svg) no-repeat center/contain;
  top: 0;
  left: 0;
}
.about_bg:after {
  background: url(../img/rectangle_r2.svg) no-repeat center/contain;
  bottom: 0;
  right: 0;
}
.about_bg .greet_illust {
  max-width: 970px;
  position: absolute;
  bottom: 0;
  right: -160px;
}
@media all and (max-width: 639px) {
  .about_bg .greet_illust {
    max-width: 340px;
    right: -50px;
  }
}

.about {
  position: relative;
}
.about:before {
  position: absolute;
  content: "";
  width: 70%;
  height: 350px;
  bottom: 175px;
  left: 5%;
  background: #fff;
  z-index: -1;
}
@media all and (max-width: 639px) {
  .about:before {
    display: none;
  }
}

.about_box {
  width: 1200px;
  max-width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.about_box .about_img {
  width: 45%;
  text-align: center;
}
@media all and (max-width: 639px) {
  .about_box .about_img {
    width: 100%;
  }
}
.about_box .about_txt {
  width: 55%;
  padding: 100px 80px 0px 0px;
}
@media all and (max-width: 639px) {
  .about_box .about_txt {
    width: 100%;
    padding: 1rem 0;
    margin-top: 2rem;
  }
}
.about_box .about_txt .about_sub_ttl {
  font-size: 2.5rem;
  font-weight: 600;
  padding: 60px 0;
  line-height: 1.4;
}
@media all and (max-width: 639px) {
  .about_box .about_txt .about_sub_ttl {
    padding: 0;
    text-align: center;
    font-size: 1.5rem;
  }
}
.about_box .about_txt .about_sub_ttl b {
  font-size: 4rem;
  font-weight: 600;
}
@media all and (max-width: 639px) {
  .about_box .about_txt .about_sub_ttl b {
    font-size: 2.5rem;
  }
}
.about_box .about_txt .about_sub_ttl span {
  color: #005d8e;
  font-weight: 600;
}

.news-bl dt {
  float: left;
  width: 8em;
  padding: 10px 5px;
  line-height: 1.3;
  color: #563e26;
  text-align: center;
  border: none;
  border-radius: 30px;
  font-size: 1rem;
}
@media all and (max-width: 639px) {
  .news-bl dt {
    float: none;
  }
}
.news-bl dd {
  padding: 0 0 10px 7.5em;
  line-height: 1.6;
  border-bottom: 1px dotted #dddddd;
  margin: 0 0 10px;
}
@media all and (max-width: 639px) {
  .news-bl dd {
    padding: 0 0 10px 15px;
  }
}
.news-bl dd .category {
  display: inline-block;
  padding: 5px 10px;
  color: #fff;
  background-color: #005d8e;
  border-radius: 5px;
}
.news-bl dd .category-2 {
  display: inline-block;
  padding: 5px;
  color: #fff;
  background-color: #6181e7;
  border-radius: 5px;
}
.news-bl dd .category-3 {
  display: inline-block;
  padding: 5px;
  color: #fff;
  background-color: #ff8100;
  border-radius: 5px;
}
.news-bl dd a {
  color: #2a2a2a;
  background-image: linear-gradient(to right, #d03721, #d03721);
  padding-bottom: 0.25em;
  background-position: 100% 100%;
  background-size: 0% 1px;
  background-repeat: no-repeat;
  transition: background-size 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  font-weight: 700;
}
.news-bl dd a:hover {
  background-position: 0 100%;
  background-size: 100% 1px;
}
.news-bl dd:last-child {
  margin: 0;
  border-bottom: none;
}

.category {
  display: inline-block;
  padding: 0 10px;
  color: #fff;
  background-color: #d03721;
  border-radius: 5px;
}

.category-2 {
  display: inline-block;
  padding: 0 10px;
  color: #fff;
  background-color: #6181e7;
  border-radius: 5px;
}

.category-3 {
  display: inline-block;
  padding: 0 10px;
  color: #fff;
  background-color: #ff8100;
  border-radius: 5px;
}

.mtitle_box2 {
  background: #d03721;
  font-size: 1.125rem;
  color: #fff;
  position: relative;
  font-weight: 700;
  overflow: hidden;
  letter-spacing: 0.1rem;
  padding: 15px 10px 15px 20px;
  margin-bottom: 25px;
}

.mtitle_box2 .small-cap {
  font-weight: normal;
  font-size: 1rem;
}

.mtitle_box2:before {
  background: #e15743;
  content: "";
  display: block;
  transform: rotate(60deg);
  position: absolute;
  bottom: -10px;
  right: -150px;
  width: 300px;
  height: 280px;
}

@media all and (max-width: 639px) {
  .mtitle_box2 {
    font-size: 1rem;
    line-height: 1.5;
    padding: 10px 10px 10px 15px;
    padding-right: 40px;
  }
  .mtitle_box2 span {
    font-size: 12px;
  }
  .mtitle_box2:before {
    width: 215px;
    right: -170px;
  }
}
.mission_anim {
  position: relative;
}
.mission_anim .mission1,
.mission_anim .mission2,
.mission_anim .mission3,
.mission_anim .mission4,
.mission_anim .mission5,
.mission_anim .mission6,
.mission_anim .mission7,
.mission_anim .mission8,
.mission_anim .mission9,
.mission_anim .mission10 {
  opacity: 0;
  transition: 0.5s ease;
}
.mission_anim .mission2, .mission_anim .mission3 {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.mission_anim .mission4 {
  width: 6%;
  position: absolute;
  bottom: 10px;
  right: 430px;
}
.mission_anim .mission5 {
  width: 71px;
  position: absolute;
  bottom: 65px;
  left: 415px;
}
.mission_anim .mission6 {
  width: 72px;
  position: absolute;
  bottom: 170px;
  right: 295px;
}
.mission_anim .mission7 {
  width: 55px;
  position: absolute;
  bottom: 45px;
  left: 76px;
}
.mission_anim .mission8 {
  width: 52px;
  position: absolute;
  bottom: 0;
  left: 220px;
}
.mission_anim .mission9 {
  width: 109px;
  position: absolute;
  bottom: 40px;
  right: 80px;
}
.mission_anim .mission10 {
  width: 54px;
  position: absolute;
  bottom: 170px;
  left: 237px;
}
.mission_anim.on .mission1,
.mission_anim.on .mission4,
.mission_anim.on .mission5,
.mission_anim.on .mission6,
.mission_anim.on .mission7,
.mission_anim.on .mission8,
.mission_anim.on .mission9,
.mission_anim.on .mission10 {
  opacity: 1;
  transition-delay: 0.5s;
}
.mission_anim.on .mission2 {
  opacity: 1;
  transition-delay: 1s;
}
.mission_anim.on .mission3 {
  opacity: 1;
  transition-delay: 1.5s;
}

.gcalendar {
  position: relative;
  padding-top: 75%;
  background: #eee;
}
@media all and (max-width: 639px) {
  .gcalendar {
    margin-top: 2rem;
  }
}
.gcalendar iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.top_sch .btn01 {
  margin-top: 60px;
}

.base {
  color: #d03721;
}

@media all and (max-width: 639px) {
  .top_flow_list {
    margin-top: 2rem;
  }
}
.top_flow_list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2rem 1rem;
  border-top: 2px solid #ddd;
  transition: 0.3s ease;
  position: relative;
  font-weight: 600;
}
.top_flow_list li a:before {
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  background: #d03721;
  position: absolute;
  top: -2px;
  left: 0;
  transition: 0.3s ease;
}
.top_flow_list li a span {
  font-weight: 600;
}
.top_flow_list li a span:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: 900;
  margin-right: 5px;
}
.top_flow_list li a .top_flow_img {
  width: 200px;
  height: 200px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 1;
}
.top_flow_list li a .top_flow_img picture {
  display: inline-block;
  width: 100%;
  height: 100%;
  transition: 0.3s ease;
  position: relative;
  padding-top: 100%;
  transform: scale(0);
}
.top_flow_list li a .top_flow_img picture img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s ease;
}
.top_flow_list li a:hover:before {
  width: 100%;
}
.top_flow_list li a:hover picture {
  transform: scale(1);
}

.greet_bg {
  padding-bottom: 31.7333333333%;
  position: relative;
}
.greet_bg:before {
  content: "";
  display: block;
  width: 100%;
  height: 39.6666666667%;
  background: url(../img/greet_bg.svg) no-repeat center/80%;
  position: absolute;
  bottom: 60px;
  left: 0;
}
@media all and (max-width: 1150px) {
  .greet_bg:before {
    height: 19.8333333333%;
  }
}
@media all and (max-width: 639px) {
  .greet_bg:before {
    height: 39.6666666667%;
    padding-bottom: 39.6666666667%;
    bottom: -100px;
  }
}

.top_fmarket {
  height: 780px;
  position: relative;
}
@media all and (max-width: 1150px) {
  .top_fmarket {
    height: auto;
  }
}
.top_fmarket .fmarket_img {
  width: 40%;
  padding-top: 40.8%;
  position: absolute;
  top: 0;
  left: 0;
}
@media all and (max-width: 1150px) {
  .top_fmarket .fmarket_img {
    top: 100px;
  }
}
@media all and (max-width: 639px) {
  .top_fmarket .fmarket_img {
    width: 100%;
    padding-top: 102%;
    top: 0;
  }
}
.top_fmarket .fmarket_img:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/fmarket_img.png) no-repeat center/100%;
}
.top_fmarket .fmarket_txt {
  margin-bottom: 60px;
}
.top_fmarket .btn01 {
  margin-bottom: 2rem;
}
@media all and (max-width: 639px) {
  .top_fmarket .h_ttl_big {
    margin-top: 350px;
  }
}

.sdgs_bnr {
  width: 300px;
  margin: 0 auto 2rem;
}

.sdgs_list {
  display: flex;
  justify-content: center;
}
.sdgs_list li {
  max-width: 200px;
  margin: 1rem;
}

.footer_lead {
  font-size: 1.1em;
  letter-spacing: 0;
}

.foot_contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 2rem;
}
.foot_contact .btn01 a {
  font-size: 1.1em;
  font-weight: 500;
}
@media all and (max-width: 1150px) {
  .foot_contact .btn01 a {
    width: 100%;
  }
}
@media all and (max-width: 1150px) {
  .foot_contact li {
    width: 48%;
  }
}
@media all and (max-width: 639px) {
  .foot_contact li {
    width: 100%;
  }
}
.foot_contact li:first-child {
  margin-right: 1rem;
}
@media all and (max-width: 639px) {
  .foot_contact li:first-child {
    margin: 0 0 10px;
  }
}

.under_bg {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)), url(../img/under_bg.jpg) repeat center top;
}

.event_box {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #ccc;
}
.event_box a {
  color: #2a2a2a;
}
.event_box .event_date {
  margin-bottom: 1rem;
}
.event_box .event_date i {
  margin-right: 5px;
}
.event_box .event_date span {
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
}
.event_box figure a {
  display: block;
  overflow: hidden;
  height: 300px;
}
.event_box figure a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s ease;
}
.event_box figure a:hover img {
  transform: scale(1.1);
}

.flow_dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flow_dl dt {
  width: 80px;
  font-size: 2rem;
  font-weight: 600;
  color: #d03721;
  text-align: center;
  text-shadow: 3px 3px 0 #ccc;
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
  line-height: 1;
}
.flow_dl dt span {
  display: block;
  font-weight: 600;
  font-size: 3rem;
}
.flow_dl dd {
  width: calc(100% - 120px);
}

.flow > li {
  position: relative;
}

.flow > li:not(:last-child) {
  margin-bottom: 40px;
}

.flow > li dl {
  width: 100%;
  padding: 20px 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  border: 2px solid #d03721;
  border-radius: 10px;
  position: relative;
}

.flow > li:not(:last-child) dl::before,
.flow > li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.flow > li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: #d03721;
}

.flow > li:not(:last-child) dl::after {
  border-width: 20px;
  border-top-color: #fff;
}

.flow > li dl dt {
  width: 30%;
  font-weight: 600;
  margin-right: 2%;
  text-align: center;
}
@media all and (max-width: 639px) {
  .flow > li dl dt {
    width: 100%;
    margin: 1rem 0;
  }
}

.flow > li dl dd {
  width: 68%;
}
@media all and (max-width: 639px) {
  .flow > li dl dd {
    width: 100%;
  }
}

.flow > li dl dt .icon {
  font-size: 12px;
  background: #ffd08a;
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 100;
  font-family: "Neuton", serif;
  letter-spacing: 0.25rem;
  font-weight: 700;
}

.bg_grad {
  position: relative;
  background: linear-gradient(to bottom, #e7ffce, #fff);
}

.bg_foot {
  position: relative;
  background: linear-gradient(to bottom, #e7ffce, #fff);
}
.bg_foot:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #e7ffce, #fff);
  -webkit-clip-path: polygon(79% 3%, 100% 0, 100% 100%, 0 100%, 0 0, 19% 5%, 55% 0);
          clip-path: polygon(79% 3%, 100% 0, 100% 100%, 0 100%, 0 0, 19% 5%, 55% 0);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.bg_clip {
  position: relative;
  z-index: 2;
}
.bg_clip:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  background: linear-gradient(to bottom, #e7ffce, #fff);
  -webkit-clip-path: polygon(49% 2%, 63% 0, 85% 2%, 100% 0, 100% 100%, 0 100%, 0 0, 14% 2%, 28% 0);
          clip-path: polygon(49% 2%, 63% 0, 85% 2%, 100% 0, 100% 100%, 0 100%, 0 0, 14% 2%, 28% 0);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media all and (max-width: 639px) {
  .bg_clip:before {
    -webkit-clip-path: polygon(100% 0, 100% 100%, 89% 99%, 74% 100%, 52% 98%, 35% 100%, 12% 98%, 0 100%, 0 0);
            clip-path: polygon(100% 0, 100% 100%, 89% 99%, 74% 100%, 52% 98%, 35% 100%, 12% 98%, 0 100%, 0 0);
  }
}
.bg_clip.v2:before {
  background: #39dc58;
}

.bg_clip2 {
  position: relative;
  z-index: 2;
}
.bg_clip2:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  -webkit-clip-path: polygon(49% 2%, 63% 0, 85% 2%, 100% 0, 100% 100%, 0 100%, 0 0, 14% 2%, 28% 0);
          clip-path: polygon(49% 2%, 63% 0, 85% 2%, 100% 0, 100% 100%, 0 100%, 0 0, 14% 2%, 28% 0);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media all and (max-width: 639px) {
  .bg_clip2:before {
    -webkit-clip-path: polygon(100% 0, 100% 100%, 89% 99%, 74% 100%, 52% 98%, 35% 100%, 12% 98%, 0 100%, 0 0);
            clip-path: polygon(100% 0, 100% 100%, 89% 99%, 74% 100%, 52% 98%, 35% 100%, 12% 98%, 0 100%, 0 0);
  }
}
.bg_clip2.v2:before {
  background: #39dc58;
}

.bg_sippo {
  position: relative;
}
.bg_sippo .sippo_img {
  width: 400px;
  position: absolute;
  bottom: 80px;
  left: -110px;
}
.bg_sippo .sippo_img img {
  width: 100%;
}
@media all and (max-width: 1150px) {
  .bg_sippo .sippo_img {
    left: -80px;
    width: 35%;
    bottom: 20px;
  }
}
@media all and (max-width: 639px) {
  .bg_sippo .sippo_img {
    bottom: 0;
    left: -40px;
  }
}

.deco_wrap {
  position: relative;
}
.deco_wrap .deco_img1, .deco_wrap .deco_img2, .deco_wrap .deco_img3,
.deco_wrap .deco_img1_2, .deco_wrap .deco_img2_2, .deco_wrap .deco_img3_2 {
  width: 100px;
  position: absolute;
}
@media all and (max-width: 639px) {
  .deco_wrap .deco_img1, .deco_wrap .deco_img2, .deco_wrap .deco_img3,
  .deco_wrap .deco_img1_2, .deco_wrap .deco_img2_2, .deco_wrap .deco_img3_2 {
    width: 60px;
  }
}
.deco_wrap .deco_img1 {
  top: 100px;
  left: -20px;
  transform: rotate(-15deg);
}
@media all and (max-width: 1150px) {
  .deco_wrap .deco_img1 {
    left: 0;
  }
}
.deco_wrap .deco_img1_2 {
  width: 70px;
  bottom: 200px;
  right: -30px;
  transform: rotate(5deg);
}
@media all and (max-width: 639px) {
  .deco_wrap .deco_img1_2 {
    width: 40px;
    bottom: 100px;
  }
}
.deco_wrap .deco_img2 {
  top: 60px;
  right: -40px;
  transform: rotate(15deg);
}
@media all and (max-width: 1150px) {
  .deco_wrap .deco_img2 {
    right: 0;
  }
}
.deco_wrap .deco_img2_2 {
  bottom: -50px;
  left: 40px;
}
@media all and (max-width: 639px) {
  .deco_wrap .deco_img2_2 {
    bottom: -20px;
  }
}
.deco_wrap .deco_img3 {
  bottom: -20px;
  left: -20px;
  transform: rotate(-15deg);
}
@media all and (max-width: 1150px) {
  .deco_wrap .deco_img3 {
    bottom: -20px;
    left: 0;
  }
}
.deco_wrap .deco_img3_2 {
  width: 160px;
  top: -30px;
  right: -20px;
  transform: rotate(5deg);
}
@media all and (max-width: 1150px) {
  .deco_wrap .deco_img3_2 {
    width: 120px;
    top: -40px;
    right: 0;
  }
}

.sp_inner {
  display: flex;
  justify-content: center;
}
.sp_inner .head_insta, .sp_inner .head_fb {
  margin: 0.5rem;
}
.sp_inner .head_insta a, .sp_inner .head_fb a {
  font-size: 2rem;
}
.sp_inner .head_insta a {
  color: #cf2e92;
}
.sp_inner .head_fb a {
  color: #3b5998;
}

.sp_contact .sp_telbtn a {
  position: relative;
  display: block;
  width: 80%;
  max-width: 300px;
  margin-inline: auto;
  padding: 9px 0;
  background-color: #ffd08a;
  background-image: url(../img/cat_btn.svg);
  background-repeat: no-repeat;
  background-size: 18px;
  background-position: center right 20px;
  transition: 0.8s ease;
  border-radius: 30px;
  border: 1px solid #d03721;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.2;
  color: #2a2a2a;
}
@media all and (max-width: 639px) {
  .sp_contact .sp_telbtn a {
    max-width: initial;
  }
}
.sp_contact .sp_telbtn a i {
  margin-right: 5px;
  font-size: 0.8em;
}
.sp_contact .sp_telbtn a:hover {
  background-image: url(../img/cat_btn2.svg);
  color: #d03721;
  background-color: #fff;
  background-position: center left 20px;
}
.sp_contact .btn01 {
  width: 80%;
  margin: 1rem auto 0;
  font-size: 1rem;
}
.sp_contact .btn01 a {
  padding: 0.5rem 1rem;
}
.sp_contact .btn01 a:before {
  top: 9px;
}

.sp_tel_fax {
  display: none;
}
@media all and (max-width: 1150px) {
  .sp_tel_fax {
    display: block;
    padding: 15px 0 0;
  }
}

.anim, .anim2 {
  opacity: 0;
  display: inline-block;
  overflow: hidden;
}
.anim.on, .anim2.on {
  animation-name: cacth;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.8, 0, 0.5, 1);
  position: relative;
}
.anim.on:before, .anim2.on:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.anim:before {
  background: #fff;
}

.anim2 {
  font-size: 1.25rem !important;
  color: #fff;
}
.anim2:before {
  display: none;
}
@media all and (max-width: 639px) {
  .anim2 {
    font-size: 1rem;
  }
}

@keyframes cacth {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
ruby[data-ruby] {
  position: relative;
}
ruby[data-ruby]:before {
  content: attr(data-ruby);
  position: absolute;
  left: -2em;
  top: -1.25em;
  right: -2em;
  text-align: center;
  font-size: 0.5em;
  font-weight: 400;
}
@media all and (max-width: 639px) {
  ruby[data-ruby]:before {
    letter-spacing: -2px;
  }
}
ruby[data-ruby].under:before {
  position: absolute;
  top: inherit;
  bottom: -1.25em;
}
@media all and (max-width: 639px) {
  ruby[data-ruby].under:before {
    letter-spacing: -2px;
  }
}
ruby[data-ruby].small:before {
  top: -1.5em;
}
@media all and (max-width: 639px) {
  ruby[data-ruby].small:before {
    top: -2em;
    letter-spacing: -2px;
  }
}

.blog-wrap {
  display: flex;
  flex-wrap: wrap;
}
.blog-wrap * {
  transition: 0.3s;
}
.blog-wrap > li {
  width: 23%;
  margin: 0 1% 15px;
  box-sizing: border-box;
}
@media all and (max-width: 1200px) {
  .blog-wrap > li {
    width: 49%;
  }
}
.blog-wrap > li > a {
  position: relative;
  top: 0;
  left: 0;
}
.blog-wrap > li > a:hover ~ .blog-img img {
  opacity: 1;
  transform: scale(1.2);
}
@media all and (max-width: 639px) {
  .blog-wrap > li {
    width: 90%;
    margin: 0 auto 10px;
  }
}

.blog_main .blog-wrap li {
  width: 31%;
}
@media all and (max-width: 1200px) {
  .blog_main .blog-wrap li {
    width: 49%;
  }
}
@media all and (max-width: 639px) {
  .blog_main .blog-wrap li {
    width: 90%;
    margin: 0 auto 10px;
  }
}

.blog-img {
  width: 100%;
  height: 180px;
  overflow: hidden;
  box-sizing: border-box;
}
.blog-img img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.4s ease;
  font-family: "object-fit: cover;";
  /*IE対策*/
}
.blog-img:hover img {
  opacity: 1 !important;
  transform: scale(1.2);
}

.blog-date {
  color: #1258d9;
  padding: 8px 0;
  display: block;
  position: relative;
}
.blog-date .year {
  margin-top: 10px;
  display: block;
  font-size: 1.5rem;
}
.blog-date .month {
  font-size: 1.2rem;
}
.blog-date .day {
  font-size: 1.8rem;
  display: inline-block;
}
.blog-date .day:before {
  content: "/";
  padding: 0 3px 0 0;
}

.blog-body {
  margin-top: 10px;
  font-size: 0.875rem;
}

.foot_print {
  position: relative;
}
@media all and (max-width: 1150px) {
  .foot_print.type1 {
    padding-bottom: 80px;
  }
}
.foot_print .foot_illust_l, .foot_print .foot_illust_r, .foot_print .foot_illust_r2 {
  width: 600px;
  position: absolute;
  z-index: 2;
  overflow: hidden;
}
@media all and (max-width: 1150px) {
  .foot_print .foot_illust_l, .foot_print .foot_illust_r, .foot_print .foot_illust_r2 {
    width: 380px;
  }
}
@media all and (max-width: 639px) {
  .foot_print .foot_illust_l, .foot_print .foot_illust_r, .foot_print .foot_illust_r2 {
    width: 240px;
  }
}
.foot_print .foot_illust_l {
  bottom: -50px;
  left: 0;
}
@media all and (max-width: 1150px) {
  .foot_print .foot_illust_l {
    bottom: 0;
  }
}
.foot_print .foot_illust_r {
  bottom: 50px;
  right: 0;
}
@media all and (max-width: 1150px) {
  .foot_print .foot_illust_r {
    bottom: 0;
  }
}
.foot_print .foot_illust_r2 {
  bottom: -80px;
  right: 0;
}
@media all and (max-width: 1150px) {
  .foot_print .foot_illust_r2 {
    bottom: 0;
  }
}
.foot_print .flower_illust_r {
  width: 400px;
  position: absolute;
  z-index: 2;
  overflow: hidden;
  bottom: -80px;
  right: 0;
}
@media all and (max-width: 1150px) {
  .foot_print .flower_illust_r {
    width: 200px;
    bottom: 0;
  }
}
.foot_print .flower_illust_l {
  width: 400px;
  position: absolute;
  z-index: 2;
  overflow: hidden;
  bottom: -80px;
  left: 0;
}
@media all and (max-width: 1150px) {
  .foot_print .flower_illust_l {
    width: 200px;
    bottom: 0;
  }
}
@media all and (max-width: 639px) {
  .foot_print .flower_illust_l {
    width: 150px;
  }
}

@media all and (max-width: 639px) {
  .rec_img .img1, .rec_img .img2 {
    display: none;
  }
  .rec_img .img3 {
    margin-bottom: 2rem;
  }
}

.clip_img img {
  -webkit-clip-path: polygon(7% 1%, 0 11%, 3% 52%, 0% 80%, 2% 99%, 27% 100%, 93% 99%, 100% 88%, 99% 54%, 100% 20%, 97% 1%, 23% 0);
          clip-path: polygon(7% 1%, 0 11%, 3% 52%, 0% 80%, 2% 99%, 27% 100%, 93% 99%, 100% 88%, 99% 54%, 100% 20%, 97% 1%, 23% 0);
}

.clip_img2 img {
  -webkit-clip-path: polygon(20% 0, 0 5%, 1% 52%, 0 90%, 5% 100%, 35% 98%, 74% 100%, 97% 99%, 100% 86%, 99% 16%, 96% 0, 46% 1%);
          clip-path: polygon(20% 0, 0 5%, 1% 52%, 0 90%, 5% 100%, 35% 98%, 74% 100%, 97% 99%, 100% 86%, 99% 16%, 96% 0, 46% 1%);
}

.clip_img3 img {
  -webkit-clip-path: polygon(40% 2%, 8% 0, 1% 12%, 0 90%, 5% 99%, 27% 100%, 65% 99%, 93% 100%, 99% 96%, 100% 28%, 96% 2%, 67% 0);
          clip-path: polygon(40% 2%, 8% 0, 1% 12%, 0 90%, 5% 99%, 27% 100%, 65% 99%, 93% 100%, 99% 96%, 100% 28%, 96% 2%, 67% 0);
}

.deco_img {
  position: relative;
}
.deco_img:before, .deco_img:after {
  content: "";
  display: block;
  width: 120px;
  height: 60px;
  position: absolute;
}
.deco_img:before {
  bottom: 0;
  right: 0;
}

.gallery_toggle_wrap {
  padding-bottom: 100px;
  position: relative;
  z-index: 4;
}
.gallery_toggle_wrap .gallery_inner {
  height: 300px;
  overflow: hidden;
}
.gallery_toggle_wrap .gallery_toggle {
  width: 100%;
  padding-top: 60px;
  text-align: center;
  line-height: 30px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 70%);
  transition: bottom 0.5s;
  position: absolute;
  bottom: 80px;
  left: 0;
}
.gallery_toggle_wrap .gallery_toggle span {
  width: 300px;
  display: inline-block;
  padding: 1rem 2rem;
  color: #fff;
  background-color: #1eaa39;
  border: 1px solid #1eaa39;
  background-image: url(../img/cat_btn.svg);
  background-repeat: no-repeat;
  background-size: 18px;
  background-position: center right 20px;
  transition: 0.8s ease;
  border-radius: 4rem;
  position: relative;
  text-align: center;
  font-size: 14px;
  cursor: pointer;
}
.gallery_toggle_wrap .gallery_toggle span:hover {
  background-position: center left 20px;
}
.gallery_toggle_wrap .gallery_toggle.active {
  background: none;
  bottom: 0;
}

.gallery_list {
  display: flex;
  flex-wrap: wrap;
}
.gallery_list li {
  width: 23%;
  margin: 1rem 1%;
}
@media all and (max-width: 1150px) {
  .gallery_list li {
    width: 48%;
  }
}
.gallery_list li a {
  display: block;
  height: 200px;
  overflow: hidden;
}
@media all and (max-width: 639px) {
  .gallery_list li a {
    height: 100px;
  }
}
.gallery_list li a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.5s ease;
}
.gallery_list li a:hover img {
  transform: scale(1.1);
}
.gallery_list li .txt {
  font-weight: 600;
  padding-bottom: 5px;
  border-bottom: 1px solid #1258d9;
}

.gallery_list2 {
  display: flex;
}
.gallery_list2 li {
  width: 48%;
  margin: 1rem 1%;
}
.gallery_list2 li a {
  display: block;
  height: 200px;
  overflow: hidden;
}
@media all and (max-width: 639px) {
  .gallery_list2 li a {
    height: 100px;
  }
}
.gallery_list2 li a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.5s ease;
}
.gallery_list2 li a:hover img {
  transform: scale(1.1);
}
.gallery_list2 li .txt {
  font-weight: 600;
  padding-bottom: 5px;
  border-bottom: 1px solid #1258d9;
}

.gallery_list3 {
  display: flex;
}
.gallery_list3 li {
  width: 98%;
  margin: 1rem 1%;
}
@media all and (max-width: 1150px) {
  .gallery_list3 li {
    width: 48%;
  }
}
.gallery_list3 li a {
  display: block;
  height: 200px;
  overflow: hidden;
}
@media all and (max-width: 639px) {
  .gallery_list3 li a {
    height: 100px;
  }
}
.gallery_list3 li a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.5s ease;
}
.gallery_list3 li a:hover img {
  transform: scale(1.1);
}
.gallery_list3 li .txt {
  font-weight: 600;
  padding-bottom: 5px;
  border-bottom: 1px solid #1258d9;
}

.gallery_list4 {
  display: flex;
}
.gallery_list4 li {
  width: 98%;
  margin: 1rem 1%;
}
@media all and (max-width: 1150px) {
  .gallery_list4 li {
    width: 100%;
    margin: 1rem 0;
  }
}
.gallery_list4 li a {
  display: block;
  height: 200px;
  overflow: hidden;
}
@media all and (max-width: 639px) {
  .gallery_list4 li a {
    height: 100px;
  }
}
.gallery_list4 li a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.5s ease;
}
.gallery_list4 li a:hover img {
  transform: scale(1.1);
}
.gallery_list4 li .txt {
  font-weight: 600;
  padding-bottom: 5px;
  border-bottom: 1px solid #1258d9;
}

.menu-list {
  margin-bottom: 30px;
}
.menu-list.type1 li {
  background: #d03721;
  color: #fff;
}
.menu-list.type1 li .right {
  color: #f1c80d;
}
.menu-list > li {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 8px 4px;
}
.menu-list > li:not(:last-of-type) {
  margin-bottom: 20px;
}
.menu-list > li p {
  display: inline-block;
  line-height: 1.5;
}
.menu-list > li:before {
  background: radial-gradient(#aaa 20%, transparent 0) center center/8px 8px;
  content: "";
  display: inline-block;
  flex: 1;
  height: 4px;
  margin: 0 1.2em;
}
@media all and (max-width: 639px) {
  .menu-list > li:before {
    margin: 0 5px;
  }
}
.menu-list > li .info {
  flex-basis: 100%;
  margin-top: 5px;
  padding: 8px;
  letter-spacing: 0;
}
@media all and (max-width: 639px) {
  .menu-list > li .info {
    font-size: 13px;
  }
}
.menu-list > li .left {
  order: -1;
  max-width: 65%;
  letter-spacing: 0.1rem;
  font-weight: 600;
  position: relative;
}
.menu-list > li .left .small {
  padding-top: 5px;
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0;
}
.menu-list > li .left:after {
  content: ".";
  display: inline-block;
  width: 0;
  color: transparent;
  pointer-events: none;
}
@media all and (max-width: 639px) {
  .menu-list > li .left {
    max-width: 65%;
  }
  .menu-list > li .left .small {
    font-size: 12px;
  }
}
.menu-list > li .right {
  max-width: 35%;
  text-align: right;
  font-weight: 600;
  font-size: 1.125rem;
}

.num_list li {
  display: flex;
  align-items: center;
  padding: 1rem 0;
  border-bottom: solid 1px #eee;
}
.num_list li span {
  display: inline-block;
  width: 60px;
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  color: #d03721;
}
@media all and (max-width: 639px) {
  .num_list li span {
    font-size: 1.5rem;
  }
}
.num_list li p {
  width: calc(100% - 80px);
}

.worker_ul li {
  padding: 1rem;
  border-bottom: 1px solid #ddd;
}
.worker_ul li span {
  display: inline-block;
  padding: 5px 10px;
  background: #1eaa39;
  color: #fff;
  margin-right: 1rem;
}

.time_table {
  border-left: 1px solid #1eaa39;
}
@media all and (max-width: 639px) {
  .time_table {
    margin-top: 30px;
  }
}
.time_table .time_wrap {
  margin-bottom: 1rem;
}
.time_table .time_wrap p {
  padding-left: 1.2rem;
}
.time_table .time_wrap .ttl {
  position: relative;
  font-weight: bold;
  margin-bottom: 5px;
  color: #6f5240;
}
.time_table .time_wrap .ttl:before {
  content: "";
  background: #1eaa39;
  display: block;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-0.5em, -50%);
}

.flower_box {
  position: relative;
}
.flower_box .flower_img {
  width: 80px;
  position: absolute;
  top: -10px;
  left: -20px;
  z-index: 1;
  transform: rotate(-15deg);
}
.flower_box .flower_img2 {
  width: 120px;
  position: absolute;
  bottom: 20px;
  right: -20px;
  z-index: 1;
}
@media all and (max-width: 1150px) {
  .flower_box .flower_img {
    width: 60px;
    left: 0;
  }
  .flower_box .flower_img2 {
    width: 80px;
    right: 0;
    bottom: -25px;
  }
}

.top_recruit_txt {
  text-align: center;
  padding: 25px 15px;
}

.daily-dl {
  position: relative;
}
@media all and (max-width: 639px) {
  .daily-dl {
    margin-bottom: 60px;
  }
}
.daily-dl .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 30px;
  position: relative;
}
.daily-dl .inner:before {
  position: absolute;
  content: "";
  height: 125%;
  width: 8px;
  top: 25px;
  left: 35px;
  background: #eee;
}
.daily-dl .inner:last-child:before {
  display: none;
}
@media all and (max-width: 639px) {
  .daily-dl .inner {
    width: 100%;
    margin: 0 auto 20px;
  }
  .daily-dl .inner:before {
    width: 8px;
    height: 130%;
    left: 30px;
    top: 15px;
  }
}
.daily-dl .inner dt {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1258d9;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 600;
  position: relative;
  z-index: 4;
}
.daily-dl .inner dt.line2 {
  line-height: 1.2;
  padding-top: 18px;
}
.daily-dl .inner dt.ja {
  font-family: "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  letter-spacing: 0;
}
@media all and (max-width: 639px) {
  .daily-dl .inner dt {
    width: 60px;
    height: 60px;
    font-size: 0.5rem;
  }
}
.daily-dl .inner dd {
  flex: 1;
  position: relative;
  background: #fff;
  left: -10px;
  margin-top: 10px;
  padding: 15px 10px 15px 15px;
  font-weight: 600;
  z-index: 2;
  background: #fcfcfc;
  box-shadow: 0 0 0 3px #1eaa39;
  border-radius: 10px 0 10px 0;
}
@media all and (max-width: 639px) {
  .daily-dl .inner dd {
    margin-top: 10px;
  }
}

.swiper-container {
  overflow: hidden;
}
.swiper-container.slider-thumbnail {
  margin-bottom: 30px;
}
.swiper-container.slider-thumbnail .swiper-wrapper .swiper-slide {
  height: 100%;
  overflow: hidden;
}
.swiper-container.slider-thumbnail .swiper-wrapper .swiper-slide .step_arw {
  display: block;
  padding: 10px 20px;
  background: #fafafa;
  color: #ccc;
  font-weight: 600;
  text-align: center;
  -webkit-clip-path: polygon(0% 0%, 95% 0, 100% 50%, 95% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 95% 0, 100% 50%, 95% 100%, 0% 100%);
  cursor: pointer;
}
.swiper-container.slider-thumbnail .swiper-wrapper .swiper-slide .step_arw.last {
  -webkit-clip-path: none;
          clip-path: none;
}
@media all and (max-width: 639px) {
  .swiper-container.slider-thumbnail .swiper-wrapper .swiper-slide .step_arw {
    font-size: 0.5rem;
  }
}
.swiper-container.slider-thumbnail .swiper-wrapper .swiper-slide.swiper-slide-thumb-active .step_arw {
  color: #fff;
  background: #d03721;
}
.swiper-container.slider .swiper-wrapper .swiper-slide {
  padding: 40px;
  background: #fff;
}
@media all and (max-width: 639px) {
  .swiper-container.slider .swiper-wrapper .swiper-slide {
    padding: 20px 10px;
  }
}
.swiper-container.slider .swiper-wrapper .swiper-slide .step_ttl {
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #2a2a2a;
}
.swiper-container.slider .swiper-wrapper .swiper-slide .step_ttl span {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: #1258d9;
  color: #fff;
  font-weight: 600;
  margin-right: 5px;
}

.mtitle_ballon {
  position: relative;
  margin-bottom: 20px;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
}
@media all and (max-width: 1150px) {
  .mtitle_ballon {
    font-size: 1.25rem;
  }
}
@media all and (max-width: 639px) {
  .mtitle_ballon {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.125rem;
  }
}

.mtitle_ballon::before, .mtitle_ballon::after {
  content: "";
  position: relative;
  display: inline-block;
  background: #333;
  width: 2px;
  height: 0.8em;
  margin: -0.2em 1em 0;
  vertical-align: middle;
}
@media all and (max-width: 639px) {
  .mtitle_ballon::before, .mtitle_ballon::after {
    height: 1.5rem;
    margin: -0.2em 0.5rem 0;
  }
}

.mtitle_ballon::before {
  transform: rotate(-35deg);
}

.mtitle_ballon::after {
  transform: rotate(35deg);
}

.marker1 {
  background: linear-gradient(transparent 80%, #1258d9 0%);
  margin-right: 0.5rem;
  font-weight: 600;
}

.marker2 {
  background: linear-gradient(transparent 80%, #1eaa39 0%);
  margin-right: 0.5rem;
  font-weight: 600;
}

.marker3 {
  background: linear-gradient(transparent 80%, #f1c80d 0%);
  margin-right: 0.5rem;
  font-weight: 600;
}

.flow-list {
  position: relative;
}
.flow-list.type1 {
  display: block;
}
.flow-list.type1 > li {
  width: 90%;
}
.flow-list.type1 > li:nth-child(2) {
  margin-left: 2%;
}
.flow-list.type1 > li:nth-child(3) {
  margin-left: 4%;
}
.flow-list.type1 > li:nth-child(4) {
  margin-left: 6%;
}
.flow-list.type1 > li:nth-child(5) {
  margin-left: 8%;
}
.flow-list.type1 > li .flow-title {
  margin-bottom: 10px;
}
@media all and (max-width: 639px) {
  .flow-list.type1 > li {
    width: 100%;
  }
  .flow-list.type1 > li:nth-child(2), .flow-list.type1 > li:nth-child(3), .flow-list.type1 > li:nth-child(4), .flow-list.type1 > li:nth-child(5) {
    margin-left: 0;
  }
}
.flow-list > li {
  width: 100%;
  margin-right: 4%;
  margin-bottom: 30px;
  align-items: center;
  padding: 25px;
  display: flex;
  flex-wrap: wrap;
  background: #fefefe;
  border-radius: 10px;
  box-shadow: 0 0 15px rgba(42, 42, 42, 0.05);
  font-weight: 700;
}
.flow-list > li.type100 {
  flex-basis: 100%;
  margin-right: 0;
}
.flow-list > li:nth-child(2n) {
  margin-right: 0;
}
@media all and (max-width: 639px) {
  .flow-list > li {
    width: 90%;
    margin: 0 auto 30px;
  }
  .flow-list > li:nth-child(2n) {
    margin-right: auto;
  }
}
.flow-list > li .flow-num {
  color: #1eaa39;
  font-size: 3.5rem;
  border-right: 1px solid #1eaa39;
  padding-right: 15px;
  align-self: center;
  line-height: 1.2;
  font-weight: 600;
}
.flow-list > li .flow-num span {
  font-size: 1.3rem;
  display: block;
  text-align: center;
}
.flow-list > li .txt {
  flex: 1;
  margin-left: 35px;
}
.flow-list > li .flow-title {
  color: #d03721;
  border-bottom: 1px solid #1eaa39;
  padding-bottom: 4px;
  font-weight: 700;
  font-size: 1.8rem;
  letter-spacing: 0.2rem;
}
@media all and (max-width: 639px) {
  .flow-list > li {
    flex-direction: column;
  }
  .flow-list > li .flow-num {
    font-size: 2.2rem;
    text-align: center;
    border-right: 0;
    padding: 0 0 4px;
    border-bottom: 1px solid #1eaa39;
  }
  .flow-list > li .flow-title {
    font-size: 1.3rem;
  }
  .flow-list > li .txt {
    margin: 20px auto 0;
  }
}

.bdr_ttl span {
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 2px dashed #d03721;
}

.pwd_box input {
  border: 1px solid #ccc;
  padding: 0.5rem;
}
.pwd_box input[type=submit] {
  background: #1258d9;
  color: #fff;
  font-weight: 600;
}

.rin_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.rin_list li {
  margin: 1rem;
  font-size: 1.125rem;
  font-weight: 600;
}
.rin_list li:nth-of-type(1) {
  color: #d03721;
}
.rin_list li:nth-of-type(2) {
  color: #1258d9;
}
.rin_list li:nth-of-type(3) {
  color: #1eaa39;
}
.rin_list li div {
  font-weight: 600;
}

.features_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 60px;
}
.features_list li {
  width: 31%;
  position: relative;
}
@media all and (max-width: 639px) {
  .features_list li {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.features_list li .num {
  width: 50px;
  height: 50px;
  background: #d03721;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 50%;
  font-size: 1.25rem;
  font-weight: 600;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
.features_list li .num.type2 {
  background: #1258d9;
}
.features_list li .num.type3 {
  background: #1eaa39;
}
.features_list li .ttl {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 10px 0;
}

.activity_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 100px;
}
@media all and (max-width: 1150px) {
  .activity_list {
    margin-top: 0;
  }
}
.activity_list li {
  width: 48%;
  margin: 0 1%;
}
@media all and (max-width: 1150px) {
  .activity_list li {
    width: 98%;
    margin: 40px 1% 0;
  }
}
.activity_list li:last-child {
  margin-top: 40px;
}
.activity_list li .activity_box {
  padding: 2.5rem 2rem 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: auto;
  background: #fff;
  border-radius: 20px;
  border: 2px solid #2a2a2a;
  position: relative;
}
@media all and (max-width: 1150px) {
  .activity_list li .activity_box {
    padding: 1.5rem 1rem 1rem;
  }
}
.activity_list li .activity_box p {
  font-weight: 600;
}
.activity_list li .activity_box .ttl {
  width: 340px;
  text-align: center;
  padding: 0.5rem 1rem;
  -webkit-clip-path: polygon(0 0, 20% 1%, 51% 0, 72% 1%, 87% 0, 100% 2%, 100% 100%, 83% 98%, 63% 100%, 43% 98%, 23% 100%, 0 99%);
          clip-path: polygon(0 0, 20% 1%, 51% 0, 72% 1%, 87% 0, 100% 2%, 100% 100%, 83% 98%, 63% 100%, 43% 98%, 23% 100%, 0 99%);
  color: #fff;
  font-weight: 600;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
}
@media all and (max-width: 639px) {
  .activity_list li .activity_box .ttl {
    width: auto;
    padding: 0.5rem;
    margin-bottom: 1rem;
    position: static;
    transform: none;
  }
}
.activity_list li .activity_box.type1 {
  border: 2px solid #d03721;
}
.activity_list li .activity_box.type1 .ttl {
  background: #d03721;
}
.activity_list li .activity_box.type2 {
  border: 2px solid #1258d9;
}
.activity_list li .activity_box.type2 .ttl {
  background: #1258d9;
}
.activity_list li .activity_box.type3 {
  border: 2px solid #1eaa39;
}
.activity_list li .activity_box.type3 .ttl {
  background: #1eaa39;
}

.care_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  filter: drop-shadow(0 2px 3px #eee);
}
.care_list li {
  width: 48%;
  padding: 2rem;
  margin-bottom: 2rem;
  background: #fff;
  -webkit-clip-path: polygon(7% 1%, 0 11%, 3% 52%, 0% 80%, 2% 99%, 27% 100%, 93% 99%, 100% 88%, 99% 54%, 100% 20%, 97% 1%, 23% 0);
          clip-path: polygon(7% 1%, 0 11%, 3% 52%, 0% 80%, 2% 99%, 27% 100%, 93% 99%, 100% 88%, 99% 54%, 100% 20%, 97% 1%, 23% 0);
}
@media all and (max-width: 639px) {
  .care_list li {
    width: 100%;
  }
}
.care_list li .ttl {
  margin: 10px 0;
  font-size: 1.125rem;
  font-weight: 600;
}/*# sourceMappingURL=basis.css.map */


.pdf_link {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.pdf_link li {
 width: 48%;
 margin-bottom: 20px;
}
.pdf_link li a {
 display: block;
 width: 100%;
 border: 1px solid #ccc;
 font-size: 1rem;
 padding: 10px;
}
.pdf_link li a img {
 display: inline-block;
 width: 20px;
 margin-right: 6px;
 transform: translateY(5px);
  line-height: 1;
  vertical-align: top;
  max-width: 100%;
  transition: .4s;
  font-size: 0;
}



 .contact {
  display: flex;
  align-items: center;
      justify-content: space-around;
}
 .contact .tel_btn {
  margin-right: 10px;
}
 .contact .tel_btn a {
  color: #1258d9;
  font-size: 1.5rem;
  font-weight: 600;
}
 .contact .tel_btn a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f87b";
  font-weight: 900;
  margin-right: 5px;
}
.marker {
  background: linear-gradient(transparent 60%, #fff59d 60%);
}
.sp_only{
  display: none;
}
@media all and (max-width: 639px){
 .sp_only{
  display: block;
} 
}


.kokoro {
    color: #1eaa39;
    font-weight: 600;
}
.kokoro_b b {
    font-weight: 600;
    text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, 0px 2px 0 #fff, -2px 0 #fff, -2px 0 0 #fff, 2px 0 0 #fff;
}
.kokoro_b b:nth-of-type(1) {
    color: #e6591f;
}
.kokoro_b b:nth-of-type(2) {
    color: #bd0034;
}
.kokoro_b b:nth-of-type(3) {
    color: #12a644;
}