body {
  font-family: news-gothic-std, Verdana, 游ゴシック体, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-size: 23px;
  color: #000;
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden;
}
h2 {
    display: block;
    width: 100%;
    font-size: 2em;
    font-weight: bold;
    line-height: 1.3;
    letter-spacing: 0;
    margin: 0 auto 50px;
}
h2 .titsub {
    display: block;
    width: 100%;
    font-family: urw-din, urw-din-condensed, urw-din-semi-condensed, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 0.5em;
    line-height: 1.3;
    letter-spacing: 0.1em;
    padding-top: 0;
}
h3 {
    display: block;
    width: 100%;
    font-size: 1.5em;
    font-weight: bold;
    line-height: 1.3;
    letter-spacing: 0;
    margin: 0 auto;
    padding: 0;
}
p {
    font-family: inherit;
    font-weight: normal;
    margin: 0 auto 15px;
    line-height: 1.8;
    letter-spacing: 0;
    text-align: justify;
}
a {
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}
a:hover, a:active, a:focus {
    outline: none;
    text-decoration: none;
}
a img {
    opacity: 1;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
a img:hover {
    opacity: 0.7;
}

/*--- btn01 / お問い合わせボタン ---*/
.btn01 {
    text-align: center;
    margin: 0 auto 80px;
}
.btn01 a {
    display: inline-block;
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 0.95em;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.2em;
    background-color: #434343;
    padding: 20px 35px 25px;

  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.form-box button {
    display: inline-block;
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 0.95em;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.1em;
    background-color: #434343;
    padding: 15px 35px 15px;
    border: none;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.btn01 a:hover , .form-box button:hover {
    background-color: #A8A8A8;
}

.flex-box {
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    justify-content: center;
}

.bg01 {
    position: relative;
    background-color: #1E9F55;
}
.bg01::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-size: auto auto;
    background-color: transparent;
    background-image: repeating-linear-gradient(120deg, transparent, transparent 25px, rgba(255, 255, 255, 0.07) 25px, rgba(255, 255, 255, 0.07) 50px );
}

hr {
    border-top: 2px dotted #000;
    margin: 25px auto 35px;
}

.box01 {
    border: 5px solid #289E58;
    border-radius: 30px;
    padding: 40px;
}

.icon01 {
    font-weight: bold;
    display: block;
    width: 100%;
    margin-bottom: 25px;
}
.icon01 .icon-tit {
    color: #fff;
    background-color: #009DFF;
    padding: 5px 10px;
    margin-right: 10px;
}

.icon02 {
    color: #fff;
    font-size: 1.25em;
    font-weight: bold;
    display: inline-block;
    min-width: 165px;
    margin-bottom: 25px;
    padding: 7px 20px;
    background-color: #1E9F55;
    border-radius: 17px;
}
.icon-list01 .icon02 {
    margin: 0 10px 10px;
}

.icon-list01 img {
    width: 66px;
    margin: 0 10px 10px;
}
.icon-list01 img:first-child { margin-left: 0; }
.icon-list01 img:last-child { margin-right: 0; }

/* list */
dl.list-style01 {
    display: flex;
    margin: 0 auto;
    padding: 10px 0;
    border-top: 1px solid #707070;
}
dl.list-style01:last-child {
    padding-bottom: 0;
}
dl.list-style01 dt , dl.list-style01 dd {
     display: block;
     line-height: 1.5;
}
dl.list-style01 dt {
    width: 120px;
    font-weight: bold;
}


/* --------------------------------------------
    header
-------------------------------------------- */
/*
.img-main01 {
  overflow: hidden;
  width: 100%;
  height: auto;
  position: relative;
}
.img-main01 .main01-img {
  width: 100%;
  height: 100%;
  object-fit:cover;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
*/
.main-slider .slide-item {
    width: 100%;
    position: relative;
}
.main-slider .main-img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* --------------------------------------------
    nav
-------------------------------------------- */
#drawer-checkbox {
  display: none;
}
#drawer-icon {
    display: inline-block;
    width: 42px;
    height: 42px;
    background-color: #1E9F55;
    border-radius: 7px;
    margin: 0 auto;
    padding: 20px;
    position: absolute;
    top: 20px;
    right: 10%;
    z-index: 999;
    cursor: pointer;
}
#drawer-icon::before {
  content: "menu";
  color: #707070;
  font-family: urw-din, urw-din-condensed, urw-din-semi-condensed, sans-serif;
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.1em;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#drawer-checkbox:checked ~ #drawer-icon::before {
  content: "";
}
#drawer-icon span {
    background: #fff;
    border-radius: 0px;
    display: block;
    height: 2px;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease-in-out;
    width: 20px;
}
#drawer-icon span::before,
#drawer-icon span::after {
  -webkit-transform: rotate(0);
  background: #fff;
  border-radius: 0px;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  transform: rotate(0);
  transition: all 0.3s ease-in-out;
}
#drawer-icon span::before { margin-top: -9px; }
#drawer-icon span::after { margin-top: 16px; }
#drawer-checkbox:checked ~ #drawer-icon { background: #1E9F55; }
#drawer-checkbox:checked ~ #drawer-icon span {
  background: rgba(51, 51, 51, 0);
  top: 50%;
}
#drawer-checkbox:checked ~ #drawer-icon span::before,
#drawer-checkbox:checked ~ #drawer-icon span::after {
  content: "";
  display: block;
  width: 105%;
  height: 100%;
  position: absolute;
}
#drawer-checkbox:checked ~ #drawer-icon span::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  margin-top: 0;
}
#drawer-checkbox:checked ~ #drawer-icon span::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-top: 0;
}
/*--- メニューコンテンツ ---*/
#drawer-content {
    color: #fff;
    overflow: auto;
    position: relative;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: auto;
    background: #1E9F55;
    background: linear-gradient(90deg, rgba(12, 112, 48,1), rgba(16, 177, 79,1), rgba(12, 112, 48,1));
    background-size: 200% 200%;
    animation: gradient 30s linear infinite;
    transition: all 0.3s ease-in-out 0s;
    display: none;
}
#drawer-content .menu-box a { color: #fff; }

#drawer-content .menu-hd01 {
    display: block;
    border-bottom: 1px solid #fff;
    padding: 30px 0;
}
#drawer-content .menu-box .menu-list01 {
    display: block;
    width: 100%;
    max-width: 1280px;
    list-style: none;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}
#drawer-content .menu-box .menu-list01 > li {
    width: auto;
    display: inline-block;
    margin: 25px auto;
    padding: 0 50px;
}
#drawer-content .menu-box .menu-list01 > li a {
    font-size: 1em;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
}
#drawer-checkbox:checked ~ #drawer-content {
  display: block;
}
#drawer-close {
  display: none;
  position: relative;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 1;
  transition: all 0.3s ease-in-out 0s;
}
#drawer-checkbox:checked ~ #drawer-close {
  display: block;
  opacity: 1;
  margin: 0;
  background-color: #000;
  z-index: 100;
}

/* --------------------------------------------
    menu01
-------------------------------------------- */
#menu01 {
    position: fixed;
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
    background-color: #fff;
    z-index: 999;
}
.hd-logo {
    position: relative;
    display: block;
    margin: 0 auto;
    padding: 20px 0 15px;
    text-align: center;
}
.hd-logo::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    display: block;
    width: 100%;
    height: 15px;
    background: #1E9F55;
    background: linear-gradient(90deg, rgba(12, 112, 48,1), rgba(16, 177, 79,1), rgba(12, 112, 48,1));
    background-size: 200% 200%;
    animation: gradient 30s linear infinite;
    text-align: center;
    filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.16));
}
@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  25% {
    background-position: 50% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  75% {
    background-position: 150% 50%;
  }
  100% {
    background-position: 200% 50%;
  }
}
.hd-logo a {
    display: inline-block;
}
.hd-logo a img {
    width: auto;
    max-width: 400px;
}
.main-img01 {
    display: block;
    margin-top: 105px;
    overflow-x: hidden;
}
.main-img01 img {
    width: 100%;
    max-width: 100%;
    min-width: 1100px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}



/* --------------------------------------------
    TOP CONTENT
-------------------------------------------- */
.container-fluid {
    padding-left: 0;
    padding-right: 0;
}
.content-wrap {
    width: 80%;
    max-width: 1420px;
    margin: 0 auto;
    padding: 100px 0 125px;
}

/*----- intro01 -----*/
#intro01 {
    background-color: #FDF7EA;
}
.intro01-bg {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}
.intro01-bg::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    display: block;
    width: 60%;
    height: 100%;
    background: #1E9F55;
    background: linear-gradient(90deg, rgba(12,112,48,1) 0%, rgba(16,177,79,1) 100%);
    background-size: 100%;
}
.intro01-bg::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    display: block;
    width: 60%;
    height: 100%;
    background-size: auto auto;
    background-color: transparent;
    background-image: repeating-linear-gradient(120deg, transparent, transparent 25px, rgba(255, 255, 255, 0.07) 25px, rgba(255, 255, 255, 0.07) 50px );
}
.intro01-wrap h2 {
    color: #1E9F55;
}
.intro01-wrap .intro01-box01 {
    width: 62%;
    background-color: #fff;
    padding: 65px 80px;
    -webkit-filter:drop-shadow(3px 3px 10px rgba(0, 0, 0, 0.16));
    -moz-filter:drop-shadow(3px 3px 10px rgba(0, 0, 0, 0.16));
    -ms-filter:drop-shadow(3px 3px 10px rgba(0, 0, 0, 0.16));
    filter:drop-shadow(3px 3px 10px rgba(0, 0, 0, 0.16));
}
.intro01-wrap .intro01-box01 p { margin-bottom: 0; }
.intro01-bg .intro01-img01 {
    position: absolute;
    right: 0;
    bottom: 125px;
    z-index: 1;
    display: inline-block;
    width: 37%;
    max-width: 786px;
}
.intro01-bg .intro01-img01 img {
    width: 100%;
    height: auto;
}

/*----- car01 -----*/
.car01-bg {
    position: relative;
    overflow-x: hidden;
}
.car01-bg::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../img/car01-bg01.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.car01-wrap {
    position: relative;
    padding: 100px 0 135px;
}
.car01-wrap h2 {
    color: #fff;
    text-align: center;
}
.car01-wrap .car01-boxlist {
    display: block;
    padding: 225px 0 35px;
}
.car01-wrap .car01-box {
    padding-bottom: 7em;
    -webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.car01-wrap .car01-box:first-child { padding-bottom: 3em; }
.car01-wrap .car01-box:nth-of-type(2) { padding-bottom: 3em; }
.car01-wrap .car01-box:last-child { padding-bottom: 0; }
.car01-txt {
    position: relative;
    z-index: 10;
    background-color: #FDF7EA;
    width: 100%;
}
.car01-wrap .car01-box .car01-txt {
    display: block;
    padding: 0 45px 25px;
    max-width: 593px;
}
.car01-wrap .car01-box:not(:first-child) .car01-txt { top: 50px; }
.car01-wrap .car01-box:nth-child(2) .car01-txt { top: -50px; }
.car01-wrap .car01-box:nth-child(3) .car01-txt { top: 0px; }
.car01-wrap .car01-box .car01-txt h3 {
    position: relative;
    display: block;
    width: calc(100% + 90px);
    margin-top: -25px;
    margin-left: -45px;
    margin-bottom: 45px;
    color: #fff;
    background-color: #000;
    padding: 15px 35px;
}
.car01-wrap .car01-box .car01-txt h3:not(:first-of-type) { margin-top: 10px; }
.car01-wrap .car01-box .car01-txt h3:not(:first-of-type)::before { display: none; }
.car01-wrap .car01-box .car01-txt h3::before {
    position: absolute;
    top: 25px;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
}
.car01-wrap .car01-box:nth-of-type(2n) .car01-txt h3::before {
    left: calc(100% + 35px);
    border-width: 22.5px 0 22.5px 39px;
    border-color: transparent transparent transparent #000;
}
.car01-wrap .car01-box:nth-of-type(2n+1) .car01-txt h3::before {
    right: calc(100% + 35px);
    border-width: 22.5px 39px 22.5px 0;
    border-color: transparent #000 transparent transparent;
}
.car01-wrap .car01-box .car01-txt .icon-list01 img {
    width: 15%;
    margin: 0 auto;
}
.car01-wrap .car01-box .flex-box {
    justify-content: flex-start;
}
.car01-wrap .car01-box .car01-img {
    overflow: visible;
    position: relative;
    z-index: 0;
}
.car01-wrap .car01-box:nth-child(2) .car01-img { top: 150px; }
.car01-wrap .car01-box:first-child .car01-img { padding-top: 50px; padding-bottom: 115px; }
.car01-wrap .car01-box .car01-img img {
    width: 120%;
    height: auto;
}

.car01-allbox {
    position: relative;
    margin: -50px auto 0;
    padding: 35px 20px 15px;
}
.car01-allbox::before {
    position: absolute;
    bottom: calc(100% + 15px);
    left: 0;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 22.5px 39px 22.5px;
    border-color: transparent transparent #000 transparent;
}
.car01-allbox h3 {
    color: #fff;
    background-color: #000;
    padding: 15px 25px;
    text-align: center;
}
.car01-allbox .col-sm-12 {
    margin-top: 30px;
}

/*----- #price01 -----*/
#price01 {
    background-color: #FDF7EA;
}
.price01-wrap h2 {
    color: #1E9F55;
    text-align: center;
}

/*----- #contact01 -----*/
.contact01-wrap h2 , .contact01-wrap h3 {
    color: #1E9F55;
    text-align: center;
}
.contact01-wrap .fsttxt {
    text-align: center;
    margin-bottom: 45px;
}
.contact01-wrap .tex-box {
    margin-bottom: 50px;
}
.contact01-wrap .tex-box .telbtn {
    width: 100%;
    max-width: 550px;
    display: block;
    margin: 0 auto;
}
.contact01-wrap .tex-box .telbtn img {
    width: 100%;
    height: auto;
}
.contact01-wrap .box01 {
    text-align: center;
    margin-bottom: 115px;
}
.contact01-wrap .box01 p {
    text-align: center;
}
.contact01-wrap .box01 .icon-list01 {
    padding: 25px 0;
}

/*----- #prof01 -----*/
.prof01-wrap h2 {
    color: #fff;
    text-align: center;
    margin-bottom: 75px;
}
.prof01-wrap .prof01-box01 .prof01-txt {
    width: 100%;
    max-width: 664px;
    margin: 0 auto 25px;
    padding: 35px 45px;
    background-color: #fff;
}
.prof01-wrap .prof01-box01 .prof01-txt h3 {
    color: #1E9F55;
    padding-bottom: 30px;
}
.prof01-wrap .prof01-box01 .prof01-map {
    width: 100%;
    max-width: 664px;
    height: calc(100% - 25px);
    margin: 0 auto;
}
.prof01-wrap .prof01-box01 .prof01-map iframe {
    width: 100%;
    height: 100%;
}


/* --------------------------------------------
    お問い合わせ
-------------------------------------------- */
.form-box {
    width: 100%;
    margin: 56px auto 0;
    padding: 60px;
    border: 5px solid #289E58;
    border-radius: 30px;
}
.form-box .sec10-txt p { color: #434343!important; }
.form-box .sec10-txt p .subtxt {
    display: block;
    font-size: 0.65em;
    font-weight: normal;
    letter-spacing: 0.05em;
    padding-top: 15px;
}
.form-box .sec10-cp { color: #BF1920; }
.form-box .must {
    color: #fff;
    font-size: 16px;
    background-color: #BF1920;
    margin-right: 10px;
    padding: 2px 6px;
    border-radius: 8px;
    vertical-align: middle;
}
dl.mailform {
    margin-bottom: 40px;
}

dt.mfp {
    letter-spacing: 0.05em;
    padding: 0 0 15px;
    line-height: 1;
}
dd.mfp {
    letter-spacing: 0.05em;
    padding: 0 0 50px;
}
dd.mfp:last-of-type {
    border-bottom: 1px solid;
    padding: 0 0 15px;
}
.form-box input {
    display: block;
    width: 100%!important;
    border: none;
    border-bottom: 1px solid;
    border-radius: 0;
    background-color: transparent!important;
    padding: 6px;
}
.form-box input[type="checkbox"] {
    display: inline-block!important;
    width: auto!important;
}
.form-box textarea {
    display: block!important;
    height: 131px!important;
    width: 100%!important;
    padding: 6px;
}
.form-box #mfp_hidden input { display: none!important; }
::placeholder {
  color: #B2B2B2;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.form-box .policy-box {
    height: 170px;
    overflow-y: scroll;
    background-color: #fff;
    -webkit-writing-mode: horizontal-tb !important;
    text-rendering: auto;
    color: -internal-light-dark(black, white);
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: start;
    appearance: textarea;
    background-color: -internal-light-dark(rgb(255, 255, 255), rgb(59, 59, 59));
    -webkit-rtl-ordering: logical;
    flex-direction: column;
    resize: auto;
    cursor: text;
    white-space: pre-wrap;
    overflow-wrap: break-word;
    margin: 0em;
    font: 0.8em Arial;
    border-width: 1px;
    border-style: solid;
    border-color: -internal-light-dark(rgb(118, 118, 118), rgb(133, 133, 133));
    border-image: initial;
    padding: 2px;
}
.form-box .policy-box p { margin: 0 auto; padding: 0 25px; }
#mfp_loading_screen , #mfp_overlay_background { display: none; z-index: -1; }


/* --------------------------------------------
    footer
-------------------------------------------- */
#ft01 {
    display: block;
    width: 100%;
    text-align: center;
}
#ft01 .ft-img {
    margin: 0 auto;
    padding: 30px 0;
}
#ft01 .ft-img img {
    width: 113px;
    margin: 0 auto;
}
#ft01 .cp {
    color: #fff;
    font-size: 15px;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 21px 0 25px;
    background-color: #1E9F55;
}


/* --------------------------------------------
    Page Top
-------------------------------------------- */




/* --------------------------------------------
    Responsive
-------------------------------------------- */
@media screen and (max-width: 1450px) {
  body { font-size: 20px; }
  h3 { font-size: 1.35em; }
  .icon02 { font-size: 1.1em; min-width: auto; }
  .content-wrap { width: 90%; padding: 80px 0 115px; }
  .intro01-wrap .intro01-box01 { padding: 55px 60px; }
  .car01-wrap .car01-box .car01-txt h3 { width: calc(100% + 80px); margin-left: -40px; margin-bottom: 40px; padding: 10px 30px; }
  .car01-wrap .car01-box .car01-txt { padding: 0 40px 25px; }
  .contact01-wrap .tex-box .telbtn { max-width: 460px; }
  .contact01-wrap .box01 .icon-list01 { padding: 15px 0; }
}
@media screen and (max-width: 1180px) {
  body { font-size: 19px; }
  .icon01 .icon-tit { margin-right: 5px; }
  dl.list-style01 dt { width: 100px; }
  #drawer-content .menu-box .menu-list01 > li { margin: 20px auto; padding: 0 20px; }
  #drawer-content .menu-box .menu-list01 > li a { font-size: 0.95em; }
  .car01-wrap .car01-boxlist { padding-top: 9em; }
  .car01-wrap .car01-box:nth-of-type(2) { padding-bottom: 5em; }
  .car01-wrap .car01-box .car01-txt h3 { width: calc(100% + 60px); margin-left: -30px; margin-bottom: 30px; }
  .car01-wrap .car01-box:nth-child(3) .car01-txt { top: 50px; }
  .car01-wrap .car01-box .car01-txt { padding: 0 30px 25px; width: 125%; }
  .car01-wrap .car01-box .car01-img { padding-top: 0; padding-bottom: 3em; }
  .car01-wrap .car01-box:first-child .car01-img { padding-bottom: 5em; }
  .car01-wrap .car01-box .car01-img img { width: 140%; }
}
@media screen and (max-width: 992px) {
  #drawer-icon { right: 5%; }
  .icon-list01 .icon02 { margin: 0 5px 15px; min-width: 180px; }
  .intro01-wrap .intro01-box01 { width: 57%; padding: 45px; }
  .intro01-bg .intro01-img01 { width: 42%; }
  .car01-wrap .car01-boxlist { padding: 60px 0; }
  .car01-wrap .car01-box { padding-bottom: 7em; }
  .car01-wrap .car01-box:nth-of-type(2) { padding-bottom: 3em; }
  .car01-wrap .car01-box .car01-txt h3 { width: calc(100% + 50px); margin-left: -25px; }
  .car01-wrap .car01-box:nth-of-type(2n+1) .car01-txt h3::before { right: calc(100% + 20px); border-width: 15px 25px 15px 0; }
  .car01-wrap .car01-box:nth-of-type(2n) .car01-txt h3::before { left: calc(100% + 20px); border-width: 15px 0 15px 25px; }
  .car01-wrap .car01-box .car01-txt { width: 220%; padding: 0 25px 25px; }
  .car01-wrap .car01-box:first-child .car01-img { padding-bottom: 7em; }
  .car01-wrap .car01-box .car01-img img { width: 150%; }
  .contact01-wrap .box01 .icon-list01 { display: block; }
  .prof01-box01 { display: block; }
  .prof01-wrap .prof01-box01 .prof01-map iframe { height: 360px; }
}
@media screen and (max-width: 767px) {
  body { font-size: 18px; }
  h2 { font-size: 1.8em; text-align: center; margin: 0 auto 20px; }
  .box01 { border-width: 3px; padding: 30px 25px 15px; }
  .icon02 { border-radius: 5px; }
  .flex-box {
    display: -webkit-block;
    display: -moz-block;
    display: -ms-block;
    display: block;
  }
  .hd-logo { padding: 15px; text-align: left; }
  .hd-logo::before { height: 10px; }
  .hd-logo a img { max-width: 275px; }

  #drawer-icon { top: 15px; right: 10px; }
  #drawer-icon::before { content: ""; display: none; }
  #drawer-content .menu-box .menu-list01 { padding-top: 65px; }
  #drawer-content .menu-box .menu-list01 > li { display: block; margin: 0 auto 65px; }
  #drawer-content .menu-box .menu-list01 > li a { font-size: 20px; }

  .main-img01 { margin-top: 80px; }
  .main-img01 img { min-width: auto; }
  section, .car01-bg { overflow-x: hidden; }
  .content-wrap { width: 92%; padding: 50px 0 60px; }

  .intro01-bg::before, .intro01-bg::after { display: none; }
  .intro01-bg .intro01-img01 {
    position: relative;
    right: 0;
    bottom: 0;
    z-index: 0;
    display: block;
    width: 100%;
    max-width: inherit;
    margin-top: -165px;
    padding: 150px 0 60px;
    background: #1E9F55;
    background: linear-gradient(90deg, rgba(12,112,48,1) 0%, rgba(16,177,79,1) 100%);
    background-size: 100%;
  }
  .intro01-bg .intro01-img01::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    display: block;
    width: 100%;
    height: 100%;
    background-size: auto auto;
    background-color: transparent;
    background-image: repeating-linear-gradient(120deg, transparent, transparent 25px, rgba(255, 255, 255, 0.07) 25px, rgba(255, 255, 255, 0.07) 50px );
  }
  .intro01-wrap .intro01-box01 { position: relative; z-index: 10; width: 100%; }
  .car01-bg::before { background-image: url(../img/car01-sbg01.jpg); background-position: top center; }
  .car01-wrap .car01-box { padding-bottom: 0; }
  .car01-wrap .car01-box:nth-of-type(2) { padding-bottom: 50px; }
  .car01-wrap .car01-box:last-child { padding-bottom: 100px; }
  .car01-wrap .car01-box .car01-txt { width: 100%; margin-top: -85px; }
  .car01-wrap .car01-box:not(:first-child) .car01-txt { top: 0; }
  .car01-wrap .car01-box .car01-txt h3 { font-size: 1.15em; margin-top: 0; }
  .car01-wrap .car01-box .car01-txt h3::before { display: none; }
  .car01-wrap .car01-box .car01-txt .icon-list01 img { width: 20%; }
  .car01-wrap .car01-box .icon-list01 {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
  }
  .car01-wrap .car01-boxlist { padding: 15px 0; }
  .car01-wrap .car01-box .car01-img::before, .car01-wrap .car01-box .car01-img::after {
    content: '';
    position: absolute;
    top: 0;
    left: -5%;
    z-index: -1;
    display: block;
    width: calc(100% + 10%);
    height: 100%;
    -webkit-transform: skew(0deg, -8.6deg);
    transform: skew(0deg, -8.6deg);
  }
  .car01-wrap .car01-box .car01-img::before {
    background-color: #1E9F55;
  }
  .car01-wrap .car01-box .car01-img::after {
    background-size: auto auto;
    background-color: transparent;
    background-image: repeating-linear-gradient(120deg, transparent, transparent 25px, rgba(255, 255, 255, 0.07) 25px, rgba(255, 255, 255, 0.07) 50px );
  }
  .car01-wrap .car01-box .car01-img img { margin-top: 0; margin-left: -15px; padding: 20px 0 0; width: 140%; }
  .car01-wrap .car01-box:nth-child(2) .car01-img { top: 0; }
  .car01-wrap .car01-box:not(:first-child) .car01-img img { padding-top: 0; margin-top: -6%; }
/*
  .car01-wrap .car01-box:nth-last-child(2) .car01-img img {  }
  .car01-wrap .car01-box:last-child .car01-img img { ; }
*/
  .car01-allbox { width: 96%!important; margin: 25px auto 0!important; padding: 0!important; }
  .car01-allbox::before { display: none; }
  .car01-allbox h3 { width: 100%!important; margin: 0 auto!important; }
  .car01-allbox .titunder-img { margin-bottom: 25px; }
  .price01-wrap .price01-box01 img { width: 100%; max-width: 500px; margin: 0 auto; }
  .contact01-wrap .box01 { margin-bottom: 60px; }
  .contact01-wrap .tex-box .telbtn { max-width: 360px; }
  .icon-list01 .icon02 { width: 100%; max-width: 460px; min-width: auto; }
  .form-box { margin: 20px auto 0; padding: 35px 25px; border-width: 3px; border-radius: 30px; }
  dd.mfp { letter-spacing: 0; padding: 0 0 35px; }
  .form-box .policy-box p { padding: 0 10px; }
  .prof01-wrap h2 { margin-bottom: 30px; }
  .prof01-wrap .prof01-box01 .prof01-txt { padding: 35px 25px; }

  #ft01 .ft-wrap { width: 100%; padding: 15% 0; }
  #ft01 .ft-tit { font-size: 1.25em; letter-spacing: 0.1em; }
  #ft01 .ft-txt p { margin: 0 auto 8%; }
}


/*確認画面*/
#mfp_overlay {
    position: fixed !important;
    top: 50% !important;
    left: 50%!important;
    transform: translate(-50%, -50%);
    max-height: 86vh;
    overflow-y: auto;
    width: 640px!important;
    max-width: 90%;
    background-color: #fff;
    border-radius: 16px !important;
}
#mfp_overlay_inner {
    padding: 2rem!important;
    border-radius: 16px!important;
    max-height: 86vh;
    overflow-y: auto;
    background-color: transparent!important;
    box-shadow: none!important;
    border-radius: 0 !important;
    max-width: 100%!important;
}
div#mfp_overlay_inner > h4 {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
}
table#mfp_confirm_table tr th,
table#mfp_confirm_table tr td {
    padding: 10px 8px !important;
    border-bottom: 1px solid #ccc;
}
div#mfp_overlay_inner #mfp_confirm_table { width: 100%; margin-bottom: 30px; }
div#mfp_overlay_inner #mfp_confirm_table tr:last-child th,
div#mfp_overlay_inner #mfp_confirm_table tr:last-child td { border-bottom: 1px solid #ccc; }
div#mfp_overlay_inner #mfp_confirm_table tr > *:not(:last-child) { border-bottom: 1px solid #ccc; }
div#mfp_overlay_inner .mfp_buttons {
    display: flex;
    gap: 12px;
}
.mfp_buttons button {
    letter-spacing: 0.1em!important;
    width: 100%!important;
    padding: 16px 30px!important;
}
@media screen and (max-width: 800px) {
    table#mfp_confirm_table tr th,
    table#mfp_confirm_table tr td { display: block; width: 100%; }
    div#mfp_overlay_inner #mfp_confirm_table tr > th { border-bottom: none!important; padding-bottom: 0 !important; }
}
@media screen and (max-width: 575px) {
    div#mfp_overlay_inner .mfp_buttons { display: block; }
}