@charset "UTF-8";
:root {
  --main-font: "游明朝","Yu Mincho","Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS Mincho", serif;
  --f-yu-gothic: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック", "Hiragino Sans", Meiryo, sans-serif;
}

html {
  font-size: 62.5%;
}

body {
  width: 100%;
  font-size: 1.6rem;
  color: #004d14;
  font-weight: 600;
}
@media (max-width: 768px) {
  body {
    font-size: 1.4rem;
  }
}

header,
main,
footer .container {
  font-family: var(--main-font);
}

/* スクロールフェード */
.js-fade {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.js-fade.is-active {
  opacity: 1;
  transform: translateY(0);
}

main {
  position: relative;
  overflow: hidden;
  padding-top: 120px;
}
@media (max-width: 768px) {
  main {
    padding-top: 80px;
  }
}

/* フッター */
.footer {
  font-family: var(--f-yu-gothic);
}
.footer .container {
  max-width: 100%;
  padding: 0;
}
.footer .footer-cta {
  background: #004d14;
  padding: 60px 20px;
}
@media (max-width: 768px) {
  .footer .footer-cta {
    padding: 30px 10px;
  }
}
.footer .footer-cta .footer-cta-inner {
  max-width: 1180px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 50px;
}
@media (max-width: 768px) {
  .footer .footer-cta .footer-cta-logo {
    width: 100px;
    margin: auto;
  }
}
.footer .footer-cta .footer-cta-text {
  color: #fff;
  font-size: 3rem;
  line-height: 1.75;
}
@media (max-width: 768px) {
  .footer .footer-cta .footer-cta-text {
    display: none;
  }
}
@media (max-width: 768px) {
  .footer .footer-cta .arrow-r-link {
    display: none;
  }
}
.footer .fds_footerOuter {
  border-top: 2px solid #dce4d7;
}

.footer_sns {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-top: 55px;
  padding-bottom: 50px;
  position: relative;
}
.footer_sns::before {
  position: absolute;
  content: "";
  max-width: 1280px;
  height: 2px;
  background: #004d14;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
@media (max-width: 768px) {
  .footer_sns {
    display: none;
    /*margin: 30px auto;*/
  }
}
.footer_sns a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 240px;
  min-height: 60px;
  background: #fff;
  transition: all 0.5s ease 0s;
}
@media (max-width: 768px) {
  .footer_sns a {
    justify-content: flex-start;
    width: 100%;
    min-height: 100%;
    padding: 14px 30px;
  }
}
@media (max-width: 768px) {
  .footer_sns .footer_sns_bnr {
    width: 52.1739130435%;
    margin: auto;
  }
  .footer_sns .footer_sns_bnr + .footer_sns_bnr {
    margin-top: 10px;
  }
}
.footer_sns .icon {
  padding-right: 24px;
}
@media (max-width: 768px) {
  .footer_sns .icon {
    padding-right: 20px;
  }
  .footer_sns .icon img {
    width: 30px;
  }
}
.footer_sns .text {
  font-size: 1.8rem;
  font-weight: bold;
  font-family: var(--f-yu-gothic);
}
@media (max-width: 768px) {
  .footer_sns .text {
    font-size: 1.4rem;
  }
}
.footer_sns .text .sub {
  font-size: 1.2rem;
  padding-top: 8px;
  display: inline-block;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .footer_sns .text .sub {
    font-size: 1rem;
  }
}

.subpage .footer_sns {
  display: none;
}

.top .footer-cta .footer-cta-text,
.top .footer-cta .arrow-r-link {
  display: none;
}

.page_top_btn {
  position: fixed;
  bottom: 40px;
  right: 40px;
  z-index: 900;
  width: 76px;
  height: 80px;
  opacity: 0; /* 初期は透明 */
  visibility: hidden; /* 初期は非表示 */
  transition: opacity 0.5s ease, visibility 0.5s ease; /* アニメーション */
}
@media (max-width: 768px) {
  .page_top_btn {
    width: 56px;
    height: 60px;
    right: 10px;
    bottom: 20px;
  }
}

.page_top_btn.show {
  opacity: 1;
  visibility: visible;
}

.section.bg-white, .section.bg-beige {
  position: relative;
}
.section.bg-white::before, .section.bg-beige::before {
  position: absolute;
  content: "";
  width: 240px;
  height: 100%;
  top: 0;
  left: 0;
}
@media (max-width: 768px) {
  .section.bg-white::before, .section.bg-beige::before {
    width: 32vw;
  }
}
.section.bg-white::before {
  background: url("/toiro/common/images/bg_deco-white.webp") repeat-y top left;
  z-index: -1;
}
@media (max-width: 768px) {
  .section.bg-white::before {
    background: url("/toiro/common/images/bg_deco-white.webp") repeat-y top left;
    background-size: 100%;
  }
}
.section.bg-beige {
  background: #f1ebda;
}
.section.bg-beige::before {
  background: url("/toiro/common/images/bg_deco-beige.webp") repeat-y top left;
}
@media (max-width: 768px) {
  .section.bg-beige::before {
    background: url("/toiro/common/images/bg_deco-beige.webp") repeat-y top left;
    background-size: contain;
  }
}

/* 下層ページ見出し */
.page-title {
  background: #004d14;
  height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .page-title {
    height: 80px;
  }
}
.page-title .title {
  color: #fff;
  font-size: 4rem;
  letter-spacing: 0.15em;
}
@media (max-width: 768px) {
  .page-title .title {
    font-size: 2.4rem;
  }
}

.arrow-r-link {
  font-size: 1.8rem;
  color: #fff;
  background: #004d14;
  font-weight: bold;
  position: relative;
  padding: 15px 30px;
  transition: all 0.5s ease 0s;
  width: 300px;
  margin-left: auto;
  border: 1px solid #fff;
}
@media (max-width: 768px) {
  .arrow-r-link {
    font-size: 1.3rem;
    padding: 8px 20px 8px 12px;
    width: 174px;
    margin-top: 6px;
  }
}
.arrow-r-link::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
}
@media (max-width: 768px) {
  .arrow-r-link::before {
    width: 7px;
    height: 7px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    right: 12px;
  }
}
.arrow-r-link:hover {
  color: #004d14;
  background: #fff;
  border: 1px solid #004d14;
}
.arrow-r-link:hover::before {
  border-top: solid 2px #004d14;
  border-right: solid 2px #004d14;
}

.link-block {
  font-size: clamp(1.2rem, 1.4vw, 1.5rem);
}
.link-block ul li {
  line-height: 1.6;
}
.link-block ul li + li {
  margin-top: 5px;
}
.link-block .link-txt {
  text-decoration: underline;
}
.link-block .icon-blank {
  position: relative;
  padding-left: 26px;
  display: inline-block;
}
@media (max-width: 768px) {
  .link-block .icon-blank {
    padding-left: 20px;
  }
}
.link-block .icon-blank::before {
  position: absolute;
  content: "";
  background: url("/toiro/common/images/icon_blank.png") no-repeat;
  background-size: cover;
  width: 20px;
  height: 20px;
  left: 0;
}
@media (max-width: 768px) {
  .link-block .icon-blank::before {
    width: 16px;
    height: 16px;
  }
}

/* flex
-------------------------------------------------- */
.ai-ac {
  align-items: center;
}

/* margin
-------------------------------------------------- */
.mt00 {
  margin-top: 0 !important;
}

.mt05 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mt105 {
  margin-top: 105px !important;
}

.mt110 {
  margin-top: 110px !important;
}

.mt115 {
  margin-top: 115px !important;
}

.mt120 {
  margin-top: 120px !important;
}

.mt125 {
  margin-top: 125px !important;
}

.mt130 {
  margin-top: 130px !important;
}

.mt135 {
  margin-top: 135px !important;
}

.mt140 {
  margin-top: 140px !important;
}

.mt145 {
  margin-top: 145px !important;
}

.mt150 {
  margin-top: 150px !important;
}

.mb00 {
  margin-bottom: 0 !important;
}

.mb05 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.mb105 {
  margin-bottom: 105px !important;
}

.mb110 {
  margin-bottom: 110px !important;
}

.mb115 {
  margin-bottom: 115px !important;
}

.mb120 {
  margin-bottom: 120px !important;
}

.mb125 {
  margin-bottom: 125px !important;
}

.mb130 {
  margin-bottom: 130px !important;
}

.mb135 {
  margin-bottom: 135px !important;
}

.mb140 {
  margin-bottom: 140px !important;
}

.mb145 {
  margin-bottom: 145px !important;
}

.mb150 {
  margin-bottom: 150px !important;
}

@media (max-width: 768px) {
  .m00_sp {
    margin: 0 !important;
  }
}

@media (max-width: 768px) {
  .mAuto_sp {
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

@media (max-width: 768px) {
  .mtAuto_sp {
    margin-top: auto !important;
  }
}

@media (max-width: 768px) {
  .mbAuto_sp {
    margin-bottom: auto !important;
  }
}

@media (max-width: 768px) {
  .mlAuto_sp {
    margin-left: auto !important;
  }
}

@media (max-width: 768px) {
  .mrAuto_sp {
    margin-right: auto !important;
  }
}

@media (max-width: 768px) {
  .mt00_sp {
    margin-top: 0 !important;
  }
}

@media (max-width: 768px) {
  .mt05_sp {
    margin-top: 5px !important;
  }
}

@media (max-width: 768px) {
  .mt10_sp {
    margin-top: 10px !important;
  }
}

@media (max-width: 768px) {
  .mt15_sp {
    margin-top: 15px !important;
  }
}

@media (max-width: 768px) {
  .mt20_sp {
    margin-top: 20px !important;
  }
}

@media (max-width: 768px) {
  .mt25_sp {
    margin-top: 25px !important;
  }
}

@media (max-width: 768px) {
  .mt30_sp {
    margin-top: 30px !important;
  }
}

@media (max-width: 768px) {
  .mt35_sp {
    margin-top: 35px !important;
  }
}

@media (max-width: 768px) {
  .mt40_sp {
    margin-top: 40px !important;
  }
}

@media (max-width: 768px) {
  .mt45_sp {
    margin-top: 45px !important;
  }
}

@media (max-width: 768px) {
  .mt50_sp {
    margin-top: 50px !important;
  }
}

@media (max-width: 768px) {
  .mt55_sp {
    margin-top: 55px !important;
  }
}

@media (max-width: 768px) {
  .mt60_sp {
    margin-top: 60px !important;
  }
}

@media (max-width: 768px) {
  .mt65_sp {
    margin-top: 65px !important;
  }
}

@media (max-width: 768px) {
  .mt70_sp {
    margin-top: 70px !important;
  }
}

@media (max-width: 768px) {
  .mt75_sp {
    margin-top: 75px !important;
  }
}

@media (max-width: 768px) {
  .mt80_sp {
    margin-top: 80px !important;
  }
}

@media (max-width: 768px) {
  .mt85_sp {
    margin-top: 85px !important;
  }
}

@media (max-width: 768px) {
  .mt90_sp {
    margin-top: 90px !important;
  }
}

@media (max-width: 768px) {
  .mt95_sp {
    margin-top: 95px !important;
  }
}

@media (max-width: 768px) {
  .mt100_sp {
    margin-top: 100px !important;
  }
}

@media (max-width: 768px) {
  .mt105_sp {
    margin-top: 105px !important;
  }
}

@media (max-width: 768px) {
  .mt110_sp {
    margin-top: 110px !important;
  }
}

@media (max-width: 768px) {
  .mt115_sp {
    margin-top: 115px !important;
  }
}

@media (max-width: 768px) {
  .mt120_sp {
    margin-top: 120px !important;
  }
}

@media (max-width: 768px) {
  .mt125_sp {
    margin-top: 125px !important;
  }
}

@media (max-width: 768px) {
  .mt130_sp {
    margin-top: 130px !important;
  }
}

@media (max-width: 768px) {
  .mt135_sp {
    margin-top: 135px !important;
  }
}

@media (max-width: 768px) {
  .mt140_sp {
    margin-top: 140px !important;
  }
}

@media (max-width: 768px) {
  .mt145_sp {
    margin-top: 145px !important;
  }
}

@media (max-width: 768px) {
  .mt150_sp {
    margin-top: 150px !important;
  }
}

@media (max-width: 768px) {
  .mb00_sp {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 768px) {
  .mb05_sp {
    margin-bottom: 5px !important;
  }
}

@media (max-width: 768px) {
  .mb10_sp {
    margin-bottom: 10px !important;
  }
}

@media (max-width: 768px) {
  .mb15_sp {
    margin-bottom: 15px !important;
  }
}

@media (max-width: 768px) {
  .mb20_sp {
    margin-bottom: 20px !important;
  }
}

@media (max-width: 768px) {
  .mb25_sp {
    margin-bottom: 25px !important;
  }
}

@media (max-width: 768px) {
  .mb30_sp {
    margin-bottom: 30px !important;
  }
}

@media (max-width: 768px) {
  .mb35_sp {
    margin-bottom: 35px !important;
  }
}

@media (max-width: 768px) {
  .mb40_sp {
    margin-bottom: 40px !important;
  }
}

@media (max-width: 768px) {
  .mb45_sp {
    margin-bottom: 45px !important;
  }
}

@media (max-width: 768px) {
  .mb50_sp {
    margin-bottom: 50px !important;
  }
}

@media (max-width: 768px) {
  .mb55_sp {
    margin-bottom: 55px !important;
  }
}

@media (max-width: 768px) {
  .mb60_sp {
    margin-bottom: 60px !important;
  }
}

@media (max-width: 768px) {
  .mb65_sp {
    margin-bottom: 65px !important;
  }
}

@media (max-width: 768px) {
  .mb70_sp {
    margin-bottom: 70px !important;
  }
}

@media (max-width: 768px) {
  .mb75_sp {
    margin-bottom: 75px !important;
  }
}

@media (max-width: 768px) {
  .mb80_sp {
    margin-bottom: 80px !important;
  }
}

@media (max-width: 768px) {
  .mb85_sp {
    margin-bottom: 85px !important;
  }
}

@media (max-width: 768px) {
  .mb90_sp {
    margin-bottom: 90px !important;
  }
}

@media (max-width: 768px) {
  .mb95_sp {
    margin-bottom: 95px !important;
  }
}

@media (max-width: 768px) {
  .mb100_sp {
    margin-bottom: 100px !important;
  }
}

@media (max-width: 768px) {
  .mb105_sp {
    margin-bottom: 105px !important;
  }
}

@media (max-width: 768px) {
  .mb110_sp {
    margin-bottom: 110px !important;
  }
}

@media (max-width: 768px) {
  .mb115_sp {
    margin-bottom: 115px !important;
  }
}

@media (max-width: 768px) {
  .mb120_sp {
    margin-bottom: 120px !important;
  }
}

@media (max-width: 768px) {
  .mb125_sp {
    margin-bottom: 125px !important;
  }
}

@media (max-width: 768px) {
  .mb130_sp {
    margin-bottom: 130px !important;
  }
}

@media (max-width: 768px) {
  .mb135_sp {
    margin-bottom: 135px !important;
  }
}

@media (max-width: 768px) {
  .mb140_sp {
    margin-bottom: 140px !important;
  }
}

@media (max-width: 768px) {
  .mb145_sp {
    margin-bottom: 145px !important;
  }
}

@media (max-width: 768px) {
  .mb150_sp {
    margin-bottom: 150px !important;
  }
}/*# sourceMappingURL=toiro_common.css.map */