@charset "utf-8";

/*-------------------------------------
  TOP
--------------------------------------*/

/* TOP KEY */
.key_top {
  position: relative;
}
.slider_key {
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin-bottom: 0 !important;
  height: 32em;
}
.slider_key.-short {
  height: 25em;
}
.slider_key .slick-list,
.slider_key .slick-list .slick-track {
  height: 100%;
}
.slick-slide * {
  outline: none;
}
.slider_key .slick-dots {
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 2em;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
  width: calc(1200px + 10%);
  max-width: 100%;
  margin: 0 auto;
  padding: 0 5%;
}
.slider_key .slick-dots li {
  display: block;
  width: auto;
  height: auto;
  margin: 0 0.3em;
}
.slider_key .slick-dots li button {
  width: 3.5rem;
  height: 0.3rem;
  padding: 0;
  background-color: #fff;
}
.slider_key .slick-dots li.slick-active button {
  background-color: #285ad6;
}
.slider_key .slick-dots li button:before {
  display: none;
}

.key_top .slider_key .slick-slide .ofi_wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding-top: 0;
  overflow: hidden;
}
.key_top .slider_key .slick-slide .inner {
  z-index: 1;
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding-top: 4em;
  padding-bottom: 4em;
  text-align: center;
  color: #fff;
}
.key_top .slider_key .slick-slide.slide01 .inner {
  -ms-align-items: flex-start;
  align-items: flex-start;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .key_top .slider_key .slick-slide.slide01 .inner {
    justify-content: flex-end;
    padding-bottom: 10em;
  }
}
.key_top .slider_key .slick-slide .inner .title {
  font-weight: 700;
  font-size: 4.4rem;
  line-height: 1.3;
}
.key_top .slider_key .slick-slide .inner .sup {
  margin-top: 0.5em;
  font-size: 1.8rem;
  line-height: 1.5;
}

.key_top .slider_key .slick-slide.slide03 .inner .title {
  font-weight: 700;
  font-family: arial, helvetica, sans-serif;
  font-size: 8rem;
  line-height: 1.3;
  text-shadow: 0 0 1rem rgba(64, 145, 210, 0.8), 0 0 1rem rgba(64, 145, 210, 0.8), 0 0 1rem rgba(64, 145, 210, 0.8),
    0 0 1rem rgba(64, 145, 210, 0.8), 0 0 1rem rgba(64, 145, 210, 0.8);
}
.key_top .slider_key .slick-slide.slide03 .inner .sup {
  text-shadow: 0 0 0.6rem rgba(64, 145, 210, 0.8), 0 0 0.6rem rgba(64, 145, 210, 0.8),
    0 0 0.6rem rgba(64, 145, 210, 0.8), 0 0 0.6rem rgba(64, 145, 210, 0.8), 0 0 0.6rem rgba(64, 145, 210, 0.8),
    0 0 0.6rem rgba(64, 145, 210, 0.8), 0 0 0.6rem rgba(64, 145, 210, 0.8);
}

@media screen and (max-width: 1399px) {
  .slider_key {
    height: 26em;
  }
}
@media screen and (max-width: 991px) {
  .key_top .slider_key .slick-slide.slide01 .ofi_wrap > img {
    object-position: 70% center;
    font-family: "object-fit: cover;object-position:70% center;";
  }

  .key_top .slider_key .slick-slide .inner .title {
    font-size: 3.4rem;
  }
  .key_top .slider_key .slick-slide .inner .sup {
    font-size: 1.6rem;
  }

  .key_top .slider_key .slick-slide.slide03 .inner .title {
    font-size: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .key_top .slider_key .slick-slide.slide01 .ofi_wrap > img {
    object-position: 65% center;
    font-family: "object-fit: cover;object-position:65% center;";
  }

  .key_top .slider_key .slick-slide.slide03 .inner .title {
    font-size: 5rem;
  }

  /*.slider_key .slick-dots {
    justify-content: center;
  }*/
  .slider_key .slick-dots li {
    margin: 0 0.6em;
  }
  .slider_key .slick-dots li button {
    height: 0.4rem;
  }
}
@media screen and (max-width: 575px) {
}

/* key animation */
@keyframes scale {
  0% {
    transform: scale(1.3);
  }
  100% {
    transform: scale(1);
  }
}
.key_top .slider_key .slick-slide.slick-active .ofi_wrap > img {
  /*animation: scale 5s cubic-bezier(0.215, 0.61, 0.355, 1) both;*/
  animation: scale 8.5s cubic-bezier(0.215, 0.61, 0.355, 1) both;
}

@keyframes moveLeft {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
.key_text > .inner > .title {
  overflow: hidden;
}
.key_text > .inner > .title > span {
  display: block;
  animation: moveLeft 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1) both;
}
.key_text > .inner > .sup {
  overflow: hidden;
}
.key_text > .inner > .sup > span {
  display: block;
  animation: moveLeft 1s 1.4s cubic-bezier(0.215, 0.61, 0.355, 1) both;
}

/* img-link */
.fx_imglink {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -0.3em -0.15em 0;
}
.fx_imglink .item {
  width: 16.6666%;
  margin-top: 0.3em;
  padding: 0 0.15em;
}
.fx_imglink .item > a {
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 9em;
  padding: 1em 0.5em;
}
.fx_imglink.-top .item>a {
  min-height: 12rem;
}
.fx_imglink.-top .item {
  width: 50%;
  padding: 0 0.5em;
}

.fx_imglink .item > a .ofi_wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding-top: 0;
  overflow: hidden;
}
.fx_imglink .item > a .ofi_wrap > img {
  backface-visibility: hidden;
}
@media screen and (min-width: 992px) {
  .fx_imglink .item > a .ofi_wrap > img {
    transition: 0.4s;
  }
  .top_link {
    padding-top: 1.75em;
    padding-bottom: 1.75em;
  }
}
.fx_imglink .item > a:hover .ofi_wrap > img,
.fx_imglink .item > a:focus .ofi_wrap > img {
  transform: scale(1.1);
}
.fx_imglink .item > a .text {
  z-index: 1;
  position: relative;
  text-align: center;
  font-weight: 700;
  font-size: 1.7rem;
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.05rem;
}

.fx_imglink.-top .item > a .text {
  font-size: 2.8rem;
}

.fx_imglink.lg {
  margin: -3em -1.5em 0;
}
.fx_imglink.lg .item {
  width: 33.3333%;
  margin-top: 3em;
  padding: 0 1.5em;
}
.fx_imglink.lg .item > a {
  align-items: flex-end;
  min-height: 14em;
  padding: 1.2em;
}
.fx_imglink.lg .item > a::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 40%;
  background: -moz-linear-gradient(top, rgba(30, 87, 153, 0) 0%, rgba(6, 17, 31, 0.7) 80%, rgba(0, 0, 0, 0.7) 100%);
  background: -webkit-linear-gradient(top, rgba(30, 87, 153, 0) 0%, rgba(6, 17, 31, 0.7) 80%, rgba(0, 0, 0, 0.7) 100%);
  background: linear-gradient(to bottom, rgba(30, 87, 153, 0) 0%, rgba(6, 17, 31, 0.7) 80%, rgba(0, 0, 0, 0.7) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001e5799', endColorstr='#b3000000',GradientType=0 );
}
.fx_imglink.lg .item > a .text {
  font-weight: 500;
  font-size: 2.4rem;
}


@media screen and (max-width: 1199px) {
  .fx_imglink .item > a .text {
    font-size: 1.6rem;
  }
  .fx_imglink.-top .item>a .text {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 991px) {
  .fx_imglink .item {
    width: 33.3333%;
  }
  .fx_imglink .item > a {
    height: 18vw;
    min-height: 0;
  }
  .fx_imglink .item > a .text {
    font-size: 1.8rem;
  }
  .fx_imglink.-top .item>a .text {
    font-size: 1.8rem;
  }
  .fx_imglink.-top .item {
    width: 50%;
  }


  .fx_imglink.lg {
    margin: -3% -1.5% 0;
  }
  .fx_imglink.lg .item {
    margin-top: 3%;
    padding: 0 1.5%;
  }
  .fx_imglink.lg .item > a {
    min-height: auto;
  }
  .fx_imglink.lg .item > a .text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .fx_imglink .item > a {
    height: 22vw;
  }
  .fx_imglink .item > a .text {
    font-size: 1.4rem;
    line-height: 1.3;
  }
}
@media screen and (max-width: 575px) {
  .fx_imglink .item > a .text {
    font-size: 1.3rem;
  }
  .fx_imglink.-top .item > a .text {
    font-size: 1.3rem;
  }

  .fx_imglink.lg .item {
    width: 50%;
  }
  .fx_imglink.lg .item > a {
    height: 28vw;
    padding: 1em;
  }
}

/* sec_pickup */
.sec_pickup {
  background: url("../image/top/bg_pickup.jpg") center/cover;
}
.sec_pickup.-top {
  padding-top: 2em;
}

.fx_pickup {
  margin: -3em -1.5em 0;
}
.fx_pickup:not(.slider_pickup) {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
}
.fx_pickup .item {
  margin-top: 3em;
  padding: 0 1.5em;
}
.fx_pickup .item > a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  background-color: #fff;
}
.fx_pickup .item > a .pd_box {
  padding: 1.8em;
}
.fx_pickup .item > a .pd_box .title {
  position: relative;
  margin-bottom: 1.6em;
  padding-bottom: 0.4em;
  border-bottom: 0.2rem solid #285ad6;
  text-align: center;
  font-weight: 400;
  font-size: 1.8rem;
  color: #285ad6;
  line-height: 1.3;
  letter-spacing: -0.15rem;
}
@media screen and (min-width: 992px) {
  .fx_pickup .item > a .pd_box .title {
    transition: 0.4s;
  }
}
.fx_pickup .item > a:hover .pd_box .title,
.fx_pickup .item > a:focus .pd_box .title {
  border-bottom: 0.2rem solid #48a5d6;
  color: #48a5d6;
}
.fx_pickup .item > a .pd_box .title::before,
.fx_pickup .item > a .pd_box .title::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1rem;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1rem 0.55em 0 0.55em;
  border-color: #285ad6 transparent transparent transparent;
}
@media screen and (min-width: 992px) {
  .fx_pickup .item > a .pd_box .title::before {
    transition: 0.4s;
  }
}
.fx_pickup .item > a:hover .pd_box .title::before,
.fx_pickup .item > a:focus .pd_box .title::before {
  border-top-color: #48a5d6;
}
.fx_pickup .item > a .pd_box .title::after {
  bottom: -0.75rem;
  border-top-color: #fff;
}
.fx_pickup .item > a .pd_box .ofi_wrap {
  padding-top: 70%;
  overflow: hidden;
}
.fx_pickup .item > a .pd_box .ofi_wrap > img {
  backface-visibility: hidden;
}
@media screen and (min-width: 992px) {
  .fx_pickup .item > a .pd_box .ofi_wrap > img {
    transition: 0.4s;
  }
}
.fx_pickup .item > a:hover .pd_box .ofi_wrap > img,
.fx_pickup .item > a:focus .pd_box .ofi_wrap > img {
  transform: scale(1.1);
}
.fx_pickup .item > a .sup {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5em 2em;
  min-height: 4.4em;
  background-color: #f5f5f5;
  line-height: 1.3;
}
@media screen and (min-width: 992px) {
  .fx_pickup .item > a .sup {
    transition: 0.4s;
  }
}
.fx_pickup .item > a:hover .sup,
.fx_pickup .item > a:focus .sup {
  color: #285ad6;
}

.slider_pickup.fx_pickup {
  margin-top: 0;
}
.slider_pickup .slick-track {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.slider_pickup .slick-track .slick-slide {
  height: auto;
  margin-top: 0;
  float: none;
}
.slider_pickup .slick_prev,
.slider_pickup .slick_next {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  width: 3em;
  height: 3em;
  padding: 0;
  background-color: #285ad6;
  border: none;
  outline: none;
  cursor: pointer;
}
.slider_pickup .slick_prev > .icon_arrow {
  transform: rotate(180deg);
}
.slider_pickup .slick_prev > .icon_arrow,
.slider_pickup .slick_next > .icon_arrow {
  width: 1.1em;
  height: 1.1em;
  fill: #fff;
}
.slider_pickup .slick_next {
  left: auto;
  right: 0;
}
.slider_pickup .slick_prev:hover,
.slider_pickup .slick_prev:focus,
.slider_pickup .slick_next:hover,
.slider_pickup .slick_next:focus {
  opacity: 0.9;
}

.bd_form {
  display: block;
  width: 44em;
  max-width: 100%;
  margin: 2em auto 0;
  background-color: #fff;
  border: 0.2rem solid #285ad6;
}
.bd_form.w100p {
  width: 100%;
}
.bd_form.mgt0 {
  margin-top: 0;
}
.fx_search {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.fx_search > .s_input {
  flex-grow: 1;
}
.fx_search > .s_input input[name="s"],
.fx_search > .s_input input[name="text"] {
  padding: 0.8em 1.2em;
  border: none;
  outline: none;
  font-size: 1.6rem;
}
.fx_search > button {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5em;
  padding: 0.4em 0.3em 0.3em;
  background: #fff;
  border: none;
  outline: none;
  cursor: pointer;
}
.fx_search > button .icon_search02 {
  width: 1.2em;
  height: 1.2em;
  fill: #285ad6;
}
@media screen and (min-width: 992px) {
  .fx_search > button .icon_search02 {
    transition: 0.4s;
  }
}
.fx_search > button:hover .icon_search02,
.fx_search > button:focus .icon_search02 {
  fill: #48a5d6;
}

@media screen and (max-width: 991px) {
  .fx_pickup {
    margin: -2em -0.6em 0;
  }
  .fx_pickup .item {
    margin-top: 2em;
    padding: 0 0.6em;
  }
  .fx_pickup .item > a .pd_box {
    padding: 1.5em 1.2em;
  }
  .fx_pickup .item > a .pd_box .title {
    font-size: 1.6rem;
  }
  .fx_pickup .item > a .sup {
    padding: 0.5em 1.2em;
    min-height: 3.8em;
    font-size: 1.4rem;
  }

  .slider_pickup .slick_prev,
  .slider_pickup .slick_next {
    width: 2.8em;
    height: 2.8em;
  }
}
@media screen and (max-width: 767px) {
  .fx_pickup {
    margin: -2em -0.3em 0;
  }
  .fx_pickup .item {
    padding: 0 0.3em;
  }
  .fx_pickup .item > a .pd_box {
    padding: 1.2em 1em;
  }
  .fx_pickup .item > a .pd_box .title {
    font-size: 1.4rem;
  }
  .fx_pickup .item > a .sup {
    padding: 0.5em 1em;
    font-size: 1.2rem;
  }

  .bd_form {
    margin-top: 4em;
  }
}

/* sec_news */
.ul_tab {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -1em -0.5em 1.25em;
}
.ul_tab > li {
  margin-top: 1em;
  padding: 0 0.5em;
}
.ul_tab > li > a {
  display: block;
  padding: 0.6em 1.2em;
  line-height: 1.3;
  transform: skewX(-20deg);
}
.ul_tab > li > a:hover,
.ul_tab > li > a:focus {
  color: #285ad6;
}
.ul_tab > li > a.active {
  background-color: #eeeeee;
  color: #333;
  pointer-events: none;
}
.ul_tab > li > a > span {
  display: block;
  transform: skewX(20deg);
}
.ul_tab.under {
  margin-bottom: 2.5em;
}
.ul_tab.under > li > a.active {
  background-color: #285ad6;
  color: #fff;
}

.ul_tab.active_blue > li > a {
  background-color: #eeeeee;
  color: #333;
}
.ul_tab.active_blue > li > a.active {
  background-color: #285ad6;
  color: #fff;
  pointer-events: none;
}

.ul_tab.tab_blue {
  margin-bottom: 1.8em;
  justify-content: flex-start;
}
.ul_tab.tab_blue > li > a {
  min-width: 7.8em;
  border: 1px solid #285ad6;
  text-align: center;
  transform: skewX(0);
}
.ul_tab.tab_blue > li > a:hover,
.ul_tab.tab_blue > li > a:focus {
  background: #eff7ff;
}
.ul_tab.tab_blue > li > a.active {
  background-color: #285ad6;
  color: #fff;
  pointer-events: none;
}
.ul_tab.tab_blue > li > a > span {
  transform: skewX(0);
}

.tab_conts > div {
  display: none;
}

.ul_news > li {
  border-bottom: 1px solid #eee;
}
.ul_news > li:first-child {
  border-top: 1px solid #eee;
}
.ul_news > li > a {
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: flex-start;
  padding: 1.25em 0;
  padding-right: 2.5em;
}
.ul_news > li > a:hover,
.ul_news > li > a:focus {
  color: #285ad6;
}
.ul_news > li > a .label_time {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  padding-right: 3em;
  white-space: nowrap;
}
.ul_news > li > a .label_time time {
  display: block;
  margin-left: 2.5em;
  font-size: 1.4rem;
  line-height: 1.3;
}
.ul_news > li > a .text > span {
  position: relative;
  display: inline-block;
  padding-right: 2em;
}
.ul_news > li > a .text > span .icon_pdf {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 1.1em;
  height: 1.1em;
}
.ul_news > li > a .text > span .icon_pdf .use_pdf_bg {
  fill: #fff;
}
.ul_news > li > a .text > span .icon_pdf .use_pdf_line {
  fill: #db3759;
}
.ul_news > li > a .icon_arrow02 {
  position: absolute;
  top: 0;
  right: 0.5em;
  bottom: 0;
  margin: auto;
  width: 1.1em;
  height: 1.1em;
}
@media screen and (min-width: 992px) {
  .ul_news > li > a .icon_arrow02 {
    transition: 0.4s;
  }
}
.ul_news > li > a:hover .icon_arrow02,
.ul_news > li > a:focus .icon_arrow02 {
  right: 0;
  fill: #db3759;
}

@media screen and (max-width: 991px) {
  .ul_tab {
    margin: -1em -0.5em 1.5em;
  }
  .ul_tab > li > a {
    padding: 0.6em 0.8em;
    font-size: 1.4rem;
  }

  .ul_tab.under {
    margin-bottom: 2em;
  }

  .ul_news > li > a {
    padding: 1em 0;
    padding-right: 2.5em;
  }
  .ul_news > li > a .label_time {
    padding-right: 2.5em;
  }
  .ul_news > li > a .text {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .ul_tab.text_sm_ss > li > a {
    font-size: 1.3rem;
  }

  .ul_news > li > a {
    flex-wrap: wrap;
  }
  .ul_news > li > a > * {
    width: 100%;
  }
  .ul_news > li > a .label_time {
    margin-bottom: 0.6em;
    padding-right: 0;
  }
  .ul_news > li > a .label_time time {
    margin-left: 1.5em;
  }
}

/*--------------------------------------------
  UNDER COMMON
--------------------------------------------*/
.key_under {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  height: 10em;
  padding: 2em 0;
  background-color: #285ad6;
}
.key_under > .inner > .title {
  font-weight: 400;
  font-size: 3rem;
  color: #fff;
  line-height: 1.3;
  letter-spacing: 0.1rem;
}

@media screen and (max-width: 991px) {
  .key_under {
    height: 8em;
  }
  .key_under > .inner > .title {
    font-size: 2.4rem;
  }
}

/*--------------------------------------------
  products
--------------------------------------------*/
/* products main */
.fx_cat {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: -2em -1em 0;
}
.fx_cat > .item {
  width: 33.3333%;
  margin-top: 2em;
  padding: 0 1em;
}
.fx_cat > .item > a {
  display: block;
  height: 100%;
  background-color: #fff;
  border-bottom: 0.2rem solid #285ad6;
}
.fx_cat > .item > a > .title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 3.8em;
  padding: 0.4em 0.6em;
  background-color: #eeeeee;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.3;
  letter-spacing: 0.1rem;
}
@media screen and (min-width: 992px) {
  .fx_cat > .item > a > .title {
    transition: 0.4s;
  }
}
.fx_cat > .item > a:hover > .title,
.fx_cat > .item > a:focus > .title {
  color: #285ad6;
}
.fx_cat > .item > a > .conts {
  padding: 1.8em 1.5em;
}
.fx_cat > .item > a > .conts .ofi_wrap {
  overflow: hidden;
}
.fx_cat > .item > a > .conts .ofi_wrap > img {
  backface-visibility: hidden;
}
@media screen and (min-width: 992px) {
  .fx_cat > .item > a > .conts .ofi_wrap > img {
    transition: 0.4s;
  }
}
.fx_cat > .item > a:hover > .conts .ofi_wrap > img,
.fx_cat > .item > a:focus > .conts .ofi_wrap > img {
  transform: scale(1.1);
}
.fx_cat > .item > a > .conts > .text {
  margin-top: 1.5em;
}

.fx_cat > .item > .vertical > .item + .item {
  margin-top: 2em;
}
.fx_cat > .item > .vertical > .item > a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
}
.fx_cat > .item > .vertical > .item > a > .imgbox {
  width: 47%;
}
.fx_cat > .item > .vertical > .item > a > .imgbox > .ofi_wrap {
  padding-top: 104%;
  overflow: hidden;
}
.fx_cat > .item > .vertical > .item > a > .imgbox > .ofi_wrap > img {
  backface-visibility: hidden;
}
@media screen and (min-width: 992px) {
  .fx_cat > .item > .vertical > .item > a > .imgbox > .ofi_wrap > img {
    transition: 0.4s;
  }
}
.fx_cat > .item > .vertical > .item > a:hover > .imgbox > .ofi_wrap > img,
.fx_cat > .item > .vertical > .item > a:focus > .imgbox > .ofi_wrap > img {
  transform: scale(1.1);
}
.fx_cat > .item > .vertical > .item > a > .conts {
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 53%;
  padding: 1em 0.6em;
  background-color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.3;
}
.fx_cat > .item > .vertical > .item > a > .conts::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -0.5em;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5em 0.5em 0.5em 0;
  border-color: transparent #fff transparent transparent;
}
@media screen and (min-width: 992px) {
  .fx_cat > .item > .vertical > .item > a > .conts {
    transition: 0.4s;
  }
}
.fx_cat > .item > .vertical > .item > a:hover > .conts,
.fx_cat > .item > .vertical > .item > a:focus > .conts {
  color: #285ad6;
}

.fx_cat > .item > .vertical > .item.not_img > a > .conts {
  width: 100%;
  min-height: 5em;
}
.fx_cat > .item > .vertical > .item.not_img > a > .conts::before {
  display: none;
}

@media screen and (max-width: 991px) {
  .fx_cat {
    margin: -1.5em -1.5% 0;
  }
  .fx_cat > .item {
    width: 50%;
    margin-top: 1.5em;
    padding: 0 1.5%;
  }
  .fx_cat > .item > a > .title {
    height: 3.6em;
    font-size: 1.6rem;
  }
  .fx_cat > .item > a > .conts {
    padding: 1.5em 1.2em;
  }
  .fx_cat > .item > a > .conts > .text {
    margin-top: 1.2em;
  }

  .fx_cat > .item.item_vertical {
    width: 100%;
  }
  .fx_cat > .item.item_vertical .vertical {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    margin: -1.5em -1.5% 0;
  }
  .fx_cat > .item.item_vertical > .vertical > .item {
    width: 50%;
    margin-top: 1.5em;
    padding: 0 1.5%;
  }
  .fx_cat > .item > .vertical > .item > a > .conts {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 575px) {
  .fx_cat > .item > a > .conts {
    padding: 1.2em 1em;
  }
  .fx_cat > .item > a > .conts > .text {
    margin-top: 1em;
  }

  .fx_cat > .item > .vertical > .item > a > .conts {
    padding: 1em 0.4em;
    font-size: 1.4rem;
    letter-spacing: -0.05rem;
  }
}

/* nav */
.fx_nav {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: -2em -1em 0;
}
.fx_nav > .item {
  width: 50%;
  margin-top: 2em;
  padding: 0 1em;
}
.fx_nav > .item > a {
  display: block;
}
.fx_nav > .item > a .ofi_wrap {
  padding-top: 42%;
  overflow: hidden;
}
.fx_nav > .item > a .ofi_wrap > img {
  backface-visibility: hidden;
}
@media screen and (min-width: 992px) {
  .fx_nav > .item > a .ofi_wrap > img {
    transition: 0.4s;
  }
}
.fx_nav > .item > a:hover .ofi_wrap > img,
.fx_nav > .item > a:focus .ofi_wrap > img {
  transform: scale(1.05);
}
.fx_nav > .item > a > dl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin-top: 1.25em;
}
.fx_nav > .item > a > dl > dt {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13rem;
  padding: 0.6em;
  background-color: #285ad6;
  text-align: center;
  font-size: 1.8rem;
  color: #fff;
  line-height: 1.3;
  letter-spacing: 0.1rem;
  white-space: nowrap;
}
.fx_nav > .item > a > dl > dd {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  width: calc(100% - 13rem);
  padding: 0.6em 0;
  padding-left: 1em;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: -0.1rem;
}
@media screen and (min-width: 992px) {
  .fx_nav > .item > a > dl > dd {
    transition: 0.4s;
  }
}
.fx_nav > .item > a:hover > dl > dd,
.fx_nav > .item > a:focus > dl > dd {
  color: #285ad6;
}
@media screen and (min-width: 768px) {
  .fx_nav.full_item > .item {
    width: 100%;
  }
  .fx_nav.full_item > .item > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .fx_nav.full_item > .item > a .ofi_wrap,
  .fx_nav.full_item > .item > a > dl {
    width: calc(50% - 0.5em);
  }
  .fx_nav.full_item > .item > a .ofi_wrap {
    padding-top: 20%;
  }
}
@media screen and (min-width: 992px) {
  .fx_nav.full_item > .item > a .ofi_wrap,
  .fx_nav.full_item > .item > a > dl {
    width: calc(50% - 1em);
  }
}

.gray_box {
  padding: 2.5em;
  background-color: #f5f5f5;
}

.fx_arrowlink {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: -1.25em -0.6em 0;
}
.fx_arrowlink > .item {
  width: 25%;
  margin-top: 1.25em;
  padding: 0 0.6em;
}
.fx_arrowlink > .item > a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 5em;
  padding: 0.6em;
  background-color: #fff;
}
.fx_arrowlink > .item > a:hover,
.fx_arrowlink > .item > a:focus {
  background-color: #eff7ff;
}
.fx_arrowlink > .item > a > span {
  position: relative;
  display: block;
  padding-left: 1.1em;
  font-size: 1.8rem;
  line-height: 1.3;
}
.fx_arrowlink > .item > a > span > .icon_arrow03 {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 0.6em;
  height: 0.6em;
}
.fx_arrowlink > .item > a > span > .icon_arrow03 .use_arrow03_bg {
  fill: #285ad6;
}
.fx_arrowlink > .item > a > span > .icon_arrow03 .use_arrow03_arrow {
  fill: #fff;
}

@media screen and (max-width: 1199px) {
  .fx_nav > .item > a > dl > dd {
    font-size: 2rem;
  }
}
@media screen and (max-width: 991px) {
  .fx_nav {
    margin: -2em -1.5% 0;
  }
  .fx_nav > .item {
    padding: 0 1.5%;
  }
  .fx_nav > .item > a > dl > dt {
    width: 10rem;
    min-height: 5.6em;
    padding: 0.5em;
    font-size: 1.5rem;
  }
  .fx_nav > .item > a > dl > dd {
    width: calc(100% - 10rem);
    padding-left: 0.8em;
    font-size: 1.6rem;
  }

  .gray_box {
    padding: 1.5em;
  }

  .fx_arrowlink {
    margin: -1em -1.5% 0;
  }
  .fx_arrowlink > .item {
    width: 50%;
    margin-top: 1em;
    padding: 0 1.5%;
  }
  .fx_arrowlink > .item > a {
    min-height: 3.5em;
  }
  .fx_arrowlink > .item > a > span {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .fx_nav > .item {
    width: 100%;
  }
}

/* contact */
.fx_contact {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
}
.fx_contact > .item {
  width: 50%;
}
.fx_contact > .item.tel {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2em 1em;
  text-align: center;
  background-color: #fff;
}
.fx_contact > .item.tel .number {
  font-size: 2.4rem;
  line-height: 1.3;
}
.fx_contact > .item.tel .number > a {
  font-weight: 700;
  color: #285ad6;
}
.fx_contact > .item.mail > a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 1em;
  background-color: #285ad6;
  font-size: 2.4rem;
  color: #fff;
  line-height: 1.3;
}
.fx_contact > .item.mail > a:hover,
.fx_contact > .item.mail > a:focus {
  opacity: 0.8;
}
@media screen and (max-width: 991px) {
  .fx_contact > .item {
    width: 100%;
  }

  .fx_contact > .item.tel {
    padding: 1.5em 0.6em 1.2em;
  }
  .fx_contact > .item.tel .number {
    margin-bottom: 0.5em;
    font-size: 2rem;
  }
  .fx_contact > .item.mail > a {
    font-size: 2rem;
  }
}

/* cat list */
.wrap_catbox .box + .box {
  padding-top: 3em;
}
.wrap_catbox .inr_box + .inr_box {
  padding-top: 2em;
}

.fx_products_list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: -2em -0.6em 0;
}
.fx_products_list > .item {
  width: 25%;
  margin-top: 2em;
  padding: 0 0.6em;
}
.fx_products_list > .item > a {
  display: block;
}
.fx_products_list > .item > a .ofi_wrap {
  padding-top: 100%;
  overflow: hidden;
}
.fx_products_list > .item > a .ofi_wrap::before {
  content: "";
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 1px solid #dddddd;
}
.fx_products_list > .item > a .ofi_wrap > img {
  backface-visibility: hidden;
}
@media screen and (min-width: 992px) {
  .fx_products_list > .item > a .ofi_wrap > img {
    transition: 0.4s;
  }
}
.fx_products_list > .item > a:hover .ofi_wrap > img,
.fx_products_list > .item > a:focus .ofi_wrap > img {
  transform: scale(1.05);
}
.fx_products_list > .item > a .ofi_wrap > .color_label {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.fx_products_list > .item > a > .title {
  margin-top: 0.8em;
  margin-bottom: 0.5em;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
}
@media screen and (min-width: 992px) {
  .fx_products_list > .item > a > .title {
    transition: 0.4s;
  }
}
.fx_products_list > .item > a:hover > .title,
.fx_products_list > .item > a:focus > .title {
  color: #285ad6;
}
.fx_products_list > .item > a > .text {
  letter-spacing: -0.05rem;
}

.fx_products_list > .item > a.noimg .ofi_wrap {
  display: none;
}
.fx_products_list > .item > a.noimg > .title {
  margin-top: 0;
}

@media screen and (min-width: 992px) {
  .fx_products_list.col3 {
    max-width: calc(75% + 1.2em);
  }
  .fx_products_list.col3 > .item {
    width: 33.3333%;
  }
}

@media screen and (max-width: 991px) {
  .wrap_catbox .box + .box {
    padding-top: 2em;
  }
  .wrap_catbox .inr_box + .inr_box {
    padding-top: 1.5em;
  }

  .fx_products_list {
    margin: -1.5em -1.5% 0;
  }
  .fx_products_list > .item {
    width: 33.3333%;
    margin-top: 1.5em;
    padding: 0 1.5%;
  }
  .fx_products_list > .item > a .ofi_wrap > .color_label {
    min-width: 8em;
    padding: 0.5em 0.5em 0.4em;
  }
  .fx_products_list > .item > a > .title {
    font-size: 1.6rem;
  }
  .fx_products_list > .item > a > .text {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .fx_products_list > .item {
    width: 50%;
  }
}

/* detail */
.wrap_sidebar {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.wrap_sidebar > .main {
  width: 72.5%;
}
.wrap_sidebar > .side {
  width: 27.5%;
  padding-left: 5em;
}
.wrap_sidebar > .side > .title {
  position: relative;
  padding: 1em;
  background: #073ab8;
  background: -moz-linear-gradient(-15deg, #073ab8 0%, #073ab8 40%, #285ad6 40%, #285ad6 100%);
  background: -webkit-linear-gradient(-15deg, #073ab8 0%, #073ab8 40%, #285ad6 40%, #285ad6 100%);
  background: linear-gradient(165deg, #073ab8 0%, #073ab8 40%, #285ad6 40%, #285ad6 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#073ab8', endColorstr='#285ad6',GradientType=1 );
  text-align: center;
  font-weight: 400;
  font-size: 1.6rem;
  color: #fff;
  line-height: 1.3;
}

.products_ttlwrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: flex-start;
  align-items: flex-start;
  flex-direction: row-reverse;
}
.products_ttlwrap > .conts {
  width: 65%;
  padding-left: 3em;
}
.products_ttlwrap > .conts > .title {
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 1.3;
}
.products_ttlwrap > .conts > .label > li {
  margin-top: 0.8em;
}
.products_ttlwrap > .conts > .catch {
  /*margin-top: 2em;*/
  margin-top: 1.5em;
  padding: 1.2em;
  background: #f5f5f5;
  line-height: 1.5;
}
.products_ttlwrap > .imgbox {
  width: 35%;
  border: 1px solid #dddddd;
}

.products_ttlwrap.noimg > .conts {
  width: 100%;
  padding-left: 0;
}
.products_ttlwrap.noimg > .imgbox {
  display: none;
}

.products_feature {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: -1.5em -0.6em 0;
}
.products_feature > .item {
  width: 50%;
  margin-top: 1.5em;
  padding: 0 0.6em;
}
.products_feature > .item.w100p {
  width: 100%;
}
.products_feature > .item .text {
  margin-top: 0.4em;
}

.products_nav {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: -1em -0.4em 0;
}
.products_nav > li {
  margin-top: 1em;
  padding: 0 0.4em;
}
.products_nav > li > a {
  display: block;
  padding: 0.8em 1.8em 0.6em;
  border: 2px solid #285ad6;
  border-radius: 3em;
}
.products_nav > li > a:hover,
.products_nav > li > a:hover {
  background-color: #eff7ff;
}
.products_nav > li > a > span {
  position: relative;
  display: block;
  padding-right: 1em;
}
.products_nav > li > a > span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0.3em;
  margin: auto;
  width: 0.4em;
  height: 0.4em;
  border-right: 0.2rem solid #285ad6;
  border-bottom: 0.2rem solid #285ad6;
  transform: rotate(45deg);
}

.products_nav.equality > li {
  width: 20%;
}

.products_detail .item {
  padding-top: 3.5em;
}

.tbl_thgray {
  width: 100%;
}
.tbl_thgray tr > th,
.tbl_thgray tr > td {
  padding: 1em 1.2em;
  border: 1px solid #ddd;
}
.tbl_thgray tr > th {
  background-color: #f2f2f2;
  text-align: left;
  font-weight: 400;
  white-space: nowrap;
}
.tbl_thgray > tbody > tr > th {
  width: 13em;
}
.tbl_thgray.questionary thead > tr > th {
  font-weight: 500;
  color: #285ad6;
  text-align: center;
}

.label_member {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.2em;
}
.label_member > span {
  display: block;
  margin-left: 1.5em;
  padding: 0.6em 1em 0.5em;
  background-color: #285ad6;
  text-align: center;
  font-weight: 500;
  font-size: 80%;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.1rem;
}

.ul_sidenav > li {
  border-bottom: 1px solid #dddddd;
}
.ul_sidenav > li > span {
  position: relative;
  display: block;
  padding: 1em;
  padding-left: 2em;
  cursor: pointer;
}
.ul_sidenav>li>span.no_accordion:before {
  transform: rotate(-90deg);
}
.ul_sidenav > li > span:hover,
.ul_sidenav > li > span:focus {
  text-decoration: underline;
}
.ul_sidenav > li > span::before {
  content: "";
  display: block;
  position: absolute;
  top: 1.3em;
  left: 0.6em;
  width: 0.9em;
  height: 0.9em;
  background: url("../image/common/arrow_circle.svg") center/contain no-repeat;
}
.ul_sidenav > li > span + ul {
  display: none;
}
.ul_sidenav > li > span + ul > li + li {
  border-top: 1px dashed #dddddd;
}
.ul_sidenav > li > span + ul > li > a,
.ul_sidenav > li > span + ul > li > span {
  position: relative;
  display: block;
  padding: 1em;
  padding-left: 2.5em;
  background-color: #f6f6f6;
  font-size: 1.4rem;
}
.ul_sidenav > li > span + ul > li > a:hover,
.ul_sidenav > li > span + ul > li > a:focus,
.ul_sidenav > li > span + ul > li > span:hover,
.ul_sidenav > li > span + ul > li > span:focus {
  text-decoration: underline;
}
.ul_sidenav > li > span + ul > li > span {
  cursor: pointer;
}
.ul_sidenav > li > span + ul > li > a::before,
.ul_sidenav > li > span + ul > li > span::before {
  content: "";
  display: block;
  position: absolute;
  top: 1.5em;
  left: 1em;
  width: 0.5em;
  height: 0.5em;
  background: url("../image/common/arrow_bl.svg") center/contain no-repeat;
}
.ul_sidenav > li > span + ul > li > a::before {
  transform: rotate(-90deg);
}
.ul_sidenav > li > span + ul > li > ul {
  display: none;
  padding: 0.8em 0;
}
.ul_sidenav > li > span + ul > li > ul > li + li {
  margin-top: 0.5em;
}
.ul_sidenav > li > span + ul > li > ul > li > a {
  display: block;
  padding-left: 2.5em;
  font-size: 1.4rem;
}
.ul_sidenav > li > span + ul > li > ul > li > a:hover,
.ul_sidenav > li > span + ul > li > ul > li > a:focus {
  text-decoration: underline;
}
@media screen and (max-width: 1201px) {
  .products_nav.equality>li {
    width: 25%;
  }
}
@media screen and (max-width: 991px) {
  .wrap_sidebar {
    flex-wrap: wrap;
  }
  .wrap_sidebar > .main {
    width: 100%;
  }
  .wrap_sidebar > .side {
    width: 100%;
    margin-top: 3em;
    padding-left: 0;
  }

  .products_ttlwrap {
    flex-wrap: wrap;
  }
  .products_ttlwrap > .conts {
    width: 100%;
    padding-left: 0;
  }
  .products_ttlwrap > .conts > .title {
    font-size: 2.4rem;
  }
  .products_ttlwrap > .conts > .catch {
    /*margin-top: 1.5em;*/
    margin-top: 1.2em;
    padding: 1em;
  }
  .products_ttlwrap > .imgbox {
    margin-top: 2em;
    width: 100%;
  }

  .products_feature > .item {
    width: 100%;
  }

  .products_nav > li > a {
    padding: 0.6em 1.5em 0.5em;
    border: 1px solid #285ad6;
    font-size: 1.4rem;
  }

  .products_nav.equality>li {
    width: 33.33%;
  }

  .products_detail .item {
    padding-top: 2.5em;
  }

  .tbl_thgray tr > th,
  .tbl_thgray tr > td {
    padding: 1em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .tbl_thgray:not(.questionary) tr > th,
  .tbl_thgray:not(.questionary) tr > td {
    display: block !important;
    width: 100% !important;
  }
  .tbl_thgray:not(.questionary) tr > th {
    border-bottom: none;
  }
  .products_nav.equality>li {
    width: 50%;
  }
}

/*--------------------------------------------
  NEWS
--------------------------------------------*/
.single_ttl {
  margin-bottom: 3em;
  padding-bottom: 1em;
  border-bottom: 0.2rem solid #ddd;
}
.single_ttl > .title {
  font-weight: 400;
  font-size: 2.8rem;
  line-height: 1.3;
}
.single_ttl > .post_info {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  margin-bottom: 1em;
}
.single_ttl > .post_info > * + * {
  margin-left: 1.5em;
}

@media screen and (max-width: 991px) {
  .single_ttl {
    margin-bottom: 2em;
    padding-bottom: 0.8em;
  }
  .single_ttl > .title {
    font-size: 2.4rem;
  }
  .single_ttl > .post_info {
    margin-bottom: 0.8em;
  }
  .single_ttl > .post_info > * + * {
    margin-left: 1em;
  }
}

/*--------------------------------------------
  STOP
--------------------------------------------*/
.tbl_thead {
  width: 100%;
}
.tbl_thead > thead {
  background-color: #f2f2f2;
  white-space: nowrap;
}
.tbl_thead > thead > tr > th {
  font-weight: 400;
}
.tbl_thead tr > * {
  padding: 1em 1.2em;
  border: 1px solid #ddd;
}

.tbl_thead.stop tr > *:nth-child(3),
.tbl_thead.stop tr > *:nth-child(5) {
  width: 8em;
  text-align: center;
  white-space: nowrap;
}

.tbl_thead.download tr > *:nth-child(1),
.tbl_thead.download tr > *:nth-child(3) {
  width: 40%;
}

@media screen and (max-width: 991px) {
  .tbl_thead tr > * {
    padding: 1em;
    font-size: 1.4rem;
  }

  /*.tbl_thead.download tr > *:nth-child(3) {
    white-space: normal;
  }
  .tbl_thead.download tr > *:nth-child(3) > * {
    width: 20em !important;
    font-size: 1.3rem;
  }*/
}

/*--------------------------------------------
  COMPANY
--------------------------------------------*/

/* basic-information */
.tbl_col2 {
  width: 100%;
}
.tbl_col2 tr {
  border-bottom: 1px solid #ddd;
}
.tbl_col2 tr:first-child {
  border-top: 1px solid #ddd;
}
.tbl_col2 tr > th,
.tbl_col2 tr > td {
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}
.tbl_col2 tr > th {
  width: 15em;
  padding-right: 2em;
  text-align: left;
  font-weight: 600;
  letter-spacing: 0.1rem;
  vertical-align: top;
  white-space: nowrap;
}
.en .tbl_col2 tr > th {
  width: 20em;
  white-space: normal;
}

.ul_position {
  display: inline-flex;
  flex-direction: column;
}
.ul_position > li {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ul_position > li + li {
  margin-top: 0.4em;
}
.ul_position > li .position {
  margin-right: 2em;
}

@media screen and (max-width: 991px) {
  .tbl_col2 tr > th {
    width: 10em;
  }
  .tbl_col2 tr > th,
  .tbl_col2 tr > td {
    padding-top: 1.3em;
    padding-bottom: 1.3em;
  }

  .tbl_col2.block_tb tr > th,
  .tbl_col2.block_tb tr > td {
    display: block;
    width: 100%;
    padding: 1.2em 1em;
  }
  .tbl_col2.block_tb tr > th {
    padding: 1em 1.5em;
    background-color: #f5f5f5;
  }
}
@media screen and (max-width: 767px) {
  .tbl_col2.block_sp tr > th,
  .tbl_col2.block_sp tr > td {
    display: block;
    width: 100%;
    padding: 1.2em 1em;
  }
  .tbl_col2.block_sp tr > th {
    padding: 1em 1.5em;
    background-color: #f5f5f5;
  }
}
@media screen and (max-width: 575px) {
  .tbl_col2.block_ss tr > th,
  .tbl_col2.block_ss tr > td {
    display: block;
    width: 100%;
    padding: 1.3em 1.5em;
  }
  .tbl_col2.block_ss tr > th {
    padding: 1em 1.5em;
    background-color: #f5f5f5;
  }
}

/* history */
.dl_history {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  /*margin-top: -1.8em;*/
}
.dl_history > dt {
  position: relative;
  width: 13em;
  padding: 1.8em 0;
  padding-right: 4em;
  font-weight: 700;
  letter-spacing: 0.1rem;
  line-height: 1.1;
  white-space: nowrap;
}
.dl_history > dt::before {
  content: "";
  display: block;
  position: absolute;
  top: 2.4em;
  right: 1.6em;
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
  background-color: #285ad6;
}
.dl_history > dt:not(.no_bd)::after {
  content: "";
  display: block;
  position: absolute;
  top: 2.8em;
  right: 2em;
  bottom: -2.8em;
  width: 1px;
  background-color: #285ad6;
}
.dl_history > dt > span {
  display: inline-block;
  padding-right: 0.3em;
  font-size: 3.2rem;
}
.dl_history > dd {
  width: calc(100% - 15em);
  padding: 2em 0;
  padding-left: 1.8em;
}

@media screen and (max-width: 991px) {
  /* .dl_history {
    margin-top: -1.4em;
  } */
  .dl_history > dt {
    width: 10em;
    padding: 1.4em 0;
  }
  .dl_history > dt::before {
    top: 2em;
    right: 1.8em;
    width: 0.6em;
    height: 0.6em;
  }
  .dl_history > dt:not(.no_bd)::after {
    top: 2.3em;
    right: 2.1em;
    bottom: -2.3em;
  }
  .dl_history > dt > span {
    font-size: 2.4rem;
  }
  .dl_history > dd {
    width: calc(100% - 10em);
    padding: 1.5em 0;
    padding-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .dl_history > dt {
    width: 9em;
    padding-right: 3em;
  }
  .dl_history > dt::before {
    right: 1.5em;
  }
  .dl_history > dt:not(.no_bd)::after {
    right: 1.8em;
  }
  .dl_history > dt > span {
    font-size: 2rem;
  }
  .dl_history > dd {
    width: calc(100% - 9em);
  }
}
@media screen and (max-width: 575px) {
  .dl_history > dt {
    width: 8em;
    padding-right: 2em;
  }
  .dl_history > dt::before {
    top: 1.8em;
    right: 1em;
  }
  .dl_history > dt:not(.no_bd)::after {
    top: 2.1em;
    right: 1.3em;
    bottom: -2.1em;
  }
  .dl_history > dt > span {
    font-size: 1.8rem;
  }
  .dl_history > dd {
    width: calc(100% - 8em);
  }
}

/* principles */
.principles_box {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5em 2.5em;
  background: url("../image/company/principles01.jpg") center/cover;
}
.principles_box.no_catch {
  height: 40rem;
}
.principles_ttl {
  padding: 3em;
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "游明朝", "Yu Mincho",
    "游明朝体", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 1.3;
  letter-spacing: 0.1rem;
}
.principles_ttl > .sup {
  display: block;
  margin-bottom: 0.8em;
  font-weight: 700;
  font-size: 2.4rem;
}
.principles_ttl > .title {
  display: block;
  font-weight: 700;
  font-size: 6rem;
  color: #285ad6;
}
.principles_ttl > .title > span {
  position: relative;
  display: inline-block;
  padding-top: 0.2em;
}
.principles_ttl > .title > span > span {
  position: absolute;
  top: 0;
  right: 5em;
  font-size: 1.6rem;
  line-height: 1.1;
}

@media screen and (max-width: 991px) {
  .principles_box {
    padding: 2em 1.5em;
  }
  .principles_box.no_catch {
    height: 22rem;
  }
  .principles_ttl {
    padding: 1.5em;
  }
  .principles_ttl > .sup {
    font-size: 2rem;
  }
  .principles_ttl > .title {
    font-size: 3.8rem;
  }
  .principles_ttl > .title > span {
    padding-top: 0.3em;
  }
  .principles_ttl > .title > span > span {
    right: 3em;
    font-size: 1.4rem;
  }
}

/* office */
.fx_imgcol {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1.5em;
}
.fx_imgcol > .conts {
  width: 60%;
  padding: 0 1.5em;
}
.fx_imgcol > .imgbox {
  width: 40%;
  padding: 0 1.5em;
}

.dl_info {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: -0.8em;
}
.dl_info > dt {
  width: 7em;
  margin-top: 0.8em;
  padding: 0.4em;
  background-color: #eff7ff;
}
.dl_info > dt > span {
  display: block;
  font-weight: 700;
  text-align: center;
  font-size: 1.4rem;
  color: #285ad6;
  line-height: 1.1;
  letter-spacing: 0.1rem;
}
.dl_info > dd {
  width: calc(100% - 8.2em);
  margin-top: 0.8em;
  padding-top: 0.2em;
  line-height: 1.5;
}

.dl_info.type_country {
  margin-top: -0.4em;
}
.dl_info.type_country > dt {
  margin-top: 0.4em;
  font-size: 1.4rem;
}
.dl_info.type_country > dt > span {
  font-size: 1.3rem;
}
.dl_info.type_country > dd {
  margin-top: 0.4em;
  font-size: 1.4rem;
}

@media screen and (max-width: 991px) {
  .fx_imgcol {
    margin: 0 -1.5%;
  }
  .fx_imgcol > .conts {
    padding: 0 1.5%;
  }
  .fx_imgcol > .imgbox {
    padding: 0 1.5%;
  }

  .dl_info > dt {
    width: 6.6em;
    font-size: 1.4rem;
  }
  .dl_info > dt > span {
    font-size: 1.3rem;
  }
  .dl_info > dd {
    width: calc(100% - 7.5em);
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 991px) {
  .fx_imgcol > .conts {
    width: 100%;
  }
  .fx_imgcol > .imgbox {
    width: 100%;
    margin-top: 2em;
  }

  .dl_info > dt {
    width: 6.6em;
    font-size: 1.4rem;
  }
  .dl_info > dt > span {
    font-size: 1.3rem;
  }
  .dl_info > dd {
    width: calc(100% - 7.5em);
    font-size: 1.4rem;
  }
}

/* network */
.countrymap_sup {
  margin-top: 0.8em;
  text-align: center;
}
.countrymap_sup > span {
  position: relative;
  display: inline-block;
  padding-left: 1em;
}
.countrymap_sup > span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 0.5em;
  height: 0.5em;
  background-color: #111;
  border-radius: 50%;
}
.countrymap_sup > span:nth-child(1)::before {
  background-color: #f51e01;
}
.countrymap_sup > span:nth-child(2)::before {
  background-color: #2145d1;
}
.countrymap_sup > span:nth-child(3)::before {
  background-color: #fec900;
}
.countrymap_sup > span + span {
  margin-left: 1.5em;
}
.wrap_listcountry {
  padding: 2.5em;
  background-color: #fafafa;
}
.list_country {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: -2em -1.5em 0;
}
.list_country > .item {
  width: 50%;
  margin-top: 2em;
  padding: 0 1.5em;
}
.list_country > .item > .inr_wrap {
  height: 100%;
  padding: 0 1.5em 1.5em;
  background-color: #fff;
  border-bottom: 0.2rem solid #285ad6;
}
.list_country > .item > .inr_wrap > .title {
  position: relative;
  margin-bottom: 1.2em;
  margin-left: -1.5em;
  margin-right: -1.5em;
  padding: 1em;
  padding-left: 4.3em;
  background-color: #eeeeee;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.3;
  letter-spacing: 0.1rem;
}
.list_country > .item > .inr_wrap > .title > img {
  position: absolute;
  top: 0.5em;
  left: 1.5em;
  width: 2em;
  height: auto;
}

@media screen and (max-width: 991px) {
  .wrap_listcountry {
    padding: 1.5em;
  }
  .list_country {
    margin: -1.5em -1.5% 0;
  }
  .list_country > .item {
    margin-top: 1.5em;
    padding: 0 1.5%;
  }
  .list_country > .item > .inr_wrap {
    padding: 0 1em 1.2em;
  }
  .list_country > .item > .inr_wrap > .title {
    margin-left: -1em;
    margin-right: -1em;
    padding-left: 3.5em;
    font-size: 1.6rem;
  }
  .list_country > .item > .inr_wrap > .title > img {
    top: 0.6em;
    left: 1em;
    width: 1.8em;
  }
}
@media screen and (max-width: 767px) {
  .list_country > .item {
    width: 100%;
  }
}

/* business */
.business_imgdeco {
  position: relative;
}
@media screen and (min-width: 1500px) {
  .business_imgdeco::before,
  .business_imgdeco::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .business_imgdeco::before {
    left: -9em;
    width: 9em;
    height: 27em;
    background: url("../image/company/business03_left.png") center/contain no-repeat;
  }
  .business_imgdeco::after {
    right: -14.5em;
    width: 15em;
    height: 27em;
    background: url("../image/company/business03_right.png") center/contain no-repeat;
  }
}

/*-------------------------------------
  search
--------------------------------------*/
.search_list .item + .item {
  margin-top: 2em;
  padding-top: 2em;
  border-top: 1px solid #eee;
}
.search_list .item > a {
  display: block;
}
.search_list .item > a .post_info {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  margin-bottom: 1em;
}
.search_list .item > a .post_info > time {
  display: block;
  padding-left: 1em;
  color: #aaa;
}
.search_list .item > a .title {
  margin-bottom: 0.3em;
  font-weight: 500;
  font-size: 2.2rem;
  color: #285ad6;
  line-height: 1.3;
}
.search_list .item > a:hover .title,
.search_list .item > a:focus .title {
  text-decoration: underline;
}

@media screen and (max-width: 991px) {
  .search_list .item + .item {
    margin-top: 1.5em;
    padding-top: 1.5em;
  }
  .search_list .item > a .post_info {
    margin-bottom: 0.8em;
  }
  .search_list .item > a .title {
    font-size: 1.8rem;
  }
}

/*-------------------------------------
  CONTACT
--------------------------------------*/
input:not([type="radio"]):not([type="checkbox"]),
select,
textarea {
  display: block;
  width: 100%;
  font-size: 1.4rem;
  padding: 0.8em 0.6em;
  border: 1px solid #ddd;
  line-height: 1.3;
}
input[type="submit"] {
  display: block;
  width: 100%;
  font-size: 14px;
  padding: 0.6em;
  border: 1px solid #ddd;
  line-height: 1.3;
}
input:read-only {
  background-color: #eee;
}
select {
  padding: 0.8rem 1rem;
}
.ios select {
  -webkit-appearance: button;
  appearance: button;
  padding: 0.8rem 1rem;
}
textarea {
  min-height: 20rem;
}

.input_sm {
  max-width: 20em;
}
.input_md {
  max-width: 40em;
}

.input_under {
  margin-top: 0.3em;
  font-size: 1.4rem;
}

.input_error > * {
  display: block;
  margin-top: 0.8em;
  padding: 0.6em 1em 0.4em;
  background-color: #f5f5f5;
  border: 1px solid #eee;
  font-size: 1.4rem;
  color: #e60012;
  line-height: 1.3;
}
.input_error > * + * {
  display: none;
}

.form_require {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.2em;
}
.form_require > span {
  display: block;
  margin-left: 1.5em;
  padding: 0.6em 1em 0.5em;
  background-color: #285ad6;
  text-align: center;
  font-weight: 500;
  font-size: 80%;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.1rem;
  white-space: nowrap;
}
.form_require > span.option {
  background-color: #f5f5f5;
  color: #333;
}

.ul_radio {
  line-height: 2;
}
.ul_radio > li {
  display: inline-block;
}
.ul_radio > li:not(:last-child) label {
  display: inline-block;
  margin-right: 1.6em;
}
.ul_radio > li:last-child {
  margin-right: 0;
}
.ul_radio > li label > input {
  position: absolute;
  visibility: hidden;
}
.ul_radio > li label > input + span {
  position: relative;
  display: inline-block;
  padding-left: 1.8em;
}
.ul_radio > li label > input + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.4em;
  left: 0;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  border: 1px solid #c9c9c9;
  background-color: #f4f4f4;
}
.ul_radio > li label > input:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.75em;
  left: 0.35em;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background-color: #666;
}
.ul_radio.blank > li label > input + span {
  padding-top: 1.3em;
  padding-left: 1.3em;
}
.ul_radio.col3 {
  display: flex;
  flex-wrap: wrap;
  margin-top: -0.8em;
  margin-left: -1.5em;
}
.ul_radio.col3 > li {
  width: calc(33.3333% - 1.5em);
  margin-top: 0.8em;
  margin-left: 1.5em;
  margin-right: 0;
}

.ul_checkbox {
  line-height: 2;
}
.ul_checkbox > li {
  display: inline-block;
  margin-right: 1.5em;
  line-height: 1.3;
}
.ul_checkbox > li:last-child {
  margin-right: 0;
}
.ul_checkbox > li label {
  cursor: pointer;
}
.ul_checkbox > li label > input {
  position: absolute;
  visibility: hidden;
}
.ul_checkbox > li label > input + span {
  position: relative;
  display: inline-block;
  padding-left: 2.8rem;
}
.ul_checkbox > li label > input + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.1em;
  left: 0;
  width: 1.1em;
  height: 1.1em;
  border: 1px solid #c9c9c9;
  background-color: #f4f4f4;
}
.ul_checkbox > li label > input:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.2em;
  left: 0.2em;
  width: 1.2em;
  height: 0.5em;
  border-left: 0.3rem solid #555;
  border-bottom: 0.3rem solid #555;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.ul_checkbox.col3 {
  display: flex;
  flex-wrap: wrap;
  margin-top: -0.8em;
  margin-left: -1.5em;
}
.ul_checkbox.col3 > li {
  width: calc(33.3333% - 1.5em);
  margin-top: 0.8em;
  margin-left: 1.5em;
  margin-right: 0;
}

.item_checkbox {
  text-align: center;
  line-height: 1.3;
  letter-spacing: 0.1rem;
}
.item_checkbox label > input {
  position: absolute;
  visibility: hidden;
}
.item_checkbox label > input + span {
  position: relative;
  display: inline-block;
  padding-left: 1.8em;
}
.item_checkbox label > input + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.25em;
  height: 1.25em;
  border: 1px solid #c9c9c9;
  background-color: #f4f4f4;
}
.item_checkbox label > input:checked + span::after {
  display: block;
  content: "";
  position: absolute;
  top: 0.1875em;
  left: 0.1875em;
  width: 1.125em;
  height: 0.6em;
  border-left: 0.3rem solid #285ad6;
  border-bottom: 0.3rem solid #285ad6;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.label_row {
  width: 100%;
  display: table;
}
.label_row + .label_row {
  margin-top: 1em;
}
.label_row > * {
  display: table-cell;
}
.label_row > .label {
  width: 3em;
  padding-right: 1em;
  text-align: right;
  white-space: nowrap;
  padding-top: 0.6em;
  vertical-align: top;
}
.confirm_page .label_row > .label {
  padding-top: 0;
}

.label_unit {
  display: flex;
}
.label_unit .unit {
  padding-top: 0.6em;
  padding-left: 1em;
  white-space: nowrap;
}
.confirm_page .label_unit > .label {
  padding-top: 0;
}

.label_row.bk {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
}
.label_row.bk > .label {
  width: calc(100% - 15em);
  padding-left: 1em;
  padding-right: 0;
  text-align: left;
}

.address_row {
  display: table;
  width: 100%;
}
.address_row + .address_row {
  margin-top: 0.8em;
}
.address_row > * {
  display: table-cell;
}
.address_row > .label {
  width: 11.25em;
  padding-right: 1em;
  text-align: right;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .address_row > .label {
    padding-top: 0.6em;
    vertical-align: top;
  }
  .confirm_page .address_row > .label {
    padding-top: 0;
  }
}

.company_row {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.company_row > * > * {
  height: 100%;
}
.company_row > .status {
  width: 7em;
  padding-right: 1em;
}
.company_row > .status:last-child {
  padding-left: 1em;
  padding-right: 0;
}
.company_row > .name {
  width: 20em;
}

@media screen and (max-width: 991px) {
  input:not([type="radio"]):not([type="checkbox"]),
  select,
  textarea {
    font-size: 1.8rem;
    padding: 1rem 0.8rem;
  }
  input[type="submit"] {
    font-size: 16rem;
    padding: 1rem 0.8rem;
  }
  select {
    padding: 1rem 0.8rem;
  }
  .ios select {
    padding: 1.4rem 0.8rem;
  }

  .label_row + .label_row {
    margin-top: 1rem;
  }

  .ul_checkbox.col3 > li {
    width: calc(50% - 1.5em);
  }

  .ul_radio.col3 > li {
    width: calc(50% - 1.5em);
  }

  .company_row > .status {
    width: 6em;
    padding-right: 0.5em;
  }
  .company_row > .status:last-child {
    padding-left: 0.5em;
    padding-right: 0;
  }
  .company_row > .status > * {
    padding: 1rem 0.6rem;
    font-size: 1.4rem;
  }
  .company_row > .name {
    width: calc(100% - 12em);
  }
}

@media screen and (max-width: 767px) {
  textarea {
    min-height: 14rem;
  }

  .under_text {
    font-size: 1.2rem;
  }

  .form_require {
    padding-top: 0;
  }
  .form_require > span.option {
    background-color: #ddd;
  }

  .label_row > .label {
    padding-top: 1em;
  }
  .label_unit .unit {
    padding-top: 1em;
  }

  .address_row {
    display: block;
  }
  .address_row:not(.tbl_sp) > * {
    display: block;
  }
  .address_row:not(.tbl_sp) > .label {
    margin-bottom: 0.3em;
    width: 100%;
    padding-right: 0;
    text-align: left;
  }
  .address_row.tbl_sp > .label {
    width: 2.5em;
    padding-right: 0.6em;
  }

  .company_row > .status > * {
    padding: 1rem 0.4rem;
  }
}

/*-------------------------------------
  privacy policy
--------------------------------------*/
.terms_box > h2,
.terms_box > h3,
.terms_box > h4 {
  position: relative;
  margin-bottom: 0.8em;
  padding-left: 1.3em;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.3;
}
.terms_box > h2::before,
.terms_box > h3::before,
.terms_box > h4::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 0.7em;
  height: 0.7em;
  background-color: #285ad6;
}
.terms_box > p + h2,
.terms_box > ul + h2,
.terms_box > ol + h2,
.terms_box > p + h3,
.terms_box > ul + h3,
.terms_box > ol + h3,
.terms_box > p + h4,
.terms_box > ul + h4,
.terms_box > ol + h4 {
  margin-top: 2.5em;
}
.terms_box p > a {
  color: #3094b3;
  word-break: break-all;
}
.terms_box ul,
.terms_box ol {
  padding-left: 2em;
  line-height: 1.5;
}
.terms_box ul > li + li,
.terms_box ol > li + li {
  margin-top: 0.6em;
}
.terms_box ul.mgt_lg > li + li,
.terms_box ol.mgt_lg > li + li {
  margin-top: 1.5em;
}
.terms_box ul > li {
  list-style-type: disc;
}
.terms_box ol > li {
  list-style-type: decimal;
}

.terms_box p + p {
  margin-top: 1em;
}
.terms_box p + ul,
.terms_box p + ol {
  margin-top: 0.6em;
}

@media screen and (max-width: 767px) {
  .terms_box > p + h2,
  .terms_box > ul + h2,
  .terms_box > ol + h2,
  .terms_box > p + h3,
  .terms_box > ul + h3,
  .terms_box > ol + h3,
  .terms_box > p + h4,
  .terms_box > ul + h4,
  .terms_box > ol + h4 {
    margin-top: 2em;
  }

  .terms_box > h2,
  .terms_box > h3,
  .terms_box > h4 {
    font-size: 1.8rem;
  }
  .terms_box p,
  .terms_box ul,
  .terms_box ol {
    font-size: 1.4rem;
  }
}

/*-------------------------------------
  sitemap
--------------------------------------*/
.ul_sitemap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: -2em 0 0;
}
.ul_sitemap > li {
  width: 48%;
  margin-top: 2em;
  border-bottom: 1px solid #eeeeee;
  line-height: 1.5;
}
.ul_sitemap > li.w100p {
  width: 100%;
}
.ul_sitemap > li > a {
  position: relative;
  display: inline-block;
  padding: 0.6em 1.2em;
  font-size: 2rem;
}
.ul_sitemap > li > a::before {
  content: "";
  display: block;
  position: absolute;
  top: 1.1em;
  left: 0;
  width: 0.4em;
  height: 0.4em;
  border-right: 2px solid #285ad6;
  border-bottom: 2px solid #285ad6;
  transform: rotate(-45deg);
}
.ul_sitemap > li > a:hover,
.ul_sitemap > li > a:focus {
  color: #285ad6;
}
.ul_sitemap > li > ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: -0.8em -1em 0;
  padding-bottom: 1.5em;
}
.ul_sitemap > li > ul > li {
  width: 25%;
  margin-top: 0.8em;
  padding: 0 1em;
}
.ul_sitemap > li > ul > li > a {
  position: relative;
  display: inline-block;
  padding: 0.2em 0.5em;
  padding-left: 1.5em;
  font-size: 1.6rem;
}
.ul_sitemap > li > ul > li > a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.8em;
  left: 0.1em;
  width: 0.8em;
  height: 1px;
  border-radius: 50%;
  background-color: #333;
}
.ul_sitemap > li > ul > li > a::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: #285ad6;
  opacity: 0;
}
@media screen and (min-width: 992px) {
  .ul_sitemap > li > ul > li > a::after {
    transition: 0.4s;
  }
}
.ul_sitemap > li > ul > li > a:hover::after,
.ul_sitemap > li > ul > li > a:focus::after {
  opacity: 1;
}

@media screen and (max-width: 991px) {
  .ul_sitemap {
    margin: -1.5em 0 0;
  }
  .ul_sitemap > li {
    margin-top: 1.5em;
  }
  .ul_sitemap > li > a {
    font-size: 1.8rem;
  }
  .ul_sitemap > li > ul {
    margin: -0.8em -1.5% 0;
  }
  .ul_sitemap > li > ul > li {
    width: 33.3333%;
    padding: 0 1.5%;
  }
  .ul_sitemap > li > ul > li > a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .ul_sitemap > li > ul > li {
    width: 50%;
  }
}

/*-------------------------------------
  download
--------------------------------------*/
.form_login > table {
  width: 100%;
  max-width: 30em;
  margin: 0 auto;
}
.form_login > table th,
.form_login > table td {
  padding: 0.5em 0;
}
.form_login > table th {
  width: 10em;
  padding-right: 1.5em;
  text-align: right;
  font-weight: 400;
  white-space: nowrap;
}

@media screen and (max-width: 575px) {
  .form_login > table th,
  .form_login > table td {
    display: block !important;
    width: 100% !important;
    padding: 0.5em 0;
  }
  .form_login > table th {
    padding-right: 0;
    padding-bottom: 0;
    text-align: left;
  }
}

.mfp-container {
  padding: 0;
  box-sizing: border-box;
}
.mfp-container .mfp-content {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.mfp-wrap .mfp-close {
  top: 2rem;
  right: 2rem;
  width: 5rem;
  height: 5rem;
  padding: 0;
  font-size: 0;
  opacity: 1;
}
.mfp-wrap .mfp-close::before,
.mfp-wrap .mfp-close::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 5rem;
  height: 0.2rem;
  background-color: #fff;
  font-size: 1.6rem;
}
@media screen and (min-width: 992px) {
  .mfp-wrap .mfp-close::before,
  .mfp-wrap .mfp-close::after {
    transition: 0.4s;
  }
}
.mfp-wrap .mfp-close:hover::before,
.mfp-wrap .mfp-close:focus::before,
.mfp-wrap .mfp-close:hover::after,
.mfp-wrap .mfp-close:focus::after {
  background-color: #3e90da;
}
.mfp-wrap .mfp-close::before {
  transform: rotate(45deg);
}
.mfp-wrap .mfp-close::after {
  transform: rotate(-45deg);
}

.modal_window {
  position: relative;
  max-width: 80rem;
  width: 92%;
  max-height: 90%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: auto;
}

.modal_window .inr_conts {
  padding: 3em;
  background-color: #f7f7f7;
  text-align: center;
}
.modal_window .inr_conts .text {
  margin-bottom: 1.5em;
}

.narrowdown_form {
  padding: 3em;
  border: 4rem solid #fafafa;
  /*background-color: #fafafa;*/
}
.narrowdown_form .item + .item {
  margin-top: 2em;
}
.narrowdown_form .item {
  width: 60em;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 991px) {
  .narrowdown_form {
    padding: 2em;
    border-width: 2rem;
  }
  .narrowdown_form .item + .item {
    margin-top: 1.5em;
  }
  .narrowdown_form .item {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .narrowdown_form {
    padding: 2em 1.5em;
    border-width: 1rem;
  }
}

/*-------------------------------------
  member
--------------------------------------*/
#login {
  width: auto;
  max-width: 440px;
  padding: 0;
  font-size: 1.4rem;
}
.login h1 {
  text-align: left;
}
.login form {
  margin-top: 0;
  padding: 0;
  border: none;
  box-shadow: none;
}
.login form .sup {
  margin-bottom: 2em !important;
  font-size: 1.2rem;
  color: #777;
  line-height: 1.5;
}

.login label {
  font-size: 1.4rem;
}
.login form .input,
.login input[type="password"],
.login input[type="text"] {
  min-height: 0;
  border-radius: 0;
  box-shadow: none;
}
.login input[type="submit"] {
  background: #285ad6;
  border-color: #285ad6;
  color: #fff;
  text-decoration: none;
  text-shadow: none;
  cursor: pointer;
}
@media screen and (min-width: 992px) {
  .login input[type="submit"] {
    transition: 0.4s;
  }
}
.login input[type="submit"]:hover,
.login input[type="submit"]:focus {
  opacity: 0.8;
}

.login #nav {
  font-size: 1.4rem;
}
.login #nav a {
  color: #083994 !important;
  word-break: break-all;
}
.login #nav a:hover,
.login #nav a:focus {
  opacity: 0.8;
  text-decoration: underline;
}

/*-------------------------------------
  faqs
--------------------------------------*/
.dl_faq > .item {
  border-bottom: 1px solid #eeeeee;
}
.dl_faq > .item > dt {
  position: relative;
  padding: 1em 2.3em 0.8em;
  font-size: 2rem;
  cursor: pointer;
}
.dl_faq > .item > dt::before {
  content: "Q.";
  display: block;
  position: absolute;
  left: 0.2em;
  font-size: 2.8rem;
  color: #285ad6;
  line-height: 1;
}
.dl_faq > .item > dt::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 1em;
  bottom: 0;
  margin: auto;
  width: 0.5em;
  height: 0.5em;
  border-right: 2px solid #285ad6;
  border-bottom: 2px solid #285ad6;
  transform: rotate(45deg);
  transition: 0.4s;
}
.dl_faq > .item > dt.active {
  color: #285ad6;
}
.dl_faq > .item > dt.active::after {
  transform: rotate(225deg);
}
.dl_faq > .item > dd {
  position: relative;
  display: none;
  padding: 1.5em 2em;
  padding-left: 3.5em;
  background-color: #f5f5f5;
}
.dl_faq > .item > dd::before {
  content: "A.";
  display: block;
  position: absolute;
  left: 0.8em;
  font-size: 2.8rem;
  color: #c11;
  line-height: 1;
}

@media screen and (max-width: 991px) {
  .dl_faq > .item > dt {
    padding: 1em 2.3em 0.8em;
    font-size: 1.8rem;
  }
  .dl_faq > .item > dt::before {
    left: 0.2em;
    font-size: 2.6rem;
  }
  .dl_faq > .item > dd {
    padding: 1.5em 2em;
    padding-left: 3.5em;
    font-size: 1.4rem;
  }
  .dl_faq > .item > dd::before {
    left: 0.6em;
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 991px) {
  .dl_faq > .item > dt {
    padding: 1em 2.5em 0.8em;
    font-size: 1.6rem;
  }
}

/*-------------------------------------
  made to order
--------------------------------------*/
.ul_madetoorder {
  display: flex;
  flex-wrap: wrap;
}
.ul_madetoorder.-special {
  display: block;
}
.ul_madetoorder .item {
  width: 33.333%;
  padding: 0 1em;
  margin-top: 1.5em;
  display: flex;
}
.ul_madetoorder.-special .item {
  width: 100%;
  padding: 0;
}
.ul_madetoorder .item .img_box {
  width: 50%;
}
.ul_madetoorder .item .img_box img {
  max-width: 100%;
  width: 100%;
}
.ul_madetoorder .item .txt_box {
  width: 50%;
  padding-left: 2rem;
}
.ul_madetoorder .item .title {
  margin-bottom: 0.5em;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
}
.ul_madetoorder .item .text {
  letter-spacing: -0.05rem;
}
@media screen and (max-width: 992px) {
  .ul_madetoorder .item {
    width: 100%;
    padding: 0 1.5%;
  }
}

.btn_madetoorder {

}
.btn_madetoorder a {
  background: #285ad6;
  display: block;
  max-width: 650px;
  margin: 0 auto;
  color: #fff;
  text-align: center;
  padding: 1em;
  font-size: 2.4rem;
}
.btn_madetoorder span {
  background: #fff;
  color: #285ad6;
  line-height: 1;
  font-size: 1.8rem;
  padding: 0.5em 1.5em;
  display: inline-block;
  margin-top: 1.5rem
}
@media screen and (min-width: 992px) {
  .btn_madetoorder a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .btn_madetoorder a {
    font-size: 1.6rem;
  }
  .btn_madetoorder span {
    font-size: 1.4rem;
  }
  
}

/*-------------------------------------
  exhibition
--------------------------------------*/
.fx_exhibition {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1.5em 0;
}
.fx_exhibition .item {
  width: 33.3333%;
  margin-top: 5em;
  padding: 0 1.5em;
}
/* .fx_exhibition .item a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
} */
.fx_exhibition .item .title {
  margin-top: 0.8em;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
}
.fx_exhibition .img_box {
  border: 1px solid #e7e7e7;
}
.fx_exhibition .badge {
  display: inline-block;
  line-height: 1;
  padding: 0.5em 1em;
  color: #fff;
  background: #e60012;
  margin-bottom: 0.5em;
}

@media screen and (min-width: 992px) {
  .fx_exhibition .item a:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 991px) {
  .fx_exhibition {
    margin-right: -2%;
    margin-left: -2%;
  }
  .fx_exhibition .item {
    width: 50%;
    margin-top: 3em;
    padding: 0 2%;
  }
  .fx_exhibition .item .title {
    font-size: 1.6rem;
  }
}