@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  line-height: 1.45em;
}

@media screen and (max-width: 779px) {
  * {
    font-size: 4vw;
  }
  *:not(.slider, .slider *) {
    max-width: 100vw;
  }
  img {
    max-width: 98vw;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 780px), print {
  * {
    font-size: 18px;
  }
}
h2, h2 b, h2 b, h2 b b {
  font-size: 1.5rem;
}

h3 {
  font-size: 1.25rem;
}
h3 span {
  font-weight: normal;
}

h4 {
  font-size: 1.15rem;
}

h5 {
  font-size: 1.05rem;
}

h6 {
  font-size: 1rem;
}

a img {
  border-width: 0;
}

br {
  letter-spacing: normal;
}

address {
  font-style: normal;
}

table {
  border-collapse: collapse;
}

ul li, ol li {
  list-style-type: none;
}

.attention, .errorMSG {
  color: #d00;
}

* {
  margin: 0;
  padding: 0;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  line-height: 1.45em;
}

@media screen and (max-width: 779px) {
  * {
    font-size: 4vw;
  }
  *:not(.slider, .slider *) {
    max-width: 100vw;
  }
  img {
    max-width: 98vw;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 780px), print {
  * {
    font-size: 18px;
  }
}
h2, h2 b, h2 b, h2 b b {
  font-size: 1.5rem;
}

h3 {
  font-size: 1.25rem;
}
h3 span {
  font-weight: normal;
}

h4 {
  font-size: 1.15rem;
}

h5 {
  font-size: 1.05rem;
}

h6 {
  font-size: 1rem;
}

a img {
  border-width: 0;
}

br {
  letter-spacing: normal;
}

address {
  font-style: normal;
}

table {
  border-collapse: collapse;
}

ul li, ol li {
  list-style-type: none;
}

.attention, .errorMSG {
  color: #d00;
}

/* -------------------------------------- ■ color */
/* ｶﾗｰﾊﾟﾚｯﾄ */
/*その他 色確認用*/
/*







$mainTextColor_bl: #147bc1; // h1
//$mainColor_bl: red; // h1

$textColor_gy1: #4e4d4d; // h1 b
$textColor_gy2: #58595b; // fontSize

//ﾎﾞｰﾀﾞｰｶﾗｰ
$borderColor_bl1: #4c9fd8; // header
$borderColor_gr1: #8cc63f; // #fontSize a

//background
$bgColor_gy: #999; //

@mixin bgColorGy() { // footer
	background: $bgColor_gy;
	& * {color: #fff;}
}
*/
/**/
.siteMap dd > b,
.siteMap dd > b::before {
  color: orange;
}

caption, .caption {
  text-align: left;
}

@media screen and (max-width: 779px) {
  table {
    width: 100%;
  }
}
table tr > * {
  padding: 0.25rem 0.5rem;
}
table tr td {
  border-left: 1px solid #ccc;
}
table tr th, table tr td {
  box-sizing: border-box;
}
table tr th span, table tr td span {
  display: inline-block;
}
table tbody tr > * {
  border-bottom: 1px solid #ccc;
}
table tbody tr:last-of-type > * {
  border-bottom: none;
}
table tfoot tr > * {
  border-left: none;
}
table tfoot tr:last-of-type > * {
  border-bottom: none;
}
table.fee caption {
  padding-left: 1.5rem;
}
table.fee caption {
  position: relative;
}
table.fee caption::before {
  position: absolute;
  left: 0;
}
table.fee caption::before {
  content: "●";
}

body header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}
body header h1 {
  position: fixed;
  top: 8px;
  left: 0;
}
@media screen and (max-width: 779px) {
  body header #globalNav {
    display: none;
  }
}
@media screen and (min-width: 780px), print {
  body header #globalNav dd {
    position: absolute;
    left: 0;
    right: 0;
  }
  body header #globalNav > ul {
    display: flex;
  }
  body header #globalNav > ul:first-of-type {
    justify-content: flex-end;
    gap: 0.5rem;
  }
  body header #globalNav > ul#slideNav {
    justify-content: center;
    gap: 1rem;
  }
  body header #globalNav > ul#slideNav li dl dd {
    display: none;
  }
  body header #globalNav > ul#slideNav li dl dd ul {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
  }
  body header #globalNav > ul#slideNav li dl dd ul li {
    flex: 1;
  }
  body header #globalNav > ul#slideNav li.programMenu {
    /*
    dl dd li {
    		display: flex;
    		align-items: flex-start;
    		flex-wrap: wrap;
    		justify-content: space-between;
    		gap: 0.5rem;
    		& b {
    			flex-basis: 100%;
    		}
    		&:first-child {
    			flex-grow: 2;

    			& a {
    				flex-basis: 40%;
    			}
    		}
    		&:last-child {
    			flex-grow: 1;
    			& a {
    				flex-basis: 100%;
    			}
    		}
    	}
    	*/
  }
  body header #globalNav > ul#slideNav li.programMenu dl dd li {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.5rem;
  }
  body header #globalNav > ul#slideNav li.programMenu dl dd li b {
    flex-basis: 100%;
  }
  body header #globalNav > ul#slideNav li.programMenu dl dd li a {
    flex: 1;
    padding-left: 0;
    padding-right: 0;
    white-space: nowrap;
  }
}
body .contents {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
body .contents, body .contents > * {
  box-sizing: border-box;
}
@media screen and (max-width: 779px) {
  body .contents > * {
    width: 94vw;
  }
}
@media screen and (min-width: 780px), print {
  body .contents > * {
    width: 1000px;
  }
}
@media screen and (max-width: 779px) {
  body .contents {
    min-height: calc(100vh - 35vw);
  }
}
@media screen and (min-width: 780px), print {
  body .contents {
    min-height: calc(100vh - 26.5rem);
  }
}
@media screen and (max-width: 779px) {
  body .contents > * {
    width: 100vw;
  }
}
@media screen and (min-width: 780px), print {
  body .contents > * {
    width: 100%;
  }
}
body .contents article > section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
body .contents article > section, body .contents article > section > * {
  box-sizing: border-box;
}
@media screen and (max-width: 779px) {
  body .contents article > section > * {
    width: 94vw;
  }
}
@media screen and (min-width: 780px), print {
  body .contents article > section > * {
    width: 1000px;
  }
}
@media screen and (max-width: 779px) {
  body .contents article .contentsNote {
    width: 100vw;
  }
}
@media screen and (min-width: 780px), print {
  body .contents article .contentsNote {
    width: 100%;
  }
}
@media screen and (max-width: 779px) {
  body .contents article .contentsNote {
    padding: 1rem;
  }
}
@media screen and (min-width: 780px), print {
  body .contents article .contentsNote {
    padding: 1rem 3rem;
  }
}
body #navToggle { /* PC非表示 */ }
@media screen and (max-width: 779px) {
  body #navToggle {
    position: fixed;
    top: 14px;
    right: 1vw;
    z-index: 10000;
    /*切り替えアニメーション */
  }
  body #navToggle div {
    position: relative;
  }
  body #navToggle span {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  body #navToggle span:nth-child(1) {
    top: 0.5vw;
  }
  body #navToggle span:nth-child(2) {
    top: calc(50% - 1vw);
  }
  body #navToggle span:nth-child(3) {
    bottom: 0.5vw;
  }
  body #navToggle, body #navToggle div {
    height: 9vw;
    width: 9vw;
    display: block;
  }
  body #navToggle span, body #navToggle div span {
    height: 1.5vw;
    width: 9vw;
    display: block;
    background: #ac002a;
  }
  body #navToggle.openMenu span {
    top: calc(50% - 0.5vw);
    left: -0.5vw;
    width: 10.5vw;
    height: 1.5vw;
    background: red;
  }
  body #navToggle.openMenu span:nth-child(1) {
    animation: 0.25S linear rotation1;
    animation-fill-mode: forwards;
    /*最後停止*/
  }
  body #navToggle.openMenu span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  body #navToggle.openMenu span:nth-child(3) {
    animation: 0.25S linear rotation2;
    animation-fill-mode: forwards;
    /*最後停止*/
  }
  @keyframes rotation1 {
    0% {
      transform: rotate(0);
    }
    100% {
      transform: rotate(-45deg);
    }
  }
  @keyframes rotation2 {
    0% {
      transform: rotate(0);
    }
    100% {
      transform: rotate(45deg);
    }
  }
}
@media screen and (min-width: 780px), print {
  body #navToggle {
    display: none;
  }
}
@media screen and (max-width: 779px) {
  body .siteMap {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
  }
}
@media screen and (min-width: 780px), print {
  body .siteMap {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 0 0.75rem;
  }
  body .siteMap > ul:last-of-type {
    flex-basis: 1000px;
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
  }
}
@media screen and (max-width: 779px) {
  body footer {
    text-align: center;
  }
  body footer dl {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  body footer dl, body footer dl > * {
    box-sizing: border-box;
  }
  body footer ul {
    display: flex;
    flex-direction: column;
    gap: 1vw;
  }
  body footer ul, body footer ul > * {
    box-sizing: border-box;
  }
  body footer .copy {
    position: fixed;
    left: 0;
    bottom: 0;
    right: 0;
  }
}
@media screen and (min-width: 780px), print {
  body footer ul {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0.25rem;
    margin-top: 0.25rem;
  }
  body footer ul, body footer ul > * {
    box-sizing: border-box;
  }
}

#container header {
  background: #fff;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.4);
  border-top: 6px solid #c00;
}
@media screen and (max-width: 779px) {
  #container header {
    height: 3rem;
  }
}
#container header h1 {
  background: transparent url(img/header-logo_l.png) no-repeat 0.25rem 50%;
}
#container header h1 a {
  display: block;
  font-size: 0;
}
@media screen and (max-width: 779px) {
  #container header h1 {
    height: calc(3rem - 4px);
    width: 100%;
    border-top: 2px solid #c00;
    background-size: calc(100vw - 3.5rem) auto;
  }
  #container header h1 a {
    width: calc(100vw - 3rem);
    height: calc(3rem - 4px);
  }
}
@media screen and (min-width: 780px), print {
  #container header h1 {
    height: 3.5rem;
    min-width: 29rem;
    background-size: auto 3rem;
  }
  #container header h1 a {
    height: 100%;
  }
}
#container nav a {
  text-decoration: none;
}
#container nav a:hover, #container nav a:active {
  text-decoration: underline;
}
@media screen and (min-width: 780px), print {
  #container nav#globalNav {
    margin-top: 1px;
    border-top: 2px solid #c00;
  }
  #container nav#globalNav a {
    line-height: 3.5rem;
  }
  #container nav#globalNav > ul a, #container nav#globalNav > ul dt {
    padding: 0 0.5rem;
    display: block;
    color: #333;
    cursor: pointer;
  }
  #container nav#globalNav > ul a:hover, #container nav#globalNav > ul a:active, #container nav#globalNav > ul dt:hover, #container nav#globalNav > ul dt:active {
    color: #ac002a;
    text-decoration: none;
  }
  #container nav#globalNav > ul#slideNav a, #container nav#globalNav > ul dt {
    line-height: 2.5rem;
  }
  #container nav#globalNav > ul:first-child a {
    font-size: 0.9rem;
  }
  #container nav#globalNav dd {
    background: rgba(0, 0, 0, 0.7);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4);
    display: block;
    text-align: center;
  }
  #container nav#globalNav dd a {
    padding: 0.5rem 1.5rem;
    border: 1px solid #fff;
    color: #fff;
    font-weight: bold;
  }
  #container nav#globalNav dd a:hover, #container nav#globalNav dd a:active {
    background: #fff;
    color: #333;
  }
  #container nav#globalNav dd a:hover b, #container nav#globalNav dd a:active b {
    color: #333;
  }
  #container nav#globalNav dd a * {
    display: block;
  }
  #container nav#globalNav dd a b {
    line-height: 1.5rem;
  }
  #container nav#globalNav dd a span {
    font-size: 0.8rem;
    line-height: 1rem;
    font-weight: normal;
  }
  #container nav#globalNav dd ul {
    margin: 1rem auto;
    width: 1000px;
  }
  #container nav#globalNav dd ul li {
    padding-top: 0.5rem;
    padding-bottom: 1rem;
  }
  #container nav#globalNav dd ul li b {
    display: block;
    color: #fff;
    text-align: left;
    font-size: 0.9rem;
    font-weight: normal;
  }
  #container nav#globalNav dd ul li b::before {
    content: "■ ";
  }
  #container nav#globalNav dd ul li:first-child {
    padding-right: 1.5rem;
    border-right: 2px dotted #fff;
  }
}
@media screen and (min-width: 780px), print {
  #container nav#globalNav .fa-brands:hover::before, #container nav#globalNav .fa-brands:active::before,
  #container nav#globalNav #slideNav dt:hover::before,
  #container nav#globalNav #slideNav dt:active::before,
  #container nav#globalNav #slideNav a:hover::before,
  #container nav#globalNav #slideNav a:active::before {
    color: #ac002a;
  }
  #container nav#globalNav #slideNav dt::before,
  #container nav#globalNav #slideNav dt a::before,
  #container nav#globalNav #slideNav > li > a::before {
    margin-right: 0.75rem;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #666;
  }
  #container nav#globalNav .clubMenu dt::before {
    content: "\f549";
  }
  #container nav#globalNav .clubMenu2 a::before {
    content: "\f0ea";
  }
  #container nav#globalNav #slideNav .programMenu dt a::before {
    content: "\f0c0";
  }
  #container nav#globalNav .guideMenu dt::before {
    content: "\f2bb";
  }
  #container nav#globalNav .faqMenu a::before {
    content: "\f059";
  }
  #container nav#globalNav .fbShareBtn,
  #container nav#globalNav .twShareBtn {
    width: 2rem;
    position: relative;
  }
  #container nav#globalNav .fa-brands::before {
    font-size: 1.25rem;
    line-height: 3.5rem;
    color: #999;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media screen and (min-width: 780px), print {
  #container nav#globalNav #slideNav {
    border-top: 5px solid #DBDBDB;
  }
  #container nav#globalNav #slideNav a:hover, #container nav#globalNav #slideNav a:active {
    background: #f7e5e9;
  }
  #container nav#globalNav #slideNav dt:hover, #container nav#globalNav #slideNav dt:active {
    background: #f7e5e9;
  }
}
@media screen and (max-width: 779px) {
  #container nav.siteMap {
    top: -150vh;
    width: 100vw;
    height: 100vh;
    padding: 2rem 1rem 0;
    background: rgba(0, 0, 0, 0.85);
    box-sizing: border-box;
    /*動き*/
    transition: all 0.6s;
  }
  #container nav.siteMap.panelactive {
    top: 0;
  }
  #container nav.siteMap::after {
    content: "MENU";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: grid;
    place-items: center;
    margin-top: 0.5rem;
    font-size: 1.25rem;
    line-height: 1.5rem;
    font-weight: bold;
    color: #c00;
  }
  #container nav.siteMap a {
    color: #666;
    font-size: 2vh;
    line-height: 4vh;
  }
  #container nav.siteMap a span {
    font-size: 1.65vh;
  }
}
@media screen and (min-width: 780px), print {
  #container nav.siteMap {
    background: #da3c26;
    color: #fff;
    color: #fff;
  }
  #container nav.siteMap a {
    color: palegoldenrod;
  }
  #container nav.siteMap a:hover, #container nav.siteMap a:active {
    color: #333;
  }
  #container nav.siteMap a {
    color: #fff;
    font-size: 0.8rem;
  }
  #container nav.siteMap a span {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 779px) {
  #container nav.siteMap > * {
    margin: 1vh 0;
  }
}
@media screen and (min-width: 780px), print {
  #container nav.siteMap > * {
    margin: 0.5rem 0;
    padding: 0.25rem 1.25rem 0.25rem 0;
  }
}
#container nav.siteMap dl dt,
#container nav.siteMap dl dt a,
#container nav.siteMap dl dd > b {
  font-size: 0.9rem;
}
#container nav.siteMap dl dd > b {
  text-align: left;
  font-weight: normal;
}
@media screen and (max-width: 779px) {
  #container nav.siteMap dl {
    width: calc(100vw - 5rem);
    padding: 1vw 2vw;
    background: #f4f4f3;
    border-radius: 0.5rem;
    -webkit-border-radius: 0.5rem;
    -moz-border-radius: 0.5rem;
  }
  #container nav.siteMap dl.programMenu {
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 0.5rem;
  }
}
@media screen and (min-width: 780px), print {
  #container nav.siteMap dl {
    border-right: 1px dotted #fff;
  }
  #container nav.siteMap dl dt,
  #container nav.siteMap dl dt a {
    font-weight: bold;
  }
}
@media screen and (max-width: 779px) {
  #container nav.siteMap dl dt {
    color: #ac002a;
  }
  #container nav.siteMap dl dt:nth-of-type(2) {
    font-size: 0;
    border-bottom: 1px dotted red;
  }
}
@media screen and (min-width: 780px), print {
  #container nav.siteMap dl dt::before {
    content: "【";
    margin-right: 0.25rem;
  }
  #container nav.siteMap dl dt::after {
    content: "】";
    margin-left: 0.25rem;
  }
}
@media screen and (max-width: 779px) {
  #container nav.siteMap dl dd {
    margin: 0.5vh 1vw 0.5vh 1rem;
  }
}
@media screen and (min-width: 780px), print {
  #container nav.siteMap dl dd {
    margin-left: 0.5rem;
  }
}
#container nav.siteMap dl dd > b {
  margin-top: 0.5rem;
  display: block;
}
#container nav.siteMap dl dd > b::before {
  content: "■ ";
}
@media screen and (max-width: 779px) {
  #container nav.siteMap > ul {
    margin-left: 1rem;
  }
  #container nav.siteMap > ul a {
    color: #fff;
  }
}
@media screen and (min-width: 780px), print {
  #container nav.siteMap > ul:last-of-type {
    margin: 0.5rem 0;
    padding: 0;
  }
  #container nav.siteMap > ul:last-of-type li::before {
    content: "";
  }
  #container nav.siteMap > ul li::before {
    content: "・";
  }
}
#container footer {
  background: #da3c26;
  color: #fff;
}
#container footer a {
  color: palegoldenrod;
}
#container footer a:hover, #container footer a:active {
  color: #333;
}
@media screen and (max-width: 779px) {
  #container footer dl {
    padding: 3vw 0 5vw;
  }
}
@media screen and (min-width: 780px), print {
  #container footer dl {
    padding: 0.5rem 1rem 0.2rem;
    text-align: right;
  }
}
@media screen and (max-width: 779px) {
  #container footer dl dt {
    font-size: 5.5vw;
  }
}
@media screen and (min-width: 780px), print {
  #container footer dl dt {
    font-size: 1.1rem;
  }
}
#container footer dl dd ul li::before, #container footer dl dd ul li span::before {
  font-weight: normal;
}
#container footer dl dd ul li.tel::before {
  content: "TEL：";
}
#container footer dl dd ul li.tel span::before {
  content: "FAX：";
}
#container footer dl dd ul li.tel b::after {
  content: "/";
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-weight: normal;
}
#container footer dl dd ul li.eMail::before {
  content: "E-mail：";
}
@media screen and (max-width: 779px) {
  #container footer dl dd ul li, #container footer dl dd ul li > * {
    font-size: 4.5vw;
    line-height: 4.5vw;
  }
  #container footer dl dd ul li::before,
  #container footer dl dd ul li span::before {
    font-size: 4vw;
  }
  #container footer dl dd ul li.add {
    margin-bottom: 1vw;
  }
  #container footer dl dd ul li.tel span {
    font-size: 4vw;
  }
  #container footer dl dd ul li.tel::before,
  #container footer dl dd ul li.tel span::before {
    font-size: 3.5vw;
  }
  #container footer dl dd ul li.tel b {
    margin-left: 0;
  }
}
@media screen and (min-width: 780px), print {
  #container footer dl dd ul li {
    font-size: 0.75rem;
    line-height: 0.7rem;
  }
  #container footer dl dd ul li::before {
    font-size: 0.6rem;
  }
  #container footer dl dd ul li.tel b::after {
    font-size: 0.8rem;
  }
  #container footer dl dd ul li.add {
    font-size: 0.88rem;
    line-height: 1.2rem;
  }
  #container footer dl dd ul li > * {
    font-size: 0.75rem;
    line-height: 0.7rem;
  }
  #container footer dl dd ul li span::before {
    font-size: 0.6rem;
  }
}
#container footer .copy {
  height: 1rem;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 779px) {
  #container footer .copy {
    font-size: 2.5vw;
    background: #da3c26;
  }
}
@media screen and (min-width: 780px), print {
  #container footer .copy {
    font-size: 0.6rem;
  }
}
#container .dlTable {
  display: table;
}
#container .dlTable .caption {
  display: table-caption;
}
#container .dlTable dl {
  display: table-row;
}
#container .dlTable dl > * {
  display: table-cell;
  padding: 0.25rem 0.5rem;
  vertical-align: middle;
}
#container .dlTable dl, #container .dlTable dl * {
  box-sizing: border-box;
}
#container .dlTable dl .caption {
  display: table-caption;
}
#container .dlTable dl .caption b {
  font-size: 1.1rem;
}
#container .dlTable dl.thead > * {
  padding: 0.25rem 0;
  text-align: center;
  white-space: nowrap;
}
#container .dlTable dl dt {
  white-space: nowrap;
}
#container .dlTable dl dt span, #container .dlTable dl dd span {
  display: inline-block;
}
#container .dlTable dl.thead > *, #container .dlTable dl:last-of-type > * {
  border-bottom: none;
}
#container .dlTable dl dd ul li {
  padding-left: 1rem;
}
#container .dlTable dl dd ul li {
  position: relative;
}
#container .dlTable dl dd ul li::before {
  position: absolute;
  left: 0;
}
#container .dlTable dl dd ul li::before {
  content: "・";
}
#container .dlList li a {
  padding-left: 1.25rem;
}
#container .dlList li a {
  position: relative;
}
#container .dlList li a::before {
  position: absolute;
  left: 0;
}
#container .dlList li a:hover, #container .dlList li a:active {
  color: #F20F00;
}
#container .dlList li a::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f1c1";
}
#container .pdfLink a {
  padding-left: 1.25rem;
}
#container .pdfLink a {
  position: relative;
}
#container .pdfLink a::before {
  position: absolute;
  left: 0;
}
#container .pdfLink a:hover, #container .pdfLink a:active {
  color: #F20F00;
}
#container .pdfLink a::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f1c1";
}

.contents::before, .contents::after {
  position: fixed;
  content: "";
  display: block;
}
@media screen and (max-width: 779px) {
  .contents::before, .contents::after {
    z-index: 10;
  }
}
@media screen and (min-width: 780px), print {
  .contents::before, .contents::after {
    z-index: 3;
  }
}
.contents::before {
  width: 4.5rem;
  height: 4.5rem;
  background: #ac002a;
  transform: rotate(-40deg);
  -moz-transform: rotate(-40deg);
  -webkit-transform: rotate(-40deg);
}
@media screen and (max-width: 779px) {
  .contents::before {
    top: 0;
    left: -2.5rem;
  }
}
@media screen and (min-width: 780px), print {
  .contents::before {
    top: 4rem;
    left: -2rem;
  }
}
.contents::after {
  left: 0;
  height: 0.35rem;
  background: #fff;
}
@media screen and (max-width: 779px) {
  .contents::after {
    top: 4rem;
    width: 1.5rem;
  }
}
@media screen and (min-width: 780px), print {
  .contents::after {
    top: 8rem;
    width: 2rem;
  }
}
@media screen and (max-width: 779px) {
  .contents article::before {
    display: none;
  }
}
@media screen and (min-width: 780px), print {
  .contents article::before {
    content: "";
    height: 3.5rem;
    display: block;
    background: #fff;
    position: fixed;
    left: 0;
    right: 0;
    top: 6.5rem;
    z-index: 2;
  }
}

.contents {
  padding-bottom: 1rem;
  box-sizing: border-box;
}
@media screen and (max-width: 779px) {
  .contents {
    padding-top: 3rem;
  }
}
@media screen and (min-width: 780px), print {
  .contents {
    padding-top: 4rem;
  }
}
.contents > h2 {
  position: fixed;
  z-index: 5;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  align-items: center;
  gap: 1rem;
}
.contents > h2, .contents > h2 > * {
  box-sizing: border-box;
}
@media screen and (max-width: 779px) {
  .contents > h2 {
    top: 3rem;
    left: 0;
    right: 0;
  }
}
@media screen and (min-width: 780px), print {
  .contents > h2 {
    top: 6.5rem;
    left: 3rem;
  }
}
@media screen and (max-width: 779px) {
  .contents article .contentsInfo .pageIndex {
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 2px;
  }
  .contents article .contentsInfo .pageIndex, .contents article .contentsInfo .pageIndex > * {
    box-sizing: border-box;
  }
  .contents article .contentsInfo .pageIndex li {
    flex: 1;
    display: grid;
    place-items: center;
  }
}
@media screen and (max-width: 779px) and (max-width: 779px) {
  .contents article .contentsInfo .categoryIndex {
    display: none;
  }
}
@media screen and (min-width: 780px), print {
  .contents article .contentsInfo {
    position: fixed;
    top: 7rem;
    right: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1rem;
  }
  .contents article .contentsInfo, .contents article .contentsInfo > * {
    box-sizing: border-box;
  }
  .contents article .contentsInfo .pageIndex {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }
  .contents article .contentsInfo .pageIndex, .contents article .contentsInfo .pageIndex > * {
    box-sizing: border-box;
  }
}
.contents article .contentsNote {
  box-sizing: border-box;
}
.contents > h2 {
  background: #fff;
  color: #999;
}
@media screen and (max-width: 779px) {
  .contents > h2 {
    padding-top: 3vw;
    padding-left: 7vw;
  }
}
@media screen and (min-width: 780px), print {
  .contents > h2 {
    padding-top: 1rem;
    font-size: 1.5rem;
  }
  .contents > h2 span {
    font-size: 1.1rem;
  }
}
.contents article.pageView h3 {
  padding: 0.75rem 1rem 0.5rem;
  background: #d70034;
  font-size: 1.25rem;
}
.contents article.pageView h3, .contents article.pageView h3 > * {
  color: #fff;
}
.contents article.pageView h3 b {
  margin-left: 1rem;
  font-size: 0.9rem;
  font-weight: normal;
}
@media screen and (max-width: 779px) {
  .contents article.pageView h3 {
    width: 100vw;
  }
}
@media screen and (min-width: 780px), print {
  .contents article.pageView h3 {
    margin-top: 0.5rem;
  }
}
@media screen and (max-width: 779px) {
  .contents article.pageView .pageIndex {
    border-bottom: 2px solid #ac002a;
  }
  .contents article.pageView .pageIndex li {
    height: 2.5rem;
    background: #eee;
  }
  .contents article.pageView .pageIndex li.on {
    color: #fff;
    background: #ac002a;
  }
}
@media screen and (min-width: 780px), print {
  .contents article.pageView .pageIndex li span {
    font-size: 0.65rem;
  }
  .contents article.pageView .pageIndex li.on {
    color: #ac002a;
  }
  .contents article.pageView .pageIndex li.on span {
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: normal;
  }
}
.contents article.pageView section[id^=sc]:not(#sc01) {
  display: none;
}
.contents article.pageView section[id^=sc]:not(#sc01) .contentsNote {
  margin-bottom: 1rem;
}
.contents article.pageView section > * {
  margin: 0 auto;
}
.contents article articleKAKUNIN .contactUs b {
  margin-bottom: 0.25rem;
  font-size: 1rem;
  line-height: 1rem;
  display: block;
}
.contents article articleKAKUNIN .contactUs p {
  padding: 0.5rem 0.5rem 0;
  font-size: 0.8rem;
  line-height: 1rem;
}
@media screen and (min-width: 780px), print {
  .contents article articleKAKUNIN .contentsNote {
    padding: 1rem 3rem;
    position: relative;
  }
  .contents article articleKAKUNIN .contentsNote .contactUs {
    margin-top: 1rem;
  }
}
.contents article .contentsInfo h2 {
  color: #ac002a;
}
@media screen and (max-width: 779px) {
  .contents article .contentsInfo h2 {
    width: 94vw;
    margin-left: 2vw;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 779px) {
  .contents article .contentsInfo h2 {
    padding-left: 4vw;
  }
  .contents article .contentsInfo h2 {
    position: relative;
  }
  .contents article .contentsInfo h2::before {
    position: absolute;
    left: 0;
  }
  .contents article .contentsInfo h2::before {
    top: 2.5vw;
    content: "";
    display: block;
    width: 2vw;
    height: 2vw;
    background: #ac002a;
  }
  .contents article .contentsInfo h2 b {
    display: block;
    font-size: 1rem;
    font-weight: normal;
  }
}
.contents article .contentsNote {
  background: #eee;
}
.contents article .contentsNote b {
  font-weight: normal;
}
@media screen and (min-width: 780px), print {
  .contents article .contentsNote b {
    display: block;
  }
}
.contents article .contentsNote .contactUs {
  padding-top: 1rem;
}
.contents article .contentsNote .contactUs a {
  position: relative;
  display: block;
  border-radius: 0.5rem;
  -webkit-border-radius: 0.5rem;
  -moz-border-radius: 0.5rem;
  background: #fff;
  width: 13rem;
  padding: 0.25rem 0.25rem 0.25rem 3rem;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
  border: 3px solid #666;
  color: #777;
  font-size: 0.9rem;
  line-height: 1rem;
  text-decoration: none;
}
.contents article .contentsNote .contactUs a::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  left: 0.5rem;
  content: "\f31c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.8rem;
}
.contents article .contentsNote .contactUs a:hover, .contents article .contentsNote .contactUs a:active {
  color: #fff;
}
.contents article .contentsNote .contactUs a span {
  text-align: left;
  display: block;
  font-size: 0.9rem;
}
.contents article section h3 {
  padding-top: 0.75rem;
  font-size: 1.5rem;
  font-weight: bold;
  background: none;
  color: #666;
}
.contents article .accordion > dl > dt {
  cursor: pointer;
  position: relative;
  padding: 0.5rem;
  padding-left: 1.5rem;
}
.contents article .accordion > dl > dt::before {
  position: absolute;
  left: 0;
  top: 0.5rem;
  left: 0.25rem;
  content: "■";
}
.contents article .accordion > dl > dt:hover::before {
  content: "▼";
}
.contents article .accordion > dl > dd {
  padding: 0.5rem;
}
@media screen and (min-width: 780px), print {
  .contents article:not(.pageView) .contentsInfo h2, .contents .pageIndex li.on {
    padding: 0.75rem 5.5rem 0.75rem 0;
    font-size: 1.5rem;
    line-height: 1.5rem;
    position: relative;
    animation-name: slideAnime;
    animation-fill-mode: forwards;
    animation-duration: 0.5s;
    animation-iteration-count: 1;
    animation-timing-function: ease-in;
    animation-direction: normal;
  }
  .contents article:not(.pageView) .contentsInfo h2::after, .contents .pageIndex li.on::after {
    position: absolute;
    right: 0;
    content: "";
    display: inline-block;
    background: #ac002a;
    height: 3px;
    width: 5rem;
  }
  .pageIndex li.on::after {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
  .pageView .contentsInfo h2 {
    padding-right: 0.5rem;
    font-size: 1rem;
    line-height: 3rem;
    font-weight: normal;
  }
  article:not(.pageView) .contentsInfo h2::after {
    top: 1.25rem;
  }
  article:not(.pageView) .contentsInfo h2 b {
    color: #999;
    font-size: 0.7rem;
    display: block;
    font-weight: normal;
  }
  @keyframes slideAnime {
    0% {
      margin-right: -6.5rem;
    }
    100% {
      margin-right: 0;
    }
  }
  .contents .pageIndex li, .contents .categoryIndex li a {
    margin-right: 0.5rem;
    color: #999;
    font-size: 0.8rem;
    text-align: right;
    text-decoration: none;
  }
  .contents .pageIndex li:hover, .contents .pageIndex li:active, .contents .categoryIndex li a:hover, .contents .categoryIndex li a:active {
    color: #ac002a;
  }
  .pageIndex li {
    padding: 0;
    line-height: 1rem;
    cursor: pointer;
  }
  .pageIndex li::before {
    content: "・";
  }
  .pageIndex li.on {
    font-weight: bold;
  }
  .pageIndex li.on::before {
    content: "";
  }
  .categoryIndex {
    margin-top: 2rem;
  }
  .categoryIndex li {
    padding-right: 0.25rem;
    position: relative;
  }
  .categoryIndex li::after {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: "";
    display: inline-block;
    background: #ccc;
    height: 0.4rem;
    width: 0.5rem;
  }
  .categoryIndex li:hover::after, .categoryIndex li:active::after {
    background: #ac002a;
  }
  .categoryIndex li a {
    display: block;
    line-height: 1.75rem;
  }
}

#clubInfo article .flierLst {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
#clubInfo article .flierLst > * {
  box-sizing: border-box;
  padding: 0.5rem;
  border: 1px solid #ddd;
  border-radius: 0.5rem;
  -webkit-border-radius: 0.5rem;
  -moz-border-radius: 0.5rem;
}
#clubInfo article .flierLst dl dt {
  color: #ac002a;
  font-weight: bold;
}
#clubInfo article .flierLst dl dt::before {
  content: "▼ ";
}
@media screen and (max-width: 779px) {
  #clubInfo article .flierLst dl dd {
    margin-left: 6vw;
  }
}
#clubInfo article .flierLst dl dd ul {
  display: flex;
  flex-direction: column-reverse;
}
#clubInfo article .flierLst dl dd ul li {
  padding-left: 1rem;
}
#clubInfo article .flierLst dl dd ul li {
  position: relative;
}
#clubInfo article .flierLst dl dd ul li::before {
  position: absolute;
  left: 0;
}
#clubInfo article .flierLst dl dd ul li::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f328";
  color: #ff8c40;
  font-size: 0.75rem;
}
#clubInfo article .flierLst dl dd ul li > * {
  margin-right: 0.5rem;
  display: inline-block;
}
#clubInfo article .flierLst dl dd ul li span:first-of-type {
  width: 5.75rem;
  position: relative;
}
#clubInfo article .flierLst dl dd ul li span:first-of-type::after {
  position: absolute;
  right: 0;
  content: "…";
  display: inline-block;
}
#clubInfo article .flierLst dl dd ul li a:not(:last-of-type) {
  padding-right: 1rem;
  position: relative;
}
#clubInfo article .flierLst dl dd ul li a:not(:last-of-type)::after {
  position: absolute;
  right: 0;
  content: "/";
  color: #999;
}
@media screen and (min-width: 780px), print {
  #clubInfo article .flierLst dl {
    display: flex;
    gap: 0.5rem;
  }
  #clubInfo article .flierLst dl dt {
    flex-basis: 6rem;
    white-space: nowrap;
  }
  #clubInfo article .flierLst dl dd {
    flex-grow: 1;
    flex-basis: calc(1000px - 10rem);
  }
  #clubInfo article .flierLst dl dd ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  #clubInfo article .flierLst dl dd ul > li {
    flex-basis: 32%;
    box-sizing: border-box;
  }
}

#news article {
  border-radius: 0.5rem;
  -webkit-border-radius: 0.5rem;
  -moz-border-radius: 0.5rem;
  border: 1px solid #ddd;
  margin-left: 0.5rem;
}
@media screen and (max-width: 779px) {
  #news article {
    width: 94vw;
  }
}
@media screen and (min-width: 780px), print {
  #news article {
    width: 1000px;
  }
}
#news article .contentsInfo h2 {
  color: #ff8c40;
}
@media screen and (max-width: 779px) {
  #news article .contentsInfo h2::before {
    background: #ff8c40;
  }
}
@media screen and (min-width: 780px), print {
  #news article .contentsInfo h2::after {
    background: #ff8c40;
  }
}
@media screen and (max-width: 779px) {
  #news article section {
    padding-bottom: 1rem;
  }
}
@media screen and (min-width: 780px), print {
  #news article section {
    padding: 1rem 0.5rem;
  }
}
#news article section .newsItem {
  display: flex;
  flex-direction: column;
}
#news article section .newsItem, #news article section .newsItem > * {
  box-sizing: border-box;
}
@media screen and (min-width: 780px), print {
  #news article section .newsItem {
    width: calc(100% - 1rem);
  }
}
#news article section .newsItem > dd {
  gap: 1rem;
}
@media screen and (max-width: 779px) {
  #news article section .newsItem > dd {
    display: flex;
    flex-direction: column;
  }
  #news article section .newsItem > dd, #news article section .newsItem > dd > * {
    box-sizing: border-box;
  }
}
@media screen and (min-width: 780px), print {
  #news article section .newsItem > dd {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
  #news article section .newsItem > dd, #news article section .newsItem > dd > * {
    box-sizing: border-box;
  }
}
#news article section .newsItem > dd > div {
  flex-grow: 1;
}
#news article section .newsItem > dd table {
  flex-grow: 1;
}
#news article section .newsItem > dd table th {
  white-space: nowrap;
}
@media screen and (max-width: 779px) {
  #news article section .newsItem > dd {
    align-items: center;
  }
  #news article section .newsItem > dd:nth-of-type(2) {
    gap: 1vw;
  }
  #news article section .newsItem > dd table th {
    width: 4rem;
  }
}
#news article section .newsItem dt {
  background: #ac002a;
  color: #fff;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
  position: relative;
}
@media screen and (max-width: 779px) {
  #news article section .newsItem dt {
    margin-left: -4vw;
  }
  #news article section .newsItem dt .date + * {
    text-indent: 4rem;
  }
}
@media screen and (min-width: 780px), print {
  #news article section .newsItem dt {
    margin-left: -1.5rem;
    padding-left: 5rem;
  }
}
#news article section .newsItem dt::before {
  display: none;
}
#news article section .newsItem dt .date {
  position: absolute;
  left: 0;
  width: 5rem;
  background: #ff8c40;
  font-size: 0.8rem;
  color: #fff;
  text-align: center;
}
#news article section .newsItem dt span {
  font-weight: normal;
}
#news article section .newsItem dt * {
  display: inline-block;
}
#news article section .newsItem dd.note img {
  border: 1px solid #999;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
}
#news article section .newsItem dd.note img:hover, #news article section .newsItem dd.note img:active {
  border-color: #ff8c40;
  box-shadow: none;
}
#news article section .newsItem dd.note h4 {
  color: #E65A24;
}
#news article section .newsItem dd.note p {
  margin: 0.25rem 0.5rem;
  padding: 0.5rem;
  border: 1px solid #ff8c40;
  border-radius: 0.5rem;
  -webkit-border-radius: 0.5rem;
  -moz-border-radius: 0.5rem;
}
#news article section .newsItem dd table {
  border: 2px solid #6a5d3c;
}
#news article section .newsItem dd table th {
  border: 1px solid #fff;
  background: #6a5d3c;
  font-size: 0.9rem;
  color: #fff;
  font-weight: normal;
}
#news article section .newsItem dd table td {
  border-left: none;
}
#news article section .newsItem dd table td, #news article section .newsItem dd table td ul, #news article section .newsItem dd table td ol {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
#news article section .newsItem dd table td, #news article section .newsItem dd table td > *, #news article section .newsItem dd table td ul, #news article section .newsItem dd table td ul > *, #news article section .newsItem dd table td ol, #news article section .newsItem dd table td ol > * {
  box-sizing: border-box;
}
#news article section .newsItem dd table td ul {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
#news article section .newsItem dd table td ul, #news article section .newsItem dd table td ul > * {
  box-sizing: border-box;
}
#news article section .newsItem dd table td ul.date li {
  padding-left: 1rem;
}
#news article section .newsItem dd table td ul.date li {
  position: relative;
}
#news article section .newsItem dd table td ul.date li::before {
  position: absolute;
  left: 0;
}
#news article section .newsItem dd table td ul.date li::before {
  content: "・";
}
#news article section .newsItem dd table td ul.date li::before {
  color: #da3c26;
}
#news article section .newsItem dd table td ul.date li b {
  font-weight: normal;
  color: #da3c26;
  font-size: 0.9rem;
}
#news article section .newsItem dd table td ul.date li b {
  position: relative;
  padding-right: 1.25rem;
}
#news article section .newsItem dd table td ul.date li b::after {
  position: absolute;
  right: 0;
}
#news article section .newsItem dd table td ul.date li b::after {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f141";
  font-size: 0.6rem;
  line-height: 1.25rem;
  padding-right: 0.4rem;
}
#news article section .newsItem dd table td ul.date + p {
  padding-left: 0.25rem;
  padding-top: 0.25rem;
  border-top: 1px dotted #999;
}
#news article section .newsItem dd .entry {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
#news article section .newsItem dd .entry, #news article section .newsItem dd .entry > * {
  box-sizing: border-box;
}
#news article section .newsItem dd .entry > * {
  margin: 0 1rem;
}
#news article section .newsItem dd .entry h4 {
  margin: 0.25rem 0;
  padding: 0.25rem 0.5rem 0;
  background: orange;
  color: #6a5d3c;
  font-size: 1rem;
  text-align: center;
}
#news article section .newsItem dd .entry p b {
  display: block;
}
#news article section .newsItem dd .entry a {
  color: #da3c26;
  padding-left: 1.25rem;
  font-size: 0.9rem;
  text-decoration: none;
}
#news article section .newsItem dd .entry a:hover, #news article section .newsItem dd .entry a:active {
  color: #6a5d3c;
}
#news article section .newsItem dd .entry a {
  position: relative;
}
#news article section .newsItem dd .entry a::before {
  position: absolute;
  left: 0;
}
#news article section .newsItem dd .entry a::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  top: 0.1rem;
  font-size: 1rem;
}
#news article section .newsItem dd .entry a::before {
  content: "\f360";
}
#news article section .newsItem dd .entry a:hover, #news article section .newsItem dd .entry a:active {
  text-decoration: underline;
}
#news article section .newsItem dd .entry ol {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.5rem 2rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid #999;
  border-radius: 0.25rem;
  -webkit-border-radius: 0.25rem;
  -moz-border-radius: 0.25rem;
  counter-reset: item;
}
#news article section .newsItem dd .entry ol, #news article section .newsItem dd .entry ol > * {
  box-sizing: border-box;
}
#news article section .newsItem dd .entry ol li {
  position: relative;
  padding-left: 1.5rem;
}
#news article section .newsItem dd .entry ol li::before {
  position: absolute;
  left: 0;
  counter-increment: item;
  content: counter(item) "）";
  color: #E65A24;
}

#recruit article {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
#recruit article, #recruit article > * {
  box-sizing: border-box;
}
@media screen and (max-width: 779px) {
  #recruit article > * {
    width: 94vw;
  }
}
@media screen and (min-width: 780px), print {
  #recruit article > * {
    width: 1000px;
  }
}
@media screen and (max-width: 779px) {
  #recruit article.pageView {
    gap: 0.5rem;
  }
  #recruit article.pageView .contentsNote {
    margin-top: -0.45rem;
  }
}
#recruit article.pageView > div {
  width: 100%;
}
#recruit article section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  border-radius: 0.5rem;
  -webkit-border-radius: 0.5rem;
  -moz-border-radius: 0.5rem;
  border: 1px solid #ddd;
}
#recruit article section, #recruit article section > * {
  box-sizing: border-box;
}
#recruit article section > div {
  margin: 1rem auto;
  width: calc(100% - 1rem);
}
@media screen and (max-width: 779px) {
  #recruit article section {
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
  }
}
@media screen and (min-width: 780px), print {
  #recruit article section {
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
  }
}
#recruit article section h3 {
  margin-left: -1px;
  margin-top: 1rem;
  padding-left: 2rem;
  text-indent: 0.75rem;
  padding-left: 1.5rem;
}
@media screen and (max-width: 779px) {
  #recruit article section h3 {
    width: 94vw;
  }
}
#recruit article section h3 {
  position: relative;
}
#recruit article section h3::before {
  position: absolute;
  left: 0;
}
#recruit article section h3::before {
  content: "▼";
}
@media screen and (max-width: 779px) {
  #recruit article .contentsInfo .pageIndex {
    border-color: #f9779c;
  }
}
#recruit article .contentsInfo .pageIndex li:hover, #recruit article .contentsInfo .pageIndex li:active {
  color: #f9779c;
}
@media screen and (max-width: 779px) {
  #recruit article .contentsInfo .pageIndex li.on {
    background-color: #f9779c;
    color: #fff;
  }
}
@media screen and (min-width: 780px), print {
  #recruit article .contentsInfo .pageIndex li.on {
    color: #f9779c;
  }
}
#recruit article .contentsInfo .pageIndex li.on::after {
  background-color: #f9779c;
}
#recruit article section h3 {
  background-color: #f9779c;
}
#recruit article section .dlTable {
  margin: 1rem auto;
}
@media screen and (max-width: 779px) {
  #recruit article section .dlTable {
    width: calc(100% - 1rem);
  }
}
@media screen and (min-width: 780px), print {
  #recruit article section .dlTable {
    width: calc(100% - 2rem);
  }
}
#recruit article section .dlTable .caption {
  color: #B05297;
  left: 2px;
  padding-left: 2.5rem;
}
#recruit article section .dlTable .caption {
  position: relative;
}
#recruit article section .dlTable .caption::before {
  position: absolute;
  left: 0;
}
#recruit article section .dlTable .caption::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f234";
  margin-right: 0.5rem;
  color: #fce5e8;
  font-size: 1.5rem;
}
#recruit article section .dlTable .caption b {
  font-size: 1.1rem;
}
@media screen and (min-width: 780px), print {
  #recruit article section .dlTable .caption b {
    line-height: 2rem;
  }
}
@media screen and (max-width: 779px) {
  #recruit article section .dlTable .caption b, #recruit article section .dlTable .caption span {
    display: inline-block;
  }
}
#recruit article section .dlTable dl > * {
  border-color: pink;
  border-style: solid;
  border-width: 1px 0 0 1px;
}
#recruit article section .dlTable dl > *:first-child {
  border-left-width: 2px;
}
#recruit article section .dlTable dl > *:last-child {
  border-right-width: 2px;
}
#recruit article section .dlTable dl:first-of-type > * {
  border-top-width: 2px;
}
#recruit article section .dlTable dl:last-of-type > * {
  border-bottom: 2px solid pink;
}
#recruit article section .dlTable dl dt {
  background: #fce5e8;
  color: #B05297;
  font-size: 0.9rem;
  text-align: center;
  vertical-align: middle;
}
#recruit article section .dlTable dl dd ul li::before {
  content: "・";
  color: #f9779c;
}
#recruit article section .dlTable dl dd ol {
  counter-reset: item;
}
#recruit article section .dlTable dl dd ol li::before {
  counter-increment: item;
  content: counter(item) "）";
  font-size: 0.9rem;
  color: #B05297;
}
#recruit article section .dlTable dl.time dd b {
  font-weight: normal;
}

@media screen and (max-width: 779px) {
  #links article {
    width: 94vw;
  }
}
@media screen and (min-width: 780px), print {
  #links article {
    width: 1000px;
  }
}
@media screen and (max-width: 779px) {
  #links article section {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  #links article section, #links article section > * {
    box-sizing: border-box;
  }
}
@media screen and (min-width: 780px), print {
  #links article section {
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: stretch;
  }
  #links article section, #links article section > * {
    box-sizing: border-box;
  }
  #links article section dl {
    white-space: nowrap;
  }
}
#links article section dl {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 1rem;
}
#links article section dl, #links article section dl > * {
  box-sizing: border-box;
}
#links article section dl dt {
  padding-left: 1.25rem;
}
#links article section dl dt {
  position: relative;
}
#links article section dl dt::before {
  position: absolute;
  left: 0;
}
#links article section dl dt::before {
  content: "■";
  color: #ac002a;
}
#links article section dl dd ul {
  margin-left: 1rem;
  display: flex;
  flex-direction: column;
}
#links article section dl dd ul, #links article section dl dd ul > * {
  box-sizing: border-box;
}
@media screen and (max-width: 779px) {
  #links article section dl dd ul {
    gap: 0.5rem;
  }
}
@media screen and (min-width: 780px), print {
  #links article section dl dd ul {
    gap: 1rem;
  }
}
#links article section dl dd ul li {
  padding-left: 1rem;
  line-height: 1.35rem;
}
#links article section dl dd ul li {
  position: relative;
}
#links article section dl dd ul li::before {
  position: absolute;
  left: 0;
}
#links article section dl dd ul li::before {
  content: "●";
  color: #FF8C40;
  font-size: 0.5rem;
}
@media screen and (min-width: 780px), print {
  #links article section dl {
    padding: 2rem 1rem;
    gap: 1.5rem;
  }
  #links article section dl:not(:first-of-type) {
    border-left: 1px dotted #666;
  }
}

#faq article {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
#faq article, #faq article > * {
  box-sizing: border-box;
}
@media screen and (max-width: 779px) {
  #faq article > * {
    width: 94vw;
  }
}
@media screen and (min-width: 780px), print {
  #faq article > * {
    width: 1000px;
  }
}
@media screen and (max-width: 779px) {
  #faq article.pageView {
    gap: 0.5rem;
  }
  #faq article.pageView .contentsNote {
    margin-top: -0.45rem;
  }
}
#faq article.pageView > div {
  width: 100%;
}
#faq article section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  border-radius: 0.5rem;
  -webkit-border-radius: 0.5rem;
  -moz-border-radius: 0.5rem;
  border: 1px solid #ddd;
}
#faq article section, #faq article section > * {
  box-sizing: border-box;
}
#faq article section > div {
  margin: 1rem auto;
  width: calc(100% - 1rem);
}
@media screen and (max-width: 779px) {
  #faq article section {
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
  }
}
@media screen and (min-width: 780px), print {
  #faq article section {
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
  }
}
#faq article section h3 {
  margin-left: -1px;
  margin-top: 1rem;
  padding-left: 2rem;
  text-indent: 0.75rem;
  padding-left: 1.5rem;
}
@media screen and (max-width: 779px) {
  #faq article section h3 {
    width: 94vw;
  }
}
#faq article section h3 {
  position: relative;
}
#faq article section h3::before {
  position: absolute;
  left: 0;
}
#faq article section h3::before {
  content: "▼";
}
#faq article .contentsInfo h2 {
  color: #239e9a;
}
@media screen and (max-width: 779px) {
  #faq article .contentsInfo h2::before {
    background: #239e9a;
  }
}
@media screen and (max-width: 779px) {
  #faq article .contentsInfo .pageIndex {
    border-color: #239e9a;
  }
  #faq article .contentsInfo .pageIndex li.on {
    background: #239e9a;
  }
}
@media screen and (min-width: 780px), print {
  #faq article .contentsInfo .pageIndex li:hover, #faq article .contentsInfo .pageIndex li:active {
    color: #239e9a;
  }
  #faq article .contentsInfo .pageIndex li.on {
    color: #239e9a;
  }
  #faq article .contentsInfo .pageIndex li.on::after {
    background: #239e9a;
  }
}
#faq article .contentsNote .contactUs a {
  border-color: #239e9a;
}
#faq article .contentsNote .contactUs a:hover, #faq article .contentsNote .contactUs a:active {
  background-color: #239e9a;
  color: #fff;
}
#faq article section {
  display: flex;
  flex-direction: column;
  counter-reset: item;
}
#faq article section, #faq article section > * {
  box-sizing: border-box;
}
#faq article section * {
  box-sizing: border-box;
}
#faq article section h3 {
  background-color: #239e9a;
}
#faq article section .question::before {
  counter-increment: item;
  content: counter(item);
}
#faq article section .faqItem {
  position: relative;
}
#faq article section .faqItem::before, #faq article section .faqItem .question::before {
  position: absolute;
  top: 0;
  font-weight: bold;
  line-height: 2rem;
}
#faq article section .faqItem::before {
  content: "Q";
  color: #d6e8b4;
  font-size: 2rem;
}
#faq article section .faqItem .question {
  padding-left: 3.75rem;
  font-weight: bold;
  font-size: 1.1rem;
}
#faq article section .faqItem .question::before {
  left: 2rem;
  color: #add26a;
  font-size: 1.8rem;
}
#faq article section .faqItem .answer {
  position: relative;
}
@media screen and (min-width: 780px), print {
  #faq article section .faqItem .answer {
    margin-left: 3.75rem;
  }
}
#faq article section .faqItem .answer::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -2;
  background: #eff6e1;
  display: block;
  content: "";
}
#faq article section .faqItem .answer::before {
  position: absolute;
  top: 0.25rem;
  left: 0.5rem;
  z-index: -1;
  content: "A";
  color: #fff;
  font-size: 8rem;
  line-height: 8rem;
  font-weight: bold;
}
#faq article section .faqItem {
  margin: 1rem auto;
}
#faq article section .faqItem, #faq article section .faqItem dd {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
#faq article section .faqItem, #faq article section .faqItem > *, #faq article section .faqItem dd, #faq article section .faqItem dd > * {
  box-sizing: border-box;
}
@media screen and (max-width: 779px) {
  #faq article section .faqItem {
    width: calc(100% - 1rem);
  }
}
@media screen and (min-width: 780px), print {
  #faq article section .faqItem {
    width: calc(100% - 2rem);
  }
}
#faq article section .faqItem dt.question {
  min-height: 2rem;
  color: #239e9a;
}
#faq article section .faqItem dd.answer {
  padding: 1rem;
}
@media screen and (max-width: 779px) {
  #faq article section .faqItem dd.answer div {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  #faq article section .faqItem dd.answer div, #faq article section .faqItem dd.answer div > * {
    box-sizing: border-box;
  }
}
@media screen and (min-width: 780px), print {
  #faq article section .faqItem dd.answer div:not(.flexType) {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  #faq article section .faqItem dd.answer div:not(.flexType), #faq article section .faqItem dd.answer div:not(.flexType) > * {
    box-sizing: border-box;
  }
  #faq article section .faqItem dd.answer div.flexType {
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 1rem;
  }
  #faq article section .faqItem dd.answer div.flexType, #faq article section .faqItem dd.answer div.flexType > * {
    box-sizing: border-box;
  }
}
#faq article section .faqItem dd.answer h4 {
  font-size: 1.1rem;
  color: #6a5d3c;
  border-bottom: 1px dotted #6a5d3c;
}
#faq article section .faqItem dd.answer a {
  width: auto;
  display: inline-block;
  padding-right: 2rem;
  font-size: 0.9rem;
  text-decoration: none;
  text-align: right;
  color: #da3c26;
}
#faq article section .faqItem dd.answer a {
  position: relative;
  padding-right: 1.25rem;
}
#faq article section .faqItem dd.answer a::after {
  position: absolute;
  right: 0;
}
#faq article section .faqItem dd.answer a::after {
  top: 0;
  right: 0;
  content: "\f138";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
#faq article section .faqItem dd.answer a:hover, #faq article section .faqItem dd.answer a:active {
  text-decoration: underline;
}
#faq article section .faqItem dd.answer a:hover, #faq article section .faqItem dd.answer a:active {
  color: #6a5d3c;
}
#faq article section .faqItem dd.answer .timeTable {
  text-align: center;
}
#faq article section .faqItem dd.answer .timeTable caption {
  border-bottom: 1px solid #aaa;
  padding-left: 1.5rem;
}
#faq article section .faqItem dd.answer .timeTable caption {
  position: relative;
}
#faq article section .faqItem dd.answer .timeTable caption::before {
  position: absolute;
  left: 0;
}
#faq article section .faqItem dd.answer .timeTable caption::before {
  content: "▼";
}
#faq article section .faqItem dd.answer .timeTable thead *, #faq article section .faqItem dd.answer .timeTable tbody, #faq article section .faqItem dd.answer .timeTable tbody th, #faq article section .faqItem dd.answer .timeTable tbody th span {
  color: #006837;
}
#faq article section .faqItem dd.answer .timeTable thead, #faq article section .faqItem dd.answer .timeTable tbody, #faq article section .faqItem dd.answer .timeTable tbody tr > * {
  border-color: #add26a;
}
#faq article section .faqItem dd.answer .timeTable thead tr > * {
  border-left-color: #fff;
  border-bottom-color: #add26a;
  background: #d6e8b4;
  font-size: 0.9rem;
}
#faq article section .faqItem dd.answer .timeTable tbody th {
  background: #eff6e1;
  font-weight: normal;
  white-space: nowrap;
}
#faq article section .faqItem dd.answer .timeTable tbody td {
  width: 7rem;
  background: #fff;
}
#faq article section .faqItem dd.answer .timeTable tfoot.note {
  text-align: left;
  border-top: 1px solid #aaa;
}
#faq article section .faqItem dd.answer .timeTable tfoot.note ul li {
  padding-left: 1.5rem;
}
#faq article section .faqItem dd.answer .timeTable tfoot.note ul li {
  position: relative;
}
#faq article section .faqItem dd.answer .timeTable tfoot.note ul li::before {
  position: absolute;
  left: 0;
}
#faq article section .faqItem dd.answer .timeTable tfoot.note ul li::before {
  content: "※";
}/*# sourceMappingURL=clubinfo.css.map */