body {
  font-size: 1.6rem; }

img {
  max-width: 100%;
  width: 100%;
  height: auto; }

/*----------------------------------------------

  header

----------------------------------------------*/
.hero_header::before {
  top: 5%;
  left: 0;
  height: 100px;
  background-size: auto 100%; }
  @media screen and (max-width: 480px) {
    .hero_header::before {
      height: 60px; } }
.hero_header::after {
  bottom: 50%;
  right: 0;
  height: 100px;
  background-size: auto 100%; }
  @media screen and (max-width: 480px) {
    .hero_header::after {
      height: 60px; } }

.hero_header_wrap {
  font-feature-settings: "palt";
  background-size: 80% auto;
  padding: 14em 0 1em; }
  @media screen and (max-width: 767px) {
    .hero_header_wrap {
      padding: 8em 0 1em; } }
  .hero_header_wrap .hero_title_area {
    padding: 0 2em;
    margin-bottom: 2em; }
  .hero_header_wrap .hero_doc {
    padding: 0 1em;
    margin-bottom: 2em; }
    @media screen and (max-width: 480px) {
      .hero_header_wrap .hero_doc {
        font-size: 1.2rem; } }
  .hero_header_wrap .hero_aside {
    position: relative;
    max-width: 70%;
    margin: 0 auto; }
    .hero_header_wrap .hero_aside .hero_aside_caution {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 20px;
      margin-left: -2rem; }
    .hero_header_wrap .hero_aside .caution_list {
      font-size: 1.1rem; }
    .hero_header_wrap .hero_aside .hero_aside_leaf {
      width: clamp(20px, 40%, 50px); }

/*----------------------------------------------

  footer

----------------------------------------------*/
.footer_wrap {
  padding: 1em 2em; }
  .footer_wrap .footer_sns_link li span {
    display: none; }

/*----------------------------------------------

  layout

----------------------------------------------*/
.sp_none {
  display: none; }

/*----------------------------------------------

  section

----------------------------------------------*/
/*----------------------------------------------

  container

----------------------------------------------*/
.container {
  padding: 0 1em; }

/*----------------------------------------------

  article

----------------------------------------------*/
/*----------------------------------------------

  asset

----------------------------------------------*/
.sec_title {
  font-size: 2.4rem; }

.btn a {
  font-size: 1.4rem; }

.sp_reverse {
  display: flex;
  flex-direction: column-reverse;
  gap: 1em; }

/*----------------------------------------------

  index

----------------------------------------------*/
.sec_wrap,
.sec_wrap.sec_wrap_org {
  padding: 2em 0; }

.sec_contents {
  padding: 0 2rem; }
  .sec_contents .sec_supplement {
    font-size: 1.3rem; }
  .sec_contents p {
    font-size: 1.4rem; }
  .sec_contents p.btn br {
    display: block; }
  .sec_contents * + p.btn {
    margin-top: 2em;
    margin-bottom: 2em; }
  .sec_contents .row.col_reverse {
    display: flex;
    flex-direction: column-reverse; }

.sub_sec_list dt {
  font-size: 2rem; }
  .sub_sec_list dt span {
    font-size: 1.6rem;
    margin-bottom: .5em; }
.sub_sec_list dd {
  font-size: 1.4rem; }
.sub_sec_list dd + dt {
  margin-top: 2rem; }

.sec_dl {
  font-size: 1.4rem; }

.related_wrap {
  background-image: url(./images/footer_leaf.png), url(./images/bg_white.jpg);
  background-repeat: no-repeat, no-repeat;
  background-position: bottom left,top center;
  background-size: 70% auto,100% auto;
  padding: 2em 1em 12em; }

.related_contents {
  max-width: 1100px;
  margin: 0 auto; }
  .related_contents .row .column + .column {
    margin-top: 3em; }
  .related_contents p {
    font-size: 1.4rem; }
  .related_contents + .related_contents {
    margin-top: 3em; }

.related_title {
  color: #DB3828;
  font-size: 2rem;
  margin-bottom: .5em; }

.rope_kanzakura_leaf {
  padding-right: 100px; }

.kanzakura_ico_photo {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 100;
  width: 100px;
  height: 100px; }

.hodosan_sec_doc {
  position: relative;
  z-index: 10; }

.hodosan_ico_photo {
  position: absolute;
  top: -2em;
  right: 1em;
  z-index: 100;
  width: 100px;
  height: 100px; }

.choccotto_area .choccotto_title {
  top: -1.4%; }
  .choccotto_area .choccotto_title img {
    max-width: 80%; }

@media screen and (min-width: 481px) and (max-width: 767px) {
  .sec_wrap_tamayodo {
    padding-top: 3em; } }
.sec_wrap_tamayodo .leaf_left::before {
  display: none; }
.sec_wrap_tamayodo .sec_doc {
  z-index: 10; }
  .sec_wrap_tamayodo .sec_doc::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 1em;
    width: 58px;
    height: 68px;
    z-index: 100;
    background: url(./images/leaf_left.png) no-repeat center center;
    background-size: 100% auto; }

.leaf_left::before {
  top: -4em;
  right: 1em;
  width: 58px;
  height: 68px;
  background-size: 100% auto; }

.leaf_right::before {
  top: -4em;
  left: 1em;
  width: 46px;
  height: 54px;
  background-size: 100% auto; }

.line_main_leaf::before {
  position: absolute;
  top: -4em;
  left: 1em;
  content: "";
  display: block;
  width: 46px;
  height: 54px;
  background: url(./images/leaf_right.png) no-repeat center center;
  background-size: 100% auto; }

.line_doc_leaf::before {
  position: absolute;
  top: -1em;
  right: 10%;
  content: "";
  display: block;
  width: 46px;
  height: 54px;
  background: url(./images/leaf_right.png) no-repeat center center;
  background-size: 100% auto; }

.line_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: -1em;
  width: 100%;
  gap: 1rem; }
  .line_btn::before {
    content: "";
    display: block;
    width: 46px;
    height: 54px;
    background: url(./images/leaf_right.png) no-repeat center center;
    background-size: 100% auto; }
  .line_btn a {
    margin: 0;
    padding-right: 2em; }

.rope_doc_leaf::before {
  content: "";
  position: absolute;
  top: -2em;
  right: 1em;
  width: 58px;
  height: 68px;
  background: url(./images/leaf_left.png) no-repeat center center;
  background-size: 100% auto; }

.rope_sub_leaf::before {
  content: "";
  position: absolute;
  top: -2em;
  right: 1em;
  width: 58px;
  height: 68px;
  background: url(./images/leaf_left.png) no-repeat center center;
  background-size: 100% auto; }

.rope_kanzakura_leaf::before {
  content: "";
  position: absolute;
  top: -3em;
  left: -2em;
  width: 40px;
  height: 44px;
  background: url(./images/leaf_left.png) no-repeat center center;
  background-size: 100% auto; }

.tsukinoishi_doc_leaf::before {
  content: "";
  position: absolute;
  top: -2em;
  right: 0;
  width: 58px;
  height: 68px;
  background: url(./images/leaf_left.png) no-repeat center center;
  background-size: 100% auto; }

.sec_contents_cloud {
  position: relative; }
  .sec_contents_cloud::before {
    content: "";
    display: block;
    position: absolute;
    top: -4%;
    left: -1em;
    z-index: -1;
    width: 100%;
    height: 100px;
    background: url(./images/bg_cloud_left.png) no-repeat top left;
    background-size: auto 100%; }
    @media screen and (max-width: 480px) {
      .sec_contents_cloud::before {
        height: 80px; } }
  .sec_contents_cloud::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -2%;
    right: -1em;
    z-index: -1;
    width: 100%;
    height: 100px;
    background: url(./images/bg_cloud_right.png) no-repeat top right;
    background-size: auto 100%; }
    @media screen and (max-width: 480px) {
      .sec_contents_cloud::after {
        height: 80px; } }

.related_contents_cloud {
  position: relative; }
  .related_contents_cloud::before {
    content: "";
    display: block;
    position: absolute;
    top: 4%;
    left: -2em;
    width: 100%;
    height: 100px;
    background: url(./images/bg_cloud_left.png) no-repeat top left;
    background-size: auto 100%; }
    @media screen and (max-width: 480px) {
      .related_contents_cloud::before {
        height: 80px; } }
  .related_contents_cloud::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -8%;
    right: -2em;
    width: 100%;
    height: 100px;
    background: url(./images/bg_cloud_right.png) no-repeat top right;
    background-size: auto 100%; }
    @media screen and (max-width: 480px) {
      .related_contents_cloud::after {
        height: 80px; } }
