.cmshtml {
  /* reset */
  /* basic */
  /* for site */
}

.cmshtml a,
.cmshtml abbr,
.cmshtml acronym,
.cmshtml address,
.cmshtml applet,
.cmshtml article,
.cmshtml aside,
.cmshtml audio,
.cmshtml b,
.cmshtml big,
.cmshtml blockquote,
.cmshtml canvas,
.cmshtml caption,
.cmshtml center,
.cmshtml cite,
.cmshtml code,
.cmshtml dd,
.cmshtml del,
.cmshtml details,
.cmshtml dfn,
.cmshtml div,
.cmshtml dl,
.cmshtml dt,
.cmshtml em,
.cmshtml embed,
.cmshtml fieldset,
.cmshtml figcaption,
.cmshtml figure,
.cmshtml footer,
.cmshtml form,
.cmshtml h1,
.cmshtml h2,
.cmshtml h3,
.cmshtml h4,
.cmshtml h5,
.cmshtml h6,
.cmshtml header,
.cmshtml hgroup,
.cmshtml html,
.cmshtml i,
.cmshtml iframe,
.cmshtml img,
.cmshtml ins,
.cmshtml kbd,
.cmshtml label,
.cmshtml legend,
.cmshtml li,
.cmshtml mark,
.cmshtml menu,
.cmshtml nav,
.cmshtml object,
.cmshtml ol,
.cmshtml output,
.cmshtml p,
.cmshtml pre,
.cmshtml q,
.cmshtml ruby,
.cmshtml s,
.cmshtml samp,
.cmshtml section,
.cmshtml small,
.cmshtml span,
.cmshtml strike,
.cmshtml strong,
.cmshtml sub,
.cmshtml summary,
.cmshtml sup,
.cmshtml table,
.cmshtml tbody,
.cmshtml td,
.cmshtml tfoot,
.cmshtml th,
.cmshtml thead,
.cmshtml time,
.cmshtml tr,
.cmshtml tt,
.cmshtml u,
.cmshtml ul,
.cmshtml var,
.cmshtml video,
.cmshtml .cmsbody {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  list-style: none;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.cmshtml strong {
  font-weight: 700;
}

.cmshtml img {
  vertical-align: bottom;
}

.cmshtml article,
.cmshtml aside,
.cmshtml details,
.cmshtml figcaption,
.cmshtml figure,
.cmshtml footer,
.cmshtml header,
.cmshtml hgroup,
.cmshtml menu,
.cmshtml nav,
.cmshtml section {
  display: block;
}

.cmshtml .cmsbody {
  line-height: 1;
}

.cmshtml ol,
.cmshtml ul {
  list-style: none;
}

.cmshtml blockquote,
.cmshtml q {
  quotes: none;
}

.cmshtml blockquote:after,
.cmshtml blockquote:before,
.cmshtml q:after,
.cmshtml q:before {
  content: '';
  content: none;
}

.cmshtml table {
  border-collapse: collapse;
  border-spacing: 0;
}

.cmshtml .cmsbody {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 16px;
  line-height: 1.5;
    background: #fff;

  word-break: break-all;
}

.cmshtml a {
  text-decoration: none;
  display: inline-block;
  position: relative;
  color: #0b66ce;
  -webkit-transition: 0.25s color;
  transition: 0.25s color;
}

.cmshtml a:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 0;
  background: #439bff;
  -webkit-transition: 0.25s width;
  transition: 0.25s width;
}

.cmshtml a:hover {
  color: #439bff;
}

.cmshtml a:hover:after {
  width: 100%;
}

.cmshtml .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.cmshtml .flexJustify {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.cmshtml .inner {
  max-width: 1200px;
  margin: auto;
  padding: 0 20px;
}

.cmshtml .pict img {
  max-width: 100%;
  height: auto;
}

.cmshtml #globalheader {
  border-top: 4px solid #2747af;
  padding-top: 0.5rem;
}

.cmshtml #globalheader h1 {
  position: absolute;
  font-size: 0.75rem;
  right: 0.5rem;
  top: 0.5rem;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml #globalheader h1 {
    position: static;
    text-align: right;
    margin-right: 50px;
  }
}

.cmshtml #globalheader #logo a:after {
  content: none;
}

.cmshtml #globalheader #logo img {
  width: 300px;
  height: auto;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml #globalheader #logo img {
    width: 200px;
  }
}

.cmshtml #globalheader #navigation {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  min-height: 75px;
}

.cmshtml #globalheader #navigation #mainnav {
  margin-left: auto;
}

.cmshtml #globalheader #navigation #mainnav ul {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml #globalheader #navigation #mainnav {
    position: fixed;
    right: -250px;
    -webkit-transition: 0.4s right;
    transition: 0.4s right;
    top: 0;
    width: 250px;
    height: 100%;
    background: #fff;
    z-index: 100;
  }
  .cmshtml #globalheader #navigation #mainnav.open {
    right: 0;
  }
  .cmshtml #globalheader #navigation #mainnav #mainnavInner {
    overflow: auto;
  }
}

.cmshtml #globalheader #navigation #mainnav li {
  font-weight: 700;
  margin-right: 40px;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml #globalheader #navigation #mainnav li {
    margin-right: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    border-bottom: 1px solid #aaa;
  }
  .cmshtml #globalheader #navigation #mainnav li a {
    display: block;
    padding: 12px 24px;
  }
}

.cmshtml #globalheader #navigation #mainnavBtn {
  display: none;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml #globalheader #navigation #mainnavBtn {
    display: block;
  }
  .cmshtml #globalheader #navigation #mainnavBtn a {
    position: absolute;
    top: 20px;
    left: -40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 40px;
    height: 40px;
    padding: 12px;
    border: 1px solid #bbb;
    border-right: none;
    background: #fff;
  }
  .cmshtml #globalheader #navigation #mainnavBtn a span {
    display: block;
    height: 1px;
    background: #444;
  }
}

.cmshtml #contents {
  background: #f6f6fa;
}

.cmshtml .sectionPickup {
  padding: 40px 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(70% - 20px);
          flex: 0 0 calc(70% - 20px);
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml .sectionPickup {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}

.cmshtml .sectionPickup .title h3 {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.8rem;
  color: #3b69b3;
  margin-bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml .sectionPickup .title h3 {
    font-size: 1.4rem;
    letter-spacing: 0.25rem;
  }
}

.cmshtml .sectionPickup .title h3:before {
  content: '';
  display: block;
  width: 6px;
  margin: -4px 20px -4px 0;
  background: #3b69b3;
}

.cmshtml .sectionPickup .module {
  margin-bottom: 40px;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml .sectionPickup .module {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}

.cmshtml .sectionPickup .module .moduleInner {
  height: 100%;
  background: #fff;
  -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.cmshtml .sectionPickup .module .pict {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 40%;
          flex: 0 0 40%;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml .sectionPickup .module .pict {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}

.cmshtml .sectionPickup .module .text {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 60%;
          flex: 0 0 60%;
  padding: 20px;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml .sectionPickup .module .text {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}

.cmshtml .sectionPickup .module .title {
  margin-bottom: 10px;
  font-weight: 700;
  font-size: 1.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.cmshtml .sectionPickup .module .title::before {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  content: '';
  display: block;
  border: 4px solid #fd8802;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  margin-right: 10px;
  margin-top: -2px;
}

.cmshtml .sectionNews {
  padding: 40px 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(30% - 20px);
          flex: 0 0 calc(30% - 20px);
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml .sectionNews {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}

.cmshtml .sectionNews .title h3 {
  font-weight: 700;
  font-size: 1.2rem;
  color: #3f51b5;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #cecece;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml .sectionNews .inner {
    padding: 0 20px;
  }
}

.cmshtml .sectionNews .moduleNews {
  margin-bottom: 60px;
}

.cmshtml .sectionNews .itemNews {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px dashed #999;
}

.cmshtml .sectionNews .itemNews:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.cmshtml .sectionNews .itemNews dt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 200px;
          flex: 0 0 200px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml .sectionNews .itemNews dt {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
}

.cmshtml .sectionNews .itemNews dd {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

.cmshtml .sectionNews .moduleTime {
  margin-bottom: 60px;
}

.cmshtml .sectionNews .moduleTime .itemTime dt {
  font-weight: 700;
}

.cmshtml .sectionNews .moduleTime .itemTime + .itemTime {
  margin-top: 10px;
}

.cmshtml .sectionNews .moduleAddress {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: 12px;
  background: #fff;
  border-left: 6px solid #7290c3;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml .sectionNews .moduleAddress {
    margin-top: 30px;
  }
}

.cmshtml .sectionNews .moduleAddress .itemName {
  font-weight: 700;
  line-height: 1;
  margin-bottom: 10px;
}

.cmshtml #globalfooter {
  background: #384e72;
  color: #fff;
  padding-top: 30px;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml #globalfooter .inner {
    padding: 0 20px;
  }
}

.cmshtml #globalfooter .footerlink {
  text-align: center;
}

.cmshtml #globalfooter .footerlink li {
  display: inline;
  margin: 0 20px;
}

.cmshtml #globalfooter .footerlink a {
  color: #fff;
}

.cmshtml #globalfooter .footerlink a:after {
  background: rgba(255, 255, 255, 0.6);
}
.cmshtml #globalfooter .footerlink p {
  display: inline;
}
.cmshtml #copy {
  text-align: center;
  font-size: 0.85rem;
  padding: 20px 0;
  color: rgba(255, 255, 255, 0.6);
}

.cmshtml .moduleAbout .itemAbout {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  margin-bottom: -1px;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml .moduleAbout .itemAbout {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.cmshtml .moduleAbout .titleAbout,
.cmshtml .moduleAbout .contentAbout {
  padding: 12px;
}

.cmshtml .moduleAbout .titleAbout {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 30%;
          flex: 0 0 30%;
  background: #eee;
  font-weight: 700;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml .moduleAbout .titleAbout {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
}

.cmshtml .moduleAbout .contentAbout {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

.cmshtml #pagetitle {
  padding: 50px 20px 50px;
  color: #fff;
  background: linear-gradient(115deg, #234e9c, #8fa7ff);
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml #pagetitle {
    padding: 30px 20px 30px;
  }
}

.cmshtml #pagetitle h2 {
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 1rem;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml #pagetitle h2 {
    font-size: 1.75rem;
    letter-spacing: 0.5rem;
  }
}

.cmshtml #pagetitle h3 {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.5);
}

.cmshtml .moduleIframe {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 50%;
}

@media (min-width: 1px) and (max-width: 576px) {
  .cmshtml .moduleIframe {
    padding-top: 100%;
  }
}

.cmshtml .moduleIframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.cmshtml .sectionPath {
  background: #eee;
  font-size: 0.85rem;
  padding: 10px 0;
}

.cmshtml .sectionPath li {
  display: inline-block;
}


.cmshtml .dummy {
  display: none;
}



/* for fix */
.cmshtml #globalfooter .footerlink  .rdareaItem,
.cmshtml #globalfooter .footerlink  .rdareaContents,
.cmshtml #globalfooter .footerlink  .rdareaWrapper {
    display: inline-block;
}

.cmshtml #globalfooter .footerlink li div {
    display: inline;
}

.cmshtml .cmsbody > img {
    position: absolute;
    right: 0;
    top: 0;
}

/* foredit */
#editView .cmshtml .sp-slide {
    position: static;
}

#editView .cmshtml .slider-pro {
    height: 500px;
    overflow: auto;
}

#editView .cmshtml .spimage {
    width: 100%;
    height: auto;
}
#editView .sectionPickup  .moduleInner > .rdareaItem {
    flex: 0 0 60%;
}
#editView .sectionPickup  .moduleInner > .rdareaItem[data-blocks*="画像"] {
    flex: 0 0 40%;
}
#editView .cmshtml #globalheader h1 {
    top: 1.75rem;
}

#editView .cmshtml .moduleAbout .titleAbout {
    width: 200px;
}

#editView .cmshtml .moduleIframe > div.rdappended,
#editView .cmshtml .moduleIframe > div.rdappended > edit {
    position: static;
}