@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: "EB Garamond", serif; font-weight: 500;}
.mincho {font-family: 'Noto Serif JP', serif;}
.rubik {font-family: "Rubik", sans-serif; font-weight: 700;}
#en .mincho {font-family: "EB Garamond", serif; font-weight: 500;}
#zh-cn .mincho {font-family: "Noto Serif SC", serif;}

.bgWH {background-color: #FFF;}
.bgBR {background-color: #D88D00;}
.bgBE {background-color: #FBF3E5;}
.bgGR {background-color: #50B5C3;}
.bgGRY {background-color: #EEEEEE;}
.txtWH {color: #FFF;}
.txtBL {color: #0175CC;}
.txtGR {color: #50B5C3;}
.bBR {border-color: #BF9D63;}
.bDBL {border-color: #2F3B49;}

.clone-nav {position: fixed;top: 0;left: 0;z-index: 2; width: 100%; transition: .3s; transform: translateY(-100%);}
.is-show {transform: translateY(0);}
.clone-nav {text-align: center; width: 100%; background: #FFF;}

.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%;}

#header {position: relative; width: 100%; border-bottom: 1px solid #63A8DC;}
#header .logo {width: 430px;}
#en #header .logo {width: 345px;}
#header .logo a {display: block; padding: 25px;}
.headNav {width: calc(100% - 430px);/* border-left: 1px solid #67AFE1;*/}
#en .headNav {width: calc(100% - 345px);}
.subNav {padding: 15px 40px 15px 0;}
.subNav li {margin-left: 20px;}
.subNav li:first-child {margin-right: 10px; margin-left: 0;}
.subNav li.home a {padding-left: 21px; background: url("../img/cmn/icon_home.svg") no-repeat left center;}
.subNav li.home a:hover {border-bottom: 1px solid #222;}
.subNav li.lang {background: #CCCCCC; border-radius: 5px;}
.subNav li.lang .txt700 {display: inline-block; width: 30px; padding: 5px 0; text-align: center; background: #021976; border-radius: 5px 0 0 5px; line-height: 20px;}
.subNav li.lang .mincho {display: inline-block; padding: 5px 20px; border-radius: 0 5px 5px 0; line-height: 18px;}
.headNav .headSearch {padding: 3px 10px 5px; width: 175px; line-height: 1.5; border: 1px solid #0175CC; border-right: none; border-radius: 15px 0 0 15px;}
.headNav input[type="search"] {width: 100%; border: none; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.headNav input[type="search"]::placeholder {font-size: 14px;}
.headNav li .btn {padding: 4px 36px 3px 15px; line-height: 1.5; border-radius: 0 15px 15px 0; border: 1px solid #0175CC; background: #0175CC url("../img/cmn/icon_search_wh.svg") no-repeat right 15px center; color: #FFF; cursor: pointer;}
.headNav li .btn:hover {background: #FFF url("../img/cmn/icon_search_bl.svg") no-repeat right 15px center; color: #0175CC;}
.subNav li.login a {background: #67AFE1; color: #FFF; border: 1px solid #67AFE1; padding: 5px 20px; border-radius: 15px;}
.subNav li.login a span {padding-left: 21px; background: url("../img/cmn/icon_login_wh.svg") no-repeat left center;}
.subNav li.login a:hover {background: #FFF; color: #67AFE1;}
.subNav li.login a:hover span {background: url("../img/cmn/icon_login_lbl.svg") no-repeat left center;}
.child_menu {width: 100%; left: 0; color: #222; background: #67AFE1;}
.menu:hover .child_menu {visibility: visible;}
#hanburger {display: none;}
.menu_button {width: 55px; height: 55px; position: fixed; top: 0; right: 0; background: #0175CC; 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; text-align: center; background: #FFF;}
#hanburger:checked ~ .global_menu {visibility: visible;}
.global_menu a {display: block; width: 100%;}
.menu {font-size: 18px; font-weight: 600; line-height: 1.5;}
.menu .pd {display: none;}
.menu:last-child {margin-right: 0px;}
.child_menu > li > a {padding: 10px 20px; text-align: left;}
#hanburger,.spOnly {display: none;}
@media screen and (min-width: 896px) {
  .menu_button {display: none;}
  .global_menu {position: inherit; padding: 0; visibility: visible; overflow-y: visible; height: auto; width: auto;}
	.menu_wrap {display: flex;}
	.menu {text-align: center;}
	.menu > a {padding: 15px 20px; background: #0175CC; color: #FFF; position: relative;}
	#en .menu > a {display: flex; flex-direction: column; justify-content: center; height: 100%;}
	.menu > a.ib span {padding-right: 30px; background: url("../img/cmn/icon_plus_wh.svg") no-repeat right center;}
	.menu:nth-child(2) {width: 17.7%;}
	.menu:nth-child(3) {width: 18.3%;}
	.menu:nth-child(4) {width: 26.5%;}
	.menu:nth-child(5) {width: 16.4%;}
	.menu:nth-child(6) {width: 21.1%;}
	#en .menu:nth-child(2) {width: 14.7%;}
	#en .menu:nth-child(3) {width: 9.3%;}
	#en .menu:nth-child(4) {width: 41.4%;}
	#en .menu:nth-child(5) {width: 21.5%;}
	#en .menu:nth-child(6) {width: 13.1%;}
	#en .menu:nth-child(6) > a span {padding-left: 34px; background: url("../img/cmn/icon_mail_wh.svg") no-repeat left center;}
	.menu:not(:nth-child(6)) > a::before {position: absolute; content: ''; width: 1px; height: 40px; background: #FFF; right: 0; top: 50%; transform: translateY(-50%);}
  .menu:hover > a {background: #67AFE1;}
  .child_menu {width: auto; position: absolute; top: 57px; left: 0; padding: 0 30px; color: #222; background: #67AFE1; visibility: hidden; opacity: 0; transition: .5s top, .5s opacity; z-index: 10; display: flex; flex-wrap: wrap;}
	.child_menu::before,.child_menu::after {position: absolute; content: ''; width: 1px; height: 100%; background: #FFF; top: 0;}
	.child_menu::before {left: 30px;}
	.child_menu::after {right: 30px;}
  .menu:hover .child_menu {visibility: visible; top: 57px; opacity: 1;}
	.menu:nth-child(2) .child_menu {left: 0;}
	.menu:nth-child(4) .child_menu {left: 24%;}
	.menu:nth-child(5) .child_menu {left: 62.5%;}
	.child_menu li {line-height: 1.5;}
	.child_menu > li {width: 100%;}
	.child_menu > li span {padding-right: 40px; background: url("../img/cmn/icon_navi_wh.svg") no-repeat right 10px center; transition: .3s;}
	.child_menu > li > a:hover span {background-position: right center;}
  .child_menu > li a {color: #FFF; padding: 20px 18px;}
	.child_menu > li a:hover {background: #0175CC;}
	.child_menu > li > ul {border-top: 1px solid #FFF;}
	.child_menu > li > ul > li {position: relative;}
	.child_menu > li > ul > li:not(:last-child)::before {position: absolute; content: ''; width: 1px; height: 37px; background: #FFF; right: 0; top: 50%; transform: translateY(-50%);}
}
@media screen and (max-width: 1530px) {
	#en #header .logo {width: 335px; position: absolute; top: 0; z-index: 1;}
	#en #header .logo a {padding: 15px 20px 10px;}
	#en .headNav {width: 100%;}
	#en .subNav {padding: 15px 25px 15px 0;}
	#en .menu,.child_menu a {font-size: 16px;}
}
@media screen and (max-width: 1375px) {
	#header .logo {width: 380px;}
	.headNav {width: calc(100% - 380px);}
	.subNav {padding: 15px 25px 15px 0;}
	.menu,.child_menu a {font-size: 16px;}
}
@media screen and (max-width: 1255px) {
	#header .logo {width: 300px;}
	#header .logo a {padding: 20px;}
	.headNav {width: calc(100% - 300px);}
	.subNav {padding: 15px 20px 15px 0;}
}
@media screen and (max-width: 1170px) {
	#header .logo {width: 280px; position: absolute; top: 0; z-index: 1;}
	#header .logo a {padding: 10px 20px;}
	.headNav {width: 100%; border-left: none;}
	.subNav {padding: 15px 20px 15px 0;}
	.subNav li {margin-left: 15px;}
	.subNav li:first-child {margin-right: 0;}
	.subNav li.lang .mincho {padding: 5px 10px;}
	.subNav .headSearch {width: 135px;}
	.subNav li .btn {padding: 4px 31px 3px 10px; background-position: right 10px center;}
	.subNav li .btn:hover {background-position: right 10px center;}
	.subNav li.login a {padding: 5px 10px;}
}
@media screen and (max-width: 930px) {
	#header .logo {width: 260px;}
	#header .logo a {padding: 10px 10px;}
	.subNav {padding: 15px 10px 15px 0;}
	.subNav .headSearch {width: 115px;}
}
@media screen and (max-width: 896px) {
	.pcOnly {display: none;}
  .spOnly {display: block;}
	#header {position: fixed; z-index: 4; background: #FFF;}
	#header .logo a {padding: 10px 15px;}
	#en #header .logo a {padding: 10px 20px 10px;}
	.subNav,#en .subNav {padding: 10px 15px 0;}
	.subNav li.lang {margin-bottom: 15px;}
	.subNav li:nth-child(3) {margin-right: 50px;}
	.subNav li:nth-child(4) {width: 100%; margin-left: 0;}
	.headNav .headSearch {width: calc(100% - 80px); background: #FFF; border: 1px solid #FFF;}
	#en .headNav .headSearch{width: calc(100% - 90px);}
	.headNav li .btn {border: 1px solid #FFF;}
  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 #0786E5; border-top: 1px solid #0360A5; color: #FFF;}
  .menu > a span {margin-right: 10px; width: 30px!important;}
  .menu > a span img {width: 100%;}
	.menu:last-child {margin: 10px 15px; width: calc(100% - 30px); left: 15px;}
  .global_menu {z-index: 10;}
	.child_menu > li:first-child > a {display: none;}
	.child_menu > li > ul {display: block;}
  .child_menu > li > a,.child_menu > li > ul > li a {padding: 10px 15px; color: #FFF; text-align: left; border-bottom: 1px dotted #FFF;}
  .child_menu > li > ul > li a {padding: 10px 20px 10px 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 #FFF; 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: #0175CC; /*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: 568px) {
	.subNav li.lang {margin-left: 10px;}
	.subNav li.lang .txt700 {border-radius: 5px;}
	.subNav li.lang .mincho {display: none;}
	#en #header .logo {width: 280px;}
}
@media screen and (max-width: 400px) {
	#header .logo,#en #header .logo {width: 240px;}
}

footer {background: #67AFE1;}
footer .container {padding: 60px 0;}
.ftInfo .logo {width: 370px;}
.ftInfo .tel,.ftInfo .fax {margin-left: 1em;}
.ftInfo ul {margin-top: auto;}
.ftInfo li {line-height: 1.5;}
.ftInfo li a {display: block; padding: 10px 30px; border-radius: 20px; background: #FFF; border: 1px solid #FFF; color: #67AFE1;}
.ftInfo li a:hover {background: #67AFE1; color: #FFF;}
.ftInfo li a span {padding-left: 30px;}
.ftInfo li:first-child a span,#en .ftInfo li:first-child a span  {background: url("../img/cmn/icon_mail_lbl.svg") no-repeat left center;}
.ftInfo li:last-child a span  {background: url("../img/cmn/icon_login_lbl.svg") no-repeat left center;}
.ftInfo li:first-child a:hover span,#en .ftInfo li:first-child a:hover span {background: url("../img/cmn/icon_mail_wh.svg") no-repeat left center; background-size: 20px auto;}
.ftInfo li:last-child a:hover span {background: url("../img/cmn/icon_login_wh.svg") no-repeat left center;}
#en .ftNav {width: calc(100% - 450px);}
.ftNav > ul:not(:first-child) {margin-left: 30px;}
.ftNav li:not(:last-child) {margin-bottom: 10px;}
.ftNav li a {color: #FFF;}
.ftNav li a:hover {text-decoration: underline;}
.ftNav > ul > li > ul {padding-left: 20px; margin-top: 10px; position: relative;}
.ftNav > ul > li > ul::before {position: absolute; content: ''; width: 1px; height: 100%; background: #FFF; top: 0; left: 10px;}
.footCopy {text-align: center; padding: 20px; color: #222;}
.footCopy small {font-size: 14px;}
#ftNavi {display: none;}
@media screen and (max-width: 1165px) {
	#en footer .col6 {justify-content: flex-start;}
	#en .ftNav {width: 100%; justify-content: flex-start; margin-top: 20px;}
}
@media screen and (max-width: 1000px) {
  .ftInfo .logo {width: 300px;}
	.ftInfo li:first-child {margin-right: 10px;}
	.ftNav > ul:not(:first-child) {margin-left: 20px;}
}
@media screen and (max-width: 940px) {
  .ftInfo {width: 100%; align-items: center; margin-bottom: 20px;}
	.ftInfo li {margin-right: 10px; margin-left: 10px;}
	.ftNav {width: 100%; justify-content: center;}
	.ftNav > ul {width: 100%;}
	.ftNav > ul:not(:first-child) {margin-left: 0;}
	.ftNav > ul:not(:last-child) {margin-bottom: 10px;}
	.ftNav > ul > li > ul {display: flex; flex-wrap: wrap;}
	.ftNav > ul > li > ul > li {margin-right: 20px;}
}
@media screen and (max-width: 896px) {
	footer .container {padding: 40px 0;}
	.footCopy {padding: 10px; font-size: 12px;}
	#ftNavi {background: #0175CC; position: fixed; display: flex; flex-wrap: wrap; z-index: 5; bottom: 0; border-top: 1px solid #FFF; width: 100%; text-align: center; font-size: 10px; font-weight: 600;}
	#ftNavi li {width: calc(100%/3);}
	#ftNavi li a {display: block; padding: 10px 0 5px; color: #FFF; border-left: 1px solid #0786E5; border-right: 1px solid #0360A5;}
	#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: 430px) {
  .ftInfo .logo {width: 100%;}
	.ftInfo li {width: calc(100% - 20px); margin-bottom: 10px; text-align: center;}
}

.w1300 {width: 100%; max-width: 1332px; padding-left: 0; padding-right: 0;}
.w1500 {width: 100%; max-width: 1520px; padding-left: 0; padding-right: 0;}
.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 {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(100%/6 - 40px);}
.col2,.box3 {width: calc(100%/3 - 40px);}
.col3 {width: calc(50% - 40px);}
.col4 {width: calc(100%/6*4 - 40px);}
.col5 {width: calc(100%/6*5 - 40px);}
.col6 {width: calc(100% - 40px);}
.box4 {width: calc(25% - 30px); margin-left: 15px; margin-right: 15px;}
.w300 {max-width: 300px; width: 100%;}
.w240 {max-width: 240px; width: 100%;}
.full {width: 100%;}
.half {width: 50%;}
.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;}
}

.bg {background: url("../img/cmn/bg_kv.jpg") no-repeat right top; background-size: 498px;}
#kv .col6 {padding: 60px 0; margin-bottom: 80px; min-width: 650px; width: auto; display: inline-block;}
#kv .col6::after {position: absolute; content: ''; width: 100%; height: 5px; background: #0175CC; left: 0; bottom: 0;}
.txt46 {font-size: 46px;}
.ls12 {letter-spacing: 0.12em;}
#en .ls12 {letter-spacing: normal;}
.bread {color: #0175CC;}
.bread a {margin-right: 10px; padding-right: 18px; background: url("../img/cmn/icon_bread.svg") no-repeat right center; text-decoration: underline; color: #0175CC;}
@media screen and (max-width: 896px) {
	main {padding-top: 56px;}
	.bg {background-size: 80%; background-position: top 56px right;}
	#kv .col6 {padding: 30px 0; min-width: 500px;}
	#kv .col6::after {min-width: 100%;}
	.txt46 {font-size: 30px;}
	.bread {font-size: 12px;}
}
@media screen and (max-width: 568px) {
	#kv .col6 {min-width: auto;}
}

.btnCmn {display: block; line-height: 1.5; padding: 12px 50px 12px 20px; border-radius: 5px; border-style: solid!important; border-width: 1px!important; background-position: right 20px center; background-image: url("../img/cmn/arrow_wh.svg"); background-repeat: no-repeat; color: #FFF;}
.btnCmn:hover {background-color: #FFF; background-position: right 10px center;}
.btnDBL {background-color: #021976; border-color: #021976;}
.btnDBL:hover {color: #021976; background-image: url("../img/cmn/arrow_dbl.svg");}
.btnGR {background-color: #50B5C3; border-color: #50B5C3;}
.btnGR:hover {color: #50B5C3; background-image: url("../img/cmn/arrow_gr.svg");}
.btnGRY {background: #999; border-color: #999;}
.btnGRY:hover {color: #999;}
.btnPdf {background-image: url("../img/cmn/icon_pdf_wh.svg");}
.btnGR.btnPdf:hover {background-image: url("../img/cmn/icon_pdf_gr.svg");}

.date {margin-right: 20px; font-weight: 500;}
.ttlDblLine {padding-bottom: 15px; margin-bottom: 30px; border-bottom: 4px solid #67AFE1; position: relative; display: inline-block;}
.ttlDblLine::after {position: absolute; content: ''; width: 60px; height: 4px; background: #021976; left: 0; bottom: -4px;}
#topShort .ttlDblLine {border-bottom-color: #50B5C3;}
#topShort .ttlDblLine::after {background: #3F6C72;}
.postList li {border-bottom: 1px solid #CCC;}
.postList li a {padding: 15px 0; display: block;}
.postLink {padding-right: 22px; background-image: url("../img/cmn/arrow_gr.svg"); background-repeat: no-repeat; background-position: right 10px center; transition: .3s;}
#topAct .postLink {background-image: url("../img/cmn/arrow_dbl.svg");}
.postList li a:hover {background: #EEE;}
.postList li a:hover .postLink {background-position: right center;}
.postList dt {align-items: center; margin-bottom: 10px;}
.catList li {border: 1px solid #999999; color: #999; border-radius: 3px; padding: 2px 10px 2px; line-height: 1.5;}
.catList li:not(:last-child) {margin-right: 10px;}
.catList li.new {border-color: #CC0000; background: #CC0000; color: #FFF; font-family: "EB Garamond", serif; font-weight: 500;}
.catList li.actCat,.catList li.worldCat {width: 80px; text-align: center; color: #FFF;}
#en .catList li.actCat,#en .catList li.worldCat {width: 180px;}
.catList li.worldCat {width: 140px;}
.catList li.actCat {background: #76A5B0; border-color: #76A5B0;}
.catList li.actCat.actEx {background: #1077AB; border-color: #1077AB;}
.catList li.actCat.actCoop {background: #1399AB; border-color: #1399AB;}
.catList li.actCat.actMedia {background: #34BB77; border-color: #34BB77;}
.catList li.actCat.actPub {background: #339A44; border-color: #339A44;}
.catList li.actCat.actOrg {background: #33AACC; border-color: #33AACC;}
.catList li.actCat.actOther {background: #76A5B0; border-color: #76A5B0;}
.catList li.worldCat.worldData {background: #34BB77; border-color: #34BB77;}
.catList li.worldCat.worldShort {background: #33AACC; border-color: #33AACC;}
.catList li.worldCat.worldEpij {background: #1077AA; border-color: #1077AA;}
.catList li.worldCat.worldReport {background: #339944; border-color: #76A5B0;}
#postDetail .catList li {padding: 4px 10px 4px;}
#postDetail .catList li.actCat {width: 100px;}
#en #postDetail .catList li.actCat {width: auto;}
@media screen and (max-width: 896px) {
	.catList li {font-size: 12px;}
	.postList dt {flex-direction: column; align-items: flex-start; margin-bottom: 5px;}
	.catList li {margin-bottom: 5px;}
}
@media screen and (max-width: 568px) {
	.postLink {padding-right: 15px; background-position: right center;}
	#en .catList li.actCat,#en .catList li.worldCat {width: auto;}
}

#mv {height: 285px;}

#caution .ttl {background: #CC0000; padding: 13px 35px 13px 65px; border-radius: 30px; width: 240px;}
#en #caution .ttl{width: 250px;}
#caution .ttl::before,#caution .ttl::after {position: absolute; content: ''; top: 50%; transform: translateY(-50%);}
#caution .ttl::before {width: 45px; height: 45px; background: #FFF; border-radius: 50%; left: 5px;}
#caution .ttl::after {width: 30px; height: 27px; background: url("../img/cmn/icon_caution.png") no-repeat center; background-size: cover; left: 13px;}
#caution .inner {width: calc(100% - 275px); margin-left: auto;}
#caution .inner li {border-bottom: 1px solid #CCCCCC;}
#caution .inner li a {display: block; padding: 15px 22px 15px 0; background-image: url("../img/cmn/arrow_rd.svg"); background-repeat: no-repeat; background-position: right 10px center;}
#caution .inner li a:hover {background-color: #EEE; background-position: right center;}
@media screen and (max-width: 896px) {
	#caution .ttl {margin-bottom: 10px; width: auto; padding: 10px 30px 10px 55px;}
	#caution .ttl::before {width: 35px; height: 35px;}
	#caution .ttl::after {width: 20px; height: 18px;}
	#caution .inner {width: 100%;}
}
@media screen and (max-width: 568px) {
	#caution .inner li .date {display: block;}
	#caution .inner li a {padding: 15px 15px 15px 0; background-position: right center;}
}

#topics {padding: 30px 0; background: #0075CC; background: linear-gradient(90deg, rgba(0, 117, 204, 1) 0%, rgba(128, 200, 255, 1) 100%);}
#topics li {width: calc(50% - 40px); margin: 0 20px;}
#topics li a {align-items: flex-start;}
#topics .thumb {width: 49.5%;}
#topics .txt {width: 50.5%; padding-left: 20px;}
#topics .ttl {border-bottom: 1px solid #FFF; padding-bottom: 10px; margin-bottom: 15px;}
.topicsSlide.slick-slider {margin-bottom: 0;}
.topicsSlide .slick-track {display: flex; flex-wrap: wrap;}
.topicsSlide .slick-slide {height: auto !important;}
.topicsSlide.slideMin {display: flex; flex-wrap: wrap;}
.slideArrow {position: absolute; content: ''; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; z-index: 1; cursor: pointer;}
.prevArrow {background: url("../img/cmn/slide_prev.svg") no-repeat center; background-size: cover; left: -30px;}
.nextArrow {background: url("../img/cmn/slide_next.svg") no-repeat center; background-size: cover; right: -30px;}
@media screen and (max-width: 1285px) {
	#topics {padding: 30px;}
	.slideArrow {width: 30px; height: 30px;}
	.prevArrow {left: -20px;}
	.nextArrow {right: -20px;}
}
@media screen and (max-width: 568px) {
	#topics .thumb {width: 100%; margin-bottom: 10px;}
	#topics .txt {width: 100%; padding-left: 0;}
}

#topAct {padding: 80px 0;}
#topAct::before,#topAct::after {position: absolute; content: ''; background: rgba(229,244,255,.5); z-index: -1;}
#topAct::before {width: 600px; height: 600px; top: 0; right: 0;}
#topAct::after {width: 400px; height: 400px; bottom: 0; left: 0;}
#topAct .inner,#topShort .inner {border-top: 10px solid #021976; border-bottom: 10px solid #021976; border-left: 1px solid #021976; border-right: 1px solid #021976; padding: 0 0 30px 0; background: #FFF;}
#topShort .inner {border-color: #50B5C3;}
#topAct .half:first-of-type,#topShort .half:first-of-type {border-right: 1px solid #021976;}
#topShort .half:first-of-type {border-color: #50B5C3;}
#topAct .postList > ul,#topShort .postList > ul {padding: 15px 20px 0; margin-bottom: 30px;}
#topAct .postList > ul > li,#topShort .postList > ul > li {width: calc(50% - 20px); margin: 0 10px;}
#topAct .w240,#topShort .w240 {margin: 0 30px 0 auto;}
@media screen and (max-width: 896px) {
	#topAct::before {width: 300px; height: 300px;}
	#topAct::after {width: 200px; height: 200px;}
	#topAct .half, #topShort .half {padding: 5px 20px;}
}
@media screen and (max-width: 568px) {
	#topAct::before {width: 250px; height: 250px;}
	#topAct::after {width: 150px; height: 150px;}
	#topAct .inner,#topShort .inner {padding-bottom: 20px;}
	#topAct .half,#topShort .half {width: 100%; padding-bottom: 0;}
	#topAct .half:first-of-type,#topShort .half:first-of-type {margin-bottom: 0;}
}

#topAbout {padding: 70px 0;}
#topAbout .half:first-of-type,#topAbout::before {width: calc(50% + 20px);}
#topAbout .half:last-of-type,#topAbout::after {width: calc(50% - 20px);}
#topAbout::before,#topAbout::after {position: absolute; content: ''; top: 0; height: 100%; z-index: -1;}
#topAbout::before {background: url("../img/top/about.jpg") no-repeat center; background-size: cover; left: 0;}
#topAbout::after {background: #0175CC; background: linear-gradient(90deg, rgba(1, 117, 204, 1) 0%, rgba(1, 59, 102, 1) 100%); right: 0;}
#topAbout .half:first-of-type {padding-right: 80px;}
#topAbout .half:last-of-type {padding: 20px 100px 0;}
#en #topAbout .half:last-of-type {padding: 0 0 0 80px;}
#topAbout h3 span {display: block;}
.aboutLink {padding-top: 20px;}
.aboutLink li {border-left: 2px solid #FFF; padding-left: 20px; margin-bottom: 15px;}
.aboutLink li:last-child {margin-bottom: 0;}
.aboutLink li a span {color: #FFF; padding-right: 60px; position: relative;}
#en .aboutLink li a span{display: block; line-height: 1.2;}
.aboutLink li a span::before,.aboutLink li a span::after {position: absolute; content: ''; top: 50%; transform: translateY(-50%); transition: .3s;}
.aboutLink li a span::before {width: 30px; height: 30px; border-radius: 50%; background: #FFF; right: 10px;}
.aboutLink li a span::after {width: 12px; height: 9px; background: url("../img/cmn/arrow_dbl.svg") no-repeat center; right: 19px;}
.aboutLink li a:hover span::before {right: 0;}
.aboutLink li a:hover span::after {right: 9px;}
@media screen and (max-width: 1190px) {
	#topAbout .half:first-of-type {padding-right: 40px; padding-left: 20px;}
	#topAbout .half:last-of-type {padding: 0 20px 0 40px;}
	#en #topAbout .half:last-of-type {padding: 0 40px 0 40px;}
}
@media screen and (max-width: 810px) {
	#topAbout {background: url("../img/top/about.jpg") no-repeat center; background-size: cover;}
	#topAbout .half:first-of-type,#topAbout::before,#topAbout .half:last-of-type,#topAbout::after {width: 100%;}
	#topAbout::before,#topAbout::after {content: none;}
	#topAbout .half:first-of-type {padding-right: 20px; padding-left: 20px;}
	#topAbout .half:last-of-type {padding: 30px 20px 0 20px;}
	#en #topAbout .half:last-of-type {padding: 0 20px 0 20px;}
	.aboutLink {display: flex; flex-wrap: wrap;}
	.aboutLink li:not(:last-child) {margin-right: 20px;}
	.aboutLink li:last-child {margin-bottom: 15px;}
}
@media screen and (max-width: 568px) {
	#topAbout {padding: 40px 0 25px;}
	#topAbout .half:last-of-type h3 span {display: block;}
	#topAbout .half:first-of-type {padding-right: 0; padding-left: 0;}
	#topAbout .half:last-of-type {padding: 30px 0 0 0;}
	#en #topAbout .half:last-of-type {padding: 0;}
	.aboutLink {flex-direction: column;}
	.aboutLink li:not(:last-child) {margin-right: 0;}
}

#topShort {padding: 80px 0; background-image: url("../img/top/short_message01.png"),url("../img/top/short_message02.png"); background-size: 498px auto; background-repeat: no-repeat; background-position: top right,bottom left; background-color: rgba(229,244,254,.5);}
@media screen and (max-width: 568px) {
	#topShort {padding: 40px 0;}
}

#topBnr .ratioInner {overflow: hidden;}
#topBnr h2 {position: absolute; z-index: 1; width: 100%; padding: 12px 60px 12px 30px; background: #FFF; bottom: 20px;}
#topBnr h2::before,#topBnr h2::after {position: absolute; content: ''; top: 50%; transform: translateY(-50%);}
#topBnr h2::before {width: 40px; height: 40px; border-radius: 50%; background: #0A1976; right: 20px;}
#topBnr h2::after {width: 12px; height: 9px; background: url("../img/cmn/arrow_wh.svg") no-repeat center; right: 34px;}
#topBnr .ratioInner img,#topBnr h2::before,#topBnr h2::after {transition: .3s;}
#topBnr a:hover .ratioInner img {transform: scale(1.2);}
#topBnr a:hover h2::before {right: 10px;}
#topBnr a:hover h2::after {right: 24px;}
#en #topBnr h2 {bottom: 10px; line-height: 1.2;}
@media screen and (max-width: 750px) {
	#topBnr .col3 {width: calc(100% - 30px);}
	#topBnr h2 {padding: 10px 40px 10px 20px; bottom: 10px;}
	#topBnr h2::before {width: 30px; height: 30px; right: 10px;}
	#topBnr h2::after {right: 19px;}
}

#searchArea dt,#searchArea dd {border: 1px solid #0175CC;}
#searchArea dt {padding: 10px 30px 10px 30px; border-radius: 25px 0 0 25px;}
#searchArea dd {background: #0175CC; padding: 5px 20px; border-right: 1px solid #FFF;}
#searchArea dd:last-of-type {border-right: none; border-radius: 0 25px 25px 0; padding-right: 30px;}
#searchArea dd .formSelect {width: 200px; margin-left: 15px;}
@media screen and (max-width: 1124px) {
	#searchArea dl {background: #0175CC; border-radius: 10px;}
	#searchArea dt {width: 100%; padding: 8px 20px; border-radius: 10px 10px 0 0; background: #FFF;}
	#searchArea dd:first-of-type {border-radius: 0 0 0 10px;}
	#searchArea dd:last-of-type {border-radius: 0 0 10px 0; padding-right: 20px;}
}
@media screen and (max-width: 1000px) {
	#searchArea dd {width: 100%;}
	#searchArea dd .formSelect {width: calc(100% - 90px); margin-left: auto;}
	#searchArea dd {border-radius: 0; border-right: none; }
	#searchArea dd:last-of-type {border-radius: 0 0 10px 10px; padding-right: 20px;}
}

.pageNav li {margin: 0 5px; text-align: center;}
.pageNav li a {display: block; width: 30px; line-height: 30px; color: #FFF; border-radius: 5px; border: 1px solid #67AFE1; background: #67AFE1;}
.pageNav li a.current,.pageNav li a:hover {background: #FFF; color: #67AFE1;}
.pageNav li.next a,.pageNav li.prev a {background: #FFF; border: none; line-height: normal;}

#act .postList > li {width: calc(50% - 10px);}
#act .half:first-of-type {border-right: 1px solid #67AFE1; padding-right: 30px;}
#act .half:last-of-type {padding-left: 30px;}
@media screen and (max-width: 568px) {
	#act .postList > li {width: 100%;}
	#act .half {width: 100%;}
	#act .half:first-of-type {border-right: none; padding-right: 0;}
	#act .half:last-of-type {padding-left: 0;}
}

.post p:not(:last-of-type) {margin-bottom: 20px;}
.postBack::after {position: absolute; content: ''; width: 100%; height: 1px; background: #0175CC; top: 50%; transform: translateY(-50%); left: 0; z-index: -1;}
.postBack .btnBack a {display: block; padding: 12px 30px; border-radius: 5px; border: 1px solid #0175CC; background: #FFF; color: #0175CC;}
.postBack .btnBack a:hover {background: #0175CC; color: #FFF;}
.mainBlock ul,.addBlock01 ul,.addBlock02 ul,.addBlock03 ul {margin-bottom: 20px; list-style: disc; margin-left: 1.5em;}
.mainBlock ol,.addBlock01 ol,.addBlock02 ol,.addBlock03 ol {margin-bottom: 20px; list-style: decimal; margin-left: 1.5em;}
.mainBlock .mainImg {margin-left: -20px; margin-right: -20px; margin-top: 20px; list-style: none;}
.mainBlock .mainImg li {width: calc(100%/3 - 40px); margin: 0 20px 20px;}
.layout h2 {padding: 9px 25px 15px; background: #50B5C3; color: #FFF; font-size: 30px; position: relative; font-family: 'Noto Serif JP', serif; font-weight: 600; margin-bottom: 40px;}
.layout h2::before,.layout h2::after {position: absolute; content: ''; background: #FFF;}
.layout h2::before {width: 1px; height: 100%; top: 0; left: 5px;}
.layout h2::after {width: 100%; height: 1px; left: 0; bottom: 5px;}
.layout h3 {font-size: 24px; font-weight: 700; color: #0175CC; padding: 0 0 8px 45px; border-bottom: 1px solid #0175CC; position: relative; margin-bottom: 30px;}
.layout h3::before,.layout h3::after {position: absolute; content: '';}
.layout h3::before {width: 30px; height: 30px; background: #0175CC; left: 0; top: 2px;}
.layout h3::after {width: 0; height: 0; left: 3px; top: 5px; border-top: solid 15px #67AFE1; border-right: solid 15px transparent;}
#privacy.layout h3,#rule.layout h3 {font-size: 20px;}
#privacy.layout h3::before,#rule.layout h3::before {top: 0;}
#privacy.layout h3::after,#rule.layout h3::after {top: 3px;}
.layout h4 {padding: 8px 20px; border-left: 5px solid #50B5C3; background: #CCF2F7; font-size: 20px; font-weight: 700; margin-bottom: 20px;}
.addBlock01 .subImg img {width: 100%;}
.layout table {width: 100%;}
.layout table tr:nth-child(odd) {background-color: #FFF;}
.layout table tr:nth-child(even) {background-color: #EBF7FF;}
.layout table th,table td {padding: 10px 20px; line-height: 1.5; text-align: center; border: 1px solid #999;}
.layout table th {color: #FFF; font-weight: 600; background: #021976;}
.layout table td {text-align: left;}
.addBlock02 .subImg,.addBlock03 .subImg {width: 40%;}
.addBlock02 .txt,.addBlock03 .txt {width: 60%;}
.addBlock02 .txt {padding-left: 40px;}
.addBlock03 .txt {padding-right: 40px;}
.postBtn {list-style: none!important; margin-left: 0!important;}
.addBlock03 .postBtn {margin-right: auto;}
.post .postBtn {margin-top: 20px;}
.postBtn li {margin-right: 20px; margin-bottom: 10px;}
.postBtn li:last-child {margin-bottom: 0;}
@media screen and (max-width: 896px) {
	.mainBlock .mainImg {margin-left: -10px; margin-right: -10px;}
	.mainBlock .mainImg li {width: calc(100%/3 - 20px); margin: 0 10px 20px;}
	.layout h2 {font-size: 20px;}
	.layout h3 {font-size: 18px; padding-left: 35px;}
	.layout h3::before {width: 24px; height: 24px;}
	.layout h3::after {border-top: solid 12px #67AFE1; border-right: solid 12px transparent;}
}
@media screen and (max-width: 568px) {
	.mainBlock .mainImg {margin-left: 0; margin-right: 0;}
	.mainBlock .mainImg li {width: 100%; margin: 0 0 10px;}
	.addBlock02 .subImg,.addBlock03 .subImg {width: 100%;}
	.addBlock02 .txt,.addBlock03 .txt {width: 100%;}
	.addBlock02 .txt {padding-left: 0;}
	.addBlock03 .txt {padding-right: 0;}
}

.tabArea {width: 260px;}
.tabLabel {color: #63A8DC; background: #FFF; font-size: 18px; font-weight: 700; border: 1px solid #63A8DC; margin: 0 -1px 10px 1px;}
.tabLabel a {display: block; padding: 15px 20px; color: #63A8DC;}
.tabLabel a:hover {background: #63A8DC; color: #FFF;}
.tabLabel.current {background: #63A8DC; color: #FFF; padding: 15px 20px;}
.tabContent {width: calc(100% - 260px); padding-left: 40px; border-left: 1px solid #63A8DC;}
.tabInner {display:none;}
.tabInner.show {display: block;}
@media screen and (max-width: 896px) {
	.tabArea {width: 180px;}
	.tabLabel {font-size: 16px; padding: 10px 15px;}
	.tabContent {width: calc(100% - 180px); padding-left: 20px;}
}
@media screen and (max-width: 568px) {
	.tabArea,.tabContent {width: 100%;}
	.tabArea {display: flex; flex-wrap: wrap;}
	.tabArea li {width: 50%; margin: 0;}
	.tabArea li:first-child {width: 100%; text-align: center; border-bottom: none;}
	.tabArea li:nth-child(4),.tabArea li:nth-child(5) {border-top: none;}
	.tabArea li:nth-child(3),.tabArea li:nth-child(5) {border-left: none;}
	.tabContent {padding-left: 0; border-left: none;}
}

#data .postList li {width: 25%; margin-bottom: 40px;}
#data .postList li .thumb {width: 50%;}
#data .postList li a {padding: 0 0 20px;}
#data .postList li a:hover {background: #FFF;}
#data .postList dt {margin-bottom: 0;}
#data .postLink {padding-right: 32px; background-position: right 30px center;}
#data .postList li a:hover .postLink {background-position: right 20px center;}
@media screen and (max-width: 896px) {
	#data .postList li {width: 50%; margin-bottom: 20px;}
}
@media screen and (max-width: 568px) {
	#data .postList li {width: 100%;}
}

#epij .col3 .subImg {position: absolute; width: 52.5%; top: 50%; transform: translateY(-50%); left: 0; right: 0; margin: auto;}
#epij .postList {margin-top: 20px;}
#epij .postList li {margin-bottom: 40px;}
#epij .postList li .thumb {background: #EEE; margin-bottom: 20px;}
#epij .postList li .thumb .thumbInner {display: flex; justify-content: center;}
#epij .postList li .thumb .thumbInner img {height: 240px;}
#epij .postList li a {padding: 0 0 20px;}
#postDetail.epij .txt {width: 60%; padding-left: 40px;}
#postDetail.epij .thumb {width: 40%;}

#clubletter01 .col2 {width: calc(100%/3);}
#clubletter01 .col4 {width: calc(100%/6*4 - 80px);}
#clubletter02 dt {margin-right: 20px; margin-bottom: 6px;}
#clubletter02 dd:last-of-type {padding: 5px 10px; background: #CC0000; border-radius: 3px;}
#clubletter02 th:first-child {width: 210px;}
#clubletter02 th {width: calc(100% - 210px / 6);}
#clubletter02 td {text-align: center;}
#clubletter03 .faq > dt {margin-bottom: 15px; padding-top: 3px; padding-bottom: 3px; color: #0175CC;}
#clubletter03 .faq > dd {margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #999;}
#clubletter03 .faq > dt,#clubletter03 .faq > dd {padding-left: 55px; position: relative;}
#clubletter03 .faq > dt::before,#clubletter03 .faq > dd::before {position: absolute; content: ''; width: 40px; height: 40px; border-radius: 5px; top: 0; left: 0;}
#clubletter03 .faq > dt::after,#clubletter03 .faq > dd::after {position: absolute; content: 'Q'; font-size: 24px; font-family: 'Noto Serif JP', serif; font-weight: 600; color: #FFF; top: -2px; left: 10px;}
#clubletter03 .faq > dd::after {content: 'A'; left: 11px;}
#clubletter03 .faq > dt::before {background: #0175CC;}
#clubletter03 .faq > dd::before {background: #CC0000;}
#clubletter03 th:nth-child(odd) {width: 170px;}
#clubletter03 td:nth-child(even) {text-align: center;}
#clubletter03 .tblList table {width: 25%;}
@media screen and (max-width: 1080px) {
	#clubletter03 .tblList table {width: 50%;}
	#clubletter03 th:nth-child(odd) {width: auto;}
	#clubletter03 td:nth-child(even) {width: 100px;}
}
@media screen and (max-width: 896px) {
	#clubletter03 .faq > dt,#clubletter03 .faq > dd {padding-left: 40px; position: relative;}
	#clubletter03 .faq > dt::before,#clubletter03 .faq > dd::before {width: 30px; height: 30px;}
	#clubletter03 .faq > dt::after,#clubletter03 .faq > dd::after {font-size: 20px; top: -2px; left: 8px;}
}
@media screen and (max-width: 790px) {
	#clubletter02 .tblw {width: 800px;}
}
@media screen and (max-width: 700px) {
	#clubletter01 .col2,#clubletter01 .col4 {width: calc(100% - 30px);}
}
@media screen and (max-width: 568px) {
	#clubletter03 .tblList table {width: 100%;}
}

#kaigaishokoku02 > form {width: 100%;}
#kaigaishokoku02 .postList {width: 100%;}
#kaigaishokoku02 .postList li a {display: flex; flex-wrap: wrap;}
#kaigaishokoku02 .postList li .thumb {width: 105px;}
#kaigaishokoku02 .postList li dl {width: calc(100% - 105px); padding-left: 20px;}
#kaigaishokoku03 .tblList table {width: 50%;}
#kaigaishokoku03 .tblList table td:not(:first-child) {text-align: center; width: 110px;}
#postDetail.kaigaishokoku .txt {width: 75.5%; padding-left: 40px;}
#postDetail.kaigaishokoku .thumb {width: 24.5%;}
@media screen and (max-width: 790px) {
	#kaigaishokoku03 .tblList table {width: 100%;}
}
@media screen and (max-width: 568px) {
	#postDetail.kaigaishokoku .txt {width: 100%; padding-left: 0;}
	#postDetail.kaigaishokoku .thumb {width: 100%;}
}

.ttlBdr {padding-bottom: 10px; position: relative; z-index: 1;}
.ttlBdr::after {position: absolute; content: ''; max-width: 260px; width: 85%; height: 3px; background: #021976; left: 0; bottom: 0;}
#about .thumb,#about03 .thumb {margin-top: -3px; position: relative; overflow: hidden;}
#about .thumb img,#about03 .thumb img {transition: .3s;}
#about .thumb::before,#about .thumb::after,#about03 .thumb::before,#about03 .thumb::after {position: absolute; content: ''; z-index: 1; transition: .3s;}
#about .thumb::before,#about03 .thumb::before {width: 30px; height: 30px; background: #FFF; border-radius: 50%; bottom: 15px; right: 15px;}
#about .thumb::after,#about03 .thumb::after {width: 12px; height: 9px; background: url("../img/cmn/arrow_bl.svg") no-repeat; right: 23px; bottom: 26px;}
#about a:hover .thumb img,#about03 a:hover .thumb img {transform: scale(1.1);}
#about a:hover .thumb::before,#about03 a:hover .thumb::before {right: 5px;}
#about a:hover .thumb::after,#about03 a:hover .thumb::after {right: 13px;}
#about01 .thumb {width: calc(50% - 20px);}
#about01 .txt {width: calc(50% - 20px); padding-right: 0;}
#about02 .flex::after {position: absolute; content: ''; width: calc(100% - 190px); height: calc(100% - 130px); top: 50%; transform: translateY(-50%); left: 0; right: 0; margin: auto; background: #E5F4FF; z-index: -1;}
#about02 .subImg li {width: calc(100%/3 - 15px); margin-right: 15px;}
#about02 .subImg:last-of-type li {margin-right: 0; margin-left: 15px;}
#about02 .rubik {position: absolute; font-size: 110px; line-height: 1;}
#about02 .rubik:first-of-type {top: 45px; right: 90px;}
#about02 .rubik:first-of-type span {display: block; margin-left: 1em;}
#about02 .rubik:last-of-type {bottom: 45px; left: 90px;}
#about03 {padding: 60px 0 20px; background: #149BFF; background: linear-gradient(0deg, rgba(20, 155, 255, 1) 0%, rgba(1, 117, 204, 1) 100%);}
#about04 .compInfo dt:not(:last-of-type),#about04 .compInfo dd:not(:last-of-type) {padding-bottom: 20px;}
#about04 .compInfo dt {width: 130px;}
#about04 .compInfo dd {width: calc(100% - 130px); padding-left: 40px; border-left: 1px solid #67AFE1;}
#about05 {padding: 80px 0; background: #E5F4FF; background: linear-gradient(90deg, rgba(229, 244, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 100%);}
#about05 .history > dt,#about05 .history > dd {display: flex; flex-wrap: wrap; flex-direction: column; justify-content: center;}
#about05 .history > dt {width: 200px; padding: 5px 40px 15px 0; border-bottom: 1px solid #EEE;}
#about05 .history > dt span {font-size: 75%;}
#about05 .history > dd {width: calc(100% - 200px); padding: 15px 0 15px 40px; border-left: 1px solid #67AFE1; border-bottom: 1px solid #EEE;}
#about05 .history > dt > dl > dd {margin-left: auto;}
#about05 .history > dt p {text-align: right;}
#about06 {padding: 80px 0; background: url("../img/about/about/06-01.jpg") no-repeat center; background-size: cover;}
#about06 .officeMap {margin-top: -75px; position: relative; z-index: 1;}
@media screen and (max-width: 1175px) {
	#about02 .flex::after {width: calc(100% - 80px);}
	#about02 .rubik:first-of-type {right: 35px;}
	#about02 .rubik:first-of-type span {margin-left: .5em;}
	#about02 .rubik:last-of-type {left: 35px;}
}
@media screen and (max-width: 896px) {
	#about .col2 {width: calc(50% - 30px);}
	#about02 .flex::after {width: calc(100% - 40px); height: calc(100% - 40px);}
	#about02 .rubik {font-size: 80px; line-height: 0.8;}
	#about02 .rubik:first-of-type {right: 15px; top: 25px;}
	#about02 .rubik:last-of-type {left: 15px; bottom: 15px;}
	#about04 .compInfo dt,#about04 .compInfo dd {width: 100%;}
	#about04 .compInfo dt,#about04 .compInfo dt:not(:last-of-type) {padding-bottom: 10px;}
	#about04 .compInfo dd,#about04 .compInfo dd:not(:last-of-type) {padding-bottom: 20px;}
	#about04 .compInfo dd {padding-left: 0; padding-top: 10px; border-top: 1px solid #67AFE1; border-left: none;}
	#about04 .col2 {width: calc(50% - 30px);}
	#about04 .col2:last-of-type {width: calc(100% - 30px);}
	#about05 .history > dt {width: 170px;}
	#about05 .history > dd {width: calc(100% - 170px);}
}
@media screen and (max-width: 700px) {
	#about01 .thumb {width: 100%;}
	#about01 .txt {width: 100%; margin-bottom: 20px;}
}
@media screen and (max-width: 568px) {
	#about .col2 {width: calc(100% - 30px);}
	#about02 .flex::after {content: none;}
	#about02 .subImg {margin-bottom: 0;}
	#about02 .subImg li {width: 50%; margin-right: 0;}
	#about02 .subImg:last-of-type li {margin-left: 0;}
	#about02 .rubik {position: relative; color: #E5F4FF; font-size: 14vw;}
	#about02 .rubik:first-of-type {right: 0; top: 0;}
	#about02 .rubik:first-of-type span {display: inline-block; margin-left: 0.25em;}
	#about02 .rubik:last-of-type {margin-left: 0.25em; bottom: 0;}
	#about05,#about06 {padding: 40px 0;}
	#about05 .history > dt {width: 100px; padding: 15px 20px 15px 0;  border-bottom: 1px solid #CCC;}
	#about05 .history > dt > dl > dt,#about05 .history > dt > dl > dd {line-height: 1.2;}
	#about05 .history > dd {width: calc(100% - 100px); padding: 15px 0 15px 20px; border-bottom: 1px solid #CCC;}
	#about06 .officeMap {margin-top: -30px;}
}

#greeting .thumb {width: 30%; margin: 0 0 20px 30px; float: right;}
@media screen and (max-width: 430px) {
	#greeting .thumb {width: 100%; margin: 0 0 20px;}
}

#outline01 .col2 {width: calc(100%/3 + 20px);}
#outline01 .col4 {width: calc(100%/6*4 - 100px);}
#outline01 dt {width: 40px; line-height: 40px; border-radius: 5px; background: #0175CC;}
#outline01 dd {width: calc(100% - 40px); padding-left: 20px;}
@media screen and (max-width: 568px) {
	#outline01 .col2 {width: calc(100% - 30px);}
	#outline01 .col4 {width: calc(100% - 30px);}
}

#outline03-02,#outline03-03 {padding-top: 80px; border-top: 1px solid #0175CC;}
dl.bdrBtm {border-bottom: 1px solid #50B5C3}
dl.bdrBtm dt {width: 280px; padding: 0 30px 20px 0;}
dl.bdrBtm dd {width: calc(100% - 280px); padding: 0 0 20px 30px; border-left: 1px solid #50B5C3;}
#outline03-03 li {padding-bottom: 15px; margin-bottom: 15px; border-bottom: 1px solid #50B5C3;}
@media screen and (max-width: 896px) {
	dl.bdrBtm dt {width: 200px; padding: 0 30px 20px 0;}
	dl.bdrBtm dd {width: calc(100% - 200px);}
}
@media screen and (max-width: 700px) {
	.orgImg {width: 700px;}
}
@media screen and (max-width: 568px) {
	dl.bdrBtm dt {width: 100%; padding: 0 0 10px 0; border-bottom: 1px dotted #50B5C3; color: #50B5C3; font-weight: 700;}
	dl.bdrBtm dd {width: 100%; padding: 10px 0 20px 0; border-left: none;}
}

.accessInfo {margin-right: 60px; margin-bottom: 20px;}
.accessInfo li {padding-left: 34px; margin-bottom: 10px; background: url("../img/about/access/01-02.svg") no-repeat left top;}
.accessInfo li.walking { background: url("../img/about/access/01-03.svg") no-repeat left top;}
.accessReference {margin-bottom: 20px;}
.accessReference .inlb {padding: 5px 10px; border-radius: 3px; background: #999;}
.accessReference li:not(:last-child) {margin-right: 30px;}
.accessReference li a {padding-right: 30px; background: url("../img/cmn/icon_window_gr.svg") no-repeat right center;}

#disc li {margin-bottom: 20px;}
#disc li a {display: flex; padding: 10px 70px 10px 0; border: 1px solid #50B5C3; border-radius: 5px; background: #FFF; color: #50B5C3; position: relative;}
#disc li a:hover {background: #50B5C3; color: #FFF;}
#disc li a::before,#disc li a::after {position: absolute; content: '';}
#disc li a::before {width: 60px; height: 100%; background: #50B5C3; right: 0; top: 0;}
#disc li a::after {width: 20px; height: 20px; background: url("../img/cmn/icon_pdf_wh.svg") no-repeat; right: 20px; top: 50%; transform: translateY(-50%);}
#disc li .num {width: 70px; display: inline-block; text-align: center; border-right: 1px solid #50B5C3; margin-right: 20px;}
#disc li .fileSize {font-weight: 400; margin-left: auto; font-size: 90%;}
#disc dt {width: calc(100% - 155px); padding-right: 20px;}
#disc dd {width: 155px;}
@media screen and (max-width: 896px) {
	#disc .col4 {width: calc(100% - 30px);}
	#disc li a {display: flex; flex-wrap: wrap;}
	#disc li .num {display: block;}
	#disc li .txt {display: block; width: calc(100% - 90px);}
}
@media screen and (max-width: 568px) {
	#disc dt {width: 100%; margin-bottom: 10px;}
	#disc dd {width: 140px;}
}

#link li {width: calc(100%/3 - 40px); margin: 0 20px 20px; border-bottom: 1px solid #50B5C3; display: flex; flex-direction: column; justify-content: center; background: #EEE;}
#link li a {display: block; padding: 10px 30px 10px 15px; background: #EEE url("../img/cmn/arrow_gr.svg") no-repeat right 10px center;}
#link li a:hover {background-position: right center;}
@media screen and (max-width: 896px) {
	#link li {width: calc(50% - 30px); margin: 0 15px 20px;}
}
@media screen and (max-width: 568px) {
	#link li {width: calc(100% - 30px); margin: 0 15px 10px;}
}

.postdata strong {font-weight: 700;}
.postdata a {text-decoration: underline; color: #0175CC;}
.post .postdata p:not(:last-of-type) {margin-bottom: 0;}
 
#org dl {width: 200px; margin-right: 40px; text-align: center; position: relative;}
#org dl:last-child {margin-right: 0;}
#org dt {background: #FFF; color: #222; padding: 6px 15px; border: 2px solid #0175CC; border-bottom: none; border-radius: 5px 5px 0 0; font-size: 20px; font-weight: 700; position: relative;}
#org dd {background: #0175CC; color: #FFF; padding: 2px 10px; border: 2px solid #0175CC; border-radius: 0 0 5px 5px; margin-bottom: 20px; font-size: 16px; font-weight: 700; font-family: "EB Garamond", serif; position: relative;}
#org dl.second,#org dl.third,#org dl.fourth {margin-top: 95px;}
#org dl.first dd:nth-child(2) {margin-bottom: 115px;}
#org dl.second dd:nth-child(2) {margin-bottom: 125px;}
#org dl.second dd:last-child {padding: 2px 0 0;}
#org ul {background: #D9EAF8; border-radius: 0 0 3px 3px; border-top: 2px solid #0175CC; padding: 10px 0;}
#org li {font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif; font-size: 20px; color: #222; line-height: 1.3;}
#org li:not(:last-child) {margin-bottom: 10px;}
#org dl.third {margin-right: 60px;}
#org dl.third dd:not(:last-child) {margin-bottom: 0; border-radius: 0;}
#org dl.third dt:not(:first-child) {border-radius: 0;}
#org dl.fourth {width: 320px;} 
#org dl.fourth > dd:nth-child(2) {margin-bottom: 325px;}
#org dl.fourth > dd:last-child {width: 200px; margin-left: auto; font-size: 20px; padding: 14px 0; border-radius: 5px;}
#org dl.fifth {position: absolute; left: calc(50% + 72px); top: 50px;}
#org dl.fifth dt {font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;}
#org dl.first dd:nth-child(2)::before,#org dl.second dd:nth-child(2)::before,#org dl.fourth dd:nth-child(2)::before {position: absolute; content: ''; background: #0175CC;}
#org dl.first dd:nth-child(2)::before {width: 2px; height: 115px; left: 50%; transform: translateX(-50%); bottom: -117px;}
#org dl.second dd:nth-child(2)::before {width: 2px; height: 125px; left: 50%; transform: translateX(-50%); bottom: -127px;}
#org dl.fourth > dd:nth-child(2)::before {width: 2px; height: 275px; left: 50%; transform: translateX(-50%); bottom: -260px;}
#org dl.second dt:first-child:before {position: absolute; content: ''; width: 142px; height: 2px; top: 33px; left: -142px; background: #0175CC;}
#org dl.third dt:first-child:before {position: absolute; content: ''; width: 42px; height: 2px; top: 33px; left: -42px; background: #0175CC;}
#org dl.fourth::before {position: absolute; content: ''; width: 2px; height: 1029px; top: 35px; left: -30px; background: #0175CC;}
#org dl.fourth > dt::before {position: absolute; content: ''; width: 30px; height: 2px; top: 33px; left: -30px; background: #0175CC;}
#org dl.fourth > dt:first-child:before {width: 62px; left: -62px;}
#org dl.fifth dt::before {position: absolute; content: ''; width: 75px; height: 2px; top: 33px; left: -75px; background: #0175CC;}
@media screen and (max-width: 1212px) {
	#org dt,#org li,#org dl.fourth dd:last-child {font-size: 18px;}
	#org dd {font-size: 14px;}
	#org dl,#org dl.fourth dd:last-child {width: 180px;}
	#org dl.fourth {width: 270px;} 
	#org dl.second dt:first-child:before {width: 132px; left: -132px;}
	#org dl.fourth > dd:nth-child(2)::before {bottom: -251px; height: 249px; left: 15%;}
	#org dl.fourth::before {height: 982px;}
	#org dl.fifth {left: calc(15% + 72px);}
}
@media screen and (max-width: 1020px) {
	#org .full {width: 928px;}
	#org dt {padding: 6px 10px;}
	#org dl.second, #org dl.third, #org dl.fourth {margin-top: 80px;}
	#org dl.first dd:nth-child(2) {margin-bottom: 90px;}
	#org dl.second dd:nth-child(2) {margin-bottom: 100px;}
	#org dt,#org li,#org dl.fourth dd:last-child {font-size: 16px;}
	#org dd {font-size: 12px;}
	#org dl,#org dl.fourth dd:last-child {width: 160px;}
	#org dl.fourth {width: 230px;} 
	#org dl.second dt:first-child:before {width: 132px; left: -132px;}
	#org dl.fourth > dd:nth-child(2)::before {bottom: -251px; height: 249px; left: 15%;}
	#org dl.fourth::before {height: 904px;}
	#org dl.fifth {left: calc(15% + 72px); top: 45px;}
	#org dl.fourth > dd:nth-child(2) {margin-bottom: 295px;}
	#org dl.fourth > dd:nth-child(2)::before {height: 904px;}
	#org dl.second dt:first-child:before {width: 122px; left: -122px;}
	#org dl.fourth > dd:nth-child(2)::before {bottom: -237px; height: 235px;}
}
