@charset "UTF-8";
/* Scss Document */
/* 
---------------------------------------
メインビジュアル
---------------------------------------
*/
#kv {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  position: relative;
  background: url("../img/main_01.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  flex-direction: column; }
  @media (max-width: 999px) {
    #kv {
      height: 100vh;
      background: url("../img/main_01_sp.jpg");
      background-size: cover;
      background-repeat: no-repeat; } }

#kv .ttl {
  margin-bottom: 2vw;
  width: 80vw;
  max-width: 1240px; }
  @media (max-width: 999px) {
    #kv .ttl {
      width: 68%;
      margin-bottom: 40px;
      margin-top: 40px; } }

#kv .time {
  display: block;
  color: #fff;
  font-size: clamp(40px, 5vw, 80px);
  letter-spacing: 4px;
  margin-bottom: 1vw;
  font-weight: bold; }
  @media (max-width: 999px) {
    #kv .time {
      font-size: 58px; } }

#kv .time1 {
  line-height: 44px;
  font-weight: bold;
  font-size: 32px; }

#kv .time2 {
  line-height: 42px;
  font-weight: bold; }

#kv .time3 {
  text-align: center;
  line-height: 2px;
  font-weight: bold; }

#kv .time4 {
  font-weight: bold; }

#kv .time span {
  font-size: clamp(30px, 3vw, 50px); }
  @media (max-width: 999px) {
    #kv .time span {
      font-size: 24px;
      letter-spacing: 1px;
      padding-left: 4px; } }

[id*="home"] .ttl {
  font-size: clamp(48px, 4vw, 60px) !important; }
  @media (max-width: 999px) {
    [id*="home"] .ttl {
      font-size: clamp(40px, 4vw, 60px) !important; } }

#kv .sns {
  font-size: 24px;
  position: absolute;
  right: 0;
  background: rgba(0, 0, 0, 0.6);
  padding: 26px 20px 2px;
  border-radius: 4px 0 0 4px; }

#kv .sns a {
  color: #fff;
  display: flex;
  margin-bottom: 24px;
  align-items: center;
  justify-content: center; }

#kv .lang {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  position: absolute;
  right: 4%;
  z-index: 1;
  color: #fff;
  display: flex;
  top: 6%; }

#kv .lang p {
  padding: 0 10px;
  line-height: 13px; }

#kv .lang p:first-child {
  border-right: 1px solid #fff; }

#kv .lang p a {
  color: #fff; }

/* 
---------------------------------------
home00
---------------------------------------
*/
.bgmain {
  position: relative; }

#bg {
  position: absolute;
  width: 100%;
  height: 280vh;
  z-index: 0; }

#particles-js {
  position: absolute;
  width: 100%;
  height: 100%; }

#home00 {
  padding: 160px 0;
  position: relative;
  z-index: 1;
  background: #fff; }
  @media (max-width: 999px) {
    #home00 {
      padding: 60px 0 80px; } }

#home00 .ttl {
  font-size: 60px;
  text-align: center;
  letter-spacing: 2px;
  font-weight: bold;
  position: relative;
  z-index: 1;
  line-height: 68px;
  margin-bottom: 40px; }
  @media (max-width: 999px) {
    #home00 .ttl {
      line-height: 36px;
      margin-bottom: 20px; } }

#home00 .ttl span {
  font-size: 48px; }
  @media (max-width: 999px) {
    #home00 .ttl span {
      font-size: 28px; } }

#home00 .first,
#home00 .second,
#home00 .third {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto; }
  @media (max-width: 999px) {
    #home00 .first,
    #home00 .second,
    #home00 .third {
      position: relative;
      z-index: 1; } }

#home00 .first {
  margin: 0 auto 80px; }
  @media (max-width: 999px) {
    #home00 .first {
      margin: 0 auto 40px; } }

#home00 .second {
  padding-bottom: 160px;
  margin: 0 auto; }
  @media (max-width: 999px) {
    #home00 .second {
      padding-bottom: 80px; } }

#home00 .sttl {
  padding: 4px 32px 0;
  background: #111;
  width: max-content;
  color: #fff;
  font-weight: bold;
  font-size: 32px;
  border-radius: 4px;
  margin-bottom: 32px;
  display: flex;
  align-items: center;
  line-height: 40px;
  letter-spacing: 2px;
  position: relative;
  z-index: 1; }

#home00 .sttl span {
  font-size: 18px;
  padding-left: 10px;
  letter-spacing: normal; }

#home00 .boxs {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between; }
  @media (max-width: 999px) {
    #home00 .boxs {
      flex-direction: column; } }

#home00 .boxs .box {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 30px; }

#home00 .boxs .box-l {
  width: 63%; }
  @media (max-width: 999px) {
    #home00 .boxs .box-l {
      width: 100%; } }

#home00 .boxs .boxs_2 {
  display: flex;
  justify-content: space-between; }

#home00 .boxs .box-r {
  width: 30%; }
  @media (max-width: 999px) {
    #home00 .boxs .box-r {
      width: 100%; } }

#home00 .boxs .boxs_1 {
  width: 100%;
  margin-bottom: 30px; }
  @media (max-width: 999px) {
    #home00 .boxs .boxs_1 {
      width: 48%;
      margin: 0 auto 30px; } }

#home00 .boxs .box:nth-child(2n) {
  margin-right: 0; }

#home00 .txt {
  text-align: right; }
  @media (max-width: 999px) {
    #home00 .txt {
      font-size: 12px; } }

#home00 .pic {
  margin-bottom: 4%;
  border-radius: 4px; }

#home00 .stxt {
  font-size: 20px;
  text-align: center;
  font-weight: bold; }
  @media (max-width: 999px) {
    #home00 .stxt {
      font-size: 12px; } }

#home00 .date {
  text-align: center;
  background: #111;
  width: max-content;
  margin: 0 auto;
  color: #fff;
  padding: 2px 10px 0;
  line-height: 24px;
  border-radius: 4px;
  letter-spacing: 1px;
  font-size: 16px; }
  @media (max-width: 999px) {
    #home00 .date {
      font-size: 12px;
      padding: 2px 10px 0;
      line-height: 16px; } }

#home00 .box_4 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 1200px; }

#home00 .box_4 .box {
  margin-right: 2%;
  width: 23.5%;
  margin-bottom: 4%; }
  @media (max-width: 999px) {
    #home00 .box_4 .box {
      width: 32%;
      margin-bottom: 6%; } }

#home00 .box_4 .box:nth-child(4n) {
  margin-right: 0; }
  @media (max-width: 999px) {
    #home00 .box_4 .box:nth-child(4n) {
      margin-right: 2%; } }

#home00 .box_5 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 1200px; }

#home00 .box_5 .box {
  margin-right: 2.5%;
  width: 18%;
  margin-bottom: 4%; }
  @media (max-width: 999px) {
    #home00 .box_5 .box {
      width: 32%;
      margin-bottom: 6%;
      margin-right: 2%; } }

#home00 .box_5 .box:nth-child(4n) {
  margin-right: 2.5%; }
  @media (max-width: 999px) {
    #home00 .box_5 .box:nth-child(4n) {
      margin-right: 2%; } }

@media (min-width: 1000px) {
  #home00 .box_5 .box:nth-child(5n) {
    margin-right: 0; } }

@media (max-width: 999px) {
  #home00 .box_4 .box:nth-child(3n) {
    margin-right: 0; } }

@media (max-width: 999px) {
  #home00 .box_4 .box:nth-child(3n) {
    margin-right: 0; } }

@media (max-width: 999px) {
  #home00 .box_5 .box:nth-child(3n) {
    margin-right: 0; } }

/* 
---------------------------------------
home02
---------------------------------------
*/
#home02 {
  padding: 160px 0 200px;
  background: #000;
  position: relative; }
  @media (max-width: 999px) {
    #home02 {
      padding: 60px 0 20px; } }

#home02 .inner {
  position: relative;
  z-index: 1; }

#canvas {
  position: absolute;
  z-index: 0;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  left: 0;
  right: 0;
  top: 7%;
  transform: scale(3.6); }
  @media (max-width: 999px) {
    #canvas {
      top: 0;
      transform: scale(1); } }

#home02 .ttl {
  font-size: 60px;
  letter-spacing: 1.4px;
  margin-bottom: 40px;
  color: #fff;
  font-weight: bold; }

#home02 .main .txt {
  font-size: 46px;
  letter-spacing: 1.4px;
  margin-bottom: 200px;
  text-align: center;
  line-height: 56px;
  font-weight: bold;
  margin-top: 120px;
  color: #fff; }
  @media (max-width: 999px) {
    #home02 .main .txt {
      font-size: 36px;
      margin-bottom: 50px;
      line-height: 56px;
      margin-top: 50px; } }

#home02 .main .txt {
  font-size: 46px;
  letter-spacing: 1.4px;
  margin-bottom: 40px;
  text-align: center;
  line-height: 56px;
  font-weight: bold;
  margin-top: 120px;
  color: #fff; }
  @media (max-width: 999px) {
    #home02 .main .txt {
      font-size: 36px;
      margin-bottom: 20px;
      line-height: 56px;
      margin-top: 50px; } }

#home02 .main .stxt {
  font-size: 26px;
  color: #fff;
  text-align: center;
  text-shadow: 2px 2px 10px #ff00f0, -2px 2px 10px #ff00f0, 2px -2px 10px #ff00f0, -2px -2px 10px #ff00f0;
  margin-bottom: 40px;
  font-weight: bold; }
  @media (max-width: 999px) {
    #home02 .main .stxt {
      font-size: 18px;
      text-align: justify; } }

#home02 .main .list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 60px; }
  @media (max-width: 999px) {
    #home02 .main .list {
      flex-direction: column; } }

#home02 .main .picTxt {
  width: 90%;
  max-width: 720px;
  margin: 0px auto 320px; }
  @media (max-width: 999px) {
    #home02 .main .picTxt {
      margin: 0px auto 160px; } }

#home02 .sub .picTxt {
  width: 90%;
  max-width: 720px;
  margin: 0px auto 80px; }
  @media (max-width: 999px) {
    #home02 .sub .picTxt {
      margin: 0px auto 40px; } }

#home02 .main .list a {
  width: 49%;
  margin-right: 2%;
  margin-bottom: 2%;
  background: #fff;
  border-radius: 4px;
  font-size: 46px;
  padding: 50px 0 40px;
  font-weight: bold;
  text-align: center; }
  @media (max-width: 999px) {
    #home02 .main .list a {
      width: 100%;
      padding: 16px 0 6px;
      font-size: 28px;
      margin-bottom: 10px; } }

#home02 .main .list a:nth-child(2n) {
  margin-right: 0; }

#home02 .main .box_1 {
  max-width: 1000px;
  margin: 0 auto 80px;
  width: 92%; }
  @media (max-width: 999px) {
    #home02 .main .box_1 {
      margin: 0 auto 40px; } }

#home02 .main .box_1 .sttl {
  font-size: 36px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  letter-spacing: 1.4px;
  margin-bottom: 0; }
  @media (max-width: 999px) {
    #home02 .main .box_1 .sttl {
      font-size: 24px;
      margin-bottom: 0; } }

#home02 .main .box_1 .sttl strong {
  font-size: 46px;
  margin-right: 10px; }
  @media (max-width: 999px) {
    #home02 .main .box_1 .sttl strong {
      font-size: 36px;
      margin-right: 0; } }

#home02 .main .box_1 .bnr {
  text-align: center; }

#home02 .main .box_1 .bnr img {
  border-radius: 4px; }

#home02 .main .addSttl {
  font-size: 32px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  margin-bottom: 20px; }
  @media (max-width: 999px) {
    #home02 .main .addSttl {
      font-size: 28px;
      margin-bottom: 10px; } }

#home02 .main .box_2 {
  max-width: 1000px;
  margin: 0 auto 80px;
  width: 92%;
  display: flex;
  flex-wrap: wrap; }
  @media (max-width: 999px) {
    #home02 .main .box_2 {
      flex-direction: column; } }

#home02 .main .box_2.main .pic {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 1%;
  opacity: 0.9; }
  @media (max-width: 999px) {
    #home02 .main .box_2.main .pic {
      width: 100%;
      margin-right: 0; } }

#home02 .main .box_2.main .pic:nth-child(2n) {
  margin-right: 0; }

#home02 .main .box_2.main {
  justify-content: center; }

#home02 .main .box_2 .box {
  width: 49%;
  margin-right: 2%;
  margin-bottom: 2%;
  background: #fff;
  border-radius: 4px;
  padding: 20px 20px 30px;
  font-weight: bold;
  text-align: center; }
  @media (max-width: 999px) {
    #home02 .main .box_2 .box {
      width: 100%;
      padding: 10px 10px 20px;
      margin-bottom: 20px;
      margin-right: 0; } }

#home02 .main .box_2 .box:nth-child(2n) {
  margin-right: 0; }

#home02 .main .box_2 .box .pic {
  margin-bottom: 20px; }

#home02 .main .box_2 .box .ssttl {
  font-size: 40px;
  font-weight: bold;
  line-height: 40px; }

#home02 .main .box_2 .box .date {
  background: #111;
  color: #fff;
  width: max-content;
  margin: 0 auto;
  padding: 1px 10px 0;
  border-radius: 2px;
  letter-spacing: 1.4px;
  margin-bottom: 20px; }

#home02 .main .box_2 .box .sstxt {
  font-size: 16px;
  text-align: center; }
  @media (max-width: 999px) {
    #home02 .main .box_2 .box .sstxt {
      font-size: 14px; } }

#home02 .btn2 {
  background: #111;
  padding: 8px 30px 2px;
  font-size: 24px;
  font-weight: bold;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  margin: 0 auto;
  letter-spacing: 2px;
  transition: 0.4s cubic-bezier(0.37, 0, 0.63, 1);
  border: 3px solid #111;
  border-radius: 4px; }
  @media (max-width: 999px) {
    #home02 .btn2 {
      padding: 20px 14% 16px;
      width: 70%;
      font-size: 20px; } }

#home02 .btn2::after {
  background: url("../img/ico_arrow_w.png") no-repeat;
  position: absolute;
  right: 20px;
  top: 68%;
  content: '';
  width: 30px;
  height: 20px;
  transform: translate(0, -50%);
  background-size: contain; }
  @media (max-width: 999px) {
    #home02 .btn2::after {
      right: 10px;
      top: 68%;
      width: 20px;
      height: 18px; } }

@media (min-width: 1000px) {
  #home02 .btn2:hover {
    background: #fff;
    color: #111;
    border: 3px solid #111;
    opacity: 1;
    border-radius: 4px; } }

@media (min-width: 1000px) {
  #home02 .btn2:hover::after {
    background: url(../img/ico_arrow_right_b.png) no-repeat;
    position: absolute;
    right: 20px;
    top: 68%;
    content: '';
    width: 30px;
    height: 20px;
    transform: translate(0, -50%);
    background-size: contain; } }

#home02 .sub {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto; }

#home02 .sub .sttl {
  font-size: 46px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  letter-spacing: 1.4px;
  margin-top: 40px;
  line-height: 0; }
  @media (max-width: 999px) {
    #home02 .sub .sttl {
      line-height: 50px;
      margin-bottom: 30px; } }

#home02 .sub .boxs {
  padding: 40px;
  background: #fff;
  margin-bottom: 40px;
  border-radius: 4px; }
  @media (max-width: 999px) {
    #home02 .sub .boxs {
      padding: 20px; } }

#home02 .sub .boxs {
  padding: 40px;
  background: #fff;
  margin-bottom: 40px;
  border-radius: 4px; }
  @media (max-width: 999px) {
    #home02 .sub .boxs {
      padding: 20px; } }

#home02 .sub .boxs .ttlBox {
  display: flex;
  margin-bottom: 40px;
  align-items: center; }
  @media (max-width: 999px) {
    #home02 .sub .boxs .ttlBox {
      flex-direction: column;
      margin-bottom: 0; } }

#home02 .sub .date {
  text-align: center;
  font-size: 26px;
  background: #fff;
  color: #111;
  padding: 6px 24px 0;
  line-height: 26px;
  border-radius: 2px;
  margin-right: 20px;
  width: max-content;
  margin: 80px auto 30px;
  font-weight: bold; }
  @media (max-width: 999px) {
    #home02 .sub .date {
      margin: 40px auto 30px; } }

#home02 .sub .ssttl {
  font-size: 34px;
  font-weight: bold;
  margin-bottom: 30px;
  text-align: center;
  color: #fff; }
  @media (max-width: 999px) {
    #home02 .sub .ssttl {
      line-height: normal;
      font-size: 24px; } }

#home02 .sub .boxs .sssttl {
  font-size: 34px;
  font-weight: bold;
  line-height: 10px;
  padding: 6px 0 0; }
  @media (max-width: 999px) {
    #home02 .sub .boxs .sssttl {
      line-height: normal;
      font-size: 24px; } }

#home02 .sub .boxs .box {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media (max-width: 999px) {
    #home02 .sub .boxs .box {
      flex-direction: column; } }

#home02 .sub .boxs .box .box_l {
  width: 42%;
  text-align: center; }
  @media (max-width: 999px) {
    #home02 .sub .boxs .box .box_l {
      width: 100%; } }

#home02 .sub .boxs .box .box_l .pic {
  margin-bottom: 30px; }
  @media (max-width: 999px) {
    #home02 .sub .boxs .box .box_l .pic {
      margin-bottom: 20px; } }

#home02 .sub .boxs .box .box_l .sstxt {
  font-weight: bold; }
  @media (max-width: 999px) {
    #home02 .sub .boxs .box .box_l .sstxt {
      font-size: 14px;
      text-align: left;
      margin-bottom: 20px; } }

#home02 .sub .boxs .box .box_r {
  width: 54%; }
  @media (max-width: 999px) {
    #home02 .sub .boxs .box .box_r {
      width: 100%;
      margin-bottom: 20px; } }

#home02 .sub .boxs .box .box_r dl {
  display: flex;
  border-top: 1px solid #eee; }

#home02 .sub .boxs .box .box_r dt {
  width: 24%;
  padding: 8px 4%; }

#home02 .sub .boxs .box .box_r dd {
  width: 76%;
  padding: 8px 4%; }

#home02 .sub .boxs .box .box_r dl:last-child {
  border-top: 1px solid #eee;
  padding-top: 20px; }
  @media (max-width: 999px) {
    #home02 .sub .boxs .box .box_r dl:last-child {
      flex-direction: column; } }

#home02 .sub .boxs .box .box_r dl:last-child dt {
  background: #eaeaea; }
  @media (max-width: 999px) {
    #home02 .sub .boxs .box .box_r dl:last-child dt {
      width: 100%;
      text-align: center; } }

#home02 .sub .boxs .box .box_r dl:last-child dd {
  background: #f5f5f5;
  word-break: break-all; }
  @media (max-width: 999px) {
    #home02 .sub .boxs .box .box_r dl:last-child dd {
      width: 100%; } }

#home02 .sub .boxs .box .box_r .btn2 {
  padding: 10px 20px 8px;
  font-size: 14px;
  margin: 10px 0 10px;
  max-width: 240px;
  border: 2px solid #111; }
  @media (max-width: 999px) {
    #home02 .sub .boxs .box .box_r .btn2 {
      font-size: 12px; } }

#home02 .main .box_2 .box .pics {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

#home02 .main .box_2 .box .pics .picBox {
  width: 48%;
  margin-bottom: 20px; }

#home02 .main .box_2 .box .pics .picBox .sstxt {
  line-height: 0; }

/* 
---------------------------------------
home03
---------------------------------------
*/
#home03 {
  padding: 120px 0;
  position: relative;
  z-index: 1; }
  @media (max-width: 999px) {
    #home03 {
      padding: 60px 0; } }

#home03 .ttl {
  font-size: 60px;
  font-weight: bold;
  margin-bottom: 80px; }
  @media (max-width: 999px) {
    #home03 .ttl {
      margin-bottom: 20px;
      text-align: center; } }

#home03 .bnr {
  transition: 0.4s ease; }

#home03 .bnr img {
  filter: drop-shadow(0px 4px 10px rgba(160, 160, 160, 0.2));
  transition: 0.4s ease; }

#home03 .bnr:hover {
  opacity: 1; }

#home03 .bnr:hover img {
  filter: drop-shadow(0px 8px 16px rgba(160, 160, 160, 0.7));
  opacity: 1;
  transition: 0.4s ease; }

#home03 .plan {
  margin-bottom: 80px; }

/*タブ実装*/
.tab_box .btn_area {
  display: -webkit-box;
  display: flex; }

.tab_box {
  margin-bottom: 40px; }

.tab_box .tab_btn {
  width: 188px;
  padding: 8px 0;
  color: #333;
  background: #f5f7f8;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease 0s;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111;
  color: #fff;
  font-size: 24px;
  border-radius: 4px 4px 0 0;
  margin-bottom: -2px; }
  @media (min-width: 1000px) {
    .tab_box .tab_btn {
      width: 36%;
      font-size: 36px; } }

.tab_box .tab_btn + .tab_btn {
  margin-left: 10px; }

.tab_box .tab_btn:hover {
  background-color: #dce1e4; }

.tab_box .tab_btn.active {
  background: #fff;
  margin-bottom: -2px;
  border: 1px solid #111;
  border-bottom: 0;
  font-weight: bold;
  font-size: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 1px;
  color: #111;
  border-radius: 4px 4px 0 0; }
  @media (min-width: 1000px) {
    .tab_box .tab_btn.active {
      width: 36%;
      font-size: 36px; } }

.tab_box .tab_btn span {
  font-size: 12px;
  margin-left: 2px; }
  @media (min-width: 1000px) {
    .tab_box .tab_btn span {
      font-size: 20px;
      margin-left: 10px; } }

.tab_box .panel_area {
  border: solid 1px #111;
  padding: 20px 20px 0;
  border-radius: 0 0 4px 4px; }

.tab_box .tab_panel {
  display: none; }

.tab_box .tab_panel.active {
  display: block;
  padding: 20px 20px 40px; }
  @media (max-width: 999px) {
    .tab_box .tab_panel.active {
      padding: 0px 0px 20px; } }

/* 
---------------------------------------
home04
---------------------------------------
*/
#home04 {
  padding: 200px 0 240px; }
  @media (max-width: 999px) {
    #home04 {
      padding: 60px 0 100px; } }

#home04 .box {
  background: #f7f7f7;
  width: 80%;
  margin: 0 0 0 auto;
  padding: 160px 0;
  position: relative;
  display: flex;
  align-items: center;
  max-width: 1200px;
  transition: 0.4s ease;
  cursor: pointer;
  border-radius: 8px 0 0 8px; }
  @media (max-width: 999px) {
    #home04 .box {
      padding: 40px 0 60px;
      flex-direction: column; } }

#home04 .box .ttl {
  margin-left: -80px;
  font-size: 48px;
  font-weight: bold;
  margin-right: 8%; }
  @media (max-width: 999px) {
    #home04 .box .ttl {
      margin-right: 20%; } }

#home04 .box .txtBox {
  padding: 48px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 50%;
  min-width: 500px; }
  @media (max-width: 999px) {
    #home04 .box .txtBox {
      padding: 20px 6%;
      min-width: 90%;
      margin-left: -20%;
      box-shadow: 0 10px 25px 0 rgba(0, 0, 0, 0.1); } }

#home04 .box .txtBox .item {
  display: flex;
  align-items: center; }

#home04 .box .txtBox .txt {
  font-size: 24px;
  font-weight: bold; }
  @media (max-width: 999px) {
    #home04 .box .txtBox .txt {
      font-size: 16px; } }

#home04 .box .txtBox .fa-solid {
  font-size: 50px;
  margin-right: 20px; }
  @media (max-width: 999px) {
    #home04 .box .txtBox .fa-solid {
      font-size: 30px; } }

#home04 .box .txtBox img {
  width: 32px; }

#home04 .box::after {
  content: '';
  width: 100%;
  height: 100%;
  background: url("../img/04_pdf_bg.jpg") no-repeat;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  opacity: 0;
  -webkit-transition: .6s ease-in-out;
  transition: .6s ease-in-out; }

#home04 .box:hover {
  background: rgba(255, 255, 255, 0);
  transition: .6s ease; }

#home04 .box:hover::after {
  opacity: 1;
  transition: .6s ease;
  top: 50%;
  left: 50%; }

#home04 .box:hover .txtBox {
  opacity: 1;
  background: rgba(255, 255, 255, 0.5);
  transition: .6s ease; }

/* 
---------------------------------------
home06
---------------------------------------
*/
#home06 {
  background: #f7f7f7;
  padding: 0 0 60px;
  position: relative;
  perspective: 200px; }
  @media (max-width: 999px) {
    #home06 {
      padding: 0 0 60px; } }

#home06 .time {
  display: block;
  color: #fff;
  font-size: clamp(40px, 5vw, 80px);
  letter-spacing: 4px;
  margin-bottom: 1vw;
  font-weight: bold; }
  @media (max-width: 999px) {
    #home06 .time {
      font-size: 58px; } }

#home06 .time1 {
  line-height: 40px;
  font-weight: bold;
  font-size: 28px; }
  @media (max-width: 999px) {
    #home06 .time1 {
      line-height: 44px; } }

#home06 .time2 {
  line-height: 32px;
  font-weight: bold; }
  @media (max-width: 999px) {
    #home06 .time2 {
      font-size: 48px; } }

#home06 .time3 {
  text-align: center;
  line-height: 36px;
  font-weight: bold; }
  @media (max-width: 999px) {
    #home06 .time3 {
      line-height: 42px; } }

#home06 .time4 {
  font-weight: bold; }
  @media (max-width: 999px) {
    #home06 .time4 {
      font-size: 48px; } }

#home06 .time5 {
  font-size: 20px;
  line-height: 28px;
  text-align: center;
  font-weight: bold;
  letter-spacing: 4px; }

#home06 .time5 small {
  font-size: 12.5px; }

#home06 .time span {
  font-size: clamp(30px, 3vw, 50px); }
  @media (max-width: 999px) {
    #home06 .time span {
      font-size: 24px;
      letter-spacing: 1px;
      padding-left: 4px; } }

@media (max-width: 999px) {
  #home06 .ttlBox .ttl .time3 span {
    font-size: 32px; } }

#home06 .ttlBox {
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(400px, 40vw, 600px);
  position: relative;
  overflow: hidden; }

#home06 .ttlBox .bg {
  position: absolute; }

#home06 .ttlDeco {
  position: absolute;
  top: -3%;
  left: 6%;
  width: clamp(360px, 36vw, 480px); }
  @media (max-width: 999px) {
    #home06 .ttlDeco {
      top: -2%;
      width: clamp(300px, 36vw, 480px); } }

#home06 .ttlBox .ttl {
  display: block;
  color: #fff;
  font-size: clamp(44px, 6vw, 70px) !important;
  letter-spacing: 6px;
  margin-bottom: 2.4vw;
  font-weight: bold;
  text-align: center;
  line-height: clamp(44px, 2.8vw, 60px);
  background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 23%, rgba(0, 0, 0, 0.3) 78%, rgba(0, 0, 0, 0) 100%);
  width: 100%;
  padding: 60px 0 40px;
  z-index: 1; }
  @media (max-width: 999px) {
    #home06 .ttlBox .ttl {
      text-align: left;
      font-size: clamp(40px, 5vw, 80px);
      background: linear-gradient(to right, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.3) 23%, rgba(0, 0, 0, 0.3) 78%, rgba(0, 0, 0, 0.3) 100%);
      width: 70%;
      padding: 30px 30px 30px;
      max-width: 270px; } }

#home06 .ttlBox .ttl span {
  font-size: clamp(24px, 3vw, 36px); }
  @media (max-width: 999px) {
    #home06 .ttlBox .ttl span {
      font-size: 23px; } }

@media (min-width: 1000px) {
  #home06 .ttlBox .ttl em {
    font-weight: bold;
    letter-spacing: 3px;
    font-size: clamp(28px, 2vw, 36px); } }
@media (max-width: 999px) {
  #home06 .ttlBox .ttl em {
    font-size: clamp(30px, 3vw, 50px); } }

#home06 .addTtl {
  margin-bottom: 60px; }
  @media (max-width: 999px) {
    #home06 .addTtl {
      margin-bottom: 40px; } }

#home06 .addTtl .ttlPic {
  width: 90%;
  margin: 0 auto;
  max-width: 600px; }

#home06 .addTtl .sttl {
  padding-bottom: 20px;
  text-align: center;
  font-weight: bold;
  padding-top: 40px;
  font-size: 28px; }
  @media (max-width: 999px) {
    #home06 .addTtl .sttl {
      font-size: 20px; } }

#home06 .addTtl .sstxt {
  font-size: 16px; }
  @media (max-width: 999px) {
    #home06 .addTtl .sstxt {
      font-size: 14px; } }

#home06 .boxs {
  max-width: 1060px;
  width: 92%;
  margin: 0 auto;
  background: #f7f7f7;
  margin-top: -4vw;
  z-index: 1;
  position: relative;
  padding: 4vw 4vw 1vw;
  border-radius: 4px; }
  @media (max-width: 999px) {
    #home06 .boxs {
      margin-top: 20px; } }

#home06 .boxs .box {
  background: #fff;
  padding: 60px 80px;
  margin-bottom: 40px;
  position: relative;
  border-radius: 4px; }
  @media (max-width: 999px) {
    #home06 .boxs .box {
      padding: 40px 30px 20px; } }

#home06 .boxs .box::before {
  position: absolute;
  content: '';
  width: 60px;
  height: 2px;
  top: 19%;
  left: -30px;
  background: #111; }
  @media (max-width: 999px) {
    #home06 .boxs .box::before {
      width: 40px;
      top: 17%;
      left: -23px; } }

@media (max-width: 999px) {
  #home06 .boxs .box:nth-child(2)::before,
  #home06 .boxs .box:nth-child(3)::before {
    top: 10%; } }

#home06 .sttlDeco {
  font-size: 36px;
  line-height: 42px;
  font-weight: bold;
  letter-spacing: 2px;
  margin-bottom: 10px; }
  @media (max-width: 999px) {
    #home06 .sttlDeco {
      font-size: 28px;
      line-height: 32px; } }

#home06 .addtxt {
  text-align: right;
  margin-top: 20px; }

@media (max-width: 999px) {
  #home06 .sttl {
    padding-bottom: 10px; } }

@media (max-width: 999px) {
  #home06 .ssttl {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: normal;
    margin-top: 20px; } }

#home06 .date dl {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #eee; }

#home06 .date dl dd {
  padding: 20px 30px;
  line-height: normal; }
  @media (max-width: 999px) {
    #home06 .date dl dd {
      font-size: 14px;
      text-align: center; } }

#home06 .date dl:first-child {
  background: #f7f7f7; }

#home06 .date dl dd:first-child {
  width: 40%;
  font-weight: bold; }
  @media (max-width: 999px) {
    #home06 .date dl dd:first-child {
      width: 50%;
      font-weight: normal; } }

#home06 .date dl dd:nth-child(2),
#home06 .date dl dd:nth-child(3) {
  width: 30%;
  border-left: 1px solid #eee;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media (max-width: 999px) {
    #home06 .date dl dd:nth-child(2),
    #home06 .date dl dd:nth-child(3) {
      width: 50%; } }

#home06 .date dl:last-child {
  border-bottom: 1px solid #eee; }

#home06 .btn2 {
  background: #111;
  padding: 34px 30px 26px;
  font-size: 28px;
  font-weight: bold;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  max-width: 720px;
  margin: 0 auto;
  letter-spacing: 2px;
  transition: 0.4s cubic-bezier(0.37, 0, 0.63, 1);
  border: 3px solid #111;
  border-radius: 4px; }
  @media (max-width: 999px) {
    #home06 .btn2 {
      padding: 20px 30px 16px;
      width: 70%;
      font-size: 20px; } }

#home06 .btn2::after {
  background: url("../img/ico_arrow_w.png") no-repeat;
  position: absolute;
  right: 40px;
  top: 52%;
  content: '';
  width: 40px;
  height: 20px;
  transform: translate(0, -50%);
  background-size: contain; }
  @media (max-width: 999px) {
    #home06 .btn2::after {
      right: 20px;
      top: 54%;
      width: 30px;
      height: 18px; } }

@media (min-width: 1000px) {
  #home06 .btn2:hover {
    background: #fff;
    color: #111;
    border: 3px solid #111;
    opacity: 1;
    border-radius: 4px; } }

@media (min-width: 1000px) {
  #home06 .btn2:hover::after {
    background: url(../img/ico_arrow_right_b.png) no-repeat;
    width: 84px;
    height: 20px;
    transform: scale(0.46);
    top: 36.8%;
    right: 18px; } }

/* 
---------------------------------------
home07
---------------------------------------
*/
#home07 {
  background: #f7f7f7;
  padding: 100px 0 200px; }
  @media (max-width: 999px) {
    #home07 {
      padding: 40px 0; } }

#home07 .boxs {
  padding: 20px 0 0; }

#home07 .ttl {
  font-size: 60px;
  font-weight: bold;
  text-align: center; }

#home07 .sttl {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  margin-bottom: -10px; }
  @media (max-width: 999px) {
    #home07 .sttl {
      font-size: 28px; } }

#home07 .ssttl {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px; }
  @media (max-width: 999px) {
    #home07 .ssttl {
      margin-bottom: 10px;
      font-size: 20px; } }

#home07 .maps {
  max-width: 1200px;
  margin: 0 auto; }

#home07 .maps iframe {
  height: 60vh;
  max-height: 560px;
  border-radius: 4px; }

#home07 .accessNav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 80%;
  max-width: 720px;
  margin: 60px auto 0; }
  @media (max-width: 999px) {
    #home07 .accessNav {
      width: 70%;
      max-width: 720px;
      margin: 40px auto 0;
      flex-direction: column; } }

#home07 .accessNav li {
  padding: 4px;
  letter-spacing: 1px;
  font-weight: bold;
  position: relative;
  border: none;
  background: transparent;
  color: #111;
  text-decoration: none;
  cursor: pointer; }
  @media (max-width: 999px) {
    #home07 .accessNav li {
      width: 100%;
      margin-bottom: 30px;
      padding: 0 0 10px 20px; } }

#home07 .accessNav li a {
  display: flex;
  align-items: center;
  justify-content: center; }
  @media (max-width: 999px) {
    #home07 .accessNav li a {
      justify-content: inherit; } }

#home07 .accessNav li i {
  font-size: 20px;
  margin-right: 10px; }

#home07 .accessNav li img {
  margin-right: 10px;
  width: 28px;
  display: flex;
  align-items: center;
  justify-content: center; }

#home07 .accessNav li::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: #111;
  visibility: visible;
  transform: scaleX(1);
  transition: all 0.3s ease-in-out;
  transform-origin: right; }

#home07 .accessNav li:hover::after {
  visibility: hidden;
  transform: scaleX(0);
  transform-origin: right; }

#home07 .boxs2 {
  padding: 80px 0 0;
  width: 90%;
  margin: 0 auto;
  max-width: 1200px; }
  @media (max-width: 999px) {
    #home07 .boxs2 {
      padding: 40px 0 0; } }

#home07 .boxs2 .box {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between; }
  @media (max-width: 999px) {
    #home07 .boxs2 .box {
      flex-direction: column; } }

#home07 .boxs2 .box .pic {
  width: 50%; }
  @media (max-width: 999px) {
    #home07 .boxs2 .box .pic {
      width: 100%; } }

#home07 .boxs2 .box .item {
  width: 44%; }
  @media (max-width: 999px) {
    #home07 .boxs2 .box .item {
      width: 100%; } }

#home07 .boxs2 dl {
  display: flex;
  flex-wrap: nowrap;
  border-bottom: 1px solid #eee;
  padding: 20px 0; }

#home07 .boxs2 dl dt {
  width: 24%; }
  @media (max-width: 999px) {
    #home07 .boxs2 dl dt {
      padding-left: 10px; } }

#home07 .boxs2 dl dd {
  width: 76%; }

#home07 .btn2 {
  background: #111;
  padding: 16px 16px 10px;
  font-size: 21px;
  font-weight: bold;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  max-width: 400px;
  margin: 20px auto 0;
  letter-spacing: 2px;
  transition: 0.4s cubic-bezier(0.37, 0, 0.63, 1);
  border: 3px solid #111;
  border-radius: 4px; }
  @media (max-width: 999px) {
    #home07 .btn2 {
      padding: 20px 30px 16px;
      width: 80%;
      font-size: 20px; } }

#home07 .btn2::after {
  background: url("../img/ico_arrow_w.png") no-repeat;
  position: absolute;
  right: 20px;
  top: 60%;
  content: '';
  width: 32px;
  height: 20px;
  transform: translate(0, -50%);
  background-size: contain; }
  @media (max-width: 999px) {
    #home07 .btn2::after {
      right: 20px;
      top: 54%;
      width: 30px;
      height: 18px; } }

@media (min-width: 1000px) {
  #home07 .btn2:hover {
    background: #fff;
    color: #111;
    border: 3px solid #111;
    opacity: 1;
    border-radius: 4px; } }

@media (min-width: 1000px) {
  #home07 .btn2:hover::after {
    background: url(../img/ico_arrow_right_b.png) no-repeat;
    position: absolute;
    right: 20px;
    top: 60%;
    content: '';
    width: 32px;
    height: 20px;
    transform: translate(0, -50%);
    background-size: contain; } }

#home07 .bnr {
  margin: 100px auto 0;
  text-align: center; }
  @media (max-width: 999px) {
    #home07 .bnr {
      margin-top: 20px;
      width: 90%; } }

/* 
---------------------------------------
home08
---------------------------------------
*/
#home08 {
  padding: 160px 0; }
  @media (max-width: 999px) {
    #home08 {
      padding: 60px 0; } }

#home08 .ttl {
  font-size: 40px !important;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
  position: relative;
  padding-bottom: 20px; }
  @media (max-width: 999px) {
    #home08 .ttl {
      margin-bottom: 40px;
      font-size: 32px  !important;
      padding-bottom: 10px; } }

#home08 .ttl::after {
  content: '';
  position: absolute;
  bottom: -20px;
  left: 50%;
  width: 2px;
  height: 30px;
  transform: translateX(-50%);
  background: #111;
  display: none; }

#home08 .sttl {
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
  margin-top: 80px;
  position: relative; }
  @media (max-width: 999px) {
    #home08 .sttl {
      font-size: 28px;
      margin-bottom: 10px;
      margin-top: 20px; } }

#home08 .ssttl {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  margin-top: 60px;
  position: relative; }
  @media (max-width: 999px) {
    #home08 .ssttl {
      font-size: 20px;
      margin-bottom: 10px;
      margin-top: 20px; } }

#home08 .txt {
  text-align: center;
  font-size: 16px; }
  @media (max-width: 999px) {
    #home08 .txt {
      text-align: left;
      width: 90%;
      margin: 0 auto; } }

#home08 .list {
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  justify-content: center; }
  @media (max-width: 999px) {
    #home08 .list {
      justify-content: center; } }

#home08 .list li {
  margin-bottom: 40px;
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.1));
  transition: 0.4s ease; }
  @media (max-width: 999px) {
    #home08 .list li {
      margin-bottom: 20px;
      filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.1)); } }

#home08 .list li img {
  border-radius: 4px; }

#home08 .list li:hover {
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.3));
  transition: 0.4s ease; }

#home08 .list li a:hover,
#home08 .list li a:hover img {
  opacity: 1; }

#home08 .list:nth-child(2) li {
  width: 32%;
  margin-right: 2%; }
  @media (max-width: 999px) {
    #home08 .list:nth-child(2) li {
      width: 80%;
      margin-right: 0; } }

@media (min-width: 1000px) {
  #home08 .list:nth-child(2) li:nth-child(3) {
    margin-right: 0; } }

#home08 .list:nth-child(4) li {
  width: 23.5%;
  margin-right: 2%; }
  @media (max-width: 999px) {
    #home08 .list:nth-child(4) li {
      width: 48%; } }

#home08 .list:nth-child(4) li:nth-child(4n) {
  margin-right: 0; }
  @media (max-width: 999px) {
    #home08 .list:nth-child(4) li:nth-child(4n) {
      margin-right: 2%; } }

.parallax1 {
  left: 50%;
  position: fixed;
  top: 0;
  width: 100%;
  height: auto;
  z-index: -1;
  transform: translate(-50%, 9.5%); }

.parallax2 {
  left: 50%;
  top: 300;
  width: 100%;
  height: auto;
  z-index: 1;
  transform: translate(-50%, 0); }
  @media (max-width: 999px) {
    .parallax2 {
      transform: translate(-50%, -200px); } }

.remodal-wrapper .remodal {
  max-width: 1000px;
  text-align: left; }

.remodal-wrapper .add.remodal {
  text-align: center; }

.remodal-wrapper .add.remodal img {
  width: 50%;
  margin: 0 auto; }
  @media (max-width: 999px) {
    .remodal-wrapper .add.remodal img {
      width: 100%; } }

.remodal-wrapper .remodal a {
  text-decoration: underline; }

a[target="_blank"].blank:after {
  font-family: 'Font Awesome 5 Free';
  content: '\f35d';
  font-size: 10px;
  margin: 0px 3px;
  font-weight: 900; }
