@charset "UTF-8";
.font-num { font-family: 'Lato', sans-serif; }

.font-maru { font-family: 'Zen Maru Gothic', sans-serif; }

.font-nsj { font-family: 'Noto Sans JP', sans-serif; }

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; word-wrap: break-word; }

html { font-size: 18px; }
@media screen and (max-width: 750px) { html { font-size: 3.8vw; } }

body { font-family: 'Zen Kaku Gothic New', YuGothicM, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; -webkit-text-size-adjust: 100%; }

li { list-style: none; }

img { max-width: 100%; vertical-align: bottom; }

video { max-width: 100%; }

a:hover { text-decoration: none; }

button { padding: 0; border: none; background: none; font-family: inherit; font-size: 1rem; cursor: pointer; }

input[type="text"], input[type="password"], input[type="tel"], input[type="email"], input[type="date"], input[type="time"], textarea { font-family: inherit; font-size: 1rem; }

select { font-family: inherit; }

.only-pc { display: block; }
@media screen and (max-width: 750px) { .only-pc { display: none; } }

.only-sp { display: none; }
@media screen and (max-width: 750px) { .only-sp { display: block; } }

img.only-pc, span.only-pc { display: inline; }
@media screen and (max-width: 750px) { img.only-pc, span.only-pc { display: none; } }
img.only-sp, span.only-sp { display: none; }
@media screen and (max-width: 750px) { img.only-sp, span.only-sp { display: inline; } }

table.only-pc { display: table; }
@media screen and (max-width: 750px) { table.only-pc { display: none; } }
table.only-sp { display: none; }
@media screen and (max-width: 750px) { table.only-sp { display: table; } }

.js-tel { color: #000 !important; text-decoration: none; cursor: default; }

.main { padding: 70px 0 120px; }
@media screen and (max-width: 750px) { .main { padding: 60px 0; } }

.inner { width: 100%; max-width: 1460px; margin: 0 auto; padding: 0 30px; line-height: 1.6; }
@media screen and (max-width: 750px) { .inner { padding: 0 4%; } }

.inner-m { width: 100%; max-width: 1260px; margin: 0 auto; padding: 0 30px; line-height: 1.6; }
@media screen and (max-width: 750px) { .inner-m { padding: 0 4%; } }

.inner-s { width: 100%; max-width: 1060px; margin: 0 auto; padding: 0 30px; line-height: 1.6; }
@media screen and (max-width: 750px) { .inner-s { padding: 0 4%; } }

/* ==================================================================================================== ヘッダー
==================================================================================================== */
.header { position: relative; display: flex; justify-content: space-between; align-items: center; height: 100px; padding-left: 30px; }
@media screen and (max-width: 750px) { .header { height: 80px; padding-left: 4%; } }
.header .header-logo { width: 297px; margin-right: 20px; }
@media screen and (max-width: 960px) { .header .header-logo { width: 12em; } }
@media screen and (max-width: 750px) { .header .header-logo { width: 10em; } }
.header .header-nav { display: flex; height: 100%; }
@media screen and (max-width: 750px) { .header .header-nav { display: none; } }
.header .header-nav ul { display: flex; align-items: center; height: 100%; font-size: 0.8888888889rem; }
.header .header-nav ul li { margin-right: 1.5em; }
@media screen and (max-width: 960px) { .header .header-nav ul li { margin-right: 1em; } }
.header .header-nav ul a { display: flex; flex-direction: column; align-items: center; color: #000; transition: all .5s; }
.header .header-nav ul i { margin-bottom: 5px; font-size: 2rem; }
.header .header-nav ul i.bi-search { margin-top: 5px; margin-bottom: 8px; font-size: 1.6666666667rem; }
.header .header-nav ul._user a:hover, .header .header-nav ul._user a._current { color: #39ab93; }
.header .header-nav ul._athlete a:hover, .header .header-nav ul._athlete a._current { color: #3885ae; }
.header .header-nav a { text-decoration: none; }
.header .header-link { height: 100%; }
.header .header-link a { display: flex; align-items: center; justify-content: center; width: 10em; height: 100%; font-weight: 500; line-height: 1.3; color: #fff; }

/* ==================================================================================================== SPメニュー
==================================================================================================== */
.nav-menu { z-index: 9999; display: none; position: fixed; top: 100px; left: 0; width: 100%; height: calc(100% - 100px); background-color: #fff; }
@media screen and (max-width: 750px) { .nav-menu { top: 80px; height: calc(100% - 80px); } }
.nav-menu .nav-menu-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow-y: auto; }
.nav-menu ul { border-top: 1px solid #000; }
.nav-menu ul li { border-bottom: 1px solid #000; }
.nav-menu ul a { display: flex; justify-content: center; align-items: center; padding: 1em; color: #000; text-align: center; text-decoration: none; transition: all .5s; }
.nav-menu ul._user a:hover, .nav-menu ul._user a._current { background-color: #39ab93; color: #fff; }
.nav-menu ul._athlete a:hover, .nav-menu ul._athlete a._current { background-color: #3885ae; color: #fff; }
.nav-menu ul i { margin-right: 5px; font-size: 1.3333333333rem; }
.nav-menu ul i.bi-search { font-size: 1.1111111111rem; }
.nav-menu .nav-link { padding: 1em; }
.nav-menu .nav-link a { display: block; max-width: 16em; margin: 0 auto; padding: 1em; border-radius: 2em; color: #fff; text-align: center; text-decoration: none; }

.header-menu { display: none; z-index: 10000; position: fixed; top: 0; right: 0; align-items: center; justify-content: center; width: 100px; height: 100px; background-color: #494949; border-left: 1px solid #fff; border-bottom: 1px solid #fff; cursor: pointer; }
.header-menu.is-show { display: flex; }
@media screen and (max-width: 750px) { .header-menu { display: flex; width: 80px; height: 80px; } }
.header-menu p { position: relative; width: 60px; height: 28px; margin: 0 auto; }
@media screen and (max-width: 750px) { .header-menu p { width: 48px; } }
.header-menu span { position: absolute; left: 0; display: block; width: 100%; height: 2px; background-color: #fff; transition: all .4s; border-radius: 1em; }
.header-menu span:nth-of-type(1) { top: 0; }
.header-menu span:nth-of-type(2) { top: 50%; margin-top: -1px; }
.header-menu span:nth-of-type(3) { bottom: 0; }

.js-menuopen { overflow: hidden; }
.js-menuopen .header { position: fixed; top: 0; left: 0; z-index: 9999; width: 100%; background-color: #fff; }
.js-menuopen .header .header-nav { display: none; }
.js-menuopen .header-menu span:nth-child(1) { transform: translateY(13px) rotate(-45deg); }
.js-menuopen .header-menu span:nth-child(2) { opacity: 0; }
.js-menuopen .header-menu span:nth-child(3) { transform: translateY(-13px) rotate(45deg); }
.js-menuopen .nav-menu { display: block; }
.js-menuopen#mypage { overflow: initial; }
@media screen and (max-width: 750px) { .js-menuopen .mypage-header { position: fixed; top: 0; left: 0; z-index: 99999; width: 100%; background-color: #fff; }
  .js-menuopen .mypage-menu { display: block; } }

/* ==================================================================================================== メインタイトル
==================================================================================================== */
.mainttl-sec { position: relative; }
.mainttl-sec figure { position: relative; padding-top: 26.0416666667%; }
@media screen and (max-width: 750px) { .mainttl-sec figure { padding-top: 40%; } }
.mainttl-sec figure img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.mainttl-sec .mainttl-box { position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.mainttl-sec .mainttl-box .mainttl-box-con { width: 100%; }
.mainttl-sec .mainttl-icon { text-align: center; }
.mainttl-sec .mainttl-icon i { color: #fff; font-size: 5rem; }
@media screen and (max-width: 750px) { .mainttl-sec .mainttl-icon i { font-size: 3.3333333333rem; } }
.mainttl-sec .mainttl-ttl { margin-top: 20px; font-size: 2.6666666667rem; text-align: center; color: #fff; font-weight: 700; }
@media screen and (max-width: 750px) { .mainttl-sec .mainttl-ttl { margin-top: 10px; font-size: 1.3333333333rem; } }

.com-main { padding-top: 50px; display: flex; justify-content: space-between; }
@media screen and (max-width: 960px) { .com-main { display: block; } }

.content .com-con { margin-bottom: 60px; padding: 60px 65px; background-color: #fff; border-radius: 1em; box-shadow: 5px 5px 5px 0 rgba(221, 221, 221, 0.6); }
@media screen and (max-width: 960px) { .content .com-con { padding: 50px; } }
@media screen and (max-width: 750px) { .content .com-con { margin-bottom: 12%; padding: 6.6666666667%; } }
.content .com-heading { margin-bottom: 50px; font-size: 2.2222222222rem; color: #003364; font-weight: 700; line-height: 1.4; }
@media screen and (max-width: 750px) { .content .com-heading { font-size: 1.4444444444rem; } }
.content .com-heading span { font-size: 1.3333333333rem; color: #94d538; }
@media screen and (max-width: 750px) { .content .com-heading span { font-size: 0.8888888889rem; } }

.sidebar { width: 23.3333333333%; }
@media screen and (max-width: 960px) { .sidebar { width: 100%; margin-bottom: 160px; } }
@media screen and (max-width: 750px) { .sidebar { margin-bottom: 21.3333333333%; } }
.sidebar .sidebar-in { position: sticky; top: 0; left: 0; width: 100%; background-color: #fff; border-radius: 1em; overflow: hidden; box-shadow: 5px 5px 5px 0 rgba(221, 221, 221, 0.6); }
.sidebar .sidebar-ttl { position: relative; padding: 20px; background: #94d538 url("../img/common/arrow_05.png") no-repeat right 25px center; border-bottom: 1px solid #e8e8e8; color: #fff; font-weight: 700; line-height: 1; }
@media screen and (max-width: 960px) { .sidebar .sidebar-ttl { background-image: url("../img/common/arrow_06.png"); } }
@media screen and (max-width: 750px) { .sidebar .sidebar-ttl { background-size: 12px auto; } }
.sidebar .sidebar-sublink { padding: 10px 40px 20px; }
@media screen and (max-width: 960px) { .sidebar .sidebar-sublink { padding: 20px 70px; } }
.sidebar .sidebar-sublink li { margin-bottom: 5px; }
.sidebar .sidebar-sublink li a { text-decoration: none; font-size: 0.7777777778rem; color: #003364; }
.sidebar .sidebar-sublink li a:hover { text-decoration: underline; }
@media screen and (max-width: 960px) { .sidebar .sidebar-link { padding: 0 35px; } }
.sidebar .sidebar-link li { border-bottom: 1px solid #e8e8e8; }
.sidebar .sidebar-link li:first-child { border-top: 1px solid #e8e8e8; }
.sidebar .sidebar-link li:last-child { border-bottom: none; }
.sidebar .sidebar-link li a { display: block; text-decoration: none; padding: 15px 25px; background: url("../img/common/arrow_03.png") no-repeat right 25px center; color: #003364; font-weight: 700; }
@media screen and (max-width: 960px) { .sidebar .sidebar-link li a { padding: 10px 20px; background-image: url("../img/common/arrow_04.png"); } }

/* ==================================================================================================== フッター
==================================================================================================== */
.footer { padding: 30px; background-color: #000; color: #fff; text-align: center; }
@media screen and (max-width: 750px) { .footer { padding: 6.6666666667% 4%; } }
.footer .footer-nav { display: flex; justify-content: center; margin-bottom: 1.5em; font-size: 0.7777777778rem; }
@media screen and (max-width: 750px) { .footer .footer-nav { flex-wrap: wrap; } }
.footer .footer-nav li { margin-right: 1em; padding-right: 1em; border-right: 1px solid #fff; }
@media screen and (max-width: 750px) { .footer .footer-nav li { margin-bottom: 1em; }
  .footer .footer-nav li:nth-child(odd) { padding-left: 1em; border-left: 1px solid #fff; }
  .footer .footer-nav li:nth-child(even) { margin-right: 0; } }
.footer .footer-nav li:last-child { margin-right: 0; padding-right: 0; border-right: none; }
@media screen and (max-width: 750px) { .footer .footer-nav li:last-child { padding-right: 1em; border-right: 1px solid #fff; } }
.footer .footer-nav a { color: #fff; text-decoration: none; }
.footer .footer-nav a:hover { text-decoration: underline; }
.footer .footer-copy { font-size: 0.7777777778rem; }

.opacity { transition: all .6s; }
.opacity:hover { opacity: 0.7; }

.bg-user { background-color: #39ab93; }

.bg-athlete { background-color: #3885ae; }

.bg-default { background-color: #a7a7a7; }

.heading { font-size: 2rem; text-align: center; font-weight: 700; }
@media screen and (max-width: 750px) { .heading { font-size: 1.3333333333rem; } }

.txt-s { font-size: 0.8888888889rem; }

.txt-cap { padding-left: 1em; text-indent: -1em; }

.txt-blue { color: #4fcef9; }

.txt-yellow { color: #f4ba01; }

.txt-gray { color: #dedede; }

.btn-form { display: flex; justify-content: center; align-items: center; width: 100%; max-width: 18em; margin: 0 auto; padding: 0.5em 0; border-radius: 5px; color: #fff; text-align: center; }
.btn-form .ico { margin-right: 0.5em; }

.table-form { width: 100%; margin-bottom: 60px; }
.table-form tr th { width: 18em; padding: 30px 20px; font-weight: 400; vertical-align: middle; }
@media screen and (max-width: 960px) { .table-form tr th { display: block; width: 100%; padding: 20px; } }
.table-form tr th div { display: flex; justify-content: space-between; align-items: center; }
.table-form tr th .th-txt { text-align: left; }
.table-form tr th .required { width: 100%; max-width: 60px; padding: 2px; background-color: #d21e1e; font-size: 0.8888888889rem; color: #fff; text-align: center; border-radius: 5px; }
.table-form tr td { padding: 30px 20px; }
@media screen and (max-width: 960px) { .table-form tr td { display: block; width: 100%; padding-left: 0; padding-right: 0; } }
.table-form tr td .div-upload { border: 1px solid #a8a8a8; color: #a8a8a8; font-size: 0.8888888889rem; }
.table-form tr td .div-upload .div-upload-drop { padding: 1.5em 2em; text-align: center; }
.table-form tr td .div-upload .div-upload-sel { padding: 0 2em 1.5em; text-align: center; }
.table-form tr td .div-upload .div-upload-sel p { padding: 1em 0; border-top: 1px dashed #a8a8a8; }
.table-form tr td .div-upload .btn { width: 100%; max-width: 480px; margin: 0 auto; align-items: center; }
.table-form tr td .div-upload .btn .ico { margin-right: 1em; }
.table-form tr td .div-post { display: flex; }
.table-form tr td .div-post .div-post-txt { width: 18em; max-width: 100%; margin-right: 1em; }
@media screen and (max-width: 750px) { .table-form tr td .div-post .div-post-txt { flex: 1; width: 100%; } }
.table-form tr td .div-post .address-btn { display: flex; align-items: center; justify-content: center; width: 6em; border-radius: 5px; color: #fff; font-size: 1rem; text-align: center; cursor: pointer; }
.table-form tr td .div-address { display: flex; }
.table-form tr td .div-address .div-address-txt { flex: 1; margin-left: 1em; }
.table-form tr td .div-group { margin-top: 30px; }
.table-form tr td .div-group dt { width: 5em; }
.table-form tr td .div-chechbox, .table-form tr td .div-radio { display: flex; flex-wrap: wrap; }
.table-form tr td .div-chechbox label, .table-form tr td .div-radio label { margin-right: 2em; }
.table-form tr td .div-chechbox label input, .table-form tr td .div-radio label input { margin-right: 0.5em; vertical-align: baseline; }
.table-form tr td select { padding: 20px; border: 1px solid #a7a7a7; background-color: #fff; font-size: 0.8888888889rem; }
.table-form tr td dl { display: flex; align-items: center; }
.table-form tr td dl dt { margin-right: 1em; font-size: 0.8888888889rem; }
.table-form tr td dl dd { flex: 1; }
.table-form tr td dl input[type="text"], .table-form tr td dl input[type="tel"], .table-form tr td dl input[type="email"], .table-form tr td dl input[type="password"], .table-form tr td dl select { padding: 10px 20px; }
.table-form tr td .div-date span { margin: 0 1em; }
@media screen and (max-width: 750px) { .table-form tr td .div-date span { margin: 0 0.5em; } }
.table-form tr td .div-datetime dt { width: 6em; }
.table-form tr td .div-datetime .div-datetime-items { display: flex; flex-wrap: wrap; }
@media screen and (max-width: 750px) { .table-form tr td .div-datetime .div-datetime-items { display: block; } }
.table-form tr td .div-datetime .div-datetime-items .div-datetime-item { margin-right: 1em; }
@media screen and (max-width: 750px) { .table-form tr td .div-datetime .div-datetime-items .div-datetime-item { margin-right: 0; margin-bottom: 0.5em; } }
.table-form tr td .div-datetime .div-datetime-items .div-datetime-item:last-child { margin-right: 0; }
@media screen and (max-width: 750px) { .table-form tr td .div-datetime .div-datetime-items .div-datetime-item:last-child { margin-bottom: 0; } }

.input-txt { padding: 20px; border: 1px solid #a7a7a7; background-color: #fff; font-size: 0.8888888889rem; }

.btn { display: flex; justify-content: center; padding: 1em 1.5em; border-radius: 5px; color: #fff; line-height: 1; text-decoration: none; }
.btn.is-disabled { background-color: #999 !important; cursor: default; }

.btn-wrap { display: flex; flex-wrap: wrap; justify-content: center; }
@media screen and (max-width: 750px) { .btn-wrap { display: block; } }
.btn-wrap .btn { margin-right: 1em; }
@media screen and (max-width: 750px) { .btn-wrap .btn { width: 100%; margin-bottom: 1em; } }
.btn-wrap .btn:last-child { margin-right: 0; }
@media screen and (max-width: 750px) { .btn-wrap .btn:last-child { margin-bottom: 0; } }

.send-btn { display: block; width: 100%; max-width: 480px; margin: 0 auto; padding: 30px 20px; border: none; font-size: 1.2222222222rem; color: #fff; text-align: center; border-radius: 5px; line-height: 1; text-decoration: none; cursor: pointer; }

.back-btn { display: block; width: 100%; max-width: 480px; margin: 0 auto 20px; padding: 30px 20px; background-color: #a7a7a7; border: none; font-size: 1.2222222222rem; color: #fff; text-align: center; border-radius: 5px; line-height: 1; cursor: pointer; }

.login-ttl { margin-bottom: 1em; font-size: 1.3333333333rem; text-align: center; }

.login-lead { margin-bottom: 1.5em; font-size: 0.8888888889rem; }

.login-form { max-width: 600px; margin: 0 auto; }
.login-form .login-input { margin-bottom: 2em; }
.login-form .login-pass { margin-top: 0.5em; text-align: center; }

.pagination { display: flex; flex-wrap: wrap; justify-content: center; margin-top: 2em; }
.pagination ._num, .pagination ._prev, .pagination ._next { display: block; width: 2.5em; margin: 0 0.25em; border: 1px solid #39ab93; border-radius: 1.5em; font-size: 0.8888888889rem; line-height: calc(2.5em - 2px); text-align: center; color: #39ab93; text-decoration: none; }
.pagination ._current { background-color: #39ab93; color: #fff; }

.ico { display: inline-flex; justify-content: center; align-items: center; }
.ico::before { content: ''; background-repeat: no-repeat; background-position: center center; background-size: contain; }

.ico-camera::before { width: 34px; height: 34px; background-image: url("../img/common/ico_camera.svg"); }

.ico-plus::before { width: 34px; height: 34px; background-image: url("../img/common/ico_addition.svg"); }

.detail-top { display: flex; }
.detail-top .detail-fig { width: 28%; }
.detail-top .detail-fig figure { position: relative; padding-top: 100%; border-radius: 50%; overflow: hidden; }
.detail-top .detail-fig figure img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.detail-top .detail-name { display: flex; flex-wrap: wrap; align-items: flex-end; }

.detail-line { display: flex; flex-wrap: wrap; }
.detail-line .detail-line-item { display: flex; align-items: center; margin-right: 1.5em; }
.detail-line .detail-line-item dt { font-size: 0.8333333333rem; font-weight: bold; line-height: 1; }

.error-message { margin-top: 5px; color: #d21e1e; }

.message { margin-bottom: 1.5em; padding: 1em; color: #fff; text-align: center; }

.txt-danger { color: #d21e1e; }

.bg-danger { background-color: #d21e1e; }

.bg-success { background-color: #0d6efd; }

.upload input[type="file"] { display: none; }
.upload .upload-view { display: none; padding: 1em; text-align: center; }
.upload .upload-view img { max-width: 300px; }
@media screen and (max-width: 750px) { .upload .upload-drop { display: none; } }
.upload .upload-del, .upload .upload-name, .upload .upload-url { display: none; }
.upload.is-uploaded .upload-view { display: block; }
.upload.is-uploaded .upload-drop { display: none; }
.upload.is-uploaded .upload-del { display: block; max-width: 480px; margin-bottom: 1em !important; }

.div-item { margin-bottom: 1em; padding-bottom: 1.5em; border-bottom: 1px solid #cecece; }
.div-item:last-child { padding-bottom: 0; border-bottom: none; }
.div-item .item-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.div-item .item-no { width: 2.5em; border-radius: 2em; background-color: #a7a7a7; color: #fff; line-height: 2.5em; text-align: center; cursor: pointer; }

.ttl-sec { padding: 90px 0 50px; }
@media screen and (max-width: 750px) { .ttl-sec { padding: 16% 0 6%; } }
.ttl-sec .ttl-in { display: flex; align-items: flex-end; justify-content: space-between; }
@media screen and (max-width: 960px) { .ttl-sec .ttl-in { display: block; padding: 0 55px; } }
@media screen and (max-width: 750px) { .ttl-sec .ttl-in { padding: 0 7.3333333333%; } }
.ttl-sec .ttl-txt { font-size: 2.2222222222rem; color: #003364; font-weight: 700; line-height: 1; }
@media screen and (max-width: 960px) { .ttl-sec .ttl-txt { margin-bottom: 120px; } }
@media screen and (max-width: 750px) { .ttl-sec .ttl-txt { margin-bottom: 20.6896551724%; font-size: 1.6666666667rem; } }
.ttl-sec .ttl-txt span { font-size: 6.1111111111rem; color: #94d538; }
@media screen and (max-width: 750px) { .ttl-sec .ttl-txt span { font-size: 3.8888888889rem; } }
.ttl-sec .topicpath { flex: 1; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; font-size: 0.7777777778rem; }
@media screen and (max-width: 960px) { .ttl-sec .topicpath { justify-content: flex-start; } }
@media screen and (max-width: 750px) { .ttl-sec .topicpath { font-size: 0.8888888889rem; } }
.ttl-sec .topicpath li::after { content: ''; display: inline-block; width: 4px; height: 7px; margin: 0 12px; background: url("../img/common/arrow_02.png"); }
.ttl-sec .topicpath li a { text-decoration: none; color: #000; }
.ttl-sec .topicpath li a:hover { text-decoration: underline; }
.ttl-sec .topicpath li:last-child::after { display: none; }

.overview-list dl { display: flex; }
@media screen and (max-width: 750px) { .overview-list dl { position: relative; display: block; padding: 6.8965517241% 0; border-bottom: 1px solid #e8e8e8; }
  .overview-list dl::after { content: ''; position: absolute; bottom: 0; left: 0; width: 90px; height: 1px; margin-bottom: -1px; background-color: #94d538; } }
@media screen and (max-width: 750px) { .overview-list dl:last-child { border-bottom: none; }
  .overview-list dl:last-child::after { display: none; } }
.overview-list dl:last-child dt, .overview-list dl:last-child dd { padding-bottom: 0; border-bottom: none; }
.overview-list dl dt { width: 10em; padding: 25px 15px; border-bottom: 1px solid #94d538; color: #94d538; font-weight: 700; }
@media screen and (max-width: 750px) { .overview-list dl dt { width: 100%; margin-bottom: 10px; padding: 0 3.4482758621%; border-bottom: none; } }
.overview-list dl dd { flex: 1; padding: 25px 35px; border-bottom: 1px solid #e8e8e8; }
@media screen and (max-width: 750px) { .overview-list dl dd { padding: 0 3.4482758621%; border-bottom: none; } }
.overview-list dl dd ul li { margin-bottom: 0.5em; padding-left: 1.5em; text-indent: -1.5em; line-height: 2; }
.overview-list dl dd ul li::before { content: '●'; margin-right: 0.5em; color: #94d538; }

.calendar-block ._wd-0 { color: #f00; }
.calendar-block .calendar-head { display: flex; justify-content: space-between; margin-bottom: 0.5em; }
.calendar-block .calendar-ym { font-size: 1.1111111111rem; text-align: center; }
.calendar-block .calendar-label { display: flex; justify-content: space-between; margin-bottom: 0.5em; }
.calendar-block .calendar-label p { width: 14.2857142857%; font-size: 0.7777777778rem; text-align: center; }
.calendar-block .calendar-days { display: flex; flex-wrap: wrap; }
.calendar-block .calendar-day { width: 14.2857142857%; margin-bottom: 0.5em; }
.calendar-block .calendar-day p { width: 2em; margin: 0 auto; border-radius: 1em; background-color: #dedede; line-height: 2; text-align: center; user-select: none; }
.calendar-block .calendar-day._st1 p { background-color: #4fcef9; }
.calendar-block .calendar-day._st2 p { background-color: #f4ba01; }

@media screen and (max-width: 750px) { .news-list { width: 100%; } }
.news-list li { border-bottom: 1px solid #e8e8e8; }
.news-list li:last-child { border-bottom: none; }
.news-list .news-item { display: flex; padding: 1em; }
@media screen and (max-width: 750px) { .news-list .news-item { display: block; } }
.news-list .news-item .news-item-date { width: 8em; }
.news-list .news-item .news-item-ttl { flex: 1; }
.news-list a { color: #000; text-decoration: none; }
.news-list a:hover .news-item-ttl { text-decoration: underline; }

.news-date { margin-bottom: 2em; text-align: center; }

.news-content { display: flex; justify-content: center; margin-bottom: 2em; }

.news-btn { text-align: center; }
.news-btn a { display: inline-block; padding: 0.5em 2em; border: 1px solid #494949; background-color: #494949; color: #fff; text-decoration: none; transition: all .5s; }
.news-btn a:hover { background-color: #f6f6f6; color: #000; }

.faq-box dl { margin-bottom: 40px; background-color: #fff; }
.faq-box dl dt { position: relative; padding: 25px 4.5em 25px 30px; font-size: 1.1111111111rem; cursor: pointer; transition: all .5s; }
.faq-box dl dt::after { content: ''; position: absolute; top: 0; right: 0; width: 4em; height: 100%; background: #3885ae url("../img/home/ico_btn.svg") no-repeat center center; background-size: 100% auto; }
.faq-box dl dt.active { background-color: #3885ae; color: #fff; }
.faq-box dl dt.active::after { background-image: url("../img/home/ico_btn02.svg"); }
@media screen and (max-width: 750px) { .faq-box dl dt { font-size: 1rem; } }
.faq-box dl dd { display: none; padding: 25px 30px; }

.clearfix { zoom: 1; }
.clearfix::before { content: ""; display: table; }
.clearfix::after { content: ""; display: table; clear: both; }

.w100 { width: 100%; }

.w50 { width: 50%; }

@media screen and (max-width: 750px) { .w100-sp { width: 100%; } }

.mat5 { margin-top: 5px !important; }

.mab20 { margin-bottom: 20px !important; }

.js-anime-fadein { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-fadein.js-anime-on { animation-name: fadeIn; }

@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
.js-anime-slide { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slide.js-anime-on { animation-name: slide; }

@keyframes slide { 0% { opacity: 0; transform: translateY(100px); }
  100% { opacity: 1; transform: translateY(0); } }
.js-anime-slideleft { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideleft.js-anime-on { animation-name: slideLeft; }

@keyframes slideLeft { 0% { opacity: 0; transform: translateX(-100px); }
  100% { opacity: 1; transform: translateX(0); } }
.js-anime-slideright { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideright.js-anime-on { animation-name: slideRight; }

@keyframes slideRight { 0% { opacity: 0; transform: translateX(100px); }
  100% { opacity: 1; transform: translateX(0); } }

/*# sourceMappingURL=style.css.map */
