@charset "UTF-8";


/* =================== */
/*       pubulic       */
/* =================== */
.slick-slider { padding-bottom:1rem; }
.pic-slider { padding-bottom:0; }
.slick-dots {
  display:flex;
  justify-content:center;
  position:relative;
  margin-top:-1.5rem;
}
.slick-dots li {
  width:.45rem !important;
  height:.45rem !important;
  margin:0 .45rem !important;
  padding:0 !important;
  border-radius:100vmax;
  border:0;
  background:#fff;
}
.slick-dots li.slick-active { background:#0c933c; border:0; }
.slick-dots li button { display:none; }

.kv-box {
  position:relative;
  overflow:inherit;
}
.kv-box .kv-pic {
  width:100%;
  height:100%;
  overflow:hidden;
}
.kv-box .kv-pic img { animation:kv-zoom 2s ease 0s forwards; }
@keyframes kv-zoom {
  0% {
    transform:scale(1.1);
    opacity:0;
  }
  100% {
    transform:scale(1);
    opacity:1;
  }
}

h1#page-ttl {
  color:#fff;
  width:17.5rem;
  height:17.5rem;
  background:#0c933c;
  display:flex;
  align-items:center;
  padding-left:2.5rem;
  position:absolute;
  top:0;
  bottom:0;
  left:7.5rem;
  margin:auto 0;
}
h1#page-ttl .en {
  font-size:1.3rem;
  display:block;
  font-weight:400;
}
h1#page-ttl .jp {
  font-size:2.5rem;
  display:block;
  font-weight:bold;
  margin-top:.75rem;
  line-height:1.2;
}


#lower-top-sec {
  background:#f0f5e0;
  padding-top:15rem;
  margin-top:-10rem;
  padding-bottom:3.5rem;
}
#lower-top-sec .pic-box {
  width:29rem;
  position:relative;
  order:2;
}
#lower-top-sec .txt-box {
  order:1;
  margin-left:4.5rem;
  width:calc(100% - 29rem - 9.5rem - 4.5rem);
}
#lower-top-sec .txt-box h2 {
  padding:.75rem 0 .75rem 1rem;
  border-left:.5rem solid #0c933c;
}
#lower-top-sec .txt-box h2 .en {
  font-size:max(13px, 1.25rem);
  display:block;
}
#lower-top-sec .txt-box h2 .jp {
  font-size:max(20px, 1.75rem);
  display:block;
  margin-top:.5rem;
  font-weight:bold;
}
#lower-top-sec .txt-box .txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
  margin-top:1.5rem;
  margin-left:2rem;
}
#lower-top-sec .txt-box .txt .att {
  display:inline-block;
  text-indent:-1em;
  padding-left:1em;
}

.dflt-layout { align-items:initial; }
.dflt-layout.pic-r { flex-direction:row-reverse; }
.dflt-layout .main { width:50rem; }
.dflt-layout .txt-box {
  width:calc(100% - 50rem - 4rem);
  position:relative;
}
.dflt-layout .txt-box .layout-ttl { margin-top:3rem; }
.dflt-layout .txt-box .layout-ttl::after {
  content:"";
  width:7.2rem;
  height:.35rem;
  background:url(../img/grn_line.png) no-repeat;
  background-size:cover;
  display:block;
  margin-top:.75rem;
}
.dflt-layout .txt-box .layout-ttl .en {
  font-size:max(13px, 1.25rem);
  display:block;
}
.dflt-layout .txt-box .layout-ttl .jp {
  color:#0c933c;
  font-size:2rem;
  display:block;
  margin-top:.5rem;
  line-height:1.4;
  font-weight:bold;
}
.dflt-layout .txt-box .layout-ttl .jp .mini { font-size:max(14px, 1.2rem); }
.dflt-layout .txt-box .sub {
  width:90%;
  margin:0 auto;
}
.dflt-layout .txt-box .txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
  margin:2rem 0;
}
.dflt-layout .txt-box .txt .att {
  display:inline-block;
  text-indent:-1em;
  padding-left:1em;
}
.dflt-layout .thumbnail {
  position:absolute;
  bottom:-1rem;
  left:0;
}
.dflt-layout .thumbnail img {
  width:calc((100% - 1rem) / 2) !important;
  margin-bottom:1rem;
}
.dflt-layout .thumbnail .slick-track {
  transform:unset!important;
  width:100% !important;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
.dflt-layout .thumbnail .slick-track:before,
.dflt-layout .thumbnail .slick-track:after { display:none; }
.dflt-layout .thumbnail .slick-slide {
  filter: brightness(80%);
  cursor:pointer;
}
.dflt-layout .thumbnail .slick-slide.slick-current { filter:brightness(100%); }

.center-h { text-align:center; }
.center-h.deco::after {
  content:"";
  width:7.2rem;
  height:.35rem;
  background:url(../img/grn_line.png) no-repeat;
  background-size:cover;
  display:block;
  margin:.75rem auto 0;
}
.center-h .en {
  font-size:max(13px, 1.25rem);
  display:block;
}
.center-h .jp {
  font-size:max(20px, 1.75rem);
  display:block;
  margin-top:.5rem;
  font-weight:bold;
  color:#0c933c;
}
.center-h .mini {
  font-size:max(15px, 1.2rem);
  display:block;
  font-weight:bold;
  margin-top:.5rem;
}


@media screen and (max-width: 960px) {
  #lower-top-sec > .flex-box { max-width:700px; }
  #lower-top-sec .txt-box { margin-left:0; width:calc(100% - 29rem - 5.5rem); }
  #lower-top-sec .txt-box h2 .jp { line-height:1.25; }
  #lower-top-sec .txt-box .txt { margin-top:10px; }
  .dflt-layout { display:block; max-width:700px; }
  .dflt-layout .thumbnail { position:initial; }
  .dflt-layout .thumbnail .slick-track { justify-content:center; }
  .dflt-layout .thumbnail img { width:calc((100% - 2rem) / 5) !important; margin-right:.5rem; margin-bottom:0; }
  .dflt-layout .thumbnail img:last-child { margin-right:0; }
  .dflt-layout .main { width:100%; }
  .dflt-layout .txt-box { width:100%; padding:0 20px; }

}
@media screen and (max-width: 750px) {
  h1#page-ttl { width:150px; height:100px; padding-left:0; justify-content:center; text-align:center; top:inherit; bottom:-50px; left:0; right:0; margin:0 auto; }
  h1#page-ttl .jp { font-size:20px; }
  #lower-top-sec { padding-top:190px; }
  #lower-top-sec > .flex-box { padding:0 20px; flex-wrap:wrap; }
  #lower-top-sec .txt-box { width:100%; margin-top:0; order:1; }
  #lower-top-sec .txt-box .txt { line-height:1.66; }
  #lower-top-sec .pic-box { width:100%; order:2; margin-top:20px; }
}









/* =================== */
/*       body.cuisine       */
/* =================== */
body.cuisine #art1 { margin:7.5rem auto 8rem; }
body.cuisine #art2 { margin-bottom:10rem; }

@media screen and (max-width: 750px) {
  body.cuisine #art1 { margin:50px auto; }
  body.cuisine #art2 { margin-bottom:70px; }
}








/* =================== */
/*       body.camp       */
/* =================== */
body.camp #art1 {
  width:50rem;
  background:#fff;
  margin:4rem auto 2rem;
  padding:2.5rem 4rem;
}
body.camp #art1 ul { margin-top:1.5rem; margin-bottom:2rem; }
body.camp #art1 li {
  font-size:max(15px, 1rem);
  line-height:1.5;
  display:flex;
  align-items:baseline;
  margin-bottom:.5rem;
}
body.camp #art1 li::before {
  content:"●";
  font-size:50%;
  color:#0c933c;
  margin:0 1em;
}
body.camp #art1 .txt {
  font-size:max(15px, 1rem);
  line-height:1.66;
  text-align:center;
  margin-top:1rem;
}
body.camp #art1 .txt .bld { font-weight:bold; }
body.camp #art1 .txt .clr {
  font-weight:bold;
  color:#0c933c;
  font-size:max(17px, 1.25rem);
}
body.camp #sec1 { margin:5rem auto; }
body.camp #sec1 #art2 { margin:2rem auto 5rem; }
body.camp #sec2 {
  padding:5.5rem 0;
  background:#f0f5e0;
}
body.camp #sec2 > ul {
  align-items:flex-start;
  flex-wrap:wrap;
  margin-top:2rem;
}
body.camp #sec2 > ul > li {
  width:calc((100% - 3rem) / 2);
  margin-bottom:5rem;
}
body.camp #sec2 > ul > li .txt-box { padding:1.5rem 1.5rem 0; }
body.camp #sec2 > ul > li .txt-box h3 .en {
  font-size:max(13px, 1.25rem);
  display:block;
}
body.camp #sec2 > ul > li .txt-box h3 .jp {
  font-size:2rem;
  display:block;
  margin-top:.5rem;
  font-weight:bold;
  color:#0c933c;
}
body.camp #sec2 > ul > li .txt-box h3::after {
  content:"";
  width:7.2rem;
  height:.35rem;
  background:url(../img/grn_line.png) no-repeat;
  background-size:cover;
  display:block;
  margin-top:.75rem;
}
body.camp #sec2 > ul > li .txt-box .txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
  margin:1rem 0;
}
body.camp #sec2 > ul > li .txt-box dl .line {
  display:flex;
  align-items:baseline;
  font-size:max(15px, 1rem);
  line-height:1.75;
}
body.camp #sec2 > ul > li .txt-box dl .line dt {
  width:5em;
  background:#fff;
  color:#0c933c;
  font-weight:bold;
  text-align:center;
}
body.camp #sec2 > ul > li .txt-box dl .line dd {
  width:calc(100% - 5em);
  padding-left:1rem;
}
body.camp #art4 {
  width:50rem;
  background:#fff;
  margin:0 auto;
  padding:2.5rem 4rem;
}
body.camp #art4 ul { margin-top:1.5rem; }
body.camp #art4 li {
  font-size:max(15px, 1rem);
  line-height:1.5;
  text-indent:-1em;
  padding-left:1em;
  margin-bottom:.5rem;
}
body.camp #art4 .txt {
  font-size:max(15px, 1rem);
  text-align:center;
  margin:2rem auto 1rem;
}
body.camp #art4 .ylw {
  font-weight:bold;
  background:url(../img/ylw_line.png) no-repeat left bottom 3px;
  background-size:100% auto;
}
body.camp #art4 li a {
  color:#0c933c;
  font-weight:bold;
  text-decoration:underline;
}
body.camp #art4 li a:hover { opacity:.5; }
body.camp #sec3 { margin:5rem auto; }
body.camp #sec3 ul.list {
  border-top:3px dotted #0c933c;
  margin-top:1.5rem;
}
body.camp #sec3 ul.list li {
  padding:2rem 5rem 2rem 2rem;
  border-bottom:3px dotted #0c933c;
}
body.camp #sec3 ul.list li.lr {
  display:flex;
  justify-content:space-between;
  align-items:center;
}
body.camp #sec3 ul.list li.lr .pic { width:23.5rem; }
body.camp #sec3 ul.list li .txt-box h4 { text-align:left; }
body.camp #sec3 ul.list li .txt-box h4::after { margin:.75rem 0 0; }
body.camp #sec3 ul.list li .txt-box .txt {
  margin-top:1.25rem;
  font-size:max(15px, 1rem);
}
body.camp #sec3 ul.list li .txt-box .txt .bld {
  font-weight:bold;
  font-size:max(16px, 1.1rem);
}
body.camp #sec3 ul.list li .view-more a {
  width:15rem;
  line-height:3rem;
  margin:2rem 0;
}
body.camp #sec3 ul.list li .pic .view-more a { margin-left:calc(100% - 15rem); }
body.camp #sec3 ul.list li .view-more a .txt { font-size:max(15px, 1.25rem); }
body.camp #sec3 ul.list li .view-more a .arrow {
  width:1.75rem;
  line-height:2rem;
  height:1.75rem;
  font-size:1rem;
}
body.camp #sec3 h3 {
  font-size:max(20px, 1.75rem);
  font-weight:bold;
  border-left:.5rem solid #0c933c;
  line-height:3rem;
  padding-left:1rem;
  margin-left:.5rem;
  margin-top:3rem;
}
body.camp #sec4 {
  background:#f0f5e0;
  padding:4.5rem 0;
}
body.camp #sec4 .wht-box {
  background:#fff;
  width:50rem;
  margin:0 auto;
  padding:2.5rem 0;
}
body.camp #sec4 .wht-box .txt {
  font-size:max(15px, 1rem);
  line-height:1.66;
  text-align:center;
  margin-top:1rem;
}
body.camp #sec4 .wht-box .txt .bld { font-weight:bold; }
body.camp #sec4 .wht-box .txt .clr {
  font-weight:bold;
  color:#0c933c;
  font-size:max(17px, 1.25rem);
}
body.camp .view-more.last-btn {
  margin-top:5rem;
  margin-bottom:8rem;
}
body.camp .view-more.last-btn a {
  width:25rem;
  height:4.5rem;
  line-height:5rem;
  font-weight:bold;
  color:#fff;
  background:#0c933c;
}
body.camp .view-more.last-btn a .arrow {
  background:#fff;
  color:#0c933c;
  top:1.15rem;
}

@media screen and (max-width: 960px) {
  body.camp #art1 li .att { display:block; text-indent:-1em; padding-left:1em; }
}
@media screen and (max-width: 750px) {
  body.camp #art1 { width:86.6%; padding:25px; }
  body.camp #sec2 { padding:40px 0; }
  body.camp #sec2 > ul { display:block; }
  body.camp #sec2 > ul > li { width:100%; margin-bottom:40px; }
  body.camp #sec2 > ul > li .txt-box .txt { line-height:1.66; }
  body.camp #art4 { width:86.6%; padding:25px; }
  body.camp #art1 .txt { text-align:left; line-height:1.66; }
  body.camp #sec3 ul.list li { padding:20px; }
  body.camp #sec3 ul.list li.lr { display:block; }
  body.camp #sec3 ul.list li .view-more a { margin:20px auto 0 !important; }
  body.camp #sec3 ul.list li.lr .pic { width:100%; }
  body.camp #sec3 ul.list li.lr .pic img { margin-top:25px; }
  body.camp #sec4 .wht-box { width:86.6%; padding:25px 15px; }
}








/* =================== */
/*       body.facilities       */
/* =================== */
body.facilities #art1 { margin:9.5rem auto 6rem; }
body.facilities #art1 .txt2 {
  font-size:max(15px, 1rem);
  margin-top:-1rem;
  margin-bottom:2rem;
}
body.facilities #art1 .txt2 span {
  background:#f0f5e0;
  font-weight:bold;
  color:#0c933c;
  display:inline-block;
  padding:.5rem .75rem 0.3rem;
  margin-right:1rem;
}
body.facilities #art2 .clr-box {
  width:50rem;
  min-width:700px;
  background:#f0f5e0;
  margin:0 auto;
  padding:3.5rem 0 12.5rem;
}
body.facilities #art2 .center-h .mini { display:inline-block; }
body.facilities #art2 .txt {
  font-size:max(15px, 1rem);
  text-align:center;
  margin:2rem 0;
}
body.facilities main dl.dflt-dl .line {
  display:flex;
  align-items:baseline;
  font-size:max(15px, 1rem);
  line-height:1.5;
}
body.facilities main dl.dflt-dl .line dt {
  background:#fff;
  color:#0c933c;
  font-weight:bold;
  padding:.5rem .75em 0.3rem;
  margin-right:1rem;
  width:5.5em;
  text-align:center;
}
body.facilities main dl.dflt-dl .line dd { width:calc(100% - (max(15px, 1rem) * 5.5) - 1rem); }
body.facilities #art2 dl.dflt-dl .line { justify-content:center; }
body.facilities #art2 dl.dflt-dl .line dt { width:8em; }
body.facilities #art2 dl.dflt-dl .line dd { width:auto; }
body.facilities #art2 .pic-slide { margin-top:-9.5rem; }
body.facilities #art2 .pic-slide img { margin:0 .25rem; }
body.facilities #sec1 dl.dl {
  width:50rem;
  margin:4.5rem auto 5.5rem;
  border-bottom:3px dotted #0c933c;
  border-top:3px dotted #0c933c;
  padding:1.5rem 1rem;
}
body.facilities #sec1 dl.dl .line {
  display:flex;
  align-items:baseline;
}
body.facilities #sec1 dl.dl .line dt {
  font-size:max(17px, 1.25rem);
  font-weight:bold;
  color:#0c933c;
  width:11em;
}
body.facilities #sec1 dl.dl .line dd {
  width:calc(100% - (max(17px, 1.25rem) * 11));
  font-size:max(15px, 1rem);
  line-height:1.66;
}
body.facilities #sec2 {
  padding:5.5rem 0 1rem;
  background:#f0f5e0;
}
body.facilities #sec2 ul.two-list {
  flex-wrap:wrap;
  align-items:flex-start;
  margin-top:2rem;
}
body.facilities #sec2 ul.two-list > li {
  width:calc((100% - 3rem) / 2);
  margin-bottom:4rem;
}
body.facilities #sec2 ul.two-list > li .txt-box h3 .en {
  font-size:max(13px, 1.25rem);
  display:block;
}
body.facilities #sec2 ul.two-list > li .txt-box h3 .jp {
  font-size:2rem;
  display:block;
  margin-top:.5rem;
  font-weight:bold;
  color:#0c933c;
}
body.facilities #sec2 ul.two-list > li .txt-box h3::after {
  content:"";
  width:7.2rem;
  height:.35rem;
  background:url(../img/grn_line.png) no-repeat;
  background-size:cover;
  display:block;
  margin-top:.75rem;
  margin-bottom:1.5rem;
}
body.facilities #sec2 ul.two-list > li .txt-box { padding:1.5rem 1.5rem 0; }
body.facilities #sec2 ul.two-list > li .txt-box.flex-box { align-items:flex-start; }
body.facilities #sec2 ul.two-list > li .sub { width:15rem; }
body.facilities #sec2 ul.two-list > li .txt-box .txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
}
body.facilities #sec2 .spc-box .center-slide img { margin:0 1rem; }
body.facilities #sec2 .spc-box .txt-box {
  width:36rem;
  margin:0 auto 5rem;
  padding:1.5rem 1.5rem 0;
}
body.facilities #sec2 .spc-box .txt-box h3 .en {
  font-size:max(13px, 1.25rem);
  display:block;
}
body.facilities #sec2 .spc-box .txt-box h3 .jp {
  font-size:2rem;
  display:block;
  margin-top:.5rem;
  font-weight:bold;
  color:#0c933c;
}
body.facilities #sec2 .spc-box .txt-box h3::after {
  content:"";
  width:7.2rem;
  height:.35rem;
  background:url(../img/grn_line.png) no-repeat;
  background-size:cover;
  display:block;
  margin-top:.75rem;
  margin-bottom:1.5rem;
}
body.facilities #sec2 .spc-box .txt-box .txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
}
body.facilities #sec3 { margin:5rem auto 8rem; }
body.facilities #sec3 table {
  width:100%;
  font-size:max(15px, 1rem);
  text-align:center;
  margin-top:1.5rem;
}
body.facilities #sec3 table th {
  background:#0c933c;
  font-weight:bold;
  color:#fff;
  padding:1rem 0;
  border:1px solid #f0f5e0;
  width:calc(100% / 4);
}
body.facilities #sec3 table td {
  padding:1rem 0;
  border:1px solid #f0f5e0;
}
body.facilities #sec3 .att {
  font-size:max(15px, 1rem);
  line-height:1.66;
  text-align:right;
  margin-top:.75rem;
}

@media screen and (max-width: 960px) {
  body.facilities #sec3 table.pc-on { display:table; }
  body.facilities #sec3 table.sp-on { display:none; }
  body.facilities #sec2 ul.two-list > li .txt-box.flex-box { display:block; }
  body.facilities #sec2 ul.two-list > li .sub { margin:15px auto 0; }
}
@media screen and (max-width: 750px) {
  body.facilities #art2 .clr-box { width:86.6%; min-width:initial; padding:25px 25px 12.5rem; }
  body.facilities #art2 .txt { text-align:left; line-height:1.66; }
  body.facilities #art2 dl.dflt-dl .line { display:block; }
  body.facilities #art2 dl.dflt-dl .line dt { margin-bottom:10px; }
  body.facilities #sec1 dl.dl { width:86.6%; padding:25px; }
  body.facilities #sec1 dl.dl .line { display:block; }
  body.facilities #sec1 dl.dl .line dt { text-align:center; width:100%; margin-bottom:10px; }
  body.facilities #sec1 dl.dl .line dd { width:100%; }
  body.facilities #sec2 ul.two-list { display:block; }
  body.facilities #sec2 ul.two-list > li { width:100%; }
  body.facilities #sec2 .spc-box .center-slide img { margin:0 .5rem; }
  body.facilities #sec2 .spc-box .txt-box { width:86.6%; }
  body.facilities #sec2 .spc-box .txt-box .txt { line-height:1.66; }
  body.facilities #sec2 ul.two-list > li .txt-box .txt { line-height:1.66; }
  body.facilities #sec3 table.pc-on { display:none; }
  body.facilities #sec3 table.sp-on { display:table; }
  body.facilities #sec3 table th { width:50%; }
}








/* =================== */
/*       body.access       */
/* =================== */
body.access .bk-clr {
  background:#f0f5e0;
  padding-top:19rem;
  margin-top:-10rem;
  padding-bottom:5rem;
}
body.access #map-box { height:35rem; }
body.access #map-box iframe {
  width:100%;
  height:100%;
}
body.access .map-add-box {
  margin-top:2rem;
  align-items:flex-start;
  justify-content:center;
  margin-bottom:4rem;
}
body.access .map-add-box .map-logo { width:11.4rem; }
body.access .map-add-box address {
  font-size:max(15px, 1rem);
  line-height:1.5;
  margin:0 3rem;
}
body.access .map-add-box .map-pic { width:14.5rem; }
body.access #art1 {
  width:50rem;
  background:#fff;
  margin:0 auto;
  padding:2.5rem 4rem;
}
body.access #art1 ul { margin-top:1.5rem; }
body.access #art1 li {
  font-size:max(15px, 1rem);
  line-height:1.5;
  text-indent:-1em;
  padding-left:1em;
  margin-bottom:.5rem;
}
body.access #art1 .ylw {
  font-weight:bold;
  background:url(../img/ylw_line.png) no-repeat left bottom 3px;
  background-size:100% auto;
}
body.access #art1 li a {
  color:#0c933c;
  font-weight:bold;
  text-decoration:underline;
}
body.access #art1 li a:hover { opacity:.5; }
body.access #sec1 { margin:6rem auto 8rem; }
body.access #sec1 ul.list1 { align-items:flex-start; }
body.access #sec1 ul.list1 li { width:calc((100% - 4rem) / 3); }
body.access #sec1 ul.list1 .txt-box { padding:1rem 1rem 0; }
body.access #sec1 .txt-box h3 {
  font-size:max(20px, 1.75rem);
  display:block;
  margin-top:.5rem;
  font-weight:bold;
  color:#0c933c;
}
body.access #sec1 .txt-box h3::after {
  content:"";
  width:7.2rem;
  height:.35rem;
  background:url(../img/grn_line.png) no-repeat;
  background-size:cover;
  display:block;
  margin-top:.75rem;
  margin-bottom:1.5rem;
}
body.access #sec1 .txt-box .txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
}
body.access #sec1 .txt-box .txt {
  margin-top:1.25rem;
  font-size:max(15px, 1rem);
}
body.access #sec1 .txt-box .txt span {
  font-weight:bold;
  font-size:max(16px, 1.1rem);
}
body.access #sec1 .view-more a {
  width:15rem;
  line-height:3rem;
  margin:2rem 0 0;
}
body.access #sec1 .view-more a .txt { font-size:max(15px, 1.25rem); }
body.access #sec1 .view-more a .arrow {
  width:1.75rem;
  line-height:2rem;
  height:1.75rem;
  font-size:1rem;
}
body.access #sec1 ul.list1 {
  margin-top:2rem;
  margin-bottom:6rem;
}
body.access #sec1 ul.list1 .txt-box .view-more a { margin:2rem auto 0; }
body.access #sec1 ul.list2 {
  border-top:3px dotted #0c933c;
  margin-top:1.5rem;
}
body.access #sec1 ul.list2 li {
  padding:2rem 5rem 2rem 2rem;
  border-bottom:3px dotted #0c933c;
}
body.access #sec1 ul.list2 li.lr {
  display:flex;
  justify-content:space-between;
  align-items:center;
}
body.access #sec1 ul.list2 li.lr .pic { width:23.5rem; }
body.access #sec1 ul.list2 li h3 { text-align:left; }
body.access #sec1 ul.list2 li h3::after { margin:.75rem 0 1.5rem; }
body.access #sec1 ul.list2 .pic .view-more a { margin-left:calc(100% - 15rem); }

@media screen and (max-width: 750px) {
  body.access .map-add-box { display:block; }
  body.access .map-add-box .map-logo { margin:0 auto 15px; }
  body.access .map-add-box address { text-align:center; }
  body.access .map-add-box .map-pic { margin:15px auto 0; }
  body.access #art1 { width:86.6%; padding:25px; }
  body.access #sec1 ul.list1 { display:block; }
  body.access #sec1 ul.list1 li { width:100%; margin-bottom:40px; }
  body.access #sec1 ul.list2 li.lr { display:block; padding:20px; }
  body.access #sec1 ul.list2 li.lr .pic { width:100%; }
  body.access #sec1 ul.list2 li.lr .pic img { margin-top:25px; }
  body.access #sec1 ul.list2 li.lr .view-more a { margin:20px auto 0 !important; }
  body.access #sec1 ul.list1 .txt-box { padding:15px 20px 0; }
  body.access #sec1 ul.list2 li h3 { line-height:1.2; }
}








/* =================== */
/*       body.contact       */
/* =================== */
body.contact h1#page-ttl .jp { font-size:2rem; }
body.contact #sec1 { margin:9rem auto 4rem; }
body.contact #sec1 dl { margin-top:2rem; }
body.contact #sec1 dl .line { margin-bottom:1.5rem; }
body.contact #sec1 dt {
  border-top:3px dotted #0c933c;
  border-bottom:3px dotted #0c933c;
  font-size:max(16px, 1.1rem);
  font-weight:bold;
  padding:.5rem 2rem;
  display:flex;
  align-items:baseline;
  line-height:1.66;
}
body.contact #sec1 dt::before {
  content:"Q.";
  font-size:max(20px, 1.75rem);
  color:#0c933c;
  margin-right:.5em;
}
body.contact #sec1 dt span { width:calc(100% - (max(20px, 1.75rem) * 3)); }
body.contact #sec1 dd {
  font-size:max(15px, 1rem);
  padding:.5rem 2rem;
  display:flex;
  align-items:baseline;
  line-height:1.75;
}
body.contact #sec1 dd::before {
  content:"A.";
  font-size:max(20px, 1.75rem);
  color:#a1b3a7;
  margin-right:.5em;
  font-weight:bold;
}
body.contact #sec1 dd p { width:calc(100% - (max(20px, 1.75rem) * 3)); }
body.contact #sec1 dd p a {
  color:#0c933c;
  font-weight:bold;
  text-decoration:underline;
}
body.contact #sec1 dd p a:hover { opacity:.5; }
body.contact #sec1 dd p .att {
  display:inline-block;
  text-indent:-1em;
  padding-left:1em;
}
body.contact #sec1 dd p .bld { font-weight:bold; }
body.contact #form {
  padding:5rem 0 8rem;
  background:#f0f5e0;
}
body.contact #form .two-box {
  justify-content:center;
  margin:3rem auto 5rem;
}
body.contact #form .two-box .box1 a,
body.contact #form .two-box .box2 > div {
  width:22.5rem;
  line-height:5rem;
  background:#fff;
  border-radius:100vmax;
  font-size:1.5rem;
  font-weight:bold;
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 1rem;
  padding-right:1rem;
  box-sizing:border-box;
}
body.contact #form .two-box .box1 a img,
body.contact #form .two-box .box2 > div img {
  width:2.8rem;
  margin-right:1rem;
}
body.contact #form .two-box .box1 a:hover { opacity:.5; }
body.contact #form h3 {
  font-weight:bold;
  display:flex;
  justify-content:center;
  align-items:center;
  font-size:max(18px, 1.5rem);
}
body.contact #form h3 img {
  width:2.6rem;
  margin-right:1rem;
}
body.contact #form .top-txt {
  font-size:max(15px, 1rem);
  text-align:center;
  line-height:1.75;
  margin-top:1rem;
  margin-bottom:2rem;
}
body.contact main .form-box {
  background:#fff;
  padding:3rem;
  margin:2rem auto 0;
  width:50rem;
}
body.contact main .form-box form {
  width:100%;
  margin:0 auto;
}
body.contact main .form-box form table {
  width:100%;
}
body.contact main .form-box form th {
  text-align:left;
  width:13rem;
  min-width:180px;
  line-height:1;
  padding:1rem 0;
  font-size:max(15px, 1.1rem);
  position:relative;
  font-weight:400;
}
body.contact main .form-box form .req { color:#e44c4c; margin-left:.5rem; }
body.contact main .form-box form td {
  position:relative;
  padding:1rem .5rem;
  font-size:max(15px, 1rem);
}
body.contact main .form-box form td .txt {
  font-size:max(15px, 1rem);
  display:block;
  margin-top:.5rem;
}
body.contact main .form-box form input[type=text],
body.contact main .form-box form input[type=email],
body.contact main .form-box form textarea {
  border:0;
  line-height:1.5;
  width:100%;
  padding:.5rem;
  font-size:max(15px, 1rem);
  background:#f3f3f3;
  box-sizing:border-box;
}
body.contact main .form-box form textarea { padding:0; }
body.contact main .form-box form th.top { vertical-align:top; }
body.contact main .form-box form .btn-box { justify-content:center; margin-top:2rem; align-items:flex-start; }
body.contact main .form-box form .btn-box .btn { width:25rem; margin:0 auto; }
body.contact main .form-box form .btn-box .btn input { width:100%; transition:0.5s ease all; }
body.contact main .form-box form .btn-box .btn input:hover { opacity:.5; }
body.contact aside#plan-bnr { margin-top:0; }

@media screen and (max-width: 960px) {
  body.contact #sec1 { max-width:700px; }
  body.contact #form .top-txt .sp-on { display:none; }
}
@media screen and (max-width: 750px) {
  body.contact #form .top-txt { line-height:1.66; width:86.6%; margin:15px auto 20px; text-align:left; padding:0 25px; }
  body.contact #form .top-txt .sp-on { display:initial; }
  body.contact main .form-box { width:86.6%; padding:25px; }
  body.contact main .form-box form table,
  body.contact main .form-box form table tbody,
  body.contact main .form-box form table tr,
  body.contact main .form-box form table th,
  body.contact main .form-box form table td { display:block; }
  body.contact #sec1 dt span { width:calc(100% - (max(20px, 1.75rem) * 2)); }
  body.contact #sec1 dd p { width:calc(100% - (max(20px, 1.75rem) * 2)); }
  body.contact #sec1 dd { line-height:1.66; }
  body.contact #sec1 dt { line-height:1.5; }
  body.contact #form .two-box { display:block; }
  body.contact #form .two-box .box1 a, body.contact #form .two-box .box2 > div { margin:0 auto 15px; font-size:18px; width:250px; }
  body.contact main .form-box form td { padding:5px 0; }
}

.btn-box input{
    display: block;
    margin: auto;
    text-decoration: none;
    width: 100%;
    border-radius: 100vmax;
    padding: 15px;
    text-align: center;
    color: #ffffff;
    font-size: 16px;
    background-color: #0d933c;
    border: 0px;
  cursor:pointer
}