html {
  scroll-behavior: smooth;
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  background-color: #fff;
  color: #1a1a1a;
  overflow-x: hidden;
  line-height: 1.55;
  font-weight: 400;
  font-size: min(18px, 4.8vw);
}
@media screen and (min-width: 750px) {
  body {
    font-size: 16px;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
@media screen and (min-width: 750px) {
  .sp_only {
    display: none;
  }
}
.pt20 {
  padding-top: min(20px, 8vw) !important;
}
.pt30 {
  padding-top: min(30px, 11vw) !important;
}
.pt40 {
  padding-top: min(40px, 12vw) !important;
}
.pt50 {
  padding-top: min(50px, 13vw) !important;
}
.pb20 {
  padding-bottom: min(20px, 8vw) !important;
}
.pb30 {
  padding-bottom: min(30px, 11vw) !important;
}
.pb40 {
  padding-bottom: min(40px, 12vw) !important;
}
.pb50 {
  padding-bottom: min(50px, 13vw) !important;
}
.pb70 {
  padding-bottom: min(70px, 22vw) !important;
}
.pb100 {
  padding-bottom: min(100px, 26vw) !important;
}
.mt20 {
  margin-top: min(20px, 8vw) !important;
}
.mt30 {
  margin-top: min(30px, 11vw) !important;
}
.mt40 {
  margin-top: min(40px, 12vw) !important;
}
.mt50 {
  margin-top: min(50px, 13vw) !important;
}
.mt100 {
  margin-top: min(100px, 26vw) !important;
}
.mb10 {
  margin-bottom: min(10px, 4vw) !important;
}
.mb20 {
  margin-bottom: min(20px, 8vw) !important;
}
.mb30 {
  margin-bottom: min(30px, 11vw) !important;
}
.mb40 {
  margin-bottom: min(40px, 12vw) !important;
}
.mb50 {
  margin-bottom: min(50px, 13vw) !important;
}
.mb100 {
  margin-bottom: min(100px, 26vw) !important;
}
.mb200 {
  margin-bottom: min(200px, 40vw) !important;
}
.anker-m60 {
  position: relative;
}
.anker-m60 > span {
  position: absolute;
  top: max(-110px, -27vw);
}
@media screen and (min-width: 750px) {
  .anker-m60 > span {
    top: -60px;
  }
}
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
a {
  color: #1a1a1a;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
a:hover {
  text-decoration: none;
}
h1 {
  font-size: min(40px, 9vw);
  line-height: 1.2;
  font-weight: 700;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding: 10px calc(50vw - 50%);
  min-height: 75px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
h1.name {
  font-weight: 400;
  margin-bottom: 0;
}
h2 {
  font-size: min(19px, 5.06666667vw);
  font-weight: 400;
  color: #1a1a1a;
  padding: 10px 30px;
  min-height: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 750px) {
  h2 {
    font-size: 17px;
  }
}
h3 {
  font-size: min(19px, 5.06666667vw);
  font-weight: 400;
  color: #006837;
  background-color: #eee9c9;
  border-radius: 11.6px;
  padding: 11px 30px;
}
@media screen and (min-width: 750px) {
  h3 {
    font-size: 17px;
  }
}
.h1 {
  font-size: min(40px, 10.66666667vw);
  line-height: 1.2;
  font-weight: 700;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding: 10px calc(50vw - 50%);
  min-height: 75px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 750px) {
  .h1 {
    font-size: 38px;
  }
}
.h1.name {
  font-weight: 400;
}
.h2 {
  font-size: min(19px, 5.06666667vw);
  font-weight: 400;
  color: #1a1a1a;
  padding: 10px 30px;
  min-height: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 750px) {
  .h2 {
    font-size: 17px;
  }
}
.h3 {
  font-size: min(19px, 5.06666667vw);
  font-weight: 400;
  color: #006837;
  background-color: #eee9c9;
  border-radius: 11.6px;
  padding: 11px 30px;
}
@media screen and (min-width: 750px) {
  .h3 {
    font-size: 17px;
  }
}
h4 {
  position: relative;
  font-size: min(19px, 5.06666667vw);
  font-weight: 400;
  color: #006837;
  border: 1px solid #009145;
  padding: 10px 30px 5px;
}
@media screen and (min-width: 750px) {
  h4 {
    font-size: 17px;
  }
}
h5 {
  font-size: min(19px, 5.06666667vw);
  font-weight: 700;
  color: #006837;
}
@media screen and (min-width: 750px) {
  h5 {
    font-size: 17px;
  }
}
h6 {
  font-size: min(19px, 5.06666667vw);
  font-weight: 400;
  color: #1a1a1a;
  line-height: 1.2;
  margin-top: 0.2em;
  margin-bottom: 0.4em;
}
@media screen and (min-width: 750px) {
  h6 {
    font-size: 17px;
  }
}
ul {
  padding: 0px;
  margin: 0px;
  list-style: circle;
  font-size: min(20px, 5.33333333vw);
  line-height: 1.55;
}
@media screen and (min-width: 750px) {
  ul {
    font-size: 18px;
  }
}
ul > li {
  position: relative;
  margin-left: 1em;
  padding: 0px;
}
ul.arrow {
  padding: 0px;
  margin: 0px;
  list-style: none;
  font-size: min(20px, 5.33333333vw);
  line-height: 1.4;
}
@media screen and (min-width: 750px) {
  ul.arrow {
    font-size: 18px;
  }
}
ul.arrow.fs17 {
  font-size: min(19px, 5.06666667vw);
  line-height: 1.4;
}
@media screen and (min-width: 750px) {
  ul.arrow.fs17 {
    font-size: 17px;
  }
}
ul.arrow > li {
  position: relative;
  padding: 0px 0px 0px 1em;
  margin-bottom: 8px;
}
ul.arrow > li:before {
  position: absolute;
  top: 0.5em;
  left: 1px;
  width: 0px;
  height: 0px;
  border-radius: inherit;
  border: 0.27em solid transparent;
  border-left: 0.4em solid #1a1a1a;
  content: "";
}
ul.dot {
  padding: 0px;
  margin: 0px;
  list-style: none;
  font-size: min(20px, 5.33333333vw);
  line-height: 1.55;
}
@media screen and (min-width: 750px) {
  ul.dot {
    font-size: 18px;
  }
}
ul.dot > li {
  position: relative;
  padding: 0px 0px 0px 1em;
}
ul.dot > li:before {
  position: absolute;
  top: 0.5em;
  left: 1px;
  width: 0px;
  height: 0px;
  border-radius: 0.2em;
  border: 0.2em solid #009145;
  content: "";
}
ul.green,
ul.list_triangle {
  padding: 0px;
  margin: 0px;
  list-style: none;
}
ul.green > li,
ul.list_triangle > li {
  position: relative;
  padding: 0px 0px 0px 1em;
}
ul.green > li:before,
ul.list_triangle > li:before {
  position: absolute;
  top: 0.5em;
  left: 1px;
  width: 0px;
  height: 0px;
  border-radius: inherit;
  border: 0.3em solid transparent;
  border-left: 0.45em solid #009145;
  content: "";
}
ol {
  margin-top: 0.3em;
  padding-left: 1.5em;
  list-style-type: none;
  counter-reset: item_1st;
}
ol > li {
  margin-bottom: 0.3em;
  position: relative;
}
ol > li:before {
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
  content: counter(item_1st, decimal) ". ";
  position: absolute;
  left: -3em;
  text-align: right;
  width: 2.5em;
  counter-increment: item_1st;
}
ol > li > ol {
  margin-top: 0.3em;
  padding-left: 1.5em;
  list-style-type: none;
  counter-reset: item_2nd;
}
ol > li > ol > li {
  margin-bottom: 0.1em;
  position: relative;
}
ol > li > ol > li:before {
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
  content: counter(item_2nd, decimal) "）";
  position: absolute;
  left: -2.5em;
  text-align: right;
  width: 2.5em;
  counter-increment: item_2nd;
}
table {
  border-collapse: collapse;
}
table tr th {
  border: solid 2px #bac9d1;
  padding: min(5px, 1.3vw) min(10px, 2.6vw);
  font-size: min(20px, 5.33333333vw);
}
@media screen and (min-width: 750px) {
  table tr th {
    font-size: 18px;
  }
}
@media screen and (min-width: 750px) {
  table tr th {
    text-align: center;
    padding: 10px 30px;
  }
}
table tr td {
  border: solid 2px #bac9d1;
  padding: min(5px, 1.3vw) min(10px, 2.6vw);
  font-size: min(20px, 5.33333333vw);
  word-wrap: anywhere;
}
@media screen and (min-width: 750px) {
  table tr td {
    font-size: 18px;
  }
}
@media screen and (min-width: 750px) {
  table tr td {
    width: -70%;
    padding: 5px 10px;
  }
}
table.fixed {
  table-layout: fixed;
  width: 100%;
}
table.full {
  width: 800px;
}
.news_list_top {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  width: calc(100% - 60px);
  margin-top: 30px;
  margin-left: 30px;
  margin-right: 30px;
}
@media screen and (min-width: 850px) {
  .news_list_top {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}
.news_list_top .news_thumbindex {
  list-style: none;
}
.news_list_top .news_thumbindex li {
  margin-left: 0;
  margin-bottom: 40px;
}
.news_list_top .news_thumbindex li > div,
.news_list_top .news_thumbindex li > a {
  padding: 0;
}
@media screen and (min-width: 850px) {
  .news_list_top .news_thumbindex li > div,
  .news_list_top .news_thumbindex li > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 24px;
  }
}
.news_list_top .news_thumbindex li > div .thumb,
.news_list_top .news_thumbindex li > a .thumb {
  margin-bottom: 20px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  aspect-ratio: 0.7;
  background-color: rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 850px) {
  .news_list_top .news_thumbindex li > div .thumb,
  .news_list_top .news_thumbindex li > a .thumb {
    margin-bottom: 0;
    margin-left: calc((100% - 24px) / 2 - 215px);
    width: 215px;
  }
}
.news_list_top .news_thumbindex li > div .thumb img,
.news_list_top .news_thumbindex li > a .thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.news_list_top .news_thumbindex li > div .thumb_r,
.news_list_top .news_thumbindex li > a .thumb_r {
  margin-bottom: 20px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  aspect-ratio: 1.42857143;
  background-color: rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 850px) {
  .news_list_top .news_thumbindex li > div .thumb_r,
  .news_list_top .news_thumbindex li > a .thumb_r {
    margin-bottom: 0;
    margin-left: calc((100% - 24px) / 2 - 215px);
    width: 215px;
  }
}
.news_list_top .news_thumbindex li > div .thumb_r img,
.news_list_top .news_thumbindex li > a .thumb_r img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
@media screen and (min-width: 850px) {
  .news_list_top .news_thumbindex li > div .text,
  .news_list_top .news_thumbindex li > a .text {
    width: calc((100% - 24px) / 2);
    padding: 12px;
  }
}
.news_list_top .news_thumbindex li > div .text .date,
.news_list_top .news_thumbindex li > a .text .date {
  font-size: 15px;
  margin-bottom: 15px;
}
.news_list_top .news_thumbindex li > div .text .title,
.news_list_top .news_thumbindex li > a .text .title {
  font-size: 18px;
  margin-bottom: 15px;
}
.news_list_top .news_thumbindex li > div .text .body,
.news_list_top .news_thumbindex li > a .text .body {
  font-size: 18px;
}
.news_list_top .news_thumbindex li a {
  font-size: 17px;
  color: #279f5d;
  text-decoration: underline;
  text-underline-offset: 10px;
  position: relative;
}
.news_list_top .news_thumbindex li a::after {
  content: "　>";
}
@media screen and (min-width: 850px) {
  .news_list_top .news_thumbindex li a {
    font-size: 14px;
  }
}
.news_list_top .news_thumbindex li a:hover {
  text-decoration-thickness: 2px;
}
.news_list {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  width: calc(100% - 60px);
  margin-top: 30px;
  margin-left: 30px;
  margin-right: 30px;
}
@media screen and (min-width: 850px) {
  .news_list {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}
.news_list .news_thumbindex {
  list-style: none;
  padding: 0;
  gap: 45px 40px;
}
@media screen and (min-width: 1136px) {
  .news_list .news_thumbindex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.news_list .news_thumbindex li {
  margin-left: 0;
  margin-bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 36px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1136px) {
  .news_list .news_thumbindex li {
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
  }
}
.news_list .news_thumbindex li .thumb {
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
  width: min(215px, 100%);
  height: 100%;
  overflow: hidden;
  aspect-ratio: 0.7;
  background-color: #bac9d1;
}
@media screen and (min-width: 850px) {
  .news_list .news_thumbindex li .thumb {
    margin-bottom: 0;
    width: 215px;
  }
}
.news_list .news_thumbindex li .thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
@media screen and (min-width: 850px) {
  .news_list .news_thumbindex li .text {
    width: 215px;
    padding: 12px 0;
    margin-left: auto;
    margin-right: auto;
  }
}
.news_list .news_thumbindex li .text .date {
  font-size: 18.5px;
  margin-bottom: 15px;
}
@media screen and (min-width: 850px) {
  .news_list .news_thumbindex li .text .date {
    font-size: 15px;
  }
}
.news_list .news_thumbindex li .text .title {
  font-size: 22px;
  margin-bottom: 15px;
}
@media screen and (min-width: 850px) {
  .news_list .news_thumbindex li .text .title {
    font-size: 18px;
  }
}
.news_list .news_thumbindex li .text .body {
  font-size: 18px;
}
.news_list .news_thumbindex li a {
  font-size: 17px;
  color: #279f5d;
  text-decoration: underline;
  text-underline-offset: 10px;
  position: relative;
}
.news_list .news_thumbindex li a::after {
  content: "　>";
}
@media screen and (min-width: 850px) {
  .news_list .news_thumbindex li a {
    font-size: 14px;
  }
}
.news_list .news_thumbindex li a:hover {
  text-decoration-thickness: 2px;
}
.news_wrap {
  font-size: 17px;
  line-height: 2;
}
.news_wrap .title {
  font-size: 125%;
  padding: 15px 22px;
  border: 1px solid #ccc;
  line-height: 1.6;
}
.news_wrap .date {
  font-size: 15px;
}
.news_wrap .main_photo {
  margin-top: 40px;
  margin-bottom: 40px;
  margin-left: auto;
  margin-right: auto;
  width: min(406px, 100%);
  height: 100%;
  overflow: hidden;
  aspect-ratio: 0.7;
  background-color: #bac9d1;
}
.news_wrap .main_photo img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.news_wrap h2 {
  background-color: #efefef;
  border-radius: 12px;
  color: #1a1a1a;
}
.news_wrap ol,
.news_wrap ul {
  font-size: 18px;
  line-height: 1.85;
}
@media screen and (min-width: 750px) {
  .news_wrap ol,
  .news_wrap ul {
    font-size: 17px;
    line-height: 2;
  }
}
.news_wrap ol li,
.news_wrap ul li {
  margin-bottom: 0.5em;
  line-height: 1.5;
}
.news_wrap p {
  font-size: 18px;
  line-height: 1.85;
}
@media screen and (min-width: 750px) {
  .news_wrap p {
    font-size: 17px;
    line-height: 2;
  }
}
.news_wrap h2 + * {
  padding-left: 30px;
}
.contents_wrap {
  width: 100%;
  margin-top: min(30px, 8vw);
  margin-bottom: min(80px, 21.3vw);
}
.contents_wrap h2 {
  margin-top: min(30px, 8vw);
  font-size: min(22px, 5.86vw);
  font-weight: 700;
  color: #006837;
  background-color: #eee9c9;
  border-radius: 11.6px;
  padding: 11px 15px;
  text-align: left;
}
@media screen and (min-width: 750px) {
  .contents_wrap h2 {
    padding: 11px 30px;
  }
}
.contents_wrap .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 10px;
  padding-right: 0;
  font-size: min(20px, 5.33333333vw);
}
@media screen and (min-width: 750px) {
  .contents_wrap .info {
    font-size: 18px;
  }
}
@media screen and (min-width: 750px) {
  .contents_wrap .info {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}
.contents_wrap .info .date {
  width: 130px;
  font-size: min(20px, 5.33333333vw);
  margin-bottom: 5px;
}
@media screen and (min-width: 750px) {
  .contents_wrap .info .date {
    font-size: 18px;
  }
}
@media screen and (min-width: 750px) {
  .contents_wrap .info .date {
    margin-bottom: 0;
  }
}
.contents_wrap .info .title {
  position: relative;
  width: 100%;
  line-height: 1.4;
}
@media screen and (min-width: 750px) {
  .contents_wrap .info .title {
    width: calc(100% - 130px);
    line-height: 1.55;
  }
}
.contents_wrap .info .title > span {
  position: absolute;
  left: min(130px, 38vw);
  top: max(-34px, -9.7vw);
}
@media screen and (min-width: 750px) {
  .contents_wrap .info .title > span {
    position: initial;
  }
}
.contents_wrap p {
  font-size: min(20px, 5.33333333vw);
  margin-bottom: min(20px, 5.3vw);
  line-height: 1.94;
}
@media screen and (min-width: 750px) {
  .contents_wrap p {
    font-size: 18px;
  }
}
.contents_wrap p.fs35,
.contents_wrap p .fs35 {
  font-size: min(37px, 9.86666667vw);
  line-height: 1.4;
}
@media screen and (min-width: 750px) {
  .contents_wrap p.fs35,
  .contents_wrap p .fs35 {
    font-size: 35px;
  }
}
.contents_wrap p.fs26,
.contents_wrap p .fs26 {
  font-size: min(28px, 7.46666667vw);
  line-height: 1.4;
}
@media screen and (min-width: 750px) {
  .contents_wrap p.fs26,
  .contents_wrap p .fs26 {
    font-size: 26px;
  }
}
.contents_wrap p.name,
.contents_wrap p .name {
  font-size: min(22px, 5.86666667vw);
  color: #006837;
  font-weight: 700;
  line-height: 1.55;
  margin-top: 15px;
  margin-bottom: 0;
}
@media screen and (min-width: 750px) {
  .contents_wrap p.name,
  .contents_wrap p .name {
    font-size: 20px;
  }
}
#pagination .pager-wrapper .pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  list-style: none;
  gap: 10px;
}
#pagination .pager-wrapper .pager li {
  margin-left: 0;
}
#pagination .pager-wrapper .pager li span,
#pagination .pager-wrapper .pager li a {
  border: 1px solid #595757;
  color: #595757;
  border-radius: 12px;
  display: block;
  width: min(45px, 11vw);
  height: min(45px, 11vw);
  font-size: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.2;
  margin-left: 0;
  margin-right: 0;
}
#pagination .pager-wrapper .pager li.prev span,
#pagination .pager-wrapper .pager li.prev a {
  border: 1px solid #595757;
  color: #595757;
  border-radius: 100px;
  margin-left: 0;
  margin-right: 0;
}
#pagination .pager-wrapper .pager li.prev.disabled span {
  border: 1px solid rgba(89, 87, 87, 0.1);
  color: rgba(89, 87, 87, 0.5);
  background-color: rgba(89, 87, 87, 0.1);
}
#pagination .pager-wrapper .pager li.next span,
#pagination .pager-wrapper .pager li.next a {
  border: 1px solid #595757;
  color: #595757;
  border-radius: 100px;
  margin-left: 0;
  margin-right: 0;
}
#pagination .pager-wrapper .pager li.next.disabled span {
  border: 1px solid rgba(89, 87, 87, 0.1);
  color: rgba(89, 87, 87, 0.5);
  background-color: rgba(89, 87, 87, 0.1);
}
#pagination .pager-wrapper .pager li.active span,
#pagination .pager-wrapper .pager li.active a {
  border: 1px solid #595757;
  color: #595757;
  background-color: #f4e829;
}
#pagination .pager-wrapper .pager li.top span,
#pagination .pager-wrapper .pager li.top a {
  border: 1px solid #595757;
  color: #595757;
  border-radius: 100px;
  margin-left: 0;
  margin-right: 0;
}
#pagination .pager-wrapper .pager li.top.disabled span {
  border: 1px solid rgba(89, 87, 87, 0.1);
  color: rgba(89, 87, 87, 0.5);
  background-color: rgba(89, 87, 87, 0.1);
}
#pagination .pager-wrapper .pager li.end span,
#pagination .pager-wrapper .pager li.end a {
  border: 1px solid #595757;
  color: #595757;
  border-radius: 100px;
  margin-left: 0;
  margin-right: 0;
}
#pagination .pager-wrapper .pager li.end.disabled span {
  border: 1px solid rgba(89, 87, 87, 0.1);
  color: rgba(89, 87, 87, 0.5);
  background-color: rgba(89, 87, 87, 0.1);
}
#pagination .pager-wrapper .pager li.hellip span {
  border: none;
  width: auto;
  margin-left: 0;
  margin-right: 0;
}
.profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.65;
}
@media screen and (min-width: 750px) {
  .profile {
    display: block;
  }
}
.profile p {
  font-size: min(19px, 5.06666667vw);
}
@media screen and (min-width: 750px) {
  .profile p {
    font-size: 17px;
  }
}
.profile img {
  text-align: center;
  width: 158px;
  height: auto;
  vertical-align: bottom;
  margin: 10px;
}
@media screen and (min-width: 750px) {
  .profile img {
    float: right;
    margin: 0 0 10px 30px;
  }
}
.profile:after {
  content: "";
  display: block;
  clear: both;
}
.btn_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: min(30px, 8vw);
}
.btn_link a {
  background-color: #b9dcc5;
  color: #1a1a1a;
  text-decoration: none;
  height: min(85px, 20vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 12px;
  width: min(300px, 80vw);
  border: solid 2px transparent;
}
.btn_link a span {
  font-size: min(18px, 5.9vw);
  font-weight: 400;
}
.btn_link a:hover {
  text-decoration: none;
  border: solid 2px #009844;
}
.toppage .btn_form {
  margin-top: 97px;
}
aside.nav {
  background-color: #279f5d;
  position: fixed;
  top: 40px;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 100%;
  z-index: 98;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
@media screen and (min-width: 850px) {
  aside.nav {
    top: 0;
  }
}
aside.nav .menu_btn {
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 66px;
  cursor: pointer;
}
aside.nav .menu_btn span {
  position: relative;
}
aside.nav .menu_btn span:before {
  top: 28px;
  left: 19px;
  content: "";
  width: 22px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
aside.nav .menu_btn span:after {
  top: 36px;
  left: 19px;
  content: "";
  width: 22px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
aside.nav .wrap nav {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  margin-top: 48px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
aside.nav .wrap nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 25px;
  width: 100%;
  list-style: none;
}
aside.nav .wrap nav ul li {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 0;
  margin: 0;
  width: 60px;
}
aside.nav .wrap nav ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  width: 100%;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}
aside.nav .wrap nav ul li a span {
  position: relative;
}
aside.nav .wrap nav ul li a span::before {
  padding-bottom: 0.3em;
  content: "●";
  color: #fff;
}
aside.nav .wrap nav ul li a.icon_logo {
  display: none;
}
aside.nav .wrap nav ul li a.icon_yellow span::before {
  color: #fff000;
}
aside.nav .wrap nav ul li a.icon_orange span::before {
  color: #ef8200;
}
aside.nav .wrap nav ul li a.icon_red span::before {
  color: #e50012;
}
aside.nav .wrap nav ul li a.icon_blue span::before {
  color: #2c4197;
}
aside.nav .wrap nav ul li a:hover {
  text-decoration: none;
}
aside.nav .wrap nav ul li a:hover.icon_yellow span::before,
aside.nav .wrap nav ul li a:hover.icon_orange span::before,
aside.nav .wrap nav ul li a:hover.icon_red span::before,
aside.nav .wrap nav ul li a:hover.icon_blue span::before {
  color: #fff;
}
aside.nav .wrap nav ul li:before {
  content: none;
}
aside.nav.active {
  width: 100%;
}
aside.nav.active .menu_btn span {
  position: relative;
}
aside.nav.active .menu_btn span:before {
  top: 32px;
  left: 19px;
  width: 22px;
  height: 2px;
  -webkit-transform: rotate(150deg);
          transform: rotate(150deg);
}
aside.nav.active .menu_btn span:after {
  top: 32px;
  left: 19px;
  width: 22px;
  height: 2px;
  -webkit-transform: rotate(-150deg);
          transform: rotate(-150deg);
}
aside.nav.active nav {
  -webkit-writing-mode: inherit;
      -ms-writing-mode: inherit;
          writing-mode: inherit;
  margin-top: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 850px) {
  aside.nav.active nav {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    margin-left: 140px;
    margin-right: 195px;
  }
}
aside.nav.active nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 25px;
  width: auto;
  list-style: none;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 850px) {
  aside.nav.active nav ul {
    width: 100%;
  }
}
aside.nav.active nav ul li {
  color: #fff;
  font-size: 25px;
  font-weight: 700;
  padding: 0;
  margin: 0;
  width: auto;
}
aside.nav.active nav ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  width: 100%;
  color: #fff;
  font-size: 25px;
  font-weight: 700;
}
@media screen and (min-width: 850px) {
  aside.nav.active nav ul li a {
    display: inline-block;
    width: auto;
  }
}
aside.nav.active nav ul li a span {
  position: relative;
}
aside.nav.active nav ul li a span::before {
  padding-bottom: 0.3em;
  content: "●";
  color: #fff;
  padding-right: 0.5em;
}
aside.nav.active nav ul li a.icon_logo {
  display: block;
  text-align: center;
  margin-top: 40px;
  margin-bottom: 20px;
}
@media screen and (min-width: 850px) {
  aside.nav.active nav ul li a.icon_logo {
    margin-top: 20px;
    margin-bottom: 40px;
    text-align: right;
  }
  aside.nav.active nav ul li a.icon_logo img {
    width: 100px;
  }
}
aside.nav.active nav ul li a.icon_yellow span::before {
  color: #fff000;
}
aside.nav.active nav ul li a.icon_orange span::before {
  color: #ef8200;
}
aside.nav.active nav ul li a.icon_red span::before {
  color: #e50012;
}
aside.nav.active nav ul li a.icon_blue span::before {
  color: #2c4197;
}
aside.nav.active nav ul li:before {
  content: none;
}
aside.marquee {
  background-color: #ef8200;
  position: fixed;
  z-index: 97;
  top: 0;
  left: 0;
  height: 40px;
  width: 100%;
}
@media screen and (min-width: 850px) {
  aside.marquee {
    top: 0;
    bottom: 0;
    right: 0;
    left: inherit;
    width: 60px;
    height: 100%;
  }
}
aside.marquee .marquee-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 40px;
}
@media screen and (min-width: 850px) {
  aside.marquee .marquee-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 850px) {
  aside.marquee .marquee-wrapper {
    height: 100%;
  }
}
aside.marquee .marquee-wrapper .marquee-content .marquee-item {
  padding-left: 30px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  white-space: nowrap;
  line-height: 40px;
}
@media screen and (min-width: 850px) {
  aside.marquee .marquee-wrapper .marquee-content .marquee-item {
    padding-left: 0;
    padding-top: 50px;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    font-size: 15px;
    line-height: 60px;
  }
}
header {
  width: 100%;
}
header > .wrap {
  width: calc(100% - 90px);
  margin-left: auto;
  margin-right: 15px;
  margin-top: 40px;
  margin-bottom: 0;
}
@media screen and (min-width: 850px) {
  header > .wrap {
    width: calc(100% - 120px);
    margin-left: 60px;
    margin-right: 60px;
    margin-top: 0;
  }
}
header > .wrap .logo {
  text-align: center;
}
header > .wrap .logo .header_logo {
  display: inline-block;
  line-height: 1.4;
  margin-top: 40px;
  margin-bottom: 20px;
}
@media screen and (min-width: 850px) {
  header > .wrap .logo .header_logo {
    margin-top: 45px;
    margin-bottom: 45px;
  }
}
header > .wrap .logo img {
  display: block;
  width: min(233px, 100%);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 850px) {
  header > .wrap .logo img {
    width: min(386px, 100%);
  }
}
header > .wrap #grid_3 {
  display: block;
}
@media screen and (min-width: 850px) {
  header > .wrap #grid_3 {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 500px, 1fr;
    grid-template-columns: 500px, 1fr;
    -ms-grid-rows: 1fr 0 1fr;
    grid-template-rows: repeat(2, 1fr);
    -ms-grid-rows: 50% ,50%;
    grid-template-rows: 50% ,50%;
    gap: 0;
    height: 1118px;
  }
  header > .wrap #grid_3 > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  header > .wrap #grid_3 > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  header > .wrap #grid_3 > *:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
  }
  header > .wrap #grid_3 > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  header > .wrap #grid_3 > *:nth-child(5) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  header > .wrap #grid_3 > *:nth-child(6) {
    -ms-grid-row: 3;
    -ms-grid-column: 5;
  }
}
@media screen and (min-width: 850px) {
  header > .wrap #grid_3 #item1 {
    width: min(395px, 85%);
    margin-left: auto;
    margin-right: auto;
  }
  header > .wrap #grid_3 #item1 .logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
    height: 100%;
  }
}
header > .wrap #grid_3 #item2 {
  aspect-ratio: 1.33333333;
}
@media screen and (min-width: 850px) {
  header > .wrap #grid_3 #item2 {
    -ms-grid-row-span: 2;
    grid-row: span 2 / span 2;
    -ms-grid-column: 2;
        grid-column-start: 2;
    -ms-grid-row: 1;
        grid-row-start: 1;
    aspect-ratio: inherit;
    width: calc(50vw - 60px);
  }
}
header > .wrap #grid_3 #item2 .visual {
  height: 100%;
  width: 100%;
}
header > .wrap #grid_3 #item3 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 60px;
}
@media screen and (min-width: 850px) {
  header > .wrap #grid_3 #item3 {
    -ms-grid-column: 1;
        grid-column-start: 1;
    -ms-grid-row: 2;
        grid-row-start: 2;
    width: min(395px, 85%);
  }
}
header > .wrap #grid_3 #item3 p {
  font-size: 20px;
  line-height: 1.7;
}
@media screen and (min-width: 850px) {
  header > .wrap #grid_3 #item3 p {
    font-size: 17px;
    line-height: 2;
  }
}
.bg_ivory > .wrap_785,
main > .wrap_785,
.bg_ivory > .wrap_987,
main > .wrap_987,
.bg_ivory > .wrap,
main > .wrap {
  width: min(980px, calc(100% - 90px));
  margin-left: auto;
  margin-right: 15px;
}
@media screen and (min-width: 850px) {
  .bg_ivory > .wrap_785,
  main > .wrap_785,
  .bg_ivory > .wrap_987,
  main > .wrap_987,
  .bg_ivory > .wrap,
  main > .wrap {
    width: min(980px, calc(100% - 150px));
    margin-right: auto;
  }
}
.bg_ivory > .wrap_785 .box,
main > .wrap_785 .box,
.bg_ivory > .wrap_987 .box,
main > .wrap_987 .box,
.bg_ivory > .wrap .box,
main > .wrap .box {
  padding: 20px 20px  30px;
}
@media screen and (min-width: 750px) {
  .bg_ivory > .wrap_785 .box,
  main > .wrap_785 .box,
  .bg_ivory > .wrap_987 .box,
  main > .wrap_987 .box,
  .bg_ivory > .wrap .box,
  main > .wrap .box {
    padding: 20px 30px;
  }
}
.bg_ivory > .wrap_785 .box.white,
main > .wrap_785 .box.white,
.bg_ivory > .wrap_987 .box.white,
main > .wrap_987 .box.white,
.bg_ivory > .wrap .box.white,
main > .wrap .box.white {
  background-color: #fff;
  border-radius: 9.4px;
}
.bg_ivory > .wrap_785 table,
main > .wrap_785 table,
.bg_ivory > .wrap_987 table,
main > .wrap_987 table,
.bg_ivory > .wrap table,
main > .wrap table {
  width: 785px;
}
.bg_ivory > .wrap_785,
main > .wrap_785 {
  width: min(785px, calc(100% - 90px));
  margin-left: auto;
  margin-right: 15px;
}
@media screen and (min-width: 850px) {
  .bg_ivory > .wrap_785,
  main > .wrap_785 {
    width: min(785px, calc(100% - 150px));
    margin-right: auto;
  }
}
.bg_ivory > .wrap_987,
main > .wrap_987 {
  width: min(987px, calc(100% - 90px));
  margin-left: auto;
  margin-right: 15px;
}
@media screen and (min-width: 850px) {
  .bg_ivory > .wrap_987,
  main > .wrap_987 {
    width: min(987px, calc(100% - 150px));
    margin-right: auto;
  }
}
.bg_ivory > .wrap_987 table,
main > .wrap_987 table {
  width: 987px;
}
@media screen and (max-width: 849px) {
  .bg_ivory > .spm_30,
  main > .spm_30 {
    width: min(785px, calc(100% - 120px));
    margin-left: auto;
    margin-right: 30px;
  }
}
.bg_ivory .bg_ivory,
main .bg_ivory {
  background-color: #faf6ed;
}
footer {
  border-top: 1px solid #279f5d;
  padding-top: 60px;
  padding-bottom: 50px;
}
footer > .wrap {
  width: min(980px, calc(100% - 90px));
  margin-left: 75px;
  margin-right: auto;
}
@media screen and (min-width: 850px) {
  footer > .wrap {
    width: min(980px, calc(100% - 150px));
    margin-left: auto;
    margin-right: auto;
  }
}
footer > .wrap > .inner p {
  font-size: min(19px, 5.06666667vw);
  line-height: 1.42;
}
@media screen and (min-width: 750px) {
  footer > .wrap > .inner p {
    font-size: 17px;
  }
}
footer > .wrap > .inner .colm2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 35px;
}
@media screen and (min-width: 850px) {
  footer > .wrap > .inner .colm2 {
    gap: 40px;
    -webkit-box-orient: unset;
    -webkit-box-direction: unset;
        -ms-flex-direction: unset;
            flex-direction: unset;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width: 1240px) {
  footer > .wrap > .inner .colm2 {
    gap: 80px;
  }
}
@media screen and (min-width: 850px) {
  footer > .wrap > .inner .colm2 > .inner.note_warp {
    margin-top: 40px;
  }
}
@media screen and (min-width: 1240px) {
  footer > .wrap > .inner .colm2 > .inner.note_warp {
    margin-top: 0px;
  }
}
footer > .wrap > .inner .colm2 > .inner .footer_logo {
  display: block;
}
footer > .wrap > .inner .colm2 > .inner .footer_logo img {
  width: 193px;
  height: auto;
}
footer > .wrap > .inner .colm2 > .inner p {
  font-size: min(19px, 5.06666667vw);
  line-height: 1.42;
}
@media screen and (min-width: 750px) {
  footer > .wrap > .inner .colm2 > .inner p {
    font-size: 17px;
  }
}
footer > .wrap > .inner .colm2 > .inner p.copyright {
  font-size: 82%;
  margin-top: 1.5em;
}
footer > .wrap > .inner .colm2 > .inner p.note {
  font-size: 82%;
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.57;
}
@media screen and (min-width: 850px) {
  footer > .wrap > .inner .colm2 > .inner p.note {
    white-space: nowrap;
  }
}
footer > .wrap > .inner .colm2 > .inner p.note a {
  display: inline;
}
footer > .wrap > .inner .colm2 > .inner .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 35px 60px;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1240px) {
  footer > .wrap > .inner .colm2 > .inner .info {
    -webkit-box-orient: unset;
    -webkit-box-direction: unset;
        -ms-flex-direction: unset;
            flex-direction: unset;
  }
}
.photo_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 35px;
}
.photo_list .item {
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
}
@media screen and (min-width: 850px) {
  .photo_list .item {
    width: calc((100% - 35px) / 2);
  }
}
.photo_list .item .thumb {
  width: 100%;
  height: 100%;
  overflow: hidden;
  aspect-ratio: 1.33333333;
  background-color: rgba(0, 0, 0, 0.1);
}
.photo_list .item .thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.shop_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
  margin-top: 20px;
}
@media screen and (min-width: 850px) {
  .shop_list {
    gap: 60px 30px;
    margin-top: 0;
  }
}
.shop_list .item {
  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: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
}
@media screen and (min-width: 850px) {
  .shop_list .item {
    width: calc((100% - 30px * 2) / 3);
  }
}
.shop_list .item .thumb {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1.33333333;
  background-color: rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 850px) {
  .shop_list .item .thumb {
    max-width: 240px;
  }
}
.shop_list .item .thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.shop_list .item p.name {
  color: #1a1a1a;
  font-size: 18px;
  text-align: center;
  line-height: 1.2;
}
.shop_list .item a {
  color: #279f5d;
  text-decoration: underline;
  text-underline-offset: 10px;
  position: relative;
}
.shop_list .item a::after {
  content: "　>";
}
.shop_list .item a:hover {
  text-decoration-thickness: 2px;
}
.download_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(30px, 8vw);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: min(30px, 8vw);
}
.download_wrap a {
  width: 100%;
}
.download_wrap a.download {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-image: url(../img/icon/none.svg);
  background-repeat: no-repeat;
  background-position: left 27px center;
  background-size: 80px;
  background-color: #fff;
  padding-left: 1.5em;
  color: #4D4D4D;
  border: solid 2px #808080;
  border-radius: 12px;
  padding: 16px 10px 16px 138px;
  min-height: min(100px, 28.5vw);
  line-height: 1.6;
  font-size: min(18px, 4.8vw);
}
.download_wrap a.download span {
  display: -webkit-box;
  line-clamp: 4;
  -webkit-line-clamp: 4;
  overflow: hidden;
}
@media only screen and (min-width: 750px) {
  .download_wrap a.download span {
    line-clamp: 3;
    -webkit-line-clamp: 3;
  }
}
.download_wrap a.download:hover {
  text-decoration: underline;
}
.download_wrap a.download.zip,
.download_wrap a.download[href$=".zip"] {
  background-image: url(../img/icon/zip.svg);
  /*
				&:hover{
				}
*/
}
.download_wrap a.download.pdf,
.download_wrap a.download[href$=".pdf"] {
  background-image: url(../img/icon/pdf.svg);
  /*
				&:hover{
				}
*/
}
.download_wrap a.download.doc,
.download_wrap a.download.docx,
.download_wrap a.download[href$=".doc"],
.download_wrap a.download[href$=".docx"] {
  background-image: url(../img/icon/doc.svg);
  /*
				&:hover{
				}
*/
}
.download_wrap a.download.xls,
.download_wrap a.download.xlsx,
.download_wrap a.download[href$=".xls"],
.download_wrap a.download[href$=".xlsx"] {
  background-image: url(../img/icon/xls.svg);
  /*
				&:hover{
				}
*/
}
.download_wrap.single {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.download_wrap.single a {
  width: min(383px, 100%);
}
#btn_pagetop {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 97;
  cursor: pointer;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  display: block;
  height: min(77px, 20vw);
  width: min(77px, 20vw);
  background-image: url(../img/totop.svg);
  background-repeat: no-repeat;
  background-size: min(77px, 20vw);
  background-position: center;
  border-radius: 100px;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
}
@media screen and (min-width: 850px) {
  #btn_pagetop {
    background-size: auto;
    height: 77px;
    width: 77px;
    right: 150px;
    bottom: 32px;
  }
}
#btn_pagetop.show {
  pointer-events: auto;
  opacity: 1;
}
#btn_pagetop:hover {
  background-image: url(../img/totop_hover.svg);
}
.contents_box {
  padding-left: 30px;
}
.contents_box p {
  font-size: min(19px, 5.06666667vw);
  line-height: 2;
}
@media screen and (min-width: 750px) {
  .contents_box p {
    font-size: 17px;
  }
}
.recommended {
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 15px 20px;
  background-color: #fffcf0;
  border-radius: 10px;
}
@media screen and (min-width: 850px) {
  .recommended {
    margin-top: 40px;
    margin-bottom: 40px;
    padding: 40px 50px;
  }
}
.recommended p {
  font-size: min(19px, 5.06666667vw);
  line-height: 2;
}
@media screen and (min-width: 750px) {
  .recommended p {
    font-size: 17px;
  }
}
.sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  margin-bottom: 30px;
}
.movie {
  margin-top: min(30px, 8vw);
  margin-bottom: min(30px, 8vw);
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.77777778;
  background-color: #fff;
}
.movie iframe {
  border: none;
}
.gmap iframe {
  aspect-ratio: 0.75;
  max-width: 1000px;
  width: 100%;
  height: auto;
  border: none;
}
@media screen and (min-width: 850px) {
  .gmap iframe {
    aspect-ratio: 1.77777778;
  }
}
.photo {
  width: 100%;
  aspect-ratio: 1.33333333;
  margin-bottom: 20px;
  background-color: rgba(0, 0, 0, 0.1);
}
.photo img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.iblock {
  display: inline-block;
}
h1 {
  margin-bottom: 40px;
}
p + h2 {
  margin-top: 40px;
}
* + h2 {
  margin-top: 40px;
}
h2 + * {
  margin-top: 20px;
}
* + table {
  margin-top: 40px;
}
.mb10 + * {
  margin-top: min(10px, 4vw);
}
div.center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
p {
  font-size: min(20px, 5.33333333vw);
  line-height: 1.88;
}
@media screen and (min-width: 750px) {
  p {
    font-size: 18px;
  }
}
p span.paragraph_indent {
  padding-left: 1em;
}
p.justify {
  text-align: justify;
}
p.note {
  font-size: 82%;
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.57;
}
p.note a {
  display: inline;
}
p.center {
  text-align: center;
}
p.location {
  background-color: #279f5d;
  color: #fff;
  font-size: 16px;
  text-transform: uppercase;
  width: 65px;
  height: 28px;
  text-align: center;
  line-height: 1.2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
p.fs24,
h2.fs24,
h3.fs24,
span.fs24,
p .fs24,
h2 .fs24,
h3 .fs24,
span .fs24 {
  font-size: min(26px, 6.93333333vw);
  line-height: 1.4;
}
@media screen and (min-width: 750px) {
  p.fs24,
  h2.fs24,
  h3.fs24,
  span.fs24,
  p .fs24,
  h2 .fs24,
  h3 .fs24,
  span .fs24 {
    font-size: 24px;
  }
}
p.fs21,
h2.fs21,
h3.fs21,
span.fs21,
p .fs21,
h2 .fs21,
h3 .fs21,
span .fs21 {
  font-size: min(23px, 6.13333333vw);
  line-height: 1.7;
}
@media screen and (min-width: 750px) {
  p.fs21,
  h2.fs21,
  h3.fs21,
  span.fs21,
  p .fs21,
  h2 .fs21,
  h3 .fs21,
  span .fs21 {
    font-size: 21px;
  }
}
p.fs35,
h2.fs35,
h3.fs35,
span.fs35,
p .fs35,
h2 .fs35,
h3 .fs35,
span .fs35 {
  font-size: min(37px, 9.86666667vw);
  line-height: 1.4;
}
@media screen and (min-width: 750px) {
  p.fs35,
  h2.fs35,
  h3.fs35,
  span.fs35,
  p .fs35,
  h2 .fs35,
  h3 .fs35,
  span .fs35 {
    font-size: 35px;
  }
}
p.fs31,
h2.fs31,
h3.fs31,
span.fs31,
p .fs31,
h2 .fs31,
h3 .fs31,
span .fs31 {
  font-size: min(33px, 8.8vw);
  line-height: 1.7;
}
@media screen and (min-width: 750px) {
  p.fs31,
  h2.fs31,
  h3.fs31,
  span.fs31,
  p .fs31,
  h2 .fs31,
  h3 .fs31,
  span .fs31 {
    font-size: 31px;
  }
}
p.fs17,
h2.fs17,
h3.fs17,
span.fs17,
p .fs17,
h2 .fs17,
h3 .fs17,
span .fs17 {
  font-size: min(19px, 5.06666667vw);
  line-height: 2;
}
@media screen and (min-width: 750px) {
  p.fs17,
  h2.fs17,
  h3.fs17,
  span.fs17,
  p .fs17,
  h2 .fs17,
  h3 .fs17,
  span .fs17 {
    font-size: 17px;
  }
}
p.fs15,
h2.fs15,
h3.fs15,
span.fs15,
p .fs15,
h2 .fs15,
h3 .fs15,
span .fs15 {
  font-size: min(17px, 4.53333333vw);
  line-height: 2.26;
}
@media screen and (min-width: 750px) {
  p.fs15,
  h2.fs15,
  h3.fs15,
  span.fs15,
  p .fs15,
  h2 .fs15,
  h3 .fs15,
  span .fs15 {
    font-size: 15px;
  }
}
p.s_learge,
h2.s_learge,
h3.s_learge,
span.s_learge,
p.p_learge,
h2.p_learge,
h3.p_learge,
span.p_learge,
p.learge,
h2.learge,
h3.learge,
span.learge {
  font-size: 120%;
}
p.s_small,
h2.s_small,
h3.s_small,
span.s_small,
p.p_small,
h2.p_small,
h3.p_small,
span.p_small,
p.small,
h2.small,
h3.small,
span.small {
  font-size: 80%;
}
h2.fs35,
h2 .fs35 {
  font-size: min(37px, 9vw);
  line-height: 1.4;
}
h1.bg_yellow,
h2.bg_yellow,
h3.bg_yellow,
h4.bg_yellow,
h5.bg_yellow,
h6.bg_yellow,
table.bg_yellow,
tr.bg_yellow,
td.bg_yellow,
ul.bg_yellow,
ol.bg_yellow,
li.dt.bg_yellow,
dd.bg_yellow,
p.bg_yellow,
span.bg_yellow,
b.bg_yellow,
strong.bg_yellow,
e.bg_yellow {
  background-color: #fff000;
}
h1.bg_orange,
h2.bg_orange,
h3.bg_orange,
h4.bg_orange,
h5.bg_orange,
h6.bg_orange,
table.bg_orange,
tr.bg_orange,
td.bg_orange,
ul.bg_orange,
ol.bg_orange,
li.dt.bg_orange,
dd.bg_orange,
p.bg_orange,
span.bg_orange,
b.bg_orange,
strong.bg_orange,
e.bg_orange {
  background-color: #ef8200;
}
h1.bg_red,
h2.bg_red,
h3.bg_red,
h4.bg_red,
h5.bg_red,
h6.bg_red,
table.bg_red,
tr.bg_red,
td.bg_red,
ul.bg_red,
ol.bg_red,
li.dt.bg_red,
dd.bg_red,
p.bg_red,
span.bg_red,
b.bg_red,
strong.bg_red,
e.bg_red {
  background-color: #e50012;
}
h1.bg_blue,
h2.bg_blue,
h3.bg_blue,
h4.bg_blue,
h5.bg_blue,
h6.bg_blue,
table.bg_blue,
tr.bg_blue,
td.bg_blue,
ul.bg_blue,
ol.bg_blue,
li.dt.bg_blue,
dd.bg_blue,
p.bg_blue,
span.bg_blue,
b.bg_blue,
strong.bg_blue,
e.bg_blue {
  background-color: #2c4197;
}
h1.bg_green,
h2.bg_green,
h3.bg_green,
h4.bg_green,
h5.bg_green,
h6.bg_green,
table.bg_green,
tr.bg_green,
td.bg_green,
ul.bg_green,
ol.bg_green,
li.dt.bg_green,
dd.bg_green,
p.bg_green,
span.bg_green,
b.bg_green,
strong.bg_green,
e.bg_green {
  background-color: #279f5d;
}
h1.bg_green,
h2.bg_green,
h3.bg_green,
h4.bg_green,
h5.bg_green,
h6.bg_green,
table.bg_green,
tr.bg_green,
td.bg_green,
ul.bg_green,
ol.bg_green,
li.dt.bg_green,
dd.bg_green,
p.bg_green,
span.bg_green,
b.bg_green,
strong.bg_green,
e.bg_green {
  background-color: #279f5d;
}
h1.bg_lite_green,
h2.bg_lite_green,
h3.bg_lite_green,
h4.bg_lite_green,
h5.bg_lite_green,
h6.bg_lite_green,
table.bg_lite_green,
tr.bg_lite_green,
td.bg_lite_green,
ul.bg_lite_green,
ol.bg_lite_green,
li.dt.bg_lite_green,
dd.bg_lite_green,
p.bg_lite_green,
span.bg_lite_green,
b.bg_lite_green,
strong.bg_lite_green,
e.bg_lite_green {
  background-color: #b9dcc5;
}
h1.bg_lite_gray,
h2.bg_lite_gray,
h3.bg_lite_gray,
h4.bg_lite_gray,
h5.bg_lite_gray,
h6.bg_lite_gray,
table.bg_lite_gray,
tr.bg_lite_gray,
td.bg_lite_gray,
ul.bg_lite_gray,
ol.bg_lite_gray,
li.dt.bg_lite_gray,
dd.bg_lite_gray,
p.bg_lite_gray,
span.bg_lite_gray,
b.bg_lite_gray,
strong.bg_lite_gray,
e.bg_lite_gray {
  background-color: #efefef;
}
h1.bg_ivory,
h2.bg_ivory,
h3.bg_ivory,
h4.bg_ivory,
h5.bg_ivory,
h6.bg_ivory,
table.bg_ivory,
tr.bg_ivory,
td.bg_ivory,
ul.bg_ivory,
ol.bg_ivory,
li.dt.bg_ivory,
dd.bg_ivory,
p.bg_ivory,
span.bg_ivory,
b.bg_ivory,
strong.bg_ivory,
e.bg_ivory {
  background-color: #faf6ed;
}
h1.border_gray,
h2.border_gray,
h3.border_gray,
h4.border_gray,
h5.border_gray,
h6.border_gray,
table.border_gray,
tr.border_gray,
td.border_gray,
ul.border_gray,
ol.border_gray,
li.dt.border_gray,
dd.border_gray,
p.border_gray,
span.border_gray,
b.border_gray,
strong.border_gray,
e.border_gray {
  border: solid 2px #808080;
}
h1.border_blue_gray,
h2.border_blue_gray,
h3.border_blue_gray,
h4.border_blue_gray,
h5.border_blue_gray,
h6.border_blue_gray,
table.border_blue_gray,
tr.border_blue_gray,
td.border_blue_gray,
ul.border_blue_gray,
ol.border_blue_gray,
li.dt.border_blue_gray,
dd.border_blue_gray,
p.border_blue_gray,
span.border_blue_gray,
b.border_blue_gray,
strong.border_blue_gray,
e.border_blue_gray,
h1.border_gray_blue,
h2.border_gray_blue,
h3.border_gray_blue,
h4.border_gray_blue,
h5.border_gray_blue,
h6.border_gray_blue,
table.border_gray_blue,
tr.border_gray_blue,
td.border_gray_blue,
ul.border_gray_blue,
ol.border_gray_blue,
li.dt.border_gray_blue,
dd.border_gray_blue,
p.border_gray_blue,
span.border_gray_blue,
b.border_gray_blue,
strong.border_gray_blue,
e.border_gray_blue {
  border: solid 2px #bac9d1;
}
h1.border_green,
h2.border_green,
h3.border_green,
h4.border_green,
h5.border_green,
h6.border_green,
table.border_green,
tr.border_green,
td.border_green,
ul.border_green,
ol.border_green,
li.dt.border_green,
dd.border_green,
p.border_green,
span.border_green,
b.border_green,
strong.border_green,
e.border_green {
  border: solid 2px #009844;
}
h1.border_r10,
h2.border_r10,
h3.border_r10,
h4.border_r10,
h5.border_r10,
h6.border_r10,
table.border_r10,
tr.border_r10,
td.border_r10,
ul.border_r10,
ol.border_r10,
li.dt.border_r10,
dd.border_r10,
p.border_r10,
span.border_r10,
b.border_r10,
strong.border_r10,
e.border_r10 {
  border-radius: 10px;
}
h1.border_r12,
h2.border_r12,
h3.border_r12,
h4.border_r12,
h5.border_r12,
h6.border_r12,
table.border_r12,
tr.border_r12,
td.border_r12,
ul.border_r12,
ol.border_r12,
li.dt.border_r12,
dd.border_r12,
p.border_r12,
span.border_r12,
b.border_r12,
strong.border_r12,
e.border_r12 {
  border-radius: 12px;
}
h1.bold,
h2.bold,
h3.bold,
h4.bold,
h5.bold,
h6.bold,
table.bold,
tr.bold,
td.bold,
ul.bold,
ol.bold,
li.dt.bold,
dd.bold,
p.bold,
span.bold,
b.bold,
strong.bold,
e.bold {
  font-weight: 700;
}
h1.yellow,
h2.yellow,
h3.yellow,
h4.yellow,
h5.yellow,
h6.yellow,
table.yellow,
tr.yellow,
td.yellow,
ul.yellow,
ol.yellow,
li.dt.yellow,
dd.yellow,
p.yellow,
span.yellow,
b.yellow,
strong.yellow,
e.yellow {
  color: #fff000;
}
h1.s_orange,
h2.s_orange,
h3.s_orange,
h4.s_orange,
h5.s_orange,
h6.s_orange,
table.s_orange,
tr.s_orange,
td.s_orange,
ul.s_orange,
ol.s_orange,
li.dt.s_orange,
dd.s_orange,
p.s_orange,
span.s_orange,
b.s_orange,
strong.s_orange,
e.s_orange,
h1.orange,
h2.orange,
h3.orange,
h4.orange,
h5.orange,
h6.orange,
table.orange,
tr.orange,
td.orange,
ul.orange,
ol.orange,
li.dt.orange,
dd.orange,
p.orange,
span.orange,
b.orange,
strong.orange,
e.orange {
  color: #ef8200;
}
h1.s_red,
h2.s_red,
h3.s_red,
h4.s_red,
h5.s_red,
h6.s_red,
table.s_red,
tr.s_red,
td.s_red,
ul.s_red,
ol.s_red,
li.dt.s_red,
dd.s_red,
p.s_red,
span.s_red,
b.s_red,
strong.s_red,
e.s_red,
h1.red,
h2.red,
h3.red,
h4.red,
h5.red,
h6.red,
table.red,
tr.red,
td.red,
ul.red,
ol.red,
li.dt.red,
dd.red,
p.red,
span.red,
b.red,
strong.red,
e.red {
  color: #e50012;
}
h1.s_blue,
h2.s_blue,
h3.s_blue,
h4.s_blue,
h5.s_blue,
h6.s_blue,
table.s_blue,
tr.s_blue,
td.s_blue,
ul.s_blue,
ol.s_blue,
li.dt.s_blue,
dd.s_blue,
p.s_blue,
span.s_blue,
b.s_blue,
strong.s_blue,
e.s_blue,
h1.blue,
h2.blue,
h3.blue,
h4.blue,
h5.blue,
h6.blue,
table.blue,
tr.blue,
td.blue,
ul.blue,
ol.blue,
li.dt.blue,
dd.blue,
p.blue,
span.blue,
b.blue,
strong.blue,
e.blue {
  color: #2c4197;
}
h1.s_green,
h2.s_green,
h3.s_green,
h4.s_green,
h5.s_green,
h6.s_green,
table.s_green,
tr.s_green,
td.s_green,
ul.s_green,
ol.s_green,
li.dt.s_green,
dd.s_green,
p.s_green,
span.s_green,
b.s_green,
strong.s_green,
e.s_green,
h1.green,
h2.green,
h3.green,
h4.green,
h5.green,
h6.green,
table.green,
tr.green,
td.green,
ul.green,
ol.green,
li.dt.green,
dd.green,
p.green,
span.green,
b.green,
strong.green,
e.green {
  color: #279f5d;
}
h1.yellow_green,
h2.yellow_green,
h3.yellow_green,
h4.yellow_green,
h5.yellow_green,
h6.yellow_green,
table.yellow_green,
tr.yellow_green,
td.yellow_green,
ul.yellow_green,
ol.yellow_green,
li.dt.yellow_green,
dd.yellow_green,
p.yellow_green,
span.yellow_green,
b.yellow_green,
strong.yellow_green,
e.yellow_green {
  color: #39b24a;
}
h1.white50,
h2.white50,
h3.white50,
h4.white50,
h5.white50,
h6.white50,
table.white50,
tr.white50,
td.white50,
ul.white50,
ol.white50,
li.dt.white50,
dd.white50,
p.white50,
span.white50,
b.white50,
strong.white50,
e.white50 {
  color: rgba(255, 255, 255, 0.5);
}
h1.white,
h2.white,
h3.white,
h4.white,
h5.white,
h6.white,
table.white,
tr.white,
td.white,
ul.white,
ol.white,
li.dt.white,
dd.white,
p.white,
span.white,
b.white,
strong.white,
e.white {
  color: #ffffff;
}
h1.black,
h2.black,
h3.black,
h4.black,
h5.black,
h6.black,
table.black,
tr.black,
td.black,
ul.black,
ol.black,
li.dt.black,
dd.black,
p.black,
span.black,
b.black,
strong.black,
e.black {
  color: #1a1a1a;
}
h1.center,
h2.center,
h3.center,
h4.center,
h5.center,
h6.center,
table.center,
tr.center,
td.center,
ul.center,
ol.center,
li.dt.center,
dd.center,
p.center,
span.center,
b.center,
strong.center,
e.center {
  text-align: center;
}
.slider {
  overflow: hidden;
  position: relative;
  height: 100%;
  width: 100%;
}
.slider div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 10;
}
.slide_on div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 10;
  opacity: 0;
  -webkit-animation-name: slide-fade;
          animation-name: slide-fade;
  -webkit-animation-duration: 15s;
          animation-duration: 15s;
  /* 30秒に変更 */
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  /* 最初に画像を大きくしておく */
}
@-webkit-keyframes slide-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    /* ここで画像サイズを1に戻す */
  }
}
@keyframes slide-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    /* ここで画像サイズを1に戻す */
  }
}
@-webkit-keyframes slide-fade2 {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
    /* ここで画像サイズを1に戻す */
  }
  100% {
    opacity: 0;
    z-index: 0;
  }
}
@keyframes slide-fade2 {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
    /* ここで画像サイズを1に戻す */
  }
  100% {
    opacity: 0;
    z-index: 0;
  }
}
