


.cmshtml {
  line-height: 1.15;
border  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

.cmsbody {
  margin: 0;
}

.cmshtml article,
.cmshtml aside,
.cmshtml footer,
.cmshtml header,
.cmshtml nav,
.cmshtml section {
  display: block;
}

.cmshtml h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

.cmshtml figcaption,
.cmshtml figure,
.cmshtml main {
  /* 1 */
  display: block;
}

.cmshtml figure {
  margin: 1em 40px;
}

.cmshtml hr {
  box-sizing: content-box;
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

.cmshtml pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

.cmshtml a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

.cmshtml abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

.cmshtml b,
.cmshtml strong {
  font-weight: inherit;
}

.cmshtml b,
.cmshtml strong {
  font-weight: bolder;
}

.cmshtml code,
.cmshtml kbd,
.cmshtml samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

.cmshtml dfn {
  font-style: italic;
}

.cmshtml mark {
  background-color: #ff0;
  color: #000;
}

.cmshtml small {
  font-size: 80%;
}

.cmshtml sub,
.cmshtml sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

.cmshtml sub {
  bottom: -0.25em;
}

.cmshtml sup {
  top: -0.5em;
}

.cmshtml audio,
.cmshtml video {
  display: inline-block;
}

.cmshtml audio:not([controls]) {
  display: none;
  height: 0;
}

.cmshtml img {
  border-style: none;
}

.cmshtml svg:not(:root) {
  overflow: hidden;
}

.cmshtml button,
.cmshtml input,
.cmshtml optgroup,
.cmshtml select,
.cmshtml textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

.cmshtml button,
.cmshtml input {
  /* 1 */
  overflow: visible;
}

.cmshtml button,
.cmshtml select {
  /* 1 */
  text-transform: none;
}

.cmshtml button,
.cmshtml [type="button"],
.cmshtml [type="reset"],
.cmshtml [type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

.cmshtml button::-moz-focus-inner,
.cmshtml [type="button"]::-moz-focus-inner,
.cmshtml [type="reset"]::-moz-focus-inner,
.cmshtml [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

.cmshtml button:-moz-focusring,
.cmshtml [type="button"]:-moz-focusring,
.cmshtml [type="reset"]:-moz-focusring,
.cmshtml [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

.cmshtml fieldset {
  padding: 0.35em 0.75em 0.625em;
}

.cmshtml legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

.cmshtml progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

.cmshtml textarea {
  overflow: auto;
}

.cmshtml [type="checkbox"],
.cmshtml [type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

.cmshtml [type="number"]::-webkit-inner-spin-button,
.cmshtml [type="number"]::-webkit-outer-spin-button {
  height: auto;
}

.cmshtml [type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

.cmshtml [type="search"]::-webkit-search-cancel-button,
.cmshtml [type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

.cmshtml ::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

.cmshtml details,
.cmshtml menu {
  display: block;
}

.cmshtml summary {
  display: list-item;
}

.cmshtml canvas {
  display: inline-block;
}

.cmshtml template {
  display: none;
}

.cmshtml [hidden] {
  display: none;
}

.cmshtml .cf, .cmshtml .boxwrap1, .cmshtml .color_bg {
  zoom: 1;
}

.cmshtml .cf:before, .cmshtml .boxwrap1:before, .cmshtml .color_bg:before, .cmshtml .cf:after, .cmshtml .boxwrap1:after, .cmshtml .color_bg:after {
  content: "";
  display: table;
}

.cmshtml .cf:after, .cmshtml .boxwrap1:after, .cmshtml .color_bg:after {
  clear: both;
}

.cmshtml *:link,
.cmshtml *:visited,
.cmshtml *:active {
  color: inherit;
}

.cmshtml a:hover {
  color: inherit;
}

.cmshtml footer a:hover {
  text-decoration: underline;
}

.cmshtml .mb1 {
  margin-bottom: 6px;
}

.cmshtml .mb2 {
  margin-bottom: 12px;
}

.cmshtml .mb3 {
  margin-bottom: 18px;
}

.cmshtml .mb4 {
  margin-bottom: 24px;
}

.cmshtml .mb5 {
  margin-bottom: 30px;
}

.cmshtml .mb6 {
  margin-bottom: 36px;
}

.cmshtml .mb7 {
  margin-bottom: 42px;
}

.cmshtml .mb8 {
  margin-bottom: 48px;
}

.cmshtml .mb9 {
  margin-bottom: 54px;
}

.cmshtml .mb10 {
  margin-bottom: 60px;
}

.cmshtml .left {
  float: left;
}

.cmshtml .right {
  float: right;
}

.cmshtml .tar {
  text-align: right;
}

.cmshtml .tal {
  text-align: left;
}

.cmshtml .tac {
  text-align: center;
}

.cmshtml img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.cmshtml img.left {
  margin-right: 48px;
}

.cmshtml img.right {
  margin-left: 48px;
}

.cmshtml .rad {
  border-radius: 6px;
}

.cmshtml .full {
  width: 100%;
  height: auto;
}

.cmshtml .red {
  color: #FF0000;
}

.cmshtml .small {
  font-size: 83%;
}

.cmshtml .big {
  font-size: 117%;
}

.cmshtml .bold {
  font-weight: bold;
}

.cmshtml .mt5 {
  margin-top: 5px;
}

.cmshtml .mt10 {
  margin-top: 10px;
}

.cmshtml .mt20 {
  margin-top: 20px;
}

.cmshtml .mt30 {
  margin-top: 30px;
}

.cmshtml .i-sh {
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
}

.cmsbody,
.cmshtml dl,
.cmshtml dt,
.cmshtml dd,
.cmshtml ul,
.cmshtml ol,
.cmshtml li,
.cmshtml h1,
.cmshtml h2,
.cmshtml h3,
.cmshtml h4,
.cmshtml h5,
.cmshtml h6,
.cmshtml pre,
.cmshtml form,
.cmshtml input,
.cmshtml textarea,
.cmshtml small,
.cmshtml address,
.cmshtml aside,
.cmshtml blockquote,
.cmshtml th,
.cmshtml td {
  font-family: YuGothic, "游ゴシック", 'Noto Sans JP',"メイリオ", Meiryo,'Roboto', Helvetica Neue, Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
  font-size: 16px;
  font-size: 1rem;
  color: #000;
  font-weight: 400;
  box-sizing: border-box;
  letter-spacing: 1px;
  z-index: 0;
  margin: 0;
  max-height: 100%;
}

@media screen and (max-width: 800px) {
  .cmsbody,
.cmshtml dl,
.cmshtml dt,
.cmshtml dd,
.cmshtml ul,
.cmshtml ol,
.cmshtml li,
.cmshtml h1,
.cmshtml h2,
.cmshtml h3,
.cmshtml h4,
.cmshtml h5,
.cmshtml h6,
.cmshtml pre,
.cmshtml form,
.cmshtml input,
.cmshtml textarea,
.cmshtml small,
.cmshtml address,
.cmshtml aside,
.cmshtml blockquote,
.cmshtml th,
.cmshtml td {
    font-size: 15px;
    font-size: 0.9375rem;
    letter-spacing: 0px;
  }
}

.cmshtml p, .cmshtml div {
  letter-spacing: inherit;
  font-family: inherit;
  font-weight: inherit;
  margin: 0;
  box-sizing: border-box;
}
.cmshtml p {
 line-height: inherit;
}

@media screen and (max-width: 800px) {
  .cmshtml p, .cmshtml div {
    letter-spacing: 0;
  }
}

.cmshtml {
  overflow-y: scroll;
  box-sizing: border-box;
}

.cmsbody {
  line-height: 1.7;
  position: relative;
}

@media screen and (max-width: 800px) {
  .cmsbody {
    line-height: 1.5;
  }
}

.cmshtml ul {
  margin: 0;
  padding: 0;
}

.cmshtml li {
  list-style: none;
}

.cmshtml li img {
  vertical-align: bottom;
}

.cmshtml a {
  color: inherit;
  cursor: pointer;
  backface-visibility: hidden;
}

.cmshtml a:hover {
  opacity: 0.8;
}

.cmshtml ::selection {
  background-color: #0158A7;
  color: #fff;
  /* Safari */
}

.cmshtml ::-moz-selection {
  background-color: #0158A7;
  color: #fff;
  /* Firefox */
}

.cmshtml .arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";

  vertical-align: middle;
}

.cmshtml .triangle, .cmshtml #l_footer .fnav .fnav_ul .fnav_li.sec::before, .cmshtml .title-navi .title-navi_li a::after, .cmshtml .title-navi_ul .navi_li a::after {
  content: "";
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  border: 4px solid transparent;
  border-left: 4px solid #fff;
}

.cmsbody {
  background: #fff;
}

.cmshtml .boxwrap1, .cmshtml .color_bg {
  width: 1080px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  max-width: 100%;
}

@media screen and (max-width: 800px) {
  .cmshtml .boxwrap1, .cmshtml .color_bg {
    width: 96%;
    padding-left: 2%;
    padding-right: 2%;
  }
}

.cmshtml #header {
  margin: 0 auto;
  position: relative;
}

.cmshtml .shopframe #header {
  z-index: 2;
}

@media print {
  .cmshtml h1 a {
    text-indent: 0;
  }
  .cmshtml #navi_main li a {
    text-indent: 0;
  }
  .cmshtml #navi_sub li a {
    text-indent: 0;
  }
}

.cmshtml a:hover {
  text-decoration: none;
}

.cmshtml #h-logo {
  position: absolute;
  top: 0px;
  left: 0;
  width: calc(100%/6);
  z-index: 1;
  text-align: center;
  transition: top 0.05s ease 0s , width 0.05s ease 0s;
  -webkit-transition: top 0.05s ease, width 0.05s ease 0s;
  -moz-transition: top 0.05s ease, width 0.05s ease 0s;
  height: 100px;
}

.cmshtml #h-logo a {
  display: block;
  text-indent: -9999px;
  background: url(../image/logo.png) no-repeat center;
  background-size: 206px 82px;
  width: 100%;
  height: 100%;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

@media screen and (max-width: 1079px) {
  .cmshtml #h-logo {
    position: relative;
    width: 100%;
  }
}

.cmshtml #l-header {
  z-index: 1;
  width: 100%;
  position: relative;
}

@media screen and (min-width: 1080px) {
  .cmshtml #l-header {
    z-index: 2;
  }
  .cmshtml #l-header .headinner {
    width: 100%;
    transition: all 0.5s ease 0s;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    background: #fff;
    position: relative;
    position: fixed;
    top: 0;
    left: 0;
  }
  .cmshtml #l-header .headinner.fixed .h_nav__item {
    padding: 10px 0;
    line-height: 1.2;
  }
  .cmshtml #l-header .headinner.fixed #h-logo a {
    background-position: center 3px;
  }
}

@media screen and (max-width: 1079px) {
  .cmshtml #l-header {
    z-index: auto;
    width: 100%;
  }
}

.cmshtml .h_nav {
  position: relative;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  padding-left: calc(100%/6);
  border-bottom: 1px solid #060E31;
}

@media screen and (max-width: 1079px) {
  .cmshtml .h_nav {
    position: fixed;
    padding: 0;
  }
}

.cmshtml .h_nav__list {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  position: relative;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

@media screen and (max-width: 1079px) {
  .cmshtml .h_nav__list {
    max-height: none;
    padding: 20px 0px 0;
    max-width: 100%;
    width: 100%;
    display: block;
    left: 0;
  }
}

.cmshtml .h_nav__item {
  text-align: center;
  transition: all 0.3s linear;
  font-size: 19px;
  font-size: 1.1875rem;
  line-height: 1.5;
  border-left: 1px solid #060E31;
  flex: 0 1 auto;
  width: 100%;
  padding: 24px 0;
  letter-spacing: 0;
  font-weight: 700;
  letter-spacing: 0;
  color: #000;
  position: relative;
}

@media screen and (max-width: 1079px) {
  .cmshtml .h_nav__item {
    border-left: none;
  }
}

.cmshtml .h_nav__item .en {
  font-size: 20px;
  font-size: 1.25rem;
  padding: 0px 1vw;
}

.cmshtml .h_nav__item .jp {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.467;
}



.cmshtml .h_nav__item a {
  text-decoration: none;
  display: block;
  position: relative;
  box-sizing: border-box;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

@media screen and (max-width: 1079px) {
  .cmshtml .h_nav__item a:hover {
    opacity: 1;
  }
}

@media screen and (max-width: 1079px) {
  .cmshtml .h_nav__item a {
    width: 100%;
  }
}

@media screen and (min-width: 1080px) {
  .cmshtml .h_nav__item:hover {
    color: #0158A7;
  }
}

@media screen and (min-width: 1080px) {
  .cmshtml .drawer-navbar {
    margin: 0 auto;
    height: auto;
    background-color: transparent;
    border: 0;
    box-sizing: border-box;
    position: relative;
  }
  .cmshtml .drawer-hamburger {
    display: none;
  }
}

.cmshtml div.tel {
  font-size: 20px;
  font-size: 1.25rem;
  letter-spacing: 0;
  display: inline-block;
  line-height: 1.5;
  font-family: 'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
  font-weight: 700;
}

.cmshtml div.tel a {
  font-size: 42px;
  font-size: 2.625rem;
  color: inherit;
  text-decoration: none;
}

@media screen and (max-width: 1079px) {
  .cmshtml div.tel {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .cmshtml div.tel a {
    font-size: 30px;
    font-size: 1.875rem;
  }
}

@keyframes wave {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes flow {
  from {
    transform: translate(0);
  }
  to {
    transform: translate(50%);
  }
}

.cmshtml .wavecanvas_wrap {
  position: relative;
  height: 150px;
  /*何も表示されない場合は各波の親要素に高さを持たせましょう。*/
}

.cmshtml .wavecanvas_wrap canvas {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.cmshtml .wavecanvas_wrap.wavecanvas_wrap2 canvas {
  transform: scale(-1, 1);
}

.cmshtml #l_footer .flexleft div,
.cmshtml #l_footer .fnav  {
  color: #fff;
}

.cmshtml #l_footer .contact .wave_base {
  position: relative;
  background: #0158A7;
}

.cmshtml #l_footer .contact .flex_inner {
  margin-left: auto;
  margin-right: auto;
  width: 1100px;
  max-width: 100%;
  padding: 40px 10px 0px;
}

.cmshtml #l_footer .contact .flex_inner > div {
  width: 50%;
}

@media screen and (max-width: 800px) {
  .cmshtml #l_footer .contact .flex_inner > div {
    width: 100%;
  }
}

.cmshtml #l_footer .contact .flex_inner .flexleft {
  font-weight: 700;
  margin-bottom: 3em;
}

.cmshtml #l_footer .contact .flex_inner .h2title {
  font-size: 18px;
  font-size: 1.125rem;
}

.cmshtml #l_footer .contact .flex_inner .h3title {
  font-size: 32px;
  font-size: 2rem;
}

.cmshtml #l_footer .contact .flex_inner .txt {
  font-size: 18px;
  font-size: 1.125rem;
  letter-spacing: 0;
}

.cmshtml #l_footer .contact .flex_inner .txt.sub {
  font-size: 16px;
  font-size: 1rem;
}

.cmshtml #l_footer .contact .flex_inner .tel {
  color: #fff;
}

.cmshtml #l_footer .contact .flex_inner .link_box {
  background: #fff url("../image/arrow2.png") no-repeat right 30px center;
  color: #000;
  font-size: 20px;
  font-size: 1.25rem;
  text-align: center;
  border-radius: 999px;
  margin-bottom: 20px;
  line-height: 1.5;
  font-weight: 700;
  padding: 13px;
}

.cmshtml #l_footer .contact .flex_inner .link_box .main {
  color: #000;
}

.cmshtml #l_footer .contact .flex_inner .link_box .sub {
  color: #888;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.5px;
}

.cmshtml #l_footer .contact .flex_inner .link_box a {
  text-decoration: none;
}

.cmshtml #l_footer .fnav {
  background: #0158A7;
}

.cmshtml #l_footer .fnav .wave_wrap {
  transform: scale(-1, 1);
}

.cmshtml #l_footer .fnav a {
  text-decoration: none;
  color: inherit;
}

.cmshtml #l_footer .fnav .wave_base {
  background: #003F8E;
  padding-left: 8.5vw;
  padding-right: 8.5vw;
  padding-top: 20px;
  overflow: hidden;
}

@media screen and (max-width: 800px) {
  .cmshtml #l_footer .fnav .flex_inner {
    display: block;
  }
}

.cmshtml #l_footer .fnav .fnav_ul {
  margin-bottom: 2em;
  padding-right: 1em;
}

.cmshtml #l_footer .fnav .fnav_ul .fnav_li {
  font-weight: 700;
}

.cmshtml #l_footer .fnav .fnav_ul .fnav_li.pri {
  font-size: 19px;
  font-size: 1.1875rem;
  line-height: 1.5;
  letter-spacing: 0;
}

.cmshtml #l_footer .fnav .fnav_ul .fnav_li.sub {
  font-size: 14px;
  font-size: 0.875rem;
  color: #DDDDDD;
  margin-bottom: 25px;
}

.cmshtml #l_footer .fnav .fnav_ul .fnav_li.sec {
  padding-left: 12px;
  position: relative;
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 5px;
}

.cmshtml #l_footer .fnav .fnav_ul .fnav_li.sec::before {
  content: "";
  left: 0;
  border: 4px solid transparent;
  border-left: 7px solid #fff;
}

.cmshtml #l_footer .fnav .fnav_ul .fnav_li.ter {
  font-size: 15px;
  font-size: 0.9375rem;
  padding-left: 15px;
  position: relative;
  font-weight: 500;
}

.cmshtml #l_footer .fnav .fnav_ul .fnav_li.ter::before {
  content: "";
  border-top: 2px solid #fff;
  width: 8px;
  height: 1px;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.cmshtml #l_footer .fnav .fnav_ul a {
  display: block;
}

.cmshtml #l_footer .f_copy {
  background: #003F8E;
  font-size: 11px;
  color: #fff;
  text-align: center;
  letter-spacing: 0;
  padding: 3em 10px;
  width: 100%;
}

.cmshtml #l_footer .f_copy a {
  text-decoration: none;
  color: inherit;
}

.cmshtml #pagetop-side {
  width: 52px;
  height: 52px;
  position: fixed;
  z-index: 10;
  bottom: 10px;
  right: 10px;
  text-indent: -9999px;
  background-image: url(../image/pagetop.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  opacity: 1;
  transition: bottom 0.1s;
}

.cmshtml #pagetop-side:hover {
  cursor: pointer;
  border: 20px;
}

@media screen and (max-width: 800px) {
  .cmshtml #pagetop-side {
    width: 40px;
    height: 40px;
    bottom: 0px;
    right: 0px;
    background-size: 100%;
  }
}

.cmshtml #pagetop-side a {
  display: block;
}

.cmshtml #pagetop-side a:hover {
  opacity: 0.8;
}

.cmshtml .l-container,
.cmshtml #contents {
  width: 1080px;
  max-width: 100%;
  margin: 0 auto;
  min-height: 40vh;
}

.cmshtml #contents {
  width: 1080px;
  max-width: 100%;
  margin: 0 auto;
  min-height: 40vh;
}

@media screen and (max-width: 800px) {
  .cmshtml #contents {
    max-width: 98%;
  }
}

.cmshtml .inner {
  width: 1080px;
  max-width: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 800px) {
  .cmshtml .inner {
    max-width: 96%;
    padding: 0 2%;
  }
}

.cmshtml .l_main.page_main {
  overflow-x: hidden;
}

.cmshtml .flex {
  display: flex;
  align-content: stretch;
  justify-content: space-between;
}

@media screen and (max-width: 800px) {
  .cmshtml .flex {
    flex-wrap: wrap;
  }
}

.cmshtml .flex_inner {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-direction: row;
  flex-direction: row;
  justify-content: space-between;
  position: relative;
}

.cmshtml .boxwrap1 {
  position: relative;
  padding-left: 0;
  padding-right: 0;
}

.cmshtml .tag_rt {
  position: absolute;
  right: 10px;
  top: 10px;
  display: inline-block;
}

.cmshtml .default_none {
  display: none;
}

.cmshtml .ablock a {
  display: block;
}

.cmshtml .line-height2 {
  line-height: 2;
}

.cmshtml .link_efect {
  position: relative;
}

.cmshtml .link_efect a {
  background: #0158A7;
  display: block;
  color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 10px 20px;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  position: relative;
}

.cmshtml .link_efect a:hover {
  background: #CC3333;
}

.cmshtml .dl_ico a {
  text-decoration: underline;
  position: relative;
}

.cmshtml .dl_ico a:after {
  display: inline-block;
  width: 31px;
  height: 31px;
  position: absolute;
  right: 5px;
  top: 0;
  bottom: 0;
  margin: auto;
  content: none;
}

.cmshtml .dl_ico a[href*=".pdf"] {
  padding: 5px 42px 5px 5px;
}

.cmshtml .dl_ico a[href*=".pdf"]:after {
  content: "";
  background: url("../image/icon-pdf-m.png") no-repeat 0 0;
  background-size: 100% 100%;
}

.cmshtml .dl_ico a[href*=".doc"], .cmshtml .dl_ico a[href*=".docx"] {
  padding: 5px 42px 5px 5px;
}

.cmshtml .dl_ico a[href*=".doc"]:after, .cmshtml .dl_ico a[href*=".docx"]:after {
  content: "";
  background: url("../image/icon-word-m.png") no-repeat 0 0;
  background-size: 100% 100%;
}

.cmshtml .dl_ico a[href*=".xls"], .cmshtml .dl_ico a[href*=".xlsx"] {
  padding: 5px 42px 5px 5px;
}

.cmshtml .dl_ico a[href*=".xls"]:after, .cmshtml .dl_ico a[href*=".xlsx"]:after {
  content: "";
  background: url("../image/icon-xcel-m.png") no-repeat 0 0;
  background-size: 100% 100%;
}

.cmshtml .hidden {
  overflow: hidden;
}

.cmshtml .extlink {
  font-weight: 500;
  border: 1px solid #CC3333;
  color: #3F464B;
}

.cmshtml .extlink a {
  position: relative;
  padding: 12px 10px;
  display: block;
  text-decoration: none;
}

.cmshtml .extlink a::before {
  content: "";
  position: absolute;
  background: url("../image/ico_link.png") no-repeat 0 0;
  width: 19px;
  height: 16px;
  right: 10px;
  margin: auto;
  top: 0;
  bottom: 0;
}

.cmshtml .extlink:hover a {
  background: #0158A7;
  color: #fff;
}

.cmshtml .break-all {
  word-break: break-all;
}

.cmshtml .swingbox,
.cmshtml .flipbox,
.cmshtml .fadebox,
.cmshtml .fadeinbox,
.cmshtml .fadedownbox,
.cmshtml .bouncedownbox,
.cmshtml .bouncebox {
  opacity: 0;
}

.cmshtml .swingbox.animate__animated,
.cmshtml .flipbox.animate__animated,
.cmshtml .fadebox.animate__animated,
.cmshtml .fadeinbox.animate__animated,
.cmshtml .fadedownbox.animate__animated,
.cmshtml .bouncedownbox.animate__animated,
.cmshtml .bouncebox.animate__animated {
  opacity: 1;
}

.cmshtml .color_bg {
  padding: 60px 0;
}

.cmshtml .color_bg::before {
  z-index: -1;
  content: "";
  background: #F0F3F8;
  width: 100vw;
  max-width: 100vw;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}

.cmshtml .bg_grad {
  background: -moz-linear-gradient(to right, #0158A7, #CC3333);
  background: -webkit-linear-gradient(to right, #0158A7, #CC3333);
  background: linear-gradient(to right, #0158A7, #CC3333);
  color: #fff;
  font-weight: 700;
}

.cmshtml .jp-style {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
  text-orientation: upright;
}

.cmshtml .pconly {
  display: block;
}

@media screen and (max-width: 800px) {
  .cmshtml .pconly {
    display: none;
  }
}

.cmshtml .sponly {
  display: none;
}

@media screen and (max-width: 800px) {
  .cmshtml .sponly {
    display: block;
  }
}

.cmshtml .rad10 img {
  border-radius: 10px;
}

.cmshtml .title_bg {
  position: relative;
}

.cmshtml .title_bg::before {
  content: "";
  left: 0;
  top: 0;
  position: absolute;
  height: 100%;
  width: 100%;
  background: url("../image/bg_ttl.png") no-repeat 0 0;
  opacity: 0.2;
}

.cmshtml .flex_half {
  width: 50%;
}

@media screen and (max-width: 800px) {
  .cmshtml .flex_half {
    width: 100%;
  }
}

.cmshtml .link_btn {
  font-weight: 700;
}

.cmshtml .link_btn a {
  display: inline-block;
  position: relative;
  padding: 12px 15px 12px 50px;
  border-radius: 5px;
  font-weight: 700;
  border: 1px solid #0158A7;
  box-shadow: 0 0 0px 0px rgba(0, 0, 0, 0.2);
  text-decoration: none;
  transition: all 0.2s ease 0s;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
}

.cmshtml .link_btn a::before {
  width: 28px;
  height: 28px;
  content: "";
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  border-radius: 50%;
  background: #0158A7 url("../image/arrow.png") no-repeat center center;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.cmshtml .link_btn:hover a {
  box-shadow: 0 0 5px 0px rgba(0, 0, 0, 0.4);
  background-position: right -10px bottom;
}

.cmshtml .dot_icon {
  padding-left: 20px;
  position: relative;
}

.cmshtml .dot_icon::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background: #0158A7;
}

.cmshtml .spn {
  display: inline;
}

.cmshtml .relative {
  position: relative;
}

.cmshtml .font_tel {
  font-family: 'Unna', serif;
}

.cmshtml .font_oswald {
  font-family: 'Oswald', Helvetica Neue, Helvetica, 'Noto Sans JP', YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo;
}

.cmshtml .font_roboto {
  font-family: 'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
}

.cmshtml .gaiyou {
  display: flex;
  flex-flow: row wrap;
  padding: 2em 0;
  border-bottom: 1px dotted rgba(1, 88, 167, 0.5);
}

.cmshtml .gaiyou > div:nth-child(1),
.cmshtml .gaiyou > dt:nth-child(1) {
  width: 30%;
}

.cmshtml .gaiyou > div:nth-child(2),
.cmshtml .gaiyou > dd:nth-child(2) {
  width: 70%;
}

.cmshtml .gaiyou .hd {
  text-align: center;
  font-weight: bold;
}

.cmshtml .ol-list {
  counter-reset: item;
  position: relative;
  padding: 0;
}

.cmshtml .ol-list .ol-list_li {
  list-style-type: none;
  padding: 1em 0;
  margin-bottom: 1.5em;
  position: relative;
  padding-left: 80px;
}

.cmshtml .ol-list .ol-list_li:before {
  position: absolute;
  left: 0;
  top: 0;
  font-family: 'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
  font-weight: 700;
  color: #fff;
  letter-spacing: 0;
  font-size: 24px;
  font-size: 1.5rem;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #0158A7;
  line-height: 60px;
  text-align: center;
  flex-shrink: 1;
  margin-right: 20px;
  counter-increment: item;
  content: counter(item) "";
  display: inline-block;
}

.cmshtml .step_dl {
  display: flex;
}

.cmshtml .step_dl .step_dt {
  font-family: 'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
  font-weight: 700;
  color: #fff;
  letter-spacing: 0;
  font-size: 24px;
  font-size: 1.5rem;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #0158A7;
  line-height: 60px;
  text-align: center;
  flex-shrink: 1;
}

.cmshtml .step_dl .step_dd {
  font-weight: 700;
  padding: 1em 1.5em;
}

.cmshtml .toggle-box {
  position: relative;
}

.cmshtml .toggle-box::before {
  content: "";
  width: 14px;
  position: absolute;
  top: 35px;
  right: 29px;
  border-top: 2px solid #FFF;
  box-sizing: border-box;
  z-index: 1;
}

.cmshtml .toggle-box .toggle-box_dt {
  width: 100%;
  min-height: 70px;
  position: relative;
  color: #333333;
  font-size: 20px;
  letter-spacing: 0.1em;
  background-color: #f9fafa;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  padding: 20px 50px 20px 38px;
  cursor: pointer;
  font-size: 18px;
  font-size: 1.125rem;
}

.cmshtml .toggle-box .toggle-box_dt::before {
  content: "";
  width: 26px;
  height: 26px;
  position: absolute;
  top: 23px;
  right: 23px;
  background-color: #0158A7;
  border-radius: 13px;
  -webkit-border-radius: 13px;
  -moz-border-radius: 13px;
  cursor: pointer;
}

.cmshtml .toggle-box .toggle-box_dt::after {
  content: "";
  height: 14px;
  position: absolute;
  top: 50%;
  right: 35px;
  margin-top: -6px;
  border-right: 2px solid #FFF;
  box-sizing: border-box;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.cmshtml .toggle-box .toggle-box_dt.open:after {
  opacity: 0;
}

.cmshtml .toggle-box .toggle-box_dd {
  padding: 20px 25px 20px 25px;
  position: relative;
  display: none;
}

.cmshtml .toggle-box .toggle-box_dd.open {
  display: block;
}

.cmshtml .faq .faq_dt {
  position: relative;
  padding: 16px 30px 16px 65px;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
}

.cmshtml .faq .faq_dt::before {
  content: "Q";
  position: absolute;
  top: 6px;
  left: 0px;
  color: #fff;
  background: #0158A7;
  border-radius: 50%;
  font-weight: 400;
  font-size: 28px;
  font-size: 1.75rem;
  width: 44px;
  line-height: 44px;
  text-align: center;
}

.cmshtml .faq .faq_dd {
  position: relative;
  padding: 20px 30px 20px 65px;
}

.cmshtml .faq .faq_dd::before {
  content: "A";
  position: absolute;
  top: 7px;
  left: 0px;
  color: #fff;
  background: #CC3333;
  font-weight: 400;
  font-size: 28px;
  font-size: 1.75rem;
  width: 44px;
  line-height: 44px;
  text-align: center;
  border-radius: 50%;
}

.cmshtml .ub-to_bt {
  font-weight: 700;
  margin-left: auto;
}

.cmshtml .ub-to_bt a {
  display: inline-block;
  position: relative;
  padding-left: 90px;
  padding-top: 22px;
  padding-bottom: 22px;
  text-decoration: none;
}

.cmshtml .ub-to_bt a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 68px;
  height: 68px;
  background: #0158A7 url("../image/arrow1.png") no-repeat center center;
  border-radius: 50%;
}

.cmshtml .ub-to_bt a::after {
  content: "";
  position: absolute;
  left: 25px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  margin: auto;
  top: 0;
  bottom: 0;
  background: #0158A7;
  z-index: -1;
}

.cmshtml .ub-to_bt a:hover::after {
  -webkit-animation: 1.5s linear 0s infinite pulse;
  animation: 1.5s linear 0s infinite pulse;
}

@-webkit-keyframes pulse {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0;
    transform: scale(7);
  }
  100% {
    opacity: 0;
  }
}

@keyframes pulse {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0;
    transform: scale(7);
  }
  100% {
    opacity: 0;
  }
}

.cmshtml .fullsize {
  text-align: center;
}

.cmshtml .fullsize img {
  width: 100vw;
  max-width: 100vw;
  margin: 0 calc(50% - 50vw);
}

.cmshtml .mb40 {
}

.cmshtml .dl_list_text_btn a {
  display: inline-block;
  padding: 0.8em 1em 0.8em 3.5em;
  color: #000;
  background: rgba(1, 88, 167, 0.2);
  border-radius: 5px;
  text-decoration: none;
  transition: all 0.6s;
  position: relative;
  font-weight: 700;
}

.cmshtml .dl_list_text_btn a:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 1em;
  background-position: left center;
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
  line-height: 1.5;
  background-image: url("../image/arrow-next-circle.png");
  background-size: 30px 30px;
}

.cmshtml .dl_list_text_btn a[href*=".pdf"]:after {
  background-image: url("../image/icon-pdf-m.png");
  background-size: 30px 30px;
}

.cmshtml .dl_list_text_btn a[href*=".doc"]:after, .cmshtml .dl_list_text_btn a[href*=".docx"]:after {
  background-image: url("../image/icon-word-m.png");
  background-size: 30px 30px;
}

.cmshtml .dl_list_text_btn a[href*=".xls"]:after, .cmshtml .dl_list_text_btn a[href*=".xlsx"]:after {
  background-image: url("../image/icon-xcel-m.png");
  background-size: 30px 30px;
}

.cmshtml .dl_list_text_btn a[href*=".zip"]:after {
  background-image: url("../image/zip.png");
  background-size: 30px 30px;
}

.cmshtml .dl_list_text_btn.full a {
  display: block;
}

.cmshtml .syokusyu .md-syokusyu {
  position: relative;
  overflow: hidden;
  margin-bottom: 18px;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.cmshtml .syokusyu .md-syokusyu::before {
  background: linear-gradient(to top, rgba(1, 110, 177, 0), rgba(0, 63, 142, 0.8));
  position: absolute;
  top: 0%;
  left: 0;
  height: 50%;
  width: 100%;
  content: "";
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  pointer-events: none;
}

.cmshtml .syokusyu .md-syokusyu::after {
  background: linear-gradient(to top, rgba(1, 110, 177, 0.6), rgba(0, 63, 142, 0.8));
  position: absolute;
  top: 100%;
  left: 0;
  height: 0%;
  width: 100%;
  content: "";
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.cmshtml .syokusyu .md-syokusyu .imgwrap img {
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.cmshtml .syokusyu .md-syokusyu .figcaption {
  z-index: 2;
  position: absolute;
  bottom: 0%;
  left: 0;
  height: auto;
  width: 100%;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  height: 100%;
  /* background:-webkit-linear-gradient(rgba($base-main-color-on,0.8), rgba(#016EB1,0.8));
     background:-o-linear-gradient(rgba($base-main-color-on,0.8), rgba(#016EB1,0.8));
     background:linear-gradient(rgba($base-main-color-on,0.8), rgba(#016EB1,0.8));*/
}

.cmshtml .syokusyu .md-syokusyu .figcaption .h3title {
  color: #fff;
  font-weight: 700;
  font-size: 21px;
  font-size: 1.3125rem;
  padding: 10px 0;
  width: 100%;
  text-align: center;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.cmshtml .syokusyu .md-syokusyu .figcaption .txt {
  color: #fff;
  font-size: 17px;
  text-align: center;
  z-index: 10;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  opacity: 0;
  padding: 20px 10px;
  position: relative;
}

.cmshtml .syokusyu .md-syokusyu .figcaption .txt::after {
  content: "MORE";
  border: 2px solid #fff;
  color: #fff;
  padding: 0 10px;
  display: block;
  width: 5em;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0;
  font-weight: 700;
}

.cmshtml .syokusyu .md-syokusyu.onhover {
  transform: scale(1.1);
  box-shadow: 0 5px 8px -2px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 8px -2px rgba(0, 0, 0, 0.2);
  background: #fff;
  z-index: 2;
}

.cmshtml .syokusyu .md-syokusyu.onhover::after {
  top: -100%;
  height: 200%;
}

.cmshtml .syokusyu .md-syokusyu.onhover .imgwrap img {
  transform: scale(1.1);
  opacity: 0.3;
}

.cmshtml .syokusyu .md-syokusyu.onhover .figcaption {
  height: 100%;
}

.cmshtml .syokusyu .md-syokusyu.onhover .figcaption .h3title {
  padding: 50px 0 10px;
}

.cmshtml .syokusyu .md-syokusyu.onhover .figcaption .txt {
  opacity: 1;
}

.cmshtml .underlinetitles {
  display: inline-block;
  background: linear-gradient(transparent 60%, rgba(1, 88, 167, 0.5) 60%);
}

.cmshtml .underlinetitles2 {
  display: inline-block;
  background: linear-gradient(transparent 60%, rgba(2, 166, 48, 0.9) 60%);
}

@media screen and (max-width: 800px) {
  .cmshtml .flex_inner.concept_block {
    display: block;
  }
}

.cmshtml .flex_inner.concept_block.page_block {
  margin: 40px 0;
}

.cmshtml .flex_inner.concept_block.page_block .flex_row_inner {
  max-width: 50%;
}

@media screen and (max-width: 800px) {
  .cmshtml .flex_inner.concept_block.page_block .flex_row_inner {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-height: 1px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
}

.cmshtml .flex_inner.concept_block.page_block .flex_row_inner.flex_txt {
  padding: 20px 20px;
  border-radius: 0 40px 0 40px;
  position: relative;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .cmshtml .flex_inner.concept_block.page_block .flex_row_inner.flex_txt {
    margin-top: 20px;
  }
}

.cmshtml .flex_inner.concept_block.page_block .flex_row_inner.flex_txt::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  max-width: 100%;
  max-height: 100%;
  width: 400px;
  height: 400px;
  border-radius: 9999px;
  background: #F6F5F3;
  z-index: -1;
}

.cmshtml .flex_inner.concept_block.page_block .flex_row_inner.flex_txt .h2 {
  padding: 6px 0;
  color: #665C54;
  font-weight: 700;
  background: none;
  border-bottom: 3px dotted #f8b500;
  margin: 20px 0;
  display: inline-block;
}

.cmshtml .flex_inner.concept_block.page_block .flex_row_inner.flex_txt .h2::before {
  display: none;
}

.cmshtml .flex_inner.concept_block.page_block .flex_row_inner.flex_txt .txt {
  font-size: 18px;
  font-size: 1.125rem;
  text-align: left;
}

.cmshtml .flex_inner.concept_block.page_block .flex_row_inner.flex_img img {
  border-radius: 0 40px 0 40px;
}

.cmshtml .flex_inner.concept_block.page_block .flex_row_inner.flex_img .num {
  position: absolute;
  left: 0px;
  top: -20px;
  width: 70px;
  height: 70px;
  font-size: 36px;
  font-size: 2.25rem;
  font-family: 'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
  color: #0158A7;
  z-index: 3;
}

.cmshtml .flex_inner.concept_block.page_block .flex_row_inner.flex_img .num::before {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: #fff;
  left: -35px;
  top: -20px;
  width: 90px;
  height: 90px;
  z-index: -1;
}

.cmshtml .anchor__wrap {
  position: relative;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding: 0 0 45px;
}

.cmshtml .anchor__list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto;
}

@media screen and (max-width: 800px) {
  .cmshtml .anchor__list {
    justify-content: flex-start;
  }
}

.cmshtml .anchor__list > li, .cmshtml .anchor__list > div {
  width: 32%;
  margin: 0 0.5% 12px;
}

@media screen and (max-width: 800px) {
  .cmshtml .anchor__list > li, .cmshtml .anchor__list > div {
    width: 99%;
    text-align: left;
  }
}

.cmshtml .anchor__item {
  text-align: center;
  font-weight: 700;
  color: #0158A7;
}

.cmshtml .anchor__item a {
  position: relative;
  display: block;
  padding: 10px 10px 10px;
  border: 2px solid #0158A7;
  text-decoration: none;
}

@media screen and (max-width: 800px) {
  .cmshtml .anchor__item a {
    padding: 5px 0 5px 30px;
  }
}

.cmshtml .anchor__item a::after {
  content: '';
  position: absolute;
  bottom: 0;
  top: 0;
  right: 10px;
  margin: auto;
  width: 7px;
  height: 7px;
  border-bottom: 2px solid #0158A7;
  border-left: 2px solid #0158A7;
  transform: rotate(-45deg);
}

@media screen and (max-width: 800px) {
  .cmshtml .anchor__item a::after {
    right: auto;
    top: 0;
    left: 10px;
    width: 6px;
    height: 6px;
  }
}

.cmshtml .anchor__item:hover a {
  background: #F0F3F8;
  opacity: 1;
}

.cmshtml .anchor__list.list3 > li, .cmshtml .anchor__list.list3 > div {
  width: 32%;
}

@media screen and (max-width: 800px) {
  .cmshtml .anchor__list.list3 > li, .cmshtml .anchor__list.list3 > div {
    width: 99%;
  }
}

.cmshtml .anchor__list.list4 > li, .cmshtml .anchor__list.list4 > div {
  width: 24%;
}

@media screen and (max-width: 800px) {
  .cmshtml .anchor__list.list4 > li, .cmshtml .anchor__list.list4 > div {
    width: 49%;
  }
}

.cmshtml .anchor__list.list5 > li, .cmshtml .anchor__list.list5 > div {
  width: 19%;
}

@media screen and (max-width: 800px) {
  .cmshtml .anchor__list.list5 > li, .cmshtml .anchor__list.list5 > div {
    width: 49%;
  }
}

.cmshtml .sec_contents {
  margin-bottom: 95px;
  position: relative;
  display: flex;
  flex-flow: row wrap;
}

.cmshtml .sec_contents > div {
  width: calc(33% - 20px);
  margin: 0 10px 20px;
}

@media screen and (max-width: 800px) {
  .cmshtml .sec_contents > div {
    width: calc(50% - 20px);
  }
}

.cmshtml .sec_contents .con_box {
  border: 2px solid #0158A7;
  border-radius: 8px;
}

.cmshtml .sec_contents .con_box .title_txt {
  color: #fff;
  background: #0158A7;
  text-align: center;
  padding: 15px;
  font-weight: 600;
  min-height: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
}

.cmshtml .sec_contents .con_box .imgwrap {
  padding: 10px 10px 0px;
}

.cmshtml .sec_contents .txt {
  padding: 15px;
  font-size: 14px;
}

.cmshtml .just2, .cmshtml .just3, .cmshtml .just4, .cmshtml .just5, .cmshtml .just_gr {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.cmshtml .just_center {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}

.cmshtml .just3 > div,
.cmshtml .just3 > li {
  width: 32%;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .just3 > div,
.cmshtml .just3 > li {
    width: 100%;
  }
}

.cmshtml .just2 > div,
.cmshtml .just2 > li {
  width: 49%;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .just2 > div,
.cmshtml .just2 > li {
    width: 100%;
  }
}

.cmshtml .just4 > div,
.cmshtml .just4 > li {
  width: 24%;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .just4 > div,
.cmshtml .just4 > li {
    width: 49%;
  }
}

.cmshtml .just5 > div,
.cmshtml .just5 > li {
  width: 19%;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .just5 > div,
.cmshtml .just5 > li {
    width: 49%;
  }
}

.cmshtml .title_wrap {
  position: relative;
}

.cmshtml .title_wrap .en {
  letter-spacing: 0;
  color: #0158A7;
  font-weight: 700;
}

.cmshtml .title_wrap .jp {
  letter-spacing: 0;
  font-weight: 700;
}

.cmshtml .base_color {
  background: #F0F3F8;
}

.cmshtml .bg_color {
  background: #F0F3F8;
}

.cmshtml #slide-wrap {
  position: relative;
  width: 100%;
}

.cmshtml .no-flexbox #slide-wrap .swiper-wrapper {
  width: 1080px;
  margin: 0 auto;
}

.cmshtml #slide-wrap.swiper-container .swiper-slide {
  width: auto;
}

.cmshtml #slide-wrap.swiper-container .swiper-slide img {
  max-height: 100%;
  width: auto;
}

@media screen and (max-width: 966px) {
  .cmshtml #slide-wrap.swiper-container .swiper-slide {
    height: auto;
    width: 100%;
    height: 100%;
  }
  .cmshtml #slide-wrap.swiper-container .swiper-slide img {
    height: auto;
    max-width: 100%;
  }
}

.cmshtml .no-flexbox #slide-wrap.swiper-container {
  overflow: hidden;
}

.cmshtml .no-flexbox #slide-wrap.swiper-container .swiper-slide {
  float: left;
}

.cmshtml #slide-wrap .swiper-pagination {
  opacity: 0.5;
}

.cmshtml #slide-wrap .slide-wrap:hover .swiper-pagination {
  opacity: 1.0;
}

.cmshtml #slide-wrap .swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 5px;
}

.cmshtml #slide-wrap .swiper-pagination-fraction, .cmshtml #slide-wrap .swiper-pagination-custom, .cmshtml #slide-wrap .swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 2px;
}

.cmshtml #slide-wrap .swiper-pagination-bullet-active {
  background-color: rgba(1, 88, 167, 0.9);
}

.cmshtml .top-slide {
  position: relative;
  overflow: hidden;
}

.cmshtml .top-slide .swiper-button-prev, .cmshtml .top-slide .swiper-button-next {
  opacity: 0;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.cmshtml .top-slide:hover .swiper-button-prev, .cmshtml .top-slide:hover .swiper-button-next {
  opacity: 0.7;
}

.cmshtml .top-slide .top-slide-on {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
}

.cmshtml .swiper-container .swiper-slide {
  position: relative;
}

.cmshtml .swiper-slide-content {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(0, -50%);
  max-width: 40%;
}

.cmshtml .swiper-slide-active .swiper-slide-content {
  animation: fromB .8s ease-in-out 0.1s 1 normal both;
}

.cmshtml .concept {
  position: relative;
  padding-left: 8.5%;
  padding-right: 8.5%;
  padding-top: 17vw;
}

.cmshtml .concept .bg {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 73%;
  overflow: hidden;
}

.cmshtml .concept .txtarea {
  max-width: 100%;
  font-weight: 700;
  padding: 80px 10vw 60px 10px;
}

@media screen and (max-width: 1200px) {
  .cmshtml .concept .txtarea {
    padding-right: 5vw;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .concept .txtarea {
    padding: 40px 5vw 40px 0px;
  }
}

.cmshtml .concept .txtarea::before {
  content: "";
  position: absolute;
  background: #F6F5F3;
  left: 0;
  top: 17vw;
  height: calc(100% - 17vw);
  width: calc(100% - 13.5vw);
  z-index: -1;
}

@media screen and (max-width: 1200px) {
  .cmshtml .concept .txtarea::before {
    width: calc(100% - 8.5vw);
  }
}

.cmshtml .concept .txtarea.flex_inner {
  position: static;
}

.cmshtml .concept .txtarea .h2title {
  font-size: 46px;
  font-size: 2.875rem;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 30px;
  letter-spacing: -1px;
}

.cmshtml .concept .txtarea .h2title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 50px;
  height: 1px;
  border-bottom: 1px solid #0158A7;
}

@media screen and (max-width: 1200px) {
  .cmshtml .concept .txtarea .h2title {
    font-size: 36px;
    font-size: 2.25rem;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .concept .txtarea .h2title {
    font-size: 30px;
    font-size: 1.875rem;
  }
}

.cmshtml .concept .txtarea .h3title {
  font-size: 24px;
  font-size: 1.5rem;
  color: #3F464B;
  letter-spacing: 0;
  margin-bottom: 20px;
}

@media screen and (max-width: 1200px) {
  .cmshtml .concept .txtarea .h3title {
    font-size: 22px;
    font-size: 1.375rem;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .concept .txtarea .h3title {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

.cmshtml .concept .txtarea .txt {
  color: #3F464B;
  font-size: 15px;
  font-size: 0.9375rem;
  width: 45%;
  max-width: calc(100% - 540px);
}

@media screen and (max-width: 1200px) {
  .cmshtml .concept .txtarea .txt {
    max-width: calc(100% - 480px);
  }
}

@media screen and (max-width: 1079px) {
  .cmshtml .concept .txtarea .txtarea,
.cmshtml .concept .txtarea .txt {
    width: 100%;
    max-width: 100%;
  }
}

.cmshtml .top_concept {
  position: relative;
  overflow: hidden;
  align-items: center;
  padding-top: 50px;
}

.cmshtml .top_concept.flex_inner {
  position: relative;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_concept.flex_inner {
    display: block;
  }
}

.cmshtml .top_concept .flex_img {
  text-align: right;
  position: relative;
  margin-bottom: auto;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_concept .flex_img {
    text-align: center;
    justify-content: center;
  }
}

@media screen and (min-width: 1081px) {
  .cmshtml .top_concept .flex_img.order_1 {
    padding-right: 15px;
  }
}

@media screen and (min-width: 1081px) {
  .cmshtml .top_concept .flex_img.order_2 {
    padding-left: 15px;
  }
}

.cmshtml .top_concept .flex_txt {
  max-width: 100%;
  margin: 0 auto;
  padding-left: 2%;
  padding-right: calc(2% + 56px);
}

@media screen and (max-width: 1079px) {
  .cmshtml .top_concept .flex_txt {
    padding-right: 4%;
    background: none;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .top_concept .flex_txt {
    margin-bottom: 2em;
  }
}

.cmshtml .top_concept .flex_txt.order_2 {
  padding-top: 0;
  padding-bottom: 0;
}

.cmshtml .top_concept .flex_txt .h2title {
  font-size: 62px;
  font-size: 3.875rem;
  font-weight: 700;
  padding-left: 56px;
  background: url("../image/icon.png") no-repeat 0 26px;

  position: relative;
  letter-spacing: 0;
  margin-bottom: 5px;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_concept .flex_txt .h2title {
    background-position: 0 0;
    padding-left: 10px;
    padding-top: 15px;
    font-size: 50px;
    font-size: 3.125rem;
  }
}

.cmshtml .top_concept .flex_txt .h3title {
  padding-left: 56px;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  color: #0158A7;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_concept .flex_txt .h3title {
    padding-left: 10px;
  }
}

.cmshtml .top_concept .flex_txt .h4title {
  padding-left: 56px;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-top: 25px;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_concept .flex_txt .h4title {
    padding-left: 10px;
  }
}

.cmshtml .top_concept .flex_txt .link_list {
  padding-left: 56px;
  font-size: 18px;
  font-size: 1.125rem;
  border-bottom: 1px solid #F4F7F8;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_concept .flex_txt .link_list {
    padding-left: 10px;
  }
}

.cmshtml .top_concept .flex_txt .link_list a {
  display: block;
  position: relative;
  text-decoration: none;
  padding: 15px 34px 15px 0;
}

.cmshtml .top_concept .flex_txt .link_list a::before {
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #0158A7 url("../image/arrow.png") no-repeat center center;
}

.cmshtml .top_concept .order_1 {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.cmshtml .top_concept .order_2 {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.cmshtml .top_concept > div {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
  position: relative;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_concept > div {
    width: 100%;
    max-width: 100%;
    min-height: 1px;
  }
}

.cmshtml .top_concept {
  background: url("../image/bg.png") no-repeat left center;
  background-size: auto 100%;
}

.cmshtml .top_concept.img_left_block {
  background: url("../image/bg.png") no-repeat right center;
}

.cmshtml .top_news {
  background: #F0F3F8;
  position: relative;
  padding: 100px 8.5vw;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_news {
    padding: 30px 30px 50px;
  }
}

.cmshtml .top_news .flex_inner {
  position: relative;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_news .flex_inner {
    display: block;
  }
}

.cmshtml .top_news .flex_inner .title_wrap .h2title {
  font-size: 52px;
  font-size: 3.25rem;
}

.cmshtml .top_news__wrap {
  max-height: 320px;
  overflow: auto;
  width: 80%;
  border-top: 1px solid #D9DCE3;
}
.cmshtml .wrap_inner {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_news__wrap {
    width: 100%;
    display: block;
  }
}
.cmshtml .top_news .wrap_inner >div,
.cmshtml .top_news .wrap_inner >dl {
width: calc((100% - 20px) / 2);
}
@media screen and (max-width: 800px) {
.cmshtml .top_news .wrap_inner >div,
.cmshtml .top_news .wrap_inner >dl {
width: 100%;
}
}

.cmshtml .top_news__dl {
  padding: 25px 12px;
  border-bottom: 1px solid #D9DCE3;
  position: relative;
  margin-right: 20px;
}

.cmshtml .top_news__dl:nth-child(2n) {
  margin-right: 0;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_news__dl {
    padding: 15px 0;
    margin-right: 0;
    width: 100%;
  }
}

.cmshtml .top_news__dt {
  letter-spacing: 0;
  color: #0158A7;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  margin-bottom: 15px;
}

.cmshtml .top_rec {
  background: none;
  align-items: flex-start;
  margin-top: 80px;
  padding-left: 8.5vw;
  padding-right: 8.5vw;
  padding-top: 0;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_rec {
    margin-top: 40px;
  }
}

.cmshtml .top_rec::before {
  content: "";
  position: absolute;
  background: #F6F5F3;
  top: 35px;
  left: 0;
  width: 70%;
  height: 82%;
  z-index: -1;
}

@media screen and (max-width: 1079px) {
  .cmshtml .top_rec::before {
    height: 80%;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .top_rec::before {
    top: 14px;
    width: 90%;
  }
}

.cmshtml .top_rec .flex_txt {
  padding-top: 2em;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_rec .flex_txt {
    padding: 0;
  }
}

.cmshtml .top_rec .flex_txt .h2title {
  padding-left: 0px;
  background: space;
  color: #0158A7;
}

.cmshtml .top_rec .flex_txt .h3title {
  padding-left: 0px;
  font-size: 30px;
  font-size: 1.875rem;
  color: #000;
}

@media screen and (max-width: 1079px) {
  .cmshtml .top_rec .flex_txt .h3title {
    font-size: 25px;
    font-size: 1.5625rem;
  }
}

.cmshtml .top_rec .flex_txt .link_list_left {
  font-weight: 700;
  margin-top: 20px;
}

.cmshtml .top_rec .flex_txt .link_list_left a {
  position: relative;
  padding-left: 90px;
  padding-top: 30px;
  padding-bottom: 40px;
  text-decoration: none;
  display: block;
}

.cmshtml .top_rec .flex_txt .link_list_left a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 68px;
  height: 68px;
  background: #0158A7 url("../image/arrow1.png") no-repeat center center;
  border-radius: 50%;
}

.cmshtml .top_rec .flex_txt .link_list_left a::after {
  content: "";
  position: absolute;
  left: 25px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  margin: auto;
  top: 0;
  bottom: 0;
  background: #0158A7;
  z-index: -1;
}

.cmshtml .top_rec .flex_txt .link_list_left a:hover::after {
  -webkit-animation: 1.5s linear 0s infinite pulse;
  animation: 1.5s linear 0s infinite pulse;
}

.cmshtml .top_rec .flex_img {
  display: block;
  position: relative;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_rec .flex_img {
    text-align: right;
    width: 69.5%;
    margin-left: auto;
    margin-right: auto;
    height: 420px;
    overflow: hidden;
  }
}

.cmshtml .top_rec .flex_img .rdappended .rdappended .rdappended img{
  top: 100px;
  width: 74%;
  position: absolute;
  z-index: 2;
  left: 0;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_rec .flex_img .rdappended .rdappended .rdappended img {
    top: 50px;
    width: 90%;
  }
}

.cmshtml .top_rec .flex_img .rdappended .rdappended:nth-child(2) img{
  z-index: 1;
  width: 60.5%;
  top: 0;
  left: auto;
  right: 0;
  position: relative;
}

@media screen and (min-width: 801px) {
.cmshtml .forfixed {
  margin-top: 101px;
}
}

.cmshtml #section_pageHeader {
  position: relative;
  background: #0158a7;
  background: linear-gradient(to bottom, #003f8e, #0158a7);
}

.cmshtml #section_pageHeader .imgwrap {
  width: 100%;
  height: calc(100% - 0px);
  overflow: hidden;
  position: relative;
  z-index: 0;
  position: absolute;
  top: 0;
  right: 0;
}

.cmshtml #section_pageHeader .imgwrap img {
  width: 100%;
  height: auto;
  opacity: 0.2;
  object-fit: cover;
}

@media screen and (max-width: 700px) {
  .cmshtml #section_pageHeader .imgwrap img {
    width: auto;
    height: 100%;
  }
}

.cmshtml .custom-shape-divider-top-wave {
  position: absolute;
  top: 99%;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.cmshtml .custom-shape-divider-top-wave svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 128px;
  transform: rotateY(180deg);
}

.cmshtml .custom-shape-divider-top-wave .shape-fill {
  fill: #0158A7;
}

.cmshtml #title-wrap {
  padding-top: 40px;
  z-index: 2;
  max-width: 100%;
  width: 1080px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 100px;
  position: relative;
  color: #fff;
}

.cmshtml #title-wrap .main {
  font-size: calc(2.76531vw + 0.77551rem);
  position: relative;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
  overflow: hidden;
}

.cmshtml #title-wrap .main.animate__animated {
  /*-webkit-animation-delay: 0.5s;
      animation-delay: 0.5s;*/
}

.cmshtml #title-wrap .sub {
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
}

.cmshtml .title-navi {
  padding-top: 40px;
  display: flex;
  flex-flow: row wrap;
}


.cmshtml .title-navi > div,
.cmshtml .title-navi > li {
  flex: 0 0 auto;
  margin-right: 16px;
  margin-bottom: 10px;
}

.cmshtml .title-navi .title-navi_li {
  color: #fff;
}

@media screen and (max-width: 800px) {
  .cmshtml .title-navi .title-navi_li {
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 0;
  }
}

.cmshtml .title-navi .title-navi_li a {
  background: rgba(255, 255, 255, 0.1);
  width: 100%;
  padding: 8px 30px;
  position: relative;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  height: auto;
  padding: 1em 1em 1em 2em;
  box-sizing: border-box;
}

.cmshtml .title-navi .title-navi_li a::after {
  left: 12px;
}

@media screen and (min-width: 801px) {
  .cmshtml .title-navi .title-navi_li a:hover {
    opacity: 1;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.8);
    color: #003F8E;
    transform: scale(1.1);
  }
  .cmshtml .title-navi .title-navi_li a:hover::after {
    border-left: 4px solid #0158A7;
  }
}

.cmshtml .pagenav {
  position: relative;
  margin-right: 3%;
  font-size: 15px;
  font-size: 0.9375rem;
}

@media screen and (max-width: 1500px) {
  .cmshtml .pagenav {
    /*margin-left: calc(4.89796vw + 11.63265px);*/
  }
}

@media screen and (max-width: 1000px) {
  .cmshtml .pagenav {
    margin-left: 0;
    margin-top: 1em;
    width: 100%;
  }
}

.cmshtml .title-navi_ul .navi_li {
  color: #fff;
  font-weight: 700;
}

.cmshtml .title-navi_ul .navi_li a {
  background: #003F8E;
  border-radius: 999px;
  width: 100%;
  padding: 8px 30px;
  position: relative;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  padding: 0.6em 1em 0.6em 2em;
  box-sizing: border-box;
}

.cmshtml .title-navi_ul .navi_li a::after {
  left: 1em;
  border-left: 7px solid #fff;
}

@media screen and (min-width: 801px) {
  .cmshtml .title-navi_ul .navi_li a:hover {
    opacity: 1;
    font-weight: 700;
    background: rgba(1, 88, 167, 0.8);
    color: #fff;
    transform: scale(1.1);
  }
}

.cmshtml div.rdplanetitle h2 {
  position: relative;
  padding-bottom: 30px;
  line-height: 1.5;
  font-size: 34px;
  font-size: 2.125rem;
  font-weight: bold;
}

.cmshtml div.rdplanetitle h2::after {
  position: absolute;
  display: block;
  content: "";
  width: 60px;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: #0158A7;
}

.cmshtml div.rdplanetitle h3 {
  font-size: 30px;
  font-size: 1.875rem;
  color: #0158A7;
  font-weight: 900;
  padding: 8px;
  text-align: center;
  display: block;
  margin-top: 12px;
  position: relative;
}

.cmshtml div.rdplanetitle h3::after {
  content: '';
  display: block;
  position: absolute;
  top: -10px;
  width: 60px;
  border-bottom: solid 1px #0158A7;
  left: 0;
  right: 0;
  margin: auto;
}

.cmshtml div.rdplanetitle h4 {
  font-size: 28px;
  font-size: 1.75rem;
  text-align: left;
  position: relative;
  font-weight: 700;
  padding: 8px 0;
  border-bottom: 2px solid #D9DCE3;
}

@media screen and (max-width: 800px) {
  .cmshtml div.rdplanetitle h4 {
    font-size: 22px;
    font-size: 1.375rem;
  }
}

.cmshtml div.rdplanetitle h4::before {
  content: '';
  display: inline-block;
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 20%;
  height: 2px;
  background: #0158A7;
}

.cmshtml div.rdplanetitle h5 {
  font-size: 24px;
  font-size: 1.5rem;
  text-align: center;
  font-family: inherit;
  display: block;
  position: relative;
  background: #F0F3F8;
  width: 100vw;
  max-width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 1em;
}


/*TABLE*/
.cmshtml div.rdplanetext .table table, 
.cmshtml div.rdplanetext2 .table table {
  border-spacing: 0px;
  border-collapse: collapse;
}

    /* responsiv table block */
@media screen and (max-width: 576px) {
  .cmshtml .rdplanetext.scrl_tb, .cmshtml .rdplanetext.scrtable, .cmshtml .rdplanetext2.scrl_tb, .cmshtml .rdplanetext2.scrtable {
    overflow: auto;
  }
  .cmshtml .rdplanetext.scrl_tb .table table, .cmshtml .rdplanetext.scrtable .table table, .cmshtml .rdplanetext2.scrl_tb .table table, .cmshtml .rdplanetext2.scrtable .table table {
    min-width: 576px;
  }
  .cmshtml .rdplanetext.scrl_tb .table table tr, .cmshtml .rdplanetext.scrtable .table table tr, .cmshtml .rdplanetext2.scrl_tb .table table tr, .cmshtml .rdplanetext2.scrtable .table table tr {
    display: table-row;
    width: auto;
  }
  .cmshtml .rdplanetext.scrl_tb .table table tr td, .cmshtml .rdplanetext.scrl_tb .table table tr th, .cmshtml .rdplanetext.scrtable .table table tr td, .cmshtml .rdplanetext.scrtable .table table tr th, .cmshtml .rdplanetext2.scrl_tb .table table tr td, .cmshtml .rdplanetext2.scrl_tb .table table tr th, .cmshtml .rdplanetext2.scrtable .table table tr td, .cmshtml .rdplanetext2.scrtable .table table tr th {
    display: table-cell;
    width: auto;
  }
  .cmshtml .rdplanetext.block_tb .table table td, .cmshtml .rdplanetext2.block_tb .table table td, .cmshtml .rdplanetext.block_tb .table table th, .cmshtml .rdplanetext2.block_tb .table table th {
    width: 100% !important;
  }
}

.cmshtml .rdplanetext.half_tb .table table td,
.cmshtml .rdplanetext2.half_tb .table table td,
.cmshtml .rdplanetext.half_tb .table table th,
.cmshtml .rdplanetext2.half_tb .table table th {
  width: 50%;
}

@media screen and (max-width: 576px) {
  .cmshtml .rdplanetext.half_tb .table table td,
.cmshtml .rdplanetext2.half_tb .table table td,
.cmshtml .rdplanetext.half_tb .table table th,
.cmshtml .rdplanetext2.half_tb .table table th {
    width: 100% !important;
  }
}

.cmshtml .rdplanetext.borderb_tb .table table th,
.cmshtml .rdplanetext.borderb_tb .table table td,
.cmshtml .rdplanetext2.borderb_tb .table table th,
.cmshtml .rdplanetext2.borderb_tb .table table td {
  border: none;
  border-bottom: 1px solid #D9DCE3;
}

.cmshtml .dl_tb.rdplanetext table tr td a, .cmshtml .dl_tb.rdplanetext2 table tr td a {
  text-indent: -999em;
  background: url(../image/download.png) no-repeat center center;
  width: 24px;
  height: 24px;
  max-width: 100%;
  display: block;
  margin: 0 auto;
  position: relative;
}

.cmshtml .dl_tb.rdplanetext table tr td a[href*=".pdf"], .cmshtml .dl_tb.rdplanetext2 table tr td a[href*=".pdf"] {
  background: url(../image/icon-pdf-m.png) no-repeat center center;
  background-size: 24px 24px;
}

.cmshtml .dl_tb.rdplanetext table tr td a[href*=".doc"], .cmshtml .dl_tb.rdplanetext table tr td a[href*=".docx"], .cmshtml .dl_tb.rdplanetext2 table tr td a[href*=".doc"], .cmshtml .dl_tb.rdplanetext2 table tr td a[href*=".docx"] {
  background: url(../image/icon-word-m.png) no-repeat center center;
  background-size: 24px 24px;
}

.cmshtml .dl_tb.rdplanetext table tr td a[href*=".xls"], .cmshtml .dl_tb.rdplanetext table tr td a[href*=".xlsx"], .cmshtml .dl_tb.rdplanetext2 table tr td a[href*=".xls"], .cmshtml .dl_tb.rdplanetext2 table tr td a[href*=".xlsx"] {
  background: url(../image/icon-xcel-m.png) no-repeat center center;
  background-size: 24px 24px;
}

.cmshtml .rdplanetext.enkaku .table table , 
.cmshtml .rdplanetext2.enkaku .table table {
border-spacing: 5px 0;
    border-collapse: separate;
}

.cmshtml .rdplanetext.enkaku .table table th, 
.cmshtml .rdplanetext2.enkaku .table table th {
border:none;
border-bottom:1px solid #111;
background:none;
}
.cmshtml .rdplanetext.enkaku .table table td, 
.cmshtml .rdplanetext2.enkaku .table table td{
border:none;
border-bottom:1px solid #ccc;
}

@media screen and (max-width: 576px) {
/*enkaku*/
.cmshtml .rdplanetext.enkaku .table table th, 
.cmshtml .rdplanetext2.enkaku .table table th {
background:#eee;
text-align: left;
}

/*resp_tb*/
  .cmshtml .resp_tb table th {
    display: none;
  }
  .cmshtml .resp_tb table td {
    display: block;
    border: none;
  }
  .cmshtml .resp_tb table tr {
    border-bottom: solid thin #e6e6e6;
  }
  .cmshtml .resp_tb table a {
    padding-bottom: 0.1em;
    color: inherit;
    border-bottom: solid thin #0158A7;
    text-decoration: none;
  }
}

.cmshtml .rdplanetext.bd_tb figure.table table th, 
.cmshtml .rdplanetext.bd_tb figure.table table td, 
.cmshtml .rdplanetext2.bd_tb figure.table table th, 
.cmshtml .rdplanetext2.bd_tb figure.table table td {
  border-color: #D7D8E6;
  border-left: 1px solid #D7D8E6;
  border-right: 1px solid #D7D8E6;
}

.cmshtml .rdanchor a {
  padding-top: 100px !important;
  display: block;
  margin-top: -100px;
  pointer-events: none;
}

.cmshtml dd.contact_item_input input[type="text"],
.cmshtml dd.contact_item_input input[type="tel"],
.cmshtml dd.contact_item_input input[type="email"],
.cmshtml dd.contact_item_input input[type="date"] {
  padding: 8px;
  height: auto;
  background-color: #F6F5F3;
  border: none;
  border-radius: 5px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  outline: none;
}

.cmshtml dd.contact_item_input input[type="text"]:focus,
.cmshtml dd.contact_item_input input[type="tel"]:focus,
.cmshtml dd.contact_item_input input[type="email"]:focus,
.cmshtml dd.contact_item_input input[type="date"]:focus {
  background-color: #F6F5F3;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
  border: none;
}

.cmshtml dl.contact_item_table input[type="file"]:focus,
.cmshtml dl.contact_item_table input[type="text"]:focus,
.cmshtml dl.contact_item_table input[type="email"]:focus,
.cmshtml dl.contact_item_table input[type="tel"]:focus,
.cmshtml dl.contact_item_table input[type="number"]:focus,
.cmshtml dl.contact_item_table input[type="date"]:focus,
.cmshtml dl.contact_item_table textarea:focus,
.cmshtml dl.contact_item_table select:focus,
.cmshtml input[type="text"][name="img_auth"]:focus {
  background-color: #F6F5F3;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
  border: none;
}

.cmshtml dt.contact_item_title {
  margin-bottom: 4px;
}

.cmshtml dt.contact_item_title:not(:first-child) {
  margin-top: 3px;
}

.cmshtml .contact_header {
  margin-bottom: 10px;
}

.cmshtml .contact_footer {
  margin-top: 10px;
}

.cmshtml div.rdcontact_btn_area .rdcontact_btn_submit {
  background: #0158A7;
  border-radius: 999px;
  border: none;
}

.cmshtml div.rdcontact_btn_area .rdcontact_btn_submit:hover,
.cmshtml div.rdcontact_btn_area .rdcontact_btn_submit .rdcontact_btn_area .rdcontact_btn_submit:focus {
  background: rgba(1, 88, 167, 0.8);
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
}

.cmshtml .rdcontact_btn_area {
  margin-bottom: 30px;
}

.cmshtml .contact_item_table {
  border: 1px solid #D9DCE3;
}

.cmshtml .contact_item_title {
  font-weight: 700;
  padding: 10px 10px 10px !important;
  border-bottom: 1px solid #D9DCE3;
}

.cmshtml .contact_item_input, .cmshtml .contact_item_inside_input, .cmshtml .contact_item_file_box {
  border-bottom: 1px solid #D9DCE3;
  padding: 10px 20px !important;
}

.cmshtml .contact_item_inside_input, .cmshtml .contact_item_inside_title.contact_inp_title_address2 {
  border: none !important;
}

.cmshtml .contact_item_inside_table {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
}

.cmshtml .contact_item_inside_title {
  border-bottom: 1px solid #D9DCE3;
  padding: 10px 0px !important;
}

.cmshtml .contact_item_inside_table dt:last-child, .cmshtml .contact_item_inside_table dd:last-child {
  border-bottom: none;
}

.cmshtml .contact_item_title:not(:first-child) {
  margin-top: auto !important;
}

.cmshtml .blogframe .rdListShort .rdListItem li.rdListCategoryItem {
  background-color: #0158A7;
  color: #FFF;
  border: none;
}

.cmshtml .blogframe .rdListShort .rdListItem .ItemrdListTagListItem {
  border: none;
}

.cmshtml .blogframe .rdpublishDate {
  background: #F6F5F3;
}

.cmshtml .blogframe .rdarticleTitle h3:before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0;
  width: 0px;
  height: 100%;
  background: -webkit-linear-gradient(#0158A7, #CC3333);
  background: -moz-linear-gradient(#0158A7, #CC3333);
  background: linear-gradient(#0158A7, #CC3333);
}

.cmshtml .blogframe .rdListShort .rdListItem .rdListExcerpt .rdReadMore {
  color: #666;
  text-align: center;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-right: 10px;
  padding-left: 10px;
  display: block;
  width: 100%;
  float: none;
  text-align: right;
  position: absolute;
  bottom: 0;
  left: 0;
  box-sizing: border-box;
}

.cmshtml .blogmain .rdarticleTitle h3 {
  font-size: 1.5rem;
  font-weight: 700;
  border-bottom: none;
  margin-bottom: 10px;
  padding-left: 12px;
  padding-bottom: 0;
  border-left: 3px solid #0074BD;
}

.cmshtml .blogcommon {
  margin: 0 auto;
}

.cmshtml .blogcommon .rdMonthlyArchive .rdMonthlyArchive-item:before {
  border-color: #0158A7;
}

.cmshtml .blogcommon .rdBlogSearch .rdBlogSearch-btn {
  background-color: #0158A7;
}

.cmshtml .blogcommon .rdCategorylist .rdCategorylist-link:after {
  border-left-color: #0158A7;
}

.cmshtml .blogcommon .rdCategorylist .rdCategorylist-link:hover {
  background: #F0F3F8;
  color: #0158A7;
}

  /*初期非表示エリア表示のための調整*/

.cmshtml #editView.showhideElement #navigation .drawer-dropdown-menu {
  display: block;
}

.cmshtml #editView.showhideElement .drawer-dropdown-menu {
  z-index: 100;
  display: block;
}

.cmshtml #editView.showhideElement .default_none {
  display: block;
}

.cmshtml #editView.showhideElement .toggle-box .toggle-box_dd {
  display: block;
}

#editView .cmshtml [data-aos=fade-up],
#editView .cmshtml [data-aos=flip-left],
#editView .cmshtml [data-aos=zoom-in-up] {
  transform: none;
  opacity: 1;
}

#editView .cmshtml .fade,
#editView .cmshtml [data-aos^=fade],
#editView .cmshtml .flip,
#editView .cmshtml [data-aos^=flip] {
  opacity: 1;
  transform: rotateX(0);
}

#editView .cmshtml .rdanchor a {
  padding-top: 0;
  display: inherit;
  margin-top: 0px;
  pointer-events: all;
}

  /*HEAD*/
#editView .cmshtml #l-header .headinner {
position: relative;
}  
#editView .cmshtml .h_nav__list >div {
width:100%;
}
#editView .cmshtml #h-logo {
}

#editView .cmshtml .drawer-nav {
  overflow: visible;
}

#editView .cmshtml .forfixed {
margin-top:0;
}

  /*foot*/
  
  /*top*/
#editView .cmshtml .top-slide .top-slide-on {
pointer-events: none;
}  
#editView .cmshtml .top-slide {
  max-height: 720px;
  overflow: auto;
}

#editView .cmshtml .top-slide #slide {
  flex-wrap: wrap;
}

#editView .cmshtml .top-slide #slide > div {
  width: 50%;
}

#editView .cmshtml .sp-slide {
  position: relative;
}

#editView .cmshtml .concept {
padding: 0;
}
#editView .cmshtml .concept .bg {
overflow: visible;
width: 50%;
    margin-left: auto;
}
#editView .cmshtml .concept .txtarea.flex_inner {
background: #F6F5F3;
padding: 40px;
margin: 0 8vw 60px 0;
}
#editView .cmshtml .concept .txtarea.flex_inner > div {
width:49%;
}
#editView .cmshtml .concept .txtarea::before {
display: none;
}
#editView .cmshtml .top_concept > [data-blocks="テキストエリア"]{
-webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}
#editView .cmshtml .top_concept > [data-blocks="画像"]{
-webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

#editView .cmshtml .top_concept.img_left_block > [data-blocks="テキストエリア"]{
-webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}
#editView .cmshtml .top_concept.img_left_block > [data-blocks="画像"]{
-webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

@media screen and (min-width: 801px) {
#editView .cmshtml .top_news .flex_inner [data-blocks="タイトル"] {
width: 20%;
}
#editView .cmshtml .top_news .flex_inner [data-blocks="お知らせエリア"]{
width: 80%;
}

#editView .cmshtml .top_news .top_news__wrap {
  max-height: none;
  overflow: visible;
}

#editView .cmshtml .top_news [data-blocks="お知らせ内容"] {
}
#editView .cmshtml .top_news__wrap {
width:100%;
}
}

#editView .cmshtml .top_rec [data-blocks="テキストエリア"]{
-webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}
#editView .cmshtml .top_rec [data-blocks="画像エリア"]{
-webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}
#editView .cmshtml .top_rec .flex_img [data-blocks="画像"]:nth-child(1){
z-index: 2;
}
#editView .cmshtml .top_rec .flex_img [data-blocks="画像"]:nth-child(2){
z-index: 1;
}
#editView .cmshtml .top_rec .flex_img .rdappended .rdappended .rdappended img {
position: relative;
}
#editView .cmshtml .top_rec .flex_img >div >div >div {
display: flex;
}
#editView .cmshtml .top_rec .flex_img >div >div >div>div {
width:50%;
}
#editView .cmshtml .top_rec .flex_img >div >div >div>div img {
width:100%;
}

/*FOOT*/
#editView .cmshtml #l_footer .contact .flex_inner .link_box div {
color:inherit;
}

  /*PAGE*/
#editView .cmshtml .title-navi > div {
}

#editView .cmshtml .title-navi:empty {
  display: block !important;
}

#editView .cmshtml #title-wrap .imgwrap,
#editView .cmshtml #title-wrap .imgwrap img {
  position: relative;
  z-index: 0;
  max-height: 400px;
}

#editView .cmshtml #title-wrap #title {
  padding: 0;
}

#editView .cmshtml .title-navi {
}

#editView .syokusyu .md-syokusyu{
overflow: visible;
}
#editView .syokusyu .md-syokusyu .figcaption{
background:#0158A7;
position: relative;
}
#editView .syokusyu .md-syokusyu .figcaption .txt {
opacity: 1;
}

#editView .cmshtml .ol-list_li:after {
  width: 40px;
}

#editView .cmshtml .dl_list_text {
  justify-content: space-between;
}

#editView .cmshtml .hidden {
  overflow: visible;
}

#editView .cmshtml .container {
  padding-left: 0;
  padding-right: 0;
}

  /*flexの中の幅を調整*/
#editView .cmshtml .just2 > div .just2_li,
#editView .cmshtml .just3 > div .just3_li,
#editView .cmshtml .just4 > div .just4_li,
#editView .cmshtml .just5 > div .just5_li,

#editView .concept .txtarea .txt{
  max-width: 100%;
  width: 100%;
}

#editView .cmshtml .swingbox,
#editView .cmshtml .flipbox,
#editView .cmshtml .fadebox,
#editView .cmshtml .fadeinbox,
#editView .cmshtml .fadedownbox,
#editView .cmshtml .bouncedownbox,
#editView .cmshtml .bouncebox {
  opacity: 1;
}

  /*操作盤表示*/
#editView .cmshtml .top_news__wrap,
#editView .cmshtml #slide {
  padding-top: 23px;
}