@charset "UTF-8";

.cmshtml {
  line-height: 1.15;
  /* 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 .ub-to_bt {
  zoom: 1;
}

.cmshtml .cf:before, .cmshtml .boxwrap1:before, .cmshtml .ub-to_bt:before, .cmshtml .cf:after, .cmshtml .boxwrap1:after, .cmshtml .ub-to_bt:after {
  content: "";
  display: table;
}

.cmshtml .cf:after, .cmshtml .boxwrap1:after, .cmshtml .ub-to_bt: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 .mt40 {
  margin-top: 40px;
}

.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: 'Noto Sans JP',YuGothic, "游ゴシック", "メイリオ", Meiryo,'Roboto', Helvetica Neue, Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
  font-size: 16px;
  font-size: 1rem;
  color: #000;
  font-weight: 500;
  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;
  margin: 0;
  box-sizing: border-box;
  outline: none;
}

@media screen and (max-width: 800px) {
  .cmshtml p, .cmshtml div {
    letter-spacing: 0;
  }
}

.cmshtml section {
  box-sizing: border-box;
}

.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;
  outline: none;
}

.cmshtml a:hover {
  opacity: 0.8;
}

.cmshtml ::selection {
  background-color: #3B1E87;
  color: #fff;
  /* Safari */
}

.cmshtml ::-moz-selection {
  background-color: #3B1E87;
  color: #fff;
  /* Firefox */
}

.cmshtml .arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.cmshtml .triangle {
  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;
}

.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 .jp-style {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
  text-orientation: upright;
}

.cmshtml .default_none {
  display: none;
}

.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 .spn {
  display: inline;
}

.cmshtml .mla {
  margin-left: auto;
}

.cmshtml .mra {
  margin-right: auto;
}

.cmsbody {
  background: #fff;
}

.cmshtml .boxwrap1, .cmshtml .ub-to_bt {
  width: 1260px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 10px;
  padding-right: 10px;
}

.cmshtml #header {
  margin-right: auto;
  margin-left: 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: 34px;
  left: 3.65%;
  width: 263px;
  z-index: 1;
  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;
}

.cmshtml #h-logo a {
  display: inline-block;
  text-indent: -9999px;
  background: url(../img/logo.png) no-repeat center;
  background-size: 100%;
  width: 263px;
  height: 22px;
  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;
    margin-bottom: 20px;
    top: 20px;
    padding-bottom: 15px;
    max-width: calc(100% - 66px);
  }
  .cmshtml #h-logo a {
    max-width: 100%;
  }
}

.cmshtml #l-header {
  width: 100%;
  position: relative;
  /*
.drawer-dropdown {
@include medium-screen(){
  &:hover {
  }          
  &.openwrap {
  }
  }
.drawer-dropdown-menu {
    background:#fff;
      @media screen and (min-width: 1080px) {
      position: absolute;
      border-top:1px solid #CACAD9;
      top: 100%;
      left: 0;
      width:100%;
      box-shadow: 0 3px 6px 0 rgba(#000,0.2);
      }
    @include medium-screen() {
        display: block;
        position: relative;
        top: 0px;
        z-index: 1;
        box-shadow: none;
        transform: none;
    }
        .drawer-dropdown-menu_ul {
        padding: 4px 10px;
        @media screen and (min-width: 1080px){
        padding: 30px 10.2%;
        display: flex;
        flex-wrap: wrap;
        }
          @include medium-screen(){
          padding: 10px 15px;
          background:$base-base-color;
          }
            .drawer-dropdown-menu-item {              
            position: relative;
            @include fontsize(17);
            letter-spacing: 0;   
            font-weight: 400;
            line-height: 1.5;   
            padding: 0;
            @media screen and (min-width: 1080px){
            width:25%;
            }
            @include medium-screen(){
            line-height: normal;
            text-align: left;
            }
              a {
              display: block;
              padding: 19px 10px 19px 25px;
              position: relative;
                &::before {
                width:15px;
                height: 15px;
                position: absolute;
                left: 0;
                right: auto;
                top:0;
                bottom: 0;
                margin: auto;
                content: "";
                background:$base-sub-color;
                border-radius: 50%;
                }
                
                &::after {
                position: absolute;
                left: 6px;
                right: auto;
                top:0;
                bottom: 0;
                margin: auto;
                content: "";
                width: 0;
                height: 0;
                border-style: solid;
                border-width: 2px 0 2px 4px;
                border-color: transparent transparent transparent #fff;
                }
                  @include medium-screen(){
                  @include fontsize(15);
                  padding:8px 0px 8px 24px;
                  }
              }	
            }
        }
}
}  */
}

@media screen and (min-width: 1080px) {
  .cmshtml #l-header {
    z-index: 3;
  }
  .cmshtml #l-header .headinner {
    width: 100%;
    transition: all 0.5s ease 0s;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    position: relative;
    right: 0;
    top: 0;
    z-index: 200;
  }
}

@media screen and (min-width: 1080px) and (max-width: 1079px) {
  .cmshtml #l-header {
    z-index: auto;
    width: 100%;
  }
}

.cmshtml #l-header .h_nav {
  position: relative;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  padding-top: 66px;
  margin-bottom: 4px;
}

@media screen and (max-width: 1079px) {
  .cmshtml #l-header .h_nav {
    position: fixed;
    padding: 0;
  }
}

.cmshtml #l-header .h_nav__list {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  position: relative;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  padding-right: 2.65%;
}

@media screen and (max-width: 1079px) {
  .cmshtml #l-header .h_nav__list {
    max-height: none;
    max-width: 100%;
    display: block;
    padding-top: 20px;
    padding-right: 0;
  }
}

.cmshtml #l-header .h_nav__item {
  transition: all 0.3s linear;
  color: #1F1713;
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.2;
  flex: 0 1 auto;
  letter-spacing: -0.3px;
}

@media screen and (max-width: 1079px) {
  .cmshtml #l-header .h_nav__item {
    height: auto;
    text-align: center;
    position: relative;
  }
}

.cmshtml #l-header .h_nav__item div {
  color: inherit;
}

@media screen and (max-width: 1079px) {
  .cmshtml #l-header .h_nav__item div.drawer-menu-item {
    padding: 0;
    text-decoration: none;
  }
}

.cmshtml #l-header .h_nav__item a {
  padding: 29.8px 0.9vw;
  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: 800px) {
  .cmshtml #l-header .h_nav__item a:hover {
    opacity: 1;
  }
}

@media screen and (max-width: 1079px) {
  .cmshtml #l-header .h_nav__item a {
    width: 100%;
    padding: 16px;
  }
}

.cmshtml #l-header .h_nav__item.h_subnav {
  position: absolute;
  top: -66px;
  right: 3.65%;
  display: flex;
  justify-content: flex-end;
}

@media screen and (max-width: 1079px) {
  .cmshtml #l-header .h_nav__item.h_subnav {
    position: relative;
    top: auto;
    display: block;
    right: auto;
    margin-top: 20px;
  }
}

.cmshtml #l-header .h_nav__item.h_subnav .h_subnav_li {
  width: 66px;
  height: 66px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 1079px) {
  .cmshtml #l-header .h_nav__item.h_subnav .h_subnav_li {
    width: 100%;
  }
}

.cmshtml #l-header .h_nav__item.h_subnav .h_subnav_li a {
  padding: 0;
}

.cmshtml #l-header .h_nav__item.h_subnav .h_subnav_li:nth-child(3n-1),
.cmshtml #l-header .h_nav__item.h_subnav >div:nth-child(3n-1)  {
  background: #DBDEDF;
}

.cmshtml #l-header .h_nav__item.h_subnav .h_subnav_li:nth-child(3n),
.cmshtml #l-header .h_nav__item.h_subnav >div:nth-child(3n){
  background: #B7BEC0;
}

@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 .drawer-hamburger {
  padding-top: 12px;
  padding-bottom: 32px;
  border-radius: 0 0 0 5px;
}

.cmshtml .drawer-hamburger::after {
  content: "MENU";
  position: absolute;
  bottom: 5px;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 11px;
  color: #AB2383;
}

.cmshtml .drawer-hamburger:hover {
  cursor: pointer;
  background-color: #fff;
}

.cmshtml .drawer-dropdown {
  z-index: 100;
}

.cmshtml .drawer-hamburger-icon, .cmshtml .drawer-hamburger-icon::before, .cmshtml .drawer-hamburger-icon::after {
  background-color: #AB2383;
  height: 4px;
}

.cmshtml #l_footer {
  background: #F7F6F4;
}

.cmshtml .fcontact {
  text-align: center;
  background: #F1F0EE;
  padding-top: 60px;
  padding-bottom: 40px;
}

.cmshtml .fcontact .h2title {
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 900;
  font-family: 'Noto Sans JP',YuGothic, "游ゴシック", "メイリオ", Meiryo,'Roboto', Helvetica Neue, Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
  letter-spacing: 0;
  width: 1240px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

.cmshtml .fcontact .h3title {
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: 700;
  margin-bottom: 30px;
  width: 1240px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

.cmshtml .fcontact .contact_innner {
  width: 1240px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
  justify-content: center;
  margin-bottom: 20px;
}

@media screen and (max-width: 800px) {
  .cmshtml .fcontact .contact_innner {
    display: block;
  }
}

.cmshtml .fcontact .contact_innner > div {
  padding: 20px 5%;
  width: 422px;
  max-width: 100%;
  text-align: right;
}

@media screen and (max-width: 800px) {
  .cmshtml .fcontact .contact_innner > div {
    text-align: center;
    width: auto;
  }
}

.cmshtml .fcontact .contact_innner > div:not(:last-child) {
  border-right: 1px dashed #3B1E87;
}

@media screen and (max-width: 800px) {
  .cmshtml .fcontact .contact_innner > div:not(:last-child) {
    border: none;
  }
}

.cmshtml .fcontact .txt {
  width: 1240px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 20px;
  font-weight: 700;
  color: #1F1713;
  letter-spacing: 0;
}

.cmshtml .finfo {
  width: 1240px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 50px;
  align-items: center;
}

@media screen and (max-width: 800px) {
  .cmshtml .finfo {
    display: block;
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .finfo .ban {
    margin-bottom: 1.5em;
  }
}

.cmshtml .finfo .logo {
  padding-right: 40px;
  margin-left: auto;
  line-height: 1;
}

@media screen and (max-width: 800px) {
  .cmshtml .finfo .logo {
    margin-bottom: 1.5em;
  }
}

.cmshtml .finfo .address {
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0;
}

@media screen and (max-width: 800px) {
  .cmshtml .finfo .address {
    margin-bottom: 1.5em;
  }
}

.cmshtml .copy {
  width: 1240px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 11px;
  text-align: right;
  letter-spacing: 0;
  padding-top: 40px;
  padding-bottom: 40px;
}

.cmshtml .copy a {
  text-decoration: none;
  color: inherit;
}

.cmshtml .tel, .cmshtml .mail {
  font-weight: 500;
  font-size: 24px;
  font-size: 1.5rem;
  font-family: 'Noto Sans JP',YuGothic, "游ゴシック", "メイリオ", Meiryo,'Roboto', Helvetica Neue, Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
  letter-spacing: 0;
  color: #3B1E87;
  position: relative;
  display: inline-block;
  padding-left: 60px;
}

.cmshtml .tel::before, .cmshtml .mail::before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  background: url("../img/ico_tel2.png") no-repeat 0 0;
  width: 42px;
  height: 42px;
}

.cmshtml .tel a, .cmshtml .mail a {
  text-decoration: none;
}

.cmshtml .mail {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  padding-right: 20px;
}

.cmshtml .mail::before {
  background: url("../img/ico_mail2.png") no-repeat 0 0;
}

.cmshtml .mail::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  box-sizing: border-box;
  border-top: 2px solid #3B1E87;
  border-right: 2px solid #3B1E87;
  transform: rotate(45deg);
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

.cmshtml #pagetop-side {
  width: 65px;
  height: 65px;
  position: fixed;
  z-index: 100;
  bottom: 10px;
  right: 10px;
  text-indent: -9999px;
  background-image: url(../img/pagetop.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  opacity: 1;
  transition: bottom 0.1s;
}

.cmshtml #pagetop-side:hover {
  bottom: 15px;
  opacity: 0.8;
}

@media screen and (max-width: 800px) {
  .cmshtml #pagetop-side {
    width: 40px;
    height: 40px;
  }
}

.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 {
  max-width: 100%;
  min-height: 40vh;
  position: relative;
  width: 1260px;
  padding-left: 10px;
  padding-right: 10px;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}

.cmshtml .inner {
  width: 1100px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 10px;
  padding-right: 10px;
}

.cmshtml .l_main.page_main {
  overflow-x: hidden;
}

.cmshtml .boxwrap1, .cmshtml .ub-to_bt {
  position: relative;
  padding-left: auto;
  padding-right: auto;
  padding-left: 0;
  padding-right: 0;
}

.cmshtml .bg_wrap {
  position: relative;
  background: #f3f8ff;
  padding: 60px 0px 40px;
  width: 100vw;
  max-width: 100vw;
  margin: 0 calc(50% - 50vw);
}

@media screen and (max-width: 1079px) {
  .cmshtml .bg_wrap {
    padding: 30px 0px 20px;
  }
}

.cmshtml .title_bg {
  position: relative;
  background: #3B1E87;
}

.cmshtml .title_bg::before {
  content: "";
  left: 0;
  top: 0;
  position: absolute;
  height: 100%;
  width: 100%;
  background: url("../img/bg_ttl.png") no-repeat 0 0;
  opacity: 0.2;
}

.cmshtml .link_btn {
  font-weight: 700;
  color: #3B1E87;
}

.cmshtml .link_btn a {
  display: inline-block;
  border: 1px solid #3B1E87;
  border-radius: 999px;
  text-decoration: none;
  position: relative;
  padding: 20px 26px;
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}

.cmshtml .link_btn a::before {
  content: "";
  position: absolute;
  right: 15px;
  bottom: 0;
  top: 0;
  margin: auto;
  background: url("../img/arrow1.png") no-repeat 0 0;
  width: 10px;
  height: 10px;
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}

.cmshtml .link_btn a::after {
  content: "";
  position: absolute;
  pointer-events: none;
  left: 4px;
  top: 4px;
  border-radius: 99px;
  border: 1px dashed #3B1E87;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  box-sizing: border-box;
}

.cmshtml .link_btn a:hover {
  background: #3B1E87;
  color: #fff;
}

.cmshtml .link_btn a:hover::before {
  background-image: url("../img/arrow1w.png");
}

.cmshtml .link_btn a:hover::after {
  border-color: #fff;
}

.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 35px 5px 5px;
}

.cmshtml .dl_ico a[href*=".pdf"]:after {
  content: "";
  background: url("../img/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 35px 5px 5px;
}

.cmshtml .dl_ico a[href*=".doc"]:after, .cmshtml .dl_ico a[href*=".docx"]:after {
  content: "";
  background: url("../img/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 35px 5px 5px;
}

.cmshtml .dl_ico a[href*=".xls"]:after, .cmshtml .dl_ico a[href*=".xlsx"]:after {
  content: "";
  background: url("../img/icon-xcel-m.png") no-repeat 0 0;
  background-size: 100% 100%;
}

.cmshtml .hidden {
  overflow: hidden;
}

.cmshtml .extlink {
  font-weight: 500;
  border: 1px solid #AB2383;
  color: #1F1713;
}

.cmshtml .extlink a {
  position: relative;
  padding: 12px 10px;
  display: block;
  text-decoration: none;
}

.cmshtml .extlink a::before {
  content: "";
  position: absolute;
  background: url("../img/ico_link.png") no-repeat 0 0;
  width: 19px;
  height: 16px;
  right: 10px;
  margin: auto;
  top: 0;
  bottom: 0;
}

.cmshtml .extlink:hover a {
  background: #3B1E87;
  color: #fff;
}

.cmshtml .break-all {
  word-break: break-all;
}

.cmshtml .swingbox,
.cmshtml .flipbox,
.cmshtml .fadebox,
.cmshtml .fadeinbox,
.cmshtml .bouncedownbox,
.cmshtml .bouncebox {
  opacity: 0;
}

.cmshtml .swingbox.animate__animated,
.cmshtml .flipbox.animate__animated,
.cmshtml .fadebox.animate__animated,
.cmshtml .fadeinbox.animate__animated,
.cmshtml .bouncedownbox.animate__animated,
.cmshtml .bouncebox.animate__animated {
  opacity: 1;
}

.cmshtml .ablock a {
  display: block;
}

.cmshtml .line-height2 {
  line-height: 2;
}

.cmshtml .link_efect {
  position: relative;
}

.cmshtml .link_efect a {
  background: #3B1E87;
  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: #AB2383;
}

.cmshtml .color_bg {
  position: relative;
  width: 1080px;
  max-width: 100%;
  margin: 0 auto;
}

.cmshtml .color_bg::before {
  z-index: -1;
  content: "";
  background: rgba(171, 35, 131, 0.1);
  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, #3B1E87, #AB2383);
  background: -webkit-linear-gradient(to right, #3B1E87, #AB2383);
  background: linear-gradient(to right, #3B1E87, #AB2383);
  color: #fff;
  font-weight: 700;
  text-align: center;
}

.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: #AB2383;
}

.cmshtml .relative {
  position: relative;
}

.cmshtml .flex_half {
  width: 50%;
}

@media screen and (max-width: 800px) {
  .cmshtml .flex_half {
    width: 100%;
  }
}

.cmshtml .tag_rt {
  position: absolute;
  right: 10px;
  top: 10px;
  display: inline-block;
}

.cmshtml .font_roboto {
  font-family: 'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
}

.cmshtml .gaiyou {
  display: table;
  width: 100%;
  position: relative;
  border-top: 1px dotted #AB2383;
}

.cmshtml .gaiyou::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0px;
}

.cmshtml .gaiyou > div {
  display: table-cell;
}

.cmshtml .gaiyou > div:nth-child(2n-1) {
  width: 30%;
  font-weight: 500;
  background: -moz-linear-gradient(to right, rgba(59, 30, 135, 0.1), rgba(171, 35, 131, 0.1));
  background: -webkit-linear-gradient(to right, rgba(59, 30, 135, 0.1), rgba(171, 35, 131, 0.1));
  background: linear-gradient(to right, rgba(59, 30, 135, 0.1), rgba(171, 35, 131, 0.1));
  padding: 16px 2%;
}

.cmshtml .gaiyou > div:nth-child(2n) {
  width: 70%;
  padding: 16px 1%;
}

.cmshtml .hd {
}

.cmshtml .gaiyou .txt {
}

@media screen and (max-width: 800px) {
  .cmshtml .gaiyou {
    display: block;
  }
  .cmshtml .gaiyou > div:nth-child(1n) {
    width: 100%;
    display: block;
  }
}

.cmshtml .anchor__list {
  align-items: center;
}

@media screen and (max-width: 800px) {
  .cmshtml .anchor__list {
    justify-content: flex-start;
  }
}

.cmshtml .anchor__item {
  text-align: center;
  font-weight: 700;
  
}

.cmshtml .anchor__item a {
  position: relative;
  display: block;
  padding: 10px 10px 10px;
  border: 2px solid #AB2383;
  background: #AB2383;
  color: #fff;
  border-radius: 99px;
  text-decoration: none;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

@media screen and (max-width: 800px) {
  .cmshtml .anchor__item a {
    padding: 5px 10px;
  }
}

.cmshtml .anchor__item a::after {
  content: '';
  position: absolute;
  bottom: 0;
  top: 0;
  right: 10px;
  margin: auto;
  width: 7px;
  height: 7px;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  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: #F6E9F2;
  color: #AB2383;
  opacity: 1;
}

.cmshtml .anchor__item:hover a::after {
  border-bottom: 2px solid #AB2383;
  border-left: 2px solid #AB2383;
}

.cmshtml .anchor__list.just4 > li, .cmshtml .anchor__list.just4 > div {
  width: 24%;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .anchor__list.just4 > li, .cmshtml .anchor__list.just4 > div {
    width: 49%;
  }
}
.cmshtml .anchor__list.just2 > li, .cmshtml .anchor__list.just2 > div {
  width: 49%;
  margin-bottom: 20px;
}

@media screen and (max-width: 800px) {
  .cmshtml .anchor__list.just2 > li, .cmshtml .anchor__list.just2 > div {
    width: 99%;
  }
}

.cmshtml .anchor__list.just3 > li, .cmshtml .anchor__list.just3 > div {
  width: 32%;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .anchor__list.just3 > li, .cmshtml .anchor__list.just3 > div {
    width: 99%;
  }
}

.cmshtml .anchor__list.just5 > li, .cmshtml .anchor__list.just5 > div {
  width: 19%;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .anchor__list.just5 > li, .cmshtml .anchor__list.just5 > div {
    width: 49%;
  }
}

.cmshtml .anchor__list.just6 > li, .cmshtml .anchor__list.just6 > div {
  width: calc(16.66666% - 10px);
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .anchor__list.just6 > li, .cmshtml .anchor__list.just6 > div {
    width: 49%;
  }
}

.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.0em;
  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: -moz-linear-gradient(to right top, #3B1E87, #AB2383);
  background: -webkit-linear-gradient(to right top, #3B1E87, #AB2383);
  background: linear-gradient(to right top, #3B1E87, #AB2383);
  line-height: 60px;
  text-align: center;
  flex-shrink: 1;
  counter-increment: item;
  content: counter(item) "";
  display: inline-block;
}

.cmshtml .ol-list .ol-list_li:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 60px;
  left: 28px;
  display: block;
  width: 0;
  height: calc(100% - 36px);
  border-right: 3px dotted #3B1E87;
  z-index: -1;
}

.cmshtml .step_dl {
  display: flex;
  padding: 8px;
  position: relative;
}

.cmshtml .step_dl::before {
  width: 2px;
  position: absolute;
  left: 56px;
  bottom: 0;
  height: calc(100% - 40px);
  border-left: 3px solid #ccc;
  content: "";
  z-index: -1;
}

.cmshtml .step_dl .step_dt {
  font-family: 'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
  font-weight: 700;
  color: #fff;
  background: #006537;
  border-radius: 99px;
  padding: 2px 1em;
  letter-spacing: 0;
  font-size: 24px;
  border-bottom: 1px solid #ccc;
}

.cmshtml .step_dl .step_dd {
  padding: 7px 1.5em;
}

.cmshtml .step_dl:last-child::before {
  border: none;
}

.cmshtml .toggle-box {
  position: relative;
  border-radius: 5px;
}

.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;
  font-size: 20px;
  letter-spacing: 0.1em;
  background-color: #f3f8ff;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  padding: 20px 50px 20px 20px;
  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: #3B1E87;
  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 20px;
  position: relative;
  display: none;
}

.cmshtml .toggle-box .toggle-box_dd.open {
  display: block;
}

.cmshtml .faq {
  padding-top: 10px;
  padding-bottom: 10px;
}

.cmshtml .faq .faq_dt, .cmshtml .faq .faq_dd {
  position: relative;
  padding: 12px 12px 12px 65px;
}

.cmshtml .faq .faq_dt::before, .cmshtml .faq .faq_dd::before {
  position: absolute;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  border-radius: 50%;
  font-weight: 400;
  font-size: 28px;
  font-size: 1.75rem;
  font-family: "Times New Roman", Times, "serif";
  width: 46px;
  line-height: 46px;
  text-align: center;
}

.cmshtml .faq .faq_dt {
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
}

.cmshtml .faq .faq_dt::before {
  content: "Q";
  top: 3px;
  left: 0px;
  color: #fff;
  background: #3B1E87;
}

.cmshtml .faq .faq_dd {
  position: relative;
}

.cmshtml .faq .faq_dd::before {
  content: "A";
  top: 1px;
  left: 0px;
  color: #fff;
  background: #AB2383;
}

.cmshtml .fullsize {
  text-align: center;
}

.cmshtml .fullsize img {
  width: 100vw;
  max-width: 100vw;
  margin: 0 calc(50% - 50vw);
}

.cmshtml .dl_list_text {
  flex-wrap: wrap;
  display: flex;
  border-bottom: 1px dashed #C0C0BE;
  padding: 10px 0 10px;
}

.cmshtml .dl_list_text .dl_list_text_title {
  padding: 12px 0 12px 20px;
  position: relative;
}

.cmshtml .dl_list_text .dl_list_text_title::before {
  margin: auto;
  position: absolute;
  content: "";
  width: 5px;
  height: 30px;
  background: #3B1E87;
  top: 0;
  bottom: 0;
  left: 0;
  border-radius: 9px;
}

.cmshtml .dl_list_text_btn {
  background: url("../img/arrow4.png") no-repeat left center;
  padding-left: 40px;
}

.cmshtml .dl_list_text_btn a {
  display: inline-block;
  padding: 14px 64px 14px 14px;
  text-decoration: none;
  transition: all 0.6s;
  position: relative;
  font-weight: 500;
}

.cmshtml .dl_list_text_btn a:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 10px;
  background-position: center center;
  background-repeat: no-repeat;
  width: 50px;
  height: 100%;
  line-height: 1.5;
  background-image: url("../img/ico_link.png");
}

.cmshtml .dl_list_text_btn a[href*=".pdf"]:after {
  background-image: url("../img/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("../img/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("../img/icon-xcel-m.png");
  background-size: 30px 30px;
}

.cmshtml .dl_list_text_btn a[href*=".zip"]:after {
  background-image: url("../img/zip.png");
  background-size: 30px 30px;
}

.cmshtml .dl_list_text_btn.full {
  width: 100%;
}

.cmshtml .wraptitle {
  background: #F7F6F4;
  display: inline-block;
  padding: 10px 20px;
  border-radius: 10px;
  width: 320px;
  max-width: 100%;
  border: 3px solid rgba(59, 30, 135, 0.5);
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F1713;
}

.cmshtml .underlinetitles {
  display: inline-block;
  background: linear-gradient(transparent 60%, rgba(59, 30, 135, 0.5) 60%);
}

.cmshtml .underlinetitles2 {
  display: inline-block;
  background: linear-gradient(transparent 60%, rgba(13, 46, 160, 0.9) 60%);
}

.cmshtml .just2.products_list {
justify-content: space-around;
}

.cmshtml .just2.products_list > div {
  width: 47%;
  margin-bottom: 10px;
}

@media screen and (max-width: 576px) {
  .cmshtml .just2.products_list > div{
    width: 100%;
  }
}

.cmshtml .products_list .products_list_li {
  position: relative;
  text-align: center;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.cmshtml .products_list .products_list_li .imgwrap {
  position: relative;
  padding-right: 30px;
}

.cmshtml .products_list .products_list_li .imgwrap img {
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.cmshtml .products_list .products_list_li .h2title {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  padding: 15px 15px;
  letter-spacing: 0;
  text-align: left;
  position: relative;
  margin-left: 50px;
  margin-top: -20px;
  background: -moz-linear-gradient(to right, #3B1E87, #AB2383);
  background: -webkit-linear-gradient(to right, #3B1E87, #AB2383);
  background: linear-gradient(to right, #3B1E87, #AB2383);
  background: #3B1E87;
  color: #fff;
}

.cmshtml .products_list .products_list_li .h2title a {
  text-decoration: none;
}

.cmshtml .products_list .products_list_li .h2title::after {
  position: absolute;
  left: -50px;
  bottom: 10px;
  z-index: 0;
  width: 34px;
  height: 34px;
  content: "";
  background-size: 100%;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  background: url("../img/arrow4.png") no-repeat 0 0;
  background-size: 100%;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.cmshtml .products_list .products_list_li.onhover {
  opacity: 0.8;
}

.cmshtml .products_list .products_list_li.onhover .h2title:after {
  width: 40px;
  height: 40px;
}

.cmshtml .slider-area {
  z-index: 0;
  box-sizing: border-box;
  position: relative;
  padding-left: 3.65%;
  padding-right: 3.65%;
}

.cmshtml .slider-area .under-logo {
  position: absolute;
  left: 0%;
  bottom: 10%;
  z-index: 1;
  padding-left: 10.3%;
  transform: translateY(0%);
}

@media screen and (max-width: 800px) {
  .cmshtml .slider-area .under-logo {
    padding-left: 7.5%;
  }
}

.cmshtml .slider-area .under-logo .h2title {
  font-family: 'Noto Sans JP',YuGothic, "游ゴシック", "メイリオ", Meiryo,'Roboto', Helvetica Neue, Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
  font-weight: 900;
  color: #fff;
  font-size: calc(15px + 1.4vw);
  margin-bottom: 20px;
}

@media screen and (max-width: 800px) {
  .cmshtml .slider-area .under-logo .h2title {
    margin-bottom: 0px;
  }
}

.cmshtml #slide-wrap {
  position: relative;
  width: 100%;
}

.cmshtml #slide-wrap .swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.cmshtml .no-flexbox #slide-wrap .swiper-wrapper {
  width: 1000px;
  margin: 0 auto;
}

.cmshtml #slide-wrap.swiper-container .swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.cmshtml #slide-wrap.swiper-container .swiper-slide img {
  display: block;
  width: 100%;
}

.cmshtml #slide-wrap.swiper-container .swiper-slide .img {
  position: relative;
}

.cmshtml #slide-wrap.swiper-container .swiper-slide .img::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}

.cmshtml .no-flexbox #slide-wrap.swiper-container {
  height: 510px;
  overflow: hidden;
}

.cmshtml .no-flexbox #slide-wrap.swiper-container .swiper-slide {
  float: left;
}

.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(59, 30, 135, 0.9);
}

.cmshtml .top-slide {
  position: relative;
}

.cmshtml .swiper-button-next, .cmshtml .swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.cmshtml .swiper-button-prev, .cmshtml .swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto;
}

.cmshtml .swiper-pagination-bullet {
  border-radius: 0;
  width: 10px;
  height: 10px;
  background: #fff;
  opacity: 0.8;
}

.cmshtml .swiper-button-prev, .cmshtml .swiper-button-next {
  width: 18px;
  height: 35px;
  margin-top: -17px;
  background-size: 17px 36px;
  opacity: 0;
  -webkit-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  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: 1;
}

@media screen and (max-width: 800px) {
  .cmshtml #slide-wrap .swiper-slide {
    width: 100%;
    height: 100%;
  }
  .cmshtml #slide-wrap .swiper-slide img {
    height: auto;
    max-width: 100%;
  }
}

.cmshtml .sp-image img {
  display: block;
}

.cmshtml .slide-img img {
  width: 100%;
}

.cmshtml .just2, .cmshtml .just3, .cmshtml .just4, .cmshtml .just5, .cmshtml .just6, .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 .just2 > div {
  width: 49%;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .just2 > div {
    width: 100%;
  }
}

.cmshtml .just3 > div {
  width: 32%;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .just3 > div {
    width: 100%;
  }
}

.cmshtml .just4 > div {
  width: 24%;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .just4 > div {
    width: 49%;
  }
}

.cmshtml .just5 > div {
  width: 19%;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .just5 > div {
    width: 49%;
  }
}

.cmshtml .just6 > div {
  width: calc(16.6666% - 10px);
  margin-bottom: 15px;
  text-align: center;
}

@media screen and (max-width: 1079px) {
  .cmshtml .just6 > div {
    width: 24%;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .just6 > div {
    width: 32%;
  }
}

@media screen and (max-width: 600px) {
  .cmshtml .just6 > div {
    width: 49%;
  }
}

.cmshtml .top_concept {
  position: relative;
  width: 1260px;
  padding-left: 10px;
  padding-right: 10px;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding-top: 60px;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_concept.flex_inner {
    display: block;
  }
}

.cmshtml .top_concept .flex_img {
  position: relative;
  -ms-flex: 0 0 45.162%;
  flex: 0 0 45.162%;
  max-width: 45.162%;
  text-align: right;
}

.cmshtml .top_concept .flex_img > div {
  margin-bottom: 8px;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_concept .flex_img {
    text-align: center;
  }
}

.cmshtml .top_concept .flex_img.order_1 {
  text-align: left;
}

.cmshtml .top_concept .flex_txt {
  border-top: 1px dashed #C0C0BE;
  border-bottom: 1px dashed #C0C0BE;
  -ms-flex: 0 0 53%;
  flex: 0 0 53%;
  max-width: 53%;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_concept .flex_txt {
    border-bottom: none;
  }
}

.cmshtml .top_concept .flex_txt .txt {
  font-size: 17px;
  font-size: 1.0625rem;
  color: #1F1713;
  font-weight: 700;
  line-height: 2.0;
  margin-bottom: 2em;
}

.cmshtml .top_concept > div {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}

.cmshtml .top_concept > div .flex_row_inner {
  max-width: 100%;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_concept .flex_row_inner {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-height: 1px;
  }
}

.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 .h3title {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
  margin-bottom: 10px;
}

.cmshtml .top_concept .h2title {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 26px;
}

.cmshtml .top_concept.rev {
  flex-direction: row-reverse;
}

.cmshtml .top_contents {
  position: relative;
  padding-top: 70px;
  padding-bottom: 70px;
  width: 1260px;
  padding-left: 10px;
  padding-right: 10px;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_contents {
    padding-bottom: 40px;
  }
}

.cmshtml .contents_list > div {
  width: calc(33.33333333% - 33px);
  margin-bottom: 30px;
}

@media screen and (max-width: 800px) {
  .cmshtml .contents_list > div {
    width: calc(50% - 10px);
  }
}

@media screen and (max-width: 640px) {
  .cmshtml .contents_list > div {
    width: 100%;
  }
}

.cmshtml .contents_list .contents_list_li {
  position: relative;
  text-align: center;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.cmshtml .contents_list .contents_list_li .imgwrap {
  position: relative;
  background: -moz-linear-gradient(to right, #3B1E87, #AB2383);
  background: -webkit-linear-gradient(to right, #3B1E87, #AB2383);
  background: linear-gradient(to right, #3B1E87, #AB2383);
}

.cmshtml .contents_list .contents_list_li .imgwrap img {
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.cmshtml .contents_list .contents_list_li .imgwrap::after {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  background: url("../img/arrow2.png") no-repeat 0 0;
  width: 34px;
  height: 34px;
  content: "";
  background-size: 100%;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.cmshtml .contents_list .contents_list_li .h2title {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 700;
  padding: 15px 0px;
  letter-spacing: 0;
  text-align: left;
}

.cmshtml .contents_list .contents_list_li .h2title a {
  text-decoration: none;
}

.cmshtml .contents_list .contents_list_li .txt {
  text-align: left;
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 1.5;
}

.cmshtml .contents_list .contents_list_li.onhover .imgwrap img {
  opacity: 0.6;
}

.cmshtml .contents_list .contents_list_li.onhover .imgwrap:after {
  width: 44px;
  height: 44px;
  opacity: 0.5;
}

.cmshtml .contents_list.pagein > div {
  width: calc(33.33333333% - 20px);
}
@media screen and (max-width: 800px) {
.cmshtml .contents_list.pagein > div {
  width: calc(33.33333333% - 10px);
}
}
@media screen and (max-width: 567px) {
.cmshtml .contents_list.pagein > div {
  width: calc(50% - 10px);
}
}

.cmshtml .contents_list.pagein .contents_list_li .imgwrap::after {
  display: none;
}

.cmshtml .contents_list.pagein .contents_list_li .h2title {
  padding-left: 20px;
  padding-right: 20px;
  background-color: #3B1E87;
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
}

.cmshtml .contents_list.pagein .contents_list_li .link {
  padding-bottom: 15px;
  padding-top: 15px;
}

.cmshtml .contents_list.pagein .contents_list_li .link a {
  border: 2px solid #3B1E87;
  color: #3B1E87;
  font-weight: 700;
  text-decoration: none;
  padding: 6px 50px 6px 30px;
  display: inline-block;
  border-radius: 99px;
}

.cmshtml .contents_list.pagein .contents_list_li .link a::after {
  right: 15px;
  width: 25px;
  height: 25px;
}
@media screen and (max-width: 400px) {
.cmshtml .contents_list.pagein .contents_list_li .link {
font-size: 85%;
}
.cmshtml .contents_list.pagein .contents_list_li .link a {
  padding: 6px calc(36px + 2.4vw) 6px calc(10px + 2vw);
}
.cmshtml .contents_list.pagein .contents_list_li .link a::after {
right: calc(10px + 0.5vw);
}
}

.cmshtml .top_news {
  position: relative;
  padding-top: 70px;
  padding-bottom: 70px;
  width: 1260px;
  padding-left: 10px;
  padding-right: 10px;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_news.flex_inner {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.cmshtml .top_news.flex_inner > div:nth-child(1) {
  width: 23%;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_news.flex_inner > div:nth-child(1) {
    width: 100%;
  }
}

.cmshtml .top_news.flex_inner > div:nth-child(2) {
  width: 77%;
  padding-right: 0px;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_news.flex_inner > div:nth-child(2) {
    width: 100%;
  }
}

.cmshtml .top_news .title_wrap {
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_news .title_wrap {
    display: block;
  }
}

.cmshtml .top_news .title_wrap .h2title {
  margin-bottom: 15px;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_news .title_wrap .h2title {
    display: inline-block;
    margin-right: 20px;
  }
}

.cmshtml .top_news .title_wrap .h3title {
  color: #1F1713;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_news .title_wrap .h3title {
    display: inline-block;
    margin-bottom: 40px;
  }
}

.cmshtml .top_news .title_wrap .link {
  margin-top: auto;
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: 700;
  margin-bottom: 2em;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_news .title_wrap .link {
    text-align: right;
  }
}

.cmshtml .top_news .title_wrap .link a {
  background: url("../img/arrow3.png") no-repeat 0 0;
  text-decoration: none;
  padding-left: 76px;
  padding-top: 17px;
  padding-bottom: 17px;
}

.cmshtml .top_news .top_news__wrap {
  max-height: 360px;
  overflow: auto;
}

@media screen and (max-width: 1079px) {
  .cmshtml .top_news .top_news__wrap {
    max-height: 320px;
  }
}

.cmshtml .top_news .top_news__dl {
  position: relative;
  padding: 18px 10px;
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 800px) {
  .cmshtml .top_news .top_news__dl {
    display: block;
  }
}

.cmshtml .top_news .top_news__dl::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  content: "";
  height: 1px;
  background: -moz-repeating-linear-gradient(to right, #C0C0BE, #C0C0BE 4px, transparent 4px, transparent 6px);
  background: -webkit-repeating-linear-gradient(to right, #C0C0BE, #C0C0BE 4px, transparent 4px, transparent 6px);
  background: repeating-linear-gradient(to right, #C0C0BE, #C0C0BE 4px, transparent 4px, transparent 6px);
}

.cmshtml .top_news .top_news__dl .top_news__dt.date {
  color: #3B1E87;
  font-weight: 500;
  padding-bottom: 10px;
  letter-spacing: 0;
  width: 150px;
  flex-shrink: 1;
}

.cmshtml .top_news .top_news__dl .top_news__dd {
  font-size: 16px;
  font-size: 1rem;
  color: #1F1713;
  line-height: 1.5;
  width: calc(100% - 150px);
}

@media screen and (max-width: 800px) {
  .cmshtml .top_news .top_news__dl .top_news__dd {
    width: 100%;
  }
}


.cmshtml #section_pageHeader {
  position: relative;
  text-align: center;
}

.cmshtml #section_pageHeader .imgwrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  background: black;
}

.cmshtml #section_pageHeader .imgwrap img {
  width: 100%;
  height: 100%;
  opacity: 0.9;
  object-fit: cover;
}

.cmshtml #section_pageHeader .title_wrap {
  padding-bottom: 50px;
  padding-top: 50px;
  position: relative;
  max-width: 100%;
}

@media screen and (max-width: 800px) {
  .cmshtml #section_pageHeader .title_wrap {
    padding-bottom: 30px;
    padding-top: 30px;
  }
}

.cmshtml #section_pageHeader .title_wrap::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: -moz-linear-gradient(to right, #3B1E87, #AB2383);
  background: -webkit-linear-gradient(to right, #3B1E87, #AB2383);
  background: linear-gradient(to right, #3B1E87, #AB2383);
  opacity: 0.3;
  z-index: -1;
}

.cmshtml #section_pageHeader .title_wrap .pagetitle {
  font-size: calc(18px + 1.4vw);
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #fff;
}

@media screen and (max-width: 800px) {
  .cmshtml #section_pageHeader .title_wrap .pagetitle {
    font-size: calc(24px + 1.4vw);
  }
}

.cmshtml .title-navi_ul {
  margin: 20px 5% 0px;
  padding: 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}

.cmshtml .title-navi_ul .navi_li {
  flex: 0 0 auto;
  margin-right: 10px;
  margin-bottom: 10px;
  text-align: center;
  position: relative;
}

@media screen and (max-width: 800px) {
  .cmshtml .title-navi_ul .navi_li {
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 0;
  }
}

.cmshtml .title-navi_ul .navi_li a {
  padding: 8px 35px 8px 20px;
  text-decoration: none;
  transition: all 0.6s;
  border-radius: 999px;
  position: relative;
  overflow: hidden;
  background: -moz-linear-gradient(to right, #3B1E87, #AB2383);
  background: -webkit-linear-gradient(to right, #3B1E87, #AB2383);
  background: linear-gradient(to right, #3B1E87, #AB2383);
  display: block;
  color: #fff;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

.cmshtml .title-navi_ul .navi_li a::before {
  width: 0;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 100%;
  background: rgba(255, 255, 255, 0.2);
  z-index: 0;
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}

.cmshtml .title-navi_ul .navi_li a::after {
  content: "";
  width: 4px;
  height: 4px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  right: 14px;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media screen and (min-width: 801px) {
  .cmshtml .title-navi_ul .navi_li a:hover {
    opacity: 1;
  }
  .cmshtml .title-navi_ul .navi_li a:hover::before {
    width: 100%;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .title-navi_ul .navi_li a {
    padding: 5px 30px 5px 20px;
  }
}

.cmshtml .pagenav {
  margin-bottom: 4em;
}

.cmshtml div.rdplanetitle h2 {
  margin-right: auto;
  margin-left: auto;
  font-size: 34px;
  font-size: 2.125rem;
  text-align: center;
  display: inline-block;
  position: relative;
  font-weight: 700;
  padding-top: 15px;
  padding-bottom: 15px;
}

.cmshtml div.rdplanetitle h2::before, .cmshtml div.rdplanetitle h2::after {
  background: -moz-repeating-linear-gradient(to right, #3B1E87, #3B1E87 4px, transparent 4px, transparent 6px);
  background: -webkit-repeating-linear-gradient(to right, #3B1E87, #3B1E87 4px, transparent 4px, transparent 8px);
  background: repeating-linear-gradient(to right, #3B1E87, #3B1E87 4px, transparent 4px, transparent 8px);
  background-size: 100%;
  width: 100%;
  height: 2px;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  content: "";
}

.cmshtml div.rdplanetitle h2::after {
  top: auto;
  bottom: 0;
}

.cmshtml div.rdplanetitle h3 {
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: 900;
  line-height: 1.2;
  position: relative;
  padding: 18px 20px;
  background: rgba(59, 30, 135, 0.1);
  border-radius: 5px;
}

.cmshtml div.rdplanetitle h3::after {
  content: "";
  position: absolute;
  pointer-events: none;
  left: 4px;
  top: 4px;
  border-radius: 5px;
  border: 1px dashed #3B1E87;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
}

.cmshtml div.rdplanetitle h4 {
  font-size: 24px;
  font-size: 1.5rem;
  text-align: left;
  position: relative;
  font-weight: 700;
  padding: 8px 0;
  border-bottom: 1px dashed #C0C0BE;
}

@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: 10%;
  height: 2px;
  background: #3B1E87;
}

.cmshtml div.rdplanetitle h5 {
  font-size: 22px;
  font-size: 1.375rem;
  position: relative;
  padding-left: 20px;
}

.cmshtml div.rdplanetitle h5::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 90%;
  width: 5px;
  border-radius: 9px;
  background: -moz-linear-gradient(to top, #3B1E87 50%, #AB2383 50%);
  background: -webkit-linear-gradient(to top, #3B1E87 50%, #AB2383 50%);
  background: linear-gradient(to top, #3B1E87 50%, #AB2383 50%);
}

table {
width:100%;
}

@media screen and (max-width: 576px) {
  .cmshtml .rdplanetext, .cmshtml .rdplanetext2 {
    /* responsiv table block */
  }
  .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 tr td, .cmshtml .rdplanetext.block_tb .table table tr th, .cmshtml .rdplanetext.blocktable .table table tr td, .cmshtml .rdplanetext.blocktable .table table tr th, .cmshtml .rdplanetext2.block_tb .table table tr td, .cmshtml .rdplanetext2.block_tb .table table tr th, .cmshtml .rdplanetext2.blocktable .table table tr td, .cmshtml .rdplanetext2.blocktable .table table tr th {
    width: 100% !important;
  }
}

.cmshtml .rdplanetext.half_tb .table table th, .cmshtml .rdplanetext.half_tb .table table td, .cmshtml .rdplanetext.blockhalf .table table th, .cmshtml .rdplanetext.blockhalf .table table td, .cmshtml .rdplanetext2.half_tb .table table th, .cmshtml .rdplanetext2.half_tb .table table td, .cmshtml .rdplanetext2.blockhalf .table table th, .cmshtml .rdplanetext2.blockhalf .table table td {
  width: 50%;
}

@media screen and (max-width: 576px) {
  .cmshtml .rdplanetext.half_tb .table table th, .cmshtml .rdplanetext.half_tb .table table td, .cmshtml .rdplanetext.blockhalf .table table th, .cmshtml .rdplanetext.blockhalf .table table td, .cmshtml .rdplanetext2.half_tb .table table th, .cmshtml .rdplanetext2.half_tb .table table td, .cmshtml .rdplanetext2.blockhalf .table table th, .cmshtml .rdplanetext2.blockhalf .table table td {
    width: 100% !important;
  }
}

.cmshtml .rdplanetext.borderb_tb .table table th, .cmshtml .rdplanetext.borderb_tb .table table td, .cmshtml .rdplanetext.table_borderbottom .table table th, .cmshtml .rdplanetext.table_borderbottom .table table td, .cmshtml .rdplanetext2.borderb_tb .table table th, .cmshtml .rdplanetext2.borderb_tb .table table td, .cmshtml .rdplanetext2.table_borderbottom .table table th, .cmshtml .rdplanetext2.table_borderbottom .table table td {
  border: none;
  border-bottom: 1px solid #C0C0BE;
}

.cmshtml .rdplanetext.dl_tb table tr td a, .cmshtml .rdplanetext2.dl_tb table tr td a {
  text-indent: -999em;
  background: url(../img/download.png) no-repeat center center;
  width: 24px;
  height: 24px;
  max-width: 100%;
  display: block;
  margin: 0 auto;
  position: relative;
}

.cmshtml .rdplanetext.dl_tb table tr td a[href*=".pdf"], .cmshtml .rdplanetext2.dl_tb table tr td a[href*=".pdf"] {
  background: url(../img/icon-pdf-m.png) no-repeat center center;
  background-size: 24px 24px;
}

.cmshtml .rdplanetext.dl_tb table tr td a[href*=".doc"], .cmshtml .rdplanetext.dl_tb table tr td a[href*=".docx"], .cmshtml .rdplanetext2.dl_tb table tr td a[href*=".doc"], .cmshtml .rdplanetext2.dl_tb table tr td a[href*=".docx"] {
  background: url(../img/icon-word-m.png) no-repeat center center;
  background-size: 24px 24px;
}

.cmshtml .rdplanetext.dl_tb table tr td a[href*=".xls"], .cmshtml .rdplanetext.dl_tb table tr td a[href*=".xlsx"], .cmshtml .rdplanetext2.dl_tb table tr td a[href*=".xls"], .cmshtml .rdplanetext2.dl_tb table tr td a[href*=".xlsx"] {
  background: url(../img/icon-xcel-m.png) no-repeat center center;
  background-size: 24px 24px;
}

.cmshtml div.rdplanetext .table table th,
.cmshtml div.rdplanetext2 .table table th {
  background: #f3f8ff;
}

@media screen and (max-width: 800px) {
  .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 #3B1E87;
    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: #C0C0BE;
  border-left: 1px solid #C0C0BE;
  border-right: 1px solid #C0C0BE;
}

.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: 10px;
  height: auto;
  background-color: #F7F6F4;
  border: none;
  border-radius: 3px;
  -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 {
  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 {
  background-color: #C0C0BE;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
  border: none;
}

.cmshtml input[type="text"][name="img_auth"]:focus {
  background-color: #C0C0BE;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
  border: none;
}

.cmshtml .contact_item_table dt.contact_item_title {
  margin-top: 0;
  border: 1px solid #eee;
  border-bottom: none;
  padding: 10px;
  background-color: rgba(59, 30, 135, 0.1);
}

.cmshtml .contact_item_table dt.contact_item_title:not(:first-child) {
  margin-top: 0;
  border-top: none;
}

.cmshtml .contact_item_table .contact_item_input {
  border: 1px solid #eee;
  padding: 10px;
  margin-bottom: 0;
  background: #fff;
}

.cmshtml div.rdcontact_btn_area {
  margin-bottom: 30px;
}

.cmshtml div.rdcontact_btn_area .rdcontact_btn_submit {
  background: rgba(59, 30, 135, 0.8);
  border-radius: 999px;
  border: none;
}

.cmshtml div.rdcontact_btn_area .rdcontact_btn_submit:hover {
  background: #AB2383;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
}

.cmshtml div.rdcontact_btn_area .rdcontact_btn_submit:focus {
  background: #AB2383;
}

.cmshtml .contact_item_table {
  border: 1px solid #ededed;
}

.cmshtml .contact_item_title {
  font-weight: 700;
  padding: 10px 10px 10px !important;
  border-bottom: 1px solid #ededed;
}

.cmshtml .contact_item_input, .cmshtml .contact_item_inside_input, .cmshtml .contact_item_file_box {
  border-bottom: 1px solid #ededed;
  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 #ededed;
  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 .page_blog {
  padding-bottom: 40px;
}

.cmshtml .page_blog #contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.cmshtml .page_blog .mainarea {
  width: 70%;
}

.cmshtml .page_blog .blogcommon {
  width: 27%;
}

.cmshtml .page_blog .rdpublishDate {
  color: #AB2383;
  text-align: center;
  margin-bottom: 10px;
}

.cmshtml .blogframe .rdListShort {
}

.cmshtml .blogframe .rdListShort:first-child {
}

.cmshtml .blogframe .rdListShort .rdListItem {
  border: none;
  box-shadow: none;
  border-top:1px dashed #ccc;
  padding-top:20px;
  padding-bottom:20px;
  border-bottom:1px dashed #ccc;
  margin-bottom: 40px;
}

.cmshtml .blogframe .rdListShort .rdListItem .rdListTitle {
  width: 100%;
}

.cmshtml .blogframe .rdListShort .rdListItem .rdListCategory {
  position: static;
  margin-bottom: 0.5em;
  padding-right: 10px;
  padding-left: 10px;
 display: inline-block;
}

.cmshtml .blogframe .rdListShort .rdListItem .rdListCategory a {
  text-decoration: none;
}

.cmshtml .blogframe .rdListShort .rdListItem .rdListTag {
display: inline-block;
}

.cmshtml .blogframe .rdListShort .rdListItem .rdListExcerpt {
  width: 100%;
}

.cmshtml .blogframe .rdListShort .rdListItem .rdListExcerpt .rdReadMore {
  color: #666;
  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 .blogframe .rdListShort .rdListItem .rdListImageItemDummy {
  display: none;
}

.cmshtml .blogframe .rdListShort .rdListItem h3.rdarticleTitleText {
  border: none;
  position: relative;
  color: #3B1E87;
}

.cmshtml .blogframe .rdListShort .rdListItem h3.rdarticleTitleText a {
  text-decoration: none;
  display: block;
  padding-left: 18px;
}

.cmshtml .blogframe .rdListShort .rdListItem h3.rdarticleTitleText a:after {
  position: absolute;
  left: 0px;
  top: 0.65em;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 8px;
  border-color: transparent transparent transparent #3B1E87;
}

.cmshtml .blogframe .rdListShort .rdListItem li.rdListCategoryItem {
  background-color: #3B1E87;
  color: #FFF;
  border: none;
  padding: 2px 10px;
  font-size: 14px;
  border-radius: 3px;
}

.cmshtml .blogframe .rdListShort .rdListItem .ItemrdListTagListItem {
  border: none;
  padding: 2px 10px;
  font-size: 14px;
   border-radius: 3px;
   background:#AB2383;
}

.cmshtml .blogframe .rdListShort .rdListItem .ItemrdListTagListItem a {
  text-decoration: none;
}

.cmshtml .blogframe .rdListShort .rdListItem.noimage {
  padding-left: 0;
}

.cmshtml .blogframe .rdListItem > .rdListImage {

}

.cmshtml .mainarea .rdarticleTitle h3 {
  position: relative;
}

.cmshtml .mainarea .rdarticleTitle h3:before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0;
  width: 0px;
  height: 100%;
  background: -webkit-linear-gradient(#3B1E87, #AB2383);
  background: -moz-linear-gradient(#3B1E87, #AB2383);
  background: linear-gradient(#3B1E87, #AB2383);
}

.cmshtml .blogmain_main {
  margin-bottom: 60px;
}

.cmshtml .blogmain_main .page_blog .rdpublishDate {
  text-align: right;
  margin-right: 10px;
}

.cmshtml .blogmain_main .rdarticleTitle h3 {
  font-size: 2.2rem;
  padding-bottom: 22px;
  padding-top: 22px;
  border-bottom: 1px solid #D6D6D6;
  position: relative;
  line-height: 1.5;
}

.cmshtml .blogmain_main .rdarticleTitle h3::before {
  position: absolute;
  content: "";
  left: 0;
  bottom: -2px;
  width: 12px;
  height: 2px;
  background: #AB2383;
  border-right: 2px solid #fff;
}

.cmshtml .blogcommon .rdMonthlyArchive .rdMonthlyArchive-item:before {
  border-color: #3B1E87;
}

.cmshtml .blogcommon .rdBlogSearch .rdBlogSearch-btn {
  background-color: #3B1E87;
}

.cmshtml .blogcommon .rdBlogSearch .rdBlogSearch-btn:hover {
  background-color: #AB2383;
}

.cmshtml .blogcommon .rdCalendar .rdCalendarTable-link {
  background-color: #3B1E87;
}

.cmshtml .blogcommon .rdCalendar .rdCalendarTable-link:hover {
  background-color: #AB2383;
}

.cmshtml .blogcommon .rdCategorylist .rdCategorylist-link:after {
  border-left-color: #3B1E87;
}

.cmshtml .blogcommon .rdCategorylist .rdCategorylist-link:hover {
  background: #f3f8ff;
  color: #3B1E87;
}

.cmshtml .blogcommon .rdTaglist .rdTaglist-link {
  background: #f3f8ff;
}

.cmshtml .blogcommon .rdTaglist .rdTaglist-link:after {
  background: #f3f8ff;
}

.cmshtml .blogcommon .rdTaglist .rdTaglist-link:before {
  background: #f3f8ff;
}

.cmshtml .blogcommon .rdTaglist .rdTaglist-link:hover {
  background: #3B1E87;
}

.cmshtml .blogcommon .rdTaglist .rdTaglist-link:hover:after {
  background: #3B1E87;
}

.cmshtml .blogcommon .rdTaglist .rdTaglist-link:hover:before {
  background: #3B1E87;
}

@media screen and (max-width: 800px) {
  .cmshtml .page_blog .mainarea {
    width: 100%;
  }
  .cmshtml .page_blog .blogcommon {
    width: 100%;
  }
  .cmshtml .blogframe .rdListShort .rdListItem {
    padding-left: 180px;
  }
  .cmshtml .blogframe .rdListItem > .rdListImage {
    max-width: 160px;
  }
}

  /*初期非表示エリア表示のための調整*/
  /*TOPPAGE*/
  /*操作盤表示*/
  /*flexの中の幅を調整*/
#editView.showhideElement .cmshtml #navigation .drawer-dropdown-menu {
  display: block;
}

#editView.showhideElement .cmshtml .drawer-dropdown-menu {
  z-index: 100;
  display: block;
}

#editView.showhideElement .cmshtml .default_none {
  display: block;
}

#editView.showhideElement .cmshtml .toggle-box .toggle-box_dd {
  display: block;
}

#editView.showhideElement .cmshtml #l-header {
  z-index: 9999;
}

#editView.showhideElement .cmshtml #l-header .h_nav__list {
  justify-content: space-between;
  padding-right: 0;
}

#editView.showhideElement .cmshtml #l-header .h_nav__list > div {
  flex-grow: 1;
}

#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] {
  opacity: 1;
}

#editView .cmshtml #h-logo {
position: relative;
}
#editView .cmshtml .drawer-nav {
  overflow: visible;
}

#editView .cmshtml .drawer-dropdown-menu {
  width: 50vw;
}

#editView .cmshtml .hnav {
  height: auto;
  text-align: center;
}

#editView .cmshtml .hnav p {
  min-height: 3em;
}

#editView .cmshtml .drawer-dropdown-menu {
  display: none;
  height: auto;
}

#editView .cmshtml .drawer-dropdown-menu .drawer-dropdown-menu_ul {
  padding: 0;
  display: block;
}

#editView .cmshtml .drawer-dropdown-menu .drawer-dropdown-menu_ul .drawer-dropdown-menu-item {
  width: 100%;
}

#editView .cmshtml .drawer-dropdown-menu .drawer-dropdown-menu_ul .drawer-dropdown-menu-item a {
  padding: 10px 0px 10px 20px;
}

#editView .cmshtml #l-header .h_nav__list [data-blocks="サブナビ"] {
  position: absolute;
  right: 0;
  width: 100%;
  top: -66px;
}

#editView .cmshtml #l-header .h_nav__item.h_subnav {
  top: 0;
}

#editView .cmshtml .top-slide {
  max-height: 560px;
  overflow: auto;
}

#editView .cmshtml .top-slide .swiper-wrapper {
  padding-top: 23px;
  flex-wrap: wrap;
}

#editView .cmshtml .sp-slide {
  position: relative;
}

#editView .cmshtml .top_concept .flex_row_inner {
  max-width: 100%;
}

#editView .cmshtml .news-dl {
  width: auto;
}

#editView .cmshtml .top_news .top_news__wrap {
  max-height: none;
  overflow: visible;
}

#editView .cmshtml .submenu > div {
  display: inline-block;
}

#editView .cmshtml .container {
  padding-left: 0;
  padding-right: 0;
}
#editView .cmshtml .just2 ,
#editView .cmshtml .just3 ,
#editView .cmshtml .just4 ,
#editView .cmshtml .just5 ,
#editView .cmshtml .just6  {
justify-content: flex-start;
}

#editView .cmshtml .just2 > div ,
#editView .cmshtml .just3 > div ,
#editView .cmshtml .just4 > div ,
#editView .cmshtml .just5 > div ,
#editView .cmshtml .just6 > div  {
  margin-right: 1%;
}

#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 .cmshtml .just6 > div .just6_li {
  max-width: 100%;
  width: 100%;
  margin-right: 1%;
}

#editView .cmshtml .title-navi > div {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  width: 1080px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

#editView .cmshtml .title-navi:empty {
  display: block !important;
}

#editView .cmshtml .top_concept [data-blocks="画像タイトル"],
#editView .cmshtml .top_concept [data-blocks="テキストタイトル"]{
max-width: 100%;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
}

#editView .cmshtml .top_news__wrap {
  padding-top: 23px;
}

#editView .cmshtml .top_news__dl [data-blocks="お知らせ日付"] {
  width: 150px;
}

#editView .cmshtml .top_news__dl [data-blocks="お知らせ本文"] {
  width: calc(100% - 150px);
}

#editView .cmshtml .top_news__dd,
#editView .cmshtml .top_news__dt,
#editView .cmshtml .flex_left,
#editView .cmshtml .flex_right {
  width: 100%;
  max-width: 100%;
}

  /* PAGE */

#editView .cmshtml #section_pageHeader .imgwrap,
#editView .cmshtml #title-wrap .imgwrap img {
  position: relative;
  z-index: 0;
  overflow: unset;
}
#editView .cmshtml #title-wrap .imgwrap img {
min-height: 10px;
}

#editView .cmshtml #title-wrap #title {
  padding: 0;
}

#editView .cmshtml .title-navi {
  margin: 0 5%;
}

#editView .cmshtml .ol-list_li:after {
  width: 40px;
}

#editView .cmshtml .dl_list_text {
  justify-content: space-between;
}

#editView .cmshtml .hidden {
  overflow: visible;
}

#editView .cmshtml .swingbox,
#editView .cmshtml .flipbox,
#editView .cmshtml .fadebox,
#editView .cmshtml .fadeinbox,
#editView .cmshtml .bouncedownbox,
#editView .cmshtml .bouncebox {
  opacity: 1;
}