@charset "UTF-8";
body { font-family: 'Roboto','Noto Sans JP',sans-serif; margin: 0; font-weight: normal; color: #313550; font-size: 15px; line-height: 160%; letter-spacing: 0.1rem; }

::placeholder { color: #9F9F9F; }

a { text-decoration: none; color: #313550; transition: all .2s linear; }
a:hover { color: #989aa8; }

.btn { transition: all .2s linear; }

a[target="_blank"] { position: relative; padding-right: 20px; display: inline-block; }
a[target="_blank"]:after { content: ''; display: block; width: 15px; height: 14px; background-image: url(../views/images/icon-tab_navy.svg); vertical-align: middle; right: 4px; position: absolute; top: 6px; background-size: 12px; background-repeat: no-repeat; background-position: center; }

a[target="_blank"]:has(img):after { display: none; }

a[href$=".pdf"]:after { content: "PDF"; background: #E23F59; color: #fff; padding: 0; display: inline-block; font-size: 8px; font-weight: 600; width: 27px; text-align: center; height: 16px; line-height: 17px; border-radius: 9px; letter-spacing: 0.06rem; }

input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

input[type="number"] { -moz-appearance: textfield; }

h1, h2, h3, h4, strong { font-weight: 700; }

header { position: relative; height: 70px; width: 100%; top: 0; left: 0; }
header .logo { width: 244px; height: 66px; display: block; background-image: url(../views/images/logo-login.png); background-size: 244px; background-repeat: no-repeat; background-position: center 0; transition: all .4s; }
header .logo:hover { opacity: .6; }
header .col-md-9 { padding-top: 8px; font-size: 90%; font-weight: 700; }
header .col-md-9 li { position: relative; padding-left: 27px; }
header .col-md-9 .name:before { content: ""; display: inline-block; position: absolute; background: url(../views/images/icon-user_navy.svg) no-repeat left center; background-size: 20.5px 20.5px; width: 20.5px; height: 20.5px; left: 0; top: 1px; }
header .col-md-9 .count { padding-right: 1.5rem; }
header .col-md-9 .admin { padding-right: 1rem; }
header .col-md-9 .admin a { display: inline-block; padding-top: 13px; }
header .col-md-9 .admin a:before { content: ""; display: inline-block; position: absolute; background: url(../views/images/icon-admin_navy.svg) no-repeat left center; background-size: 20.5px 20.5px; width: 20.5px; height: 20.5px; left: 0; top: 15px; }
header .col-md-9 .mypage { padding-right: 1rem; }
header .col-md-9 .mypage a { display: inline-block; padding-top: 13px; }
header .col-md-9 .mypage a:before { content: ""; display: inline-block; position: absolute; background: url(../views/images/icon-home_navy.svg) no-repeat left center; background-size: 20.5px 20.5px; width: 20.5px; height: 20.5px; left: 0; top: 15px; }
header .col-md-9 .logout a { display: inline-block; padding-top: 13px; }
header .col-md-9 .logout a:before { content: ""; display: inline-block; position: absolute; background: url(../views/images/icon-logout_navy.svg) no-repeat left center; background-size: 20.5px 20.5px; width: 20.5px; height: 20.5px; left: 0; top: 15px; }
header .col-md-9 a { transition: all .2s linear; }
header .col-md-9 a:hover { opacity: 0.6; }
header .col-md-9 span { padding-left: 27px; display: inline-block; color: #9a9898; position: absolute; bottom: -1.3rem; left: 0; font-size: 95%; font-weight: 500; }
header .col-md-9 li:last-of-type { padding-right: 0; }

main { min-height: calc(100vh - 70px); box-sizing: border-box; }

.menu { position: relative; background: #F2F7F9; color: #102138; min-height: calc(100vh - 70px); height: auto; padding: 0; width: 14%; border-right: 0.5px solid #50545a2b; }
.menu a { color: #102138; }
.menu ul { margin: 0; }
.menu li:hover { background: #51BA97; }
.menu h2 { font-weight: normal; font-size: 100%; margin: 0; }
.menu h2 a { color: #102138; display: inline-block; width: 100%; padding: 1rem 0.5rem 1rem 35px; font-size: 95%; position: relative; }
.menu h2 a:before { content: ""; position: absolute; top: 15px; left: 8px; width: 23px; height: 22px; display: block; background-repeat: no-repeat; background-size: 18px 17px; z-index: 1; }
.menu h2 a:hover { background: #51BA97; color: #fff; }
.menu h2 .current { background: #51BA97; color: #fff; }
.menu h2 .current:hover { background: #419579; }
.menu h2 .home:before { background-image: url(../views/images/icon-home_navy.svg); }
.menu h2 .home:hover:before { background-image: url(../views/images/icon-home_white.svg); }
.menu h2 .eye.current:before { background-image: url(../views/images/icon-eye_white.svg); }
.menu h2 .eye:before { background-image: url(../views/images/icon-eye_navy.svg); }
.menu h2 .eye:hover:before { background-image: url(../views/images/icon-eye_white.svg); }
.menu h2 .document:before { background-image: url(../views/images/icon-shinsei_navy.svg); }
.menu h2 .document:hover:before { background-image: url(../views/images/icon-shinsei_white.svg); }
.menu h2 .download:before { background-image: url(../views/images/icon-download_navy.svg); }
.menu h2 .download:hover:before { background-image: url(../views/images/icon-download_white.svg); }
.menu h2 .user:before { background-image: url(../views/images/icon-users_navy.svg); }
.menu h2 .user:hover:before { background-image: url(../views/images/icon-users_white.svg); }
.menu h2 .calendar:before { background-image: url(../views/images/icon-calendar_navy.svg); }
.menu h2 .calendar:hover:before { background-image: url(../views/images/icon-calendar_white.svg); }
.menu h2:has(.calendar) { margin-bottom: 100px; padding-bottom: 60px; }
.menu .position-absolute { left: 50%; transform: translateX(-50%); width: 100%; }
.menu .btn-green { background: #51BA97; color: #fff; width: 80%; border-radius: 15px; padding: 1rem 1rem 1rem 1.3rem; text-align: left; line-height: 115%; font-size: 95%; }
.menu .btn-green:after { background-image: url("../views/images/icon-tab.svg"); right: 10px; top: 18px; }
.menu .btn-green:before { content: ""; position: absolute; width: 100%; height: 100%; top: 0; left: 0; border: 3px solid #102138; border-radius: 15px; box-sizing: border-box; z-index: -1; transform: scale(1.2); opacity: 0; transition: transform ease .3s, opacity .3s; }
.menu .btn-green:hover { color: #102138; background: transparent; }
.menu .btn-green:hover::before { transform: scale(1); opacity: 1; }
.menu .btn-green:hover::after { background-image: url(../views/images/icon-tab_navy.svg); }
.menu .copy { font-size: 72%; line-height: 130%; }
.menu .list-form a { background: #F2F7F9; transition: all .2s linear; color: #102138; display: inline-block; padding: 0.5rem 1rem 0.5rem 1rem; font-size: 92%; width: 100%; letter-spacing: 0.05rem; line-height: 130%; }
.menu .list-form a:hover { background: #51BA97; color: #fff; }
.menu .list-form a:after { top: 9px; right: 8px; width: 15px; height: 14px; content: ""; background-image: url(../views/images/icon-tab_navy.svg); background-size: 12px; background-repeat: no-repeat; background-color: unset; border-radius: 0; }
.menu .list-form a:hover:after { background-image: url(../views/images/icon-tab.svg); }
.menu .list-form a[href$=".pdf"]:after { background-position: center; }
.menu .title { background: #3d9477; color: #afe7d5; padding: .5rem 0 .5rem .8rem; margin-bottom: 0; }

.nav-links { padding: 1rem .8rem 2rem; margin-bottom: 140px; }
.nav-links ul { width: 100%; border-top: 1px solid #B9B9B9; border-bottom: 1px solid #B9B9B9; padding: 10px 0; }
.nav-links ul li:hover { background: none; }
.nav-links ul a { color: #102138; position: relative; font-size: 95%; padding: 0.5rem 0rem 0.5rem 15px; display: inline-block; }
.nav-links ul a:hover { opacity: 0.6; }
.nav-links ul a:before { content: ""; position: absolute; top: 15px; left: 4px; width: 4px; height: 8px; display: block; background: url(../views/images/icon-arrow_right_navy.svg) no-repeat; background-size: 4px 8px; }
.nav-links ul a[target="_blank"]:after { right: -16px; top: 13px; }
.nav-links ul a[href$=".pdf"] { padding-right: 0.8rem; }
.nav-links ul a[href$=".pdf"]:after { right: -13px; }
.nav-links ul:last-of-type { border-top: none; }

.content { width: 86%; background: #F2F7F9; height: auto !important; }
.content a { color: #838696; font-weight: 600; text-decoration: underline; }
.content a:hover { color: #313550; text-decoration: none; }
.content a[target="_blank"]:after { background-image: url(../views/images/icon-tab_navy.svg); }
.content a[href$=".pdf"] { padding-right: 33px; }
.content a[href$=".pdf"]:after { right: 0; background-image: none !important; }

.wrap-text { padding: 2rem; }
.wrap-text h1 { font-size: 160%; position: relative; padding-left: 28px; margin: 0 1rem 1.9rem 0; }
.wrap-text h1:before { position: absolute; content: ""; background-color: #51BA97; width: 9px; height: 33px; border-radius: 10px; display: block; left: 0; top: -2px; }
.wrap-text h2 { font-size: 130%; position: relative; padding: 0.7rem 1rem 0.7rem 1rem; margin: 1.5rem 0 1rem 0; background: #bde1f0; color: #102138; border-radius: 5px; }
.wrap-text h3 { font-size: 110%; position: relative; padding: 0.6rem 0.4rem 0.6rem 29px; margin: 1.2rem 0 1rem 0; background-color: #e3e3e3; border-radius: 5px; }
.wrap-text h3:before { position: absolute; content: ""; background-color: #51BA97; width: 7px; height: 22px; border-radius: 10px; display: block; left: 10px; top: 9px; }
.wrap-text h4 { font-size: 100%; margin: 1.2rem 0 1rem 0; padding-left: 30px; position: relative; }
.wrap-text h4:before { content: ''; display: block; position: absolute; top: 0.3rem; left: 6px; width: 10px; height: 5px; border-left: 2px solid #51BA97; border-bottom: 2px solid #51BA97; transform: rotate(-45deg); }
.wrap-text p { margin-bottom: 0.5rem; }
.wrap-text .btn-green { color: #fff; padding: 0.7rem 3rem 0.7rem 2rem; text-align: left; position: relative; border-radius: 50px; background: url(../views/images/icon-arrow_right.svg) 85% center no-repeat #51BA97; background-size: 4px 8px; transition: all .2s linear; text-decoration: none; }
.wrap-text .btn-green:hover { background-color: #419579; background-position: 90% center; }
.wrap-text a.btn-green { background-position: 90% center; font-weight: 500; }
.wrap-text a.btn-green:hover { background-position: 92% center; color: #fff; }
.wrap-text .btn-green.edit { margin-right: 1rem; }
.wrap-text .message { background: #fff; padding: 1.2rem; margin: 1rem 0 2.5rem 0; border-radius: 15px; position: relative; display: block; }
.wrap-text .message p { line-height: 110%; }
.wrap-text .message p + ul { margin-top: 1.5rem; }
.wrap-text .message ul { margin: 0; padding-left: 1.3rem; }
.wrap-text .message strong { color: #E84444; }
.wrap-text .message h3 { background-color: #f0f0f0; }
.wrap-text .message:after { content: ""; position: absolute; bottom: -43px; right: -18px; width: 158px; height: 158px; display: block; background: url(../views/images/yunikon_yubi.png) no-repeat; background-size: 158px; z-index: 1; }
.wrap-text .message li:last-of-type, .wrap-text .message li:nth-last-of-type(1), .wrap-text .message li:nth-last-of-type(2), .wrap-text .message li:nth-last-of-type(3) { padding-right: 5rem; }
.wrap-text .message .table th, .wrap-text .message .table td { border: 1px solid #ccc; }
.wrap-text .message .table tr { border: none; }
.wrap-text .message .shikyugaku { margin: 0; }
.wrap-text .message .shikyugaku dt { width: 32.5%; }
.wrap-text .message .shikyugaku dd { margin: 0; }
.wrap-text .message a[target="_blank"]:after { top: 2px; }
.wrap-text .message a[href$=".pdf"] { padding-right: 27px; }
.wrap-text .message a[href$=".pdf"]:after { top: 5px; }
.wrap-text .unexpected { border: 2px solid #51BA97; line-height: 130%; }
.wrap-text .unexpected:after { background-image: url(../views/images/yunikon_error.png); }
.wrap-text .joseikin.message:after { display: none; }
.wrap-text .example { display: block; background: no-repeat; background-size: 220px 180px; background-repeat: no-repeat; width: auto; height: 180px; background-position: center; margin-top: 1rem; }
.wrap-text .joseikin1 { background-image: url("../views/images/joseikin1.png"); }
.wrap-text .joseikin2 { background-image: url("../views/images/joseikin3.png"); }
.wrap-text .joseikin3 { background-image: url("../views/images/joseikin2.png"); }
.wrap-text .joseikin4 { background-image: url("../views/images/joseikin4.png"); }
.wrap-text .message.send { position: relative; }
.wrap-text .message.send:after { content: ""; position: absolute; bottom: -43px; right: -39px; width: 95px; height: 109px; display: block; background: url(../views/images/yunikon_peko.png) no-repeat; background-size: 95px; z-index: 1; }
.wrap-text .message.send li:last-of-type, .wrap-text .message.send li:nth-last-of-type(1) { padding-right: 5rem; }
.wrap-text .message.send li:nth-last-of-type(3) { padding-right: 0; }
.wrap-text .table { background-clip: padding-box; }
.wrap-text .table th, .wrap-text .table td { padding: 1.2rem 1.5rem; background-clip: padding-box; }
.wrap-text .table tr { border-bottom: 5px solid #F2F7F9; background-clip: padding-box; }
.wrap-text .table th { background-color: #E1E1E1; font-weight: 600; text-align: left; position: relative; width: 25%; vertical-align: middle; padding-right: 4.2rem; }
.wrap-text .table th span { font-size: 90%; }
.wrap-text .table th .select_txt { font-size: 100%; }
.wrap-text .table td { border: none; }
.wrap-text .table td span { display: block; font-size: 95%; padding-top: 5px; }
.wrap-text .table td .select_txt { display: inline; }
.wrap-text .table td p:last-of-type { margin-bottom: 0; }
.wrap-text .table td #wrap-sankasha dl { margin-bottom: 0.5rem; }
.wrap-text .table td #wrap-sankasha dl dt { font-weight: 500; margin-right: 0; }
.wrap-text .table td #wrap-sankasha dl dd { margin-right: 0; }
.wrap-text .table td #wrap-sankasha dl dd:first-of-type { margin-right: 1rem; }
.wrap-text .table td .mr-3 { margin-right: 0.6rem; }
.wrap-text .table td .btn-more { background-color: #E84444; border: none; color: #fff; text-decoration: none; cursor: pointer; padding: 0.5rem 1rem; }
.wrap-text .table .require { color: #fff; font-weight: 500; font-size: 85%; display: inline-block; position: absolute; right: 16px; background: #E84444; text-align: center; padding: 1px 10px 0 10px; border-radius: 20px; top: 50%; transform: translateY(-50%); line-height: 175%; }
.wrap-text .table input[type="radio"], .wrap-text .table input[type="checkbox"] { transform: scale(1.7); margin-right: 0.7rem; top: 2px; position: relative; }
@-moz-document url-prefix() { .wrap-text .table input[type="radio"], .wrap-text .table input[type="checkbox"] { transform: scale(1.4); margin-right: 0.3rem; top: 0; position: relative; } }
.wrap-text .table label { margin-right: 1rem; font-size: 16px; }
.wrap-text .table strong { padding-left: 1rem; }
.wrap-text .table input[type="text"], .wrap-text .table input[type="tel"], .wrap-text .table input[type="number"], .wrap-text .table input[type="email"], .wrap-text .table textarea { border: 1px solid #CDCDCD; padding: 0.5rem 0.6rem; border-radius: 5px; }
.wrap-text .table input[name="shain_number"], .wrap-text .table .shain_number { width: 130px; }
.wrap-text .table input[name="shain_shozoku1"], .wrap-text .table .p-postal-code { width: 85px; }
.wrap-text .table input[name="shain_number"] { width: 130px; }
.wrap-text .table input[name="shain_number"] { width: 130px; }
.wrap-text .table select { border: 1px solid #ccc; padding: 0.5rem 1rem; border-radius: 5px; background: #fff; min-height: 39px; margin-right: 4px; }
.wrap-text .table .wrap-thumb img { width: 200px; height: 200px; object-fit: cover; }
.wrap-text .table .wrap-thumb:hover { opacity: 0.7; }
.wrap-text .table-responsive::-webkit-scrollbar-thumb { border-radius: 5px; background: #666; }
.wrap-text .table-responsive::-webkit-scrollbar { height: 10px; }
.wrap-text .table-responsive::-webkit-scrollbar-track { margin: 0 2px; background: #ccc; border-radius: 5px; }
.wrap-text .inp_error { border: 1px solid #D9340A !important; background: #FFCACB !important; }
.wrap-text .inp_error_wrap { background: #FFCACB; display: inline-block; padding: 0.3rem; border-radius: 3px; }
.wrap-text .errorMsg { color: #E84444; display: block; position: relative; padding-left: 23px; }
.wrap-text .errorMsg:before { content: ""; position: absolute; top: 8px; left: 0; width: 23px; height: 23px; display: block; background: url("../views/images/icon-attention.svg") no-repeat; background-size: 18px 18px; z-index: 1; }
.wrap-text #btn-more_error { color: #E84444; font-weight: bold; }
.wrap-text .table-check { margin-bottom: 0; }
.wrap-text .table-check th, .wrap-text .table-check td { padding: .6rem .5rem; }
.wrap-text .table-check .require { padding: 0 8px; font-size: 80%; right: 10px; }

.inp_error { border: 1px solid #D9340A !important; background: #FFCACB !important; }

.inp_error_wrap { background: #FFCACB; display: inline-block; padding: 0.3rem; border-radius: 3px; }

.errorMsg { color: #E84444; display: block; position: relative; padding-left: 23px; }
.errorMsg:before { content: ""; position: absolute; top: 8px; left: 0; width: 23px; height: 23px; display: block; background: url("../views/images/icon-attention.svg") no-repeat; background-size: 18px 18px; z-index: 1; }

#result_error { display: inline-block; }
#result_error:before { top: 3px; }

#g-nav { position: fixed; z-index: 999; top: 0; right: 0; width: 100%; height: 100vh; transition: all 0.5s; opacity: 0; z-index: -100; }

.hnav_bg { width: 100%; height: 100%; display: block; background: #000; position: absolute; top: 0; right: 0; opacity: 0.5; z-index: -100; }

#g-nav.panelactive { opacity: 1; z-index: 100; }

#g-nav.panelactive #g-nav-list { position: fixed; z-index: 999; height: 100vh; overflow: auto; -webkit-overflow-scrolling: touch; background: #F2F7F9; min-width: 265px; max-width: 353px; width: calc(100% - 56px); right: 0; }

.openbtn { position: fixed; z-index: 9999; background: #51BA97; cursor: pointer; width: 50px; height: 50px; border-radius: 5px; top: 10px; right: 10px; filter: drop-shadow(0px 4px 0px rgba(0, 0, 0, 0.1)); }

.openbtn.active { right: 27px; }

.openbtn span { display: inline-block; transition: all .4s; position: absolute; left: 14px; height: 2px; border-radius: 5px; background: #fff; width: 45%; }

.openbtn span:nth-of-type(1) { top: 13px; }

.openbtn span:nth-of-type(2) { top: 19px; }

.openbtn span:nth-of-type(3) { top: 25px; }

.openbtn span:nth-of-type(3)::after { content: "各種申請"; position: absolute; top: 2px; left: -14px; color: #fff; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 1px; display: block; width: 50px; text-align: center; }

.admin .openbtn span:nth-of-type(3)::after { content: "メニュー"; }

.openbtn.active span:nth-of-type(1) { top: 14px; left: 18px; transform: translateY(6px) rotate(-45deg); width: 30%; }

.openbtn.active span:nth-of-type(2) { opacity: 0; }

.openbtn.active span:nth-of-type(3) { top: 26px; left: 18px; transform: translateY(-6px) rotate(45deg); width: 30%; }

.openbtn.active span:nth-of-type(3)::after { content: "閉じる"; transform: translateY(0) rotate(-45deg); top: 0px; left: -5px; }

#g-nav { color: #102138; }
#g-nav p { margin: 0; }
#g-nav .name { padding: 1.5rem 2rem 1rem 2rem; }
#g-nav .name p { position: relative; padding-left: 27px; padding-right: 2.5rem; }
#g-nav .name p:before { content: ""; display: inline-block; position: absolute; background: url(../views/images/icon-user_navy.svg) no-repeat left center; background-size: 20.5px 20.5px; width: 20.5px; height: 20.5px; left: 0; top: 1px; }
#g-nav .name span { padding-left: 27px; display: inline-block; color: #9a9898; position: absolute; bottom: -1.3rem; left: 0; font-size: 95%; }
#g-nav .count { padding-left: 1.7rem; border-radius: 6px; margin: 1rem 2rem 1.5rem 2rem; }
#g-nav .count span { display: block; color: #9a9898; font-size: 95%; }
#g-nav .menu { position: relative; background: #F2F7F9; padding: 0; min-height: auto; height: auto; width: 100%; }
#g-nav .nav-links { margin-bottom: 16px; }
#g-nav .nav-links ul a { padding: 0.3rem 0.5rem 0.3rem 23px; }
#g-nav .nav-links ul a:before { top: 12px; }
#g-nav .nav-links ul a:after { top: 10px; }
#g-nav .nav-links ul a[href$=".pdf"]:after { right: -27px; }
#g-nav .nav-links ul { border-top: 1px solid #B9B9B9; border-bottom: 1px solid #B9B9B9; }
#g-nav .nav-links ul:nth-child(2) { border-top: none; }
#g-nav .menu .btn-green { max-width: 192px; margin-bottom: 11px; border: 2px solid #51BA97; }
#g-nav .menu .btn-green:after { right: 10px; }
#g-nav .menu .btn-green:hover { border: 2px solid #102138; }
#g-nav .menu h2:has(.calendar) { margin-bottom: 0; padding-bottom: 0; }

.wrap-about { background: #F5FFFE; min-height: 100vh; padding: 0; position: relative; padding-bottom: 60px; }
.wrap-about .about { margin-top: 10%; width: 80%; margin: 0 auto; max-width: 520px; }
.wrap-about .about p { margin-bottom: 2rem; }
.wrap-about .about p:last-of-type { margin-bottom: 0; }
.wrap-about .logo { width: 320px; height: 96px; display: block; background-image: url(../views/images/logo-login.png); background-size: 320px; background-repeat: no-repeat; background-position: center; margin: 10% auto 10% auto !important; max-width: 320px; }
.wrap-about .wrap-white { background: #fff; padding: 3rem; position: relative; max-width: 520px; border-radius: 30px; }
.wrap-about .wrap-white:before { content: ""; display: inline-block; position: absolute; background: url(../views/images/bird.png) no-repeat center; background-size: 114px; width: 114px; height: 77px; left: -34px; top: -24px; }
.wrap-about .footer { position: absolute; display: block; background-image: url(../views/images/footer-login.png); background-size: 100% auto; background-repeat: no-repeat; background-position: center bottom; bottom: 0; height: 269px; width: 100%; vertical-align: bottom; object-fit: cover; }
.wrap-about .footer .yunikon { content: ""; display: inline-block; position: absolute; background: url(../views/images/yunikon_normal.png) no-repeat center; background-size: 203px; width: 203px; height: 216px; right: 7%; bottom: 8%; }

.wrap-login { min-height: 100vh; color: #313550; }
.wrap-login .wrap-form { width: 80%; margin: 0 auto; margin-top: 12%; max-width: 520px; padding-bottom: 80px; }
.wrap-login h1 { font-size: 170%; margin-bottom: 2rem; }
.wrap-login h5 { font-size: 110%; margin: 1.7rem 0 1rem; }
.wrap-login .note { color: #8E8E8E; margin-top: 0.8rem; }
.wrap-login input[type="text"] { border: 1px solid #C8C8C8; padding: 0.8rem 0.6rem; border-radius: 5px; width: 100%; background-color: #E5F5EF; }
.wrap-login .btn-login { margin-top: 1.3rem; color: #fff; background: #51BA97; padding: 1.2rem 3rem; text-align: center; width: 100%; position: relative; border-radius: 7px; transition: all .2s linear; text-decoration: none; box-shadow: 0 5px 0 #439479; letter-spacing: 0.1rem; }
.wrap-login .btn-login:active { color: #fff; background: #439479; box-shadow: none; transform: translateY(5px); }
.wrap-login .message { border-left: 7px solid #228DC5; background: #F3FEFF; padding: .7rem; color: #313550; }
.wrap-login .errorLogin { border-left: 7px solid #E84444; background: #ffe5e5; padding: .7rem; color: #E84444; }

.wrap-text .table-striped { min-width: 800px; font-size: 90%; }
.wrap-text .table-striped tr { border: none; }
.wrap-text .table-striped th { width: auto; border: 1px solid #e6e6e6; text-align: center; vertical-align: middle; color: #62646e; padding: .5rem 0.3rem; white-space: nowrap; line-height: 103%; }
.wrap-text .table-striped th.odd { background-color: #FFF9AA; }
.wrap-text .table-striped th.even { background-color: #c1ebc2; }
.wrap-text .table-striped td { border: 1px solid #e6e6e6; padding: 0 0.3rem; text-align: left; vertical-align: middle; line-height: 110%; position: relative; }
.wrap-text .table-striped td a[href$=".pdf"] { padding-right: 0; }
.wrap-text .table-striped td a[href$=".pdf"]:after { display: none; }
.wrap-text .table-striped td:last-child { height: 3rem; }
.wrap-text .table-striped td:last-child:before { display: iline-block; float: left; height: 3rem; content: ""; top: 0; right: 0; bottom: 0; left: 0; margin: auto; position: absolute; }
.wrap-text .table-striped td .textarea { max-height: 52px; overflow: auto; line-height: 115%; text-align: left; }
.wrap-text .table-striped td .thumb { transition-duration: .3s; padding-top: 0.2rem; }
.wrap-text .table-striped td .thumb img { width: 60px; height: 60px; object-fit: cover; }
.wrap-text .table-striped td .thumb:hover { opacity: 0.7; }
.wrap-text .table-striped td .row { flex-wrap: initial; padding-bottom: 0.2rem; padding-right: 0.3rem; }
.wrap-text .table-striped td .col-6, .wrap-text .table-striped td .col-4 { box-sizing: border-box; }
.wrap-text .table-striped td .col-6 a, .wrap-text .table-striped td .col-4 a { font-weight: 500; box-sizing: border-box; }
.wrap-text .table-striped td .col-6 p, .wrap-text .table-striped td .col-4 p { display: inline-block; word-break: break-word; width: 60px; }
.wrap-text .table-striped td .col-6:nth-of-type(2) { padding-left: 0; }
.wrap-text .table-striped td .col-6:nth-of-type(2) a { display: block; }
.wrap-text .table-striped td .col-4:nth-of-type(2) { padding-left: 0.4rem; width: 60px; }
.wrap-text .table-striped td .col-4:nth-of-type(2) a { width: 65px; display: block; }
.wrap-text .table-striped td .col-4:nth-of-type(3) { padding-left: .6rem; width: 60px; }
.wrap-text .table-striped td .col-4:nth-of-type(3) a { width: 60px; display: block; }
.wrap-text .table-striped td .mail { word-break: break-all; }
.wrap-text .table-striped .btn-navy { border: 2px solid #102138; font-size: 85%; background: #fff; text-decoration: none; color: #102138; position: relative; padding: 5px; }
.wrap-text .table-striped .btn-navy:hover { background: #cfe1f7; }
.wrap-text .table-striped .btn-red { width: 41px; padding: 0.2rem; z-index: 3; position: relative; }

.table-container-wrap { display: flex; align-items: center; min-height: 50vh; }

.table-container { overflow: auto; height: 50vh; }
.table-container table { margin-bottom: 0; overflow-x: auto; }
.table-container th, .table-container td { padding: 8px; min-width: 5em; text-align: left; border-bottom: 1px solid #ddd; }
.table-container thead { background: #E1E1E1; }
.table-container thead th { position: sticky !important; top: -1px; left: 0; z-index: 10; border-right: 1px solid #c7c7c7; }
.table-container thead th::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.table-container thead th:nth-of-type(-n+8) { z-index: 11; }
.table-container thead th:nth-of-type(-n+8):before { content: ''; position: absolute; top: 0; left: -1px; width: 100%; height: 100%; }
.table-container thead th:nth-of-type(-n+8):after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: #E1E1E1; }
.table-container tbody tr td:nth-of-type(-n+8) { position: sticky; left: 0; z-index: 2; border-left: 1px solid #e6e6e6; table-layout: fixed; }
.table-container tbody tr td:nth-of-type(-n+8):before { content: ''; position: absolute; top: 0; left: -1px; width: 100%; height: 100%; border-left: 1px solid #e6e6e6; }
.table-container tr:hover th, .table-container tr:hover td { color: #333; background-color: #ddd; }
.table-container thead th:nth-of-type(-n+8) { z-index: 11; }
.table-container tbody tr td:nth-of-type(1), .table-container thead th:nth-of-type(1) { left: 0; width: 66px; min-width: 66px; text-align: center; }
.table-container tbody tr td:nth-of-type(1):after, .table-container thead th:nth-of-type(1):after { width: 66px; }
.table-container tbody tr td:nth-of-type(2), .table-container thead th:nth-of-type(2) { left: 66px; width: 95px; min-width: 95px; }
.table-container tbody tr td:nth-of-type(2):after, .table-container thead th:nth-of-type(2):after { width: 95px; }
.table-container tbody tr td:nth-of-type(3), .table-container thead th:nth-of-type(3) { left: 161px; width: 70px; min-width: 70px; text-align: center; }
.table-container tbody tr td:nth-of-type(3):after, .table-container thead th:nth-of-type(3):after { width: 70px; }
.table-container tbody tr td:nth-of-type(4), .table-container thead th:nth-of-type(4) { left: 231px; width: 97px; min-width: 97px; }
.table-container tbody tr td:nth-of-type(4):after, .table-container thead th:nth-of-type(4):after { width: 97px; }
.table-container tbody tr td:nth-of-type(5), .table-container thead th:nth-of-type(5) { left: 328px; width: 85px; min-width: 85px; }
.table-container tbody tr td:nth-of-type(5):after, .table-container thead th:nth-of-type(5):after { width: 85px; }

.wide { height: 70vh; min-height: 70vh; }

.keicho tbody tr td:nth-of-type(6), .keicho thead th:nth-of-type(6) { left: 405px; width: 147px; min-width: 147px; }
.keicho tbody tr td:nth-of-type(6):after, .keicho thead th:nth-of-type(6):after { width: 147px; }
.keicho tbody tr td:nth-of-type(6) .row, .keicho thead th:nth-of-type(6) .row { position: relative; z-index: 3; }

.keicho tbody tr td:nth-of-type(7), .keicho thead th:nth-of-type(7) { left: 552px; width: 83px; min-width: 83px; }
.keicho tbody tr td:nth-of-type(7):after, .keicho thead th:nth-of-type(7):after { width: 83px; }

.keicho tbody tr td:nth-of-type(8), .keicho thead th:nth-of-type(8) { left: 635px; width: 66px; min-width: 66px; }
.keicho tbody tr td:nth-of-type(8):before, .keicho thead th:nth-of-type(8):before { box-shadow: 3px 0px 7px -7px #777; }
.keicho tbody tr td:nth-of-type(8):after, .keicho thead th:nth-of-type(8):after { width: 66px; }

.joseikin tbody tr td:nth-of-type(6), .joseikin thead th:nth-of-type(6) { left: 413px; width: 194px; min-width: 194px; }
.joseikin tbody tr td:nth-of-type(6):after, .joseikin thead th:nth-of-type(6):after { width: 194px; }
.joseikin tbody tr td:nth-of-type(6) .row, .joseikin thead th:nth-of-type(6) .row { position: relative; z-index: 3; }

.joseikin tbody tr td:nth-of-type(7), .joseikin thead th:nth-of-type(7) { left: 607px; width: 83px; min-width: 83px; }
.joseikin tbody tr td:nth-of-type(7):after, .joseikin thead th:nth-of-type(7):after { width: 83px; }

.joseikin tbody tr td:nth-of-type(8), .joseikin thead th:nth-of-type(8) { left: 690px; width: 66px; min-width: 66px; }
.joseikin tbody tr td:nth-of-type(8):before, .joseikin thead th:nth-of-type(8):before { box-shadow: 3px 0px 7px -7px #777; }
.joseikin tbody tr td:nth-of-type(8):after, .joseikin thead th:nth-of-type(8):after { width: 66px; }

#user-update .ui-datepicker-calendar { display: none !important; }

.ui-datepicker .ui-datepicker-next-hover { right: 2px !important; top: 2px !important; }

.ui-datepicker .ui-datepicker-prev-hover { left: 2px !important; top: 2px !important; }

.ui-datepicker .ui-datepicker-prev { border: 1px solid #ccc; right: 1px; }
.ui-datepicker .ui-datepicker-prev span { transform: scaleX(-1); background: url(../views/images/icon-arrow_right_navy.svg) no-repeat; background-position: center; }

.ui-datepicker .ui-datepicker-next { border: 1px solid #ccc; right: 1px; }
.ui-datepicker .ui-datepicker-next span { background: url(../views/images/icon-arrow_right_navy.svg) no-repeat; background-position: center; }

.accordion { font-size: 95%; }

.ui-datepicker { z-index: 20 !important; }

.accordion-button { padding: 0.7rem 1rem; }

.form-search { background: #fff; padding: 1rem 1.5rem 0; border-radius: 15px; }
.form-search input[type="text"], .form-search input[type="tel"], .form-search input[type="number"], .form-search input[type="email"], .form-search textarea { border: 1px solid #CDCDCD; padding: 0.5rem 0.6rem; border-radius: 5px; }
.form-search input[type="number"] { width: 70px; }
.form-search dl { margin-bottom: 0.5rem; }
.form-search select { border: 1px solid #ccc; padding: 0.5rem; border-radius: 5px; background: #fff; min-height: 39px; margin-right: 4px; }
.form-search .calendar { width: 128px; }
.form-search dt { padding-left: 14px; position: relative; }
.form-search dt:before { content: ""; position: absolute; display: inline-block; background: #b7b7b7; width: 8px; height: 8px; border-radius: 50%; left: 0; top: 7px; }

.pager { margin-bottom: .3rem; }
.pager .list-inline-item { vertical-align: top; margin-right: 0; }
.pager a, .pager span { width: 30px; height: 30px; line-height: 30px; border-radius: 5px; display: inline-block; text-align: center; }
.pager a { border: 2px solid #102138; background: #fff; text-decoration: none; }
.pager a:hover { background: #cfe1f7; color: #fff; }
.pager span { border: 2px solid #fff; background: #fff; color: #ccc; }
.pager .page { border: none; background: none; border-radius: 0; color: #313550; min-width: 37px; font-size: 85%; width: auto; }
.pager .last { position: relative; }
.pager .last:before { content: ""; display: inline-block; position: absolute; background: url(../views/images/icon-arrow_double_navy.svg) no-repeat center; background-size: 25px; width: 25px; height: 25px; right: 0; bottom: 0; }
.pager .first { position: relative; }
.pager .first:before { content: ""; display: inline-block; position: absolute; background: url(../views/images/icon-arrow_double_navy.svg) no-repeat center; background-size: 25px; width: 25px; height: 25px; right: 0; bottom: 0; transform: scaleX(-1); }
.pager .prev { position: relative; }
.pager .prev:before { content: ""; display: inline-block; position: absolute; background: url(../views/images/icon-arrow_right_navy.svg) no-repeat center; background-size: 4px; width: 10px; height: 10px; right: 8px; bottom: 7px; transform: scaleX(-1); }
.pager .next { position: relative; }
.pager .next:before { content: ""; display: inline-block; position: absolute; background: url(../views/images/icon-arrow_right_navy.svg) no-repeat center; background-size: 4px; width: 10px; height: 10px; right: 8px; bottom: 7px; }

.toggle-button { display: flex; align-items: center; position: relative; width: 86px; height: 35px; border-radius: 50px; box-sizing: content-box; background-color: #e6e6e6; cursor: pointer; transition: background-color .4s; margin: 0 auto !important; overflow: hidden; letter-spacing: 0; }
.toggle-button input { display: none; }
.toggle-button::before { position: absolute; left: 7px; width: 21px; height: 21px; border-radius: 50%; background-color: #b5b2b2; content: ''; transition: left .4s; }
.toggle-button::after { position: absolute; left: 59px; transform: translateX(-50%); font-weight: 600; font-size: 80%; content: '未確認'; transition: left .4s; width: 49px; }

.toggle-button:has(:checked) { background-color: #75bbff33; }

.toggle-button:has(:checked)::before { left: 58px; background-color: #75bbff; }

.toggle-button:has(:checked)::after { left: 34px; content: '確認済'; color: #313550; }

.wrap-text .btn-red { background: #E84444; color: #fff; border: 2px solid #E84444; text-decoration: none; font-size: 90%; padding: 0.2rem 0.5rem; width: 52px; }
.wrap-text .btn-red:hover { border: 2px solid #E84444; color: #E84444; background: #fff; }

.error { display: block; border-left: 4px solid #E84444; background: #ffe5e5; padding: .7rem; color: #E84444; font-size: 85%; line-height: 135%; margin-bottom: 1rem; }
.error a { color: #E84444; font-weight: 600; }
.error a:hover { color: #e98494; }

.success { display: block; border-left: 4px solid #228DC5; background: #d7f2ff; padding: .7rem; color: #313550; font-size: 85%; line-height: 135%; margin-bottom: 1rem; }

.wrap-light_blue { background-color: #ecfcff; padding: 1.2rem; margin: 1rem; border-radius: 15px; }
.wrap-light_blue p:last-of-type { margin-bottom: 0; }
.wrap-light_blue h4 { margin-top: 0; padding-left: 0; }
.wrap-light_blue h4:before { display: none; }

@media (min-width: 1674px) { .nav-links ul a[href$=".pdf"]:after { right: -16px; } }
@media (max-width: 1199.98px) { header .col-md-9 li { padding-left: 24px; }
  .menu .btn-white { padding: 0.8rem; font-size: 88%; }
  .menu .btn-white:after { right: 5px; top: 19px; }
  .wrap-text .message .shikyugaku dt { width: 50%; } }
@media (max-width: 1095px) { #wrap-sankasha dt, #wrap-sankasha dd { width: 100%; } }
@media (max-width: 991.98px) { .content { width: 100%; min-height: calc(100vh - 70px); }
  .scroll_off { overflow: hidden; }
  .scroll_on { overflow: auto; }
  .menu .copy { margin-bottom: 1rem !important; }
  .message:after { display: none !important; }
  .message li { padding-right: 0 !important; }
  .wrap-text .table label { margin-right: 1rem; font-size: 16px; margin-bottom: 0.9rem; }
  .wrap-about { min-height: auto; }
  .wrap-about .about { width: 90%; min-height: auto; padding-bottom: 132px; }
  .wrap-about .logo { width: 244px; height: 66px; background-size: 244px 66px; margin-top: 10% !important; }
  .wrap-about .wrap-white { padding: 2rem; }
  .wrap-about .wrap-white:before { background-size: 71px; width: 71px; height: 48px; left: -10px; }
  .wrap-about .footer .yunikon { background-size: 164px; width: 164px; height: 175px; }
  .wrap-login { min-height: auto; }
  .wrap-text .message .table th, .wrap-text .message .table td { padding: .7rem; }
  .wrap-text .message .table th { white-space: nowrap; }
  .wrap-text .message dd strong { padding: 0; }
  .wrap-text .message p { line-height: 120%; }
  .wrap-login .wrap-form { width: 90%; padding-bottom: 50px; }
  .display ul li:nth-of-type(even) { width: 100%; }
  .display .calendar { margin-bottom: 1rem; }
  .table-container thead th, .table-container tbody td { position: unset !important; }
  .table-container thead th:before, .table-container tbody td:before { display: none; }
  .table-container thead th:after, .table-container tbody td:after { display: none; } }
@media (max-width: 767.98px) { .wrap-text { padding: 2rem .7rem; }
  .wrap-text form .table tr { margin-bottom: 1rem; display: block; }
  .wrap-text form .table th { padding: 0.8rem 4.2rem 0.8rem 0.8rem; border-bottom: none; background: #dadada; display: block; width: 100%; border: none; }
  .wrap-text form .table td { padding: 0.8rem; display: block; width: 100%; border: none; }
  .wrap-text form .table td span { line-height: 140%; }
  .wrap-text form .table td .errorMsg:before { top: 5px; }
  .wrap-text #ninzu { width: 63px; margin-right: 0.5rem; }
  .wrap-text .message .table tr { border-bottom: 1px solid #ccc; border-top: 1px solid #ccc; }
  .wrap-text .message .table tr { border-bottom: none; border-top: none; }
  .wrap-text .table input[type="text"], .wrap-text .table input[type="tel"], .wrap-text .table input[type="email"], .wrap-text .table textarea, .wrap-text .table input[type="file"] { width: 100%; }
  .wrap-text .table select { padding: 0.5rem; }
  .wrap-text .table .p-postal-code { width: 85px !important; }
  .wrap-text .table .p-region, .wrap-text .table .p-locality { margin-bottom: 0.5rem; }
  .wrap-text .table .shain_kubun label { margin-bottom: 1rem; }
  .wrap-text .table .shain_kubun label:last-of-type { margin-bottom: 0; }
  .wrap-text .table td #wrap-sankasha dl { border-bottom: 1px dashed #ccc; padding-bottom: 0.7rem; }
  .wrap-text .message .shikyugaku dt { width: 100%; }
  .wrap-light_blue { margin: 1rem 0; }
  .table-check th, .table-check td { display: block; width: 100% !important; }
  .table-check tr { border-bottom: 1px solid #F2F7F9 !important; }
  #g-nav .name { padding-left: 1rem; }
  #g-nav .count { margin-left: 1rem; margin-bottom: 1rem; }
  .menu h2 a { padding-left: 48px; }
  .menu h2 a:before { left: 19px; }
  .menu .title { padding-left: 1.2rem; }
  .menu .list-form a[href$=".pdf"]:after { background-position: center; }
  .menu .list-form a { padding: 0.8rem 1rem 0.8rem 1.2rem; font-size: 100%; }
  .menu .list-form a:after { right: 14px; }
  .menu .copy { margin-bottom: 5rem !important; }
  .wrap-text .table-striped .btn-navy { padding: 5px 4px; letter-spacing: 0.04rem; }
  .table-responsive + p { margin-top: 1rem; }
  .wrap-text .table label, .wrap-text .table .inp_error_wrap label { margin-bottom: 0; }
  .wrap-text .table label + label { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; }
  .wrap-text .table .hoken label + label { margin-top: 0.5rem !important; }
  .wrap-text .table #riyo_error label { margin: 0.4rem !important; } }
@media (max-width: 575.98px) { #g-nav .nav-links { padding: 1rem 1.5rem; } }
  .wrap-text .table-striped th.comment{  min-width: 300px;  }
  