@charset "UTF-8";
.cmshtml {
  /* ===================================================================
   CONTENTS
=================================================================== */
  /* トップページ */
  /** motion  ---------------------------------------**/
  /*------------------------------------------------------
subpage
------------------------------------------------------*/
}

.cmshtml .slideArea {
  position: relative;
  height: 100vh;
}

.cmshtml .slideArea .catch {
  font-size: 32px;
  position: absolute;
  top: 45%;
  left: 14%;
  z-index: 2;
  color: #FFF;
  text-shadow: 1px 2px 3px #000000;
  background-color: rgba(55, 166, 94, 0.6);
  padding-left: 20px;
}

.cmshtml #slider {
  overflow: visible;
  position: relative;
}

.cmshtml #slider img {
  height: 100vh;
  width: 100%;
  object-fit: cover;
}

.cmshtml #slider .sp-arrows {
  left: 0;
  margin-top: 0;
  top: 0;
  width: 100%;
}

@media screen and (max-width: 1100px) {
  .cmshtml .slideArea {
    position: relative;
    margin: 58px 0 40px 0;
    height: auto;
  }
  .cmshtml .slideArea .catch {
    font-size: 20px;
    position: absolute;
    top: 30%;
    left: 6%;
    z-index: 2;
    width: 85%;
    padding: 10px;
  }
  .cmshtml #slider img {
    height: 500px;
    width: 100%;
    object-fit: cover;
  }
  .cmshtml #slider {
    padding-top: 0px;
  }
  .cmshtml #slider .sp-arrows {
    top: 45%;
  }
}

.cmshtml #slider .sp-arrow {
  height: 50px;
  transition: all 0.2s ease 0s;
  width: 50%;
}

.cmshtml #slider .sp-arrow:hover {
  opacity: 0.6;
}

.cmshtml #slider .sp-arrow::before {
  background: rgba(0, 0, 0, 0) url(../img/slider_prev.png) no-repeat scroll 0 center;
  height: 100%;
  left: 100%;
  top: 0;
  transform: none;
  width: 49px;
}

.cmshtml #slider .sp-arrow::after {
  display: none;
}

.cmshtml #slider a {
  transition: all 0.2s ease 0s !important;
}

.cmshtml #slider .sp-previous-arrow {
  left: -425px;
  top: 200px;
}

.cmshtml #slider .sp-next-arrow {
  right: -425px;
  top: 200px;
}

@media screen and (max-width: 1100px) {
  .cmshtml #slide .sp-mask {
    min-height: 200px !important;
  }
  .cmshtml .sp-slide img {
    width: 100%;
    height: auto;
  }
  .cmshtml #slider .sp-next-arrow:before,
.cmshtml #slider .sp-previous-arrow:before {
    background-size: 60%;
  }
  .cmshtml #slider .sp-next-arrow {
    right: -45%;
    top: 0;
  }
  .cmshtml #slider .sp-previous-arrow {
    left: -45%;
    top: 0;
  }
}

.cmshtml .top_emerArea {
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
}

.cmshtml .top_emer {
  background-color: #37a65e;
  color: #FFF;
  text-align: center;
  padding: 22px 1em 22px 15%;
  z-index: 10;
  position: relative;
  width: 100%;
}

@media screen and (max-width: 1100px) {
  .cmshtml .top_emer {
    padding: 12px 1em 12px 1em;
    letter-spacing: 0;
    width: 100%;
    font-size: 12px;
  }
}

.cmshtml .top_news_titleArea {
  position: relative;
  height: 0;
}

.cmshtml .top_news_title {
  background-color: #37a65e;
  position: absolute;
  top: -70px;
  color: #FFF;
  text-align: center;
  padding: 100px 30px;
  width: 20%;
  max-width: 380px;
  position: relative;
  z-index: 9;
  display: inline-block;
  font-weight: bold;
}

.cmshtml .top_news {
  padding: 45px 0 0 260px;
  margin-bottom: 110px;
}

.cmshtml .top_news li {
  padding: 25px 0;
  border-bottom: 1px solid #cacaca;
}

.cmshtml .top_news li a {
  color: #313131;
  text-decoration: none;
}

.cmshtml .tn_day {
  width: 20%;
}

.cmshtml .tn_txt {
  width: 78%;
}

@media screen and (max-width: 1100px) {
  .cmshtml .top_news_titleArea {
    position: relative;
    height: inherit;
    margin: -60px 0 0 0;
  }
  .cmshtml .top_news_title {
    background-color: #37a65e;
    position: relative;
    top: inherit;
    color: #FFF;
    text-align: center;
    padding: 30px 10px;
    width: 80%;
    max-width: 90%;
    position: relative;
    z-index: 9;
    display: inline-block;
    font-weight: bold;
  }
  .cmshtml .top_news {
    padding: 0 0 0 0;
    margin-bottom: 50px;
  }
  .cmshtml .top_news li {
    padding: 20px 0;
  }
  .cmshtml .tn_day {
    width: 100%;
  }
  .cmshtml .tn_txt {
    width: 100%;
  }
}

.cmshtml .top_about {
  margin: 0 auto 90px;
}

.cmshtml .top_about_left {
  padding: 0 8%;
  width: 63%;
}

.cmshtml .top_about_right {
  width: 32%;
  margin-right: auto;
  margin-left: 0px;
}

.cmshtml .top_about_en {
  color: #37a65e;
  font-weight: bold;
  font-size: 36px;
  margin-bottom: 40px;
}

@media screen and (max-width: 1100px) {
  .cmshtml .top_about {
    margin: 0 auto 40px;
  }
  .cmshtml .top_about_left {
    padding: 0 3%;
    width: 100%;
    margin-bottom: 25px;
    order: 1;
  }
  .cmshtml .top_about_right {
    width: 100%;
    order: 2;
  }
}

.cmshtml .title_en {
  color: #37a65e;
  font-size: 36px;
  font-weight: bold;
}

@media screen and (max-width: 1100px) {
  .cmshtml .title_en {
    color: #37a65e;
    font-size: 24px;
  }
}

.cmshtml .top_product {
  margin: 0 auto 100px;
}

.cmshtml .tp {
  width: 25%;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cmshtml .tp3x {
  width: 33.33%;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cmshtml .tp3x img, .cmshtml .tp02 img {
  transition: .5s all;
}

.cmshtml .tp3x img:hover, .cmshtml .tp02 img:hover {
  transform: scale(1.2, 1.2);
  transition: .5s all;
}

.cmshtml .tp02 {
  width: calc(100% / 3);
}

.cmshtml .tp img, .cmshtml .tp02 img {
  transition: .5s all;
}

.cmshtml .tp img:hover, .cmshtml .tp02 img:hover {
  transform: scale(1.2, 1.2);
  transition: .5s all;
}

.cmshtml .tp_txt {
  color: #FFF;
  position: absolute;
  margin: auto;
  pointer-events: none;
  font-size: 24px;
}

@media screen and (max-width: 1100px) {
  .cmshtml .top_product {
    margin: 0 auto 50px;
  }
  .cmshtml .tp, .cmshtml .tp02 {
    width: 50%;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .cmshtml .tp_txt {
    font-size: 20px;
  }
}

.cmshtml .top_company {
  margin: 0 auto 80px;
}

.cmshtml .top_company img {
  border-radius: 5px;
}

.cmshtml .tc {
  width: 27%;
  margin: 0 1.8%;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cmshtml .tc img {
  transition: .5s all;
}

.cmshtml .tc img:hover {
  border-radius: 5px !important;
  transform: scale(1.2, 1.2);
  transition: .5s all;
}

@media screen and (max-width: 1100px) {
  .cmshtml .tc {
    width: 80%;
    margin: 0 5% 15px;
  }
  .cmshtml .tp3x {
    width: 100%;
  }
}

.cmshtml .tc_txt {
  color: #FFF;
  position: absolute;
  margin: auto;
  pointer-events: none;
  font-size: 20px;
}

.cmshtml .top_under {
  margin: 0 auto 55px;
}

.cmshtml .tu {
  width: 50%;
  margin: 0;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cmshtml .tu img {
  transition: .5s all;
  width: 100vw;
  height: 100%;
  object-fit: cover;
}

.cmshtml .tu img:hover {
  transform: scale(1.2, 1.2);
  transition: .5s all;
}

.cmshtml .tu_txt {
  color: #FFF;
  position: absolute;
  margin: auto;
  pointer-events: none;
  font-size: 24px;
}

@media screen and (max-width: 1100px) {
  .cmshtml .top_under {
    margin: 0 auto 40px;
  }
  .cmshtml .tu {
    width: 100%;
    margin: 0 0 15px;
  }
}

.cmshtml .bt001 a {
  background-color: #0754ab;
  border-radius: 5px;
  display: inline-block;
  padding: 15px 3em;
  color: #FFF !important;
  text-decoration: none !important;
}

.cmshtml .bt001 a:hover {
  background-color: #00a0e9;
}

.cmshtml .fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cmshtml .fadeUpTrigger {
  opacity: 0;
}

.cmshtml .fadeLeft {
  animation-name: fadeLeftAnime;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.cmshtml .fadeLeftTrigger {
  opacity: 0;
}

.cmshtml .fadeRight {
  animation-name: fadeRightAnime;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@media screen and (max-width: 1100px) {
  .cmshtml .fadeRight {
    animation-name: fadeRightAnime02;
  }
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(0);
  }
  to {
    opacity: 1;
    transform: translateX(100px);
  }
}

.cmshtml .fadeRightTrigger {
  opacity: 0;
}

@keyframes fadeRightAnime02 {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.cmshtml .subpage_header {
  border-bottom: 1px solid #ededed;
}

.cmshtml #title_wrap {
  border-bottom: 1px solid #ededed;
  background: url("../img/title_bg.jpg") top center no-repeat;
  background-size: cover;
  margin-top: 110px;
}

@media screen and (max-width: 1100px) {
  .cmshtml #title_wrap {
    margin-top: 65px;
  }
}

.cmshtml .page_title {
  padding: 50px 0 !important;
  z-index: 2;
  position: relative;
  width: 100%;
  margin: 0 auto;
  font-size: 36px;
  color: #FFF;
  line-height: 1;
  height: 100%;
  background-color: rgba(18, 116, 7, 0.69);
  display: flex;
  justify-content: center;
  align-items: center;
}

.cmshtml .subpage_contents {
  padding: 0 2% 80px;
}

.cmshtml .subpage_contents > * {
  max-width: 1100px;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 40px;
  width: 100%;
  position: relative;
  z-index: 1;
}

.cmshtml .subpage_contents > *:first-child {
  margin-top: 60px !important;
}

.cmshtml .subpage_contents > *:first-child > * {
  margin-top: 0 !important;
}

.cmshtml .mini_module {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.cmshtml .subpage_contents .page_link {
  position: relative;
  z-index: 2;
  justify-content: center;
  padding: 20px 2%;
  margin: 0 auto;
  max-width: none !important;
  margin-bottom: 60px !important;
  margin-top: 0 !important;
}

.cmshtml .page_link > *:not(:last-child) {
  margin-right: 20px;
}

.cmshtml .p_link, .cmshtml .page_link .p_link a {
  color: #333;
  font-size: 14px;
}

.cmshtml .p_link {
  margin-bottom: 15px;
}

.cmshtml .page_link .p_link a {
  padding-left: 20px;
  position: relative;
  text-decoration: none;
  display: inline-block;
}

.cmshtml .page_link .p_link a:hover {
  text-decoration: underline;
}

.cmshtml .page_link .p_link a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.cmshtml .page_link .p_link a:after {
  left: 4px;
  width: 3px;
  height: 3px;
  border-top: 1px solid #37a65e;
  border-right: 1px solid #37a65e;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.cmshtml .page_link .p_link a:hover:after {
  border-top: 1px solid #37a65e;
  border-right: 1px solid #37a65e;
}

.cmshtml .subpage_contents h2, .cmshtml .subpage_contents h3, .cmshtml .subpage_contents h4, .cmshtml .subpage_contents h5, .cmshtml .subpage_contents h6 {
  display: block;
  position: relative;
  font-weight: 500;
}

.cmshtml .subpage_contents h2 {
  font-size: 32px !important;
  color: #37a65e;
  font-weight: 600 !important;
  letter-spacing: 0.5rem;
  padding: 25px 0 22px;
  border-top: 1px solid #37a65e;
  border-bottom: 3px solid #37a65e;
}

.cmshtml .subpage_contents h3 {
  font-size: 24px !important;
  color: #37a65e;
  font-weight: 600 !important;
  padding-bottom: 25px;
  position: relative;
  border-bottom: 1px solid #37a65e;
}

.cmshtml .subpage_contents h3:after {
  content: "";
  display: block;
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 0;
  margin: auto;
  background-color: #37a65e;
  width: 30px;
  border-radius: 5px;
}

.cmshtml .blog_frame .subpage_contents h3:after {
  display: none;
  content: "none";
}

.cmshtml .subpage_contents h4 {
  font-size: 24px !important;
  text-align: center;
  color: #37a65e;
  font-weight: 600 !important;
  padding-top: 20px;
  margin: 0 auto 60px;
}

.cmshtml .subpage_contents h4:after {
  content: "";
  display: block;
  height: 4px;
  position: absolute;
  bottom: -20px;
  left: 0;
  right: 0;
  margin: auto;
  background-color: #37a65e;
  width: 30px;
  border-radius: 5px;
}

.cmshtml .subpage_contents h5 {
  font-size: 20px !important;
  border-left: 4px solid #37a65e;
  border-bottom: 1px solid #ccc;
  padding: 7px 10px;
  padding-left: 12px;
  font-weight: 600 !important;
  color: #37a65e;
  line-height: 1;
}

.cmshtml .subpage_contents h6 {
  font-size: 20px !important;
  padding: 8px 20px;
  background: #37a65e;
  font-weight: 600 !important;
  color: #fff;
  border-radius: 6px;
}

.cmshtml .subpage_contents h6 a {
  color: #fff;
}

@media screen and (max-width: 680px) {
  .cmshtml .subpage_contents h2 {
    font-size: 22px !important;
    padding: 12px 0;
  }
  .cmshtml .subpage_contents h3 {
    font-size: 18px !important;
    padding-bottom: 10px;
  }
  .cmshtml .subpage_contents h3:after, .cmshtml .subpage_contents h4:before {
    height: 2px;
  }
  .cmshtml .subpage_contents h4 {
    font-size: 18px !important;
    padding-top: 10px;
  }
  .cmshtml .subpage_contents h5 {
    font-size: 16px !important;
  }
  .cmshtml .subpage_contents h6 {
    font-size: 16px !important;
    line-height: 1;
    padding: 8px 16px;
  }
}

.cmshtml .qa_q {
  position: relative;
  margin-bottom: 15px;
  padding-left: 30px !important;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.4;
}

.cmshtml .qa_a {
  position: relative;
  padding-left: 30px !important;
  font-size: 18px;
  line-height: 1.4;
  padding-bottom: 20px;
  border-bottom: 1px solid #ededed;
}

.cmshtml .qa_q:before {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  line-height: 1;
  font-weight: 500;
  font-size: 20px;
  color: #fff;
  content: "Q";
  display: flex;
  align-items: center;
  height: 50px;
  width: 50px;
  padding: 10px;
  background: #1c9881;
  border-radius: 50%;
  justify-content: center;
  z-index: 2;
  bottom: 0;
}

.cmshtml .qa_q > div {
  padding: 20px;
  max-width: calc(100% - 50px);
  margin-left: auto;
  position: relative;
}

.cmshtml .qa_a:before {
  position: absolute;
  top: 10px;
  left: 0;
  margin: auto;
  line-height: 1;
  font-weight: 500;
  font-size: 20px;
  color: #fff;
  content: "A";
  display: flex;
  align-items: center;
  height: 50px;
  width: 50px;
  padding: 10px;
  background: #533309;
  border-radius: 50%;
  justify-content: center;
}

.cmshtml .qa_a > div {
  padding: 20px;
  border: 1px solid #ededed;
  max-width: calc(100% - 50px);
  margin-left: auto;
  position: relative;
  background: #fff;
}

.cmshtml .qa_a > div:before {
  content: "";
  width: 10px;
  height: 10px;
  background: #fff;
  border-left: 1px solid #ededed;
  border-top: 1px solid #ededed;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -6px;
  z-index: 2;
  transform: rotateZ(-45deg);
}

.cmshtml .bt_line {
  justify-content: flex-start;
  flex-flow: nowrap;
}

.cmshtml .bt_line > div {
  padding: 20px;
}

.cmshtml .bt_line > div:first-child {
  border-bottom: 2px solid #10253f !important;
  padding-right: 20px;
  width: 30%;
}

.cmshtml .bt_line > div:nth-child(2) {
  border-bottom: 1px solid #ededed !important;
  width: 70%;
}

.cmshtml .blog_frame {
  background: #f9f9f9;
  padding: 30px 0;
}

.cmshtml .module_blogwrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1100px;
  margin: auto;
  padding: 20px;
  background: #fff;
}

.cmshtml #contents .module_blog {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding-right: 20px;
  margin: 0 !important;
}

.cmshtml .module_side {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  background: #f4f5f7;
  padding: 20px;
}

.cmshtml .module_blog {
  width: 73%;
}

.cmshtml .module_side {
  width: 25%;
}

@media screen and (max-width: 1100px) {
  .cmshtml .module_blog {
    width: 100%;
    margin: 0 auto 30px;
  }
  .cmshtml .module_side {
    width: 100%;
    margin: 0 auto;
  }
}

.cmshtml .ico_title {
  align-items: center;
  padding-bottom: 10px;
  border-bottom: 2px solid #aaa;
  margin-top: 30px;
  flex-flow: nowrap;
}

.cmshtml .ico_title02 {
  border-bottom: none;
}

.cmshtml .ico_title > div:first-child {
  max-width: 80px;
  min-width: 80px;
  text-align: right;
}

.cmshtml .tit_txt {
  font-size: 24px;
  padding-left: 20px;
  font-weight: 600;
  color: #999;
}

@media screen and (max-width: 1100px) {
  .cmshtml .ico_title .tit_txt {
    font-size: 18px;
  }
  .cmshtml .sec_rec {
    padding-bottom: 0;
  }
  .cmshtml .link_btn a {
    padding: 10px 35px;
  }
  .cmshtml .sec_tit {
    font-size: 22px;
  }
  .cmshtml .page_title {
    font-size: 22px;
  }
  .cmshtml .page_title {
    padding: 30px 20px !important;
  }
  .cmshtml .subpage_contents .page_link {
    justify-content: flex-start;
    margin-bottom: 0 !important;
  }
  .cmshtml .subpage_contents .page_link > div {
    width: calc(50% - 20px);
  }
  .cmshtml .page_link .p_link a {
    display: block;
  }
  .cmshtml .p_link, .cmshtml .page_link .p_link a {
    font-size: 12px;
  }
  .cmshtml .module_blogwrapper {
    display: block;
  }
  .cmshtml #contents .module_blog {
    padding: 0;
  }
  .cmshtml .module_side {
    width: 100%;
    max-width: 100%;
    margin: 30px auto 0 !important;
  }
  .cmshtml .pt_txt {
    font-size: 16px;
  }
  .cmshtml .subpage_contents .link_btn a {
    font-size: 14px;
    padding: 10px 45px;
  }
  .cmshtml .link_btn02 a {
    line-height: 1.3;
  }
  .cmshtml .bt_line > div {
    padding: 10px;
  }
  .cmshtml .bt_line > div:first-child {
    padding-right: 10px;
    width: 40%;
  }
  .cmshtml .bt_line > div:nth-child(2) {
    width: 60%;
  }
  .cmshtml .bt_line {
    display: block;
  }
  .cmshtml .bt_line > div:first-child {
    border-bottom: 1px solid #10253f !important;
  }
  .cmshtml .bt_line > div:first-child,
.cmshtml .bt_line > div:nth-child(2) {
    padding: 10px;
    width: 100%;
  }
  .cmshtml .qa_q:before,
.cmshtml .qa_a:before {
    font-size: 16px;
    height: 30px;
    width: 30px;
  }
  .cmshtml .qa_q > div, .cmshtml .qa_a > div {
    padding: 10px;
    max-width: calc(100% - 30px);
  }
  .cmshtml .qa_q, .cmshtml .qa_a {
    font-size: 14px;
  }
  .cmshtml .wrap_table {
    overflow: auto;
  }
  .cmshtml .wrap_table > .table {
    min-width: 680px;
  }
  .cmshtml .wrap_table .wrap_table .table table tr, .cmshtml .wrap_table .table table tr {
    width: auto !important;
    display: table-row !important;
  }
  .cmshtml .wrap_table .table table td, .cmshtml .wrap_table .table table td, .cmshtml .wrap_table .table table th, .cmshtml .wrap_table .table table th {
    display: table-cell !important;
    width: auto !important;
  }
}

.cmshtml .contact_item_table input[type='text'], .cmshtml .contact_item_table textarea, .cmshtml .contact_item_table input[type='email'], .cmshtml .contact_item_table input[type='tel'] {
  box-sizing: border-box !important;
  background-color: #f0f0f0;
  border: 0 !important;
  padding: 15px !important;
}

.cmshtml .contact_item_table input[type='text']:focus, .cmshtml .contact_item_table textarea:focus, .cmshtml .contact_item_table input[type='email']:focus, .cmshtml .contact_item_table input[type='tel']:focus {
  border: 1px solid #f0bdb8;
  outline: 0;
  box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
  padding: 15px !important;
}

.cmshtml .contact_item_table textarea {
  height: 200px;
  font-family: 'Roboto', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-style: normal;
}

.cmshtml .rdcontact_btn_area input[type='submit'] {
  background-color: #f5678c !important;
  border: 0 !important;
  color: #FFF !important;
  padding: 15px 5em !important;
  border-radius: 40px !important;
  transition: all 0.2s ease 0s !important;
}

.cmshtml .rdcontact_btn_area input[type='submit']:hover {
  background-color: #ef3465 !important;
  border: 0 !important;
  color: #FFF !important;
  padding: 15px 5em !important;
  border-radius: 40px !important;
}

.cmshtml .contact_item_input, .cmshtml .contact_item_inside_input, .cmshtml .contact_item_file_box {
  padding-bottom: 20px !important;
  border-bottom: 1px solid #c9c9c9 !important;
}

.cmshtml .contact_item_title:not(:first-child) {
  margin-top: 30px;
  margin-bottom: 20px;
}

.cmshtml .yajirusi::before {
  content: '▶';
  font-size: 10px;
}

.cmshtml .yajirusi a:hover {
  color: #37a65e !important;
}

.cmshtml .tptp img {
  box-shadow: -13px 14px 0px 0px #5f9e1b;
}

.cmshtml .tptp2 img {
  border-radius: 2vh;
}

.cmshtml .menu_sub {
  margin: 0 auto;
}

.cmshtml .top_sinryou_catch {
  text-align: center;
  font-size: 36px;
  color: #333;
}

.cmshtml .top_sinryou_txt {
  margin: 0 auto;
  text-align: center;
  width: 800px;
  padding-top: 20px;
  padding-bottom: 50px;
}

.cmshtml .catch_sinryo {
  display: flex;
  align-items: center;
  /* 垂直中心 */
  justify-content: center;
  /* 水平中心 */
}

.cmshtml .catch_sinryo:before, .cmshtml .catch:after {
  border-top: 1px solid;
  content: "";
  width: 3em;
  /* 線の長さ */
}

.cmshtml .catch_sinryo:before {
  margin-right: 1em;
  /* 文字の右隣 */
}

.cmshtml .catch:after {
  margin-left: 1em;
  /* 文字の左隣 */
}

.cmshtml .gmap {
  width: 100%;
}

.cmshtml .sixcontents {
  width: 100%;
  padding: 1px;
}

.cmshtml .wf-roundedmplus1c {
  font-family: "M PLUS Rounded 1c";
  font-size: 40px;
}

@media screen and (max-width: 1100px) {
  .cmshtml .top_sinryou_txt {
    padding: 10px;
    width: 85%;
  }
  .cmshtml .top_sinryou_catch {
    font-size: 20px !important;
    font-weight: 600 !important;
  }
  .cmshtml .gmap {
    width: 100%;
  }
  .cmshtml .wf-roundedmplus1c {
    font-size: 28px;
  }
}

.cmshtml .btn_04 a {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  margin: auto;
  padding: 1rem 4rem;
  font-weight: bold;
  border: 2px solid #5ec382;
  background: #37a65e;
  color: #fff;
  border-radius: 60vh;
  transition: 0.5s;
}

.cmshtml .btn_04 a:hover {
  color: #5f9e1b;
  background: #fff;
}

.cmshtml .kuwashiku {
  margin-top: 40px;
  margin-bottom: 20px;
}