@charset "UTF-8";
/* CSS Document */

#page-top {position: fixed;bottom: 40px;right: 40px;width: 60px; z-index:400;}
@media screen and (max-width: 896px) {
	#page-top {position: fixed;bottom: 5px;right: 5px;width: 30px; z-index:400;}
}

.EN {font-family: "Montserrat", serif;}
.mincho {font-family: 'Noto Serif JP', serif;}

.bgWH {background-color: #FFF;}
.bgBL {background-color: #021976;}
.bgGRY {background-color: #EEEEEE;}
.txtWH {color: #FFF;}
.txtBL {color: #021976;}
.txtLBL {color: #63A8DC;}
.bBR {border-color: #BF9D63;}
.bDBL {border-color: #2F3B49;}

.ratioBox {position: relative;width: 100%;height: auto;}
.ratio1-1:before {content: "";display: block;padding-top: 100%; /* 1:1 */}
.ratio2-1:before {content: "";display: block;padding-top: 50%; /* 2:1 */}
.ratio3-2:before {content: "";display: block;padding-top: 66%; /* 3:2 */}
.ratio4-3:before {content: "";display: block;padding-top: 75%; /* 4:3 */}
.ratioInner {position: absolute;top: 0; left: 0;width: 100%;height: 100%;}

#login .container {height: 100vh;}
#login .logo {max-width: 275px; width: 80%;}
#login .w400,#login .containers {position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%);}
.ttlSide {padding: 0 60px;}
.ttlSide::before,.ttlSide::after {position: absolute; content: ''; top: 50%; width: 50px; height: 1px; background: #222;}
.ttlSide::before {left: 0;}
.ttlSide::after {right: 0;}
.login {cursor: pointer; width: 100%; display: block; padding: 13px 10px; margin: 0; border: 1px solid #001976; border-radius: 8px; background: rgb(0,146,229); background: linear-gradient(180deg, rgba(0,146,229) 0%, rgba(0,25,118) 100%); transition: .3s;}
.login:hover {cursor: grab; width: 100%; display: block; padding: 13px 10px; margin: 0; border: 1px solid #001976; border-radius: 8px; background: rgb(0,146,229); background: linear-gradient(0deg, rgba(0,146,229) 0%, rgba(0,25,118) 100%); transition: .3s;}
.login span {padding: 2px 0 0 30px; background: url("../img/cmn/icon_login.svg") no-repeat center left; background-size: 20px; line-height: 24px;}
#eye_btn,#eye_btn_confirm {display: block; width: 24px; height: 18px; background: url("../img/cmn/login_eye01.svg") no-repeat center right; position: absolute; top: 50%; transform: translateY(-50%); right: 20px;}
#eye_btn.eye_appear,#eye_btn_confirm.eye_appear {background: url("../img/cmn/login_eye02.svg") no-repeat center right;}


#header {position: relative; width: 100%; border-bottom: 1px solid #666666;}
.logo {width: 195px; margin: 25px 0 15px 30px;}
.gNav {margin: 20px 60px 0 0;}
.subNav li {margin-left: 20px;}
.subNav li:first-child a {display: block; padding: 4px 25px 3px 25px; border-radius: 15px; border: 1px solid #63A8DC; background: #63A8DC; color: #FFF; line-height: 1.5;}
.subNav li:first-child a:hover {background: #FFF; color: #63A8DC;}
.subNav li:first-child a span {padding-left: 21px; background: url("../img/cmn/icon_logout.svg") no-repeat left center;}
.subNav li:first-child a:hover span {background: url("../img/cmn/icon_logout_bl.svg") no-repeat left center;}
.subNav .headSearch {padding: 5px 15px 3px; width: 200px; line-height: 1.5; border: 1px solid #63A8DC; border-right: none; border-radius: 15px 0 0 15px;}
.subNav input[type="search"] {width: 100%;}
.subNav li .btn {padding: 4px 36px 3px 15px; line-height: 1.5; border-radius: 0 15px 15px 0; border: 1px solid #63A8DC; background: #63A8DC url("../img/cmn/icon_search.svg") no-repeat right 15px center; color: #FFF; cursor: pointer;}
.subNav li .btn:hover {background: #FFF url("../img/cmn/icon_search_bl.svg") no-repeat right 15px center; color: #63A8DC;}
.headBtn {display: flex; flex-direction: column; justify-content: center; padding: 20px 40px; background: #021976; color: #FFF;}
.headBtn span {padding-left: 34px; background: url("../img/cmn/icon_mail_wh.svg") no-repeat left center;}
.headBtn:hover {background: #63A8DC; color: #FFF;}

#hanburger {display: none;}
.menu_button {width: 55px; height: 55px; position: fixed; top: 0; right: 0; background: #021976; z-index: 15;}
#hanburger:checked ~ .menu_button {top: 0;}
#hanburger:checked ~ .span2 {display: none;}
#hanburger:checked ~ .span1 {width: 34px; transform: rotate(45deg); top: 27px; right: 11px;}
#hanburger:checked ~ .span3 {width: 34px; transform: rotate(-45deg); top: 27px; right: 11px;}
.global_menu {visibility: hidden; width: 100%; height: 100%; position: fixed; top: 0; left: 0; color: #222; overflow-y: scroll; background: #FFF;}
.global_menu a {display: block;}
#hanburger:checked ~ .global_menu {visibility: visible;}
.menu {font-size: 18px; /*white-space: nowrap; */line-height: 1.5;}
.menu .pd {display: none;}
.menu:last-child {margin-right: 0px;}
.child_menu {width: 100%; left: 0; color: #222;}
.menu:hover .child_menu {visibility: visible;}
#hanburger,.spOnly {display: none;}
@media screen and (min-width: 896px) {
  .menu_button {display: none;}
  .global_menu {position: inherit; padding: 0; color: #fff; visibility: visible; overflow-y: visible; height: auto; width: auto;}
	.menu_wrap {display: flex; flex-wrap: wrap;}
	.menu {margin-left: 40px;}
	.menu > a {padding: 10px 20px; border-bottom: 4px solid #63A8DC; border-radius: 5px 5px 0 0; font-family: 'Noto Serif JP', serif;}
  .menu:hover > a {background: #63A8DC; color: #FFF;}
  .child_menu {width: 100%; max-width: 1680px; position: absolute; top: 98px; left: 0; right: 0; margin: 0 auto; padding: 20px 10px 5px; color: #222; background: #63A8DC; visibility: hidden; opacity: 0; transition: .5s top, .5s opacity; z-index: 10; display: flex; flex-wrap: wrap;}
  .menu:hover .child_menu {visibility: visible; top: 108px; opacity: 1;}
  .child_menu > li {width: calc(100%/3 - 40px); margin: 0 20px 25px; color: #FFF;}
  .child_menu > li a {position: relative; display: block; padding: 10px 0 10px 20px; background: url("../img/cmn/icon_navi.svg") no-repeat left center; font-weight: 700; color: #FFF; border-bottom: 1px solid #FFF; margin-bottom: 10px;}
	.child_menu > li:nth-child(6) a {background: url("../img/cmn/icon_blank_wh.svg") no-repeat left center;}
	.child_menu > li a::before {position: absolute; content: ''; width: 80px; height: 1px; background: #021976; bottom: -1px; left: 0;}
	.child_menu > li a:hover {background-position: left 5px center;}
	.child_menu > li .dot {font-size: 14px;}
}
@media screen and (max-width: 1200px) {
	.menu {margin-left: 20px;}
	.gNav {margin: 20px 20px 0 0;}
	.headBtn {padding: 20px 20px;}
	.logo {width: 175px; margin: 25px 0 15px 20px;}
}
@media screen and (max-width: 1024px) {
	.menu {font-size: 16px;}
	.headBtn {font-size: 16px;}
	.menu > a {padding: 10px 10px;}
}
@media screen and (max-width: 896px) {
  #header .spOnly {display: block;}
	.headBtn {display: none;}
	.gNav {margin-right: 70px;}
	.logo {width: 125px; margin: 15px 0 15px 20px;}
	.subNav li:first-child {display: none;}
  span.span1,span.span2,span.span3 {width: 29px; height: 1px; background-color: #FFF; position: absolute; right: 13px; transition: .3s; z-index: 100; position: fixed;}
  .span1 {top: 17px;}
  .span2 {top: 27px;}
  .span3 {top: 37px;}
  .menu {display: block;}
  .menu > a {padding: 10px 15px; text-align: left; border-bottom: 1px solid #CCC;}
  .menu > a span {margin-right: 10px; width: 30px!important;}
  .menu > a span img {width: 100%;}
  .global_menu {z-index: 10;}
  .global_menu a {border-top-left-radius: 0; border-top-right-radius: 0;}
  .child_menu > li > a,.child_menu > li > ul > li a {padding: 10px 15px; color: #222; text-align: left; border-bottom: 1px dotted #999;}
  .child_menu > li > ul > li a {padding: 15px 20px 15px 35px; position: relative;}
  .child_menu > li > ul > li:last-child a {border-bottom: 1px solid #CCC;}
  .child_menu > li > ul > li a::before {border-top: solid 1px #222; content: ''; left: 20px; position: absolute; top: 50%; width: 10px;}
  .menu .pd {display: inline-block; width: 100%; position: absolute; top: 0; left: 0; height: 100%;}
  .menu_wrap {display: none;}
  #hanburger:checked ~ * .menu_wrap {display: block; opacity: 1; min-height: 100vh; background: rgba(255,255,255,.8); /*position: fixed;*/ top: 0; z-index: 5;}
  #hanburger:checked ~ * .menu {max-height: inherit; overflow-y: visible; padding: 0; margin-left: 0; position: relative;}
  #hanburger:checked ~ * .child_menu {max-height: 0; overflow-y: hidden; visibility: hidden; text-align: left;}
  .menu .child_menu {border-top: 1px solid #DDD; position: relative; opacity: 1; top: 0; margin-left: auto; left: auto; width: auto;}
  .child_menu li {display: block;}
  .menu > label:hover {cursor: pointer; cursor: hand;}
  .menu input[type="checkbox"]:checked ~ .child_menu {max-height: inherit!important; overflow-y: visible; visibility: visible!important;}
  /*
  .angletoggle:before {content: "\f107";}
  #nav input[type="checkbox"]:checked ~ * .angletoggle:before {content: "\f106";}
  */
}
@media screen and (max-width: 530px) {
	.logo {margin-bottom: 0;}
	.headNav {width: 100%;}
	.gNav {margin: 10px 0;}
	.subNav li {width: calc(100% - 40px); margin: 0 20px;}
}

footer {background: #63A8DC;}
footer .container {padding: 50px 0;}
footer dt {margin-right: 15px; width: 120px;}
.ftNav {width: calc(100% - 400px);}
.ftNav li:not(:first-child) {margin-left: 20px;}
.ftNav li a {color: #FFF;}
.ftNav li a:hover {text-decoration: underline;}
.ftContact {background: #FFF; border-radius: 20px; color: #63A8DC; border: 1px solid #FFF;}
.ftContact span {padding-left: 30px; background: url("../img/cmn/icon_mail_lbl.svg") no-repeat left center;}
.ftContact:hover {background: #63A8DC; color: #FFF;}
.ftContact:hover span {background: url("../img/cmn/icon_mail_wh.svg") no-repeat left center; background-size: 20px auto;}
.footCopy {text-align: center; background: #FFF; padding: 15px;}
.footCopy small {font-size: 14px;}
#ftNavi {display: none;}
@media screen and (max-width: 950px) {
  footer .logo {width: 300px;}
}
@media screen and (max-width: 896px) {
	footer {margin-bottom: 50px; padding: 40px 0;}
  footer #fnavi {width: 100%;}
	.ftNav {width: 100%; margin: 10px 0;}
	.ftNav ul {justify-content: flex-start;}
	.ftNav li:not(:first-child) {margin-left: 0;}
	.ftNav li:not(:last-child) {margin-right: 20px;}
	#ftNavi {display: block; background: #021976; position: fixed; z-index: 5; bottom: 0; border-top: 1px solid #FFF; width: 100%;}
	#ftNavi ul {text-align: center; font-size: 10px; font-weight: bold; display: flex; flex-wrap: wrap;}
	#ftNavi li {letter-spacing: normal; width: calc(100%/3);}
	#ftNavi li a {display: block; padding: 5px 0; color: #FFF; border-left: 1px solid #0224AC; border-right: 1px solid #02114D;}
	#ftNavi li:first-child a {border-left: none;}
	#ftNavi li:last-child a {border-right: none;}
	#ftNavi li span {width: 24px; margin: 0 auto 5px; display: block;}
}
@media screen and (max-width: 530px) {
  footer #fnavi ul > li,footer #fnavi ul > li:last-child {margin: 0 10px 10px 10px;}
  footer #fnavi ul > li:first-child {margin: 0 0 10px 0; display: block;}
  footer #fnavi ul > li::after {right: -10px;}
  footer #fnavi ul > li:first-child::after {background-color: #FFF; width: 0; right: 0;}
}

.w960 {width: calc(100% - 40px); max-width: 960px; padding-left: 0; padding-right: 0;}
.w1360 {width: 100%; max-width: 1366px;}
.container {width: 100%; max-width: 1212px; padding-left: 0; padding-right: 0;}
.containers {width: calc(100% - 40px); max-width: 888px; padding-left: 0; padding-right: 0;}
.mlr,.container,.containers,.w1360 {margin-left: auto; margin-right: auto;}
.mla {margin-left: auto;}
.mra {margin-right: auto;}
.mta {margin-top: auto;}
.mba {margin-bottom: auto;}
.mlr5 {margin-left: 5px; margin-right: 5px;}
.mlr20,.col1,.col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54 {margin-left: 20px; margin-right: 20px;}
.col1 {width: calc(16.6666% - 40px);}
.col2,.box3 {width: calc(33.3333% - 40px);}
.col3 {width: calc(50% - 40px);}
.col4 {width: calc(66.6666% - 40px);}
.col5 {width: calc(83.3333% - 40px);}
.col6 {width: calc(100% - 40px);}
.box4 {width: calc(25% - 30px); margin-left: 15px; margin-right: 15px;}
.w400 {max-width: 400px; width: 100%;}
.w300 {max-width: 300px; width: 100%;}
.w240 {max-width: 240px; width: 100%;}
.full {width: 100%;}
.half {width: 50%;}
.half-5 {width: calc(50% - 5px);}
.w46 {width: calc(46% - 50px);}
.w54 {width: calc(54% - 50px);}
@media screen and (max-width: 896px) {
  .containers {width: calc(100% - 30px);}
  .mlr20,.col1,.col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54 {margin-left: 15px; margin-right: 15px;}
  .col1 {width: calc(16.6666% - 30px);}
  .col2,.box3 {width: calc(33.3333% - 30px);}
  .col3 {width: calc(50% - 30px);}
  .col4 {width: calc(66.6666% - 30px);}
  .col5 {width: calc(83.3333% - 30px);}
  .col6 {width: calc(100% - 30px);}
  .w46 {width: calc(46% - 30px);}
  .w54 {width: calc(54% - 30px);}
}
@media screen and (max-width: 568px) {
  .col1 {width: calc(33.3333% - 30px);}
  .col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54 {width: calc(100% - 30px);}
  .mlr5 {margin-left: 5px; margin-right: 5px;}
  .box4 {width: calc(50% - 20px); margin-left: 10px; margin-right: 10px;}
}

ul.dot {list-style: disc; margin-left: 1.5em;}
ul.num {list-style: decimal; margin-left: 1.5em;}

table {width: 100%;}
table tr:nth-child(odd) {background-color: #FFF;}
table tr:nth-child(even) {background-color: #EEEEEE;}
table th,table td {padding: 10px 20px; line-height: 1.7; text-align: center; border: 1px solid #CCCCCC;}
table.tblGR th {width: 25%; background: #4A8308; color: #FFF;}
table.tblGR2 th {width: 280px; background: #4A8308; color: #FFF;}
table.tblGR2 td {text-align: left; width: calc(100% - 250px);}
@media screen and (max-width: 568px) {
  table.tblGR th,table.tblGR td {padding: 10px 5px;}
  table.tblGR2 th,table.tblGR2 td {width: 100%; display: block;}
  table.tblGR2 td {border-top: none;}
}

.sideNav {width: 240px; position: sticky; top: 0;}
.sideNav {background: #021976; border-radius: 5px 5px 0 0; padding-top: 10px;}
.sideNav li {border-bottom: 1px solid #63A8DC;}
.sideNav li a {padding: 15px 45px 15px 20px; color: #021976; background: #EEE; position: relative; display: block;}
.sideNav li a::after,.sideNav li a::before {position: absolute; content: ''; top: 50%; transform: translateY(-50%); transition: .3s;}
.sideNav li a::after {width: 25px; height: 25px; border-radius: 50%; right: 20px; border: 1px solid #021976;}
.sideNav li a::before {width: 15px; height: 5px; right: 25px; background: url("../img/cmn/arrow_bl.svg") no-repeat; background-size: cover;}
.sideNav li a:hover {background: #63A8DC; color: #FFF;}
.sideNav li a:hover::after {right: 10px; border: 1px solid #FFF;}
.sideNav li a:hover::before {right: 15px; background: url("../img/cmn/arrow_wh.svg") no-repeat;}
.sideContents {width: calc(100% - 300px);}
@media screen and (max-width: 896px) {
	.sideNav,.sideContents {width: 100%; position: relative;}
}

.btnCmn {display: inline-block;}
.btnCmn a,#mailform .btnBL,#mailform .btnGRY {line-height: 1.5; display: block; padding: 20px 30px;}
footer .btnCmn a {padding: 9px 30px;}
.btnCmn span {padding-left: 35px; position: relative;}
.btnBL,.btnGR,#mailform .btnBL,#mailform .btnGRY {display: block; color: #FFF; background: #021976; border: 1px solid #021976; border-radius: 35px;}
.btnGR {background: #35AAA6; border: 1px solid #35AAA6;}
#mailform .btnGRY {background: #999; border: 1px solid #999;}
.btnBL:hover,#mailform .btnBL:hover {color: #021976; background: #FFF;}
.btnGR:hover {color: #35AAA6; background: #FFF;}
#mailform .btnGRY:hover {color: #999; background: #FFF;}
.arrow::before,.arrow::after,.arrowBack::before,.arrowBack::after,.more::before,.more::after {position: absolute; content: ''; top: 50%; transform: translateY(-50%); transition: .3s;} 
.arrow::after,.arrowBack::after,.more::after {width: 25px; height: 25px; border-radius: 50%; left: 0; border: 1px solid #021976; background: #FFF;}
.arrow::before,.arrowBack::before {width: 15px; height: 5px; left: 5px; background: url("../img/cmn/arrow_bl.svg") no-repeat; background-size: cover; z-index: 1;}
.arrowBack::before {background: url("../img/cmn/arrow_bl_back.svg") no-repeat;}
.more::before {width: 15px; height: 15px; left: 5px; background: url("../img/cmn/more_bl.svg") no-repeat; background-size: cover; z-index: 1;}
.btnBL:hover .arrow::after,.btnBL:hover .arrowBack::after,.btnBL:hover .more::after {border: 1px solid #FFF; background: #021976;}
.btnBL:hover .arrow::before {background: url("../img/cmn/arrow_wh.svg") no-repeat;}
.btnBL:hover .arrowBack::before {background: url("../img/cmn/arrow_wh_back.svg") no-repeat;}
.btnBL:hover .more::before {background: url("../img/cmn/more_wh.svg") no-repeat;}
.file {background: url("../img/cmn/icon_file_wh.svg") no-repeat;}
.btnBL:hover .file {background: url("../img/cmn/icon_file_bl.svg") no-repeat;}
.mail {background: url("../img/cmn/icon_mail_wh.svg") no-repeat;}
.btnGR:hover .mail {background: url("../img/cmn/icon_mail_gr.svg") no-repeat;}
.arrow.next {padding-left: 0; padding-right: 35px;}
.arrow.next::before {left: inherit; right: 5px;}
.arrow.next::after {left: inherit; right: 0;}
.movie {background: url("../img/cmn/icon_movie_wh.svg") no-repeat;}
.btnBL:hover .movie {background: url("../img/cmn/icon_movie_bl.svg") no-repeat;}
#mailform .btnBL,#mailform .btnGRY {cursor: pointer;}
@media screen and (max-width: 896px) {
	.btnCmn a,#mailform .btnBL,#mailform .btnGRY {padding: 15px 20px;}
}

.iconGood {width: 72px; padding: 10px 0;}
.btnGood {background: none; cursor: pointer;}
.mr20 {margin-right: 20px;}
.mr30 {margin-right: 30px;}
.r10 {border-radius: 10px;}

.ttlSideBdr {position: relative; margin-bottom: 30px;}
.ttlSideBdr span {padding: 0 15px; margin-left: 30px; background: #FFF; position: relative; z-index: 1;}
.ttlSideBdr span.txt {padding: 0; margin-left: 0; font-size: 70%;}
.ttlSideBdr::before {position: absolute; content: ''; width: 100%; height: 1px; background: #222; top: 50%; left: 0;}
.ttlCnr {padding: 10px 30px; background-image: url("../img/cmn/cnr01.svg"),url("../img/cmn/cnr02.svg"); background-position: left top, bottom right; background-repeat: no-repeat; margin-bottom: 30px;}
.ttlDbl {position: relative; padding-bottom: 15px; margin-bottom: 20px; border-bottom: 1px solid #63A8DC;}
.ttlDbl::before {position: absolute; content: ''; width: 200px; height: 1px; background: #021976; bottom: -1px; left: 0;}

#kv {margin-bottom: 80px;}
#kv.topKv {margin-bottom: 0;}
.kvImg {padding: 50px 0; position: relative;}
.kvImg .objFit {position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1;}
.ttlKv {padding: 15px 20px; background: rgba(99,168,220,.9); border-radius: 10px; max-width: 560px; width: 100%;}
.ttlKv h1 {padding-bottom: 10px; border-bottom: 1px solid #FFF;}
.searchArea {padding: 15px 30px; background: #021976; border-radius: 10px;}
.searchArea dl {margin: 0 10px 10px;}
.searchArea dl dt {color: #FFF; margin-bottom: 5px;}
.searchArea .w600 {width: 620px;}
.searchArea .block3 {width: calc(100%/3 - 7px);}
.searchArea .btn,.searchArea .btnClear {width: 100%; border-radius: 8px; background: #35AAA6; color: #FFF; text-align: center; padding: 6px 9px 5px; /*margin: 0 10px;*/ cursor: pointer; border: 1px solid #35AAA6;}
.searchArea .btnClear {background: #CCC; color: #222; border: 1px solid #CCC;}
.searchArea .btn:hover,.searchArea .btnClear:hover {background: #FFF; color: #35AAA6;}
.searchArea .btn,.searchArea .formSelect {box-shadow: 0 0 3px rgba(0,0,0,.8);}
#kv.noImg  {padding: 80px 0; border-bottom: 1px solid #CCCCCC;}
#kv.noImg h1 {max-width: 480px; width: 100%; border-bottom: 1px solid #021976; padding-bottom: 15px;}
@media screen and (max-width: 1000px) {
	.searchArea dl.w300,.searchArea dl.w240 {width: calc(100%/3 - 20px); max-width: none;}
	.searchArea dl.w600 {width: 100%;}
	.searchArea div.w240 {margin: 10px auto;}
}
@media screen and (max-width: 896px) {
	.kvImg,#kv.noImg {padding: 30px 0;}
	.searchArea {padding: 15px 10px;}
	.searchArea dl.w300,.searchArea dl.w240 {width: calc(100% - 20px);}
}
@media screen and (max-width: 500px) {
	.searchArea .block3 {width: 100%; margin-bottom: 10px;}
}

.bread {position: relative; z-index: 1;}
.bread li:not(:last-child) {padding-right: 16px; margin-right: 8px; background: url("../img/cmn/icon_bread.svg") no-repeat right center;}
.bread li a {text-decoration: underline;}

.bdrLBLbtm {border-bottom: 1px solid #63A8DC;}
.bdrGRYbtm {border-bottom: 1px solid #CCC;}
.bdrDGRYbtm {border-bottom: 1px solid #999;}
.notes {margin-bottom: 5px;}
.notes dt,.notes dd {margin-bottom: 10px;}
.notes dt {padding: 0 15px; color: #63A8DC; border-left: 1px solid #63A8DC; border-right: 1px solid #63A8DC; margin-right: 15px;}
.notes dd:not(:last-child) {margin-right: 40px;}

.catIcon {margin-bottom: 10px;}
.catIcon li {min-width: 100px; text-align: center; margin: 0 10px 10px 0; padding: 5px 20px; color: #FFF; border-radius: 15px; line-height: 1.5; background: #63A8DC;}

#top01 .col6 {padding: 30px 40px; box-shadow: 0 0 6px rgba(0,0,0,.3);}
#top01 .tab {margin-left: -15px; margin-right: -15px;}
#top01 .tab li {width: calc(25% - 30px); margin: 0 15px 10px;}
#top01 .tab li a {display: block; padding: 5px 20px; border-radius: 20px; border: 1px solid #63A8DC; background: #63A8DC; color: #FFF; text-align: center;}
#top01 .tab li a:hover {background: #FFF; color: #63A8DC;}
#top01 .tab li.current a {background: #021976; border: 1px solid #021976; font-weight: 700;}
#top01 .tab li.current a:hover {color: #FFF;}
.news li {border-bottom: 1px solid #CCC;}
.news .newsCat {width: 140px; margin: 0 20px; border: 1px solid #63A8DC; color: #63A8DC; background: #FFF; text-align: center; border-radius: 12px; line-height: 22px; font-size: 12px;}
.news a {padding: 20px 35px 20px 0; background: #FFF; position: relative;}
.news a:hover {background: #EEE;}
.news a::before,.news a::after {position: absolute; content: ''; top: 50%; transform: translateY(-50%); right: 0; transition: .3s;}
.news a::after {width: 25px; height: 25px; border-radius: 50%; border: 1px solid #021976;}
.news a::before {width: 15px; height: 5px; right: 5px; background: url("../img/cmn/arrow_bl.svg") no-repeat; background-size: cover;}
.news a:hover::after {right: 10px;}
.news a:hover::before {right: 15px;}
.result a {display: block; padding: 20px 0 0; border-bottom: 1px solid #CCC;}
.result a:hover {background: #EEE;}
@media screen and (max-width: 1060px) {
	#top01 .tab li {width: calc(100%/3 - 30px);}
}
@media screen and (max-width: 896px) {
	#top01 .col6 {padding: 20px;}
	#top01 .tab {margin-left: -10px; margin-right: -10px;}
	#top01 .tab li {width: calc(100%/3 - 20px); margin: 0 10px 10px;}
}
@media screen and (max-width: 660px) {
	#top01 .tab li {width: calc(50% - 20px);}
}
@media screen and (max-width: 455px) {
	#top01 .tab li {width: calc(100% - 20px);}
}

.resultData {border-bottom: 1px solid #CCC; padding-bottom: 30px;}
.resultData > dt {width: 100px; padding-right: 30px; border-right: 1px solid #222;}
.resultData > dd {width: calc(100% - 100px); padding-left: 30px;}
.resultData > dd > dl dt {width: 100px; padding-right: 20px; margin-bottom: 10px;} 
.resultData > dd > dl dd {width: calc(100% - 100px); margin-bottom: 10px;} 
.resultData > dd > dl dt:last-of-type,.resultData > dd > dl dd:last-of-type {margin-bottom: 0;}

.pageNav li {margin: 0 5px 10px;}
.pageNav li a,.pageNav li.current {display: block; width: 35px; line-height: 35px; border-radius: 50%; border: 1px solid #021976; background: #021976; color: #FFF; text-align: center; font-size: 18px; font-weight: 600; font-family: "Montserrat", serif;}
.pageNav li a:hover,.pageNav li.current {background: #FFF; color: #021976;}
.pageNav li a.prev,.pageNav li a.next {width: auto; padding: 0 15px; border-radius: 20px; font-size: 14px; font-family: "Noto Sans JP", serif; font-weight: 700;}
.pageNav li a.prev span,.pageNav li a.next span {position: relative; padding-left: 30px;}
.pageNav li a.next span {padding-left: 0; padding-right: 30px;}
.pageNav li a span::before,.pageNav li a span::after {position: absolute; content: ''; top: 50%; transform: translateY(-50%);}
.pageNav li a span::before {width: 21px; height: 21px; border-radius: 50%; background: #FFF;}
.pageNav li a span::after {width: 11px; height: 5px;}
.pageNav li a.prev span::before {left: 0;}
.pageNav li a.next span::before {right: 0;}
.pageNav li a.prev span::after {background: url("../img/cmn/arrow_bl_back.svg") no-repeat; background-size: cover; left: 5px;}
.pageNav li a.next span::after {background: url("../img/cmn/arrow_bl.svg") no-repeat right; background-size: cover; right: 5px;}
.pageNav li a:hover span::before {background: #021976;}
.pageNav li a.prev:hover span::after {background: url("../img/cmn/arrow_wh_back.svg") no-repeat; background-size: cover;}
.pageNav li a.next:hover span::after {background: url("../img/cmn/arrow_wh.svg") no-repeat right; background-size: cover;}

.post p:not(:last-child) {margin-bottom: 15px;}
.postImg {margin-left: -15px; margin-right: -15px;}
.postImg li {width: calc(100%/3 - 30px); margin: 0 15px 20px;}
.postBtn li {margin: 0 30px 30px 0;}
@media screen and (max-width: 568px) {
	#top01 .tab li {width: calc(50% - 20px);}
	.postImg {margin-left: 0; margin-right: 0;}
	.postImg li {width: 100%; margin: 0 0 20px;}
}

.modal {padding: 200px 0;}
.modalOpen {cursor: pointer;}
.modalWrap {display: none; position: fixed; top: 0; left: 0; z-index: 10; width: 100%; height: 100%;}
.modalLayer {height: 100%; background: rgba(34,34,34,.6); cursor: pointer;}
.modalContainer {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: calc(100% - 40px); max-width: 848px; max-height: 600px; /*height: calc(100vh - 160px); */padding: 30px 40px; background: #FFF; border-radius: 10px; box-shadow: 3px 3px 6px rgba(0,0,0,.6);}
.modalInner {position: relative; max-height: 540px; overflow-y: scroll;}
.modalClose {position: absolute; top: 20px; right: 20px; width: 60px; height: 60px; padding: 35px 0 10px; text-align: center; color: #FFF; background: #021976; cursor: pointer; transition: opacity .6s; border-radius: 50%; font-weight: 700; font-size: 12px; z-index: 2;}
.modalClose:hover {opacity: .6;}
.modalClose:before,.modalClose:after {position: absolute; top: 20px; left: 50%; width: 20px; height: 2px; background: #fff; content: '';}
.modalClose:before {transform: translateX(-50%) rotate(45deg);}
.modalClose:after {transform: translateX(-50%) rotate(-45deg);}
.modalInner .ttlSideBdr::before {width: calc(100% - 100px);}

#akahon .container {position: absolute; top: 28.8%; left: 0; right: 0; z-index: 1; height: 71.2%;}
#akahon .modalList {position: relative; height: 100%;}
#akahon .modalOpen {position: absolute; width: 240px; background: #FFF; border-radius: 8px; border: 1px solid #FFF; box-shadow: 0 0 3px rgba(0,0,0,.8); padding: 10px 20px; transition: .3s;}
#akahon .modalOpen:hover {background: #222; color: #FFF;}
#akahon .modalOpen::before,#akahon .modalOpen::after {position: absolute; content: ''; top: 50%; transform: translateY(-50%); right: 20px; z-index: 2; transition: .3s;}
#akahon .modalOpen::before {width: 22px; height: 22px; border-radius: 50%; background: #222;}
#akahon .modalOpen::after {width: 12px; height: 12px; background: url("../img/cmn/more_wh.svg") no-repeat; background-size: cover; right: 25px;}
#akahon .modalOpen:hover::before {background: #FFF;}
#akahon .modalOpen:hover::after {background: url("../img/cmn/more_bk.svg") no-repeat; background-size: cover;}
#akahon .modalOpen:first-child {left: 3.5%;}
#akahon .modalOpen:nth-child(2) {right: 14%;}
#akahon .modalOpen:nth-child(3) {right: 53.5%; top: 12.3%;}
#akahon .modalOpen:nth-child(4) {left: 10.6%; top: 27.15%;}
#akahon .modalOpen:nth-child(5) {left: 3.5%; bottom: 37%;}
#akahon .modalOpen:nth-child(6) {right: 46.3%; bottom: 29.5%;}
#akahon .modalOpen:last-child {right: 0; bottom: 34%;}
.areaList {margin-left: -10px; margin-right: -10px; margin-top: -20px;}
.areaList li {width: calc(100%/3 - 20px); margin: 0 10px; border-bottom: 1px solid #EEE;}
.areaList li a {display: block; padding: 20px 0; position: relative;}
.areaList li a:hover {background: #EEE;}
.areaList li a::before,.areaList li a::after {position: absolute; content: ''; top: 50%; transform: translateY(-50%); right: 0;}
.areaList li a::before {width: 25px; height: 25px; border-radius: 50%; border: 1px solid #021976;}
.areaList li a::after {width: 15px; height: 5px; background: url("../img/cmn/arrow_bl.svg") no-repeat; background-size: cover; right: 5px;}
.areaList li a:hover::before {background: #021976;}
.areaList li a:hover::after {background: url("../img/cmn/arrow_wh.svg") no-repeat; background-size: cover; right: 5px;}

#statistical {margin-top: -110px;}
#statistical .container {position: absolute; top: 10%; left: 0; right: 0; z-index: 1; height: 90%;}
#statistical .col6 {height: 100%;}
#statistical li {width: 240px; margin-bottom: 15px;}
#statistical li a {display: block; background: #FFF; border-radius: 8px; border: 1px solid #FFF; box-shadow: 0 0 3px rgba(0,0,0,.8); padding: 8px 20px; transition: .3s; position: relative;}
#statistical li a:hover {background: #021976; color: #FFF;}
#statistical li a::before,#statistical li a::after {position: absolute; content: ''; top: 50%; transform: translateY(-50%); right: 20px; z-index: 2; transition: .3s;}
#statistical li a::before {width: 25px; height: 25px; border-radius: 50%; background: #FFF; border: 1px solid #021976;}
#statistical li a::after {width: 15px; height: 5px; background: url("../img/cmn/arrow_bl.svg") no-repeat; background-size: cover; right: 25px;}
#statistical li a:hover::before {background: #021976; border: 1px solid #FFF;}
#statistical li a:hover::after {background: url("../img/cmn/arrow_wh.svg") no-repeat; background-size: cover;}
#statistical ul {position: absolute;}
#statistical .area01 {top: 0; left: 0;}
#statistical .area02 {top: 0; right: calc(50% + 20px);}
#statistical .area03 {top: 0; right: 10.5%;}
#statistical .area04 {top: 30%; left: 50%;}
#statistical .area05 {top: 42.5%; left: 23.8%; width: 510px;}
#statistical .area05 li {margin-right: 15px;}
#statistical .area06 {top: 42.5%; right: 4.5%;}
#statistical .area07 {bottom: 20%; left: 0;}
#statistical .area08 {bottom: 15%; right: 45%;}
#statistical .area09 {bottom: 15%; right: 4.5%;}

.acInner,.acInnerCat {display: none;}
.acOpen,.acOpenCat {position: relative; cursor: pointer;}
.acOpen.toc {display: inline-block; background: #999; padding: 10px 30px; border-radius: 10px; color: #FFF;}
.acOpen.toc.open {border-radius: 10px 10px 0 0;}
.acOpen.toc span {position: relative; padding-right: 35px;}
.acOpen.toc span::before,.acOpen.toc span::after {position: absolute; content: ''; background: #FFF; top: 50%; transform: translateY(-50%); right: 0;}
.acOpen.toc span::before {width: 15px; height: 1px;}
.acOpen.toc span::after {width: 1px; height: 15px; right: 7px;}
.acOpen.toc.open span::after {content: none;}
.acInner.toc {padding: 40px 30px 20px; background: #EEE; border-radius: 0 10px 10px;}
.acInner.toc p {margin-bottom: 30px;}
.acInner.seminar {padding: 40px 30px 20px; background: #D9EFFB; margin-top: -20px; margin-bottom: 30px;}
.acWrap.djchousa {margin-top: -60px;}
@media screen and (max-width: 896px) {
	.acWrap.djchousa {margin-top: 0;}
	.acInner.toc,.acInner.seminar {padding: 20px;}
}

.acOpen.seminar span {padding-right: 34px; width: 100%; display: block;}
.acOpen.seminar span::before,.acOpen.seminar span::after {position: absolute; content: ''; top: calc(50% - 7px); transform: translateY(-50%); right: 0; background: #021976;}
.acOpen.seminar span::before {width: 24px; height: 2px;}
.acOpen.seminar span::after {width: 2px; height: 24px; right: 12px;}
.acOpen.seminar.open span::after {content: none;}

.searchCat {position: absolute; top: 0; left: 0; width: 100%; background: #FFF; border-radius: 8px; z-index: 3;}
.searchCat .acOpen,.searchCat .acOpenCat,.searchCat .acInnerCat li {padding: 8px 20px;}
.searchCat .acOpenCat {display: block; position: relative; border-top: 1px solid #CCC;}
.searchCat .acOpen::before,.searchCat .acOpenCat::before {position: absolute; content: ''; width: 12px; height: 10px; right: 10px; top: 14px; background: url("../img/cmn/select_arrow.svg") no-repeat right center; background-size: cover;}
.searchCat .acOpen.open::before,.searchCat .acOpenCat.open::before {background: url("../img/cmn/select_arrow_close.svg") no-repeat right center;}
.searchCat .acInnerCat li {border-top: 1px solid #CCC; position: relative; background: #EEE;}
.searchCat .acInnerCat li:hover {background: #999; color: #FFF;}

.blankLink {position: relative; padding-right: 210px;}
.blankLink span {position: absolute; top: 50%; transform: translateY(-50%); right: 30px;}
.blankLink span a {display: block; padding: 8px 40px 8px 20px; background: #FFF url("../img/cmn/icon_blank_bl.svg") no-repeat right 20px center; border: 1px solid #FFF; border-radius: 8px; font-size: 14px; color: #021976; font-family: "Noto Sans JP", serif; font-weight: 400;}
.blankLink span a:hover {background: #021976 url("../img/cmn/icon_blank_wh.svg") no-repeat right 20px center; color: #FFF;}

.seminarCat {padding: 0 20px; border: 1px solid #021976; border-radius: 15px; margin-bottom: 15px; line-height: 28px; margin-right: 30px;}

#researcher .col2 {border: 1px solid #021976; box-shadow: 2px 2px 3px rgba(0,0,0,.3); padding: 20px 20px 30px;}
#researcher .col2 li {padding: 0 20px; border: 1px solid #021976; border-radius: 15px; margin-bottom: 10px; line-height: 28px; margin-right: 10px;}
#researcher .col2 li:last-child {margin-right: 0;}
.researcherList {display: none; width: 100%;}
#areaFullOpen,#areaFullClose {padding: 20px 60px 20px 30px; position: relative; cursor: pointer;}
.researcherList.active {display: block;}
#researcher .ttlCnr {position: relative; cursor: pointer;}
#researcher .ttlCnr::before,#researcher .ttlCnr::after,#areaFullOpen::before,#areaFullOpen::after,#areaFullClose::before,#areaFullClose::after {position: absolute; content: ''; background: #FFF; top: 50%; transform: translateY(-50%);}
#areaFullOpen:hover::before,#areaFullOpen:hover::after,#areaFullClose:hover::before,#areaFullClose:hover::after {background: #021976;}
#researcher .ttlCnr::before,#areaFullOpen::before,#areaFullClose::before {width: 20px; height: 2px; right: 30px;}
#researcher .ttlCnr::after,#areaFullOpen::after {width: 2px; height: 20px; right: 39px;}
#areaFullOpen::before,#areaFullClose::before {right: 20px;}
#areaFullOpen::after {right: 29px;}
#researcher .ttlCnr.active::after {content: none;}

#kanko .col2 {border: 1px solid #021976; box-shadow: 2px 2px 3px rgba(0,0,0,.3);}
#kanko .col2 a {display: block; padding: 20px 20px 20px;}
#kanko .col2 h2 {background: #021976; padding: 5px 15px; color: #FFF;}
#kanko .col2 a:hover {background: #EEE;}

.faqLink {margin-left: 20px;}
.faqLink a {padding: 5px 20px; border: 1px solid #021976; background: #FFF; border-radius: 5px; color: #021976;}
.faqLink a:hover {background: #021976; color: #FFF;}

