@charset "utf-8";
/* CSS Document */
/**
目次

全体設定
ヘッダー
フッター
カラム設定
トップページ
アーカイブページ
投稿ページ
固定ページ
オリジナルパーツ
オリジナルパーツセット
個別設定

**/
/**************************全体設定***************************/
html, body {
  overflow-x: clip;
}
body, input, textarea, button, .button, .faux-button, .wp-block-button__link, .wp-block-file__button, .has-drop-cap:not(:focus)::first-letter, .entry-content .wp-block-archives, .entry-content .wp-block-categories, .entry-content .wp-block-cover-image, .entry-content .wp-block-latest-comments, .entry-content .wp-block-latest-posts, .entry-content .wp-block-pullquote, .entry-content .wp-block-quote.is-large, .entry-content .wp-block-quote.is-style-large, .entry-content .wp-block-archives *, .entry-content .wp-block-categories *, .entry-content .wp-block-latest-posts *, .entry-content .wp-block-latest-comments *, .entry-content p, .entry-content ol, .entry-content ul, .entry-content dl, .entry-content dt, .entry-content cite, .entry-content figcaption, .entry-content .wp-caption-text, .comment-content p, .comment-content ol, .comment-content ul, .comment-content dl, .comment-content dt, .comment-content cite, .comment-content figcaption, .comment-content .wp-caption-text, .widget_text p, .widget_text ol, .widget_text ul, .widget_text dl, .widget_text dt, .widget-content .rssSummary, .widget-content cite, .widget-content figcaption, .widget-content .wp-caption-text, .primary-navigation a, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, form, legend, pre, iframe, table, th, td {
  font-family: "Outfit", "Noto Sans JP", "Helvetica Neue", Helvetica, Arial, "游ゴシック", YuGothic, sans-serif;
}
#main {
  padding: 0;
}
p, table {
  font-size: 1.1rem;
  letter-spacing: 0.03rem;
  line-height: 2.3rem;
}
@media only screen and (max-width: 920px) {
  p, table {
    font-size: 0.9rem;
    line-height: 1.7rem;
  }
}
strong {
  color: #005F2E;
}
a {
  color: #005F2E;
}
img {
  width: 100%;
}
h2 {
  color: #000;
  font-weight: 700;
  font-size: 6.1vw;
  margin: 10px auto 40px;
  line-height: 6.7vw;
}
h2.h2-logo::before {
  content: "";
  display: block;
  width: 100px;
  height: 50px;
  background-image: url('img/h2logo.svg');
  background-size: contain;
  background-repeat: no-repeat;
}
h2.h2-logo.white, h2.h2-logo.white .jp {
  color: #fff;
}
h2.h2-logo .jptxt {
  font-size: 3.7rem;
  letter-spacing: 0.2rem;
}
h2.h2-logo.white::before {
  filter: brightness(0) invert(1);
}
h2.center {
  text-align: center;
}
h2.center.h2-logo::before {
  margin: 0 auto;
}
h2 .jp {
  display: block;
  font-size: 1.4vw;
  letter-spacing: 0.2vw;
  line-height: 2vw;
  margin: 10px 0;
  color: #005F2E;
}
h2 .color {
  color: #005F2E;
}
h2.sizeS {
  font-size: 4rem;
  line-height: 4rem;
  margin-bottom: 50px;
}
h2.sizeS .jp {
  margin: 10px 0 30px;
}
.middleh2 {
  text-align: center;
  font-size: 3.4rem;
  margin: 0 auto 30px;
  letter-spacing: 0.5rem;
}
h3 {
  font-weight: 500;
  font-size: 1.7rem;
  color: #005F2E;
  letter-spacing: 0.1rem;
  text-align: center;
  margin-bottom: 20px;
}
h3.step {
  text-align: left;
  color: #92D032;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 2px;
  margin: 15px auto 10px;
}
h3.step span {
  font-size: 2rem;
  margin-right: 5px;
}
.contentH3 {
  text-align: left;
  position: relative;
  font-weight: 600;
  z-index: 2;
  margin-top: 30px;
  font-size: 2.2rem;
}
.contentH3.right {
  text-align: right;
}
.contentH3 span {
  color: #ddd;
  position: absolute;
  z-index: -1;
  top: -40px;
  left: -20px;
  font-size: 3.5rem;
}
.contentH3.right span {
  left: auto;
  right: -20px;
}
h3.leftstyle {
  text-align: left;
  font-size: 2rem;
}
@media only screen and (max-width: 1200px) {
  h2 {
    font-size: 4.6rem;
    margin: 10px auto 20px;
    line-height: 4.6rem;
  }
  h2 .jp {
    font-size: 1rem;
    letter-spacing: 0.1rem;
    line-height: 1.5rem;
    margin: 10px 0;
  }
}
@media only screen and (max-width: 481.98px) {
  .contentH3, .contentH3.right {
    font-size: 1.1rem;
    text-align: left;
  }
  .contentH3 span, .contentH3.right span {
    right: auto;
    left: -15px;
  }
  h3.leftstyle {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 481.98px) {
  h2 {
    font-size: 3rem;
    line-height: 3rem;
  }
  h2.h2-logo::before {
    width: 50px;
    height: 25px;
    margin-bottom: 5px;
  }
  h2.h2-logo .jptxt {
    font-size: 2.2rem;
  }
  h2.center.h2-logo::before {
    margin: 0 auto 5px 0;
  }
  h2 .jp {
    font-size: 0.9rem;
    line-height: 1.6rem;
    letter-spacing: 0.05rem;
  }
  h2.center {
    text-align: left;
  }
  h2.sizeS {
    font-size: 2.4rem;
    line-height: 2.4rem;
  }
  .middleh2 {
    font-size: 2.2rem;
    margin: 0 auto 30px;
    letter-spacing: 0.3rem;
  }
  h3 {
    font-size: 1.5rem;
    text-align: left;
    margin-bottom: 15px;
  }
}
h4.circle {
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  margin: 30px auto 50px;
  position: relative;
}
h4.circle::after {
  position: absolute;
  content: '';
  display: block;
  background: #005F2E;
  width: 10px;
  height: 10px;
  border-radius: 50px;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: 55px;
}
@media only screen and (max-width: 481.98px) {
  h4.circle {
    margin: 10px auto 40px;
    font-size: 1.5rem;
  }
  h4.circle::after {
    width: 7px;
    height: 7px;
    top: 40px;
  }
}
/*************************ヘッダー*************************/
/* ヘッダーの動き */
#masthead {
  position: fixed; /* 固定表示 */
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000; /* 最前面に表示 */
  transition: top 0.3s ease; /* スクロールでヘッダーがスムーズに動く */
}
#masthead {
  max-width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  transition: 0.3s;
}
@media only screen and (min-width: 482px) {
  #masthead {
    padding: 0 30px;
  }
}
#masthead.scroll {
  background: #fff;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
  border-radius: 0;
  max-width: 100%;
  margin-top: -2px;
}
@media only screen and (max-width: 920px) {
  #masthead {
    padding: 0 25px 0 15px;
  }
  #masthead.scroll {
    margin-top: -2px;
  }
}
@media only screen and (max-width: 600px) {
  #masthead {
    padding: 0 22px 0 10px;
  }
}
@media only screen and (max-width: 481.98px) {
  #masthead {
    padding: 0 0 0 20px;
  }
  #masthead.scroll {
    margin: 0;
    max-width: 100%;
    background: rgb(255, 255, 255);
    height: 60px;
    border-radius: 0;
  }
}
/*ロゴ*/
@media only screen and (min-width: 482px) {
  .site-logo .custom-logo {
    max-width: 430px;
    width: 27vw;
    transition: 0.3s;
  }
  #masthead.scroll .site-logo .custom-logo {
    max-width: 240px;
    padding-top: 0;
  }
  .site-logo .custom-logo {
    padding-top: 20px;
  }
  #masthead.scroll .site-logo {
    padding-top: 0;
  }
}
@media only screen and (max-width: 920px) {
  .site-logo .custom-logo {
    max-width: 250px;
    width: 28vw;
    padding-top: 0px;
  }
  #masthead.scroll .site-logo .custom-logo {
    max-width: 190px;
  }
}
@media only screen and (max-width: 600px) {
  .site-logo .custom-logo, #masthead.scroll .site-logo .custom-logo {
    max-width: 150px;
    width: 21vw;
  }
}
@media only screen and (max-width: 481.98px) {
  .site-logo .custom-logo, #masthead.scroll .site-logo {
    padding-top: 15px !important;
  }
  .site-logo .custom-logo, #masthead.scroll .site-logo .custom-logo {
    max-width: 210px;
    width: 100%;
    height: auto !important;
  }
  #masthead.scroll .site-logo {
    padding-top: 10px !important;
  }
  #masthead.scroll .site-logo .custom-logo {
    padding-top: 0 !important;
  }
}
/*ナビ*/
.primary-navigation .primary-menu-container > ul > .menu-item:last-child a {
  background: #005F2E;
  color: #fff;
  font-size: 1rem;
  display: block;
  padding: 12px 45px 12px 23px;
  height: fit-content;
  border-radius: 50px;
  margin-top: 14px;
  position: relative;
  transition: 0.3s;
  margin-left: 10px;
}
.primary-navigation .primary-menu-container > ul > .menu-item:last-child a:hover {
  background: #000;
}
.primary-navigation .primary-menu-container > ul > .menu-item:last-child a::after {
  content: '';
  display: block;
  width: 21px;
  height: 20px;
  background-image: url('img/menuicon.png');
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 13px;
  right: 17px;
}
@media only screen and (min-width: 482px) {
  .primary-navigation .primary-menu-container > ul > .menu-item > a {
    text-align: center;
    padding: 25px 15px 25px;
    position: relative;
    font-size: 1rem;
    font-weight: 500;
  }
  .primary-navigation .primary-menu-container > ul > .menu-item > a .mini {
    display: block;
    font-size: 0.7rem;
    color: #000;
  }
  .primary-navigation .primary-menu-container > ul > .menu-item:last-child a::before {
    content: none;
  }
  .primary-navigation .current-menu-item > a:first-child::before, .primary-navigation .current_page_item > a:first-child::before {
    /**content: '';
    display: block;
    width: 7px;
    height: 7px;
    border-radius: 50px;
    background: #005F2E;
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    bottom: 12px;**/
  }
}
@media only screen and (max-width: 920px) {
  .primary-navigation .primary-menu-container > ul > .menu-item > a {
    font-size: 0.8rem;
    padding: 30px 8px 29px;
  }
  .primary-navigation .primary-menu-container > ul > .menu-item > a .mini {
    font-size: 0.7rem;
  }
  .primary-navigation .primary-menu-container > ul > .menu-item:last-child a {
    padding: 20px 13px;
    font-size: 0.7rem;
    margin-left: 10px;
    border-radius: 7px;
  }
  .primary-navigation .primary-menu-container > ul > .menu-item:last-child a::after {
    display: none;
  }
}
@media only screen and (max-width: 600px) {
  .primary-navigation .primary-menu-container > ul > .menu-item > a {
    font-size: 0.9rem;
    padding: 31px 6px 30px;
    letter-spacing: -0.5px;
  }
  .primary-navigation .primary-menu-container > ul > .menu-item:last-child a {
    padding: 20px 12.5px;
    font-size: 0.6rem;
    margin-left: 5px;
  }
}
@media only screen and (max-width: 481.98px) {
  .primary-navigation .primary-menu-container > ul > .menu-item > a {
    letter-spacing: 0;
    font-size: 1rem;
    text-align: left;
    border-bottom: 2px solid;
    padding: 10px 10px;
    margin-bottom: 10px;
    font-weight: 500;
  }
  .primary-navigation .primary-menu-container > ul > .menu-item > a .mini {
    font-size: 0.9rem;
    display: block;
  }
  .primary-navigation .primary-menu-container > ul > .menu-item:last-child a {
    font-size: 1rem;
    padding: 65px 9px 25px;
    margin: 20px 0;
    text-align: center;
  }
  .primary-navigation .primary-menu-container > ul > .menu-item:last-child a::after {
    display: block;
    width: 40px;
    height: 40px;
    top: 20px;
    right: 0;
    left: 0;
    text-align: center;
    margin: 0 auto;
  }
}
/*子メニュー*/
@media only screen and (min-width: 482px) {
  .primary-navigation > div > .menu-wrapper > li > .sub-menu li {
    width: calc(100% / 2);
  }
  .primary-navigation > div > .menu-wrapper > li > .sub-menu {
    position: fixed;
    top: 100px;
    z-index: 1200;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    border: none;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
  }
  .primary-navigation .sub-menu .menu-item > a {
    text-align: center;
    padding: 100px 0;
    transition: 0.3s;
  }
  .primary-navigation .sub-menu .menu-item > a:hover {
    background: #000;
  }
}
.primary-navigation .sub-menu {
  border: none;
  margin: 0 0 20px;
}
.primary-navigation .sub-menu .menu-item > a {
  font-size: 1rem;
  text-align: center;
  border-bottom: 1px solid;
}
/* メニュートグル有無 */
@media only screen and (min-width: 482px) {
  .primary-navigation .primary-menu-container > ul > .menu-item > a + .sub-menu-toggle {
    display: none;
  }
}
/*ナビスマホ*/
.menu-button-container #primary-mobile-menu {
  padding: 0;
  width: 35px;
  height: auto;
  margin-right: 20px;
}
.menu-button-container #primary-mobile-menu span img {
  width: 35px;
  height: auto;
}
/* ボタンスタイル */
.menu-button-container {
  position: relative;
}
@media only screen and (max-width: 481.98px) {
  .primary-navigation > .primary-menu-container {
    background: rgba(255, 255, 255, 0.95);
    padding: 20px 50px;
  }
}
/*************************フッター*************************/
.no-widgets .site-footer {
  width: 100%;
  max-width: 100%;
  padding: 0px;
}
.site-footer > .site-info {
  margin: 0;
  background: #fff;
}
.site-footer > .site-info .site-info-contents {
  display: flex;
  justify-content: center;
  max-width: 1650px;
  margin: 0 auto;
  width: 100%;
  padding: 45px 50px 60px;
}
.site-footer > .site-info .site-info-contents > .brand {
  width: 45%;
}
.site-footer > .site-info .site-info-contents > .sitemap {
  width: 55%;
}
.site-footer .site-info .site-info-contents .sitemap ul {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}
.site-footer .site-info .site-info-contents .sitemap ul li {
  width: calc(100% / 3);
  padding: 5px 20px 20px 30px;
  position: relative;
}
.site-footer .site-info .site-info-contents .sitemap ul li a {
  color: #005F2E;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 2px solid;
  display: block;
  font-size: 0.9rem;
  transition: 0.3s;
  line-height: 2rem;
}
.site-footer .site-info .site-info-contents .sitemap ul li a span {
  display: block;
  font-size: 1.4rem;
  line-height: 1rem;
  font-weight: 500;
  margin-bottom: 3px;
}
.site-footer .site-info .site-info-contents .sitemap ul li a:hover {
  padding-left: 10px;
}
.site-footer > .site-info .site-info-contents .brand {
  padding: 0 30px 0 0px;
}
.site-footer > .site-info .site-info-contents .brand img {
  width: 33vw;
  max-width: 380px;
  margin-bottom: 10px;
}
.site-footer > .site-info .site-info-contents .brand p {
  margin: 10px auto;
  font-size: 1rem;
  line-height: 1rem;
  color: #005F2E;
}
.site-footer > .site-info .site-info-contents .brand a img {
  transition: 0.3s;
}
.site-footer > .site-info .site-info-contents .brand a img:hover {
  opacity: 0.8;
}
.site-footer > .site-info .copyright {
  background: #005F2E;
  color: #fff;
  padding: 15px 10px 17px;
  text-align: center;
}
.site-footer > .site-info .copyright p {
  font-size: 0.8rem;
  line-height: 1rem;
}
.site-footer > .site-info .copyright p a {
  color: #fff;
}
@media only screen and (max-width: 1390px) {
	.site-footer .site-info .site-info-contents .sitemap ul li{
		padding: 5px 10px 20px 15px;
	}
	.site-footer .site-info .site-info-contents .sitemap ul li a span{
		font-size: 1.2rem;
	}
}
@media only screen and (max-width: 1100px) {
	.site-footer .site-info .site-info-contents .sitemap ul li{
		width: calc(100% / 2);
	}
}
@media only screen and (max-width: 920px) {
  .site-footer > .site-info .site-info-contents {
    display: block;
    padding: 40px 30px;
  }
  .site-footer > .site-info .site-info-contents > .brand {
    width: 100%;
  }
  .site-footer > .site-info .site-info-contents > .sitemap {
    width: 100%;
  }
  .site-footer .site-info .site-info-contents .sitemap ul li {
    width: calc(100% / 2);
  }
  .site-footer > .site-info .site-info-contents .brand img {
    max-width: 50%;
    width: 100%;
  }
  .site-footer > .site-info .site-info-contents .brand {
    padding: 0 10px;
    margin-bottom: 50px;
  }
  .site-footer .site-info .site-info-contents .sitemap ul li {
    padding: 0 20px 20px 20px;
  }
  .site-footer .site-info .site-info-contents .sitemap ul li a {
    font-size: 1rem;
  }
  .site-footer .site-info .site-info-contents .sitemap ul li a span {
    font-size: 1rem;
    line-height: 1rem;
  }
  .site-footer > .site-info .site-info-contents .brand p {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 600px) {
  .site-footer .site-info .site-info-contents .sitemap ul li {
    padding: 0 10px 20px 10px;
  }
  .site-footer > .site-info .site-info-contents .brand img {
    margin: 0 auto 20px;
    display: block;
    max-width: 340px;
  }
  .site-footer > .site-info .site-info-contents .brand p {
    text-align: center;
    margin: 5px auto;
  }
  .site-footer .site-info .site-info-contents .sitemap ul {
    padding: 10px 0 20px;
  }
}
/*************************カラム設定*************************/
/*幅*/
.max-900 {
  max-width: 900px;
  margin: 0 auto;
}
.max-1300 {
  max-width: 1300px;
  margin: 0 auto;
}
.max-1500 {
  max-width: 1500px;
  margin: 0 auto;
}
/*カラム枠*/
.column-1 {
  padding: 70px 5vw;
  margin: 0 auto;
}
.column-1.last-column {
  padding-bottom: 150px;
}
@media only screen and (max-width: 920px) {
  .column-1 {
    padding: 60px 40px;
  }
  .column-1.last-column {
    padding-bottom: 100px;
  }
}
@media only screen and (max-width: 481.98px) {
  .column-1 {
    padding: 60px 30px;
  }
  .column-1.last-column {
    padding-bottom: 80px;
  }
}
.column-2 {
  display: flex;
  justify-content: center;
  margin: 20px auto;
}
.column-2.align-center{
	align-items: center;
}
.column-2 > div {
  width: 50%;
  margin: 20px;
}
.column-2 img {
  border-radius: 20px;
}
@media only screen and (max-width: 920px) {
  .column-2 {
    display: block;
    width: 100%;
    padding: 0;
  }
  .column-2 > div {
    width: 100%;
    margin: 0 auto 20px;
  }
  .column-2 > div:last-child {
    margin-bottom: 0;
  }
}
.column-2-img {
  display: flex;
}
.column-2-img div.txt {
  padding: 0 4vw 0 5vw;
  width: 50%;
}
.column-2-img div.img {
  width: 50%;
  border-radius: 50px 0 0 50px;
}
.column-2-img.left-img div.img {
  border-radius: 0 50px 50px 0;
}
.column-2-img div.img.img-01 {
  background: url('img/img-01.png');
  background-size: cover;
}
.column-2-img div.img.img-02 {
  background: url('img/img-02.png');
  background-size: cover;
  background-position: center;
}
.column-2-img div.img.img-03{
  position: relative;
  overflow: hidden;
}

.column-2-img div.img.img-03::before,
.img-03::after {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: opacity 1s ease-in-out;
}

.column-2-img div.img.img-03::before {
  background-image: url('img/img-03.png');
  opacity: 1;
}

.column-2-img div.img.img-03::after {
  background-image: url('img/img-03-02.png');
  opacity: 0;
}
.column-2-img div.img.img-03.show-second::before {
  opacity: 0;
}

.column-2-img div.img.img-03.show-second::after {
  opacity: 1;
}

.column-2-img div.img.img-04 {
  background: url('img/img-04.png');
  background-size: cover;
}
.column-2-img div.img.img-05 {
  background: url('img/history/08.png');
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .column-2-img {
    display: block;
    position: relative;
  }
  .column-2-img div.txt {
    width: 100%;
    padding: 0 30px;
    padding-top: 340px;
  }
  .column-2-img div.img {
    width: 90%;
    height: 310px;
    position: absolute;
    right: 0;
    border-radius: 30px 0 0 30px;
  }
  .column-2-img.left-img div.img {
    border-radius: 0 30px 30px 0;
    right: unset;
    left: 0;
  }
}
.column-3 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.column-3 > div {
  width: calc(100% / 3 - 70px);
  margin: 35px;
}
@media only screen and (max-width: 920px) {
  .column-3 {
    padding: 0 30px;
  }
  .column-3 > div {
    width: calc(100% / 2 - 20px);
    margin: 10px;
  }
  .column-1 .column-3 {
    padding: 0;
  }
}
@media only screen and (max-width: 481.98px) {
  .column-3 {
    display: block;
  }
  .column-3 > div {
    width: 100%;
    margin: 0 auto 50px;
  }
}
.column-3-2 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.column-3-2 > div {
  width: calc(100% / 3 - 30px);
  margin: 15px;
}
@media only screen and (max-width: 920px) {
  .column-3-2 {
    justify-content: left;
  }
  .column-3-2 > div {
    width: calc(100% / 2 - 10px);
    margin: 10px;
  }
  .column-3-2 > div:nth-child(odd) {
    margin-left: 0;
  }
  .column-3-2 > div:nth-child(even) {
    margin-right: 0;
  }
}
.column-7-3 {
  display: flex;
}
.column-7-3 .contents7 {
  width: 70%;
  padding: 110px 5vw;
}
.column-7-3 .contents3 {
  width: 30%;
  background-size: cover !important;
  background-position: center !important;
  z-index: 5;
}
@media only screen and (max-width: 600px) {
  .column-7-3 {
    display: block;
  }
  .column-7-3 .contents7 {
    width: 100%;
    padding: 60px 30px;
  }
	.column-7-3 .contents3{
width: 80%;
    min-height: 390px;
    margin: 0 0 0 auto;
    border-radius: 0 0 0 20px;
	}
}
.column-6-4 {
  display: flex;
  align-items: center;
}
.column-6-4 .contents6 {
  width: 60%;
  padding: 40px 60px;
}
.column-6-4 .contents4 {
  width: 40%;
}
@media only screen and (max-width: 920px) {
	.column-6-4{
		display: block;
	}
	.column-6-4 .contents6{
		width: 100%;
		padding: 0;
    margin-top: 50px;
	}
	.column-6-4 .contents4{
		width: 100%;
	}
	.column-6-4 .slide-img-box{
		min-height: 110vw !important;
	}
	
}
/*コンテンツ並列*/
.contentX {
  display: flex;
  justify-content: center;
}
.contentX .columnin {
  display: block;
  width: 100%;
}
.Gallery-column {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.Gallery-column > div {
  padding: 10px;
}
.Gallery-column.two > div {
  width: calc(100% / 2);
}
.Gallery-column.three > div {
  width: calc(100% / 3);
}
.Gallery-column a img {
  border-radius: 20px;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
}
@media only screen and (max-width: 481.98px) {
  .Gallery-column > div {
    padding: 3px;
  }
  .Gallery-column.three > div {
    width: calc(100% / 2);
  }
}
/*************************トップページ index.php *************************/
/* ローディング画面 */
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #005F2E;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  /* フレックスボックスを使って中央揃え */
  display: flex;
  align-items: center; /* 垂直方向に中央揃え */
  justify-content: center; /* 水平方向に中央揃え */
}
#loading img {
  max-width: 500px;
  padding: 20px;
}
#loading.loaded {
  opacity: 0;
  visibility: hidden;
  overflow: visible;
}
@media only screen and (max-width: 481.98px) {
  #loading img {
    padding: 50px;
  }
}
/* TOPメイン コンテンツ部分*/
#first-view {
  margin-top: 150px;
  position: relative;
}
.video-background {
  position: relative;
  width: 100%;
  height: 50vh;
  min-height: 450px;
  overflow: hidden;
  /*  background-image: url('img/pc-image1.png'); 動画非対応時の背景 */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.bg-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 1;
  /* 右端の黒線が見えるときは、以下を微調整 */
  scale: 1.02; /* やや拡大してはみ出しを隠す */
}
/* 黒い半透明のドットフィルター */
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(rgba(0, 0, 0, 0.25) 1px, transparent 1px);
  background-size: 4px 4px;
  z-index: 2;
  pointer-events: none;
}
/* iPad以下の調整 */
@media screen and (max-width: 768px) {
  .bg-video {
    object-fit: cover;
    object-position: center;
  }
}
@media only screen and (max-width: 481.98px) {
  .overlay {
    display: none;
  }
  .video-background {
    height: 30vh;
    min-height: 250px;
  }
  .bg-video {
    min-width: auto;
    min-height: 100%;
    width: auto;
    height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    scale: 1.05; /* 余白ができる場合は微調整 */
  }
}
.back-slideshow {
  max-width: 75vw;
  margin: 0 0 0 auto;
}
.catch-area-back::after {
  content: '';
  width: 100vw;
  display: block;
  background: #005F2E;
  height: 24vw;
  position: absolute;
  top: 7vw;
  left: 0;
  z-index: -5;
}
.back-slideshow div {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 50vw;
  max-height: 85vh;
  margin: 0;
  position: relative;
  border-radius: 100px 0 0 0;
  z-index: 1;
}
.back-slideshow div.img01 {
  background-image: url('img/pc-image1.png');
  background-position: top;
}
.back-slideshow div.img02 {}
.back-slideshow .slick-dots {
  display: none;
}
.slick-initialized .slick-slide {
  min-height: 500px;
}
@media only screen and (min-width: 1600px) {
  #first-view {
    margin-top: 180px;
  }
}
@media only screen and (max-width: 920px) {
  #first-view {
    margin-top: 110px;
  }
  .back-slideshow div {
    height: 62vw;
    top: 0px;
  }
  .catch-area-back::after {
    top: 14.5vw;
  }
}
@media only screen and (max-width: 600px) {
  .back-slideshow div {
    border-radius: 40px 0 0 0px;
  }
  #first-view {}
  .catch-area-back {
    position: absolute;
    bottom: 0;
  }
  .catch-area-back::after {
    height: 48.5vw;
    top: unset;
    bottom: 0;
  }
}
@media only screen and (max-width: 481.98px) {
  #first-view {
    margin-top: 110px;
  }
  .back-slideshow div {
    top: 0px;
    height: 65vh;
    min-height: 300px;
    max-height: 420px;
  }
  .back-slideshow div.img01 {
    background-image: url('img/sp-image1.png');
  }
  .back-slideshow div.img02 {}
}
#first-view .catch-area {
  padding: 20px 30px;
  position: absolute;
  color: #fff;
  z-index: 2;
  top: 14vw;
}
#first-view .catch-area .main-catch {
  font-weight: 700;
  font-size: 3.8vw;
  line-height: 3.5vw;
  letter-spacing: 0.3vw;
}
#first-view .catch-area .sub-catch {
  font-weight: 500;
  font-size: 1.9vw;
  letter-spacing: 0.2vw;
  padding: 5px 5px;
}
#first-view .catch-area .main-catch .color, .catch-area .sub-catch .color {
  color: #005F2E;
}
@media only screen and (min-width: 1600px) {
  #first-view .catch-area .main-catch {
    font-size: 3.2vw;
  }
  #first-view .catch-area .sub-catch {
    font-size: 1.7vw;
  }
}
@media only screen and (max-width: 920px) {
  .slick-initialized .slick-slide {
    max-height: 680px;
  }
  #first-view .catch-area {
    top: 20vw;
  }
  #first-view .catch-area .main-catch {
    font-size: 4vw;
    line-height: 5vw;
  }
  #first-view .catch-area .sub-catch {
    font-size: 0.9rem;
    letter-spacing: 0.1rem;
    line-height: 1.4rem;
  }
}
@media only screen and (max-width: 600px) {
  .slick-initialized .slick-slide {
    max-height: inherit;
    height: auto;
    min-height: 420px;
  }
  #first-view .catch-area {
    padding: 20px 20px;
    top: unset;
    bottom: 0;
  }
  #first-view .catch-area .main-catch {}
  #first-view .catch-area .sub-catch {}
}
@media only screen and (max-width: 481.98px) {
  #first-view .catch-area {
    padding: 20px 20px 11vw;
  }
  #first-view .catch-area .main-catch {
    font-size: 7vw;
    line-height: 9vw;
  }
  #first-view .catch-area .sub-catch {
    font-size: 14px;
    letter-spacing: 0;
    line-height: 14px;
  }
}
/*** お知らせ ***/
#news {
  display: flex;
  justify-content: center;
  padding: 80px 0;
}
#news div {
  padding: 0 4vw 0 5vw;
  width: 50%;
}
.news-list {
  list-style: none;
  padding: 0 5rem 0 0px;
  margin: 0;
  width: 50%;
}
.news-item {
  margin-bottom: 20px;
}
.news-cat {
  display: inline-block;
  background: #fff;
  padding: 2px 8px;
  font-size: 0.8em;
  margin-right: 10px;
  border-radius: 4px;
  color: #005F2E;
}
.news-date {
  font-size: 0.9em;
  color: #fff;
  margin-right: 10px;
}
.news-title {
  text-align: left;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2.3rem;
}
.news-title a {
  color: #fff;
  text-decoration: none;
  display: block;
  border-bottom: 2px solid;
  transition: 0.3s;
}
.news-title a:hover {
  padding-left: 10px;
}
@media only screen and (max-width: 920px) {
  .news-title {
    font-size: 1rem;
    line-height: 2.3rem;
  }
  .news-cat {
    font-size: 0.6em;
  }
  .news-date {
    font-size: 0.7em;
  }
}
@media screen and (max-width: 768px) {
  #news {
    display: block;
    padding: 60px 0 30px;
  }
  #news div {
    width: 100%;
    padding: 0 30px;
  }
  .news-list {
    padding: 30px 30px;
    width: 100%;
  }
}
/*************************お知らせ一覧ページpage-articles.php**************************/
#news-archive {
  padding: 70px 30px;
}
#news-archive .pagination {
  border: none;
}
#news-archive ul {
  padding: 0;
  max-width: 800px;
  margin: 50px auto 0;
  list-style: none;
}
#news-archive ul li {}
#news-archive ul li a {
  display: flex;
  padding: 20px;
  text-decoration: none;
  margin: 20px auto;
  transition: 0.3s;
  border: 2px solid #005F2E;
  border-radius: 7px;
}
#news-archive ul li a:hover {
  background: #005F2E;
  border-radius: 7px;
  color: #fff;
}
#news-archive ul li a .category-title {
  background: #005F2E;
  display: block;
  padding: 2px 10px;
  font-size: 0.8rem;
  font-weight: bold;
  border-radius: 3px;
  margin-right: 10px;
  text-align: center;
  width: 120px;
  color: #fff;
}
#news-archive ul li a:hover .category-title {
  background: #fff;
  color: #005F2E;
}
@media only screen and (max-width: 600px) {
  #news-archive ul li a {
    display: block;
  }
  #news-archive ul li a p {
    margin-bottom: 5px;
  }
  #news-archive ul li a .category-title {}
}
/*************************その他のページ*************************/
/*search.php archive.php 404.phpその他*/
.sub-page-header {
  background: #f4f4f4;
  max-width: 100%;
  margin: 0 auto;
  padding: 190px 20px 30px;
  border: none;
}
.sub-page-header h1 {
  font-size: 3.5rem;
  text-align: center;
  color: #92D032;
  letter-spacing: 1px;
  font-weight: 510;
  word-break: break-all;
}
.no-results .page-content, .error-404 .page-content {
  max-width: 800px;
  margin: 70px auto 0 !important;
  padding: 0 25px 100px;
}
.error-404 .page-content > p {
  font-size: 1rem;
  margin: 0 auto;
  text-align: center;
}
@media only screen and (max-width: 600px) {
  .sub-page-header {
    padding: 120px 20px 40px;
  }
  .sub-page-header h1 {
    font-size: 1.5rem;
  }
  .error-404 .page-content > p {
    text-align: left;
  }
}
.search-form {
  max-width: 100%;
}
.search-form .search-field {
  border: 2px solid #dbdbdb;
  box-shadow: none;
  margin: 10px auto;
}
.search-form .search-submit {
  margin: 0 auto;
  display: block;
  width: 100%;
  border: none;
  border-radius: 7px;
  background: #92D032;
  padding: 5px;
}
.search-form .search-submit:hover {
  color: #fff;
  background: #73BD00;
}
/*archive.php*/
.archive-page-contents {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 25px;
}
.archive-page-contents article {
  border-bottom: 2px solid #ececec;
}
.archive-page-contents article:last-child {
  border: none;
  margin-bottom: 100px;
}
.archive-page-contents article .entry-header {
  margin-bottom: 0;
}
.archive-page-contents article .entry-header h2 {
  text-align: left;
}
.archive-page-contents article .entry-header h2 a {
  color: #92D032;
  font-size: 2.2rem;
}
.archive-page-contents article .entry-content {
  margin: 10px auto;
}
.archive-page-contents article .entry-content .more-link {
  color: #73BD00;
  font-weight: bold;
  text-decoration: none;
  padding: 2px 10px;
  font-size: 0.8rem;
  border-radius: 4px;
  border: 2px solid #73BD00;
  transition: 0.3s;
  display: inline-block;
}
.archive-page-contents article .entry-content .more-link:hover {
  color: #fff;
  background: #73BD00;
}
.archive-page-contents article .entry-footer {
  margin: 10px auto 15px;
  text-align: right;
  font-size: 0.9rem;
}
.archive-page-contents article .post-thumbnail .wp-post-image {
  margin: 10px auto 15px;
}
.navigation.pagination {
  border: none;
  margin-bottom: 50px;
}
.pagination .nav-links > * {
  font-size: 1.1rem;
}
@media only screen and (max-width: 600px) {
  .archive-page-contents article .entry-header h2 a {
    font-size: 1.5rem;
  }
}
/*************************投稿ページ*************************/
.entry-header-single {
  max-width: 100%;
  margin: 0 auto;
  padding: 100px 0px 0px !important;
}
.entry-header-single h1 {
  font-size: 2rem;
  text-align: center;
  font-weight: 550;
  background: #005F2E;
  letter-spacing: 1px;
  padding: 50px 30px 50px;
  color: #fff;
  line-height: 2rem;
}
.entry-header-single figure {
  margin: 0 auto;
  background: #fff;
  width: 100% !important;
  width: auto;
  padding: 60px 60px 0;
}
.entry-header-single .post-thumbnail .wp-post-image {
  margin: 0 auto;
  max-width: 800px !important;
}
.site-main > article > .single-entry-content {
  max-width: 800px;
  margin: 50px auto 0;
  padding: 0 25px;
}
.single .site-main > article > .entry-footer.single-entry-footer {
  margin: 30px auto;
  border: none;
  max-width: 800px;
  padding: 0 25px;
  display: block;
}
.post-navigation .nav-links {
  max-width: 800px;
  margin: 10px auto 25px;
  padding: 0 25px 30px;
}
.post-navigation .nav-next:last-child {
  margin: 0;
}
.post-navigation .nav-next:first-child, .post-navigation .nav-previous:first-child {
  margin-bottom: 20px;
}
.navigation .nav-links .nav-next a .post-title, .navigation .nav-links .nav-previous a .post-title {
  margin: 0 auto;
  font-size: 1rem;
  color: #005F2E;
}
@media only screen and (max-width: 481.98px) {
  .entry-header-single {
    background: #f4f4f4;
    padding: 100px 30px 10px !important;
  }
  .entry-header-single h1 {
    font-size: 1rem;
    padding: 0 0 10px;
    background: none;
    color: #005F2E;
    text-align: left;
    line-height: 1.4rem;
  }
  .entry-header-single figure {
    padding: 50px 30px 0px;
  }
  .post-navigation .nav-next:first-child, .post-navigation .nav-previous:first-child {
    margin-bottom: 20px;
  }
  .post-navigation .post-title {
    font-size: 0.9rem;
  }
  .post-navigation .nav-links {
    padding: 10px;
  }
  .post-navigation .nav-links div a {
    background: #f4f4f4;
    padding: 10px 15px;
    border-radius: 5px;
  }
  .navigation .nav-links .nav-next a .post-title, .navigation .nav-links .nav-previous a .post-title {
    width: 100%;
  }
}
/*************************固定ページ*************************/
/**ヘッダー見出し**/
.singular .entry-header.headercustom {
  background: #005F2E;
  margin: 110px auto 30px;
  width: 100%;
  max-width: 100%;
  color: #fff;
  height: 470px;
  background-size: cover;
  background-position: center;
  position: relative;
}
.singular .entry-header.headercustom h1 {
  color: #fff;
  font-weight: 530;
  text-align: right;
  font-size: 8rem;
  line-height: 7rem;
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  bottom: -15px;
}
@media only screen and (max-width: 920px) {
  .singular .entry-header.headercustom {
    height: 300px;
  }
  .singular .entry-header.headercustom h1 {
    font-size: 5rem;
    line-height: 5rem;
  }
}
@media only screen and (max-width: 600px) {
  .singular .entry-header.headercustom h1 {
    font-size: 3.2rem;
    line-height: 4.1rem;
  }
  .singular .entry-header.headercustom {
    margin: 95px auto 70px;
    height: 140px;
  }
}
@media only screen and (max-width: 481.98px) {
  .singular .entry-header.headercustom {
    margin: 65px auto 20px;
  }
}
.grecaptcha-badge {
  visibility: hidden;
}
/*************************オリジナルパーツ*************************/
/*リスト*/
.description-list {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 20px auto 20px;
}
.description-list li {
  display: block;
  background: #92D032;
  color: #fff;
  font-weight: 450;
  font-size: 1.1rem;
  padding: 10px 20px;
  border-radius: 10px;
  margin: 5px 15px 5px 0;
}
@media only screen and (max-width: 481.98px) {
  .description-list li {
    color: #92D032;
    background: #fff;
    border: 2px solid #92D032;
    display: block;
    width: 100%;
    text-align: center;
    font-size: 0.9rem;
    margin: 5px auto;
  }
}
/* リンクボタン */
.btn-01 {
  display: inline-block;
  background: #005F2E;
  color: #fff;
  border-radius: 50px;
  padding: 10px 50px 10px 35px;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  position: relative;
  transition: 0.3s;
  overflow: hidden;
  font-size: 1.1rem;
  width: 100%;
  max-width: 230px;
  border: #005F2E 2px solid;
}
.btn-01::before {
  content: '';
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 25px;
  height: 25px;
  background: #fff;
  border-radius: 50%;
  z-index: 0;
  transition: 0.3s;
}
.btn-01::after {
  content: '＞';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.8em;
  color: #005F2E;
  font-weight: 900;
  transition: 0.3s;
  z-index: 1;
}
.btn-01:hover {
  background: #fff;
  color: #005F2E;
}
.btn-01:hover::before {
  background: #005F2E;
}
.btn-01:hover::after {
  color: #fff;
}
.btn-01.btn-01-2 {
  background: #fff;
  color: #005F2E;
  border-color: #fff;
}
.btn-01.btn-01-2:hover {
  background: #005F2E;
  color: #fff;
}
.btn-01.btn-01-2::after {
  color: #005F2E;
}
.btn-01.btn-01-2::before {
  background: #005F2E;
}
.btn-01.btn-01-2::after {
  color: #fff;
}
.btn-01.btn-01-2:hover::before {
  background: #fff;
}
.btn-01.btn-01-2:hover::after {
  color: #005F2E;
}
@media only screen and (max-width: 481.98px) {
  .btn-01::after {
    right: 21px;
  }
}
.btn-margin {
  margin-top: 50px;
  margin-bottom: 30px;
}
.btn-margin.center {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.column-2btn {
  display: flex;
  justify-content: left;
  margin: 50px auto 30px;
}
.column-2btn > a {
  margin: 0 15px;
}
@media only screen and (max-width: 1200px) {
  .btn-01 {
    padding: 10px 50px 10px 35px;
    font-size: 0.9rem;
    max-width: 175px;
  }
  .column-2btn > a {
    margin: 0 7px;
  }
}
@media only screen and (max-width: 481.98px) {
  .btn-margin.center {
    margin-top: 30px;
    max-width: 100%;
  }
  .column-2btn {
    display: block;
    margin: 30px auto;
  }
  .column-2btn > a {
    max-width: 100%;
    margin: 0 auto;
  }
}
/* テーブル */
.table01 {
  margin: 20px auto;
}
.table01 th {
  background: #73BD00;
  color: #fff;
  min-width: 165px;
  text-align: center;
  border: none;
  border-bottom: 2px solid;
}
.table01 td {
  border: none;
  border-bottom: 2px solid #92D032;
  background: #fff;
  line-height: 1.2rem;
  font-size: 0.9rem;
  padding: 15px 15px;
}
.table01 tr:nth-child(odd) th {
  background: #92D032;
}
.table01 tr:last-child th {
  border-bottom: 2px solid #92D032;
}
@media only screen and (max-width: 481.98px) {
  .table01 th {
    min-width: 100px;
    font-size: 0.9rem;
  }
}
.table02 {
  margin: 50px auto;
}
.table02 th {
  border: none;
  border-bottom: 2px solid #005F2E;
  color: #005F2E;
}
.table02 td {
  border: none;
  border-bottom: 1px solid #CACACA;
  padding: 20px;
}
.table02:first-child tr th {
  border-top: 2px solid #005F2E;
}
.table02:first-child tr td {
  border-top: 1px solid #CACACA;
}
@media only screen and (max-width: 481.98px) {
  .table02 {
    margin: 20px auto;
  }
  .table02:first-child tr th {
    border-top: none;
  }
  .table02 th {
    display: block;
    padding: 10px 0px 5px;
    font-size: 1.1rem;
    border-bottom: none;
  }
  .table02 td {
    display: block;
    padding: 10px 0;
    border-bottom: none;
    margin-bottom: 10px;
  }
  .table02 ul {
    padding-left: 20px;
  }
  .table02 ul li {
    margin-bottom: 5px;
    line-height: 1.1rem;
  }
}
@media (max-width: 920px) {
  .scroll-table {
    max-width: 100%; /* 横幅を画面幅に制限 */
    overflow-x: scroll; /* 横スクロールを発生させる */
    flex-wrap: nowrap; /* 改行を禁止して横並びを維持 */
    justify-content: left;
    transform: rotateX(180deg);
  }
  .scroll-table table {
    flex: 0 0 auto; /* 横スクロールを適切に表示する */
    width: 750px; /* 必要に応じて横幅を指定 */
    transform: rotateX(180deg);
  }
}
.table-history {
  border-left: 3px solid #e3e3e3;
}
.table-history th {
  border: none;
  min-width: 200px;
  vertical-align: top;
  font-size: 1.3rem;
  font-weight: 500;
  padding-left: 30px;
  position: relative;
}
.table-history th::before {
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  background: #005F2E;
  position: absolute;
  border-radius: 50px;
  left: -7px;
  top: 21px;
}
.table-history td {
  border: none;
}
@media only screen and (max-width:600px) {
  .table-history th {
    display: block;
  }
  .table-history td {
    display: block;
  }
}
/* テキスト */
.big-txt {
  font-size: 3.4rem;
}
.small-txt {
  font-size: 0.8rem;
}
.catch-txt {
  font-size: 2vw;
  font-weight: 600;
  line-height: 3.3vw;
  margin: 60px auto 40px;
  letter-spacing: 0.2vw;
}
.catch-txt-mini {
  margin: 40px auto 30px;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0;
  padding-left: 40px;
  position: relative;
}
.catch-txt-mini.right {
  text-align: right;
  padding-left: 0;
  padding-right: 40px;
}
.catch-txt-mini::after {
  content: '';
  display: block;
  background: #005F2E;
  width: 20px;
  height: 20px;
  border-radius: 50px;
  position: absolute;
  left: 0;
  top: 8px;
}
.catch-txt-mini.right::after {
  top: 8px;
  left: auto;
  right: 0;
}
.description-txt {
  color: #005F2E;
  font-size: 1.4rem;
  font-weight: 600;
  margin: 40px auto;
  letter-spacing: 0.1rem;
}
.note-txt {
  background-image: linear-gradient(180deg, #ccc 1px, transparent 1px);
  background-size: 100% 2.5em;
  line-height: 2.5em;
  padding-bottom: 1px;
}
@media only screen and (max-width: 1200px) {
  .catch-txt {
    font-size: 1.5rem;
    line-height: 2.1rem;
    margin: 20px auto;
  }
}
@media only screen and (max-width: 920px) {
  .catch-txt {
    font-size: 1.3rem;
    line-height: 2.1rem;
    font-weight: 510;
  }
  .catch-txt-mini, .catch-txt-mini.right {
    text-align: left;
    font-size: 1rem;
    padding-left: 20px;
  }
  .catch-txt-mini::after, .catch-txt-mini.right::after {
    top: 8px;
    left: 0;
    right: auto;
    width: 12px;
    height: 12px;
  }
}
@media only screen and (max-width: 600px) {
  .description-txt {
    font-size: 1rem;
    letter-spacing: 0.05rem;
    margin: 20px auto;
  }
}
@media only screen and (max-width: 481.98px) {}
/* 色 */
.back-main, .back-sub {
  margin: 0;
}
.back-main {
  background: #005F2E;
}
.back-gray {
  background: #F2F2F2;
}
.back-sub {
  background: #73BD00;
}
.back-main, .back-sub, .back-main h2, .back-main h2 .jp, .back-sub h2 {
  color: #fff;
}
/* 画像 */
.img-center {
  display: block;
  margin: 0 auto;
}
/* PC-スマホ切換え */
.sp-feed {
  display: none;
}
.pc-center {
  text-align: center;
}
@media only screen and (max-width: 600px) {
  .sp-feed {
    display: inherit;
  }
  .pc-feed {
    display: none;
  }
  .pc-center {
    text-align: left;
  }
}
/*ラップ*/
.wrap-min {
  padding: 15px;
}
.wrap-mid {
  padding: 0 30px;
}
/*スペーサー*/
.top-bottomL {
  margin-top: 80px;
  margin-bottom: 80px;
}
.bottomL {
  margin-bottom: 150px;
}
.bottomM {
  margin-bottom: 40px;
}
.bottomS {
  margin-bottom: 20px;
}
/*表示反転*/
.pc-row-reverse {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 600px) {
  .top-bottomL {
    margin-top: 50px;
    margin-bottom: 50px;
  }
  .bottomL {
    margin-bottom: 100px;
  }
  .bottomM {
    margin-bottom: 20px;
  }
}
/**背景**/
.bgi01 {
  background: url('img/bgi01.png');
}
.bgi02 {
  background: url('img/bgi02.png');
  color: #fff;
}
.bgi03 {
  background: url('img/bgi03.png');
  color: #fff;
}
.bgi04 {
  background: url('img/bgi04.png');
}
.bgi00 {
  background-size: cover;
}
.bgiBox {
  padding: 200px;
}
@media only screen and (max-width: 481.98px) {
  .bgi01 {
    background: url('img/bgi01-sp.png');
  }
  .bgi02 {
    background: url('img/bgi02-sp.png');
  }
  .bgi03 {
    background: url('img/bgi03-sp.png');
  }
  .bgi04 {
    background: url('img/bgi04-sp.png');
  }
  .bgi00 {
    background-size: cover;
  }
}
/** 背景fixed **/
/* デフォルト: 固定背景 */
.background-fixed {
  background-attachment: fixed !important;
}
/* iOSデバイス向けスタイル */
@supports (-webkit-touch-callout: none) {
  .background-fixed {
    background-attachment: scroll !important;
  }
}
@media only screen and (max-width: 600px) {
  .background-fixed {
    background-attachment: scroll !important;
  }
}
/* 動き:ふわっと表示*/
.fly {
  opacity: 0; /* 初期状態: 透明 */
  transform: translateY(20px); /* 初期状態: 下にずらす */
  transition: opacity 0.6s ease, transform 0.6s ease; /* アニメーションの設定 */
}
.fly.is-visible {
  opacity: 1; /* 表示 */
  transform: translateY(0); /* 元の位置に戻す */
}
/* 動き:ホバーしたら拡大*/
.big {
  display: inline-block; /* 必要に応じて調整 */
  transition: transform 0.4s ease; /* スムーズな変化を設定 */
  transform: scale(1); /* 初期の拡大率を設定 */
}
.big:hover {
  transform: scale(1.07); /* ホバー時の拡大率を設定 */
}
/*************************オリジナルパーツセット*************************/
/** お問い合わせボックス **/
.contactbox {
  display: flex;
  justify-content: center;
  max-width: 1000px;
  margin: 0 auto;
}
.contactbox .tel, .contactbox .mail {
  color: #005F2E;
  background: #fff;
  width: calc(50% - 20px);
  margin: 20px;
  border-radius: 15px;
  text-align: center;
  border: 2px solid #fff;
}
.contactbox .tel {
  border: 2px solid #005F2E;
}
.contactbox .tel .tel-icon, .contactbox .mail {
  font-weight: 500;
}
/* 電話ボックス */
.contact-section h2 {
  text-align: center;
}
.contactbox .tel {
  padding: 40px 20px;
}
.contactbox .tel .tel-icon {
  display: block;
  margin: 0 auto;
  font-size: 2rem;
  padding-left: 45px;
  width: 275px;
  position: relative;
}
.contactbox .tel .tel-icon::before {
  content: url('img/tel-icon.svg');
  display: block;
  width: 35px;
  height: auto;
  position: absolute;
  left: 0;
  top: 2px;
}
/* メールボックス */
.contactbox .mail {
  text-decoration: none;
  display: flex;
  align-items: center;
  position: relative;
  transition: 0.3s;
}
.contactbox .mail:hover {
  background: #005F2E;
  color: #fff;
}
.contactbox .mail:hover .mail-icon::before {
  filter: brightness(0) invert(1);
}
.contactbox .mail .mail-icon {
  display: block;
  position: relative;
  width: 260px;
  padding-left: 45px;
  margin: 0 auto;
}
.contactbox .mail .mail-icon::before {
  content: url('img/mail-icon.svg');
  display: block;
  position: absolute;
  top: 65%;
  left: 0;
  transform: translateY(-50%);
  width: 35px;
  height: auto;
}
@media only screen and (max-width: 920px) {
  .contactbox {
    display: block;
    max-width: 460px;
  }
  .contactbox .tel .tel-icon {
    margin-bottom: 10px;
  }
  .contactbox .tel .tel-icon::before {
    top: -3px;
  }
  .contactbox .tel, .contactbox .mail {
    width: 100%;
    margin: 20px auto;
    padding: 30px 20px;
  }
}
/*お問い合わせフォーム(スノウモンキー)*/
.contact-form {
  margin: 60px auto;
  max-width: 900px;
}
.contact-form .smf-item__label {
  font-size: 1.3rem;
  color: #005F2E;
  font-weight: 500;
  border-top: 1px solid #fff;
  padding: 15px 0 10px;
  margin-top: 40px;
}
.contact-form .smf-label {
  padding-left: 20px;
}
.contact-form .hissu {
  background: #ff5400;
  color: #fff;
  font-size: 0.8rem;
  padding: 4px 6px;
  border-radius: 5px;
  margin: 0 5px;
  position: relative;
  top: -3px;
}
.contact-form .smf-text-control__control {
  width: 100%;
}
.contact-form .smf-action {
  margin-top: 50px;
}
.smf-form--business .smf-item__col--label {
  border-left: 5px solid #005F2E;
  padding: 10px 10px;
  width: 100%;
  display: block;
}
input[type="checkbox"]::after {
  content: none;
}
.smf-progress-tracker__item[aria-current="true"] .smf-progress-tracker__item__text {
  font-size: 0.9rem;
}
.smf-progress-tracker__item__text {
  font-size: 0.9rem;
}
.smf-complete-content > p {
  text-align: center;
  background: #fff;
  padding: 10px;
  border-radius: 7px;
}
.smf-action .smf-button-control__control {
  background: #005F2E;
  border: 2px solid #005F2E;
}
.smf-action .smf-button-control__control:hover {
  color: #005F2E;
  background: #fff;
  border: 2px solid #005F2E;
}
.smf-item__description {
  margin-top: 0;
 font-size: 0.8rem;
  margin-bottom: 10px;
}
@media only screen and (max-width: 600px) {
  .contact-form .smf-item__label__text {
    font-size: 1.1rem;
  }
}
/*** ページリンク ***/
.page-menu ul {
  list-style: none;
  display: flex;
  justify-content: center;
  padding: 0 30px;
  margin: 0 auto 80px;
  border-bottom: 3px solid #92D032;
}
.page-menu ul li {
  display: block;
  width: 100%;
  margin: 0 10px;
  position: relative;
  bottom: -3px;
  text-align: center;
  font-weight: bold;
}
.page-menu ul li a {
  display: block;
  color: #fff;
  padding: 20px 10px 15px;
  transition: 0.1s;
  height: 100%;
  background: #92D032;
  border: 3px solid #92D032;
  border-bottom: none;
  border-radius: 5px 5px 0 0;
  text-decoration: none;
}
.page-menu ul li a:hover {
  background: #fff;
  color: #92D032;
}
.page-menu ul .active a {
  background: #fff;
  border: 3px solid #92D032;
  border-bottom-width: 3px;
  border-bottom-style: solid;
  border-bottom-color: rgb(229, 0, 18);
  border-bottom: none;
  color: #92D032;
}
.page-menu ul .active a:hover {
  background: #fff;
  color: #92D032;
}
@media only screen and (max-width: 600px) {
  .page-menu ul {
    padding: 0 5px;
  }
  .page-menu ul li {
    margin: 0 5px;
  }
  .page-menu ul li a {
    font-size: 0.85rem;
    line-height: 1rem;
    letter-spacing: -0.02rem;
  }
}
/*ページ見出し*/
.toc-list {
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 30px auto;
}
.toc-list li {
  margin: 5px;
}
.toc-list li a {
  color: #005F2E;
  display: block;
  text-decoration: none;
  border: 2px solid #005F2E;
  padding: 3px 20px;
  border-radius: 7px;
  text-align: center;
  transition: 0.3s;
}
.toc-list li a:hover {
  background: #005F2E;
  color: #fff;
}
@media only screen and (max-width: 600px) {
  .toc-list {
    display: block;
  }
  .toc-list li {
    margin: 0 auto;
  }
  .toc-list li a {
    border-radius: 0;
    background: #f4f4f4;
    border: none;
    padding: 10px;
    font-size: 0.9rem;
  }
  .toc-list li:first-child a {
    border-radius: 5px 5px 0 0;
  }
  .toc-list li:last-child a {
    border-radius: 0 0 5px 5px;
  }
  .toc-list li:nth-of-type(2n) a {
    background: #ddd;
  }
  .toc-list li a:hover {
    background: #005F2E;
    color: #fff;
  }
}
@media only screen and (max-width: 481.98px) {
  .toc-list {}
}
/*流れ・フロー*/
.step-list {
  counter-reset: step-counter;
  margin: 2rem auto;
  padding: 0;
  list-style: none;
}
.step-list li {
  position: relative;
  background: #fff;
  border-left: 5px solid #005F2E;
  padding: 30px 40px;
  margin-bottom: 1.5rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}
.step-list li::before {
  counter-increment: step-counter;
  content: counter(step-counter);
  position: absolute;
  left: 1rem;
  top: 1.7rem;
  background: #005F2E;
  color: white;
  width: 1.8rem;
  height: 1.8rem;
  line-height: 1.8rem;
  border-radius: 50%;
  text-align: center;
  font-weight: bold;
  font-size: 0.9rem;
}
.step-list h3 {
  margin: 0px 15px 0.5rem;
  font-size: 1.1rem;
  color: #005F2E;
  text-align: left;
}
.step-list p {
  margin: 0 0 0 15px;
  color: #444;
  line-height: 1.6;
  font-size: 0.95rem;
}
@media (max-width: 600px) {
  .step-list li {
    padding: 1.2rem 1.2rem 1.2rem 2.3rem;
  }
  .step-list li::before {
    left: 0.8rem;
    top: 1rem;
  }
}
/*ポイントリスト*/
.point-list {
  list-style: none;
  padding: 0;
  margin: 0 auto 20px;
}
.point-list li {
  position: relative;
  padding: 10px 10px 10px 45px;
  font-size: 1.1rem;
}
.point-list li::before {
  content: '✔';
  position: absolute;
  left: 0.5rem;
  top: 25px;
  transform: translateY(-50%);
  color: #005F2E;
  font-weight: bold;
  font-size: 2rem;
}
@media (max-width: 600px) {
  .point-list li {
    font-size: 0.9rem;
  }
}
.point-card {
  display: flex;
  margin: 20px auto;
  padding: 0;
}
.point-card li {
  list-style: none;
  background: #005F2E;
  width: 100%;
  margin: 10px;
  color: #FFF;
  text-align: center;
  padding: 30px 10px;
  border-radius: 10px;
}
.point-card li p {
  margin: 0;
  line-height: 1.8rem;
}
.point-card li .point {
  font-size: 1.5rem;
}
@media (max-width: 600px) {
  .point-card {
    display: block;
  }
  .point-card li {
    margin: 10px auto;
  }
}
/*カードボックス*/
.card-box01 {
  background: #fff;
  border-radius: 15px;
  padding: 30px;
  margin: 20px auto;
}
.card-box01 h3 {
  text-align: left;
  color: #cacaca;
}
/*テキストボックス*/
.text-box {
  padding: 15px 20px;
  border: 1px solid #cacaca;
  margin: 0 auto;
}
.text-box h4 {
  margin-top: 0;
}
.text-box p {
  font-size: 0.9rem;
}
.page-top-link {
  text-align: right;
  padding: 10px;
  font-size: 0.9rem;
  margin-top: 20px;
}
/*流れるスライド*/
.flowslide {
  overflow: hidden;
  width: 100%;
}
.slide-track {
  display: flex;
  animation: scroll 20s linear infinite;
  width: max-content;
	 backface-visibility: hidden;
  transform: translateZ(0);
}
.slide-track img {
  margin-right: 50px;
  flex-shrink: 0;
  max-width: 22vw;
  height: auto;
  border-radius: 40px;
}
.flowslide.catch-contents {
  position: relative;
  padding-bottom: 12.5vw;
}
.flowslide.catch-contents .catch-contents-in {
  background: #005F2E;
  color: #fff;
  text-align: center;
  padding: 14vw 30px 15vw;
  position: absolute;
  width: 100%;
  z-index: -1;
  top: 11vw;
}
.flowslide.catch-contents .catch-contents-in .catch {
  font-size: 1.6rem;
  font-weight: 500;
}
.flowslide.catch-contents .catch-contents-in .en {}
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@media only screen and (max-width: 1200px) {
  .flowslide.catch-contents {
    padding-bottom: 16vw;
  }
}
@media only screen and (max-width: 920px) {
  .slide-track img {
    margin-right: 10px;
    max-width: 37vw;
    border-radius: 20px;
  }
  .flowslide {}
  .flowslide.catch-contents {
    padding-bottom: 19vw;
  }
  .flowslide.catch-contents .catch-contents-in {
    padding: 30vw 30px 10vw;
  }
}
@media only screen and (max-width: 600px) {
  .flowslide.catch-contents .catch-contents-in .catch {
    font-size: 1rem;
  }
  .flowslide.catch-contents {
    padding-bottom: 29vw;
  }
  .flowslide.catch-contents .catch-contents-in {
    padding: 20vw 30px 14vw;
    top: 21vw;
  }
}
/* sticky */
.sticky-box {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 2rem;
  margin: 110px auto 50px;
}
.sticky-box .left {
  width: 50%;
  position: sticky;
  top: 2rem;
  align-self: flex-start;
}
.sticky-box .right {
  width: 50%;
  padding: 0 10px;
}
@media only screen and (max-width: 920px) {
  .sticky-box {
    display: block;
    margin: 40px auto;
  }
  .sticky-box .left {
    position: static;
    top: auto;
  }
  .sticky-box .left, .sticky-box .right {
    width: 100%;
  }
}
/*スライドショー*/
.slide-img-box {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 4 / 3; /* ← 高さを比率で指定する場合 */
  overflow: hidden;
  border-radius: 30px;
}
.slide-img-box img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1s ease;
}
.slide-img-box img.active {
  opacity: 1;
  z-index: 1;
}
@media only screen and (max-width: 920px) {
	.slide-img-box{
		border-radius: 20px;
	}
	
}
/*************************個別設定*************************/
.maps iframe {
  height: 650px;
}
@media only screen and (max-width: 920px) {
  .maps iframe {
    height: 400px;
  }
}
.policy, .contact {
  padding-top: 20px;
}
.policy h3 {
  text-align: left;
  font-size: 1.3rem;
  font-weight: 570;
  margin: 30px auto 10px;
  color: #005F2E;
  border-top: 1px solid #005F2E;
  padding-top: 30px;
}
.policy {
  padding: 10px 20px 5px;
}
.policy li {
  font-size: 1rem;
}
@media only screen and (max-width: 920px) {
  .policy h3 {
    font-size: 1.1rem;
  }
  .policy li {
    font-size: 0.8rem;
  }
  .policy, .contact {
    padding-top: 0;
  }
}
@media only screen and (max-width: 600px) {}
/*松久独自*/
.logo-background {
  position: absolute;
  background-image: url('img/logo.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 28vw;
  height: 19vw;
  bottom: -2.9vw;
  z-index: 10;
  right: 0;
}
@media only screen and (max-width: 481.98px) {
  .logo-background {
    width: 75vw;
    height: 50vw;
    bottom: -30vw;
    right: -10vw;
    z-index: 1;
  }
}
.text-overlay {
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  font-weight: 600;
  line-height: 1.5;
  width: 23vw;
}
.text-overlay .years {
  font-size: 6vw;
  line-height: 6vw;
}
.text-overlay .years span {
  display: block;
  font-size: 1.7vw;
  letter-spacing: 0.2vw;
  line-height: 1.7vw;
  position: relative;
  top: -0.3vw;
}
.text-overlay .comment {
  font-size: 1.2vw;
  font-weight: 400;
  line-height: 1.6vw;
  letter-spacing: 0.2vw;
  margin-top: 0.5vw;
}
@media only screen and (min-width: 1600px) {
  .text-overlay .comment {
    font-size: 1.1vw;
    line-height: 1.4vw;
    letter-spacing: 0.1vw;
  }
}
@media only screen and (max-width: 481.98px) {
  .text-overlay {
    width: 43vw;
    top: 50%;
  }
  .text-overlay .years {
    font-size: 14vw;
    line-height: 14vw;
  }
  .text-overlay .years span {
    font-size: 4.8vw;
    line-height: 4.8vw;
  }
  .text-overlay .comment {
    font-size: 13px;
    line-height: 17px;
    letter-spacing: 0;
  }
}
/* 上下に動くアニメーション */
@keyframes floatUpDown {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
/* アニメーションはラッパーに適用 */
.scroll-fly-wrapper {
  position: absolute;
  right: 0;
  bottom: 5vw;
  z-index: 10;
  animation: floatUpDown 2s ease-in-out infinite;
}
/* 中身 */
.scroll-indicator {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  position: relative;
}
.scroll-line {
  width: 1px;
  height: 70px;
  background-color: white;
  transition: background-color 0.3s ease;
  position: relative;
  top: -23px;
}
.scroll-indicator span {
  color: white;
  font-size: 14px;
  transform: rotate(90deg);
  display: inline-block;
}
@media only screen and (max-width: 920px) {
  .scroll-fly-wrapper {
    right: -10px;
  }
}
@media only screen and (max-width: 481.98px) {
  .topcontent {
    padding-top: 28vw;
  }
}
/*STAFFVOICE*/
.staff-voice h3 {
  text-align: left;
  margin-bottom: 45px;
}
.staff-voice h3 span {
  font-size: 4rem;
  position: relative;
  top: 5px;
  margin-right: 4px;
  font-weight: 600;
}
.staff-voice .right p {
  font-size: 1rem;
  line-height: 1.9rem;
  letter-spacing: 0;
  position: relative;
  border-left: 4px #d2d2d2 solid;
  padding: 15px 20px 10px;
  margin-bottom: 50px;
}
.staff-voice h4 {
  border-left: 4px solid #005F2E;
  padding: 0 0px 0 15px;
  font-size: 1.5rem;
  margin: 30px auto 0;
  color: #005F2E;
}
.staff-voice .catchtext {
  color: #005F2E;
  font-size: 1.5rem;
  font-weight: 500;
  margin: 30px auto;
  line-height: 2.2rem;
  position: relative;
  text-align: center;
  background: #fff;
  padding: 35px 20px;
  border-radius: 15px;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
}
.staff-voice .catchtext::before, .staff-voice .catchtext::after {
  display: block;
  position: absolute;
  color: #c8c8c8;
  font-size: 4.5rem;
}
.staff-voice .catchtext::before {
  content: '“';
  left: -15px;
  top: 0;
}
.staff-voice .catchtext::after {
  content: '”';
  right: -10px;
  bottom: -30px;
}
@media only screen and (max-width: 920px) {
  .staff-voice .right p {
    font-size: 0.8rem;
    line-height: 1.4rem;
    margin: 0 auto 40px;
  }
  .staff-voice .catchtext {
    font-size: 0.9rem;
    line-height: 1.5rem;
    padding: 20px 10px;
    margin: 30px auto 20px;
  }
  .staff-voice h3 span {
    font-size: 2.7rem;
  }
  .staff-voice h4 {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 481.98px) {
	.staff-voice .right p{
		padding: 10px 0 10px 10px;
	}
	.staff-voice .catchtext::before{
		left: -7px;
  top: 6px;
	}
	.staff-voice .catchtext::after{
		right: -8px;
  bottom: -22px;
	}
	
}
/*ユニークパーツ*/
.border01 {
  margin: 90px auto;
  border-top: 2px solid #fff;
}
@media only screen and (max-width: 920px) {
  .border01 {
    margin: 70px auto;
  }
}
.unique1-wrap {
  position: relative;
}
.unique1 {
  position: absolute;
  top: 16vw;
  right: 6vw;
  width: 38vw;
}
.unique1-1 {
  position: absolute;
  max-width: 310px;
  right: 0;
  z-index: 2;
  width: 21vw;
}
.unique1-2 {
  position: absolute;
  top: 6vw;
  max-width: 340px;
  z-index: 1;
  width: 21vw;
}
.unique1-3 {
  position: absolute;
  max-width: 310px;
  top: 15vw;
  right: 0;
  width: 23vw;
}
.bottom0 {
  padding-bottom: 0;
}
.top0 {
  padding-top: 0;
}
.top50 {
  padding-top: 50px;
}
@media only screen and (min-width: 1600px) {
  .unique1 {
    width: 690px;
    top: 14vw;
    right: 8vw;
  }
  .unique1-1 {
    max-width: 380px;
  }
  .unique1-2 {
    max-width: 410px;
  }
  .unique1-3 {
    max-width: 380px;
  }
}
@media only screen and (max-width: 1200px) {
  .unique1 {
    top: 220px;
    right: 9vw;
    width: 21vw;
  }
  .unique1-1 {
    max-width: 280px;
    right: -70px;
  }
  .unique1-2 {
    top: 90px;
  }
  .unique1-3 {
    max-width: 280px;
    top: 190px;
    right: -80px;
    width: 21vw;
  }
}
@media only screen and (max-width: 920px) {
  .unique1-wrap {
    margin-bottom: 20vw;
    padding-bottom: 20vw;
  }
  .unique1 {
    position: absolute;
    top: unset;
    right: unset;
    width: 100%;
    display: flex;
    left: 0;
  }
  .unique1-1, .unique1-2, .unique1-3 {
    width: calc(100% / 2.7);
    position: absolute;
    top: unset;
    right: unset;
    max-width: 100%;
  }
  .unique1-1 {}
  .unique1-2 {
    top: 10vw;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .unique1-3 {
    right: 0;
    top: 20vw;
  }
}
.unique2-wrap {
  position: relative;
}
.unique2 img {
  position: absolute;
  max-width: 50vw;
  bottom: 0;
  right: 0;
  z-index: -1
}
@media only screen and (max-width: 600px) {
  .unique2 img {
    max-width: 70vw;
    opacity: 0.65;
    bottom: auto;
    top: 0;
    right: -7vw;
  }
}
.unique3-wrap {
  position: relative;
}
.unique3 {
  position: absolute;
  bottom: -20px;
  width: 40vw;
  right: -90px;
}
@media only screen and (max-width: 600px) {
	.unique3-wrap{
	}
  .unique3 {
    width: 100vw;
    right: -27vw;
    bottom: 0;
  }
}
.unique4-wrap {
  position: relative;
  overflow: clip;
}
.unique4 {
  position: absolute;
  max-width: 60vw;
  right: 0;
  bottom: 0;
}
@media only screen and (max-width: 920px) {
	.unique4{
		max-width: 100vw;
  right: 0;
  bottom: -4vw;
	}
}
@media only screen and (max-width: 920px) {
  .column-1 .column-2 {
    margin-bottom: 60px;
  }
  .column-1 .column-2:last-child {
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 481.98px) {
  .column-1.bottom10 {
    padding-bottom: 10px;
  }
  .top50 {
    padding-top: 30px;
  }
}
.back-main h3.leftstyle {
  color: #fff;
}
.column-6-4 .slide-img-box {
  min-height: 40vw;
}
.contents6 .txt {
  margin-bottom: 50px;
}
.contents6 .sub {
  color: #005F2E;
  font-weight: 500;
  position: relative;
  padding-left: 25px;
  font-size: 1.2rem;
  margin-bottom: 10px;
}
.contents6 .sub::after {
  position: absolute;
  content: '';
  width: 15px;
  height: 15px;
  background: #005F2E;
  border-radius: 50px;
  left: 0;
  top: 10px;
}
@media only screen and (max-width: 920px) {
	.contents6 .sub{
		padding-left: 20px;
		font-size: 0.9rem;
	}
	.contents6 .sub::after{
		width: 10px;
  height: 10px;
	}
	
}


/*----------------------------*/

.thanks-text{
	margin-top: 50px;
	text-align: center;
}

.contact-form .error{
	color: red;
	font-weight: bold;
}