@charset "utf-8";

/*@import url('//use.fontawesome.com/releases/v5.6.3/css/all.css');*/
/*--------------------------------------------
  BASE
--------------------------------------------*/
html {
  font-size: 62.5%;
}
* {
  overflow-wrap: break-word;
}
body, html, input, select, textarea {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  color: #333;
}
.Mincho {
  font-family: 'Noto Serif JP', sans-serif;
  font-weight: 400;
}
body {
  font-size: 1.6rem;
  line-height: 1.6;
  background: #fff;
  overflow: auto;
}
a {
  color: #333;
  text-decoration: none;
  transition: .3s;
}
@media screen and (min-width : 768px ) {
a:hover {
  text-decoration: none;
}
}
button {
  font-size: 1.6rem;
}
.over {
  transition: .3s;
}
@media screen and (min-width : 768px ) {
.over:hover {
  opacity: 0.7;
}
.ios .over:hover,
.ios .over:active,
.ios .over:link,
.ios .over:visited,
.ios .over::focus {
  opacity: 1;
}
}
.cf:after {
  content: "";
  clear: both;
  display: block;
  height: 0;
}
:root .cf::after { /* IE9 */
  content: ""\9;
  clear: both\9;
  display: block\9;
  height: 0\9;
}
sub {
  vertical-align: sub;
  font-size: smaller;
}
table {
  width: 100%;
}
.none {
  display: none !important;
}
@media print, screen and (min-width : 576px ) {
  .for_ss {
    display: none !important;
  }
}
@media print, screen and (min-width : 768px ) {
  .for_sp {
    display: none !important;
  }
}
@media print, screen and (max-width : 767px ) {
  .not_sp {
    display: none !important;
  }
}
@media print, screen and (min-width : 992px ) {
  .for_tb {
    display: none !important;
  }
}
.for_npc {
  display: none;
}
@media print, screen and (min-width : 992px ) and (max-width : 1199px ) {
  .for_npc {
    display: block !important;
  }
}


/*--------------------------------------------
  WordPress Native Styles
--------------------------------------------*/
strong { font-weight: bold; }
em { font-style: italic; }
blockquote {
  display: block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 40px;
  -webkit-margin-end: 40px;
}
img.alignleft {
  margin: 0 auto 0 0;
}
img.aligncenter {
  display: block;
  margin: 0 auto;
}
img.alignright {
  display: block;
  margin: 0 0 0 auto;
}
img[class*="wp-image-"],
img[class*="attachment-"] {
  height: auto;
  max-width: 100%;
}

/*--------------------------------------------
  google map
--------------------------------------------*/
.ggmap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*--------------------------------------------
  Youtube
--------------------------------------------*/
.box_youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.box_youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/*--------------------------------------------
  GLOBAL CSS
--------------------------------------------*/
.ttl_01 {
  font-family: 'Noto Serif JP', sans-serif;
  font-size: 3.4rem;
  font-weight: 600;
  line-height: 1;
  border-left: 8px solid #29497b;
  padding-left: 20px;
  margin-bottom: 40px;
}
.btn_01 {
  text-align: center;
}
.btn_01 a {
  display: inline-block;
  color: #fff;
  line-height: 1;
  background: #29497b;
  border: 1px solid #29497b;
  padding: 1em 3em;
  transition: 0.4s;
}
@media screen and (min-width : 768px ) {
.btn_01 a:hover {
  color: #29497b;
  background: inherit;
}
}
.ofi {
  object-fit: cover;
  object-position: 50% 50%;
  font-family: 'object-fit: cover; object-position: 50% 50%;'
}

.img_full {
  display: block;
  width: 100%;
  height: auto;
}
.img_responsive {
  display: block;
  height: auto;
  max-width: 100%;
}
.center_block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.i_block {
  display: inline-block;
}
.block {
  display: block;
}


/* ####  UNDER  #### */
.bold {
  font-weight: bold;
}
.underline {
  text-decoration: underline;
}
.warning {
  color: red;
}
.green {
  color: #147465;
}
.highlight {
  padding: 0 .2em;
  background: linear-gradient(transparent 60%, #ffff66 60%);
}
.bg_gray {
  background-color: #eee;
}
.text_center {
  text-align: center;
}
.text_right {
  text-align: right;
}
.text_left {
  text-align: left;
}

.ev_none {
  pointer-events: none;
}
.events_sp {
  color: #3094b3;
}
@media screen and (min-width: 992px) {
  .events_sp {
    color: #151515;
    pointer-events: none;
  }
}

.mgt_sm {
  margin-top: .4em;
}
.mgt_md {
  margin-top: 1.8em;
}

.mgb_md {
  margin-bottom: 1.8em;
}
.mgb_lg {
  margin-bottom: 3em;
}
.mgb_xl {
  margin-bottom: 5em;
}

.maxw610 {
  width: 100%;
  max-width: 610px;
  margin-left: auto;
  margin-right: auto;
}

.under_text a:not([class]),
.water {
  color: #3094b3;
}
@media screen and (min-width: 992px) {
  .under_text a:not([class]):hover,
  a.water:hover {
    text-decoration: underline;
  }
}

.sec_wrap + .sec_wrap {
  padding-top: 3.5em;
}
.sec_wrap.bd_top {
  margin-top: 3em;
  border-top: 1px solid #d9d9d9;
}

.under_text:not(.mgb0),
.tbl_clear:not(.mgb0),
.gy_note:not(.mgb0),
.ul_deco:not(.mgb0),
.btn_area:not(.mgb0),
.flex_link:not(.mgb0),
.flex_link02:not(.mgb0),
.flex_news:not(.mgb0),
.tbl_2col01:not(.mgb0),
.tbl_2col02:not(.mgb0),
.img_2col:not(.mgb0),
.flex_2col:not(.mgb0),
.flex_3col:not(.mgb0),
.flex_4col:not(.mgb0),
.flex_boxlink:not(.mgb0),
.dl_faq:not(.mgb0),
.tbl_contact:not(.mgb0),
.table_wrap:not(.mgb0),
.ggmap:not(.mgb0) {
  margin-bottom: 1.3em;
}
.under_text.mgb_sm,
.tbl_clear.mgb_sm,
.gy_note.mgb_sm,
.ul_deco.mgb_sm,
.btn_area.mgb_sm,
.flex_link.mgb_sm,
.flex_link02.mgb_sm,
.flex_news.mgb_sm,
.tbl_2col01.mgb_sm,
.tbl_2col02.mgb_sm,
.img_2col.mgb_sm,
.flex_2col.mgb_sm,
.flex_3col.mgb_sm,
.flex_4col.mgb_sm,
.flex_boxlink.mgb_sm,
.dl_faq.mgb_sm,
.tbl_contact.mgb_sm,
.table_wrap.mgb_sm,
.ggmap.mgb_sm {
  margin-bottom: .4em;
}
.under_text:last-child,
.tbl_clear:last-child,
.gy_note:last-child,
.ul_deco:last-child,
.btn_area:last-child,
.flex_link:last-child,
.flex_link02:last-child,
.flex_news:last-child,
.tbl_2col01:last-child,
.tbl_2col02:last-child,
.img_2col:last-child,
.flex_2col:last-child,
.flex_3col:last-child,
.flex_4col:last-child,
.flex_boxlink:last-child,
.dl_faq:last-child,
.tbl_contact:last-child,
.table_wrap:last-child,
.ggmap:last-child {
  margin-bottom: 0;
}

.under_ttl01 {
  margin-bottom: 1em;
  padding: 1em 0;
  border-top: 3px solid #365687;
  border-bottom: 1px solid #cccccc;
  font-family: 'Noto Serif JP', sans-serif;
  font-weight: 600;
  font-size: 3rem;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
.under_ttl01.sm {
  padding: 1em 0 .8em;
  font-size: 2.2rem;
}
.under_ttl01.mgb0 {
  margin-bottom: 0;
}
.under_ttl02 {
  margin-bottom: 1.5em;
  padding: .6em 1em;
  background-color: #29497b;
  font-family: 'Noto Serif JP', sans-serif;
  font-weight: 600;
  font-size: 2rem;
  color: #fff;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
.under_ttl02.mgb_sm {
  margin-bottom: 1em;
}
.under_ttl02.mgb0 {
  margin-bottom: 0;
}
a.under_ttl02 {
  position: relative;
  display: block;
  padding-right: 2em;
}
a.under_ttl02:hover {
  opacity: .7;
}
a.under_ttl02::before {
  content: '\f105';
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  display: block;
  position: absolute;
  right: 1em;
  font-size: 2.4rem;
  color: #fff;
  line-height: 1;
}
.under_ttl02 {
  margin-bottom: 1.5em;
  padding: .6em 1em;
  background-color: #29497b;
  font-family: 'Noto Serif JP', sans-serif;
  font-weight: 600;
  font-size: 2rem;
  color: #fff;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
.under_ttl03 {
  margin-bottom: 1em;
  padding-left: .6em;
  border-left: 4px solid #29497b;
  font-family: 'Noto Serif JP', sans-serif;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
.under_ttl03.mgb0 {
  margin-bottom: 0;
}
.under_ttl04 {
  position: relative;
  margin-bottom: 1em;
  padding: .4em .8em;
  padding-left: 1.2em;
  background-color: #ddebfa;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
.under_ttl04::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: .4em;
  bottom: 0;
  margin: auto;
  width: 3px;
  height: 55%;
  background-color: #29497b;
}
.under_ttl04.lg {
  font-family: 'Noto Serif JP', sans-serif;
  font-weight: 600;
  font-size: 2rem;
}
.under_ttl05 {
  margin-bottom: 0.6em;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
.under_ttl05.mgb_sm {
  margin-bottom: 0.3em;
}

.under_text .sm {
  font-size: 1.3rem;
  line-height: 1.5;
}
.under_text.bdb_dashed {
  padding-bottom: 1.5em;
  border-bottom: 1px dashed #ddd;
}

.under_ttl02.accordion_js {
  position: relative;
  padding-right: 2em;
  cursor: pointer;
  transition: .4s;
}
.under_ttl02.accordion_js::before {
  content: '\f13a';
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  display: block;
  position: absolute;
  top: 0;
  right: 1em;
  bottom: 0;
  margin: auto;
  width: 2rem;
  height: 2rem;
  line-height: 1;
  transform: rotate(0deg);
  transition: .4s;
}
.under_ttl02.accordion_js.active::before {
  transform: rotate(180deg);
}
.under_ttl02.accordion_js:hover,
.under_ttl02.accordion_js:focus {
  opacity: .7;
}
.under_ttl02.accordion_js + .accordion_conts {
  display: none;
}
.accordion_js + .accordion_conts {
  padding: 2em;
  border: 1px solid #29497b;
}
.accordion_conts .sec_wrap + .sec_wrap {
  padding-top: 2em;
}

.hg_name {
  font-family: 'HG行書体', 'Noto Serif JP', sans-serif;
  font-size: 2.2rem;
}

.gr_box {
  width: 100%;
  padding: 3em;
  background-color: #f6f7f7;
}
.gr_box > * + * {
  margin-top: 1em;
}
@media screen and (max-width: 991px) {
  .gr_box {
    padding: 2em;
  }
}

.img_2col {
  display: table;
  table-layout: fixed;
  width: 100%;
}
.img_2col > * {
  display: table-cell;
  vertical-align: middle;
}
.img_2col > .va_top {
  vertical-align: top;
}
.img_2col > .nowrap {
  white-space: nowrap;
}
.img_2col > div:first-child {
  padding-right: 1em;
}
.img_2col > div:last-child {
  padding-left: 1em;
}
.img_2col .img_box.w20 {
  width: 20%;
}
.img_2col .img_box.w30 {
  width: 30%;
}
.img_2col .img_box.w40 {
  width: 40%;
}
.img_2col .img_box.w50 {
  width: 50%;
}

.nowrap tr > * {
  white-space: nowrap;
}

.tbl_clear {
  width: 100%;
  letter-spacing: 0.05em;
}
.tbl_clear tr > th,
.tbl_clear tr > td {
  padding: .4em .5em;
}
.tbl_clear tr > th {
  width: 105px;
  padding-left: 0;
  line-height: 1.3;
  vertical-align: top;
  white-space: nowrap;
}
.tbl_clear tr > th > span {
  display: block;
  padding: 0.3em 1em;
  background-color: #ddebfa;
  text-align: center;
  color: #29497b;
}
.tbl_clear tr > td {
  font-size: 1.8rem;
  line-height: 1.5;
}

.tbl_2col01 {
  width: 100%;
  letter-spacing: 0.05em;
}
.tbl_2col01 tr {
  border-bottom: 1px solid #cccccc;
}
.tbl_2col01 tr > th,
.tbl_2col01 tr > td {
  padding: 1.2em 1.2em 1.2em 0;
}
.tbl_2col01 tr > th {
  width: 12em;
  text-align: left;
  font-family: 'Noto Serif JP', sans-serif;
  vertical-align: top;
  white-space: nowrap;
}
.tbl_2col01 tr > th .lg {
  display: block;
  font-size: 2rem;
  line-height: 1.3;
}
.tbl_2col01 tr > td .bd_under {
  margin-right: -1.2em;
  margin-bottom: .8em;
  padding-right: 1.2em;
  padding-bottom: .8em;
  border-bottom: 1px solid #cccccc;
}

.tbl_2col02 {
  width: 100%;
  letter-spacing: 0.05em;
}
.tbl_2col02 tr {
  border-bottom: 1px solid #cccccc;
}
.tbl_2col02 tr:first-child {
  border-top: 1px solid #cccccc;
}
.tbl_2col02 tr > th,
.tbl_2col02 tr > td {
  padding: 1.5em;
}
.tbl_2col02 tr > th {
  position: relative;
  width: 12em;
  font-weight: normal;
  text-align: left;
  white-space: nowrap;
}
.tbl_2col02 tr > td {
  position: relative;
}
.tbl_2col02 tr > td::before {
  content: '';
  display: block;
  position: absolute;
  top: 1.2em;
  left: 0;
  bottom: 1.2em;
  margin: auto;
  width: 1px;
  background-color: #cccccc;
}

.th_lblue {
  width: 100%;
}
.th_lblue tr > th,
.th_lblue tr > td {
  padding: .8em .9em;
  border: 1px solid #ccc;
}
.th_lblue tr > th {
  background-color: #ddebfa;
  text-align: center;
  white-space: nowrap;
}
.th_lblue tr > td {
  background-color: #fff;
}
.th_lblue tr > td.bg_gray {
  background-color: #eee;
}
.th_lblue.col2 > tbody > tr:first-child > th:first-child,
.th_lblue.col2 > tbody > tr:first-child > td:first-child {
  width: 30%;
}
.th_lblue.col3 > tbody > tr:first-child > th,
.th_lblue.col3 > tbody > tr:first-child > td {
  width: 33.3333%;
}
.th_lblue.col4 > tbody > tr:first-child > th,
.th_lblue.col4 > tbody > tr:first-child > td {
  width: 25%;
}
.th_lblue.col5 > tbody > tr:first-child > th,
.th_lblue.col5 > tbody > tr:first-child > td {
  width: 20%;
}
.th_lblue.col6 > tbody > tr:first-child > th,
.th_lblue.col6 > tbody > tr:first-child > td {
  width: 16.6666%;
}
.th_lblue.col7 > tbody > tr:first-child > th,
.th_lblue.col7 > tbody > tr:first-child > td {
  width: 14.2857%;
}
.th_lblue > tbody > tr:first-child > th.w10p,
.th_lblue > tbody > tr:first-child > td.w10p {
  width: 10%;
}
.th_lblue.td_right > tbody > tr > td {
  text-align: right;
}

/* table レスポンシブ */
.table_wrap {
  min-height: .01%;
  overflow-x: auto;
}
@media screen and (max-width: 991px) {
  .table_wrap {
    width: 100%;
    margin-bottom: 15px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table_wrap > table {
    margin-bottom: 0;
  }
  .table_wrap > table > thead > tr > th,
  .table_wrap > table > tbody > tr > th,
  .table_wrap > table > tfoot > tr > th,
  .table_wrap > table > thead > tr > td,
  .table_wrap > table > tbody > tr > td,
  .table_wrap > table > tfoot > tr > td {
    white-space: nowrap;
  }

  .scroll_nav {
    position: relative;
    margin-top: -.2em;
    padding-right: 2.5em;
    text-align: right;
    font-size: 1.8rem;
  }
  .scroll_nav::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: .2em;
    bottom: 0;
    width: 1.8em;
    height: 1.8em;
    background: url('../Image/common/icon_swipe.png') center/contain no-repeat;
  }
}
/* table レスポンシブ END */


.gy_note {
  padding: 1.5em;
  background-color: #f7f7f7;
}

.ul_deco > li {
  position: relative;
  padding-left: 1.6em;
  line-height: 1.5;
}
.ul_deco > li + li {
  margin-top: .4em;
}
.ul_deco.li_mgt_md > li + li {
  margin-top: 1.5em;
}
.ul_deco > li > span {
  position: absolute;
  top: 0;
  left: 0;
}
.ul_deco > li > span.dot {
  position: absolute;
  top: .6em;
  left: .2em;
  width: .5em;
  height: .5em;
  border-radius: 50%;
  background-color: #151515;
}

.ul_deco.gy_list > li {
  padding: 1.5em;
  padding-left: 3em;
  border-bottom: 1px solid #cccccc;
  background-color: #f7f7f7;
}
.ul_deco.gy_list > li:first-child {
  border-top: 1px solid #cccccc;
}
.ul_deco.gy_list > li + li {
  margin-top: 0;
}
.ul_deco.gy_list > li > span {
  top: 1.5em;
  left: 1.8em;
}

.ul_deco.bd_dot > li {
  padding: 1.3em 1.5em;
  border-bottom: 1px solid #cccccc;
}
.ul_deco.bd_dot > li:first-child {
  padding-top: .5em;
}
.ul_deco.bd_dot > li + li {
  margin-top: 0;
}
.ul_deco.bd_dot > li > span {
  top: 1.9em;
}
.ul_deco.bd_dot > li:first-child > span {
  top: 1.1em;
}


.ul_deco.input_date > li {
  padding-left: 2em;
}
.ul_deco.input_date > li > span {
  top: .6em;
  left: 0;
}

.ul_btnlink {
  display: flex;
  flex-wrap: wrap;
  margin: 1.2em -.6em 0;
}
.ul_btnlink > li {
  width: 25%;
  margin-top: 1.2em;
  padding: 0 .6em;
}
.ul_btnlink > li > a {
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  min-height: 3.3em;
  padding: .6em 1em;
  padding-left: 2em;
  border: 1px solid #d9d9d9;
  border-top: 2px solid #29497b;
  font-family: 'Noto Serif JP', sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.1;
}
.ul_btnlink > li > a::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - .4em);
  left: .8em;
  width: .8em;
  height: .8em;
  background: url(../Image/common/icon_item01.png) center/contain no-repeat;
}
@media screen and (min-width : 768px) {
  .ul_btnlink > li > a:hover {
    background-color: #29497b;
    color: #fff;
  }
}
@media screen and (max-width: 991px) {
  .ul_btnlink {
    margin: .8em -.3em 0;
  }
  .ul_btnlink > li {
    width: 33.3333%;
    margin-top: .8em;
    padding: 0 .3em;
  }
  .ul_btnlink > li > a {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .ul_btnlink > li {
    width: 50%;
  }
}


.flex_link {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin-left: -.6em;
  margin-right: -.6em;
}
.flex_link > li {
  flex-basis: auto;
  width: 33.3333%;
  padding-left: .6em;
  padding-right: .6em;
}
.flex_link.col4 > li {
  width: 25%;
}
.flex_link > li > a {
  position: relative;
  display: block;
  height: 100%;
  padding: .8em 1.3em;
  border-bottom: 1px solid #e5e5e5;
  font-weight: normal;
  font-size: 1.6rem;
  line-height: 1.3;
}
.flex_link > li > a:hover {
  text-decoration: underline;
}
.flex_link > li > a::before {
  content: '';
  display: block;
  position: absolute;
  top: 1.1em;
  left: 0;
  width: .8em;
  height: .8em;
  background: url('../Image/common/icon_item09.png') center/contain no-repeat;
}
.flex_link > li > a.scroll_js::before {
  transform: rotate(90deg);
}
.flex_link > li > a.ev_none {
  color: #acacac;
}

.flex_link > li > a > .icon_window {
  position: relative;
  display: inline-block;
  padding-right: 1em;
}
.flex_link > li > a > .icon_window::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 11px;
  background: url(../Image/common/icon_window.png) center/contain no-repeat;
}

.flex_link02 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin-left: -.6em;
  margin-right: -.6em;
}
.flex_link02 > li {
  flex-basis: auto;
  width: 33.3333%;
  padding-left: .6em;
  padding-right: .6em;
}
.flex_link02 > li > a {
  position: relative;
  display: block;
  height: 100%;
  padding: 1.3em 1em;
  padding-left: 1.8em;
  border-bottom: 1px solid #e5e5e5;
  font-weight: normal;
  font-size: 1.8rem;
  line-height: 1.3;
  transition: .4s;
}
.flex_link02 > li > a:hover {
  background-color: #f6f7f7;
}
.flex_link02 > li > a::before {
  content: '\f105';
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  display: block;
  position: absolute;
  top: 1.3em;
  left: .8em;
  color: #29497b;
}
.flex_link02 > li > a > span {
  display: inline-block;
  padding-right: .4em;
  font-weight: bold;
  color: #29497b;
}

.flex_news > li {
  border-bottom: 1px solid #c9c9c9;
}
.flex_news > li.post_none {
  padding-bottom: 1em;
}
.flex_news > li > a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  padding: 1.2em 1em;
  transition: 0.3s;
}
@media screen and (min-width: 992px) {
  .flex_news > li > a:hover {
    background-color: #eee;
  }
}
.flex_news > li > a .date {
  display: block;
  flex-basis: auto;
  padding-right: 1.2em;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.flex_news > li > a .date .label {
  display: inline-block;
  width: 135px;
  margin-left: 1.2em;
  padding: .4em .5em;
  background-color: #92a6d5;
  font-weight: bold;
  text-align: center;
  font-size: 1.4rem;
  color: #fff;
  line-height: 1;
}
.flex_news > li > a .text {
  -ms-flex: 0 1 auto;
  flex-basis: auto;
  width: auto;
  display: block;
}

.ai_center {
  align-items: center;
}
.flex_2col {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin-left: -.6em;
  margin-right: -.6em;
}
.flex_2col .item {
  flex-basis: auto;
  width: 50%;
  padding-left: .6em;
  padding-right: .6em;
}
.flex_2col .item:not(.text_left) {
  text-align: center;
}
.flex_2col .item.w100 {
  width: 100%;
}
.flex_2col:not(.mgt_nth2) .item:nth-child(n+3) {
  margin-top: 1.8em;
}
.flex_2col.mgt_nth2 .item:nth-child(n+2) {
  margin-top: 1.8em;
}
.flex_2col .item > span {
  display: inline-block;
  margin-top: 0.4em;
}
.flex_2col .item.link > a {
  display: block;
  transition: 0.4s;
}
.flex_2col .item.link > a:hover {
  opacity: 0.7;
}
.flex_2col .item.link > a > span {
  display: inline-block;
  margin-top: 0.4em;
  color: #3094b3;
}
.flex_2col .item.link > a > .arrow {
  position: relative;
  padding-right: 1.6em;
}
.flex_2col .item.link > a > .arrow::after {
  content: '\f138';
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  text-align: center;
  line-height: 1;
  height: 1.4rem;
  font-size: 1.4rem;
}

.flex_3col {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  /*align-items: center;*/
  margin-left: -.6em;
  margin-right: -.6em;
}
.flex_3col .item {
  flex-basis: auto;
  width: 33.3333%;
  padding-left: .6em;
  padding-right: .6em;
  text-align: center;
}
.flex_3col .item.w100 {
  width: 100%;
}
.flex_3col .item:nth-child(n+4) {
  margin-top: 1.8em;
}
.flex_3col .item > span {
  display: inline-block;
  margin-top: 0.4em;
}
.flex_3col .item.link > a {
  display: block;
  transition: 0.4s;
}
.flex_3col .item.link > a:hover {
  opacity: 0.7;
}
.flex_3col .item.link > a > span {
  display: inline-block;
  margin-top: 0.4em;
  color: #3094b3;
}

.flex_4col {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin-left: -.6em;
  margin-right: -.6em;
}
.flex_4col .item {
  flex-basis: auto;
  width: 25%;
  padding-left: .6em;
  padding-right: .6em;
  text-align: center;
}
@media screen and (min-width: 992px) {
  .flex_4col .item:nth-child(n+5) {
    margin-top: 1.8em;
  }
}
.flex_4col .item > span {
  display: inline-block;
  margin-top: 0.4em;
}
.flex_4col .item.link > a {
  display: block;
  transition: 0.4s;
}
.flex_4col .item.link > a:hover {
  opacity: 0.7;
}
.flex_4col .item.link > a > span {
  display: inline-block;
  margin-top: 0.4em;
  font-size: 1.4rem;
}

.flex_boxlink {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin-left: -.6em;
  margin-right: -.6em;
}
.flex_boxlink > li {
  flex-basis: auto;
  width: 50%;
  padding-left: .6em;
  padding-right: .6em;
}
.flex_boxlink > li:nth-child(n+3) {
  margin-top: 1.5em;
}
.flex_boxlink > li > a {
  display: block;
  height: 100%;
  border: 1px solid #E5E5E5;
  transition: .3s;
}
.flex_boxlink > li > a:hover {
  background-color: #ddebfa;
  opacity: .9;
}
.flex_boxlink > li > a .ttl {
  position: relative;
  padding: .8em 1.5em;
  padding-left: 2em;
  background-color: #f7f7f7;
  border-bottom: 3px solid #365687;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.3;
  letter-spacing: .05em;
}
.flex_boxlink > li > a .ttl::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: .8em;
  bottom: 0;
  margin: auto;
  width: 12px;
  height: 13px;
  background: url('../Image/common/icon_item09.png') center/contain no-repeat;
}
.flex_boxlink > li > a .box_inr {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  padding: 1em 1.2em;
}
.flex_boxlink > li > a .box_inr .conts {
  width: 60%;
}
.flex_boxlink > li > a .box_inr .conts .btn_more {
  display: inline-block;
  font-weight: bold;
  font-size: 1.4rem;
  color: #29497b;
  line-height: 1.3;
}
.flex_boxlink > li > a .box_inr .image {
  width: 40%;
  padding-right: 1em;
}

.fx_2col_horizon {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -2.5em -1.25em 0;
}
.fx_2col_horizon > .item {
  width: 50%;
  margin-top: 2.5em;
  padding: 0 1.25em;
}
.fx_2col_horizon > .item > a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  border: 1px solid #dddddd;
  border-radius: .5em;
  overflow: hidden;
}
.fx_2col_horizon > .item > a .ofi_wrap {
  width: 50%;
  padding-top: 26%;
  overflow: hidden;
}
.fx_2col_horizon > .item > a .ofi_wrap > img {
  transition: .4s;
  backface-visibility: hidden;
}
.fx_2col_horizon > .item > a:hover .ofi_wrap > img,
.fx_2col_horizon > .item > a:focus .ofi_wrap > img {
  transform: scale(1.1);
}
.fx_2col_horizon > .item > a .conts {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
  padding: 1em;
  background-color: #fff;
  transition: .4s;
}
.fx_2col_horizon > .item > a:hover .conts,
.fx_2col_horizon > .item > a:focus .conts {
  background: #29497b;
  color: #fff;
}
.fx_2col_horizon > .item > a .conts > .title {
  font-weight: normal;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: .1rem;
  white-space: nowrap;
}


.dl_faq > dt {
  position: relative;
  padding: 1.5em 0 .8em 2.5em;
  font-size: 2rem;
  color: #29497b;
  line-height: 1.3;
}
.dl_faq > dt::before {
  content: 'Q';
  display: block;
  position: absolute;
  top: 1.3em;
  left: 0;
  padding: .2em .5em;
  border-radius: 50%;
  width: 1.8em;
  height: 1.8em;
  background-color: #29497b;
  color: #fff;
}
.dl_faq > dt:first-child {
  padding: .5em 0 .8em 2.5em;
}
.dl_faq > dt:first-child::before {
  top: .3em;
}
.dl_faq > dd {
  position: relative;
  padding: 1em 0 1.8em 3.3em;
  border-bottom: 1px solid #e5e5e5;
}
.dl_faq > dd::before {
  content: 'A';
  display: block;
  position: absolute;
  top: .6em;
  left: 0;
  padding: .1em .6em;
  border-radius: 50%;
  width: 1.8em;
  height: 1.8em;
  background-color: #ae3a2f;
  font-size: 2rem;
  color: #fff;
}

.ofi_wrap {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 70%;
}
.ofi_wrap > img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

.reading_glass {
  position: relative;
}
.reading_glass::before {
  content: "\f00e";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  position: absolute;
  z-index: 1;
  right: 1rem;
  bottom: 1rem;
  padding: 1rem;
  border-radius: 50%;
  background-color: #e9ecef;
  font-size: 2rem;
  line-height: 1;
  box-shadow: 0 0 5px rgba(0,0,0,.4);
  opacity: .9;
}

/* BTN */
.btn_c_blue {
  position: relative;
  display: inline-block;
  padding: .8em 1.5em .8em 2em;
  border-radius: 4px;
  border: 1px solid #29497b;
  font-weight: bold;
  font-size: 1.4rem;
  color: #29497b;
  line-height: 1.3;
  transition: 0.3s;
  backface-visibility: hidden;
}
.btn_c_blue::before {
  content: '';
  display: block;
  position: absolute;
  top: 1.2em;
  left: 1.2em;
  width: .5em;
  height: .5em;
  background: url('../Image/common/icon_item07.png') center/contain no-repeat;
}
.btn_c_blue:hover {
  background-color: #29497b;
  color: #fff;
}
.btn_c_blue:hover::before {
  background: url('../Image/common/icon_item04.png') center/contain no-repeat;
}

.btn_purple {
  position: relative;
  display: inline-block;
  padding: .8em 1.5em .8em 2em;
  background-color: #d07da9;
  border-radius: 4px;
  border: 1px solid #d07da9;
  font-weight: bold;
  font-size: 1.4rem;
  color: #fff;
  line-height: 1.3;
  transition: 0.3s;
  backface-visibility: hidden;
}
.btn_purple::before {
  content: '';
  display: block;
  position: absolute;
  top: 1.2em;
  left: 1.2em;
  width: .5em;
  height: .5em;
  background: url('../Image/common/icon_item04.png') center/contain no-repeat;
}
.btn_purple:hover {
  background-color: #fff;
  color: #d07da9;
}
.btn_purple:hover::before {
  background: url('../Image/common/icon_item10.png') center/contain no-repeat;
}

.btn_green {
  position: relative;
  display: inline-block;
  padding: .8em 1.5em .8em;
  background-color: #3DB9BB;
  border-radius: 4px;
  border: 1px solid #3DB9BB;
  text-align: center;
  font-size: 1.4rem;
  color: #fff;
  line-height: 1.3;
  transition: 0.3s;
  backface-visibility: hidden;
}
.btn_green:hover {
  background-color: #fff;
  color: #3DB9BB;
}
.btn_green .icon_window {
  position: relative;
  padding-right: 1.8rem;
}
.btn_green .icon_window::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 11px;
  background: url('../Image/common/icon_window_wh.png') center/contain no-repeat;
}
.btn_green:hover .icon_window::before {
  background: url('../Image/common/icon_window_gr.png') center/contain no-repeat;
}

.btn_1col {
  text-align: center;
}
.btn_1col:not(.mgt0) {
  margin-top: 2em;
}
.btn_1col.mgt_md:not(.mgt0) {
  margin-top: 3em;
}

.btn_2col {
  text-align: center;
}
.btn_2col.ta_left {
  text-align: left;
}
.btn_2col:not(.mgt0) {
  margin-top: 2em;
}
@media screen and (min-width : 576px ) {
  .btn_2col [class^="btn_"] + [class^="btn_"] {
    margin-left: 2em;
  }
}
@media screen and (max-width : 575px ) {
  .btn_2col [class^="btn_"] {
    min-width: 16em;
    /*text-align: left;*/
  }
  .btn_2col [class^="btn_"] + [class^="btn_"] {
    margin-top: 1.5em;
  }
}
.btn_blue {
  display: inline-block;
  min-width: 230px;
  padding: 1em 3em;
  background: #29497b;
  border: 1px solid #29497b;
  text-align: center;
  color: #fff;
  line-height: 1;
  cursor: pointer;
  transition: 0.4s;
}
@media screen and (min-width : 992px ) {
  .btn_blue:hover {
    color: #29497b;
    background: #fff;
  }
}
.btn_white {
  display: inline-block;
  min-width: 230px;
  padding: 1em 3em;
  background: #fff;
  border: 1px solid #29497b;
  text-align: center;
  color: #29497b;
  line-height: 1;
  cursor: pointer;
  transition: 0.4s;
}
@media screen and (min-width : 992px ) {
  .btn_white:hover {
    color: #fff;
    background: #29497b;
  }
}
.btn_gray {
  display: inline-block;
  min-width: 230px;
  padding: 1em 3em;
  border: 1px solid #ccc;
  background: #fff;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  transition: 0.4s;
}
@media screen and (min-width : 992px ) {
  .btn_gray:hover {
    color: #fff;
    background: #ccc;
  }
}
/* ####  UNDER END  #### */


/*--------------------------------------------
  HEADER
--------------------------------------------*/
#header {
  width: 100%;
  padding: 30px 0 0;
  border-top: 2px solid #29497b;
}
#header .hdr_inner {
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  #header .hdr_inner {
    max-width: 1230px;
    padding-left: 15px;
    padding-right: 15px;
  }
}
#header .head_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
#header .head_area .hdr_logo a {
  display: inline-block;
  transition: 0.4s;
}
@media screen and (min-width : 768px) {
#header .head_area .hdr_logo a:hover {
  opacity: 0.7;
}
}
#header .head_area .hdr_right .top_box {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 15px;
}
#header .head_area .hdr_right .top_box .text_change {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-right: 15px;
}
#header .head_area .hdr_right .top_box .text_change .text {
  font-size: 1.4rem;
  line-height: 1;
  margin-right: 8px;
}
#header .head_area .hdr_right .top_box .text_change .text_change_list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border: 1px solid #29497b;
  border-radius: 4px;
}
#header .head_area .hdr_right .top_box .text_change .text_change_list li {
  font-size: 1.4rem;
  padding: 6px 12px;
  line-height: 1;
  transition: 0.4s;
  cursor: pointer;
}
#header .head_area .hdr_right .top_box .text_change .text_change_list li.current,
#header .head_area .hdr_right .top_box .text_change .text_change_list li:hover {
  color: #fff;
  background: #29497b;
}
#header .head_area .hdr_right .top_box .lang_btn a {
  display: inline-block;
  color: #29497b;
  font-size: 1.5rem;
  line-height: 1;
  border: 1px solid #29497b;
  padding: 6px 20px;
  border-radius: 4px;
  transition: 0.4s;
}
@media screen and (min-width : 768px) {
#header .head_area .hdr_right .top_box .lang_btn a:hover {
  color: #fff;
  background: #29497b;
}
}

#header .head_area .hdr_right .btm_box {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  white-space: nowrap;
  padding-left: 1em;
}
#header .head_area .hdr_right .btm_box .btn_list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
#header .head_area .hdr_right .btm_box .btn_list li {
  margin-right: 20px;
}
#header .head_area .hdr_right .btm_box .btn_list li:last-child {
  margin-right: 0;
}
#header .head_area .hdr_right .btm_box .btn_list li a {
  display: inline-block;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  background: #29497b;
  border: 1px solid #29497b;
  border-radius: 4px;
  padding: 10px 20px 10px 35px;
  transition: 0.4s;
  position: relative;
}
#header .head_area .hdr_right .btm_box .btn_list li.info_btn a:before {
  display: inline-block;
  content: "";
  width: 13px;
  height: 13px;
  background: url(../Image/common/icon_info01.png) no-repeat;
  position: absolute;
  top: calc(50% - 6px);
  left: 17px;
}
#header .head_area .hdr_right .btm_box .btn_list li.access_btn a:before {
  display: inline-block;
  content: "";
  width: 10px;
  height: 12px;
  background: url(../Image/common/icon_access01.png) no-repeat;
  position: absolute;
  top: calc(50% - 6px);
  left: 20px;
}
#header .head_area .hdr_right .btm_box .btn_list li.contact_btn a:before {
  display: inline-block;
  content: "";
  width: 14px;
  height: 10px;
  background: url(../Image/common/icon_mail01.png) no-repeat;
  position: absolute;
  top: calc(50% - 5px);
  left: 14px;
}
@media screen and (min-width : 768px) {
#header .head_area .hdr_right .btm_box .btn_list li a:hover {
  color: #29497b;
  background: #fff;
}
#header .head_area .hdr_right .btm_box .btn_list li.info_btn a:hover:before {
  background: url(../Image/common/icon_info02.png) no-repeat;
}
#header .head_area .hdr_right .btm_box .btn_list li.access_btn a:hover:before {
  background: url(../Image/common/icon_access02.png) no-repeat;
}
#header .head_area .hdr_right .btm_box .btn_list li.contact_btn a:hover:before {
  background: url(../Image/common/icon_mail02.png) no-repeat;
}
}
#header .head_area .hdr_right .btm_box .search_form {
  padding-left: 1.2em;
}
.form_search {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  width: 100%;
  height: 2.3em;
  max-width: 15em;
  background-color: #fff;
  border: 1px solid #29497b;
  border-radius: 4px;
  overflow: hidden;
}
@media screen and (min-width: 992px) {
  .form_search {
    max-height: 38px;
  }
}
.form_search .input {
  flex-grow: 1;
  flex-basis: auto;
  width: calc( 100% - 2.5em );
}
.form_search .input > input {
  width: 100%;
  border: none !important;
  outline: none;
}
.form_search .btn {
  flex-basis: auto;
  width: 2.5em;
  height: 2.5em;
  padding: 0 .6em;
  border: none;
  outline: none;
  background-color: #29497b;
  color: #fff;
  cursor: pointer;
  transition: .4s;
}
.form_search .btn:hover,
.form_search .btn:focus {
  opacity: .7;
}

#header .gnavi {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
}
#header .gnavi > li {
  width: calc(100% / 6);
  text-align: center;
}
#header .gnavi > li > a {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  position: relative;
  transition: 0.4s;
}
#header .gnavi > li > a:before {
  display: inline-block;
  content: "";
  width: 1px;
  height: 18px;
  background: #d9d9d9;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
}
#header .gnavi > li:last-child > a::after {
  display: inline-block;
  content: "";
  width: 1px;
  height: 18px;
  background: #d9d9d9;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
}
#header .gnavi > li span,
#header .gnavi > li.active span {
  display: block;
  padding-bottom: 30px;
  position: relative;
}
@media screen and (min-width : 768px) {
#header .gnavi > li span:hover {
  color: #29497b;
}
}
#header .gnavi > li span:after,
#header .gnavi > li.active span:after {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  background: #29497b;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.4s;
}
@media screen and (min-width : 768px) {
#header .gnavi > li span:hover:after,
#header .gnavi > li.active span:after {
  height: 4px;
}
}
#header .gnavi .menu_wrap {
  display: none;
  width: 100%;
  position: absolute;
  top: 48px;
  left: 0;
  overflow: hidden;
  z-index: 100;
}
#header .gnavi .menu_wrap .menu_wrap_inner {
  /*height: 360px;*/
  background: #f7f4ed;
  margin: auto;
}
@media screen and (min-width: 992px) {
  #header .gnavi .menu_wrap .menu_wrap_inner {
    max-width: 1230px;
    padding: 2.5em;
  }
}
#header .gnavi .menu_wrap .menu_wrap_inner .flex_mega {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin-left: -15px;
  margin-right: -15px;
}
#header .gnavi .menu_wrap .menu_wrap_inner .flex_mega > .item {
  flex-basis: auto;
  width: 33.3333%;
  padding-left: 15px;
  padding-right: 15px;
  text-align: left;
}
#header .gnavi .menu_wrap .menu_wrap_inner .flex_mega > .item > .title {
  margin-bottom: .2em;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.3;
}
#header .gnavi .menu_wrap .menu_wrap_inner .flex_mega > .item > .ul_mega + .title {
  margin-top: 1.3em;
}
#header .gnavi .menu_wrap .menu_wrap_inner .flex_mega > .item > .ul_mega > li > a {
  position: relative;
  display: inline-block;
  padding: .2em 2em;
  line-height: 1.3;
  transition: .3s;
}
#header .gnavi .menu_wrap .menu_wrap_inner .flex_mega > .item > .ul_mega > li > a.ev_none {
  color: #acacac;
}
#header .gnavi .menu_wrap .menu_wrap_inner .flex_mega > .item > .ul_mega > li > a::before {
  content: '';
  display: block;
  position: absolute;
  top: .7em;
  left: 1em;
  width: 6px;
  height: 6px;
  background: url('../Image/common/icon_item05.png') center/contain no-repeat;
}
#header .gnavi .menu_wrap .menu_wrap_inner .flex_mega > .item > .ul_mega > li > a:hover {
  opacity: 0.7;
}
#header .gnavi .menu_wrap .menu_wrap_inner .flex_mega > .item > .ul_mega > li > a .icon_window {
  position: relative;
  display: inline-block;
  padding-right: 1em;
}
#header .gnavi .menu_wrap .menu_wrap_inner .flex_mega > .item > .ul_mega > li > a .icon_window::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 11px;
  background: url(../Image/common/icon_window.png) center/contain no-repeat;
}




/*--------------------------------------------
  FOOTER
--------------------------------------------*/
#footer {
  width: 100%;
  border-top: 3px solid #29497b;
}
#footer .ftr_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  #footer .ftr_inner {
    max-width: 1230px;
    padding-left: 15px;
    padding-right: 15px;
  }
}
#footer .ftr_top {
  padding: 50px 0;
}
#footer .ftr_top .left_box .ftr_logo {
  margin-bottom: 15px;
}
#footer .ftr_top .left_box .ftr_logo a {
  display: inline-block;
  transition: 0.4s;
}
@media screen and (min-width : 768px) {
#footer .ftr_top .left_box .ftr_logo a:hover {
  opacity: 0.7;
}
}
#footer .ftr_top .left_box .address_text {
  font-size: 1.5rem;
  line-height: 1;
  margin-bottom: 10px;
}
#footer .ftr_top .left_box .contact_text {
  font-size: 1.5rem;
  line-height: 1;
}
@media screen and (min-width : 768px ) {
#footer .ftr_top .left_box .contact_text a {
  pointer-events: none;
}
}
#footer .ftr_top .right_box {
  width: 520px;
}
#footer .ftr_top .right_box .navi_list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
#footer .ftr_top .right_box .navi_list li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: calc(100% / 3);
  padding-left: 15px;
  position: relative;
}
#footer .ftr_top .right_box .navi_list li:nth-child(n+4) {
  margin-top: 30px;
}
#footer .ftr_top .right_box .navi_list li:before {
  display: inline-block;
  content: "";
  width: 6px;
  height: 6px;
  background: url(../Image/common/icon_item06.png) no-repeat;
  position: absolute;
  top: calc(50% - 3px);
  left: 0px;
}
#footer .ftr_top .right_box .navi_list li a {
  display: inline-block;
  line-height: 1;
  position: relative;
  transition: 0.4s;
}
#footer .ftr_top .right_box .navi_list li a:after {
  display: inline-block;
  content: "";
  width: 100%;
  height: 2px;
  background: #29497b;
  position: absolute;
  bottom: 2px;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.4s;
}
@media screen and (min-width : 768px) {
#footer .ftr_top .right_box .navi_list li a:hover {
  color: #29497b;
}
#footer .ftr_top .right_box .navi_list li a:hover:after {
  bottom: -6px;
  opacity: 1;
  visibility: visible;
}
}
#footer .ftr_top .right_box .btn_list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
#footer .ftr_top .right_box .btn_list li {
  margin-right: 30px;
}
#footer .ftr_top .right_box .btn_list li:last-child {
  margin-right: 0;
}
#footer .ftr_top .right_box .btn_list li a {
  display: inline-block;
  color: #29497b;
  font-size: 1.4rem;
  line-height: 1;
  border: 1px solid #29497b;
  border-radius: 4px;
  padding: 10px 40px 10px 55px;
  transition: 0.4s;
  position: relative;
}
#footer .ftr_top .right_box .btn_list li.access_btn a:before {
  display: inline-block;
  content: "";
  width: 10px;
  height: 12px;
  background: url(../Image/common/icon_access02.png) no-repeat;
  position: absolute;
  top: calc(50% - 6px);
  left: 40px;
}
#footer .ftr_top .right_box .btn_list li.contact_btn a:before {
  display: inline-block;
  content: "";
  width: 14px;
  height: 10px;
  background: url(../Image/common/icon_mail02.png) no-repeat;
  position: absolute;
  top: calc(50% - 5px);
  left: 35px;
}
@media screen and (min-width : 768px) {
#footer .ftr_top .right_box .btn_list li a:hover {
  color: #fff;
  background: #29497b;
}
#footer .ftr_top .right_box .btn_list li.access_btn a:hover:before {
  background: url(../Image/common/icon_access01.png) no-repeat;
}
#footer .ftr_top .right_box .btn_list li.contact_btn a:hover:before {
  background: url(../Image/common/icon_mail01.png) no-repeat;
}
}
#footer .ftr_bottom {
  background: #29497b;
  padding: 15px 0;
}
#footer .ftr_bottom .copyright {
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
}
#footer .ftr_bottom .navi_list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
#footer .ftr_bottom .navi_list li {
  display: flex;
  padding-left: 10px;
  margin-right: 30px;
  position: relative;
}
#footer .ftr_bottom .navi_list li:last-child {
  margin-right: 0;
}
#footer .ftr_bottom .navi_list li:before {
  display: inline-block;
  content: "";
  width: 6px;
  height: 6px;
  background: url(../Image/common/icon_item04.png) no-repeat;
  position: absolute;
  top: calc(50% - 3px);
  left: 0;
}
#footer .ftr_bottom .navi_list li a {
  display: inline-block;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  position: relative;
}
#footer .ftr_bottom .navi_list li a:after {
  display: inline-block;
  content: "";
  width: 100%;
  height: 2px;
  background: #fff;
  position: absolute;
  bottom: 2px;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.4s;
}
@media screen and (min-width : 768px) {
#footer .ftr_bottom .navi_list li a:hover:after {
  bottom: -6px;
  opacity: 1;
  visibility: visible;
}
}


/*--------------------------------------------
  MAINIMAGE
--------------------------------------------*/
#top #mainimage {
  text-align: center;
}
#top #mainimage img {
  width: 100%;
  height: auto;
}
.under #mainimage {
  height: 25em;
}
.under #mainimage .mainimage_inner {
  height: 100%;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 992px) {
  .under #mainimage .mainimage_inner {
    max-width: 1230px;
    padding-left: 15px;
    padding-right: 15px;
  }
}
.under #mainimage .main_ttl {
  position: relative;
  height: 100%;
  font-family: 'Noto Serif JP', sans-serif;
  font-size: 3.0rem;
  font-weight: 600;
  line-height: 1;
}
.under #mainimage .main_ttl > span {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  display: block;
  width: 30%;
  padding: 1.8em 0.5em 1.8em 0;
}
.under #mainimage .main_ttl > span::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  background-color: #fff;
}


/*--------------------------------------------
  CONTENT
--------------------------------------------*/
.under #contents {
  padding: 0 0 5em;
}
#wrap_cts {
  display: flex;
  justify-content: space-between;
  flex-flow: row-reverse;
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  #wrap_cts {
    max-width: 1230px;
    padding-left: 15px;
    padding-right: 15px;
  }
}
#main_cts {
  width: 70%;
  padding-top: 4em;
}
#side_cts {
  position: relative;
  width: 30%;
  padding-top: 1.5em;
}


/*--------------------------------------------
  SIDEBAR
--------------------------------------------*/
@media screen and ( min-width: 992px ) {
  .mm-wrapper {
    overflow-x: visible;
  }
  .under .side_inner.sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
  }
  .under .side_inner .side_pd {
    padding-right: 20%;
  }
}

.under .side_nav > li {
  border-bottom: 1px solid #e5e5e5;
}
.under .side_nav > li > a,
.under .side_nav > li .btn_accordion {
  position: relative;
  display: block;
  padding: 1em;
  color: #343434;
  line-height: 1.3;
  cursor: pointer;
  transition: 0.6s;
}
.under .side_nav > li > a.ev_none {
  color: #acacac;
}
.under .side_nav > li > a::before {
  content: '';
  display: block;
  position: absolute;
  top: 1.5em;
  left: 0;
  width: 6px;
  height: 6px;
  background: url('../Image/common/icon_item05.png') center/contain no-repeat;
}
.under .side_nav > li > a::after {
  content: '';
  display: block;
  position: absolute;
  left: auto;
  right: 0;
  bottom: 0;
  width: 0%;
  height: 2px;
  background-color: #29497b;
  transition: 0.6s;
}
.under .side_nav > li > a .icon_window {
  position: relative;
  display: inline-block;
  padding-right: 1.8rem;
  font-weight: 500;
  color: #29497b;
}
.under .side_nav > li > a .icon_window::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 11px;
  background: url('../Image/common/icon_window.png') center/contain no-repeat;
}
@media screen and ( min-width: 992px ) {
  .under .side_nav > li > a:hover::after {
    left: 0;
    right: auto;
    width: 100%;
  }

  .under .side_nav > li .btn_accordion:hover {
    opacity: 0.7;
  }
}
.under .side_nav > li .btn_accordion > span {
  position: relative;
  display: inline-block;
  padding-right: 1.4em;
}
.under .side_nav > li .btn_accordion > span::before {
  content: '\f107';
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  color: #29497b;
}
.under .side_nav > li .btn_accordion.active > span::before {
  content: '\f106';
}
.under .side_nav > li .sub_nav {
  padding: 1em 1.5em;
  border-top: 1px solid #e5e5e5;
  background-color: #f6f7f7;
}
.under .side_nav > li .sub_nav > li + li {
  margin-top: .4em;
}
@media screen and (min-width: 992px) {
  .under .side_nav > li .sub_nav > li.for_tb + li {
    margin-top: 0;
  }
}
.under .side_nav > li .sub_nav > li > a {
  position: relative;
  display: inline-block;
  padding: .2em .8em;
  color: #343434;
  line-height: 1.3;
}
.under .side_nav > li .sub_nav > li > a.ev_none {
  color: #acacac;
}
.under .side_nav > li .sub_nav > li > a::before {
  content: '';
  display: block;
  position: absolute;
  top: .6em;
  left: 0;
  width: .38em;
  height: .50em;
  background: url('../Image/common/icon_item08.png') center/contain no-repeat;
}
.under .side_nav > li .sub_nav > li > a:hover {
  text-decoration: underline;
}

@media screen and ( min-width: 992px ) {
  .under .side_nav,
  .under .side_nav > li .sub_nav {
    display: block !important;
  }
}


/*--------------------------------------------
  PAGETOP
--------------------------------------------*/
#page_top {
  position: fixed;
  right: 3%;
  bottom: 8%;
  z-index: 2;
}
#page_top a {
  display: block;
  position: relative;
  width: 40px;
  height: 40px;
  color: #fff;
  font-size: 20px;
  line-height: 38px;
  text-align: center;
  background: #29497b;
  transition: 0.4s;
}
@media screen and (min-width : 768px ) {
#page_top a:hover {
  line-height: 28px;
}
}

/*--------------------------------------------
  BREADCRUMB
--------------------------------------------*/
#breadcrumb {
  background: #f7f7f7;
  padding: 0.8em 0;
}
#breadcrumb .breadcrumb_inner {
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  #breadcrumb .breadcrumb_inner {
    max-width: 1230px;
    padding-left: 15px;
    padding-right: 15px;
  }
}
#breadcrumb .breadcrumb_list {
  letter-spacing: -.4em;
}
#breadcrumb li {
  position: relative;
  display: inline-block;
  color: #333;
  font-size: 1.4rem;
  line-height: 1.3;
  letter-spacing: normal;
}
#breadcrumb li a {
  color: #333;
  text-decoration: underline;
}
#breadcrumb li a:hover {
  text-decoration: none;
}
#breadcrumb li:not(:last-child)::after {
  display: inline-block;
  content: "＞";
  color: #29497b;
  font-weight: bold;
  margin: 0 0.5em 0 0.6em;
}


/*--------------------------------------------
  ANIMATION
--------------------------------------------*/
.fade_up {
  transform: translateY(3rem);
  backface-visibility: hidden;
  transition: all .6s ease-in-out .2s;
  opacity: 0;
}
.page_loaded .fade_up.scrolled {
  transform: translateY(0);
  opacity: 1;
}

.show_left {
  position: relative;
  transform: scaleX(0);
  transition: transform .4s cubic-bezier(0.77, 0, 0.175, 1) .2s;
  transform-origin: left center;
  backface-visibility: hidden;
}
.ttl_01.show_left {
  display: inline-block;
}
.show_left.p_ab {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.show_left::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  background-color: #29497b;
  transition: width .6s cubic-bezier(0.77, 0, 0.175, 1) .4s;
  backface-visibility: hidden;
}
.page_loaded .show_left.scrolled {
  transform: scaleX(1);
}
.page_loaded .show_left.scrolled::before {
  width: 0%;
}
.show_left.gr {
  transition: transform .1s ease .2s;
}
.show_left.gr::before {
  background-color: #F6F7F7;
  transition: width .6s ease .2s;
}
.list_01 .show_left.gr::before {
  top: -2px;
}
.show_left.wt {
  transition: transform .1s ease .2s;
}
.show_left.wt::before {
  background-color: #fff;
  transition: width .6s ease .2s;
}


#page_loader {
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
}
#page_loader .logo_wrap {
  margin-top: 40vh;
}
#page_loader .logo_wrap .logo {
  padding: 2rem;
}
#page_loader #loader {
  display: block;
  margin-top: 3rem;
  width: 0%;
  height: 1px;
  background-color: #29497b;
}


.vegas-animation-kenburns {
  animation: kenburns ease-out;
}

@keyframes kenburns {
  0% {
    transform: scale(1.3);
  }
  100% {
    transform: scale(1);
  }
}