@charset "utf-8";

/* CSS Document */
/**
目次

全体設定
ヘッダー
フッター
カラム設定
トップページ
アーカイブページ
投稿ページ
固定ページ
オリジナルパーツ
オリジナルパーツセット
個別設定

**/
/**************************全体設定***************************/
body {
  overflow-x: hidden;
  color: #3E3E3E;
}

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;
}

@media only screen and (max-width: 1200px) {

  p,
  table {
    font-size: 0.9rem;
  }
}

strong {
  color: #F5A500;
}

a {
  color: #F5A500;
}

img {
  width: 100%;
}

h2 {
  color: #3E3E3E;
  font-weight: 600;
  font-size: 2.3vw;
  margin: 10px auto 30px;
  line-height: 6.6vh;
}

h2.center {
  text-align: center;
}

h2 .jp {
  display: block;
  font-size: 1.2vw;
  letter-spacing: 0.2rem;
  line-height: 1vw;
  font-weight: 800;
  margin: 10px 0;
}

h2 .color {
  color: #62B197;
}

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: bold;
  font-size: 1.9rem;
  text-align: center;
}

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;
}

@media only screen and (max-width: 1200px) {
  h2 {
    font-size: 1.7rem;
    margin: 10px auto 20px;
    line-height: 3.6vh;
  }

  h2 .jp {
    font-size: 1rem;
    letter-spacing: 0.1rem;
    line-height: 1.5rem;
    margin: 10px 0;
  }
}

@media only screen and (max-width: 481.98px) {
  h2 {
    font-size: 1.7rem;
    line-height: 3rem;
  }

  h2 .jp {
    font-size: 0.9rem;
    line-height: 1.6rem;
    letter-spacing: 0.05rem;
  }

  h2.center {
    text-align: center;
  }

  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;
    margin-bottom: 10px;
  }
}

h4 {
  font-size: 1.1rem;
  margin: 5px auto;
  color: #F5A500;
}

@media only screen and (max-width: 481.98px) {
  h4 {
    font-size: 1.1rem;
  }
}

@media only screen and (max-width: 360px) {
  h2 {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}

/*************************ヘッダー*************************/
/* ヘッダーの動き */
#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 0 10px 10px;
  max-width: calc(100vw - 40px);
  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: 70px;
    border-radius: 0;
  }
}

/*ロゴ*/
@media only screen and (min-width: 482px) {
  .site-logo .custom-logo {
    max-width: 300px;
    width: 13vw;
  }

  #masthead.scroll .site-logo .custom-logo {
    max-width: 240px;
  }

  .site-logo .custom-logo,
  #masthead.scroll .site-logo {
    padding-top: 10px;
  }
}

@media only screen and (max-width: 920px) {

  .site-logo .custom-logo,
  #masthead.scroll .site-logo .custom-logo {
    max-width: 250px;
    width: 22vw;
  }
}

@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: 10px !important;
  }

  .site-logo .custom-logo,
  #masthead.scroll .site-logo .custom-logo {
    max-width: 170px;
    width: 100%;
    height: auto !important;
  }
}

/*ナビ*/
.primary-navigation .primary-menu-container>ul>.menu-item:last-child a {
  background: #F5A500;
  color: #fff;
  font-size: 1rem;
  display: block;
  padding: 15px 20px 15px 49px;
  height: 50px;
  border-radius: 7px;
  margin-top: 10px;
  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: 26px;
  height: 26px;
  background-image: url('img/menuicon.png');
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 13px;
  left: 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: 1.1rem;
  }

  .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: #F5A500;
    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;
  }

  .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: 2rem;
    text-align: left;
    border-bottom: 2px solid;
    padding: 10px 10px;
    margin-bottom: 10px;
  }

  .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: 1.1rem;
    padding: 65px 9px 45px;
    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: 35px;
  margin-right: 20px;
}

.menu-button-container #primary-mobile-menu span img {
  width: 35px;
  height: 35px;
}

/* ボタンスタイル */
.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-image: linear-gradient(90deg, #53AC9F, #89be7e 80%) !important;
}

.site-footer>.site-info .site-info-contents {
  display: flex;
  justify-content: center;
  max-width: 1300px;
  margin: 0 auto;
  width: 100%;
  padding: 45px 60px 60px;
}

.site-footer>.site-info .site-info-contents>.brand {
  width: 25%;
}

.footer-menu {
  display: flex;
  width: 75%;
  color: #fff;
}

.footer-menu>div {
  width: 33%;
}

.area span {
  display: block;
  padding: 15px 10px;
  border: 1px solid #fff;
  font-size: 15px;
}

.area-soudan {
  background-color: #fff;
  padding: 20px 30px !important;
  position: relative;
  margin-bottom: 30px;
  font-size: 19px !important;
  font-weight: 600;
  border-radius: 5px;
  text-align: center;
}

.area-soudan::after {
  content: "";
  display: block;
  background: #ffffff;
  height: calc(tan(60deg) * 30px / 2);
  width: 60px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -20px;
}

.footer-list ul {
  padding-left: 0;
}

.footer-list li {
  list-style: none;
  background-color: #fff;
  color: #000;
  margin: 10px 0;
  border-radius: 5px;
}

.footer-list li span {
  padding: 15px 10px 15px 15px;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  position: relative;
  font-size: 14px;
  font-weight: 500;
}

.footer-list li span::before {
  content: "";
  width: 11px;
  height: 11px;
  display: block;
  position: relative;
  border: 1px solid #D1D1D1;
  margin-right: 10px;
}

.footer-list li span::after {
  content: "";
  display: block;
  width: 15px;
  height: 10px;
  position: absolute;
  border-left: 2px solid #62B197;
  border-bottom: 2px solid #62B197;
  transform: rotate(-45deg) translateY(-50%);
  top: 37%;
  left: 18px;
}

.area div,
.footer-list div {
  padding-left: 30px;

}

.footer-list div {
  line-height: 20px;
}

.site-footer>.site-info .site-info-contents>.sitemap {
  width: 45%;
}

.site-footer .site-info .site-info-contents .sitemap ul {
  display: flex;
  flex-flow: column;
  justify-content: left;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}

.site-footer .site-info .site-info-contents .sitemap ul li {
  width: 100%;
  padding: 5px 20px 10px 30px;
  position: relative;
}

.site-footer .site-info .site-info-contents .sitemap ul li a {
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid;
  display: block;
  font-size: 1rem;
  padding-bottom: 5px;
  transition: 0.3s;
}

.site-footer .site-info .site-info-contents .sitemap ul li a span {
  display: block;
  font-size: 1rem;
  line-height: 1rem;
  font-weight: 610;
}

.site-footer .site-info .site-info-contents .sitemap ul li a:hover {
  padding-left: 10px;
}

.site-footer .site-info .site-info-contents .sitemap li div:last-child {
  border: 2px solid #fff;
  padding-left: 0;
  padding-right: 0;
  max-width: 333px;
  width: 100%;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;

}

.site-footer .site-info .site-info-contents .sitemap li div:last-child:hover {
  border: 2px solid #fff;
  background-color: #fff;
  color: #62b197;
}

.site-footer .site-info .site-info-contents .sitemap li div:last-child:hover a::before {
  filter: brightness(0) saturate(100%) invert(72%) sepia(8%) saturate(1697%) hue-rotate(109deg) brightness(87%) contrast(85%);
}

.site-footer .site-info .site-info-contents .sitemap li div:last-child:hover a {
  color: #62b197;

}

.site-footer .site-info .site-info-contents .sitemap li:last-child a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  border: none;
}

.site-footer .site-info .site-info-contents .sitemap li:last-child a::before {
  content: "";
  display: block;
  height: 20px;
  width: 20px;
  background-image: url("img/menuicon.png");
  background-size: cover;
  margin-right: 10px;
}

.site-footer>.site-info .site-info-contents .brand {
  padding: 0;
}

.site-footer>.site-info .site-info-contents .brand img {
  width: 15vw;
  max-width: 30vw;
}

.site-footer>.site-info .site-info-contents .brand p {
  margin: 10px auto;
  font-size: 1rem;
  line-height: 1.3rem;
  color: #fff;
}

.site-footer>.site-info .site-info-contents .brand span {
  color: #fff;
}

.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: #F5A500;
  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: 1115px) {

  .area-br {
    display: none;
  }

  .area span {
    text-align: left;
  }

}

@media only screen and (max-width: 920px) {

  .area span {
    text-align: center;
  }

  .area-br {
    display: block;
  }

  .footer-menu {
    flex-flow: column;
    width: 100%;
    color: #fff;
  }

  .footer-menu>div {
    width: 100%;
    margin-bottom: 30px;
  }

  .footer-menu>div div {
    padding: 0;

  }

  .brand p {
    color: #fff;
    text-decoration: none;
  }

  .brand {
    text-align: center;
  }

  .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: 100%;
  }

  .site-footer>.site-info .site-info-contents .brand img {
    max-width: 300px;
    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;
    display: block;
    max-width: 250px;
  }

  .site-footer>.site-info .site-info-contents .brand p {
    text-align: center;
  }

  .site-footer .site-info .site-info-contents .sitemap ul {
    padding: 10px 0 20px;
  }
}

@media only screen and (max-width: 500px) {
  .site-footer>.site-info .site-info-contents .brand img {
    margin: 0 auto;
    display: block;
    max-width: 210px;
  }
}

/*************************カラム設定*************************/
/*幅*/
.max-900 {
  max-width: 900px;
  margin: 0 auto;
}

.max-1100 {
  max-width: 1100px;
}

.max-1500 {
  max-width: 1500px;
  margin: 0 auto;
}

/*カラム枠*/
.column-1 {
  padding: 70px 30px;
  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;
  width: 90vw;
}

.column-2>div {
  width: 50%;
  margin: 20px;
}

@media only screen and (max-width: 920px) {
  .column-2 {
    display: block;
    width: 100%;
    padding-right: 30px;
    padding-left: 30px;
  }

  .column-2>div {
    width: 100%;
    margin: 0 auto 50px;
  }

  .column-2>div:last-child {
    margin-bottom: 0;
  }
}

.column-2-img {
  display: flex;
}

.column-2-img div.txt {
  padding: 0 4vw 0 7vw;
  width: 50%;
}

.txt p {
  font-weight: 500;
  font-size: 18px;
}

.column-2-img div.img {
  width: 50%;
}

.txt-tel {
  line-height: 20px;
  margin-top: 30px;
}

.txt-tel strong {
  line-height: 10px;
  font-size: 15px;
}

.txt-tel>div {
  display: flex;
  align-items: center;
  line-height: 10px;
}

.txt-tel .point2 {
  font-size: 39px !important;
  line-height: 45px !important;
  display: block;
  max-width: 300px;
  width: 100%;
  min-width: 234px;
  margin: 0;
  margin-left: 0;
}

.sabtitle-txt div .small-txt {
  min-width: 300px;
}

@media screen and (max-width: 1170px) {

  .txt-tel>div {
    display: flex;
    flex-flow: column;

    align-items: start;
  }
}

@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: 85%;
    height: 280px;
    position: absolute;
    right: 0;
  }

  .txt-tel>div {
    display: flex;
    flex-flow: column;

    align-items: start;
  }

  .txt-tel .point2 {
    font-size: 3.4rem;
    line-height: 50px;
    margin-left: 0;
    text-decoration: none;
    color: #62B197 !important;
  }

  .txt-tel a {
    text-decoration: none;
    color: #62B197 !important;

  }

}

.column-3 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 95%;
  margin: auto;
}

.column-3>div {
  width: calc(100% / 3 - 80px);
  margin: 15px;
  min-width: 310px;
}

@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: 770px) {
  .column-3>div {
    width: 100%;
    margin: 0 auto 50px;

  }
}

@media only screen and (max-width: 481.98px) {
  .column-3 {
    display: block;
  }

  .column-3>div {
    width: 100%;
    margin: 0 auto 50px;
    min-width: 230px;
  }


  .txt-tel>div {
    flex-flow: column;
    align-items: flex-start;

  }
}

.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;
  }
}

/*コンテンツ並列*/
.contentX {
  display: flex;
  justify-content: center;
}

.contentX .columnin {
  display: block;
  width: 100%;
}

.Gallery-column {
  display: flex;
  justify-content: center;
}

.Gallery-column>div {
  padding: 10px;
}

@media only screen and (max-width: 481.98px) {
  .Gallery-column>div {
    padding: 3px;
  }
}

/*ラップ*/
.wrap-min {
  padding: 15px;
}

.wrap-mid {
  padding: 0 30px;
}

/*スペーサー*/
.top-bottomL {
  margin-top: 80px;
  margin-bottom: 80px;
}

.bottomL {
  margin-bottom: 150px;
}

.bottomM {
  margin-bottom: 50px;
}

.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;
  }
}

/*************************トップページ index.php *************************/
/* ローディング画面 */
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: white;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  /* フレックスボックスを使って中央揃え */
  display: flex;
  align-items: center;
  /* 垂直方向に中央揃え */
  justify-content: center;
  /* 水平方向に中央揃え */
}

#loading img {
  max-width: 300px;
  padding: 20px;
}

#loading.loaded {
  opacity: 0;
  visibility: hidden;
  overflow: visible;
}

@media only screen and (max-width: 481.98px) {
  #loading img {
    padding: 30px;
  }
}

/* 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: 90vw;
  margin: 0 auto;
}

.back-slideshow div {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 50vw;
  max-height: 85vh;
  margin: 0;
  position: relative;
  top: 20px;
  border-radius: 40px;
}

.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 (max-width: 920px) {
  #first-view {}

  .back-slideshow div {
    height: 62vw;
    top: 15px;
  }
}

@media only screen and (max-width: 600px) {
  .back-slideshow div {
    border-radius: 20px;
  }
}

@media only screen and (max-width: 481.98px) {
  #first-view {
    margin-top: 110px;
  }

  .back-slideshow div {
    top: 15px;
    height: 35vh;
    min-height: 260px;
  }

  .back-slideshow div.img01 {
    background-image: url('img/sp-image1.png');
  }

  .back-slideshow div.img02 {}
}

.catch-area a {
  display: block;
  height: 300px;
  width: 500px;
  background-size: cover;
  right: 20px;
  bottom: -70px;
  z-index: 100;
  position: absolute;
}

.catch-area a:hover {
  opacity: 0.6;
}

.catch-area ul {
  display: flex;
  padding: 0;
  max-width: 600px;
  width: 100%;
  flex-wrap: wrap;
}

.catch-area ul li {
  list-style: none;
  color: #fff;
  background-image: linear-gradient(0deg, #62b197, #89be7e);
  padding: 5px 15px;
  margin-right: 10px;
  margin-bottom: 10px;
  border-radius: 5px;
  display: inline-block;
  font-weight: 700;
  font-size: 1rem;
}

#first-view .catch-area {
  padding: 20px 70px;
  position: relative;
}

#first-view .catch-area .main-catch {
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 3.2vh;
}

#first-view .catch-area .sub-catch {
  font-weight: 600;
  font-size: 1.3vw;
  padding: 15px 0;
  line-height: 40px;
}

#first-view .catch-area .main-catch .color,
.catch-area .sub-catch .color {
  color: #F5A500;
}

@media screen and (max-width: 1100px) {
  .catch-area a {
    height: 180px;
    width: 400px;
    background-size: cover;
    bottom: -45px;
    z-index: 100;
    position: absolute;
  }
}

@media only screen and (max-width: 920px) {
  .slick-initialized .slick-slide {
    max-height: 680px;
  }

  .catch-area a {
    height: 180px;
    width: 300px;
    background-size: cover;
    bottom: -45px;
    z-index: 100;
    position: absolute;
  }

  #first-view .catch-area {}

  #first-view .catch-area .sub-catch {
    font-size: 0.9rem;
    line-height: 1.8rem;
    padding: 15px 0;
  }

  #first-view .catch-area .sub-catch {
    font-size: 0.9rem;
    line-height: 1.8rem;
    padding: 15px 0;
  }

  #first-view .catch-area {
    padding: 20px 20px 90px 20px;
  }

}

@media only screen and (max-width: 600px) {
  .slick-initialized .slick-slide {
    max-height: inherit;
    margin-bottom: 25vw;
    height: auto;
    min-height: 240px;
  }

  .sabtitle-txt {
    font-size: 8.4vw;
    line-height: 7vh;
  }

  #first-view .catch-area .main-catch {
    font-size: 0.9rem;
    line-height: 22px;
  }

  #first-view .catch-area {
    padding: 20px 20px 90px 20px;
  }

  #first-view .catch-area .main-catch {}

  #first-view .catch-area .sub-catch {}
}

@media only screen and (max-width: 510px) {
  #first-view .catch-area {
    padding: 20px 20px 130px 20px;
  }

  .catch-area a {
    height: 180px;
    width: 300px;
    background-size: cover;
    left: 50%;
    transform: translateX(-50%);
    bottom: -45px;
    z-index: 100;
    position: absolute;
    align-items: center;
  }
}

@media only screen and (max-width: 481.98px) {
  #first-view .catch-area {}



}

/*** お知らせ ***/
#news {
  display: flex;
  justify-content: center;
  padding: 80px 0;
}

#news div {
  padding: 0 4vw 0 5vw;
  width: 30%;
  min-width: 300px;
}

.news-list {
  list-style: none;
  padding: 0 5rem 0 0px;
  margin: 0;
  width: 65%;
}

.news-item {
  margin-bottom: 20px;
}

.news-cat {
  display: inline-block;
  background: #62B197;
  padding: 2px 8px;
  font-size: 0.8em;
  margin-right: 10px;
  border-radius: 4px;
  color: #fff;
}

.news-date {
  font-size: 0.9em;
  color: #62B198;
  margin-right: 10px;
}

.news-title {
  text-align: left;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2.3rem;
}

.news-title a {
  color: #3E3E3E;
  text-decoration: none;
  display: block;
  border-bottom: 2px solid;
  transition: 0.3s;
  border-bottom: #fff 1px solid;
}

.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 #F5A500;
  border-radius: 7px;
}

#news-archive ul li a:hover {
  background: #F5A500;
  border-radius: 7px;
  color: #fff;
}

#news-archive ul li a .category-title {
  background: #F5A500;
  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: #F5A500;
}

@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: #F5A500;
  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 90px;
  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: #F5A500;
}

@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: #F5A500;
    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: #F5A500;
  margin: 100px auto 30px;
  width: 100%;
  max-width: 100%;
  color: #fff;
  height: 210px;
  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: 200px;
  }

  .singular .entry-header.headercustom h1 {
    font-size: 5rem;
    line-height: 5rem;
    top: 131px;
    right: 10px;
  }
}

@media only screen and (max-width: 600px) {
  .singular .entry-header.headercustom h1 {
    top: 94px;
    font-size: 3.4rem;
    line-height: 3.4rem;
    right: 0;
  }

  .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;
}

/*************************オリジナルパーツ*************************/
/*画像*/
.radius01 {
  border-radius: 10px 0 0 10px;
}

.radius02 {
  border-radius: 40px 40px 40px 0px;
}

@media only screen and (max-width: 481.98px) {
  .radius01 {
    border-radius: 10px 0 0 10px;
  }

  .radius02 {
    border-radius: 20px 20px 20px 0px;
  }
}

/*リスト*/
.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;
  }
}


.point-box p {
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  margin-top: 15px;
}

.point-box .point-txt {
  font-size: 23px;
  margin-top: 15px;
}


.point1-list,
.point2,
.point3-list {
  margin-top: 20px;
}

.point1-list {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  justify-content: center;
}

.point1-list li {
  list-style: none;
  font-size: 13px;
  font-weight: 600;
  padding: 5px 10px;
  background-color: #62B197;
  margin-left: 5px;
  margin-bottom: 10px;
  color: #fff;
  border-radius: 5px;
}

.point2 {
  width: 240px;
  margin: auto;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 20px;
}

.point2-min {
  font-size: 1rem;
  line-height: 70px;
  text-align: center;
  display: block;
  margin: auto;
}

.point2-medium {
  font-size: 2rem;
}

@media only screen and (max-width: 400px) {

  .point2 {
    width: 200px !important;
    margin: auto;
    font-size: 3rem;
    font-weight: 700;
    line-height: 20px;
  }

  .point2-medium {
    font-size: 1.3rem;
  }

  .point2-min {
    font-size: 0.8rem;
    line-height: 70px;
    text-align: center;
    display: block;
    margin: auto;
  }

  .point-box p {
    text-align: left;
  }
}

@media only screen and (max-width: 350px) {
  .point2 {
    width: 160px !important;
    margin: auto;
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 20px;
  }

  .point2-medium {
    font-size: 1.3rem;
  }

  .point2-min {
    font-size: 0.8rem;
    line-height: 70px;
    text-align: center;
    display: block;
    margin: auto;
  }
}

.point3-list {
  padding: 0;
  max-width: 230px;
  width: 100%;
  margin: 20px auto;
}

.point3-list-1 {
  padding: 0;
  width: 100%;
  margin: 20px auto;
}

.point3-list li {
  list-style: none;
}

.point3-list .point3-list-item {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 600;
}

.point3-list .point3-list-item-1 {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 22px;
  font-weight: 500;
  line-height: 40px;
}

.txt .point3-list {
  margin-bottom: 30px;
  line-height: 20px;
}

.point3-list .point3-list-item::before {
  content: "";
  width: 11px;
  height: 11px;
  display: block;
  position: relative;
  border: 1px solid #D1D1D1;
  margin-right: 10px;
}

.point3-list .point3-list-item::after {
  content: "";
  display: block;
  width: 15px;
  height: 10px;
  position: absolute;
  border-left: 2px solid #62B197;
  border-bottom: 2px solid #62B197;
  transform: rotate(-45deg) translateY(-50%);
  left: 3px;
}

.point3-list .point3-list-item-1::before {
  content: "";
  width: 15px;
  height: 15px;
  display: block;
  position: relative;
  border: 1px solid #D1D1D1;
  margin-right: 18px;
}

.point3-list .point3-list-item-1::after {
  content: "";
  display: block;
  width: 25px;
  height: 14px;
  position: absolute;
  border-left: 3px solid #62B197;
  border-bottom: 3px solid #62B197;
  transform: rotate(-45deg) translateY(-50%);
  left: 3px;
}

@media only screen and (max-width: 481.98px) {
  .point3-list .point3-list-item-1 {
    font-size: 1.25rem;
  }

  .point3-list-1 {
    padding: 0 0 0 20px;
    width: 100%;
    margin: 20px auto;
  }
}

@media only screen and (max-width:360px) {
  .point3-list-1 li {
    font-size: 1rem;
  }

}

/* リンクボタン */
.btn-01 {
  display: inline-block;
  background: #F5A500;
  color: #fff;
  border-radius: 50px;
  padding: 25px 35px 25px 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;
  box-shadow: 3px 3px 6px #D69100 inset;
}

.btn-01:hover {
  background: #ff9901;
}

.back-main .btn-01 {
  background: #fff;
  color: #F5A500;
  font-weight: 600;
}

.back-main .btn-01::after {
  color: #F5A500;
}

.column-2btn {
  display: flex;
  justify-content: left;
  margin: 30px auto;
}

.column-2btn>a {
  margin: 0 15px;
}

.btn-02 {
  display: inline-block;
  background: #fff;
  color: #62B197;
  border-radius: 50px;
  padding: 25px 30px 25px 30px;
  text-align: center;
  text-decoration: none;
  font-weight: 600;
  position: relative;
  transition: 0.3s;
  overflow: hidden;
  font-size: 1.1rem;
  width: 100%;
  max-width: 230px;
  box-shadow: 3px 3px 6px #E1E1E1 inset;
  margin: 10px auto;
  display: flex;
  flex-flow: column;
  align-items: center;
}

.btn-02:hover {
  color: #fff;
  background: #62B197;
  box-shadow: 3px 3px 6px #467e6b inset;
}

#news .btn-02 {
  display: inline-block;
  background: #fff;
  color: #62B197;
  border-radius: 50px;
  padding: 20px 40px 20px 40px;
  text-align: center;
  text-decoration: none;
  font-weight: 500;
  position: relative;
  transition: 0.3s;
  overflow: hidden;
  font-size: 1.1rem;
  width: 100%;
  max-width: 240px;
  box-shadow: 3px 3px 6px #E1E1E1 inset;
  margin: 10px auto;
}

#news .btn-02:hover {
  color: #fff;
  background: #62B197;
  box-shadow: 3px 3px 6px #467e6b inset;
}

@media only screen and (max-width: 1200px) {
  .btn-01 {
    padding: 10px 35px 10px 35px;
    font-size: 0.9rem;
    max-width: 175px;
  }

  .column-2btn>a {
    margin: 0 7px;
  }
}

@media only screen and (max-width: 481.98px) {
  .column-2btn {
    display: block;
  }

  .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 #F5A500;
  color: #F5A500;
}

.table02 td {
  border: none;
  border-bottom: 1px solid #CACACA;
  padding: 20px;
}

.table02:first-child tr th {
  border-top: 2px solid #F5A500;
}

.table02:first-child tr td {
  border-top: 1px solid #F5A500;
}

@media only screen and (max-width: 481.98px) {
  .table02 {
    margin: 20px auto;
  }

  .table02 th {
    display: block;
    padding: 10px 0px 5px;
    font-size: 1.1rem;
  }

  .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: #F5A500;
  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 !important;
}

.catch-txt {
  font-size: 2.5vw;
  font-weight: 500;
  line-height: 3.3vw;
  margin: 30px auto;
}

.description-txt {
  font-size: 0.9rem;
}

.description-txt p {
  margin-bottom: 10px;
  line-height: 1.2rem;
}

.sabtitle-txt {
  font-size: 2.8rem;
  line-height: 7vh;
  display: block;
  padding-top: 10px;
}

.main-txt-color {
  color: #62B197 !important;
  text-decoration: none;
}

@media only screen and (max-width: 1200px) {
  .catch-txt {
    font-size: 1.5rem;
    line-height: 2.1rem;
    margin: 20px auto;
  }

  .sabtitle-txt {
    font-size: 3.9rem;
    line-height: 7vh;
  }
}

@media only screen and (max-width: 920px) {
  .catch-txt {
    font-size: 1.1rem;
    line-height: 1.6rem;
    font-weight: 510;
  }

  .description-txt p {
    font-size: 0.9rem;
    line-height: 1.3rem;
  }
}

@media only screen and (max-width: 481.98px) {
  .description-txt {
    font-size: 0.8rem;
    line-height: 1.1rem;
  }

  .sabtitle-txt {
    font-size: 2.9rem;
    line-height: 55px;
  }
}

/* 色 */
.back-main,
.back-sub {
  margin: 0;
}

.back-main {
  background: #F5A500;
}

.back-gray {
  background: #F2F2F2;
}

.back-sub {
  background: #FFF;
  padding: 30px 40px;
}

.back-main,
.back-sub,
.back-main h2,
.back-sub h2 {
  color: #3E3E3E;
}

.back-rgba {
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff !important;
}

.back-rgba h2 {
  color: #fff !important;

}

.back-rgba-color {
  background-image: linear-gradient(90deg, #53ac9fe6, #89be7ee6);
  color: #fff;
}

/* 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;
  }
}

/** 背景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);
  /* ホバー時の拡大率を設定 */
}

/*横スライドできるコンテンツ*/
.slide {
  padding: 0 5vw;
  margin-bottom: 0 !important;
}

.slide-contents {
  display: flex;
  gap: 40px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  scroll-snap-type: none;
  padding: 30px 5vw;
}

.flowslide {
  display: flex;
  gap: 40px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  scroll-snap-type: none;
  padding: 30px 5vw 5vw 70px;
  overflow-x: auto;
  width: 100%;
  cursor: grab;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.slide-contents.active,
.flowslide.active {
  cursor: grabbing;
}

.slide-contents>div {
  flex: 0 0 23vw;
  background: #F9F9F9;
  border-radius: 12px;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
  padding: 20px;
  box-sizing: border-box;
  user-select: none;
}

.flowslide>div {
  max-width: 330px;
  width: 100%;
  min-width: 300px;
  flex: 0 0 25vw;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  user-select: none;
  cursor: grab;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.flowslide::-webkit-scrollbar {
  display: none;
}

.flowslide.active {
  cursor: grabbing;
}

.flowslide-div {
  flex: 0 0 25vw;
  user-select: none;
}

.flowslide>div>div {
  border-top-right-radius: 12px;
  border-top-left-radius: 12px;
  height: 170px;
  min-width: 300px;
  width: 100%;
}

.flowslide-img1 {
  background-image: url("img/slide/01.png");
  background-size: cover;
  background-position: center;
}

.flowslide-img2 {
  background-image: url("img/slide/02.png");
  background-size: cover;
  background-position: center;
}

.flowslide-img3 {
  background-image: url("img/slide/03.png");
  background-size: cover;
  background-position: center;
}

.flowslide-img4 {
  background-image: url("img/slide/04.png");
  background-size: cover;
  background-position: center;
}

.flowslide-img5 {
  background-image: url("img/slide/05.png");
  background-size: cover;
  background-position: center;
}

.slide-contents,
.flowslide {
  scrollbar-width: none;
  /* Firefox */
  -ms-overflow-style: none;
  /* IE, Edge */
}

.slide-contents::-webkit-scrollbar,
.flowslide::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari */
}

.slide-contents h3 {
  color: #62B198;
  text-align: center;
  font-size: 1.5rem;
  margin: 20px auto 10px;
  font-weight: 700;
  letter-spacing: 1px;
}

.slide-contents h3 span {
  display: block;
  font-size: 1.2rem;
  line-height: 1.6rem;
}

.slide-contents img {
  display: block;
  width: 190px;
  margin: 20px auto;
  padding: 0 20px;
}

.slide-contents p {
  font-size: 0.9rem;
  line-height: 1.1rem;
  padding: 0 20px;
  text-align: center;
  font-weight: 600;
}


@media only screen and (max-width: 1100px) {

  .slide-contents>div,
  .slide-track>div {
    flex: 0 0 32vw;
  }

  .slide-contents h3 {
    font-size: 1.2rem;
  }

  .slide-contents h3 span {
    font-size: 2.5rem;
    line-height: 2.5rem;
  }

  .slide-contents img {
    padding: 0 20px;
  }
}

@media only screen and (max-width: 679.98px) {

  .slide-contents,
  .flowslide {
    padding: 20px 40px;
    gap: 20px;
  }

  .slide-contents>div,
  .slide-track>div {
    flex: 0 0 75vw;
  }
}

.slide-contents h4 {
  font-size: 1.1rem;
  padding: 0;
  border: none;
  text-align: left;
  margin: 20px auto 0;
  border-bottom: 1px dotted;
}

.slide-contents p {
  font-size: 0.9rem;
  line-height: 1.1rem;
  padding: 0 20px;
  text-align: left;
  font-weight: 600;
}

.slide-contents.txt-content p {
  padding: 0;
  line-height: 1.4rem;
}

@media only screen and (max-width: 679.98px) {
  .slide-contents.txt-content>div {
    padding: 15px;
  }

  .flowslide {
    padding: 30px 5vw 17vw 70px;
  }

}

.kaiketsu {
  padding: 70px 30px 30px 30px;
  margin: 0 auto;
}

.kaiketsu-img {
  width: 600px;
  margin: auto;
}

.flowslide p {
  display: block !important;
  color: #000 !important;
  margin-top: 10px;
  font-size: 23px;
  padding: 20px 30px 30px 30px;
  font-weight: 500;
  line-height: 32px;
}

@media only screen and (max-width: 679.98px) {
  .kaiketsu-img {
    max-width: 300px;
    width: 100%;
    margin: auto;
  }
}



/*ドラックできるループスライド*/
.flowslide {
  overflow-x: auto;
  overflow-y: hidden;
  cursor: grab;
  scrollbar-width: none;
  /* Firefox */
}

.flowslide::-webkit-scrollbar {
  display: none;
}

.flowslide.dragging {
  cursor: grabbing;
}

.slide-track {
  display: flex;
  width: max-content;
}

.slide-track div {
  flex-shrink: 0;
  max-width: 24vw;
  margin-right: 20px;
}

/*************************オリジナルパーツセット*************************/
/*背景画像*/
.back-img {
  background-image: url("/img/01.png");
  background-size: cover;
  background-position: center top;
}

.back-img-02 {
  background-image: url("/img/02.png");
  background-size: cover;
  background-position: center top;
}

/**写真付きリンク**/
.column2-linkBOX {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin: 50px auto;
  max-width: 80vw;
}

.column2-linkBOX a {
  position: relative;
  width: calc(50% - 10px);
  height: 350px;
  color: #fff;
  font-size: 3.3rem;
  font-weight: bold;
  text-decoration: none;
  overflow: hidden;
  border-radius: 10px;
  padding: 20px;
  box-sizing: border-box;
  z-index: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

/* 背景を before に移す */
.column2-linkBOX::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: transform 0.5s ease;
  transform: scale(1);
  z-index: -1;
}

/* 各背景画像を指定 */
.bgi-01::before {
  background-image: url('/img/bgi-01.png');
}

.bgi-02::before {
  background-image: url('/img/bgi-02.png');
}

/* ホバーでズーム */
.column2-linkBOX a:hover::before {
  transform: scale(1.1);
}

/* span部分は.btn-01風に */
.column2-linkBOX a span {
  display: inline-block;
  background: #F5A500;
  color: #fff;
  border-radius: 50px;
  padding: 10px 40px 10px 35px;
  font-size: 1rem;
  font-weight: 500;
  transition: 0.3s;
  position: relative;
  width: 190px;
}

/* ＞マーク追加 */
.column2-linkBOX a span::after {
  content: '＞';
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1em;
  transition: 0.3s;
}

/* ホバーで ＞ が動く */
.column2-linkBOX a:hover span::after {
  right: 10px;
}

@media only screen and (max-width: 920px) {
  .column2-linkBOX {
    max-width: 100%;
  }

  .column2-linkBOX a {
    font-size: 2.3rem;
  }
}

@media only screen and (max-width: 481.98px) {
  .column2-linkBOX {
    display: block;
    max-width: 100%;
    margin: 20px auto;
  }

  .column2-linkBOX a {
    width: 100%;
    height: 210px;
    margin-bottom: 20px;
  }
}

/** お問い合わせボックス **/
.contact {
  display: flex;
  max-width: 1100px;
  margin: auto;
}

.contactbox {
  position: relative;
  width: 31%;
  margin: 30px auto;
  border-radius: 10px;
  display: flex;
  padding: 25px;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 600;
}

.contactbox:hover {
  opacity: 0.6;
}

.contactbox>span {
  margin-top: -35px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}

.contactbox img {
  width: 50px;
}

.contact1::before {
  content: "";
  display: block;
  width: 140px;
  height: 70px;
  border-top-right-radius: 100px;
  border-top-left-radius: 100px;
  top: -27px;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  z-index: -10;
  background-color: #F5A500;
}

.contact2::before {
  content: "";
  display: block;
  width: 140px;
  height: 70px;
  border-top-right-radius: 100px;
  border-top-left-radius: 100px;
  top: -27px;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  z-index: -10;
  background-color: #fff;
}

.contact3::before {
  content: "";
  display: block;
  width: 140px;
  height: 70px;
  border-top-right-radius: 100px;
  border-top-left-radius: 100px;
  top: -27px;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  z-index: -10;
  background-color: #4FD25B;
}

.contactbox>div {
  width: 50%;
  padding: 10px 20px;
}

.contactbox>div.info {
  padding: 20px 20px;
}

.contactbox>div h3 {
  text-align: left;
  font-size: 1.2rem;
  font-weight: 520;
  line-height: 1.5rem;
  color: #F5A500;
}

.contactbox>div .tel {
  font-size: 3.2rem;
  font-weight: 520;
  color: #F5A500;
  line-height: 3.8rem;
}

.contactbox>div p {
  font-weight: 450;
  font-size: 0.9rem;
}

.contactbox>div>a {
  background: #F5A500;
  color: #fff;
  font-size: 1.2rem;
  display: block;
  padding: 55px 10px 55px 105px;
  border-radius: 7px;
  position: relative;
  transition: 0.3s;
  text-align: left;
  text-decoration: none;
  font-weight: bold;
  line-height: 1.5rem;
}

.contactbox>div>a:hover {
  background: #FF505E;
}

.contactbox>div>a::after {
  content: '';
  display: block;
  width: 33px;
  height: 33px;
  background-image: url('img/menuicon.png');
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 54px;
  left: 55px;
}

.contact1 {
  background-color: #F5A500;
  color: #fff;
}

.contact2 {
  background-color: #fff;
  color: #62B197;
}

.contact2 span {
  font-size: 1.5rem;
}

.contact3 {
  background-color: #4FD25B;
  color: #fff;
}

@media only screen and (max-width: 1200px) {
  .contactbox {
    padding: 15px 10px;
    min-width: 270px;
  }

  .contactbox>div>a {
    padding: 30px 15% 30px 00;
    font-size: 1rem;
  }

  .contactbox>div>a::after {
    top: 30px;
    right: 20%;
  }

  .contactbox>div .tel {
    font-size: 3.4vw;
    line-height: 4vw;
  }
}

@media only screen and (max-width: 920px) {
  .contactbox {
    display: block;
    padding: 20px 10px;
  }

  .contactbox>div {
    width: 100%;
    text-align: center;
  }

  .contactbox>div>a {
    font-size: 1.1rem;
    padding: 75px 20px 25px;
    text-align: center;
  }

  .contactbox>div>a::after {
    width: 50px;
    height: 50px;
    top: 25px;
    right: 0;
    left: 0;
    margin: 0 auto;
  }

  .contactbox>div.info {
    padding: 10px 20px 20px;
  }

  .contactbox>div h3 {
    font-size: 1rem;
    margin-bottom: 0px;
    text-align: center;
  }

  .contactbox>div .tel {
    font-size: 8.7vw;
    line-height: 8.7vw;
    margin-bottom: 5px;
  }
}

@media only screen and (max-width:600px) {
  .contact {
    flex-flow: column;
  }

  .contactbox {
    position: relative;
    width: 100%;
    margin: 30px auto;
    border-radius: 10px;
    display: flex;
    padding: 25px;
    text-decoration: none;
  }
}

@media only screen and (max-width:400px) {
  .contactbox {
    padding: 15px 10px;
    min-width: 220px;
  }
}

/*お問い合わせフォーム(スノウモンキー)*/
.contact-form {
  margin: 60px auto;
}

.contact-form .smf-item__label__text {
  font-size: 1.1rem;
}

.smf-form--business .smf-item__col--label {
  border-left: 5px solid #F5A500;
  padding: 10px 10px;
}

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;
}

.smf-action .smf-button-control__control {
  background: #F5A500;
  border: 2px solid #F5A500;
}

.smf-action .smf-button-control__control:hover {
  color: #F5A500;
  background: #fff;
  border: 2px solid #F5A500;
}

.smf-item__description {
  margin-top: 0;
  font-size: 0.7rem;
}

@media only screen and (max-width: 600px) {
  .contact-form .smf-item__label__text {
    font-size: 0.9rem;
  }
}

/*枠*/
/*** ページリンク ***/
.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: 20px 30px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 20px;

}

.toc-list li {
  margin: 5px;
}

.toc-list li a {
  color: #F5A500;
  display: block;
  text-decoration: none;
  border: 2px solid #F5A500;
  padding: 3px 20px;
  border-radius: 7px;
  text-align: center;
  transition: 0.3s;
}

.toc-list li a:hover {
  background: #F5A500;
  color: #fff;
}

@media only screen and (max-width: 600px) {
  .toc-list {
    display: block;
    padding: 0 30px 40px;
  }

  .toc-list li {
    margin: 0 auto;
  }

  .toc-list li a {
    border-radius: 0;
    background: #f4f4f4;
    border: none;
    font-size: 1.1rem;
    padding: 10px;
  }

  .toc-list li:nth-of-type(2n) a {
    background: #ddd;
  }

  .toc-list li a:hover {
    background: #F5A500;
    color: #fff;
  }

}

@media only screen and (max-width: 481.98px) {

  .toc-list {
    padding: 30px 30px;
  }

}

/*流れ・フロー*/
.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 #F5A500;
  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: #F5A500;
  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: #F5A500;
  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: 2rem auto;
}

.point-list li {
  position: relative;
  margin-bottom: 10px;
  padding: 10px 10px 10px 41px;
  background: #f4f4f4;
  font-size: 1.1rem;
  border-radius: 4px;
}

.point-list li::before {
  content: '✔';
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #F5A500;
  font-weight: bold;
  font-size: 1rem;
}

@media (max-width: 600px) {
  .point-list li {
    font-size: 0.9rem;
  }
}

/*カードボックス*/
.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-border {
  border: #3E3E3E 1px solid;
  padding: 10px;
}

.text-box p {
  font-size: 0.9rem;
}

.text-box2 {
  border: solid 2px #F5A500;
  padding: 2px 5px 3px 5px;
  border-radius: 5px;
  margin-right: 5px;
}

.txt-border {
  margin-top: 30px;
  padding: 10px 15px;
  border: #3E3E3E 1px solid;
}

/*************************個別設定*************************/

.maps iframe {
  height: 650px;
}

@media only screen and (max-width: 920px) {
  .maps iframe {
    height: 400px;
  }
}

.policy,
.links-list,
.archive-list {
  padding-top: 70px;
}

.policy h3 {
  text-align: left;
  font-size: 1.3rem;
  font-weight: 570;
  margin: 30px auto 10px;
  color: #F5A500;
  border-top: 1px solid #F5A500;
  padding-top: 30px;
}

.policy ul {
  padding: 10px 20px 5px;
}

.policy ul li {
  font-size: 1rem;
}

@media only screen and (max-width: 920px) {
  .policy h3 {
    font-size: 1.1rem;
  }

  .policy ul li {
    font-size: 0.8rem;
  }

  .policy,
  .contact,
  .links-list,
  .archive-list {
    padding-top: 0;
  }
}

@media only screen and (max-width: 600px) {}

/*unite独自*/
.flow {
  position: relative;
}

.flow-title {
  padding: 30px;
}

.slide-logo-img {
  max-width: 400px;
  width: 100%;
  height: 200px;
  background-image: url("img/logo.svg");
  background-position: left;
  background-size: cover;
  position: absolute;
  z-index: -1;
  right: 0;
  top: 60px;
  width: 29vw;
  object-fit: contain;
}

@media only screen and (max-width: 920px) {
  .slide-logo-img {
    right: 0;
    top: 30px;
    width: 56vw;
    height: 200px;
    object-fit: contain;
    background-repeat: no-repeat;
  }
}

@media only screen and (max-width: 600px) {
  .slide-logo-img {
    right: 0;
    top: 70px;
    width: 42vw;
    height: 120px;
    object-fit: contain;
    background-repeat: no-repeat;
  }
}

@media only screen and (max-width: 400px) {
  .slide-logo-img {
    right: 0;
    top: 100px;
    width: 50vw;
    height: 95px;
    object-fit: contain;
    background-repeat: no-repeat;
  }
}

.contact-img {
  max-width: 190px;
  width: 100%;
  margin: 30px auto;
}

.logo-contact-unique01 {
  width: 100%;
}

@media only screen and (max-width: 920px) {
  .logo-contact-unique01 {
    width: 100%;
    margin: auto;
  }
}

.column-2-img div.img-01 {
  background: url(/img/01.png);
  background-size: cover;
  background-position: center top;
}

.column-2-img div.img-02 {
  background: url(/img/02.png);
  background-size: cover;
  background-position: center top;
}

.column-2-img div.img {
  background-size: cover;
}

.product-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
}

.product-list>div {
  width: calc(100% / 3 - 20px);
  padding: 20px;
  background: #fff;
  margin: 10px;
  border-radius: 10px;
  box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.1);
}

.product-list>div h3 {
  font-size: 1.3rem;
  font-weight: 500;
  margin: 20px auto 0;
}

.product-list.one-column>div {
  width: calc(100% / 1);
  margin: 10px auto;
  padding: 20px 50px;
  max-width: 900px;
}

.product-list.one-column>div h3 {
  font-size: 2rem;
}

.product-list.one-column>div h4 {
  text-align: center;
  font-size: 1.3rem;
  margin: 20px auto 20px;
  border-bottom: 3px dotted #c4c4c4;
  padding: 15px;
}

.product-list.one-column>div img {
  margin: 0 auto;
  display: block;
}

.product-list.one-column>div p {
  margin: 20px auto 30px;
  padding: 0 20px;
}

.product-list.gallery>div {
  padding: 0;
  overflow: hidden;
}

@media only screen and (max-width: 600px) {
  .product-list>div {
    width: calc(100% / 2 - 10px);
    margin: 5px;
    padding: 10px
  }

  .product-list>div h3 {
    font-size: 0.8rem;
    margin: 5px auto 0px;
  }

  .product-list.one-column>div p {
    padding: 0;
  }

  .product-list.one-column>div {
    padding: 20px 30px;
  }

  .product-list.one-column>div h3 {
    font-size: 1.4rem;
  }

  .product-list.one-column>div h4 {
    font-size: 1.1rem;
    margin: 0 auto 10px;
  }
}

.archive-list {
  padding-left: 50px;
  padding-right: 50px;
  padding-bottom: 80px;
}

@media only screen and (max-width: 600px) {
  .archive-list {
    padding-left: 30px;
    padding-right: 30px;
  }

}

.partner-links ul {
  padding: 0;
}

.partner-links ul li {
  list-style: none;
}

.partner-links ul li a {
  text-decoration: none;
  display: block;
  border: 2px solid;
  padding: 20px;
  text-align: center;
  margin-bottom: 15px;
  transition: 0.3s;
}

.partner-links ul li a:hover {
  background: #F5A500;
  color: #fff;
}

@media only screen and (max-width: 600px) {
  .partner-links ul li a {
    font-size: 0.9rem;
    padding: 10px;
  }
}

.card-box01 .table02 {
  margin: 20px auto;
}

.btn-01.center {
  margin: 20px auto 0;
  display: block;
  max-width: 300px;
}

/*************************カスタムフィールド*************************/
.property-details {
  max-width: 700px;
  margin: 30px auto 20px !important;
  padding: 30px;
}

.property-details h3 {
  font-size: 1.7rem;
  font-weight: 500;
  padding: 0 10px;
  margin: 30px auto 10px;
}

.property-details h3 span {
  background: #F5A500;
  color: #fff;
  font-size: 1.1rem;
  display: inline-block;
  padding: 8px 5px 8px 10px;
  margin-right: 10px;
  position: relative;
  bottom: 3px;
  border-radius: 7px;
}

.property-details .year {
  color: #F5A500;
  text-align: center;
  border: 2px solid;
  display: block;
  width: fit-content;
  padding: 2px 20px;
  border-radius: 6px;
  font-size: 0.9rem;
  margin: 10px auto;
}

.property-details .name {
  font-size: 1.4rem;
  text-align: center;
  background: #f4f4f4;
  padding: 10px;
  border-radius: 7px;
  margin: 20px auto;
}

.property-details .description {
  font-size: 1.1rem;
  padding: 10px;
}

.property-details .property-image1 {
  box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
}

.property-details .imgs {
  display: flex;
  justify-content: left;

}

.property-details .property-image2,
.property-details .property-image3 {
  margin: 5px;
  border-radius: 10px;
}

.back-to-list {
  margin-top: 30px;
}

.back-to-list .btn-01 {
  max-width: 100%;
  font-size: 1.4rem;
  line-height: 1.4rem;
}

.back-to-list .btn-01 span {
  display: block;
  font-size: 0.9rem;
}

.back-to-list .btn-01::after {
  content: "←";
  font-size: 2.5rem;
  font-weight: lighter;
}

@media only screen and (max-width: 481.98px) {
  .property-details h3 {
    font-size: 1.1rem;
    margin: 20px auto 5px;
    text-align: left;
  }

  .property-details h3 span {
    font-size: 0.7rem;
  }

  .property-details .year {
    font-size: 0.7rem;
    padding: 4px 10px;
    margin: 0 0 0 auto;
    border: none;
    background: #f4f4f4;
    border-radius: 5px 5px 0 0;
  }

  .property-details .name {
    margin: 0 auto;
    border-radius: 0 0 5px 5px;
    font-size: 1rem;
    line-height: 1.3rem;
    text-align: left;
  }

  .property-details .description {
    font-size: 0.9rem;
    padding: 10px;
  }
}

.property-h2 {
  font-size: 2.8rem;
  margin: 0;
  letter-spacing: 0.3rem;
}

.property-links {}

.property-links a {
  display: block;
  width: 100%;
  text-decoration: none;
  transition: 0.3s;
  padding: 10px;
  border-bottom: 1px solid #999;
}

.property-links a:last-child {
  border-bottom: none;
}

.property-links .property-details {
  margin: 0 auto !important;
  padding: 0;
  max-width: 100%;
  color: #000;
}

.property-links a:hover .property-details {
  color: #F5A500;
}

.property-links .property-details .title {
  font-weight: normal;
  text-align: left;
  font-size: 1.1rem;
  margin: 0 auto;
  padding: 0;
  line-height: 1.4rem;
}

.property-links .property-details .txt {
  text-align: left;
  font-size: 0.9rem;
  border: 1px solid;
  padding: 0px 5px;
  margin: 0 auto 0 0;
  display: inline;
  background: #fff;
}

.property-links .property-details .txt span {
  background: #fff;
  padding: 3px 3px;

  border: 2px solid;
  border-radius: 5px;
  font-size: 0.8rem;
  position: relative;
  top: -1px;
  margin-right: 5px;
}

.property-links a:hover .property-details .txt span {
  color: #000;
}

.all-decade-blocks {
  display: flex;
  flex-wrap: wrap;
  max-width: 1500px;
  margin: 0 auto;
}

.property-decade-block {
  background: #f4f4f4;
  padding: 30px 30px;
  border-radius: 10px;
  width: calc(100% / 3 - 20px);
  margin: 10px;
}

.property-decade-block h3 {
  font-size: 1.6rem;
  font-weight: 500;
  color: #F5A500;
}

.point {
  font-size: 18px;
  font-weight: 700;
  display: block;
}

@media only screen and (max-width: 1000px) {
  .property-decade-block {
    width: calc(100% / 2 - 20px);

  }
}

@media only screen and (max-width: 680px) {
  .property-decade-block {
    width: calc(100%);
    margin: 15px auto;
    padding: 30px 20px;

  }
}

@media only screen and (max-width: 481.98px) {}