@charset "UTF-8";
/* ブレイクポイント設定　*/
/* Color Settings */
:root {
  --mc: #2B70B8;
  --ac: #1bb1a8;
  --sc: #d5d7c9;
  --bk: #3c3c3c;
  --gy: #3e3a39;
}

/*-----------------------
reset
-----------------------*/
html, body, div, span, applet, object, iframe, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  vertical-align: middle;
  font-weight: 200;
}

q::before, q::after, blockquote::before, blockquote::after {
  content: "";
  content: none;
  color: #000;
}

a {
  display: inline-block;
  text-decoration: none;
  color: #000;
}

a img {
  border: none;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

ul {
  list-style: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, address {
  display: block;
}

h1, h2, h3, h4, h5 {
  margin: 0;
  font-weight: normal;
  line-height: 1;
}

address {
  font-style: normal;
}

p {
  margin: 0;
}

input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

*:focus {
  outline: none;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

button {
  padding: 0;
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
  background-color: transparent;
}

/*==================================================
* ページパーツ
*================================================*/
.el_sec_ttl {
  display: flex;
  flex-direction: column-reverse;
  color: var(--mc);
}
.el_sec_ttl span {
  text-transform: uppercase;
}

.el_text + .el_text {
  margin-top: 1em;
}

/*==================================================
* マージン
*================================================*/
.hp_mt0 {
  margin-top: 0 !important;
}

.hp_mb0 {
  margin-bottom: 0 !important;
}

@media screen and (max-width: 767px) {
  .hp_mb20 {
    margin-bottom: 2.6666666667vw !important;
  }
}
@media screen and (min-width: 768px) {
  .hp_mb20 {
    margin-bottom: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .hp_mb30 {
    margin-bottom: 8vw !important;
  }
}
@media screen and (min-width: 768px) {
  .hp_mb30 {
    margin-bottom: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .hp_mb40 {
    margin-bottom: 10.6666666667vw !important;
  }
}
@media screen and (min-width: 768px) {
  .hp_mb40 {
    margin-bottom: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .hp_mb50 {
    margin-bottom: 13.3333333333vw !important;
  }
}
@media screen and (min-width: 768px) {
  .hp_mb50 {
    margin-bottom: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .hp_mb75 {
    margin-bottom: 16vw !important;
  }
}
@media screen and (min-width: 768px) {
  .hp_mb75 {
    margin-bottom: 75px !important;
  }
}

@media screen and (max-width: 767px) {
  .hp_mb100 {
    margin-bottom: 21.3333333333vw !important;
  }
}
@media screen and (min-width: 768px) {
  .hp_mb100 {
    margin-bottom: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .hp_mb150 {
    margin-bottom: 26.6666666667vw !important;
  }
}
@media screen and (min-width: 768px) {
  .hp_mb150 {
    margin-bottom: 150px !important;
  }
}

@media screen and (max-width: 767px) {
  .hp_mb180 {
    margin-bottom: 34.6666666667vw !important;
  }
}
@media screen and (min-width: 768px) {
  .hp_mb180 {
    margin-bottom: 180px !important;
  }
}

@media screen and (max-width: 767px) {
  .hp_mb200 {
    margin-bottom: 42.6666666667vw !important;
  }
}
@media screen and (min-width: 768px) {
  .hp_mb200 {
    margin-bottom: 200px !important;
  }
}

/*==================================================
* 余白
*================================================*/
.hp_pt0 {
  padding-top: 0 !important;
}

@media screen and (max-width: 767px) {
  .hp_pt150 {
    padding-top: 24vw;
  }
}
@media screen and (min-width: 768px) {
  .hp_pt150 {
    padding-top: 150px !important;
  }
}

@media screen and (max-width: 767px) {
  .hp_pb110 {
    padding-bottom: 16vw;
  }
}
@media screen and (min-width: 768px) {
  .hp_pb110 {
    padding-bottom: 110px !important;
  }
}

@media screen and (max-width: 767px) {
  .hp_pb200 {
    padding-bottom: 32vw;
  }
}
@media screen and (min-width: 768px) {
  .hp_pb200 {
    padding-bottom: 200px !important;
  }
}

/*================================================
* base
*================================================*/
.am_fadein {
  opacity: 0;
  transition: all 0.5s ease-in-out 0.1s;
}
.am_fadeinTop10 {
  opacity: 0;
  transition: all 0.5s ease-in-out 0.1s;
  transform: translateY(10px);
}
.am_fadeinTop25 {
  opacity: 0;
  transition: all 0.5s ease-in-out 0.1s;
  transform: translateY(25px);
}
.am_fadeinTop50 {
  opacity: 0;
  transition: all 0.5s ease-in-out 0.1s;
  transform: translateY(50px);
}
.am_diagonal {
  -webkit-mask-image: linear-gradient(-25deg, transparent, transparent 41%, rgba(0, 0, 0, 0.02) 43%, rgba(0, 0, 0, 0.02) 45%, rgba(0, 0, 0, 0.08) 47%, rgba(0, 0, 0, 0.1) 48%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.7) 52%, rgba(0, 0, 0, 0.8) 53%, rgba(0, 0, 0, 0.9) 55%, rgb(0, 0, 0) 57%, #000 58%, #000);
  mask-image: linear-gradient(-25deg, transparent, transparent 41%, rgba(0, 0, 0, 0.02) 43%, rgba(0, 0, 0, 0.02) 45%, rgba(0, 0, 0, 0.08) 47%, rgba(0, 0, 0, 0.1) 48%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.7) 52%, rgba(0, 0, 0, 0.8) 53%, rgba(0, 0, 0, 0.9) 55%, rgb(0, 0, 0) 57%, #000 58%, #000);
  -webkit-mask-size: 100% max(350%, 100vh);
  mask-size: 100% max(350%, 100vh);
  -webkit-mask-position: 50% 100%;
  mask-position: 50% 100%;
  -webkit-mask-repeat: none;
  mask-repeat: none;
  transition: mask-position 1s ease-out, -webkit-mask-position 1s ease-out;
  opacity: 0;
}

.is_animated.am_fadein {
  opacity: 1;
}
.is_animated.am_fadeinTop10, .is_animated.am_fadeinTop25, .is_animated.am_fadeinTop50 {
  opacity: 1;
  transform: translateY(0);
}
.is_animated.am_diagonal {
  opacity: 1;
}

/*================================================
* bl_fv
*================================================*/
.bl_fv_photo,
.bl_fv_message,
.bl_fv_icon,
.bl_fv_bg {
  opacity: 0;
}

.is_animated .bl_fv_bg {
  animation: fv1 2.8s ease-out 0s forwards;
}

@keyframes fv1 {
  0% {
    transform: scale(1);
    opacity: 0;
  }
  100% {
    transform: scale(1.04);
    opacity: 1;
  }
}
.bl_fv_photo {
  -webkit-mask-image: linear-gradient(-25deg, transparent, transparent 41%, rgba(0, 0, 0, 0.02) 43%, rgba(0, 0, 0, 0.02) 45%, rgba(0, 0, 0, 0.08) 47%, rgba(0, 0, 0, 0.1) 48%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.7) 52%, rgba(0, 0, 0, 0.8) 53%, rgba(0, 0, 0, 0.9) 55%, rgb(0, 0, 0) 57%, #000 58%, #000);
  mask-image: linear-gradient(-25deg, transparent, transparent 41%, rgba(0, 0, 0, 0.02) 43%, rgba(0, 0, 0, 0.02) 45%, rgba(0, 0, 0, 0.08) 47%, rgba(0, 0, 0, 0.1) 48%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.7) 52%, rgba(0, 0, 0, 0.8) 53%, rgba(0, 0, 0, 0.9) 55%, rgb(0, 0, 0) 57%, #000 58%, #000);
  -webkit-mask-size: 100% max(250%, 100vh);
  mask-size: 100% max(250%, 100vh);
  -webkit-mask-position: 50% 100%;
  mask-position: 50% 100%;
  -webkit-mask-repeat: none;
  mask-repeat: none;
  transition: mask-position 1.4s ease-in-out, -webkit-mask-position 0.6s ease-out;
}

.is_animated .bl_fv_photo {
  -webkit-mask-position: center 0;
  mask-position: center 0;
  opacity: 1;
}

.is_animated .bl_fv_message {
  animation: fv2 0.4s ease-in 0.6s forwards;
}

@keyframes fv2 {
  0% {
    transform: scale(1.5);
    opacity: 0;
  }
  90% {
    transform: scale(1);
  }
  95% {
    transform: scale(1.08);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.is_animated .bl_fv_icon {
  animation: fv3 0.4s ease-out 0.8s forwards;
}

@keyframes fv3 {
  0% {
    transform: translate(0, 10px) scale(1.08);
    opacity: 0;
  }
  100% {
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }
}
/*================================================
* message
*================================================*/
.bl_message .el_sec_ttl,
.bl_message .bl_message_ttl,
.bl_message .el_text,
.bl_message .bl_message_prof,
.bl_message .bl_message_bg {
  opacity: 0;
}

.bl_message.is_animated .bl_message_bg {
  animation: messe1 5s ease-out 0s forwards;
}

@keyframes messe1 {
  0% {
    transform: scale(1);
    opacity: 0;
  }
  100% {
    transform: scale(1.02);
    opacity: 1;
  }
}
.bl_message.is_animated .el_sec_ttl {
  animation: messe2 0.8s ease 0s forwards;
}

.bl_message.is_animated .bl_message_ttl {
  animation: messe2 0.8s ease 0.2s forwards;
}

.bl_message.is_animated .el_text:nth-child(3) {
  animation: messe2 0.8s ease 0.4s forwards;
}

.bl_message.is_animated .el_text:nth-child(4) {
  animation: messe2 0.8s ease 0.5s forwards;
}

.bl_message.is_animated .el_text:nth-child(5) {
  animation: messe2 0.8s ease 0.6s forwards;
}

.bl_message.is_animated .el_text:nth-child(6) {
  animation: messe2 0.8s ease 0.7s forwards;
}

@keyframes messe2 {
  0% {
    transform: translateY(15px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.is_animated.bl_message_prof {
  animation: messe3 0.6s ease-out 0s forwards;
}

@keyframes messe3 {
  0% {
    transform: translateY(10px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/*================================================
* bl_policies
*================================================*/
.bl_policies .el_sec_ttl,
.bl_policies .bl_policies_copy,
.bl_policies .bl_policies_illust,
.bl_policies .el_text,
.bl_policies .bl_policies_ttl,
.bl_policies .bl_policies_gallery_item {
  opacity: 0;
}

.bl_policies.is_animated .el_sec_ttl {
  animation: policie1 1s ease-out 0s forwards;
}

@keyframes policie1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.bl_policies.is_animated .bl_policies_copy:nth-child(1) {
  animation: policie2 1s ease-out 0s forwards;
}

.bl_policies.is_animated .bl_policies_copy:nth-child(2) {
  animation: policie2 1s ease-out 0.4s forwards;
}

@keyframes policie2 {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.bl_policies.is_animated .bl_policies_illust {
  animation: policie2 1s ease-out 0.8s forwards;
}

.bl_policies.is_animated .bl_policies_col > div:nth-child(2) .el_text:nth-child(1) {
  animation: policie2 1s ease-out 0s forwards;
}

.bl_policies.is_animated .bl_policies_col > div:nth-child(2) .el_text:nth-child(2) {
  animation: policie2 1s ease-out 0.2s forwards;
}

.bl_policies.is_animated .bl_policies_col > div:nth-child(2) .bl_policies_ttl:nth-child(3) {
  animation: policie2 1s ease-out 0.4s forwards;
}

.bl_policies.is_animated .bl_policies_col > div:nth-child(2) .el_text:nth-child(4) {
  animation: policie2 1s ease-out 0.5s forwards;
}

.bl_policies.is_animated .bl_policies_col > div:nth-child(2) .bl_policies_ttl:nth-child(5) {
  animation: policie1 1s ease-out 0.6s forwards;
}

.bl_policies.is_animated .bl_policies_col > div:nth-child(2) .el_text:nth-child(6) {
  animation: policie1 1s ease-out 0.7s forwards;
}

.bl_policies.is_animated .bl_policies_col > div:nth-child(2) .bl_policies_ttl:nth-child(7) {
  animation: policie1 1s ease-out 0.8s forwards;
}

.bl_policies.is_animated .bl_policies_col > div:nth-child(2) .el_text:nth-child(8) {
  animation: policie1 1s ease-out 0.9s forwards;
}

.bl_policies .bl_policies_gallery.is_animated .bl_policies_gallery_item:nth-child(1) {
  animation: policie2 1s ease-out 0s forwards;
}

.bl_policies .bl_policies_gallery.is_animated .bl_policies_gallery_item:nth-child(2) {
  animation: policie2 1s ease-out 0.2s forwards;
}

.bl_policies .bl_policies_gallery.is_animated .bl_policies_gallery_item:nth-child(3) {
  animation: policie2 1s ease-out 0.4s forwards;
}

/*================================================
* bl_photo
*================================================*/
.bl_photo .bl_photo_item {
  opacity: 0;
}

.bl_photo.is_animated .bl_photo_col:nth-child(1) .bl_photo_item:nth-child(1) {
  animation: photo1 1.2s ease 0s forwards;
}

.bl_photo.is_animated .bl_photo_col:nth-child(1) .bl_photo_item:nth-child(2) {
  animation: photo1 1.2s ease 0.6s forwards;
}

.bl_photo.is_animated .bl_photo_col:nth-child(1) .bl_photo_item:nth-child(3) {
  animation: photo1 1.2s ease 0.8s forwards;
}

.bl_photo.is_animated .bl_photo_col:nth-child(2) .bl_photo_item:nth-child(1) {
  animation: photo1 1.2s ease 0.2s forwards;
}

.bl_photo.is_animated .bl_photo_col:nth-child(2) .bl_photo_item:nth-child(2) {
  animation: photo1 1.2s ease 0.4s forwards;
}

.bl_photo.is_animated .bl_photo_col:nth-child(2) .bl_photo_item:nth-child(3) {
  animation: photo1 1.2s ease 1s forwards;
}

@keyframes photo1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*================================================
* bl_activity
*================================================*/
.bl_activity .el_sec_ttl,
.bl_activity .bl_activity_lead,
.bl_activity .bl_activity_item {
  opacity: 0;
}

.bl_activity.is_animated .el_sec_ttl,
.bl_activity.is_animated .bl_activity_lead {
  animation: activity1 1s ease 0s forwards;
}

.bl_activity.is_animated .bl_activity_item:nth-child(1) {
  animation: activity1 1s ease 0.2s forwards;
}

.bl_activity.is_animated .bl_activity_item:nth-child(2) {
  animation: activity1 1s ease 0.4s forwards;
}

.bl_activity.is_animated .bl_activity_item:nth-child(3) {
  animation: activity1 1s ease 0.6s forwards;
}

.bl_activity.is_animated .bl_activity_item:nth-child(4) {
  animation: activity1 1s ease 0.8s forwards;
}

.bl_activity.is_animated .bl_activity_item:nth-child(5) {
  animation: activity1 1s ease 1s forwards;
}

.bl_activity.is_animated .bl_activity_item:nth-child(6) {
  animation: activity1 1s ease 1.2s forwards;
}

@keyframes activity1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*================================================
* bl_info
*================================================*/
.bl_info .bl_info_col {
  opacity: 0;
}

.bl_info.is_animated .bl_info_col:nth-child(1) {
  animation: info1 1s ease 0s forwards;
}

.bl_info.is_animated .bl_info_col:nth-child(2) {
  animation: info1 1s ease 0s forwards;
}

@keyframes info1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*================================================
* bl_address
*================================================*/
.bl_address {
  opacity: 0;
}

.bl_address.is_animated {
  animation: address1 1s ease 0s forwards;
}

@keyframes address1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*================================================
* ly_footer
*================================================*/
.ly_footer .ly_footer_bg,
.ly_footer .ly_footer_inner {
  opacity: 0;
}

.ly_footer.is_animated .ly_footer_bg {
  animation: footer1 5s ease-out 0s forwards;
}

@keyframes footer1 {
  0% {
    transform: scale(1);
    opacity: 0;
  }
  100% {
    transform: scale(1.03);
    opacity: 1;
  }
}
.ly_footer.is_animated .ly_footer_inner {
  animation: footer2 3s ease-out 0s forwards;
}

@keyframes footer2 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*!
 * takata-shigenobu.com
 * Common CSS
*/
html {
  width: 100%;
  height: 100%;
}

html.is_locked {
  overflow: hidden;
}

body {
  width: 100%;
  height: 100%;
  color: var(--bk);
  font-family: "Noto Sans JP", sans-serif;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

h1 {
  font-size: 1rem;
}

p {
  letter-spacing: 0.03em;
}

a {
  color: var(--bk);
  transition: all 0.3s ease;
}

a:hover {
  opacity: 0.6;
}

button {
  transition: all 0.3s ease;
}

button:hover {
  opacity: 0.6;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media screen and (min-width: 768px) {
  .pc_none {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pc_none {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .sp_none {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .sp_none {
    display: none;
  }
}

.lang_en {
  font-family: "Barlow Condensed", sans-serif;
  letter-spacing: 0.02em;
}

/*================================================
* ly_header
*================================================*/
.ly_header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 30;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.3);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
@media screen and (max-width: 767px) {
  .ly_header {
    height: 13.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .ly_header {
    height: 5.2777777778vw;
  }
}
.ly_header_inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .ly_header_inner {
    padding: 0 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .ly_header_inner {
    padding: 0 2.7777777778vw;
    justify-content: space-between;
    max-width: 1440px;
  }
}
.ly_header_logo {
  display: inline-block;
}
.ly_header_logo a {
  color: var(--mc);
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .ly_header_logo a {
    font-size: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .ly_header_logo a {
    font-size: 2.2222222222vw;
  }
}
.ly_header_logo a span {
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .ly_header_logo a span {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .ly_header_logo a span {
    font-size: 1.1111111111vw;
  }
}
.ly_header_logo a span:nth-of-type(1) {
  display: block;
}
@media screen and (min-width: 768px) {
  .ly_header_logo a span:nth-of-type(1) {
    margin-bottom: 0.5555555556vw;
  }
}
.ly_header_logo a span:nth-of-type(2) {
  display: inline-block;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .ly_header nav {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .ly_header nav {
    display: inline-block;
  }
}
.ly_header_nav {
  display: flex;
}
@media screen and (min-width: 768px) {
  .ly_header_nav {
    flex-wrap: nowrap;
    align-items: center;
    font-size: 1.0416666667vw;
  }
}
@media screen and (min-width: 768px) {
  .ly_header_nav_item:nth-child(n+2) {
    margin-left: 1.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .ly_header_nav_item:nth-child(6), .ly_header_nav_item:nth-child(7) {
    width: 1.8055555556vw;
  }
}
.ly_header_nav_item:nth-child(6) img, .ly_header_nav_item:nth-child(7) img {
  width: 100%;
  height: auto;
}

/*================================================
* bl_fv
*================================================*/
.bl_fv {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .bl_fv {
    height: 100vh;
    height: 177.8666666667vw;
    padding-top: 13.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_fv {
    height: 47.2222222222vw;
    padding-top: 5.2777777778vw;
  }
}
.bl_fv > * {
  position: absolute;
  z-index: 1;
}
.bl_fv > * img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .bl_fv_photo {
    bottom: 0;
    left: 0;
    width: 90.6666666667vw;
    height: 98.4vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_fv_photo {
    top: 8.9583333333vw;
    left: 10.8333333333vw;
    width: 35.2777777778vw;
    height: 38.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_fv_message {
    top: 34.6666666667vw;
    left: 4.2666666667vw;
    width: 93.3333333333vw;
    height: auto;
  }
}
@media screen and (min-width: 768px) {
  .bl_fv_message {
    top: 18.0555555556vw;
    left: 50.6944444444vw;
    width: 36.8055555556vw;
    height: 18.6111111111vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_fv_icon {
    top: 23.4666666667vw;
    left: 41.6vw;
    width: 26.6666666667vw;
    height: auto;
  }
}
@media screen and (min-width: 768px) {
  .bl_fv_icon {
    top: 12.0833333333vw;
    left: 65.8333333333vw;
    width: 12.2222222222vw;
    height: 10.9722222222vw;
  }
}
.bl_fv_bg {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .bl_fv_bg {
    top: 13.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_fv_bg {
    top: 5.2777777778vw;
  }
}
.bl_fv_bg img {
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .bl_fv_bg img {
    width: 100%;
    height: 100%;
  }
}
@media screen and (min-width: 768px) {
  .bl_fv_bg img {
    width: auto;
    height: 100%;
  }
}

/*================================================
* bl_message
*================================================*/
.bl_message {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .bl_message {
    min-height: 560vw;
    padding-top: 14.9333333333vw;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 768px) {
  .bl_message {
    height: 128.4722222222vw;
    padding-top: 3.3333333333vw;
  }
}
.bl_message_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .bl_message_bg img {
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width: 768px) {
  .bl_message_bg img {
    width: auto;
    height: 100%;
  }
}
.bl_message .el_sec_ttl {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  margin: 0 auto;
}
.bl_message .el_sec_ttl h2 {
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .bl_message .el_sec_ttl h2 {
    margin-bottom: 10.6666666667vw;
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_message .el_sec_ttl h2 {
    margin-bottom: 3.3333333333vw;
    font-size: 0.9722222222vw;
  }
}
.bl_message .el_sec_ttl span {
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .bl_message .el_sec_ttl span {
    font-size: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_message .el_sec_ttl span {
    font-size: 1.6666666667vw;
  }
}
.bl_message_ttl {
  color: var(--mc);
  font-weight: bold;
  font-feature-settings: "palt";
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .bl_message_ttl {
    margin-bottom: 10.6666666667vw;
    font-size: 6.4vw;
    white-space: nowrap;
  }
}
@media screen and (min-width: 768px) {
  .bl_message_ttl {
    margin-bottom: 3.3333333333vw;
    font-size: 2.2222222222vw;
  }
}
.bl_message .el_text {
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .bl_message .el_text {
    font-size: 4.2666666667vw;
    letter-spacing: -0.02em;
  }
}
@media screen and (min-width: 768px) {
  .bl_message .el_text {
    font-size: 1.1111111111vw;
  }
}
.bl_message .el_text span {
  color: var(--mc);
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .bl_message .el_text span {
    font-size: 5.8666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_message .el_text span {
    font-size: 1.8055555556vw;
  }
}
.bl_message .el_text + .el_text {
  margin-top: 1.5em;
}
.bl_message_prof {
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .bl_message_prof {
    padding: 0 4.2666666667vw 0 37.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_message_prof {
    max-width: 78.3333333333vw;
    padding: 38.8888888889vw 1.3888888889vw 0 19.4444444444vw;
  }
}
.bl_message_prof_ttl {
  color: var(--bk);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .bl_message_prof_ttl {
    margin: 80vw 0 4.2666666667vw;
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_message_prof_ttl {
    margin-bottom: 2.2222222222vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_message_prof_subttl {
    margin-bottom: 2.1333333333vw;
    font-size: 3.7333333333vw;
    font-weight: 500;
  }
}
@media screen and (min-width: 768px) {
  .bl_message_prof_subttl {
    margin-bottom: 1.6666666667vw;
  }
}
.bl_message_prof dl {
  overflow: hidden;
}
.bl_message_prof dl dt {
  clear: both;
  float: left;
  padding-right: 1em;
}
.bl_message_prof dl dt:nth-of-type(n+2) {
  margin-top: 0.5em;
}
@media screen and (max-width: 767px) {
  .bl_message_prof dl dt {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_message_prof dl dt {
    min-width: 11.8055555556vw;
    font-size: 1.0416666667vw;
  }
}
.bl_message_prof dl dd {
  float: left;
}
.bl_message_prof dl dd:nth-of-type(n+2) {
  margin-top: 0.6em;
}
@media screen and (max-width: 767px) {
  .bl_message_prof dl dd {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_message_prof dl dd {
    font-size: 1.0416666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_message_prof_col {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
}
.bl_message_prof_col > div {
  font-feature-settings: "palt";
  letter-spacing: -0.02em;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .bl_message_prof_col > div {
    font-size: 2.9333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_message_prof_col > div {
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_message_prof_col > div:nth-child(1) {
    width: 31.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_message_prof_col > div:nth-child(2) {
    margin-top: 8.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_message_prof_col > div:nth-child(2) {
    width: 23.6111111111vw;
  }
}
.bl_message_prof_notes {
  width: 100%;
  font-weight: 500;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .bl_message_prof_notes {
    margin-top: 10.6666666667vw;
    font-size: 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_message_prof_notes {
    padding-top: 3.3333333333vw;
    font-size: 0.9722222222vw;
  }
}

/*================================================
* bl_policies
*================================================*/
.bl_policies {
  overflow: hidden;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background-color: rgba(31, 89, 149, 0.4);
}
.bl_policies_inner {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .bl_policies_inner {
    padding: 16vw 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies_inner {
    width: 78.3333333333vw;
    min-height: 108.8888888889vw;
    padding: 5.5555555556vw 0;
  }
}
.bl_policies .el_sec_ttl {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .bl_policies .el_sec_ttl {
    margin-bottom: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies .el_sec_ttl {
    margin-bottom: 3.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_policies .el_sec_ttl h2 {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies .el_sec_ttl h2 {
    font-size: 0.9722222222vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_policies .el_sec_ttl span {
    font-size: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies .el_sec_ttl span {
    font-size: 1.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies_col {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .bl_policies_col div {
    position: relative;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .bl_policies_col div:nth-child(1) {
    width: 45.1388888889vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .bl_policies_col div:nth-child(2) {
    width: 31.9444444444vw;
  }
}
.bl_policies_copy {
  color: #fff;
  font-weight: bold;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .bl_policies_copy {
    margin-bottom: 117.3333333333vw;
    font-size: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies_copy {
    font-size: 2.5vw;
  }
}
.bl_policies_copy span {
  display: block;
}
@media screen and (max-width: 767px) {
  .bl_policies_copy span {
    font-size: 8vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies_copy span {
    font-size: 2.9166666667vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_policies_copy:nth-child(1) {
    margin-bottom: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies_copy:nth-child(1) {
    margin-bottom: 2.7777777778vw;
  }
}
.bl_policies_illust {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .bl_policies_illust {
    top: 96vw;
    left: 0;
    width: 100vw;
    height: 89.6vw;
  }
  .bl_policies_illust img {
    width: 100%;
    height: 100%;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies_illust {
    top: 13.8888888889vw;
    right: 4.8611111111vw;
    width: 50.8333333333vw;
    height: 50vw;
  }
}
.bl_policies_illust img {
  width: 100%;
  height: auto;
}
.bl_policies .el_text {
  color: #fff;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .bl_policies .el_text {
    line-height: 1.6;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies .el_text {
    line-height: 2;
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_policies .el_text:nth-child(2) {
    margin-bottom: 8.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies .el_text:nth-child(2) {
    margin-bottom: 7.7777777778vw;
  }
}
.bl_policies .el_text + .el_text {
  margin-top: 1.8em;
}
.bl_policies_ttl {
  color: #fff;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .bl_policies_ttl {
    margin-bottom: 3.2vw;
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies_ttl {
    margin-bottom: 0.8333333333vw;
    font-size: 1.3888888889vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_policies_ttl:nth-of-type(n+2) {
    margin-top: 8.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies_ttl:nth-of-type(n+2) {
    margin-top: 3.3333333333vw;
  }
}
.bl_policies .bl_policies_ttl + .el_text {
  line-height: 1.6;
}
.bl_policies_gallery {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .bl_policies_gallery {
    margin-top: 17.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies_gallery {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-top: 14.4444444444vw;
    width: 78.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_policies_gallery_item {
    width: 100%;
  }
  .bl_policies_gallery_item:nth-child(n+2) {
    margin-top: 8.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies_gallery_item {
    width: 25vw;
  }
}
.bl_policies_gallery_item_image {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .bl_policies_gallery_item_image {
    margin-bottom: 1.0666666667vw;
    white-space: nowrap;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies_gallery_item_image {
    margin-bottom: 1.1111111111vw;
  }
}
.bl_policies_gallery_item_image img {
  width: 100%;
  height: auto;
}
.bl_policies_gallery_item_text {
  color: #fff;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .bl_policies_gallery_item_text {
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_policies_gallery_item_text {
    font-size: 1.1111111111vw;
  }
}

/*================================================
* bl_photo
*================================================*/
.bl_photo {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .bl_photo {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .bl_photo {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
}
.bl_photo_col {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .bl_photo_col {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .bl_photo_col {
    width: 49.16667%;
  }
}
@media screen and (max-width: 767px) {
  .bl_photo_col:nth-child(1) .bl_photo_item:nth-child(1) {
    height: 56vw;
    margin-bottom: 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_photo_col:nth-child(1) .bl_photo_item:nth-child(1) {
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_photo_col:nth-child(2) {
    margin-top: 2.1333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_photo_col:nth-child(2) .bl_photo_item:nth-child(3) {
    margin-top: 2.1333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_photo_col:nth-child(2) .bl_photo_item:nth-child(3) {
    margin-top: 1.6666666667vw;
  }
}
.bl_photo_item {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .bl_photo_item {
    width: calc(50% - 1.3333333333vw);
    height: auto;
  }
}
@media screen and (min-width: 768px) {
  .bl_photo_item {
    width: 48.30509%;
    height: auto;
  }
}
.bl_photo_item video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  margin: auto;
}
.bl_photo_item img {
  width: 100%;
  height: auto;
}
.bl_photo_item.is_wide {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .bl_movie {
    width: 49.1666666667vw;
    height: 26.1111111111vw;
  }
}

/*================================================
* bl_activity
*================================================*/
.bl_activity {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .bl_activity {
    padding: 16vw 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_activity {
    width: 78.3333333333vw;
    padding: 5.5555555556vw 0;
  }
}
.bl_activity .el_sec_ttl {
  display: flex;
  flex-direction: column-reverse;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .bl_activity .el_sec_ttl {
    margin-bottom: 8.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_activity .el_sec_ttl {
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_activity .el_sec_ttl h2 {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_activity .el_sec_ttl h2 {
    font-size: 0.9722222222vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_activity .el_sec_ttl span {
    font-size: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_activity .el_sec_ttl span {
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_activity_lead {
    margin-bottom: 8.5333333333vw;
    font-size: 4.2666666667vw;
    line-height: 1.6;
  }
}
@media screen and (min-width: 768px) {
  .bl_activity_lead {
    margin-bottom: 2.7777777778vw;
    font-size: 1.1111111111vw;
    line-height: 2;
  }
}
.bl_activity_list {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .bl_activity_item {
    width: calc(50% - 1.3333333333vw);
  }
}
@media screen and (min-width: 768px) {
  .bl_activity_item {
    width: 25vw;
    margin-left: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_activity_item:nth-child(even) {
    margin-left: 2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_activity_item:nth-child(n+3) {
    margin-top: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_activity_item:nth-child(3n+1) {
    margin-left: 0;
  }
}
@media screen and (min-width: 768px) {
  .bl_activity_item:nth-child(n+4) {
    margin-top: 2.7777777778vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_activity_item_image {
    margin-bottom: 1.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_activity_item_image {
    margin-bottom: 0.5555555556vw;
  }
}
.bl_activity_item_image img {
  width: 100%;
  height: auto;
}
.bl_activity_item_dete, .bl_activity_item_ttl {
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .bl_activity_item_dete, .bl_activity_item_ttl {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_activity_item_dete, .bl_activity_item_ttl {
    font-size: 1.1111111111vw;
  }
}

/*================================================
* bl_support
*================================================*/
@media screen and (min-width: 768px) {
  .bl_support {
    margin-bottom: 7.2222222222vw;
  }
}
.bl_support .el_sec_ttl {
  color: var(--mc);
}
@media screen and (max-width: 767px) {
  .bl_support .el_sec_ttl {
    margin-bottom: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_support .el_sec_ttl {
    margin-bottom: 3.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_support .el_sec_ttl h2 {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_support .el_sec_ttl h2 {
    font-size: 0.9722222222vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_support .el_sec_ttl span {
    font-size: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_support .el_sec_ttl span {
    font-size: 1.6666666667vw;
  }
}
.bl_support_inner {
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .bl_support_inner {
    padding: 0 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_support_inner {
    width: 78.3333333333vw;
  }
}
.bl_support_lead {
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .bl_support_lead {
    margin-bottom: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_support_lead {
    margin-bottom: 4.4444444444vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_support_col {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
}
.bl_support_col > div {
  position: relative;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .bl_support_col > div {
    width: 100%;
    padding: 0 0 2.1333333333vw;
  }
  .bl_support_col > div:nth-child(2) {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_support_col > div {
    width: 50%;
    height: 22.0138888889vw;
    padding: 0 1.6666666667vw 1.1111111111vw;
  }
}
.bl_support_col > div iframe {
  display: block;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .bl_support_col > div iframe {
    height: 50.1333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_support_col > div iframe {
    height: 100%;
  }
}
.bl_support_col > div span {
  display: block;
  padding-top: 1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .bl_support_col > div span {
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_support_col > div span {
    font-size: 0.9722222222vw;
  }
}

/*================================================
* bl_info
*================================================*/
.bl_info {
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .bl_info {
    padding: 16vw 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_info {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 78.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_info_col {
    width: 34.7222222222vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_info_col:nth-child(1):after {
    display: block;
    width: 100%;
    height: 1px;
    margin: 10.6666666667vw auto;
    background-color: #ccc;
    content: "";
  }
}
@media screen and (min-width: 768px) {
  .bl_info_col:nth-child(1):after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 90%;
    margin: auto;
    background-color: #ccc;
    content: "";
  }
}
.bl_info_ttl {
  color: var(--mc);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .bl_info_ttl {
    margin-bottom: 8.5333333333vw;
    font-size: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_info_ttl {
    margin-bottom: 1.6666666667vw;
    font-size: 2.2222222222vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_info .el_text {
    font-size: 3.7333333333vw;
    line-height: 1.6;
  }
}
@media screen and (min-width: 768px) {
  .bl_info .el_text {
    width: 90%;
    font-size: 1.1111111111vw;
    line-height: 1.8;
  }
}
@media screen and (max-width: 767px) {
  .bl_info .el_text.is_lead {
    margin-bottom: 8.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_info .el_text.is_lead {
    margin-bottom: 4.0277777778vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_info_form {
    margin-top: 8.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_info_form {
    margin-top: 2.2222222222vw;
  }
}
.bl_info_form_label {
  display: flex;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .bl_info_form_label {
    margin-bottom: 2.1333333333vw;
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_info_form_label {
    margin-bottom: 0.8333333333vw;
    font-size: 1.25vw;
  }
}
.bl_info_form_label span {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin-left: 1.5em;
  border-radius: 2px;
  color: #fff;
  background-color: var(--mc);
}
@media screen and (max-width: 767px) {
  .bl_info_form_label span {
    padding: 0.8vw 1.6vw;
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_info_form_label span {
    padding: 0.2083333333vw 0.5555555556vw;
    font-size: 0.8333333333vw;
  }
}
.bl_info_form_input {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .bl_info_form_input {
    margin-bottom: 6.4vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_info_form_input {
    margin-bottom: 2.2222222222vw;
    font-size: 1.1111111111vw;
  }
}
.bl_info_form_input input[type=text] {
  width: 100%;
  border: 1px solid #ccc;
  border-radius: 4px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .bl_info_form_input input[type=text] {
    padding: 1.6vw 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_info_form_input input[type=text] {
    padding: 0.4166666667vw 0.6944444444vw;
    font-size: 1.1111111111vw;
  }
}
.bl_info_form_input textarea {
  width: 100%;
  min-height: 5em;
  border: 1px solid #ccc;
  border-radius: 4px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .bl_info_form_input textarea {
    padding: 1.6vw 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_info_form_input textarea {
    padding: 0.4166666667vw 0.6944444444vw;
    font-size: 1.1111111111vw;
  }
}
.bl_info_form_input ::placeholder {
  color: #ccc;
}
.bl_info_form_group {
  display: flex;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .bl_info_form_notes {
    margin-bottom: 8.5333333333vw;
    padding-top: 8.5333333333vw;
    font-size: 2.6666666667vw;
    text-align: left;
    line-height: 1.4;
  }
  .bl_info_form_notes > p {
    padding-left: 1em;
    text-indent: -1em;
  }
  .bl_info_form_notes > p + p {
    margin-top: 1em;
  }
}
@media screen and (min-width: 768px) {
  .bl_info_form_notes {
    padding-top: 8.9583333333vw;
    font-size: 0.8333333333vw;
    text-align: right;
    line-height: 2;
  }
}
.bl_info_form_button {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #fff;
  transition: all 0.5s ease-out;
}
@media screen and (max-width: 767px) {
  .bl_info_form_button {
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_info_form_button {
    font-size: 1.1111111111vw;
  }
}
.bl_info_form_button a {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  color: #fff;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .bl_info_form_button a {
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_info_form_button a {
    font-size: 1.1111111111vw;
  }
}
.bl_info_form_button a.is_confirm, .bl_info_form_button a.is_download {
  background-color: #969696;
}
.bl_info_form_button a.is_confirm:hover, .bl_info_form_button a.is_download:hover {
  background-color: var(--mc);
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .bl_info_form_button {
    width: 64vw;
    height: 13.3333333333vw;
    border-radius: 1.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_info_form_button {
    width: 16.6666666667vw;
    height: 3.4722222222vw;
    border-radius: 6px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .bl_info_form_button.is_download {
    width: 19.4444444444vw;
    margin-top: 2.7777777778vw;
  }
}
.bl_info_form_button.is_confirm, .bl_info_form_button.is_download {
  background-color: #969696;
}
@media screen and (max-width: 767px) {
  .bl_info_form_button.is_confirm, .bl_info_form_button.is_download {
    margin: 0 auto;
  }
}
.bl_info_form_button.is_confirm:hover, .bl_info_form_button.is_download:hover {
  background-color: var(--mc);
  opacity: 1;
}

.is_thanks {
  padding-top: 5em;
  color: var(--mc);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .is_thanks {
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 768px) {
  .is_thanks {
    font-size: 1.3888888889vw;
  }
}

/*================================================
* bl_address
*================================================*/
.bl_address {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .bl_address {
    padding: 16vw 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_address {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 78.3333333333vw;
    padding-top: 7.7777777778vw;
  }
}
@media screen and (max-width: 767px) {
  .bl_address_col:nth-child(2) {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_address_col {
    width: 31.6666666667vw;
  }
}
.bl_address_ttl {
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .bl_address_ttl {
    margin-bottom: 3.2vw;
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_address_ttl {
    margin-bottom: 1.1111111111vw;
    font-size: 1.3888888889vw;
  }
}
.bl_address .el_text {
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .bl_address .el_text {
    margin-bottom: 3.2vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_address .el_text {
    margin-bottom: 1.6666666667vw;
    font-size: 1.1111111111vw;
  }
}
.bl_address_map {
  overflow: hidden;
  border: 1px solid #f4f4f4;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .bl_address_map {
    width: 100%;
    height: 53.3333333333vw;
    margin-top: 2.1333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_address_map {
    width: 31.6666666667vw;
    height: 16.3888888889vw;
  }
}
.bl_address_map iframe {
  width: 100%;
  height: 100%;
}
.bl_address_notes {
  color: var(--mc);
  font-weight: 600;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .bl_address_notes {
    margin-top: 2.1333333333vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .bl_address_notes {
    margin-top: 0.5555555556vw;
    font-size: 0.9722222222vw;
  }
}

/*================================================
* ly_footer
*================================================*/
.ly_footer {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .ly_footer {
    min-height: 368vw;
  }
}
@media screen and (min-width: 768px) {
  .ly_footer {
    min-height: 83.3333333333vw;
  }
}
.ly_footer_bg {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: auto;
}
.ly_footer_bg img {
  width: 100%;
  height: auto;
}
.ly_footer_inner {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .ly_footer_inner {
    padding: 0 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .ly_footer_inner {
    width: 78.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer_copy {
    width: 60%;
    height: auto;
    margin-bottom: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .ly_footer_copy {
    width: 18.0555555556vw;
    height: 13.3333333333vw;
    margin: 5vw 0 2.5vw;
  }
}
.ly_footer_copy img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .ly_footer_col {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .ly_footer_col > div:nth-child(2) {
    padding-top: 3.1944444444vw;
  }
}
.ly_footer_logo {
  display: inline-block;
}
.ly_footer_logo a {
  color: var(--bk);
  font-weight: bold;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .ly_footer_logo a {
    margin-bottom: 8.5333333333vw;
    font-size: 7.4666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .ly_footer_logo a {
    font-size: 2.9166666667vw;
  }
}
.ly_footer_logo a span {
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .ly_footer_logo a span {
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .ly_footer_logo a span {
    font-size: 1.1111111111vw;
  }
}
.ly_footer_logo a span:nth-of-type(1) {
  display: block;
}
.ly_footer_logo a span:nth-of-type(2) {
  display: inline-block;
  margin-left: 1em;
}
.ly_footer_nav {
  display: flex;
}
@media screen and (max-width: 767px) {
  .ly_footer_nav {
    flex-direction: row;
    flex-wrap: wrap;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .ly_footer_nav {
    flex-wrap: nowrap;
    align-items: center;
    margin-bottom: 0.5555555556vw;
    font-size: 1.0416666667vw;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer_nav_item {
    width: 33.3%;
  }
  .ly_footer_nav_item:nth-child(n+4) {
    margin-top: 1.5em;
  }
  .ly_footer_nav_item:nth-child(+5) {
    width: 66.66%;
  }
}
@media screen and (min-width: 768px) {
  .ly_footer_nav_item:nth-child(n+2) {
    margin-left: 1.6666666667vw;
  }
}
.ly_footer_copyright {
  display: block;
  color: var(--bk);
  text-align: right;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .ly_footer_copyright {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .ly_footer_copyright {
    font-size: 0.8333333333vw;
  }
}