@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 #panlist ul, .cmshtml .cap-l, .cmshtml .cap-l-t2, .cmshtml .cap-m, .cmshtml .cap-s, .cmshtml .cap-l-t3, .cmshtml .boxwrap1, .cmshtml .boxwrap2, .cmshtml .boxwrap3, .cmshtml .to-buttonbox, .cmshtml .i1, .cmshtml .i2, .cmshtml .i3, .cmshtml .i4, .cmshtml .i5, .cmshtml .dibox, .cmshtml .dl-box1, .cmshtml .qabox, .cmshtml .stepbox, .cmshtml .to_bt, .cmshtml .liststyle, .cmshtml .news-header, .cmshtml .imgfull, .cmshtml .line-hr, .cmshtml .noline-hr, .cmshtml .dl-box1 dl, .cmshtml .to-bt2, .cmshtml .stepbox li, #editView .cmshtml li {
  zoom: 1;
}

.cmshtml .cf:before, .cmshtml #panlist ul:before, .cmshtml .cap-l:before, .cmshtml .cap-l-t2:before, .cmshtml .cap-m:before, .cmshtml .cap-s:before, .cmshtml .cap-l-t3:before, .cmshtml .boxwrap1:before, .cmshtml .boxwrap2:before, .cmshtml .boxwrap3:before, .cmshtml .to-buttonbox:before, .cmshtml .i1:before, .cmshtml .i2:before, .cmshtml .i3:before, .cmshtml .i4:before, .cmshtml .i5:before, .cmshtml .dibox:before, .cmshtml .dl-box1:before, .cmshtml .qabox:before, .cmshtml .stepbox:before, .cmshtml .to_bt:before, .cmshtml .liststyle:before, .cmshtml .news-header:before, .cmshtml .imgfull:before, .cmshtml .line-hr:before, .cmshtml .noline-hr:before, .cmshtml .dl-box1 dl:before, .cmshtml .to-bt2:before, .cmshtml .stepbox li:before, #editView .cmshtml li:before, .cmshtml .cf:after, .cmshtml #panlist ul:after, .cmshtml .cap-l:after, .cmshtml .cap-l-t2:after, .cmshtml .cap-m:after, .cmshtml .cap-s:after, .cmshtml .cap-l-t3:after, .cmshtml .boxwrap1:after, .cmshtml .boxwrap2:after, .cmshtml .boxwrap3:after, .cmshtml .to-buttonbox:after, .cmshtml .i1:after, .cmshtml .i2:after, .cmshtml .i3:after, .cmshtml .i4:after, .cmshtml .i5:after, .cmshtml .dibox:after, .cmshtml .dl-box1:after, .cmshtml .qabox:after, .cmshtml .stepbox:after, .cmshtml .to_bt:after, .cmshtml .liststyle:after, .cmshtml .news-header:after, .cmshtml .imgfull:after, .cmshtml .line-hr:after, .cmshtml .noline-hr:after, .cmshtml .dl-box1 dl:after, .cmshtml .to-bt2:after, .cmshtml .stepbox li:after, #editView .cmshtml li:after {
  content: "";
  display: table;
}

.cmshtml .cf:after, .cmshtml #panlist ul:after, .cmshtml .cap-l:after, .cmshtml .cap-l-t2:after, .cmshtml .cap-m:after, .cmshtml .cap-s:after, .cmshtml .cap-l-t3:after, .cmshtml .boxwrap1:after, .cmshtml .boxwrap2:after, .cmshtml .boxwrap3:after, .cmshtml .to-buttonbox:after, .cmshtml .i1:after, .cmshtml .i2:after, .cmshtml .i3:after, .cmshtml .i4:after, .cmshtml .i5:after, .cmshtml .dibox:after, .cmshtml .dl-box1:after, .cmshtml .qabox:after, .cmshtml .stepbox:after, .cmshtml .to_bt:after, .cmshtml .liststyle:after, .cmshtml .news-header:after, .cmshtml .imgfull:after, .cmshtml .line-hr:after, .cmshtml .noline-hr:after, .cmshtml .dl-box1 dl:after, .cmshtml .to-bt2:after, .cmshtml .stepbox li:after, #editView .cmshtml li:after {
  clear: both;
}

.cmshtml a:link,
.cmshtml a:visited,
.cmshtml a:active {
  color: inherit;
}

.cmshtml a:hover {
  color: #3AB54A;
}

@media screen and (max-width: 800px) {
  .cmshtml a:hover {
    color: inherit;
  }
}

.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, .cmshtml .il {
  float: left;
}

.cmshtml .right, .cmshtml .ir {
  float: right;
}

.cmshtml .tar {
  text-align: right;
}

.cmshtml .tal {
  text-align: left;
}

.cmshtml .tac {
  text-align: center;
}

.cmshtml img.left, .cmshtml img.il {
  margin-right: 32px;
}

@media screen and (max-width: 800px) {
  .cmshtml img.left, .cmshtml img.il {
    margin-right: 0;
  }
}

.cmshtml img.right, .cmshtml img.ir {
  margin-left: 32px;
}

@media screen and (max-width: 800px) {
  .cmshtml img.right, .cmshtml img.ir {
    margin-left: 0;
  }
}

.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 .mb10 {
  margin-bottom: 10px;
}

.cmshtml .mb20 {
  margin-bottom: 20px;
}

.cmshtml .mb30 {
  margin-bottom: 30px;
}

.cmshtml .i-sh {
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
}

.cmshtml .arrow, .cmshtml .block-listed p:before, .cmshtml .block-listed p:after, .cmshtml .block-listed dl:before, .cmshtml .block-listed dl:after {
  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 {
  overflow-y: scroll;
  box-sizing: border-box;
}

.cmsbody,
.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: 17px;
  font-size: 1rem;
  color: #000;
  font-weight: 400;
  letter-spacing: 1px;
  z-index: 0;
  margin: 0;
  max-height: 100%;
  box-sizing: border-box;
}

.cmshtml div,
.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 p,
.cmshtml th,
.cmshtml td {
  font-family: 'Noto Sans JP', YuGothic, "游ゴシック", "メイリオ", Meiryo,'Roboto', Helvetica Neue, Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
  z-index: 0;
  margin: 0;
  max-height: 100%;
  box-sizing: border-box;
}

@media screen and (max-width: 800px) {
  .cmsbody,
.cmshtml div,
.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 p,
.cmshtml small,
.cmshtml address,
.cmshtml aside,
.cmshtml blockquote,
.cmshtml th,
.cmshtml td {
    font-size: 16px;
  }
}

@media screen and (max-width: 800px) {
  .cmsbody,
.cmshtml div,
.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 p,
.cmshtml small,
.cmshtml address,
.cmshtml aside,
.cmshtml blockquote,
.cmshtml th,
.cmshtml td {
    font-size: 16px;
    letter-spacing: 0.2px;
  }
}

@media screen and (max-width: 800px) and (max-width: 800px) {
  .cmsbody,
.cmshtml div,
.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 p,
.cmshtml small,
.cmshtml address,
.cmshtml aside,
.cmshtml blockquote,
.cmshtml th,
.cmshtml td {
    font-size: 15px;
  }
}

.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 img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

.cmshtml a {
  color: inherit;
  cursor: pointer;
  transition: opacity 0.5s linear;
}

.cmshtml a:hover {
  opacity: 0.8;
  text-decoration: none;
}

.cmshtml a[href^="tel:"] {
  text-decoration: none;
}

@media screen and (min-width: 801px) {
  .cmshtml a[href^="tel:"] {
    pointer-events: none;
  }
}

.cmshtml ::selection {
  background-color: #007F41;
  color: #fff;
  /* Safari */
}

.cmshtml ::-moz-selection {
  background-color: #007F41;
  color: #fff;
  /* Firefox */
}

.cmsbody {
  background: #fff;
}

.cmshtml #panlist ul, .cmshtml .cap-l, .cmshtml .cap-l-t2, .cmshtml .cap-m, .cmshtml .cap-s, .cmshtml .cap-l-t3, .cmshtml .boxwrap1, .cmshtml .boxwrap2, .cmshtml .boxwrap3, .cmshtml .to-buttonbox, .cmshtml .i1, .cmshtml .i2, .cmshtml .i3, .cmshtml .i4, .cmshtml .i5, .cmshtml .dibox, .cmshtml .dl-box1, .cmshtml .qabox, .cmshtml .stepbox, .cmshtml .to_bt, .cmshtml .liststyle {
  margin: 0 auto;
  padding: 0;
  position: relative;
  max-width: 100%;
}

@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 a {
  z-index: 1;
  position: absolute;
  display: inline-block;
  left: 3%;
  text-indent: -9999px;
  background: url(../img/logo.png) no-repeat top 0 left;
  width: 202px;
  height: 100px;
}

@media screen and (max-width: 1200px) {
  .cmshtml #h-logo a {
    position: relative;
    display: block;
    margin: 0 auto;
    left: 0;
    background-size: 100% auto;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml #h-logo a {
    width: 151px;
    height: 75px;
    background-size: 100% auto;
  }
}

.cmshtml #l-header {
  padding: 7px 3% 16px 0;
  position: relative;
}

@media screen and (max-width: 1200px) {
  .cmshtml #l-header {
    width: 100%;
    padding: 10px 0;
  }
}

.cmshtml .h-nav {
  box-sizing: border-box;
}

@media screen and (max-width: 1200px) {
  .cmshtml .h-nav {
    box-sizing: border-box;
    display: block;
  }
}

.cmshtml .h-nav__list {
  display: flex;
  justify-content: flex-end;
}

@media screen and (max-width: 1200px) {
  .cmshtml .h-nav__list {
    max-height: none;
    display: block;
    padding: 0;
  }
}

.cmshtml .h-nav__item {
  border-bottom: 5px solid;
  border-color: transparent;
  font-size: 17px;
  font-weight: bold;
}

.cmshtml .h-nav__item--1 {
  color: #007F41;
  border-color: #007F41;
}

.cmshtml .h-nav__item--2 {
  color: #0068C7;
  border-color: #0068C7;
}

.cmshtml .h-nav__item--3 {
  color: #2BAAE3;
  border-color: #2BAAE3;
}

.cmshtml .h-nav__item--4 {
  color: #ED1E79;
  border-color: #ED1E79;
}

.cmshtml .h-nav__item--5 {
  color: #3AB54A;
  border-color: #3AB54A;
}

.cmshtml .h-nav__item--6 {
  color: #F09600;
  border-color: #F09600;
}

.cmshtml .h-nav__item--7 {
  color: #EF732E;
  border-color: #EF732E;
}

.cmshtml .h-nav__item--8 {
  color: #B264B0;
  border-color: #B264B0;
}

.cmshtml .h-nav__item a {
  padding: 0 15px 13px;
  display: block;
  color: inherit;
  text-decoration: none;
}

@media screen and (max-width: 1360px) {
  .cmshtml .h-nav__item {
    letter-spacing: 0;
  }
  .cmshtml .h-nav__item a {
    padding: 0 12px 13px;
  }
}

@media screen and (max-width: 1260px) {
  .cmshtml .h-nav__item {
    font-size: 1.2vw;
  }
}

@media screen and (max-width: 1200px) {
  .cmshtml .h-nav__item {
    border-bottom: none;
    border-left: 4px solid;
    border-color: inherit;
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 17px;
  }
}

@media screen and (max-width: 1200px) and (max-width: 800px) {
  .cmshtml .h-nav__item {
    font-size: 16px;
  }
}

.cmshtml .h-nav__item--sp {
  padding: 0;
  margin: 40px 0 0;
  display: block;
  border: none;
}

@media screen and (min-width: 1201px) {
  .cmshtml .h-nav__item--sp {
    display: none;
  }
}

@media screen and (max-width: 1200px) {
  .cmshtml .h-nav__item--sp .h-subnav {
    display: block;
  }
}

.cmshtml .h-subnav {
  margin-bottom: 25px;
  z-index: 1;
  font-size: 11px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.cmshtml .h-subnav__main {
  background: url(../img/tel.png) no-repeat center left;
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0;
  padding-left: 25px;
  color: #616161;
  margin-right: 25px;
}

.cmshtml .h-subnav__main address {
  color: inherit;
  font-weight: 500;
  font-size: inherit;
  font-style: normal;
  font-family: inherit;
  font-family: 'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo;
  letter-spacing: 0;
}

.cmshtml .h-subnav__sub {
  font-size: 12px;
  font-weight: bold;
  color: #111111;
  letter-spacing: 0;
}

@media screen and (max-width: 1200px) {
  .cmshtml .h-subnav__sub {
    text-align: center;
    padding-top: 2px;
  }
}

.cmshtml .h-subnav__main, .cmshtml .h-subnav__sub {
  line-height: 1.1;
}

.cmshtml .h-subnav--sp {
  display: none;
}

@media screen and (max-width: 1200px) {
  .cmshtml .h-subnav {
    padding-left: 30px;
    display: none;
  }
  .cmshtml .h-subnav--sp {
    display: block;
  }
  .cmshtml .h-subnav__main, .cmshtml .h-subnav__sub {
    margin: 0;
    display: block;
  }
}

.cmshtml .drawer-hamburger {
  background: #fff !important;
  padding-top: 13px;
  padding-bottom: 35px;
}

.cmshtml .drawer-hamburger::after {
  content: "MENU";
  position: absolute;
  bottom: 5px;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 12px;
}

.cmshtml #l-footer::after {
  content: "";
  display: block;
  position: relative;
  height: 5px;
  overflow: hidden;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -ms-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
  background: linear-gradient(to right, #4EB2CA, #50C4B8, #ADCC3F, #F2B425, #EF732E, #CD5377, #B264B0, #7C7BCE);
  background-size: 800% 800%;
  animation: gradationBar 10s infinite;
  z-index: -1;
}

.cmshtml .f-fix {
  z-index: 1;
  position: fixed;
  top: 140px;
  right: 0;
  width: 60px;
  height: 170px;
  color: #fff;
  font-family: 'Noto Sans JP', 'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo;
  font-size: 18px;
  font-weight: 500;
  overflow: hidden;
  border-radius: 5px 0 0 5px;
  background: #007F41;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
  text-orientation: upright;
  /*@include min-screen(){
  left:10px;
  bottom:0;
  width:170px;
  height: 60px;
  @include fontsize(17);
  }*/
}

@media screen and (max-width: 800px) {
  .cmshtml .f-fix {
    font-size: 17px;
  }
}

.cmshtml .f-fix a {
  display: block;
  position: relative;
  text-decoration: none;
  padding: 12px 8px;
  line-height: 1.25;
  letter-spacing: 1.5px;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

.cmshtml .f-fix a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30px;
  background: rgba(255, 255, 255, 0.4) url("../img/arrow3.png") no-repeat center bottom 8px;
}

.cmshtml .f-fix a:hover {
  color: inherit;
  opacity: 1;
}

@media screen and (max-width: 1200px) {
  .cmshtml .f-fix {
    top: auto;
    bottom: 80px;
  }
}

.cmshtml .f-contact {
  padding: 60px 0 65px;
  background-color: #EDEDED;
}

.cmshtml .f-contact__title {
  margin-bottom: 27px;
}

.cmshtml .f-contact__text {
  font-size: 17px;
  font-weight: bold;
  color: #000000;
  line-height: 1.4;
  margin-bottom: 45px;
}

.cmshtml .f-contact__links {
  display: flex;
  justify-content: space-between;
  position: relative;
}

.cmshtml .f-contact__links::after {
  position: absolute;
  content: "";
  display: block;
  right: 0;
  left: 0;
  margin: 0 auto;
  height: 100%;
  top: 0;
  width: 1px;
  background-color: #D5D6D6;
}

.cmshtml .f-contact__links__item {
  font-weight: bold;
  width: 45%;
  font-size: 19px;
  background-color: #ffffff;
  padding: 30px 0 30px 30px;
}

.cmshtml .f-contact__links__item:last-child {
  background: url(../img/arrow.png) no-repeat center right 30px;
  background-color: #ffffff;
  transition: all 0.3s;
}

.cmshtml .f-contact__links__item:last-child:hover {
  background-position: center right 20px;
}

.cmshtml .f-contact__links__item a {
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
  padding: 30px 0 30px;
}

@media screen and (max-width: 1080px) {
  .cmshtml .f-contact {
    padding: 60px 0 65px;
    background-color: #EDEDED;
  }
  .cmshtml .f-contact__links {
    display: block;
    justify-content: space-between;
    position: relative;
  }
  .cmshtml .f-contact__links::after {
    display: none;
  }
  .cmshtml .f-contact__links__item {
    width: 100%;
    margin-bottom: 20px;
    padding: 20px 20px 20px;
    font-size: 18px;
  }
}

@media screen and (max-width: 1080px) and (max-width: 800px) {
  .cmshtml .f-contact__links__item {
    font-size: 17px;
  }
}

.cmshtml .f-info {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 27px 0;
}

@media screen and (max-width: 1200px) {
  .cmshtml .f-info {
    display: block;
    padding: 27px 4%;
  }
}

.cmshtml .f-info__address {
  font-size: 14px;
  margin: 0 40px;
  color: #000000;
}

.cmshtml .f-info__address a {
  text-decoration: none;
}

@media screen and (max-width: 1200px) {
  .cmshtml .f-info__address {
    font-size: 14px;
    margin: 20px 0;
  }
}

.cmshtml .f-info__copy {
  font-size: 12px;
  color: #666666;
  letter-spacing: 0;
}

.cmshtml .f-info__copy a {
  text-decoration: none;
}

@media screen and (max-width: 1200px) {
  .cmshtml .f-info__copy {
    text-align: center;
  }
}

@keyframes gradationBar {
  0% {
    background-position: 0% 25%;
  }
  25% {
    background-position: 25% 50%;
  }
  50% {
    background-position: 50% 75%;
  }
  75% {
    background-position: 75% 100%;
  }
  100% {
    background-position: 100% 0%;
  }
}

.cmshtml #pagetop-side {
  width: 50px;
  height: 50px;
  position: fixed;
  z-index: 100;
  bottom: 10px;
  right: 10px;
  text-indent: -9999px;
  background-image: url(../img/pagetop.png);
  background-repeat: no-repeat;
  background-size: 100%;
  opacity: 1;
  transition: bottom 0.3s;
}

.cmshtml #pagetop-side:hover {
  bottom: 25px;
}

.cmshtml #pagetop-side p {
  width: 100%;
  height: 100%;
}

.cmshtml #pagetop-side p a {
  display: block;
  width: 100%;
  height: 100%;
}

.cmshtml #pagetop-side p a:hover {
  opacity: 1;
}

@media screen and (max-width: 800px) {
  .cmshtml #pagetop-side {
    bottom: 5px;
    right: 5px;
  }
}

.cmshtml #title_wrap {
  width: 100%;
  position: relative;
}

.cmshtml #title_wrap::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  height: 100%;
  width: 100%;
  overflow: hidden;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -ms-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
  background: linear-gradient(to right, #4EB2CA, #50C4B8, #ADCC3F, #F2B425, #EF732E, #CD5377, #B264B0, #7C7BCE);
  z-index: -1;
  opacity: 0.2;
}

.cmshtml #title_wrap::after {
  content: '';
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
}

.cmshtml #title_wrap #title {
  width: 1080px;
  max-width: 100%;
  margin: 0 auto;
  padding: 60px 10px 55px;
}

.cmshtml #title_wrap #title .page_title {
  font-size: 34px;
  font-weight: 900;
  position: relative;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .cmshtml #title_wrap #title .page_title {
    font-size: 29px;
  }
}

@media screen and (max-width: 800px) and (max-width: 800px) {
  .cmshtml #title_wrap #title .page_title {
    font-size: 28px;
  }
}

.cmshtml #title_wrap #title .sub_title {
  text-align: center;
  font-size: 12px;
  color: #666;
}

@media screen and (max-width: 800px) {
  .cmshtml #title_wrap #title .sub_title {
    font-size: 11px;
  }
}

.cmshtml #panlist {
  margin-bottom: 40px;
}

@media screen and (max-width: 800px) {
  .cmshtml #panlist {
    margin-bottom: 20px;
  }
}

.cmshtml #panlist ul {
  display: flex;
  padding: 8px 10px;
}

.cmshtml #panlist ul li {
  font-size: 12px;
  padding-right: 15px;
  position: relative;
  color: #000;
}

@media screen and (max-width: 800px) {
  .cmshtml #panlist ul li {
    font-size: 11px;
  }
}

.cmshtml #panlist ul li a {
  color: #000;
}

.cmshtml #panlist ul li a:hover {
  text-decoration: none;
}

.cmshtml .title-navi {
  margin-top: 20px;
  margin-bottom: -10px;
  position: relative;
  z-index: 2;
}

.cmshtml .title-navi {
  padding: 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}

.cmshtml .title-navi li {
  flex: 0 0 auto;
  margin-right: 14px;
  margin-bottom: 10px;
}

.cmshtml .title-navi li a {
  font-size: 15px;
  padding: 5px 24px 5px 34px;
  text-decoration: none;
  transition: all 0.3s;
  position: relative;
  color: #463F37;
  text-align: center;
  background: #fff;
  border-radius: 99px;
  font-weight: bold;
  display: inline-block;
}

@media screen and (min-width: 801px) {
  .cmshtml .title-navi li a:hover {
    box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.3);
    opacity: 1;
  }
}

.cmshtml .title-navi li a:before {
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #007F41 transparent transparent transparent;
  left: 15px;
  border-width: 7px 3.5px 0 3.5px;
  content: "";
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
}

@media screen and (max-width: 680px) {
  .cmshtml .title-navi li a {
    font-size: 13px;
    padding: 6px 20px 6px 30px;
  }
}

.cmshtml .sub_title_wrap {
  padding: 40px 0 1px;
  margin-bottom: 80px;
  background: #000;
  background: linear-gradient(to bottom, #500000 0%, #990000 40%, #990000 45%, #380000 100%);
  text-align: center;
}

@media screen and (max-width: 800px) {
  .cmshtml .sub_title_wrap {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .sub_title_wrap {
    margin-top: -40px;
  }
}

.cmshtml .sub_title_wrap .cap-l-t1 {
  margin-bottom: 0px;
}

.cmshtml .sub_title_wrap .cap-l-t1 h2 {
  display: block;
  position: relative;
  font-weight: 700;
  font-size: 28px;
  letter-spacing: 0;
  color: #fff;
}

@media screen and (max-width: 800px) {
  .cmshtml .sub_title_wrap .cap-l-t1 h2 {
    font-size: 27px;
  }
}

.cmshtml .sub_title_wrap .cap-l-t1 h2::before {
  content: "";
  background: url("../img/sub_title_wrap.png") no-repeat center 0;
  width: 340px;
  height: 36px;
  max-width: 100%;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
}

.cmshtml .sub_title_wrap .cap-l-t1 .subttl {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
  color: #fff;
  margin-top: 10px;
  padding-top: 10px;
  display: inline-block;
}

@media screen and (max-width: 800px) {
  .cmshtml .sub_title_wrap .cap-l-t1 .subttl {
    font-size: 15px;
  }
}

.cmshtml .sub_title_wrap .title-navi {
  margin-bottom: 40px;
}

@media screen and (max-width: 800px) {
  .cmshtml .sub_title_wrap .title-navi {
    margin-bottom: 20px;
  }
}

.cmshtml .l-container {
  width: 1080px;
  max-width: 100%;
  margin: 0 auto;
}

.cmshtml #contents {
  max-width: 1200px;
  margin: 0 auto;
}

.cmshtml .inner {
  width: 1080px;
  max-width: 94%;
  margin: 0 auto;
}

@media screen and (max-width: 1220px) {
  .cmshtml #contents,
.cmshtml .inner {
    padding: 0 2%;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml #contents,
.cmshtml .inner {
    width: 100%;
    max-width: 100%;
    padding: 0 3%;
  }
}

.cmshtml .cap-l, .cmshtml .cap-l-t2, .cmshtml .cap-m, .cmshtml .cap-s, .cmshtml .cap-l-t3, .cmshtml .news-header {
  margin: 0 auto 64px;
}

@media screen and (max-width: 800px) {
  .cmshtml .cap-l, .cmshtml .cap-l-t2, .cmshtml .cap-m, .cmshtml .cap-s, .cmshtml .cap-l-t3, .cmshtml .news-header {
    margin: 0 auto 32px;
  }
}

.cmshtml .cap-l {
  font-size: 20px;
  font-weight: 700;
  padding: 8px;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .cmshtml .cap-l {
    font-size: 19px;
  }
}

.cmshtml .cap-l-t2 {
  text-align: center;
  position: relative;
}

.cmshtml .cap-l-t2 h2 {
  font-size: 32px;
  display: block;
  position: relative;
  font-weight: 700;
}

@media screen and (max-width: 800px) {
  .cmshtml .cap-l-t2 h2 {
    font-size: 31px;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .cap-l-t2 h2 {
    font-size: 22px;
  }
}

@media screen and (max-width: 800px) and (max-width: 800px) {
  .cmshtml .cap-l-t2 h2 {
    font-size: 21px;
  }
}

.cmshtml .cap-l-t2.clt1 {
  margin: 0 auto 56px;
  background: url("../img/catch.png") no-repeat center;
  padding: 20px 10px;
  background-size: contain;
}

.cmshtml .cap-l-t2.clt1 h2 {
  /**/
}

.cmshtml .cap-l-t2.clt1 .subttl {
  font-size: 14px;
  color: #007F41;
}

@media screen and (max-width: 800px) {
  .cmshtml .cap-l-t2.clt1 .subttl {
    font-size: 13px;
  }
}

.cmshtml .cap-l-t2.clt1.tal {
  text-align: left;
  padding: 0px;
  background: space;
}

.cmshtml .cap-l-t2.clt1.tal h2 {
  display: block;
}

.cmshtml .cap-l-t2.clt1.tal h2::before {
  content: "";
  position: absolute;
  left: 0;
  margin: auto;
  right: 0;
  bottom: -20px;
  width: 50px;
  height: 5px;
  border-radius: 9px;
  background: #007F41;
}

.cmshtml .cap-l-t2.clt1.tal h2::before {
  right: auto;
  width: 100px;
  height: 3px;
}

.cmshtml .cap-l-t2.clt1.tal h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -19px;
  width: 100%;
  height: 1px;
  background: #ccc;
  z-index: -1;
}

.cmshtml .cap-l-t2.clt2 h2 {
  color: #007F41;
  padding: 30px 0 10px;
  position: relative;
  color: #007F41;
  font-weight: bold;
}

@media screen and (max-width: 1200px) {
  .cmshtml .cap-l-t2.clt2 h2 {
    font-size: 3.1vw;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .cap-l-t2.clt2 h2 {
    font-size: 22px;
  }
}

@media screen and (max-width: 800px) and (max-width: 800px) {
  .cmshtml .cap-l-t2.clt2 h2 {
    font-size: 21px;
  }
}

.cmshtml .cap-l-t2.clt3 {
  display: flex;
  flex-direction: column-reverse;
}

.cmshtml .cap-l-t2.clt3 p.sub_title {
  position: relative;
  margin: auto;
  color: #007F41;
  font-size: 13px;
  font-weight: 100;
  background: #fff;
  display: block;
  line-height: 1.2;
}

.cmshtml .cap-m {
  margin-bottom: 40px;
  position: relative;
  text-align: center;
  line-height: 1.5;
}

.cmshtml .cap-m h3 {
  font-size: 24px;
  font-weight: bold;
  position: relative;
}

@media screen and (max-width: 800px) {
  .cmshtml .cap-m h3 {
    font-size: 23px;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .cap-m h3 {
    font-size: 22px;
  }
}

@media screen and (max-width: 800px) and (max-width: 800px) {
  .cmshtml .cap-m h3 {
    font-size: 21px;
  }
}

.cmshtml .cap-m.cm-2 {
  text-align: left;
  overflow: hidden;
}

.cmshtml .cap-m.cm-2::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  height: 100%;
  width: 100%;
  overflow: hidden;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -ms-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
  background: linear-gradient(to right, #4EB2CA, #50C4B8, #ADCC3F, #F2B425, #EF732E, #CD5377, #B264B0, #7C7BCE);
  z-index: -1;
  border-radius: 5px;
  opacity: 0.7;
}

.cmshtml .cap-m.cm-2 h3 {
  padding: 8px 24px;
  position: relative;
  color: #fff;
}

.cmshtml .cap-m.cm-3 {
  text-align: left;
}

.cmshtml .cap-m.cm-3 h3 {
  color: #007F41;
  padding-left: 20px;
}

@media screen and (max-width: 800px) {
  .cmshtml .cap-m.cm-3 h3 {
    padding-left: 12px;
  }
}

.cmshtml .cap-m.cm-3::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  height: 100%;
  width: 6px;
  background: #D7D8E6;
}

.cmshtml .cap-m.cm-3::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 6px;
  background: #007F41;
}

.cmshtml .cap-s {
  margin-bottom: 24px;
  padding-left: 0;
}

.cmshtml .cap-s h4 {
  font-size: 18px;
  position: relative;
}

@media screen and (max-width: 800px) {
  .cmshtml .cap-s h4 {
    font-size: 17px;
  }
}

.cmshtml .cap-s.cs-1 {
  text-align: left;
}

.cmshtml .cap-s.cs-1 h4 {
  margin-left: 26px;
  color: #333;
}

.cmshtml .cap-s.cs-1:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 5px solid #0068C7;
  background-size: 100%;
  z-index: -1;
}

.cmshtml .cap-s.cs-2 {
  text-align: left;
}

.cmshtml .cap-s.cs-2 h4 {
  margin-left: 26px;
  color: #333;
}

.cmshtml .cap-s.cs-2:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 5px solid #ED1E79;
  background-size: 100%;
  z-index: -1;
}

.cmshtml .cap-s.cs-3 {
  text-align: left;
}

.cmshtml .cap-s.cs-3 h4 {
  margin-left: 26px;
  color: #333;
}

.cmshtml .cap-s.cs-3:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 5px solid #F09600;
  background-size: 100%;
  z-index: -1;
}

.cmshtml .cap-l-t3 {
  /*news title*/
}

.cmshtml .cap-l-t3 h2 {
  padding-bottom: 10px;
  font-weight: 700;
  font-size: 20px;
  border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 800px) {
  .cmshtml .cap-l-t3 h2 {
    font-size: 19px;
  }
}

.cmshtml .cap-l-t3 p {
  padding-top: 0px;
  margin-top: 6px;
  font-size: 13px;
  color: #007F41;
  font-family: 'Noto Sans JP', 'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo;
  text-align: right;
}

@media screen and (max-width: 800px) {
  .cmshtml .cap-l-t3 h2 {
    font-size: 15px;
  }
  .cmshtml .cap-l-t3 p {
    text-align: right;
  }
}

.cmshtml .news-header {
  border-bottom: 1px solid #ccc;
}

.cmshtml .news-header .date {
  position: relative;
  text-align: right;
  font-size: 14px;
  font-weight: 700;
  color: #007F41;
}

@media screen and (max-width: 800px) {
  .cmshtml .news-header .date {
    font-size: 13px;
  }
}

.cmshtml .news-header h3 {
  padding: 8px 0 16px;
  font-size: 22px;
  position: relative;
  font-weight: 700;
}

@media screen and (max-width: 800px) {
  .cmshtml .news-header h3 {
    font-size: 21px;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .news-header h3 {
    font-size: 18px;
  }
}

@media screen and (max-width: 800px) and (max-width: 800px) {
  .cmshtml .news-header h3 {
    font-size: 17px;
  }
}

.cmshtml .boxwrap0 {
  margin-bottom: 80px;
}

@media screen and (max-width: 800px) {
  .cmshtml .boxwrap0 {
    margin-bottom: 40px;
  }
}

.cmshtml .boxwrap1, .cmshtml .boxwrap2, .cmshtml .boxwrap3, .cmshtml .to-buttonbox {
  margin-bottom: 80px;
  position: relative;
}

@media screen and (max-width: 800px) {
  .cmshtml .boxwrap1, .cmshtml .boxwrap2, .cmshtml .boxwrap3, .cmshtml .to-buttonbox {
    margin-bottom: 40px;
  }
}

.cmshtml .boxwrap2 {
  padding: 32px;
  border: 1px solid #ccc;
  background: #F0F0F0;
  line-height: 1.9;
}

@media screen and (max-width: 800px) {
  .cmshtml .boxwrap2 {
    padding: 30px;
  }
}

.cmshtml .boxwrap2 .cap-m, .cmshtml .boxwrap2 .cap-s {
  margin: 0 0 10px 0;
}

.cmshtml .boxwrap3 img.il {
  margin-right: 24px;
}

@media screen and (max-width: 800px) {
  .cmshtml .boxwrap3 img.il {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 18px;
  }
}

.cmshtml .boxwrap3 img.ir {
  margin-left: 24px;
}

@media screen and (max-width: 800px) {
  .cmshtml .boxwrap3 img.ir {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 18px;
  }
}

.cmshtml .imgfull {
  margin-bottom: 80px;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .cmshtml .imgfull {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 1200px) {
  .cmshtml .imgfull {
    margin-bottom: 20px;
  }
  .cmshtml .imgfull img {
    max-width: 100%;
    height: auto;
  }
}

.cmshtml .ir {
  margin-left: 16px;
}

.cmshtml .il {
  margin-right: 16px;
}

@media screen and (max-width: 800px) {
  .cmshtml .ir, .cmshtml .il {
    max-width: 100%;
    height: auto;
    margin: 0 auto 8px auto;
    float: none;
    text-align: center;
    display: block;
  }
}

.cmshtml .i1, .cmshtml .i2, .cmshtml .i3, .cmshtml .i4, .cmshtml .i5 {
  margin-bottom: 80px;
}

@media screen and (max-width: 800px) {
  .cmshtml .i1, .cmshtml .i2, .cmshtml .i3, .cmshtml .i4, .cmshtml .i5 {
    margin-bottom: 40px;
  }
}

.cmshtml .i1 .in_wrap, .cmshtml .i2 .in_wrap, .cmshtml .i3 .in_wrap, .cmshtml .i4 .in_wrap, .cmshtml .i5 .in_wrap {
  display: flex;
  /* flex-flow: row wrap; */
}

.cmshtml .i1 .in_wrap div, .cmshtml .i2 .in_wrap div, .cmshtml .i3 .in_wrap > div, .cmshtml .i4 .in_wrap div, .cmshtml .i5 .in_wrap div {
  margin: 0 2% 32px 0;
  padding: 0;
  text-align: center;
}

.cmshtml .i1 .in_wrap div figure, .cmshtml .i2 .in_wrap div figure, .cmshtml .i3 .in_wrap div figure, .cmshtml .i4 .in_wrap div figure, .cmshtml .i5 .in_wrap div figure {
  padding: 0;
  margin: 0;
}

.cmshtml .i1 .in_wrap div figure figcaption, .cmshtml .i2 .in_wrap div figure figcaption, .cmshtml .i3 .in_wrap div figure figcaption, .cmshtml .i4 .in_wrap div figure figcaption, .cmshtml .i5 .in_wrap div figure figcaption {
  font-size: 15px;
  text-align: left;
}

@media screen and (max-width: 800px) {
  .cmshtml .i1 .in_wrap div figure figcaption, .cmshtml .i2 .in_wrap div figure figcaption, .cmshtml .i3 .in_wrap div figure figcaption, .cmshtml .i4 .in_wrap div figure figcaption, .cmshtml .i5 .in_wrap div figure figcaption {
    font-size: 14px;
  }
}

.cmshtml .i1 .in_wrap div img, .cmshtml .i2 .in_wrap div img, .cmshtml .i3 .in_wrap div img, .cmshtml .i4 .in_wrap div img, .cmshtml .i5 .in_wrap div img {
  max-width: 100%;
  height: auto;
  margin-bottom: 8px;
}

.cmshtml .i1 .in_wrap div .txt, .cmshtml .i2 .in_wrap div .txt, .cmshtml .i3 .in_wrap div .txt, .cmshtml .i4 .in_wrap div .txt, .cmshtml .i5 .in_wrap div .txt {
  text-align: left;
}

.cmshtml .i1 .in_wrap div h4, .cmshtml .i2 .in_wrap div h4, .cmshtml .i3 .in_wrap div h4, .cmshtml .i4 .in_wrap div h4, .cmshtml .i5 .in_wrap div h4 {
  background: #007F41;
  color: #fff;
  font-weight: 700;
  padding: 8px 16px;
  margin-top: -8px;
  text-align: left;
  font-size: 21px;
}

@media screen and (max-width: 800px) {
  .cmshtml .i1 .in_wrap div h4, .cmshtml .i2 .in_wrap div h4, .cmshtml .i3 .in_wrap div h4, .cmshtml .i4 .in_wrap div h4, .cmshtml .i5 .in_wrap div h4 {
    font-size: 20px;
  }
}

.cmshtml .no-borderradius .i1 .in_wrap, .cmshtml .no-borderradius .i2 .in_wrap, .cmshtml .no-borderradius .i3 .in_wrap, .cmshtml .no-borderradius .i4 .in_wrap, .cmshtml .no-borderradius .i5 .in_wrap {
  margin-right: -2%;
}

.cmshtml .no-borderradius .i1 .in_wrap div, .cmshtml .no-borderradius .i2 .in_wrap div, .cmshtml .no-borderradius .i3 .in_wrap div, .cmshtml .no-borderradius .i4 .in_wrap div, .cmshtml .no-borderradius .i5 .in_wrap div {
  float: left;
  margin-right: 1%;
}

.cmshtml .no-flexbox .i1 div, .cmshtml .no-flexbox .i2 div, .cmshtml .no-flexbox .i3 div, .cmshtml .no-flexbox .i4 div, .cmshtml .no-flexbox .i5 div {
  float: left;
}

.cmshtml .i1 .i1div {
  width: 100%;
}

.cmshtml .i1 .i1div:nth-child(1n) {
  margin-right: 0;
}

.cmshtml .i1 .i1div.sub-box div {
  margin-right: 0;
}

.cmshtml .i1 .i1div.sub-box h4, .cmshtml .i1 .i1div.sub-box p {
  text-align: left;
}

.cmshtml .i1.btcap div img {
  margin-bottom: 0;
}

.cmshtml .i2 .i2div {
  width: 49%;
}

.cmshtml .i2 .i2div:nth-child(2n) {
  margin-right: 0;
}

.cmshtml .i2 .i2div.sub-box div {
  margin-right: 0;
}

.cmshtml .i2 .i2div.sub-box h4, .cmshtml .i2 .i2div.sub-box p {
  text-align: left;
}

.cmshtml .i2.btcap div img {
  margin-bottom: 0;
}

.cmshtml .i3 .i3div {
  width: 32%;
}

.cmshtml .i3 .i3div:nth-child(3n) {
  margin-right: 0;
}

.cmshtml .i3 .i3div.sub-box div {
  margin-right: 0;
}

.cmshtml .i3 .i3div.sub-box h4, .cmshtml .i3 .i3div.sub-box p {
  text-align: left;
}

.cmshtml .i3.btcap div img {
  margin-bottom: 0;
}

.cmshtml .i4 .i4div {
  width: 23.5%;
}

.cmshtml .i4 .i4div:nth-child(4n) {
  margin-right: 0;
}

.cmshtml .i4 .i4div.sub-box div {
  margin-right: 0;
}

.cmshtml .i4 .i4div.sub-box h4, .cmshtml .i4 .i4div.sub-box p {
  text-align: left;
}

.cmshtml .i4.btcap div img {
  margin-bottom: 0;
}

.cmshtml .i5 .i5div {
  width: 18.4%;
}

.cmshtml .i5 .i5div:nth-child(5n) {
  margin-right: 0;
}

.cmshtml .i5 .i5div.sub-box div {
  margin-right: 0;
}

.cmshtml .i5 .i5div.sub-box h4, .cmshtml .i5 .i5div.sub-box p {
  text-align: left;
}

.cmshtml .i5.btcap div img {
  margin-bottom: 0;
}

@media screen and (max-width: 800px) {
  .cmshtml .i2 .in_wrap,
.cmshtml .i3 .in_wrap {
    display: block;
  }
  .cmshtml .i2 .in_wrap .i2div,
.cmshtml .i2 .in_wrap .i3div,
.cmshtml .i3 .in_wrap .i2div,
.cmshtml .i3 .in_wrap .i3div {
    width: 100%;
    margin-right: 0;
    margin-bottom: 12px;
  }
  .cmshtml .i2 .in_wrap .i2div img,
.cmshtml .i2 .in_wrap .i3div img,
.cmshtml .i3 .in_wrap .i2div img,
.cmshtml .i3 .in_wrap .i3div img {
    max-width: 100%;
    height: auto;
  }
  .cmshtml .i4 .in_wrap .i4div,
.cmshtml .i4 .in_wrap .i5div,
.cmshtml .i5 .in_wrap .i4div,
.cmshtml .i5 .in_wrap .i5div {
    width: 49%;
    margin-right: 0.5%;
    margin-left: 0.5%;
  }
  .cmshtml .i4 .in_wrap .i4div img,
.cmshtml .i4 .in_wrap .i5div img,
.cmshtml .i5 .in_wrap .i4div img,
.cmshtml .i5 .in_wrap .i5div img {
    width: 100%;
    height: auto;
  }
}

.cmshtml .i-sh {
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
}

.cmshtml .line-hr {
  margin-bottom: 80px;
}

@media screen and (max-width: 800px) {
  .cmshtml .line-hr {
    margin-bottom: 40px;
  }
}

.cmshtml .line-hr hr {
  height: 1px;
  overflow: hidden;
  border: none;
  border-bottom: dashed 1px #007F41;
}

.cmshtml .noline-hr {
  margin-bottom: 80px;
}

@media screen and (max-width: 800px) {
  .cmshtml .noline-hr {
    margin-bottom: 40px;
  }
}

.cmshtml .noline-hr hr {
  height: 1px;
  overflow: hidden;
  border: none;
}

.cmshtml .dibox {
  margin: 0 auto 60px;
}

@media screen and (max-width: 800px) {
  .cmshtml .dibox {
    width: 100%;
    overflow-x: auto;
    margin: 0 auto 30px;
  }
  .cmshtml .dibox table.tb-box2, .cmshtml .dibox table.tb-box3, .cmshtml .dibox table.tb-box4, .cmshtml .dibox table.tb-box5, .cmshtml .dibox table.tb-box6 {
    min-width: 680px;
  }
}

.cmshtml .tb-box1, .cmshtml .tb-box1-2, .cmshtml .tb-box1-3, .cmshtml .tb-box2, .cmshtml .tb-box3, .cmshtml .tb-box4, .cmshtml .tb-box5, .cmshtml .tb-box7 {
  width: 100%;
  table-layout: auto;
  margin: 0;
  border-collapse: collapse;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}

.cmshtml .tb-box1 th, .cmshtml .tb-box1-2 th, .cmshtml .tb-box1-3 th, .cmshtml .tb-box2 th, .cmshtml .tb-box3 th, .cmshtml .tb-box4 th, .cmshtml .tb-box5 th, .cmshtml .tb-box7 th {
  padding: 12px 4px;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  font-size: 15px;
  background: #F8F8FA;
  font-weight: 700;
  line-height: 1.5;
  color: #000;
  border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 800px) {
  .cmshtml .tb-box1 th, .cmshtml .tb-box1-2 th, .cmshtml .tb-box1-3 th, .cmshtml .tb-box2 th, .cmshtml .tb-box3 th, .cmshtml .tb-box4 th, .cmshtml .tb-box5 th, .cmshtml .tb-box7 th {
    font-size: 14px;
  }
}

.cmshtml .tb-box1 th.hd_bggr, .cmshtml .tb-box1-2 th.hd_bggr, .cmshtml .tb-box1-3 th.hd_bggr, .cmshtml .tb-box2 th.hd_bggr, .cmshtml .tb-box3 th.hd_bggr, .cmshtml .tb-box4 th.hd_bggr, .cmshtml .tb-box5 th.hd_bggr, .cmshtml .tb-box7 th.hd_bggr {
  background: #007F41;
  color: #fff;
  border-bottom: 1px solid #ccc;
}

.cmshtml .tb-box1 td, .cmshtml .tb-box1-2 td, .cmshtml .tb-box1-3 td, .cmshtml .tb-box2 td, .cmshtml .tb-box3 td, .cmshtml .tb-box4 td, .cmshtml .tb-box5 td, .cmshtml .tb-box7 td {
  padding: 12px;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  font-size: 15px;
  background-color: #fff;
  line-height: 1.5;
  color: #000;
}

@media screen and (max-width: 800px) {
  .cmshtml .tb-box1 td, .cmshtml .tb-box1-2 td, .cmshtml .tb-box1-3 td, .cmshtml .tb-box2 td, .cmshtml .tb-box3 td, .cmshtml .tb-box4 td, .cmshtml .tb-box5 td, .cmshtml .tb-box7 td {
    font-size: 14px;
  }
}

.cmshtml .tb-box1 th.th_col, .cmshtml .tb-box1-2 th.th_col, .cmshtml .tb-box1-3 th.th_col, .cmshtml .tb-box2 th.th_col, .cmshtml .tb-box3 th.th_col, .cmshtml .tb-box4 th.th_col, .cmshtml .tb-box5 th.th_col, .cmshtml .tb-box7 th.th_col {
  background: #F0F0F0;
}

.cmshtml .tb-data.tb-box1, .cmshtml .tb-data.tb-box1-2, .cmshtml .tb-data.tb-box1-3, .cmshtml .tb-data.tb-box2, .cmshtml .tb-data.tb-box3, .cmshtml .tb-data.tb-box4, .cmshtml .tb-data.tb-box5, .cmshtml .tb-data.tb-box7 {
  table-layout: fixed;
}

.cmshtml .tb-data.tb-box1 td, .cmshtml .tb-data.tb-box1-2 td, .cmshtml .tb-data.tb-box1-3 td, .cmshtml .tb-data.tb-box2 td, .cmshtml .tb-data.tb-box3 td, .cmshtml .tb-data.tb-box4 td, .cmshtml .tb-data.tb-box5 td, .cmshtml .tb-data.tb-box7 td {
  overflow-wrap: break-word;
  line-height: 1.5;
}

.cmshtml .tb-box1 th {
  width: 30%;
}

.cmshtml .tb-box1 th.th-01 {
  width: 70%;
}

.cmshtml .tb-box1 td {
  width: 70%;
}

.cmshtml .tb-box1 td.td-01 {
  width: 30%;
}

.cmshtml .tb-box1-2 th {
  width: 50%;
}

.cmshtml .tb-box1-2 td {
  width: 50%;
}

.cmshtml .tb-box1-3 th {
  width: 15%;
}

.cmshtml .tb-box1-3 td {
  width: 35%;
}

.cmshtml .tb-box2 th {
  width: 33%;
}

.cmshtml .tb-box2 td {
  width: 33%;
}

.cmshtml .tb-box2 th.wp60, .cmshtml .tb-box2 td.wp60 {
  width: 60%;
}

.cmshtml .tb-box2 th.wp20, .cmshtml .tb-box2 td.wp20 {
  width: 20%;
}

.cmshtml .tb-box3 th {
  width: 24%;
}

.cmshtml .tb-box3 td {
  width: 24%;
}

.cmshtml .tb-box4 th {
  width: 20%;
}

.cmshtml .tb-box4 td {
  width: 20%;
}

.cmshtml .tb-box5 th {
  width: 16%;
}

.cmshtml .tb-box5 td {
  width: 16%;
}

.cmshtml .tb-box7 th {
  width: 12%;
}

.cmshtml .tb-box7 td {
  width: 12%;
}

.cmshtml .dl-box1 {
  margin-bottom: 80px;
  display: block;
}

@media screen and (max-width: 800px) {
  .cmshtml .dl-box1 {
    margin-bottom: 40px;
  }
}

.cmshtml .dl-box1 dl {
  display: flex;
  width: 100%;
}

@media screen and (max-width: 800px) {
  .cmshtml .dl-box1 dl {
    display: block;
    border-bottom: 1px solid #eee;
  }
}

.cmshtml .dl-box1 dl dt {
  width: 18%;
  border-bottom: 1px solid #ccc;
  font-weight: 700;
}

.cmshtml .dl-box1 dl dt::before {
  content: "";
  position: absolute;
  border: 0;
  left: 0;
  width: 25px;
  border-bottom: 1px solid #007F41;
  height: 1px;
  bottom: -1px;
}

@media screen and (max-width: 800px) {
  .cmshtml .dl-box1 dl dt::before {
    width: 100%;
    border-bottom-width: 2px;
  }
}

.cmshtml .dl-box1 dl dd {
  width: 79%;
  border-bottom: 1px solid #ccc;
}

.cmshtml .dl-box1 dl dt, .cmshtml .dl-box1 dl dd {
  display: block;
  position: relative;
  padding: 14px 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .dl-box1 dl dt, .cmshtml .dl-box1 dl dd {
    width: 100%;
    border-bottom: none;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .dl-box1 dl {
    display: block;
  }
  .cmshtml .dl-box1 dl dt, .cmshtml .dl-box1 dl dd {
    display: block;
    width: 100%;
    padding: 10px 2%;
  }
  .cmshtml .dl-box1 dl dt {
    background: #f1f1f1;
  }
  .cmshtml .dl-box1 dl dt:after {
    border-color: #ccc;
  }
  .cmshtml .dl-box1 dl dd:after {
    border-color: #282828;
  }
}

.cmshtml .to-buttonbox {
  display: flex;
  flex-direction: row-reverse;
}

.cmshtml .to-buttonbox .to-bt2 {
  margin-left: 16px;
  margin-bottom: 16px;
  flex-shrink: 0;
}

.cmshtml .to-buttonbox p.txt {
  margin-right: auto;
}

.cmshtml .to-buttonbox .block-listed {
  width: 75%;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}

.cmshtml .to-buttonbox .block-listed p {
  font-weight: bold;
}

@media screen and (max-width: 800px) {
  .cmshtml .to-buttonbox {
    flex-flow: column-reverse;
  }
  .cmshtml .to-buttonbox .to-bt2 {
    margin-left: 0px;
    width: 100%;
    margin-top: 10px;
  }
  .cmshtml .to-buttonbox .to-bt2 a {
    display: block;
  }
  .cmshtml .to-buttonbox .block-listed {
    width: 100%;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .i4 .in_wrap div.to-bt2 {
    width: 100%;
  }
}

.cmshtml .to-bt2 {
  text-align: right;
}

.cmshtml .to-bt2 p {
  padding: 0;
  margin: 0;
  font-weight: 700;
}

.cmshtml .to-bt2 p a {
  display: inline-block;
  padding: 12px;
  text-align: center;
  color: #007F41;
  border: #007F41 3px solid;
  text-decoration: none;
  transition: all 0.6s;
  position: relative;
  border-radius: 3px;
}

.cmshtml .to-bt2 p a:before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  text-align: center;
  color: #fff;
  line-height: 80px;
  left: 0px;
  font-size: 10px;
  background-size: auto;
  width: 42px;
  height: 100%;
  background: #007F41 url("../img/dl.png") no-repeat center 2px;
}

@media screen and (max-width: 800px) {
  .cmshtml .to-bt2 p a:before {
    font-size: 9px;
  }
}

.cmshtml .to-bt2 p a:hover {
  filter: alpha(opacity=60);
  -moz-opacity: 0.60;
  opacity: 0.60;
}

.cmshtml .to-bt2 p a[href*=".pdf"] {
  padding: 10px 10px 10px 55px;
}

.cmshtml .to-bt2 p a[href*=".pdf"]:before {
  content: "PDF";
  background-color: #007F41;
}

.cmshtml .to-bt2 p a[href*=".doc"] {
  padding: 10px 10px 10px 55px;
}

.cmshtml .to-bt2 p a[href*=".doc"]:before {
  content: "DOC";
}

.cmshtml .to-bt2 p a[href*=".docx"] {
  padding: 10px 10px 10px 55px;
}

.cmshtml .to-bt2 p a[href*=".docx"]:before {
  content: "DOCX";
}

.cmshtml .to-bt2 p a[href*=".xls"] {
  padding: 10px 10px 10px 55px;
}

.cmshtml .to-bt2 p a[href*=".xls"]:before {
  content: "XLS";
}

.cmshtml .to-bt2 p a[href*=".xlsx"] {
  padding: 10px 10px 10px 55px;
}

.cmshtml .to-bt2 p a[href*=".xlsx"]:before {
  content: "XLSX";
}

.cmshtml .qabox {
  margin-bottom: 80px;
  overflow: hidden;
}

@media screen and (max-width: 800px) {
  .cmshtml .qabox {
    margin-bottom: 40px;
  }
}

.cmshtml .qabox dl {
  margin: 0 0 30px;
  overflow: hidden;
}

.cmshtml .qabox dl dt, .cmshtml .qabox dl dd {
  position: relative;
  padding: 8px 0 8px 0;
  line-height: 1.5;
}

.cmshtml .qabox dl dt:before, .cmshtml .qabox dl dd:before {
  display: block;
  position: absolute;
  top: 0;
  font-size: 24px;
}

@media screen and (max-width: 800px) {
  .cmshtml .qabox dl dt:before, .cmshtml .qabox dl dd:before {
    font-size: 23px;
  }
}

.cmshtml .qabox dl dt {
  color: #111;
  margin-bottom: 10px;
  font-weight: 700;
  position: relative;
  color: #007F41;
  padding: 8px 0 8px 45px;
}

.cmshtml .qabox dl dt:before {
  content: 'Q.';
  font-weight: 300;
  left: 0px;
  height: 40px;
  color: #007F41;
  line-height: 40px;
  text-align: center;
  width: 40px;
  font-size: 30px;
  font-weight: 400;
  font-family: Arial, Helvetica, "sans-serif";
}

.cmshtml .qabox dl:last-child {
  margin-bottom: 0;
}

.cmshtml .stepbox {
  margin-bottom: 64px;
  overflow: hidden;
  padding: 0;
}

@media screen and (max-width: 800px) {
  .cmshtml .stepbox {
    margin-bottom: 32px;
  }
}

.cmshtml .stepbox {
  padding: 0;
}

.cmshtml .stepbox li {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  width: 100%;
  position: relative;
  padding-bottom: 20px;
}

.cmshtml .stepbox li::before {
  position: absolute;
  left: 33px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 7px 0 7px;
  border-color: #cecebf transparent transparent transparent;
  bottom: 2px;
}

@media screen and (max-width: 800px) {
  .cmshtml .stepbox li::before {
    left: 17px;
    bottom: 0;
  }
}

.cmshtml .stepbox li:after {
  content: "";
  height: 100%;
  width: 1px;
  position: absolute;
  top: 0;
  left: 39px;
  border-left: 3px dotted #cecebf;
  display: block;
  z-index: -1;
}

@media screen and (max-width: 800px) {
  .cmshtml .stepbox li:after {
    left: 23px;
  }
}

.cmshtml .stepbox li:last-child::before {
  display: none;
}

.cmshtml .stepbox li:last-child::after {
  display: none;
}

.cmshtml .stepbox li .left, .cmshtml .stepbox li .il {
  width: 100px;
  color: #fff;
  text-align: center;
  vertical-align: top;
  position: relative;
}

@media screen and (max-width: 800px) {
  .cmshtml .stepbox li .left, .cmshtml .stepbox li .il {
    width: 60px;
  }
}

.cmshtml .stepbox li .left h2, .cmshtml .stepbox li .il h2 {
  padding-top: 15px;
  width: 80px;
  height: 80px;
  font-family: 'Roboto',"游ゴシック", sans-serif;
  color: #fff;
  font-weight: 700;
  background: #007F41;
  border-radius: 50%;
  line-height: 1.3;
  font-size: 30px;
}

@media screen and (max-width: 800px) {
  .cmshtml .stepbox li .left h2, .cmshtml .stepbox li .il h2 {
    width: 50px;
    height: 50px;
    padding-top: 6px;
  }
}

.cmshtml .stepbox li .left h2 .step, .cmshtml .stepbox li .il h2 .step {
  font-size: 13px;
  display: block;
}

@media screen and (max-width: 800px) {
  .cmshtml .stepbox li .left h2 .step, .cmshtml .stepbox li .il h2 .step {
    display: none;
  }
}

.cmshtml .stepbox li .right, .cmshtml .stepbox li .ir {
  position: relative;
  width: calc(100% - 100px);
}

@media screen and (max-width: 800px) {
  .cmshtml .stepbox li .right, .cmshtml .stepbox li .ir {
    width: calc(100% - 60px);
  }
}

.cmshtml .stepbox li .right h3, .cmshtml .stepbox li .ir h3 {
  font-size: 26px;
  margin: 0 0 1%;
  line-height: 1.7;
  font-weight: 700;
  color: #007F41;
  margin-top: 8px;
}

@media screen and (max-width: 800px) {
  .cmshtml .stepbox li .right h3, .cmshtml .stepbox li .ir h3 {
    font-size: 25px;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .stepbox li .right h3, .cmshtml .stepbox li .ir h3 {
    font-size: 23px;
  }
}

@media screen and (max-width: 800px) and (max-width: 800px) {
  .cmshtml .stepbox li .right h3, .cmshtml .stepbox li .ir h3 {
    font-size: 22px;
  }
}

.cmshtml .stepbox li .right .stepbox-maintxt, .cmshtml .stepbox li .ir .stepbox-maintxt {
  overflow: hidden;
}

@media screen and (max-width: 800px) {
  .cmshtml .stepbox li .right .stepbox-maintxt, .cmshtml .stepbox li .ir .stepbox-maintxt {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
  }
}

.cmshtml .stepbox li .right .stepbox-maintxt img, .cmshtml .stepbox li .ir .stepbox-maintxt img {
  float: right;
  margin-left: 2%;
}

@media screen and (max-width: 800px) {
  .cmshtml .stepbox li .right .stepbox-maintxt img, .cmshtml .stepbox li .ir .stepbox-maintxt img {
    margin-left: 0;
    float: none;
    margin-top: 15px;
  }
}

.cmshtml .to_bt {
  margin-bottom: 80px;
}

@media screen and (max-width: 800px) {
  .cmshtml .to_bt {
    margin-bottom: 40px;
  }
}

.cmshtml .to_bt p {
  font-weight: bold;
}

.cmshtml .to_bt a {
  display: inline-block;
  background: #fff;
  transition: all 0.3s ease;
  position: relative;
  padding: 14px 80px 14px 40px;
  border-radius: 5px;
  text-align: center;
  color: #fff;
  font-size: 17px;
  text-decoration: none;
  font-weight: 700;
  background: linear-gradient(to right, #007F41, #0068C7);
  background: #007F41;
  overflow: hidden;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
}

@media screen and (max-width: 800px) {
  .cmshtml .to_bt a {
    font-size: 16px;
  }
}

.cmshtml .to_bt a::before {
  content: "";
  position: absolute;
  bottom: 0;
  top: 0;
  right: 0;
  width: 36px;
  height: 100%;
  background: rgba(255, 255, 255, 0.4) url("../img/arrow3.png") no-repeat center right 8px;
}

@media screen and (min-width: 801px) {
  .cmshtml .to_bt a:hover {
    transform: translateY(5px);
    box-shadow: 0 3px 3px 3px rgba(0, 0, 0, 0.2);
  }
}

.cmshtml .block-listed p, .cmshtml .block-listed dl {
  padding-left: 30px;
  position: relative;
}

.cmshtml .block-listed p:before, .cmshtml .block-listed dl:before {
  width: 20px;
  height: 20px;
  background: #007F41;
  border-radius: 100%;
  content:"";
}

.cmshtml .block-listed p:after, .cmshtml .block-listed dl:after {
  left: 6px;
  width: 4px;
  height: 4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  content:"";
}

.cmshtml .block-listed dl {
  display: -ms-flexbox;
  display: flex;
}

.cmshtml .block-listed dl dt {
  padding-right: 20px;
  font-weight: bold;
}

.cmshtml .block-listed dl dd {
  padding-right: 20px;
}

@media screen and (max-width: 800px) {
  .cmshtml .block-listed dl {
    display: block;
  }
  .cmshtml .block-listed dl dt {
    display: block;
  }
  .cmshtml .block-listed dl dd {
    display: inline;
  }
}

.cmshtml .i2 .in_wrap div.sub-box {
  margin-bottom: 2em;
}

.cmshtml .i2 .in_wrap div.sub-box div.bt_more {
  margin-top: 10px;
  text-align: right;
  margin-right: 0;
}

.cmshtml .sub-box {
  position: relative;
  border-top: 1px solid #ccc;
}

.cmshtml .sub-box::before {
  position: absolute;
  content: "";
  background: #007F41;
  border-radius: 9px;
  width: 20%;
  top: -2px;
  left: 0;
  height: 3px;
}

.cmshtml .sub-box h4 {
  padding: 20px 0 0;
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  position: relative;
  color: #111;
}

@media screen and (max-width: 800px) {
  .cmshtml .sub-box h4 {
    font-size: 17px;
  }
}

.cmshtml .sub-box p {
  text-align: left;
  line-height: 1.5;
}

.cmshtml .sub-box p img.left, .cmshtml .sub-box p img.il, .cmshtml .sub-box p img.il {
  margin-right: 12px;
}

@media screen and (max-width: 800px) {
  .cmshtml .sub-box p img.left, .cmshtml .sub-box p img.il, .cmshtml .sub-box p img.il {
    margin-right: auto;
    margin-bottom: 8px;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .i2 .i2div.sub-box {
    width: 100%;
    margin-right: 0;
  }
  .cmshtml .i2 .i2div.sub-box .ir {
    width: 50%;
  }
}

.cmshtml .sub-box-wide {
  display: -ms-flexbox;
  display: flex;
}

.cmshtml .sub-box-wide .img {
  width: 40%;
  text-align: center;
}

.cmshtml .sub-box-wide .img img {
  max-width: 100%;
  height: auto;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .sub-box-wide .img img {
    margin-left: auto;
    margin-right: auto;
  }
}

.cmshtml .sub-box-wide .txt-area {
  width: 60%;
}

.cmshtml .sub-box-wide .txt-area .dl-box1 {
  margin-bottom: 0;
}

.cmshtml .sub-box-wide h4 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 15px;
  position: relative;
  color: #333;
  border-bottom: 1px solid #007F41;
  padding-bottom: 10px;
}

@media screen and (max-width: 800px) {
  .cmshtml .sub-box-wide h4 {
    font-size: 21px;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .sub-box-wide h4 {
    font-size: 20px;
  }
}

@media screen and (max-width: 800px) and (max-width: 800px) {
  .cmshtml .sub-box-wide h4 {
    font-size: 19px;
  }
}

.cmshtml .sub-box-wide.txt-right .txt-area {
  padding-left: 30px;
}

.cmshtml .sub-box-wide.txt-left {
  flex-flow: row-reverse;
}

.cmshtml .sub-box-wide.txt-left .txt-area {
  padding-right: 30px;
}

.cmshtml .sub-box-wide.txt-left .txt-area h5 {
  background: #EDEDED;
  background: #dfdfdf;
  padding: 5px 10px;
  margin-bottom: 10px;
  font-weight: 700;
  font-size: 16px;
}

@media screen and (max-width: 800px) {
  .cmshtml .sub-box-wide {
    flex-direction: column;
  }
  .cmshtml .sub-box-wide.txt-left {
    flex-direction: column;
  }
  .cmshtml .sub-box-wide .img {
    width: 100%;
    margin-bottom: 8px;
  }
  .cmshtml .sub-box-wide .txt-area {
    margin-bottom: 10px;
    width: 100%;
  }
  .cmshtml .sub-box-wide.txt-left .txt-area, .cmshtml .sub-box-wide.txt-right .txt-area {
    padding: 0;
  }
  .cmshtml .sub-box-wide.txt-left .txt-area .cap-m.cm-3, .cmshtml .sub-box-wide.txt-right .txt-area .cap-m.cm-3 {
    margin-bottom: 20px;
  }
}

.cmshtml .submenu {
  padding: 0px 0 10px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

@media screen and (max-width: 800px) {
  .cmshtml .submenu {
    justify-content: flex-start;
  }
}

.cmshtml .submenu_li {
  width: 23.5%;
  margin: 0 2% 10px 0;
  font-size: 18px;
  background: #007F41;
  border: 6px double #fff;
  transition: all 0.3s ease;
  border-radius: 5px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 800px) {
  .cmshtml .submenu_li {
    font-size: 17px;
  }
}

.cmshtml .submenu_li:nth-child(4n), .cmshtml .submenu_li:last-child {
  margin-right: 0%;
}

.cmshtml .submenu_li:nth-child(6n-4) {
  background-color: #0068C7;
}

.cmshtml .submenu_li:nth-child(6n-3) {
  background-color: #ED1E79;
}

.cmshtml .submenu_li:nth-child(6n-2) {
  background-color: #F09600;
}

.cmshtml .submenu_li:nth-child(6n-1) {
  background-color: #2BAAE3;
}

.cmshtml .submenu_li:nth-child(6n) {
  background-color: #B264B0;
}

@media screen and (max-width: 800px) {
  .cmshtml .submenu_li {
    width: 48%;
    margin: 0 1% 10px 1%;
    font-size: 14px;
  }
}

@media screen and (max-width: 800px) and (max-width: 800px) {
  .cmshtml .submenu_li {
    font-size: 13px;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .submenu_li:nth-child(2n) {
    margin-right: 0%;
  }
}

@media screen and (max-width: 420px) {
  .cmshtml .submenu_li {
    width: 100%;
    margin: 0 0 10px;
  }
}

.cmshtml .submenu_li a {
  position: relative;
  color: inhert;
  border-radius: 3px;
  text-decoration: none;
  padding: 18px 20px;
  display: block;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
  transition: all 0.3s ease;
  line-height: 1.4;
  width: 100%;
}

@media screen and (max-width: 800px) {
  .cmshtml .submenu_li a {
    padding: 12px 15px;
  }
}

.cmshtml .submenu_li a:before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 15px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 5px;
  border-color: transparent transparent transparent #F0F0F0;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

@media screen and (min-width: 801px) {
  .cmshtml .submenu_li:hover {
    opacity: 0.7;
  }
  .cmshtml .submenu_li:hover a {
    color: #fff;
  }
}

.cmshtml .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-content: stretch;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.cmshtml .seek {
  display: none;
}

.cmshtml .small {
  letter-spacing: 0;
}

.cmshtml .empty_none:empty {
  display: none;
}

.cmshtml .catch {
  background: url("../img/catch.png") no-repeat center;
  text-align: center;
  font-size: 26px;
  font-weight: 700;
  padding: 40px 0;
  background-size: contain;
  text-shadow: 0 0 2px #fff;
}

@media screen and (max-width: 800px) {
  .cmshtml .catch {
    font-size: 25px;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .catch {
    font-size: 21px;
  }
}

@media screen and (max-width: 800px) and (max-width: 800px) {
  .cmshtml .catch {
    font-size: 20px;
  }
}

.cmshtml .reasonbox {
  border: 1px solid #eaeaea;
  position: relative;
  border-radius: 5px;
  padding: 0;
}

.cmshtml .reasonbox .reason_h2 {
  min-height: 88px;
  padding: 18px 10px;
  border-bottom: 1px solid #eaeaea;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  box-sizing: border-box;
  background: #F0F0F0;
  padding-left: 130px;
}

@media screen and (max-width: 800px) {
  .cmshtml .reasonbox .reason_h2 {
    padding-left: 65px;
  }
}

.cmshtml .reasonbox div.num {
  position: absolute;
  top: -11px;
  left: 30px;
  width: 72px;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .cmshtml .reasonbox div.num {
    left: 10px;
    width: 52px;
  }
}

.cmshtml .reasonbox div.num::before {
  position: absolute;
  top: 4px;
  right: -9px;
  display: block;
  width: 0;
  height: 0;
  content: "";
  border-style: solid;
  border-width: 7px 7px 0 7px;
  border-color: #006030 transparent transparent transparent;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.cmshtml .reasonbox div.num::after {
  position: absolute;
  bottom: 0;
  display: block;
  width: 0;
  height: 0;
  content: "";
  border-style: solid;
  border-width: 0 36px 18px 36px;
  border-color: transparent transparent #F0F0F0 transparent;
}

@media screen and (max-width: 800px) {
  .cmshtml .reasonbox div.num::after {
    border-width: 0 26px 13px 26px;
  }
}

.cmshtml .reasonbox div.num p {
  display: block;
  padding: 14px 5px 30px;
  background: #007F41;
  font-size: 32px;
  line-height: 1.4;
  color: #fff;
  font-family: 'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo;
}

@media screen and (max-width: 800px) {
  .cmshtml .reasonbox .reason_h2 .number .in {
    font-size: 31px;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .reasonbox .reason_h2 .number .in {
    padding: 8px 5px 20px;
  }
}

.cmshtml .reasonbox .reason_h2 h2 {
  padding: 0 10px 0 10px;
  font-size: 28px;
  font-weight: bold;
  display: inline;
  background: linear-gradient(180deg, transparent 60%, rgba(58, 181, 74, 0.3) 40%);
}

@media screen and (max-width: 800px) {
  .cmshtml .reasonbox .reason_h2 {
    font-size: 27px;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .reasonbox .reason_h2 {
    font-size: 24px;
    padding: 0 5px;
  }
}

@media screen and (max-width: 800px) and (max-width: 800px) {
  .cmshtml .reasonbox .reason_h2 {
    font-size: 23px;
  }
}

.cmshtml .reasonbox .sub-box-wide {
  padding: 40px;
}

@media screen and (max-width: 800px) {
  .cmshtml .reasonbox .sub-box-wide {
    padding: 20px;
  }
}

.cmshtml .top-catch.pagebox {
  padding: 50px 0 50px;
  margin-bottom: 80px;
}

@media screen and (max-width: 800px) {
  .cmshtml .top-catch.pagebox {
    margin-bottom: 40px;
  }
}

@media screen and (min-width: 801px) and (max-width: 1220px) {
  .cmshtml .top-catch.pagebox {
    margin-left: -2%;
    margin-right: -2%;
  }
}

.cmshtml .reasonbox.worksbox {
  padding-bottom: 20px;
}

.cmshtml .reasonbox.worksbox .reason_h2 .title {
  margin-left: 0;
  background: none;
}

.cmshtml .reasonbox.worksbox .dibox {
  padding-left: 40px;
  padding-right: 40px;
  margin-bottom: 32px;
}

@media screen and (max-width: 800px) {
  .cmshtml .reasonbox.worksbox .dibox {
    margin-bottom: 16px;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .reasonbox.worksbox .dibox {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.cmshtml .reasonbox.worksbox .to_bt {
  margin-bottom: 32px;
}

@media screen and (max-width: 800px) {
  .cmshtml .reasonbox.worksbox .to_bt {
    margin-bottom: 16px;
  }
}

.cmshtml .bef_af {
  text-align: center;
}

@media screen and (max-width: 800px) {
  .cmshtml .bef_af {
    flex-wrap: wrap;
  }
}

.cmshtml .bef_af .before, .cmshtml .bef_af .after {
  width: 50%;
  position: relative;
  padding: 20px 20px 20px;
}

.cmshtml .bef_af .before h5, .cmshtml .bef_af .after h5 {
  display: inline-block;
  padding: 6px 40px;
  font-weight: 700;
  border-radius: 999px;
  margin-bottom: 20px;
}

@media screen and (max-width: 800px) {
  .cmshtml .bef_af .before, .cmshtml .bef_af .after {
    width: 100%;
  }
}

.cmshtml .bef_af .before {
  background: #666;
}

.cmshtml .bef_af .before h5 {
  background: rgba(255, 255, 255, 0.7);
}

.cmshtml .bef_af .after {
  background: #F0F0F0;
}

.cmshtml .bef_af .after h5 {
  background: #666;
  color: #fff;
}

.cmshtml .bef_af .after .before {
  background: #666;
}

.cmshtml .bef_af .after .before h5 {
  background: rgba(255, 255, 255, 0.7);
}

.cmshtml .bef_af .after .after {
  background: #F0F0F0;
}

.cmshtml .bef_af .after .after h5 {
  background: #666;
  color: #fff;
}

.cmshtml .bf_wrap .bef_af .before {
  background: #E5F2EC;
}

.cmshtml .bf_wrap .bef_af .before h5 {
  background: rgba(0, 127, 65, 0.7);
  color: #fff;
}

.cmshtml .bf_wrap .bef_af .after {
  background: #92C7AE;
}

.cmshtml .bf_wrap .bef_af .after h5 {
  background: rgba(255, 255, 255, 0.7);
  color: #111;
}

.cmshtml .i3div.flowbox {
  border: 1px solid #ccc;
}

.cmshtml .i3div.flowbox img {
  width: 100%;
}

.cmshtml .i3div.flowbox .txt {
  padding: 20px;
}

.cmshtml .liststyle {
  padding: 0 0 10px 30px;
  position: relative;
  font-size: 17px;
}

@media screen and (max-width: 800px) {
  .cmshtml .liststyle {
    font-size: 16px;
  }
}

.cmshtml .liststyle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  border: 7px solid #007F41;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}

@media screen and (max-width: 800px) {
  .cmshtml .liststyle::before {
    top: 2px;
  }
}

.cmshtml .areabox {
  border: 1px solid #ccc;
  background: rgba(240, 240, 240, 0.3);
  padding: 40px;
  border-radius: 5px;
}

@media screen and (max-width: 800px) {
  .cmshtml .areabox {
    padding: 20px;
  }
}

.cmshtml .greetingwrap {
  padding: 70px 0 10px;
  background: url(../img/tertiary-bg.jpg) no-repeat center;
  background-size: cover;
  margin-bottom: 80px;
  margin-top: -40px;
}

@media screen and (max-width: 800px) {
  .cmshtml .greetingwrap {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 1200px) {
  .cmshtml .greetingwrap {
    margin-left: -2%;
    margin-right: -2%;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .greetingwrap {
    margin-left: -3%;
    margin-right: -3%;
    padding-left: 3%;
    padding-right: 3%;
    margin-top: -20px;
  }
}

.cmshtml .catch {
  background-size: auto;
}

.cmshtml .catch_list {
  font-size: 28px;
  font-weight: 700;
}

@media screen and (max-width: 800px) {
  .cmshtml .catch_list {
    font-size: 27px;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .catch_list {
    font-size: 21px;
  }
}

@media screen and (max-width: 800px) and (max-width: 800px) {
  .cmshtml .catch_list {
    font-size: 20px;
  }
}

.cmshtml .catch_list .in {
  display: inline-block;
  border-bottom: 3px dotted #BDBDAE;
  padding: 10px;
}

.cmshtml .full-anchor a::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  content: "";
}

.cmshtml .top-slide {
  position: relative;
}

.cmshtml .top-slide div {
  max-height: none;
}

.cmshtml .top-slide .swiper-slide {
  width: auto;
}

.cmshtml .top-slide .swiper-pagination {
  text-align: center;
  line-height: 2.1;
  width: 100%;
}

.cmshtml .top-slide .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  box-sizing: border-box;
  background-color: transparent;
  border: 1px solid #616161;
  opacity: 1;
  margin: 0 4px;
}

.cmshtml .top-slide .swiper-pagination-bullet-active {
  background-color: #616161;
}

@media screen and (max-width: 1080px) {
  .cmshtml .top-slide {
    position: relative;
  }
  .cmshtml .top-slide div {
    max-height: none;
  }
  .cmshtml .top-slide .swiper-slide {
    width: 90%;
  }
  .cmshtml .top-slide .swiper-slide img {
    width: 100%;
    height: auto;
  }
}

.cmshtml .top-catch {
  padding: 98px 0 50px;
  background: linear-gradient(to right, transparent 70%, #F0F0F0 70%);
  margin-bottom: 98px;
}

.cmshtml .top-catch__flex {
  width: 100%;
  display: flex;
  flex-direction: row-reverse;
}

.cmshtml .top-catch__img img {
  display: none;
}

.cmshtml .top-catch__left {
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 40%;
}

@media screen and (max-width: 1200px) and (min-width: 801px) {
  .cmshtml .top-catch__left {
    background-size: auto;
    background-position: top;
  }
}

.cmshtml .top-catch__right {
  position: relative;
  z-index: 1;
  width: 60%;
  padding: 50px 0;
}

.cmshtml .top-catch__main {
  margin-left: -20%;
}

@media screen and (max-width: 1200px) and (min-width: 801px) {
  .cmshtml .top-catch__main {
    margin-left: -50%;
  }
}

.cmshtml .top-catch__sub {
  font-size: 17px;
  color: #333333;
  font-weight: bold;
  padding: 0 10%;
  text-shadow: 0 0 2px #ffffff;
  text-shadow: #FFF 2px 2px 0, #FFF -2px -2px 0, #FFF -2px 2px 0, #FFF 2px -2px 0, #FFF 0px 2px 0, #FFF  0 -2px 0, #FFF -2px 0 0, #FFF 2px 0 0;
}

.cmshtml .top-catch__main {
  margin-bottom: 25px;
}

.cmshtml .top-catch__main__line {
  font-size: 30px;
  line-height: 1.4;
  font-weight: bold;
  padding: 0 5px;
  display: inline-block;
  background-color: #ffffff;
  margin-bottom: 15px;
  color: #000000;
}

@media screen and (max-width: 1200px) and (min-width: 801px) {
  .cmshtml .top-catch__main__line {
    font-size: 2.5vw;
  }
}

@media screen and (max-width: 800px) {
  .cmshtml .top-catch {
    padding: 50px 0 0px;
    background: linear-gradient(to right, transparent 20%, #F0F0F0 20%);
  }
  .cmshtml .top-catch__flex {
    width: 100%;
    display: block;
  }
  .cmshtml .top-catch__img img {
    width: 100%;
    height: auto;
    display: block;
  }
  .cmshtml .top-catch__left {
    background: none !important;
    position: relative;
    width: 100%;
    margin-left: auto;
  }
  .cmshtml .top-catch__right {
    width: 100%;
    padding: 50px 2%;
  }
  .cmshtml .top-catch__main {
    margin-left: 0;
  }
  .cmshtml .top-catch__sub {
    padding: 0;
  }
  .cmshtml .top-catch__main__line {
    font-size: 24px;
  }
}

.cmshtml .top-about {
  margin-bottom: 115px;
}

@media screen and (max-width: 800px) {
  .cmshtml .top-about {
    margin-bottom: 40px;
  }
}

.cmshtml .top-about__list {
  display: flex;
  justify-content: center;
}

.cmshtml .top-about__item {
  position: relative;
  margin: 0 25px;
}

@media screen and (max-width: 1200px) {
  .cmshtml .top-about__item {
    margin: 0 15px;
  }
}

.cmshtml .top-about__item__img {
  overflow: hidden;
}

.cmshtml .top-about__item__img img {
  max-width: 100%;
  height: auto;
  transition: all 0.3s;
}

.cmshtml .top-about__item__text {
  pointer-events: none;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  text-align: center;
  height: 81px;
  padding: 20px 0;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.6);
  color: #ffffff;
  font-size: 22px;
  font-weight: bold;
  transition: all 0.3s;
  line-height: 1.5;
}

.cmshtml .top-about__item__text * {
  color: #ffffff;
}

.cmshtml .top-about__item__text small {
  font-size: 13px;
  color: #ffffff;
  display: block;
}

@media screen and (max-width: 800px) {
  .cmshtml .top-about__item__text small {
    font-size: 12px;
  }
}

@media screen and (max-width: 1200px) {
  .cmshtml .top-about__item__text {
    font-size: 20px;
    letter-spacing: 0;
  }
}

@media screen and (max-width: 1200px) and (max-width: 800px) {
  .cmshtml .top-about__item__text {
    font-size: 19px;
  }
}

.cmshtml .top-about__item:hover .top-about__item__text {
  background-color: #333333;
}

.cmshtml .top-about__item:hover .top-about__item__img img {
  transform: scale(1.1);
}

@media screen and (max-width: 1080px) {
  .cmshtml .top-about {
    padding-left: 4%;
    padding-right: 4%;
  }
  .cmshtml .top-about__list {
    justify-content: space-around;
    flex-wrap: wrap;
  }
  .cmshtml .top-about__item {
    position: relative;
    margin: 0 5px 30px;
  }
  .cmshtml .top-about__item__img {
    overflow: hidden;
  }
  .cmshtml .top-about__item__img img {
    width: 100%;
    height: auto;
    transition: all 0.3s;
  }
  .cmshtml .top-about__item__text {
    height: auto;
    padding: 20px 10px;
    font-size: 18px;
  }
}

.cmshtml .top-catch2 {
  margin-bottom: 95px;
  padding: 50px 0 105px;
  background: url(../img/tertiary-bg.jpg) no-repeat center;
  background-size: cover;
}

@media screen and (max-width: 800px) {
  .cmshtml .top-catch2 {
    padding: 50px 0;
    margin-bottom: 60px;
  }
}

.cmshtml .top-catch2__main {
  font-weight: bold;
  font-size: 30px;
  line-height: 1.8;
  color: #000000;
  margin-bottom: 55px;
}

@media screen and (max-width: 1080px) {
  .cmshtml .top-catch2__main {
    line-height: 1.6;
    font-size: 24px;
  }
}

.cmshtml .top-catch2__sub {
  font-weight: bold;
  font-size: 17px;
  color: #000000;
  margin-bottom: 95px;
}

@media screen and (max-width: 1200px) {
  .cmshtml .top-catch2__sub {
    margin-bottom: 55px;
  }
}

.cmshtml .top-catch2__photo {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 1080px) {
  .cmshtml .top-catch2__photo {
    flex-wrap: wrap;
    justify-content: space-around;
    text-align: center;
  }
}

.cmshtml .top-catch2__photo img {
  margin-bottom: 10px;
}

@media screen and (max-width: 1080px) {
  .cmshtml .top-catch2__photo img {
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
  }
}

.cmshtml .top-catch2__photo__sup {
  font-size: 18px;
  color: #000000;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.5;
  text-align: left;
}

@media screen and (max-width: 800px) {
  .cmshtml .top-catch2__photo__sup {
    text-align: center;
  }
}

.cmshtml .top-catch2__photo__item {
  width: 32%;
}

@media screen and (max-width: 800px) {
  .cmshtml .top-catch2__photo__item {
    width: calc(50% - 20px);
    margin: 0 10px 30px;
  }
}

@media screen and (max-width: 520px) {
  .cmshtml .top-catch2__photo__item {
    width: 320px;
  }
}

.cmshtml .top-news {
  margin-bottom: 85px;
}

.cmshtml .top-news__flex {
  display: flex;
}

.cmshtml .top-news__left {
  flex: 0 0 auto;
}

.cmshtml .top-news__right {
  flex: 1 1 auto;
  margin-left: 100px;
}

.cmshtml .top-news__list {
  max-height: 400px;
  overflow: auto;
}

.cmshtml .top-news__list__item {
  display: flex;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid #CCCCCC;
}

.cmshtml .top-news__list__item:first-child {
  border-top: 1px solid #cccccc;
}

.cmshtml .top-news__list__dt {
  flex: 0 0 auto;
  font-size: 13px;
  color: #333333;
}

.cmshtml .top-news__list__dd {
  flex: 1 1 auto;
  font-size: 16px;
  color: #111111;
  margin-left: 40px;
}

@media screen and (max-width: 1080px) {
  .cmshtml .top-news {
    margin-bottom: 60px;
  }
  .cmshtml .top-news__flex {
    display: block;
  }
  .cmshtml .top-news__left {
    margin-bottom: 40px;
  }
  .cmshtml .top-news__right {
    margin-left: 0;
  }
  .cmshtml .top-news__list {
    max-height: 400px;
    overflow: auto;
  }
  .cmshtml .top-news__list__item {
    display: block;
  }
  .cmshtml .top-news__list__dt {
    margin-bottom: 5px;
  }
  .cmshtml .top-news__list__dd {
    margin-left: 0;
  }
}

.cmshtml .top-banner {
  padding-bottom: 40px;
}

.cmshtml .top-banner .imgfull {
  margin-bottom: 32px;
}

.cmshtml .top-banner .i2, .cmshtml .top-banner .i3, .cmshtml .top-banner .i4 {
  margin: 0;
  padding: 0;
}

.cmshtml .contact_item_input input[type="text"], .cmshtml .contact_item_input input[type="tel"], .cmshtml .contact_item_input input[type="email"], .cmshtml .contact_item_input input[type="date"] {
  padding: 5px;
  height: auto;
  background-color: #F0F0F0;
  border: 1px solid #ccc;
  border-radius: 4px;
  -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;
}

.cmshtml dt.contact_item_title {
  background: rgba(0, 127, 65, 0.1);
}

.cmshtml .contact_header {
  margin-bottom: 10px;
}

.cmshtml .contact_footer {
  margin-top: 10px;
}

.cmshtml .contact-box {
  max-width: 440px;
  padding: 2em;
  border-radius: 16px;
  background: #F0F0F0;
  background: #F0F0F0 url("../img/green-light.png") no-repeat;
}

.cmshtml .contact-box p {
  letter-spacing: 0;
  color: #111;
  font-weight: 700;
}

.cmshtml .contact-box p:first-child {
  font-size: 20px;
  margin-bottom: 5px;
}

@media screen and (max-width: 800px) {
  .cmshtml .contact-box p:first-child {
    font-size: 19px;
  }
}

.cmshtml .contact-box p.sub {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
}

@media screen and (max-width: 800px) {
  .cmshtml .contact-box p.sub {
    font-size: 13px;
  }
}

.cmshtml p.tel {
  font-size: 32px;
  font-weight: bold;
  font-style: normal;
  padding-left: 30px;
  background: url(../img/icon-tel.png) no-repeat center left;
  margin-bottom: 2px;
  color: #3AB54A;
  max-width: 284px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.2;
}

.cmshtml p.tel a {
  text-decoration: none;
  color: inherit;
}

.cmshtml img[src*="analytics.global-websystem.net"] {
  display: none;
}

.cmshtml img[src*="spacer.gif"] {
  width: 1px;
  height: 1px;
}

.cmshtml .wc_anctxt,
.cmshtml .wc_anctxt img {
  vertical-align: top;
}

#editView .cmshtml .swiper-container {
  width: auto;
  height: 450px;
  overflow-x: auto;
}

#editView .cmshtml .top-catch__img img {
  display: block;
}

#editView .cmshtml [data-aos^="fade"][data-aos^="fade"] {
  opacity: 1;
  transform: translateZ(0);
}

#editView .cmshtml .top-about__item__text {
  pointer-events: all;
}

#editView .cmshtml .swiper-container {
  width: auto;
  height: 450px;
  overflow-x: auto;
  display: block;
}

#editView .cmshtml .swiper-container > div {
  width: 100%;
}

#editView .cmshtml .swiper-container > div .swiper-slide {
  display: block;
  float: left;
  width: auto;
}

#editView .cmshtml .swiper-container .swiper-wrapper > div {
  display: -webkit-box;
  flex-direction: row;
}

#editView .cmshtml #navi-sub > div,
#editView .cmshtml .title-navi ul > div {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
}

#editView .cmshtml .top-about__list > div {
  display: flex;
  flex-flow: row wrap;
}

#editView .cmshtml .top-catch2__photo > div {
  display: flex;
  justify-content: space-between;
  width: 33%;
}

#editView .cmshtml .top-catch__img img {
  display: block;
}

#editView .cmshtml .banner-box1 ul > div {
  display: flex;
  flex-flow: row wrap;
}

#editView .cmshtml .banner-box2 ul > div {
  display: flex;
  flex-flow: row wrap;
}

#editView .cmshtml .banner-box3 ul > div {
  display: flex;
  flex-flow: row wrap;
}

#editView .cmshtml .i1 .in_wrap > div {
  display: flex;
  flex-flow: row wrap;
}

#editView .cmshtml .i2 .in_wrap > div {
  display: flex;
  flex-flow: row wrap;
}

#editView .cmshtml .i3 .in_wrap > div {
  display: flex;
  flex-flow: row wrap;
}

#editView .cmshtml .i4 .in_wrap > div {
  display: flex;
  flex-flow: row wrap;
}

#editView .cmshtml .i5 .in_wrap > div {
  display: flex;
  flex-flow: row wrap;
}

#editView .cmshtml .just2 > div, #editView .cmshtml .just3 > div, #editView .cmshtml .just4 > div, #editView .cmshtml .just5 > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#editView .cmshtml #footerlink ul div {
  display: flex;
  flex-flow: row wrap;
  width: auto;
}

#editView .cmshtml .list-linkbox ul > div, #editView .cmshtml .propertylist ul > div, #editView .cmshtml #panlist ul > div {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
}

#editView .cmshtml .submenu > div {
  display: flex;
  flex-flow: row wrap;
}

#editView .cmshtml .title-navi ul > div {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}

#editView .cmshtml .noline-hr {
  position: relative;
}

#editView .cmshtml .noline-hr::after {
  display: block;
  text-align: center;
  width: 100%;
  height: 1005;
  border: 1px dashed #ccc;
  content: "空白が入るブロックです";
  position: absolute;
  top: 0;
  color: #ccc;
}

#editView .cmshtml [data-aos^="fade"][data-aos^="fade"] {
  opacity: 1;
  transform: translateZ(0);
}

#editView .cmshtml table {
  width: 80%;
}

#editView .cmshtml table th, #editView .cmshtml table td {
  padding: 16px;
  width: auto;
}

#editView .cmshtml table th {
  background-color: #e9e9e9;
}

#editView .cmshtml .noline-hr {
  position: relative;
}

#editView .cmshtml .noline-hr::after {
  display: block;
  text-align: center;
  width: 100%;
  height: 1005;
  border: 1px dashed #ccc;
  content: "空白が入るブロックです";
  position: absolute;
  top: 0;
  color: #ccc;
}

#editView .cmshtml .j3-li.s2-li {
  width: 334px;
  float: left;
}

#editView .cmshtml .s3-li.j3-li {
  width: 334px;
  float: left;
}

#editView .cmshtml .sp-slide {
  display: block;
  position: relative;
}

#editView .cmshtml [data-aos^="fade"][data-aos^="fade"] {
  opacity: 1;
  transform: translateZ(0);
}

.cmshtml .wcancedit_400216838401 [data-aos^="fade"][data-aos^="fade"] {
  opacity: 1;
  transform: translateZ(0);
}

.cmshtml .wc_addYoutube_span {
  padding: 24px;
}

.cmshtml .wc_addYoutube_span:before {
  content: " ";
  margin: 0 auto;
  display: block;
  width: 250px;
  height: 250px;
  background: url(../img/youtube.png) no-repeat center;
}

.cmshtml .wc_addGoogleMap_span {
  padding: 24px;
}

.cmshtml .wc_addGoogleMap_span:before {
  content: " ";
  margin: 0;
  display: block;
  width: 250px;
  height: 250px;
  background: url(../img/googlemap.png) no-repeat top left;
}

.cmshtml .wc_facebook_span {
  padding: 24px;
}

.cmshtml .wc_facebook_span:before {
  content: " ";
  margin: 0 auto;
  display: block;
  width: 250px;
  height: 250px;
  background: url(../img/facebook.png) no-repeat top left;
}

.cmshtml .tableBlock {
  width: 95%;
}

















































/* ================================
   u01　追記CSS
================================ */

.cmshtml .container{
  width: 1080px;
  margin:0 auto;
}

.cmshtml .greetingwrap .boxwrap1{
  width: 1200px;
  margin:0 auto 60px;
}

@media screen and (max-width: 767px) {
.cmshtml .container, .cmshtml .greetingwrap .boxwrap1{
  width:100%;
  padding:20px 2vw;
}
}

.cmshtml .container span img{
  border-radius:10px;
}

.cmshtml .dl-box1 {
    margin-bottom: 0;
    display: block;
}

.cmshtml .qabox {
    margin-bottom: 0;
    overflow: visible;
}

.cmshtml .stepbox {
    margin-bottom: 0;
    overflow: visible;
}

.cmshtml .to_bt {
    margin-bottom: 0;
    overflow: visible;
}

.cmshtml .to-bt2 {
    margin-bottom: 0;
    overflow: visible;
    text-align: initial;
}

.cmshtml .cmsbody span.rdBreadcrumbArrow{
  margin-left:18px;
}

.cmshtml .hov {
  transition:0.4s;
}
.cmshtml .hov:hover {
  -webkit-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  transform: translateY(-5px);
  box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.3);
}

.cmshtml .autowidth p{
  display:inline-block;
}

.cmshtml .c_back::before{
  left: -40vw;
  width: 100vw;
}

.cmshtml .pagenav ul li:after{
  display:none;
}

.cmshtml .stepbox .left h2:before{
  content: "STEP";
  color:#fff;
  display:block;
  font-size:12px;
  postion:absolute;
  text-align:center;
}


@media screen and (max-width: 800px) {
    .cmshtml #contents, .cmshtml .inner {
        box-sizing: border-box;
    }
}

.cmshtml .cmsbody .dl-box1 {
    padding: 0 !important;
}


/* アンカーポイントの位置調整 */

.cmshtml .rdanchor a {
  padding-top: 100px !important;
  display: block;
  margin-top: -100px;
  pointer-events: none;
}
#editView .cmshtml .rdanchor a {
  padding-top: 0 !important;
  display: inherit;
  margin-top: 0px;
  pointer-events: all;
}

/* スマホ時ブレイクさせない */

@media screen and (max-width: 767px) {
  .cmshtml .cmsbody .spnb {
  flex-flow: row nowrap;
  }
  .cmshtml .cmsbody .spnb table {
  min-width: auto;
  font-size: 70%;
  }
}



/* ================================
   u01表追記CSS
================================ */

.cmsbody table {border-collapse: collapse; }
.cmsbody .rdplanetext figure.table,
.cmsbody .rdplanetext2 figure.table,
.cmsbody .txtarea figure.table {
  width: 100%; }
  .cmsbody .rdplanetext figure.table table,
  .cmsbody .rdplanetext2 figure.table table,
  .cmsbody .txtarea figure.table table {
    border-top: 1px solid #7F7F7F;
    width: 100%; }
    .cmsbody .rdplanetext figure.table table td, .cmsbody .rdplanetext figure.table table th,
    .cmsbody .rdplanetext2 figure.table table td,
    .cmsbody .rdplanetext2 figure.table table th,
    .cmsbody .txtarea figure.table table td,
    .cmsbody .txtarea figure.table table th {
      padding: 1em 0.5em;
      border: none; }
    .cmsbody .rdplanetext figure.table table thead th,
    .cmsbody .rdplanetext2 figure.table table thead th,
    .cmsbody .txtarea figure.table table thead th {
      text-align: inherit; }
    .cmsbody .rdplanetext figure.table table tr th, .cmsbody .rdplanetext figure.table table tr td,
    .cmsbody .rdplanetext2 figure.table table tr th,
    .cmsbody .rdplanetext2 figure.table table tr td,
    .cmsbody .txtarea figure.table table tr th,
    .cmsbody .txtarea figure.table table tr td {
      border-bottom: 1px solid #7F7F7F !important; }
      .cmsbody .rdplanetext figure.table table tr th:first-child, .cmsbody .rdplanetext figure.table table tr td:first-child,
      .cmsbody .rdplanetext2 figure.table table tr th:first-child,
      .cmsbody .rdplanetext2 figure.table table tr td:first-child,
      .cmsbody .txtarea figure.table table tr th:first-child,
      .cmsbody .txtarea figure.table table tr td:first-child {
        border-left: none; }
    .cmsbody .rdplanetext figure.table table th,
    .cmsbody .rdplanetext2 figure.table table th,
    .cmsbody .txtarea figure.table table th {
      width: auto;
      background-color: rgba(215, 216, 230, 0.3); }
    .cmsbody .rdplanetext figure.table table td,
    .cmsbody .rdplanetext2 figure.table table td,
    .cmsbody .txtarea figure.table table td {
      background-color: #fff; }


.cmshtml .cmsbody .rdtableTable th, .cmshtml .cmsbody .rdtableTable td {
  padding: 1.5rem;
}

.cmshtml .cmsbody .rdtableTable thead th {
  border-bottom: none;
}

.cmshtml .cmsbody .rdtableTable {
  border-top: none;
}

.cmshtml .cmsbody .rdtable tbody th {
  border-right-width: 0;
}

.cmshtml .cmsbody .rdtable th {
  font-weight: 700;
  background: #EFF5E1;
}

.cmshtml .cmsbody .rdtable tbody th {
  border-bottom: 1px solid #DDDDDD;
  border-right: 1px solid #fff;
}

.cmshtml .cmsbody .rdtableTable td {
  background: #fff;
}

/* ================================
   u01見出し追記CSS
================================ */

.cmsbody .rdplanetitle,
.cmsbody .section-contact .rdplanetitle {
  position: relative;
  margin:0;
  padding: 0 !important;
}

.cmshtml .cmsbody .rdplanetitle h2,
.cmshtml .cmsbody .rdplanetitle h3,
.cmshtml .cmsbody .rdplanetitle h4,
.cmshtml .cmsbody .rdplanetitle h5,
.cmshtml .cmsbody .rdplanetitle h6{
  margin:0 0 20px;
}

.cmshtml .cmsbody .rdplanetitle h2 {
   font-size: clamp(1.5rem, 2.5vw, 2rem);
   font-weight: 700;
   margin-bottom:40px;
}

.cmshtml .cmsbody .rdplanetitle h2:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -20px;
    width: 50px;
    height: 5px;
    border-radius: 9px;
    background: #007F41;
}
.cmshtml .cmsbody .rdplanetitle h2:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -19px;
    width: 100%;
    height: 1px;
    background: #ccc;
    z-index: -1;
}
.cmshtml .cmsbody .rdplanetitle h3 {
    font-size: clamp(1.4rem, 2.4vw, 1.8rem);
    font-weight:700;
    color: #007F41;
    text-align:center;
}

.cmshtml .cmsbody .rdplanetitle h4 {
    font-size: clamp(1.4rem, 2.4vw, 1.8rem);
    font-weight:700;
    color: #222;
    text-align:center;
}

.cmshtml .cmsbody .rdplanetitle h5 {
  display: block;
  font-size: clamp(1.2rem, 2.2vw, 1.4rem);
  font-weight: 700;
  color: #fff;
  display: block;
  padding: 8px 16px;
}

.cmshtml .cmsbody .rdplanetitle h5::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    height: 100%;
    width: 100%;
    overflow: hidden;
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -ms-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
    background: linear-gradient(to right, #4EB2CA, #50C4B8, #ADCC3F, #F2B425, #EF732E, #CD5377, #B264B0, #7C7BCE);
    z-index: -1;
    border-radius: 5px;
    opacity: 0.7;
}

.cmshtml .cmsbody .rdplanetitle h6 {
    font-size: 1.3rem;
    font-weight: bold;
    position: relative;
    padding-left: 30px;
}

.cmshtml .cmsbody .rdplanetitle h6:before{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    height: 100%;
    width: 6px;
    background: #D7D8E6;
}

.cmshtml .cmsbody .rdplanetitle h6:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 20px;
    width: 6px;
    background: #007F41;
}


/* ================================
   ブログ追記CSS
================================ */

/* アイキャッチ非表示 */
.cmshtml .cmsbody .rdListImageEmpty {
  display: none;
}

/* 記事リスト項目 */
.cmshtml .cmsbody .rdListShort .rdListItem {
  width: 100%;
  padding: 20px;
  margin: 0;
  border: none;
  border-bottom: 1px dotted #ccc;
  box-shadow: none;
  background: #fff;
  display: block;
}

/* タイトル */
.cmshtml .cmsbody .rdarticleTitle h3 {
  font-weight: 700;
  margin: 0;
  padding: 0;
  border: none;
  color: #0e5f5a;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN",
               "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro",
               HGS明朝E, メイリオ, Meiryo, serif;
}

.cmshtml .cmsbody .rdarticleTitleText a {
  display: block;
  text-decoration: none;
  color: #0e5f5a;
  font-weight: 700;
}

.cmshtml .cmsbody .rdarticleTitleText a:hover {
  opacity: 0.8;
}

/* タイトル横の要素配置 */
.cmshtml .cmsbody .rdListShort .rdListItem .rdListTitle {
  display: flex;
  align-items: center;
}

/* 日付 */
.cmshtml .cmsbody .rdpublishDate {
  font-weight: 700;
  margin-right: 20px;
  margin-bottom: 0;
}

/* カテゴリ */
.cmshtml .cmsbody .rdListShort .rdListItem .rdListCategoryItem {
  display: inline-block;
  padding: 4px 10px;
  border: 1px solid #fff;
  background: #bde1ab;
}

.cmshtml .cmsbody .rdListShort .rdListItem .rdListCategoryItem a {
  color: #666;
  font-size: 0.8rem;
  text-decoration: none;
  font-weight: 700;
}

/* タグ */
.cmshtml .cmsbody .rdListShort .rdListItem .ItemrdListTagListItem {
  padding: 0 10px;
  border: 1px solid #76a6ff;
  background: none;
}

.cmshtml .cmsbody .rdListShort .rdListItem .ItemrdListTagListItem a {
  color: #76a6ff;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.8rem;
}

/* ブログ記事簡易一覧表示 */
.cmshtml .cmsbody .top-news__list .rdnewArticle .rdnewArticle-contWrap {
  display: flex;
  align-items: center;
}

.cmshtml .cmsbody .top-news__list .rdnewArticle .rdnewArticle-contWrap .rdnewArticle-ContDate {
  font-weight: 700;
  margin-right: 20px;
  color: #07913b;
}

.cmshtml .cmsbody .top-news__list .rdnewArticle .rdnewArticle-contWrap .rdnewArticle-ContTitle a {
  font-weight: 700;
  text-decoration: none;
}



/* メールフォーム表示 */
.cmshtml .contact_item_input input[type=text],
.cmshtml .contact_item_input input[type=tel],
.cmshtml .contact_item_input input[type=email],
.cmshtml .contact_item_input input[type=date]{
font-size: 16px;
height: 28px;
padding: 3px 6px;
line-height: 1.42857143;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 1px rgba(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;
}

.cmshtml .contact_item_input input[type=radio],
.cmshtml .contact_item_input input[type=checkbox]{
font-size: 16px;
line-height: 1.42857143;
padding:0;
margin-right: 5px;
box-sizing: border-box;
}

.cmshtml .contact_item_input select{
padding: 3px 6px;
line-height: 1.42857143;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 1px rgba(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;
}
.cmshtml .contact_item_input textarea{
height: auto;
width: 90%;
padding: 3px 6px;
line-height: 1.42857143;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 1px rgba(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;
}

.cmshtml .contact_item_input .contact_item_note{
font-size: 0.85em;
}

.cmshtml .contact-item_width_full{
width: 90%;
}

.cmshtml dt.contact_item_title {
    background: rgba(215, 216, 230, 0.3);
    margin-bottom: 20px;
    padding: 15px;
}

.cmshtml .cmsbody .contact_item_table input[type="tel"]{width:auto;}

.cmshtml .contact_item_table button.btn_contacts_post_api{
  margin-left:10px;
}

.cmshtml .cmsbody .contact_item_table .contact_item_input.subtitle{
  padding: 10px;
  margin-top:40px;
    color: #004097;
    text-align: left;
    font-weight: bold;
    font-size: 26px;
    font-size: 1.3rem;
    border-bottom: 1px solid #004097;
}



/* u01Gnavi調整 */

#editView .h_nav__list .dd{
  display:none;
}

#editView.showhideElement .cmshtml h1 {
  display:none;
}

#editView.showhideElement .cmshtml .h_nav__list {
  display:block;
}

#editView.showhideElement .cmshtml .h_nav__list .dd{
  display:block;
  margin-top:10px;
  background:#eee;
}

#editView.showhideElement .cmshtml .h_nav__list .dd > div:first-child{
  display:none;
}

#editView.showhideElement .cmshtml .h_nav__list .iconlink{
  display:none;
}

#editView.showhideElement .cmshtml .h_nav__list .drawer-dropdown-menu {
  display: block;
  position:relative;
  z-index: 1;
}

#editView.showhideElement .cmshtml .drawer-dropdown-menu .inner{
  display: block;
}

#editView.showhideElement .cmshtml .h_nav__item a {
  display:inline;
}

#editView.showhideElement .cmsbody .h_nav__list > div {
  display:block;
}

#editView.showhideElement .cmshtml .h_nav__item {
    text-align: center;
    height: auto;
  padding:20px !important;
}

#editView.showhideElement .cmshtml .drawer-dropdown-menu-item {
  line-height: 1rem;
  padding:10px 0;
  width: 100%;
}

#editView.showhideElement .cmshtml .drawer-dropdown-menu .inner .ddin-list{
  display: flex;
  flex-flow:row wrap;
}

#editView.showhideElement .cmshtml .h_nav__item__9{
  display:none;
}

#editView.showhideElement .cmshtml .h_nav__item__9{
  display:none;
}

#editView.showhideElement .cmshtml .h_subnav_wrap{
  display:none;
}

#editView .cmshtml .fnav{
  width:65%;
}

#editView .cmshtml li {
  zoom: 1;
}
#editView .cmshtml li:after {
  clear: both;
}
#editView .cmshtml .left, #editView .cmshtml .il, #editView .cmshtml .right, #editView .cmshtml .ir {
  float: none;
}
#editView .cmshtml .submenu_li{
  color:#222;
  width:auto;
}
#editView .cmshtml .submenu_li a{
  color:#fff;
}
#editView .cmshtml .to-telinquiry .contact-sec-right {
    max-width: 100%;
  }
#editView .cmshtml .to-telinquiry .contact-sec-left {
    max-width: 100%;
}
#editView .cmshtml .boxwrap1.sub-box-wide.list_wrap .img{
  width: 90%;
}
#editView .cmshtml .boxwrap1.sub-box-wide.suport_wrap .img{
  width: 90%;
}
#editView .cmshtml #topslide {
  width: 100%;
  opacity: 1 !important;
}
#editView .cmshtml #topslide div {
  max-height: unset;
}
#editView .cmshtml #topslide .sp-slides {
  width: 100%;
  height: 560px;
  overflow: auto;
  transform: translate3d(0) !important;
}
#editView .cmshtml #topslide .sp-slides .sp-slide {
  display: block;
  position: relative !important;
  opacity: 1 !important;
  float: left;
  width: 1000px;
}
#editView .cmshtml #topslide .sp-slides .sp-slide img {
  max-width: 100%;
  height: auto;
}
#editView .cmshtml#acp-top .drawer-dropdown {
  position: relative;
}
#editView .cmshtml#acp-top .drawer-dropdown-menu {
  display: block !important;
  width: 240px;
}
#editView .cmshtml .section-info {
  margin-bottom: 20px;
  margin-top: 20px;
  transform: translateY(0);
}
#editView .cmshtml .section-news .wrap-news .w-news {
  background: #F5F5F5;
  margin: 20px -20px 40px;
  padding: 20px;
  display: block;
}
#editView .cmshtml .seek {
  display: block;
}
#editView .cmshtml#acp-top .drawer-dropdown {
  position: relative;
}
#editView .cmshtml#acp-top .drawer-dropdown-menu {
  display: block !important;
  width: 240px;
}
#editView .cmshtml .h-nav__list > div {
  max-width: 100%;
  display: flex;
  justify-content: flex-end;
}
#editView .cmshtml #topslide {
  width: 100%;
  opacity: 1 !important;
}
#editView .cmshtml #topslide .sp-slides {
  width: 100%;
  height: 600px;
  overflow: auto;
  transform: translate3d(0) !important;
}
#editView .cmshtml #topslide .sp-slides .sp-slide {
  display: block;
  width: 1000px;
  position: relative !important;
  opacity: 1 !important;
}
#editView .cmshtml #topslide .sp-slides .sp-slide img {
  max-width: 100%;
  height: auto;
}
#editView .cmshtml #navi-sub > div, #editView .cmshtml #to-form > div, #editView .cmshtml #navi-main ul > div {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
}
#editView .cmshtml .banner-box1 ul > div {
  display: flex;
  flex-flow: row wrap;
}
#editView .cmshtml .banner-box2 ul > div {
  display: flex;
  flex-flow: row wrap;
}
#editView .cmshtml .banner-box3 ul > div {
  display: flex;
  flex-flow: row wrap;
}
#editView .cmshtml .i1 .in_wrap > div {
  display: flex;
  flex-flow: row wrap;
}
#editView .cmshtml .i2 .in_wrap > div {
  display: flex;
  flex-flow: row wrap;
}
#editView .cmshtml .i3 .in_wrap > div {
  display: flex;
  flex-flow: row wrap;
}
#editView .cmshtml .i3 .i3div {
  width: 100%;
}

#editView .cmshtml .i4 .in_wrap > div {
  display: flex;
  flex-flow: row wrap;
}
#editView .cmshtml .i5 .in_wrap > div {
  display: flex;
  flex-flow: row wrap;
}
#editView .cmshtml .just2 > div, #editView .cmshtml .just3 > div, #editView .cmshtml .just4 > div, #editView .cmshtml .just5 > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#editView .cmshtml .f-list .right .f_times .topnews__itembox > div, #editView .cmshtml .f-list .ir .f_times .topnews__itembox > div {
  display: flex;
  width: 100%;
  justify-content: space-between;
}
#editView .cmshtml #footerlink ul div {
  display: flex;
  flex-flow: row wrap;
  width: auto;
}
#editView .cmshtml .list-linkbox ul > div, #editView .cmshtml .propertylist ul > div, #editView .cmshtml #panlist ul > div {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
}
#editView .cmshtml .submenu > div,
#editView .cmshtml .freemenu > div,
#editView .cmshtml .contmenu > div {
  display: flex;
  display: -ms-flexbox;
  -ms-flex-wrap: wrap;
  flex-flow: row wrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
#editView .cmshtml .freemenu > div {
  justify-content: flex-start;
}
#editView .cmshtml .noline_hr {
  position: relative;
}
#editView .cmshtml .noline_hr::after {
  display: block;
  text-align: center;
  width: 100%;
  height: 1005;
  border: 1px dashed #ccc;
  content: "空白が入るブロックです";
  position: absolute;
  top: 0;
  color: #ccc;
}
#editView .cmshtml .beforeafter_wrap .in_wrap > div {
  display: block;
}
#editView .cmshtml .section-info {
  margin-bottom: 0;
}
#editView .cmshtml .section-news .wrap-news .w-news {
  background: #F5F5F5;
  margin: 20px -20px 40px;
  padding: 20px;
  display: block;
}
#editView .cmshtml .section-news .wrap-news .w-news .cap-s.cs-3 h4 {
  background: #F5F5F5;
}
#editView .cmshtml .seek {
  display: block;
}
#editView .cmshtml table {
  width: 80%;
}
#editView .cmshtml table th, #editView .cmshtml table td {
  padding: 16px;
  width: auto;
}
#editView .cmshtml table th {
  background-color: #e9e9e9;
}
#editView .cmshtml .noline_hr {
  position: relative;
}
#editView .cmshtml .noline_hr::after {
  display: block;
  text-align: center;
  width: 100%;
  height: 1005;
  border: 1px dashed #ccc;
  content: "空白が入るブロックです";
  position: absolute;
  top: 0;
  color: #ccc;
}
#editView .cmshtml .j3-li.s2-li {
  width: 334px;
  float: left;
}
#editView .cmshtml .s3-li.j3-li {
  width: 334px;
  float: left;
}
#editView .cmshtml .sp-slide {
  display: block;
  position: relative;
}
#editView .cmshtml .i2div, #editView .cmshtml .i3div, #editView .cmshtml .i4div, #editView .cmshtml .i5div {
  overflow: hidden;
}

#editView .cmshtml .i2 .i2div {
    width: 100%;
}


#editView .cmshtml .about_flow_li {
  padding-left: 120px;
  position: static;
  display: flex;
}

#editView.showhideElement .cmshtml .h-nav__dropdown{
  display: block;
  position: relative;
}
#editView.showhideElement .cmshtml .h-nav__dropdown__item{
  width:100%;
}
#editView.showhideElement .cmshtml .h-nav__list{
  display:block;
}
#editView.showhideElement .cmshtml .h-nav__dropdown .inner{
  width:100%;
}
#editView .cmshtml #l_footer .inner{
  width:100%;
}


/* ▼ タイトルナビ関連 */

#editView .cmshtml .title-navi li{
  width: 100%;
}

#editView .cmshtml .title-navi > div {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}

/* ▼ トップスライド関連 */
#editView .cmshtml .top-slide .sp-slide::after{
  background:none;
  position: relative;
}

/* ▼ トップニュース関連 */
#editView .cmshtml .cmsbody .top-news__list{
  padding:20px !important;
}

/* ▼ 下層ページ関連 */

#editView .cmshtml .sub-box-wide .img img{
  max-width: 400px;
}

#editView .cmshtml div{
  max-height: none;
}

#editView .cmshtml .submenu{
  display:flex;
  flex-flow:row wrap;
}


#editView .cmshtml .sub-box-wide .txt-area{
  width: 100%;
}

#editView .cmshtml .stepbox .step-wrap{
  display:flex;
  flex-flow:nowrap;
}

#editView .cmshtml .stepbox .step-wrap .left h2{
  color: #fff;
  background:#007F41;
  padding: 20px;
  width: 95px;
  text-align: center;
  border-radius: 50px;
  margin-right: 20px;
}

#editView .cmshtml .stepbox .step-wrap .right h3{
  color:#007F41;
  padding: 0 0 10px;
}

#editView .cmshtml .top-catch__main {
    margin-left: 0;
}

#editView .cmshtml .top-catch__left {
  width: auto;
}

#editView .cmshtml .top-catch__right {
  width: auto;
}

#editView .cmshtml .reasonbox div.num {
  position: relative;
}

#editView .cmshtml .to-bt2 {
    text-align: inherit;
}
#editView .cmshtml .bef_af .before, #editView .cmshtml .bef_af .after {
    width: 100%;
}
#editView .cmshtml .top-catch2__photo__item {
    width: 100%;
}
#editView .cmshtml .f-contact__links__item {
    width: 100%;
    padding: 30px 80px 30px 30px;
}