@charset "UTF-8";
/****************************************************************************************************************************/
/*
/*
/* = Reset Style
/*
/*
/****************************************************************************************************************************/
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html {
  height: 100%;
}

h1, h2, h3, h4, h5, h6, dt {
  padding: 0;
  margin: 0;
  font-weight: normal;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

strong {
  font-weight: normal;
}

/****************************************************************************************************************************/
/*
/*
/* = Font
/*
/*
/****************************************************************************************************************************/
/*
/* = Font Face
/*
/* ----------------------------------------------------------------------------------------------------------------------- */
/*
/* = Font Size
/*
/* ----------------------------------------------------------------------------------------------------------------------- */
html {
  font-size: 0.0732064422vw;
}

/****************************************************************************************************************************/
/*
/*
/* = Common Style
/*
/*
/****************************************************************************************************************************/
body {
  margin: 0;
  padding: 0;
  background-color: #ffffff;
  color: #3f3f43;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(15px, 1.40625vw, 18px);
  line-height: 1;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
}

/*
/* = メディアごとの表示、非表示
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
@media print, screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .spl {
    display: none;
  }
}
/****************************************************************************************************************************/
/*
/*
/* = Parts Style (common)
/*
/*
/****************************************************************************************************************************/
/*
/* = a
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
a {
  display: inline-block;
  text-decoration: none;
  transition: 0.5s ease-in-out;
}
a:link {
  color: #3f3f43;
}
a:hover {
  color: #3f3f43;
}
a:active {
  color: #3f3f43;
}
a:focus {
  color: #3f3f43;
}
a:visited {
  color: #3f3f43;
}

@media print, screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

.mailaddress::after {
  content: "@ji.jet.ne.jp";
}

/*
/* = img
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
img,
svg {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

/*
/* = txt
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.txt--center {
  text-align: center;
}

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

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

/*
/* = Margin Padding
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.pxmt--0 {
  margin-top: 0px !important;
}

.pxmr--0 {
  margin-right: 0px !important;
}

.pxmb--0 {
  margin-bottom: 0px !important;
}

.pxml--0 {
  margin-left: 0px !important;
}

.pxpt--0 {
  padding-top: 0px !important;
}

.pxpr--0 {
  padding-right: 0px !important;
}

.pxpb--0 {
  padding-bottom: 0px !important;
}

.pxpl--0 {
  padding-left: 0px !important;
}

.pxmt--5 {
  margin-top: 5px !important;
}

.pxmr--5 {
  margin-right: 5px !important;
}

.pxmb--5 {
  margin-bottom: 5px !important;
}

.pxml--5 {
  margin-left: 5px !important;
}

.pxpt--5 {
  padding-top: 5px !important;
}

.pxpr--5 {
  padding-right: 5px !important;
}

.pxpb--5 {
  padding-bottom: 5px !important;
}

.pxpl--5 {
  padding-left: 5px !important;
}

.pxmt--10 {
  margin-top: 10px !important;
}

.pxmr--10 {
  margin-right: 10px !important;
}

.pxmb--10 {
  margin-bottom: 10px !important;
}

.pxml--10 {
  margin-left: 10px !important;
}

.pxpt--10 {
  padding-top: 10px !important;
}

.pxpr--10 {
  padding-right: 10px !important;
}

.pxpb--10 {
  padding-bottom: 10px !important;
}

.pxpl--10 {
  padding-left: 10px !important;
}

.pxmt--15 {
  margin-top: 15px !important;
}

.pxmr--15 {
  margin-right: 15px !important;
}

.pxmb--15 {
  margin-bottom: 15px !important;
}

.pxml--15 {
  margin-left: 15px !important;
}

.pxpt--15 {
  padding-top: 15px !important;
}

.pxpr--15 {
  padding-right: 15px !important;
}

.pxpb--15 {
  padding-bottom: 15px !important;
}

.pxpl--15 {
  padding-left: 15px !important;
}

.pxmt--20 {
  margin-top: 20px !important;
}

.pxmr--20 {
  margin-right: 20px !important;
}

.pxmb--20 {
  margin-bottom: 20px !important;
}

.pxml--20 {
  margin-left: 20px !important;
}

.pxpt--20 {
  padding-top: 20px !important;
}

.pxpr--20 {
  padding-right: 20px !important;
}

.pxpb--20 {
  padding-bottom: 20px !important;
}

.pxpl--20 {
  padding-left: 20px !important;
}

.pxmt--25 {
  margin-top: 25px !important;
}

.pxmr--25 {
  margin-right: 25px !important;
}

.pxmb--25 {
  margin-bottom: 25px !important;
}

.pxml--25 {
  margin-left: 25px !important;
}

.pxpt--25 {
  padding-top: 25px !important;
}

.pxpr--25 {
  padding-right: 25px !important;
}

.pxpb--25 {
  padding-bottom: 25px !important;
}

.pxpl--25 {
  padding-left: 25px !important;
}

.pxmt--30 {
  margin-top: 30px !important;
}

.pxmr--30 {
  margin-right: 30px !important;
}

.pxmb--30 {
  margin-bottom: 30px !important;
}

.pxml--30 {
  margin-left: 30px !important;
}

.pxpt--30 {
  padding-top: 30px !important;
}

.pxpr--30 {
  padding-right: 30px !important;
}

.pxpb--30 {
  padding-bottom: 30px !important;
}

.pxpl--30 {
  padding-left: 30px !important;
}

.pxmt--35 {
  margin-top: 35px !important;
}

.pxmr--35 {
  margin-right: 35px !important;
}

.pxmb--35 {
  margin-bottom: 35px !important;
}

.pxml--35 {
  margin-left: 35px !important;
}

.pxpt--35 {
  padding-top: 35px !important;
}

.pxpr--35 {
  padding-right: 35px !important;
}

.pxpb--35 {
  padding-bottom: 35px !important;
}

.pxpl--35 {
  padding-left: 35px !important;
}

.pxmt--40 {
  margin-top: 40px !important;
}

.pxmr--40 {
  margin-right: 40px !important;
}

.pxmb--40 {
  margin-bottom: 40px !important;
}

.pxml--40 {
  margin-left: 40px !important;
}

.pxpt--40 {
  padding-top: 40px !important;
}

.pxpr--40 {
  padding-right: 40px !important;
}

.pxpb--40 {
  padding-bottom: 40px !important;
}

.pxpl--40 {
  padding-left: 40px !important;
}

.pxmt--45 {
  margin-top: 45px !important;
}

.pxmr--45 {
  margin-right: 45px !important;
}

.pxmb--45 {
  margin-bottom: 45px !important;
}

.pxml--45 {
  margin-left: 45px !important;
}

.pxpt--45 {
  padding-top: 45px !important;
}

.pxpr--45 {
  padding-right: 45px !important;
}

.pxpb--45 {
  padding-bottom: 45px !important;
}

.pxpl--45 {
  padding-left: 45px !important;
}

.pxmt--50 {
  margin-top: 50px !important;
}

.pxmr--50 {
  margin-right: 50px !important;
}

.pxmb--50 {
  margin-bottom: 50px !important;
}

.pxml--50 {
  margin-left: 50px !important;
}

.pxpt--50 {
  padding-top: 50px !important;
}

.pxpr--50 {
  padding-right: 50px !important;
}

.pxpb--50 {
  padding-bottom: 50px !important;
}

.pxpl--50 {
  padding-left: 50px !important;
}

.pxmt--55 {
  margin-top: 55px !important;
}

.pxmr--55 {
  margin-right: 55px !important;
}

.pxmb--55 {
  margin-bottom: 55px !important;
}

.pxml--55 {
  margin-left: 55px !important;
}

.pxpt--55 {
  padding-top: 55px !important;
}

.pxpr--55 {
  padding-right: 55px !important;
}

.pxpb--55 {
  padding-bottom: 55px !important;
}

.pxpl--55 {
  padding-left: 55px !important;
}

.pxmt--60 {
  margin-top: 60px !important;
}

.pxmr--60 {
  margin-right: 60px !important;
}

.pxmb--60 {
  margin-bottom: 60px !important;
}

.pxml--60 {
  margin-left: 60px !important;
}

.pxpt--60 {
  padding-top: 60px !important;
}

.pxpr--60 {
  padding-right: 60px !important;
}

.pxpb--60 {
  padding-bottom: 60px !important;
}

.pxpl--60 {
  padding-left: 60px !important;
}

.pxmt--65 {
  margin-top: 65px !important;
}

.pxmr--65 {
  margin-right: 65px !important;
}

.pxmb--65 {
  margin-bottom: 65px !important;
}

.pxml--65 {
  margin-left: 65px !important;
}

.pxpt--65 {
  padding-top: 65px !important;
}

.pxpr--65 {
  padding-right: 65px !important;
}

.pxpb--65 {
  padding-bottom: 65px !important;
}

.pxpl--65 {
  padding-left: 65px !important;
}

.pxmt--70 {
  margin-top: 70px !important;
}

.pxmr--70 {
  margin-right: 70px !important;
}

.pxmb--70 {
  margin-bottom: 70px !important;
}

.pxml--70 {
  margin-left: 70px !important;
}

.pxpt--70 {
  padding-top: 70px !important;
}

.pxpr--70 {
  padding-right: 70px !important;
}

.pxpb--70 {
  padding-bottom: 70px !important;
}

.pxpl--70 {
  padding-left: 70px !important;
}

.pxmt--75 {
  margin-top: 75px !important;
}

.pxmr--75 {
  margin-right: 75px !important;
}

.pxmb--75 {
  margin-bottom: 75px !important;
}

.pxml--75 {
  margin-left: 75px !important;
}

.pxpt--75 {
  padding-top: 75px !important;
}

.pxpr--75 {
  padding-right: 75px !important;
}

.pxpb--75 {
  padding-bottom: 75px !important;
}

.pxpl--75 {
  padding-left: 75px !important;
}

.pxmt--80 {
  margin-top: 80px !important;
}

.pxmr--80 {
  margin-right: 80px !important;
}

.pxmb--80 {
  margin-bottom: 80px !important;
}

.pxml--80 {
  margin-left: 80px !important;
}

.pxpt--80 {
  padding-top: 80px !important;
}

.pxpr--80 {
  padding-right: 80px !important;
}

.pxpb--80 {
  padding-bottom: 80px !important;
}

.pxpl--80 {
  padding-left: 80px !important;
}

.pxmt--85 {
  margin-top: 85px !important;
}

.pxmr--85 {
  margin-right: 85px !important;
}

.pxmb--85 {
  margin-bottom: 85px !important;
}

.pxml--85 {
  margin-left: 85px !important;
}

.pxpt--85 {
  padding-top: 85px !important;
}

.pxpr--85 {
  padding-right: 85px !important;
}

.pxpb--85 {
  padding-bottom: 85px !important;
}

.pxpl--85 {
  padding-left: 85px !important;
}

.pxmt--90 {
  margin-top: 90px !important;
}

.pxmr--90 {
  margin-right: 90px !important;
}

.pxmb--90 {
  margin-bottom: 90px !important;
}

.pxml--90 {
  margin-left: 90px !important;
}

.pxpt--90 {
  padding-top: 90px !important;
}

.pxpr--90 {
  padding-right: 90px !important;
}

.pxpb--90 {
  padding-bottom: 90px !important;
}

.pxpl--90 {
  padding-left: 90px !important;
}

.pxmt--95 {
  margin-top: 95px !important;
}

.pxmr--95 {
  margin-right: 95px !important;
}

.pxmb--95 {
  margin-bottom: 95px !important;
}

.pxml--95 {
  margin-left: 95px !important;
}

.pxpt--95 {
  padding-top: 95px !important;
}

.pxpr--95 {
  padding-right: 95px !important;
}

.pxpb--95 {
  padding-bottom: 95px !important;
}

.pxpl--95 {
  padding-left: 95px !important;
}

.pxmt--100 {
  margin-top: 100px !important;
}

.pxmr--100 {
  margin-right: 100px !important;
}

.pxmb--100 {
  margin-bottom: 100px !important;
}

.pxml--100 {
  margin-left: 100px !important;
}

.pxpt--100 {
  padding-top: 100px !important;
}

.pxpr--100 {
  padding-right: 100px !important;
}

.pxpb--100 {
  padding-bottom: 100px !important;
}

.pxpl--100 {
  padding-left: 100px !important;
}

.emmt--0 {
  margin-top: 0em !important;
}

.emmr--0 {
  margin-right: 0em !important;
}

.emmb--0 {
  margin-bottom: 0em !important;
}

.emml--0 {
  margin-left: 0em !important;
}

.empt--0 {
  padding-top: 0em !important;
}

.empr--0 {
  padding-right: 0em !important;
}

.empb--0 {
  padding-bottom: 0em !important;
}

.empl--0 {
  padding-left: 0em !important;
}

.emmt--1 {
  margin-top: 1em !important;
}

.emmr--1 {
  margin-right: 1em !important;
}

.emmb--1 {
  margin-bottom: 1em !important;
}

.emml--1 {
  margin-left: 1em !important;
}

.empt--1 {
  padding-top: 1em !important;
}

.empr--1 {
  padding-right: 1em !important;
}

.empb--1 {
  padding-bottom: 1em !important;
}

.empl--1 {
  padding-left: 1em !important;
}

.emmt--2 {
  margin-top: 2em !important;
}

.emmr--2 {
  margin-right: 2em !important;
}

.emmb--2 {
  margin-bottom: 2em !important;
}

.emml--2 {
  margin-left: 2em !important;
}

.empt--2 {
  padding-top: 2em !important;
}

.empr--2 {
  padding-right: 2em !important;
}

.empb--2 {
  padding-bottom: 2em !important;
}

.empl--2 {
  padding-left: 2em !important;
}

.emmt--3 {
  margin-top: 3em !important;
}

.emmr--3 {
  margin-right: 3em !important;
}

.emmb--3 {
  margin-bottom: 3em !important;
}

.emml--3 {
  margin-left: 3em !important;
}

.empt--3 {
  padding-top: 3em !important;
}

.empr--3 {
  padding-right: 3em !important;
}

.empb--3 {
  padding-bottom: 3em !important;
}

.empl--3 {
  padding-left: 3em !important;
}

.emmt--4 {
  margin-top: 4em !important;
}

.emmr--4 {
  margin-right: 4em !important;
}

.emmb--4 {
  margin-bottom: 4em !important;
}

.emml--4 {
  margin-left: 4em !important;
}

.empt--4 {
  padding-top: 4em !important;
}

.empr--4 {
  padding-right: 4em !important;
}

.empb--4 {
  padding-bottom: 4em !important;
}

.empl--4 {
  padding-left: 4em !important;
}

.emmt--5 {
  margin-top: 5em !important;
}

.emmr--5 {
  margin-right: 5em !important;
}

.emmb--5 {
  margin-bottom: 5em !important;
}

.emml--5 {
  margin-left: 5em !important;
}

.empt--5 {
  padding-top: 5em !important;
}

.empr--5 {
  padding-right: 5em !important;
}

.empb--5 {
  padding-bottom: 5em !important;
}

.empl--5 {
  padding-left: 5em !important;
}

/*
/* = form
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
input[type=text],
input[type=number],
input[type=tel],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
select,
textarea {
  padding: 0.8em;
  width: 100% !important;
  font-family: inherit;
  font-size: inherit;
  border: 1px solid #cccccc;
}

input[type=checkbox] {
  display: inline-block;
  margin-right: 0.5em;
}

input[type=submit],
button {
  min-width: 300px;
  height: 60px;
  padding-left: 1em;
  padding-right: 1em;
  text-align: center;
  font-weight: 500;
  border: none;
  font-size: inherit;
  font-family: inherit;
  cursor: pointer;
}

/*
/* = ico
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.ico::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.ico--access::before {
  content: "\f3c5";
}
.ico--mail::before {
  content: "\f0e0";
}
.ico--tel::before {
  content: "\f095";
}
.ico--exclamation::before {
  content: "\f06a";
}

/*
/* = btn
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.btn {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}
.btn--more {
  position: relative;
  padding: 0 0.25em 3px 0.5em;
  letter-spacing: 0.1em;
}
.btn--more::before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 3px;
  background-color: #009933;
}
.btn--more::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  content: "";
  width: 0;
  height: 3px;
  background-color: #00cc44;
  transition: 0.5s ease-in-out;
}
.btn--more:hover::after {
  width: 100%;
}
.btn--more span {
  display: block;
}
.btn--more span::after {
  display: inline-block;
  margin-top: 3px;
  margin-left: 0.25em;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f0da";
}
.btn--more:hover span {
  color: #009933;
}
.btn--back {
  position: relative;
  padding: 0 0.5em 3px 0.25em;
  letter-spacing: 0.1em;
}
.btn--back::before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 3px;
  background-color: #009933;
}
.btn--back::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  content: "";
  width: 0;
  height: 3px;
  background-color: #00cc44;
  transition: 0.5s ease-in-out;
}
.btn--back:hover::after {
  width: 100%;
}
.btn--back span {
  display: block;
}
.btn--back span::before {
  display: inline-block;
  margin-top: 3px;
  margin-right: 0.25em;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f0d9";
}
.btn--back:hover span {
  color: #009933;
}
.btn--tel {
  line-height: 1;
}
.btn--tel::before {
  display: inline-block;
  margin-top: 0.1em;
  margin-right: 0.25em;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f095";
}
.btn--tel big {
  font-family: "Oswald", sans-serif;
  font-weight: 700;
}
.btn--contact {
  position: relative;
  min-width: 245px;
  padding: 0.4em 2em;
  border: 1px solid #3f3f43;
}
.btn--contact span::before {
  display: inline-block;
  margin-right: 1em;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f0e0";
}
.btn--contact::before, .btn--contact::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border: 1px solid transparent;
}
.btn--contact::before {
  top: -1px;
  left: -1px;
}
.btn--contact::after {
  bottom: -1px;
  right: -1px;
}
.btn--contact:hover {
  color: #009933;
}
.btn--contact:hover::before, .btn--contact:hover::after {
  width: 100%;
  height: 100%;
}
.btn--contact:hover::before {
  border-top-color: #00cc44;
  border-right-color: #00cc44;
  transition: width 0.25s ease-in-out, height 0.25s ease-in-out 0.25s;
}
.btn--contact:hover::after {
  border-bottom-color: #00cc44;
  border-left-color: #00cc44;
  transition: width 0.25s ease-in-out, height 0.25s ease-in-out 0.25s;
}

/*
/* = ttl
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.ttl {
  line-height: 1;
}
.ttl--left {
  text-align: left;
}
.ttl--center {
  text-align: center;
}
.ttl--h2 span {
  display: block;
  font-family: "Noto Sans Mono", monospace;
  font-weight: 800;
  font-size: clamp(29px, 2.8125vw, 36px);
}
.ttl--h2 small {
  display: block;
  margin-top: 1.5em;
  font-size: clamp(13px, 1.25vw, 16px);
}
.ttl--h2.ttl--left {
  position: relative;
  margin-bottom: clamp(32px, 3.125vw, 40px);
  padding-left: clamp(40px, 3.90625vw, 50px);
  padding-top: clamp(10px, 0.78125vw, 10px);
  padding-bottom: clamp(10px, 0.78125vw, 10px);
}
.ttl--h2.ttl--left::before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "";
  height: 100%;
  width: 5px;
  background-color: #009933;
}
.ttl--h2.ttl--center {
  margin-bottom: clamp(48px, 4.6875vw, 60px);
}
.ttl--h3 {
  position: relative;
  margin-bottom: 1.5em;
  padding-left: clamp(20px, 1.953125vw, 25px);
  padding-top: clamp(10px, 0.78125vw, 10px);
  padding-bottom: clamp(10px, 0.78125vw, 10px);
  font-weight: 600;
  font-size: clamp(18px, 1.71875vw, 22px);
}
.ttl--h3::before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "";
  height: 100%;
  width: 5px;
  background-color: #009933;
}

/*
/* = table
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.tbl--dl dl {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  border-bottom: 1px solid #dddddd;
}
.tbl--dl dl:nth-of-type(1) {
  border-top: 1px solid #dddddd;
}
.tbl--dl dl dt {
  width: 20%;
  padding: 1.8em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .tbl--dl dl dt {
    width: 100%;
    padding-bottom: 0;
    text-align: left;
    font-weight: 600;
  }
}
.tbl--dl dl dd {
  width: 80%;
  padding: 1.8em;
}
@media screen and (max-width: 767px) {
  .tbl--dl dl dd {
    width: 100%;
    padding-top: 0.9em;
  }
}
.tbl--table {
  width: 100%;
  border-collapse: collapse;
}
.tbl--table th,
.tbl--table td {
  padding: 0.8em;
  border: 1px solid #dddddd;
}
.tbl--table thead th {
  background-color: rgba(0, 153, 51, 0.8);
  color: #ffffff;
}
.tbl--table tbody th {
  background-color: rgba(0, 153, 51, 0.1);
}
@media screen and (max-width: 767px) {
  .tbl--scroll {
    overflow-x: scroll;
  }
  .tbl--scroll table {
    min-width: 1080px;
  }
}

/*
/* = List
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.list--num {
  counter-reset: number 0;
}
.list--num > li {
  position: relative;
  padding-left: 2em;
}
.list--num li::before {
  position: absolute;
  left: 0;
  color: #009933;
  font-family: "Oswald", sans-serif;
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero) ".";
}

/*
/* = Iframe
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.iframe--map iframe {
  width: 100%;
  height: 100%;
}

/*
/* = Panel
/*
/* ---------------------------------------------------------------------------------------------------------------------- */
.panel--border {
  border: 1px solid #dddddd;
  padding: 1.8em;
}
.panel--attend {
  border: 1px solid #c40e1a;
  padding: 1.8em;
}
.panel--attend ul li {
  text-indent: -1em;
  padding-left: 1em;
}
.panel--attend ul li::before {
  color: #c40e1a;
}