html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption,  header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, html, body, div, span, applet, object, iframe,
nav, section {
  display: block;
}

body {
  line-height: 1;
  overflow-x:hidden;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
  color: #000;
}
#about .h2 {
  font-family: "Noto Serif CJK JP", "Noto Serif JP", "noto-serif", serif;
  font-size: 32px;
  letter-spacing: 5px;
  font-weight: 600;
}

@media screen and (max-width: 500px) {
  #about .h2 {
    font-size: 3.6rem;
  }
}

#about .h2_black {
  color: #111;
  position: relative;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  #about .h2_black {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
}

#about .h2_white {
  color: #fff;
}

#about .h2_en {
  font-family: "centaur", serif;
  font-size: 2rem;
  color: #aca162;
  letter-spacing: 1px;
  font-weight:normal;
}

#about .h2_black .h2_en {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  #about .h2_black .h2_en {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
}

#about .about_top {
  width: 100vw;
  background-attachment: fixed;
  padding: 21rem 0 0 0;
  /*
  background: url("../library/images/about_bg01.png");
  background-repeat: no-repeat;
  background-size: cover;
  */
}

@media screen and (max-width: 768px) {
  #about .about_top {
    padding-top: 8rem;
  }
}

#about .about_top .mv {
  padding-bottom: 21rem;
}

@media screen and (max-width: 1280px) {
  #about .about_top .mv {
    padding-bottom: 10rem;
  }
}

#about .about_top .content .res-xl {
  display: none;
}

#about .about_top .content .flex {
	width:1200px;
	max-width:95%;
	margin:0 auto;
	
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
	-webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

#about .about_top .content .big {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 2em;
  font-weight: 500;
  letter-spacing: 0.2rem;
  line-height: 2;
  color: #000;
  padding: 0 3em;
  z-index:1;
}

#about .about_top .content .big br{
	display:none;	
}

#about .about_top .content p {
  font-size: 1.8rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  display: inline-block;
  line-height: 2.5;
  letter-spacing: 0.17rem;
  padding-left: 3em;
}
#about .about_top .content p:nth-of-type(2),
#about .about_top .content p:nth-of-type(5){
	padding-left:0;
}
/*
#about .about_top .content p:first-of-type {
  padding-left: 4.6vw;
}
*/
@media screen and (max-width: 768px) {
  #about .about_top .content p:first-of-type {
    padding-left: 3vw;
  }
}

#about .about_top .content p:last-of-type {
  padding-left: 0;
}

@media screen and (max-width: 768px) {
  #about .about_top .content p {
    line-height: 1.75;
    padding-left: 4vw;
    font-size: 12px;
  }
}

#about .about_top .content-img {
	width:1200px;
	max-width:100%;
	margin: 0 auto;
	text-align:center;
	padding-bottom: 9rem;
}
#about .about_top .content-img img{
	width: 25vw;
}

@media screen and (max-width: 768px) {
#about .about_top .content-img {
    width: 80vw;
}
#about .about_top .content-img img{
    width: 80vw;
}
}

@media screen and (max-width: 1280px) {
  #about .about_top .content .pc-xl {
    display: none;
  }
  #about .about_top .content .res-xl {
    display: block;
  }
  #about .about_top .content .big {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    margin: 0 auto 3vw;
    font-size: 4rem;
    display: block;
    text-align: center;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
#about .about_top .content .big {
	font-size:26px;
	letter-spacing: 1px;
}
}

#about .access .h3 {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 3.6rem;
  letter-spacing: 0.2rem;
  font-weight: 400;
  color: #111;
}

#about .access .h3_en {
  font-family: "centaur", serif;
  font-size: 2rem;
  letter-spacing: 0.05rem;
  color: #009944;
}

#about .award{
  padding-bottom:15rem;	
}

#about .office {
  background: #000000;  /* fallback for old browsers */
  background: -webkit-linear-gradient(to top, #434343 -30%, #000000);  /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to top, #434343 -30%, #000000); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */

  /*
  background: url("../library/images/about_bg02.png");
  background-repeat: no-repeat;
  background-size: cover;
  */
  padding: 10rem 0;
}

#about .office .h2 {
  font-size: 4rem;
  letter-spacing: 0.8rem;
  position: relative;
  margin-bottom: 4rem;
}

#about .office .h2::after {
  content: '';
  display: inline-block;
  position: absolute;
  width: 9vw;
  height: 1px;
  background: #fff;
  bottom: 25%;
  left: 15rem;
}

#about .office .h2_en {
  margin-bottom: 1rem;
}

#about .office-img {
  width: 33.4vw;
}

@media screen and (max-width: 768px) {
  #about .office-img {
    width: 100%;
  }
}

#about .office table {
  color: #fff;
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  letter-spacing: 0.1rem;
  margin-left: 1vw;
}

@media screen and (max-width: 768px) {
  #about .office table {
    width: 100%;
    margin: 2rem auto 0;
  }
}

#about .office table tr {
  border-bottom: 1px solid #efefef;
}

#about .office table tr:last-of-type {
  border: none;
}

#about .office table .td-l {
  font-size: 1.8rem;
  font-weight: 500;
  padding: 1.3vw 6.5vw 1.3vw 2vw;
  line-height: 1.3;
}

#about .office table .td-r {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.87;
  padding: 0 3vw 1.3vw 0;
}
@media screen and (max-width: 768px) {
#about .office table .td-l {
	padding: 3px 5px 3px 0px;
	width:31%;
}
#about .office table .td-r {
	padding: 3px 0px 3px 5px;
	width:69%;
}
}
#about .office .flex {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

#about .access {
  /*
  background: url("../library/images/about_bg03.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  */
  overflow: hidden;
}

#about .access_top {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

#about .access_top_img {
  width: 75.3vw;
}

@media screen and (max-width: 768px) {
  #about .access_top {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 8rem;
  }
  
  #about .access_top_img {
    margin-top: 3rem;
  }  
}

#about .access_top .h2_en {
  padding: 3vw 0 1vw 0;
}

#about .access_content {
  margin-top: 25.5rem;
}

@media screen and (max-width: 768px) {
  #about .access_content {
    margin-top: 10rem;
  }
}

#about .access_content .flex {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#about .access_content .h3 {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 3.6rem;
  letter-spacing: 0.2rem;
  font-weight: 400;
  color: #111;
  position: relative;
  margin-bottom: 7.5rem;
  display: inline-block;
}

#about .access_content .h3::after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 9vw;
  height: 1px;
  background: #000;
  bottom: 20%;
  right: -15vw;
}

#about .access_content .s_text {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 2rem;
  letter-spacing: 0.2rem;
  display: block;
  margin-bottom: 1rem;
  font-weight: 400;
}

#about .access_content .h3_en {
  font-family: "centaur", serif;
  font-size: 2rem;
  letter-spacing: 0.05rem;
  color: #009944;
  margin-bottom: 2.4rem;
}

#about .access_content p {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 1.6rem;
  font-weight: 300;
  color: #000;
  letter-spacing: 0.1rem;
  margin-bottom: 4.5rem;
}

#about .access_content p span{
	margin-left:12rem;	
}

#about .access_content .access_item {
  padding-bottom: 15rem;
}

#about .access_content .access_item_img {
  width: 25.2vw;
}

#about .access_content .access_item_text {
  width: 31.2vw;
  margin-left: 6vw;
}

@media screen and (max-width: 1280px) {
  #about .access_content .access_item_img {
    width: 35vw;
  }
}

@media screen and (max-width: 768px) {
  #about .access_content .access_item_img {
    width: 80vw;
    margin: 0 auto;
  }

  #about .access_content .access_item_text {
    margin: 3rem auto 0;
    width: 80vw;
  }

}
@media screen and (max-width: 640px) {
  #about .access_content .access_item_img {
    width: 90vw;
    margin: 0 auto;
  }

  #about .access_content .access_item_text {
    margin: 3rem auto 0;
    width: 90vw;
  }

}

#about .access_content .map_button {
  color: #000;
  border: 1px solid #000;
  margin-top: 2.5rem;
}

#about .access_content .right {
  text-align: right;
}

/*
#about .award {
  padding: 14.5rem 0 16.5rem;
  background: url("../library/images/about_bg04.png");
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}
*/
#about .award .h2_en {
  margin-top: 1vw;
}

#about .award .h3 {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 3rem;
  letter-spacing: 0.2rem;
  font-weight: 400;
  color: #fffefe;
  position: relative;
  margin-bottom: 6rem;
}

#about .award .h3::after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 4rem;
  height: 1px;
  background: #fffefe;
  bottom: -20%;
  left: 0;
}

#about .award .h3_en {
  font-family: "centaur", serif;
  font-size: 2rem;
  letter-spacing: 0.1rem;
  color: #fffefe;
  margin-bottom: 1rem;
}

#about .award .big {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 2.6rem;
  letter-spacing: 0.2rem;
  font-weight: 600;
  color: #fffefe;
  margin-bottom: 2rem;
}

@media screen and (max-width: 768px) {
  #about .award .big {
    font-size: 14px;
	letter-spacing: 0.5px;
	word-break: keep-all;
  }
}

#about .award p {
  color: #fffefe;
  line-height: 1.6;
  letter-spacing: 0.1rem;
}

#about .award_item {
  padding: 2.6vw 2vw 3.2vw 4.2vw;
  background: url("../library/images/about_bg05.png");
  background-size: cover;
  background-repeat: no-repeat;
  width: 68.2vw;
}

@media screen and (max-width: 768px) {
  #about .award_item {
    margin-top: 3rem;
    width: 100%;
	padding:2.5rem 1.5rem;
  }
}

#about .award_item:last-of-type {
  background: url("../library/images/about_bg06_v2.png");
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 6rem;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 2.6vw 2vw 2.6vw 4.2vw;
}

#about .award_item:last-of-type .h3 {
  padding-top: 2rem;
  margin-bottom: 7.5rem;
}

#about .award_item:last-of-type .h3::after {
  bottom: -35%;
}

#about .award_item_img {
  width: 17.7vw;
  margin-left: 17.5rem;
}

@media screen and (max-width: 1280px) {
  #about .award_item_img {
    width: 35%;
    margin-left: 1vw;
  }
}

@media screen and (max-width: 500px) {
  #about .award_item_img {
    width: 80%;
    margin-top: 2rem;
  }
}

#about .award_content .flex {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 768px) {
  #about .award_content .flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

@media screen and (max-width: 500px) {
  #about .award_content .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (max-width: 1280px) {
  #about .award_content .text {
    width: 60%;
  }
}

@media screen and (max-width: 500px) {
  #about .award_content .text {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  #about .award_content {
    width: 90vw;
    margin: 0 auto;
  }
}

#about .about_bottom {
  background: url("../library/images/about_bg07_v2.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment:fixed;
}
@media screen and (max-width: 1024px) {
#about .about_bottom {
	background-attachment:inherit;
}
}

#about .about_bottom .faq {
  overflow: hidden;
}

#about .about_bottom .faq_top {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding-bottom: 6.3rem;
}

#about .about_bottom .faq .faq_content{
	width:1200px;
	max-width:95%;
	margin:5% auto;	
}

@media screen and (max-width: 768px) {
  #about .about_bottom .faq_top {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 8rem;
  }
}

#about .about_bottom .faq_top .h2_en {
  padding: 3vw 0 0;
}

#about .about_bottom .faq_top .faq_img {
  width: 75.3vw;
  padding-bottom: 1vw;
}

@media screen and (max-width: 768px) {
  #about .about_bottom .faq_top .faq_img {
    margin-top: 3rem;
  }
}

@media screen and (max-width: 1280px) {
  #about .about_bottom .faq_top .h2 {
    padding-top: 3rem;
  }
}

@media screen and (max-width: 1280px) {
  #about .about_bottom .faq_top.flex {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

@media screen and (max-width: 1024px) {
  #about .about_bottom .faq .faq_content {
    width: 80vw;
  }
}

#about .about_bottom .faq_list a {
  -webkit-transition: .3s;
  transition: .3s;
}

#about .about_bottom .faq_list a:hover {
  opacity: 0.7;
}

#about .about_bottom .faq_list ul {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: .2s;
  transition: .2s;
}

#about .about_bottom .faq_list ul.active {
  opacity: 1;
  visibility: visible;
}

#about .about_bottom .faq_list ul.active .faq_a {
  padding: 0 2rem 2.3vw 14rem;
  border-bottom: 2px solid #e4e4e4;
  margin-bottom: 3.9vw;
  opacity: 1;
  visibility: visible;
  height: auto;
}

@media screen and (max-width: 768px) {
  #about .about_bottom .faq_list ul.active .faq_a {
    margin-bottom: 8rem;
  }
}

@media screen and (max-width: 500px) {
  #about .about_bottom .faq_list ul.active .faq_a {
    padding-left: 8rem;
    margin-bottom: 5rem;
  }
}

#about .about_bottom .faq_q {
  padding-left: 10rem;
  margin-bottom: 7.5rem;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.1rem;
  color: #4da17f;
  position: relative;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 768px) {
  #about .about_bottom .faq_q {
    font-size: 2rem;
  }
}

@media screen and (max-width: 500px) {
  #about .about_bottom .faq_q {
    padding-left: 7rem;
    margin-bottom: 4rem;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 768px) {
  #about .about_bottom .faq_q.flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

#about .about_bottom .faq_q::before {
  content: '';
  display: inline-block;
  width: 6.2rem;
  height: 6.9rem;
  background: url("../library/images/about_item12.png");
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: -2.8rem;
  left: 0;
}

@media screen and (max-width: 500px) {
  #about .about_bottom .faq_q::before {
    width: 4.1rem;
    height: 4.6rem;
    top: -1.5rem;
  }
}

#about .about_bottom .faq_q span {
  position: relative;
  display: inline-block;
  -webkit-transition: .5s;
  transition: .5s;
  margin-left: 2rem;
}

@media screen and (max-width: 500px) {
  #about .about_bottom .faq_q span {
    margin-left: 3rem;
  }
}

#about .about_bottom .faq_q span::before {
  content: '';
  display: inline-block;
  width: 1.5vw;
  height: 1px;
  background: #101010;
  position: absolute;
  top: 50%;
  right: 0;
}

@media screen and (max-width: 768px) {
  #about .about_bottom .faq_q span::before {
    width: 2rem;
  }
}

#about .about_bottom .faq_q span::after {
  content: '';
  display: inline-block;
  width: 1.5vw;
  height: 1px;
  background: #101010;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transition: .5s;
  transition: .5s;
}

@media screen and (max-width: 768px) {
  #about .about_bottom .faq_q span::after {
    width: 2rem;
  }
}

#about .about_bottom .faq_q.active span::after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

#about .about_bottom .faq_a {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  display: block;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.1rem;
  color: #333;
  position: relative;
  -webkit-transition: .3s;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
  height: 0;
}

#about .about_bottom .faq_a::before {
  content: '';
  display: inline-block;
  width: 6.2rem;
  height: 8.4rem;
  background: url("../library/images/about_item13.png");
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: -4.8rem;
  left: 0;
  margin-left: 4rem;
}

@media screen and (max-width: 500px) {
  #about .about_bottom .faq_a::before {
    width: 4.1rem;
    height: 5.6rem;
    margin-left: 2rem;
    top: -2.8rem;
  }
}

#about .about_bottom .faq_a .link {
  color: #4da17f;
  display: inline;
}

#about .contact {
  width: 81.3vw;
  background: url("../library/images/about_bg08.png");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 3.6vw 18vw 3.9vw 13vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-left: 18.7vw;
}

@media screen and (max-width: 768px) {
  #about .contact {
    width: 100vw;
    margin-left: 0;
  }
}

#about .contact .h2_sub {
  font-family: "centaur", serif;
  font-size: 6rem;
  letter-spacing: 0.05rem;
  margin-bottom: 2rem;
}

@media screen and (max-width: 1024px) {
  #about .contact .h2_sub {
    font-size: 4rem;
    margin-bottom: 1rem;
  }
}

#about .contact .h2 {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: 0.2rem;
}

@media screen and (max-width: 1024px) {
  #about .contact .h2 {
    font-size: 2rem;
  }
}

@media screen and (max-width: 768px) {
  #about .contact .h2 {
    margin-bottom: 3rem;
  }
}

#about .contact_link {
  color: #fff;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  padding: 1vw;
  -webkit-transition: .5s;
  transition: .5s;
  border-radius: 1vw;
  border: 1px solid transparent;
}

@media screen and (max-width: 768px) {
  #about .contact_link {
    padding: 1vw 2vw;
  }
}

#about .contact_link:hover {
  border: 1px solid #fff;
}

#about .contact .flex {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#exh .h2 {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 3.9rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  margin-bottom: 5.5rem;
}

#exh .h2_sub {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-weight: 300;
  font-size: 2.3rem;
  letter-spacing: 0.2rem;
  margin-bottom: 2.5rem;
}

#exh p {
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
  line-height: 2.2;
}

#exh .exh_top {
  padding: 21rem 0 11rem 0;
  /*
  width: 100vw;
  background: url("../library/images/exh_bg01.png");
  background-repeat: no-repeat;
  background-size: cover;
  */
}

/*20240116追記分*/
.kumamotoEkiSakura{
	padding: 5rem 0 10rem;
    background: -webkit-linear-gradient(to top, #434343 -30%, #000000);
    background: linear-gradient(to top, #434343 -30%, #000000);
    color: #fff;
}
.kumamotoEkiSakura span{
display: inline-block;
font-size: 3rem;
}
.kumamotoEkiSakura__openingSoon{
	margin-top: 10px;
}
.kumamotoEkisakura__bigImg{
margin-top: 3rem;
}
/*20240116追記分ここまで*/

@media screen and (max-width: 768px) {
  #exh .exh_top {
    padding-top: 8rem;
  }
}

#exh .thickets {
  background: url("../library/images/exh_bg02_v2.jpg");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center center;
  color: #fff;
  padding: 5.6vw 18.6vw;
}

@media screen and (max-width: 1200px) {
  #exh .thickets {
    padding: 5.6vw 12vw;
  }
}

@media screen and (max-width: 880px) {
  #exh .thickets {
    padding: 5.6vw 7vw;
    background-size: cover;
  }
  /* 20240116追記分 */
  .kumamotoEkiSakura span{
  font-size: 2.6rem;
  }
  /* 20240116追記分ここまで */
}

#exh .thickets .flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#exh .thickets .content {
  padding: 2vw 3.6vw 4.4vw 5.8vw;
  background: url("../library/images/exh_bg02_2.png");
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
    backdrop-filter:5px;
}
#exh .thickets .content:before{
  position:absolute;
  content:'';
  background: url("../library/images/thickets.png");
  background-repeat: no-repeat;
  background-size: cover;
  bottom:5%;
  right:5%;
  padding:2.5em 6em;
}

@media screen and (max-width: 500px) {
  #exh .thickets .content {
    -webkit-writing-mode: lr-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: lr-tb;
  }
  #exh .thickets .content:before{
	background-size: 120px;
	top:3%;
	bottom:0;
	right:0; 
	opacity:0.5;
  }
  
}

#exh .thickets .text {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

#exh .thickets .en {
  position: absolute;
  font-family: North Avellion, serif;
  font-size: 9.3vw;
  color: #fff;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  -webkit-writing-mode: lr-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: lr-tb;
  bottom: -10vw;
  right: 5vw;
  display: inline-block;
}

#exh .thickets .h2 {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.6rem;
}

@media screen and (max-width: 768px) {
  #exh .thickets .h2 {
    font-size: 2.5rem;
  }
}

@media screen and (max-width: 500px) {
  #exh .thickets .h2 {
    -webkit-writing-mode: lr-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: lr-tb;
    margin-bottom: 3rem;
    font-size: 2.2rem;
  }

}

#exh .thickets .h2_sub {
  margin: 0 0 0 1vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.6rem;
}

@media screen and (max-width: 768px) {
  #exh .thickets .h2_sub {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 500px) {
  #exh .thickets .h2_sub {
    -webkit-writing-mode: lr-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: lr-tb;
    margin-bottom: 2vw;
    font-size: 1.4rem;
  }
}

#exh .thickets .big {
  font-weight: 300;
  font-size: 2.5rem;
  letter-spacing: 0.6rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-indent: -11rem;
  padding-top: 11rem;
  line-height: 2;
  margin: 0 6.3vw 0 5.3vw;
  color: #fff;
}

@media screen and (max-width: 1400px) {
  #exh .thickets .big {
    margin: 0 4vw 4vw;
  }
}

@media screen and (max-width: 1024px) {
  #exh .thickets .big {
    margin: 0 3vw 0 3vw;
  }
}

@media screen and (max-width: 768px) {
  #exh .thickets .big {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 500px) {
  #exh .thickets .big {
    -webkit-writing-mode: lr-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: lr-tb;
    padding: 0 0 3vw 11rem;
  }
}

#exh .thickets p {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  color: #fff;
  font-weight: 300;
  font-size: 1.7rem;
  line-height: 2.8;
  letter-spacing: 0.2rem;
}
@media screen and (max-width: 500px){
#exh .thickets .text{
	-webkit-writing-mode: horizontal-tb;
	-ms-writing-mode: tb-tb;
	writing-mode: horizontal-tb;	
}
#exh .thickets p{
    -webkit-writing-mode: horizontal-tb	;
    -ms-writing-mode: tb-tb;
    writing-mode: horizontal-tb;
}
#exh .thickets p{
	margin-bottom:2rem;
}
#exh .thickets p .notbr{
	display:none;	
}

}
@media screen and (max-width: 1080px){
#exh .h2{
	font-size:3.4rem;	
}
#exh .h2_sub{
	font-size:1.9rem;	
}
#exh .thickets .big{
	font-size:2rem;	
}

#exh .thickets p{
	font-size:1.5rem;
	line-height:2.6;
}
#exh .thickets .en {
	bottom:0;	
}
}
@media screen and (max-width: 500px) {
  #exh .thickets p {
    line-height: 2.8;
  }
}

#exh .thickets p:last-of-type {
  margin-right: 5.3vw;
}

@media screen and (max-width: 1400px) {
  #exh .thickets p:last-of-type {
    margin-right: 3vw;
  }
}

@media screen and (max-width: 768px) {
  #exh .thickets p:last-of-type {
    margin-right: 2.5vw;
  }
}

#exh .koga {
  /*
  background: url("../library/images/exh_bg03.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom center;
  */
  padding: 4.3vw 0 4.5vw;
}

#exh .koga-img {
  margin: 0 18.6vw 0 auto;
  width: 72vw;
}

@media screen and (max-width: 500px) {
  #exh .koga-img {
    width: 95vw;
  }
}

#exh .kurume {
  /*
  background: url("../library/images/exh_bg04.png");
  background-repeat: no-repeat;
  background-size: cover;
  */
  padding: 6.3vw 0 3.6vw;
}

#exh .kurume_top {
  margin-left: 18.6vw;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

@media screen and (max-width: 1280px) {
  #exh .kurume_top {
    margin-left: 8vw;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

#exh .kurume_top .text {
  width: 27.6vw;
  position: relative;
}

@media screen and (max-width: 1280px) {
  #exh .kurume_top .text {
    width: 36vw;
    padding-left: 2vw;
  }
}

@media screen and (max-width: 768px) {
  #exh .kurume_top .text {
    width: 85vw;
  }
}

#exh .kurume_top .text p {
  margin-bottom: 3rem;
}

#exh .kurume_top .text p:nth-of-type(2) {
  position: relative;
}

#exh .kurume_top .text .en {
  font-family: "North Avellion", "Homemade Apple", cursive, serif;
  font-size: 9.3vw;
  color: #006666;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  position: absolute;
  bottom: -20vw;
  left: 1rem;
  white-space: nowrap;
}

@media screen and (max-width: 1600px) {
  #exh .kurume_top .text .en {
    bottom: -13vw;
  }
}

@media screen and (max-width: 768px) {
  #exh .kurume_top .text .en {
    bottom: -15vw;
  }
}

#exh .kurume_top .img {
  width: 59.5vw;
}

#exh .kurume_bottom {
  width: 74.5vw;
  margin: 10rem 0 0 18.6vw;
}

@media screen and (max-width: 500px) {
  #exh .kurume_bottom {
    width: 95vw;
    margin-left: 5vw;
  }
}

#exh .aso {
  background: #000000;  /* fallback for old browsers */
  background: -webkit-linear-gradient(to top, #434343 -30%, #000000);  /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to top, #434343 -30%, #000000); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  /*
  background: url("../library/images/exh_bg05.png");
  background-repeat: no-repeat;
  background-size: cover;
  */
  padding: 10rem 0;
  color: #fff;
}

#exh .aso_top {
  padding-right: 18.6vw;
}

@media screen and (max-width: 1600px) {
  #exh .aso_top {
    padding-right: 8vw;
  }
}

@media screen and (max-width: 1024px) {
  #exh .aso_top {
    padding-right: 0;
  }
}

@media screen and (max-width: 768px) {
  #exh .aso_top {
    width: 90vw;
    margin: 0 auto;
  }
}

#exh .aso_top .img {
  width: 50vw;
}

@media screen and (max-width: 768px) {
  #exh .aso_top .img {
    width: 100%;
  }
}

#exh .aso_top .text p {
  color: #fff;
  letter-spacing: 0.1rem;
  font-size: 1.4rem;
}
#exh .aso_top .text .linkbox {
	width:300px;
	max-width:100%;
	margin: 3rem 0;
}
#exh .aso_top .text .reserve {
  color: #fff;
  width: 36rem;
  max-width:100%;
  padding: 0.8vw 0;
  border: 1px solid #fff;
  border-radius: 5px;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  margin: 1rem 0;
  -webkit-transition: .5s;
  transition: .5s;
  font-size: 1.25rem;
}

#exh .aso_top .text .reserve:hover {
  background: #fff;
  color: #000;
}

#exh .aso_top .text .reserve:hover span::after {
  background: url("../library/images/exh_arr_h.png");
}

#exh .aso_top .text .reserve span {
  display: inline-block;
}

#exh .aso_top .text .reserve span::after {
  content: '';
  display: inline-block;
  width: 1.7rem;
  height: 1.1rem;
  background: url("../library/images/exh_arr.png");
  background-position: center right;
  background-size: 100% auto;
  margin-left: 4rem;
  -webkit-transition: .5s;
  transition: .5s;
}

#exh .aso_top .text .qr {
  background: #7f9977;
  color: #fff;
  width: 36rem;
  padding: 1.6rem 1.9rem 2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  border-radius: 5px;
  -webkit-box-shadow: #fff 0.5rem 0.5rem;
          box-shadow: #fff 0.5rem 0.5rem;
}

@media screen and (max-width: 768px) {
  #exh .aso_top .text .qr {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

#exh .aso_top .text .qr .big {
  font-size: 1.4rem;
}

#exh .aso_top .text .qr .big_sub {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 2.2rem;
  position: relative;
}

#exh .aso_top .text .qr .big_sub::after {
  content: '';
  display: inline-block;
  width: 3rem;
  height: 1px;
  background: #fff;
  position: absolute;
  bottom: -1rem;
  left: 0;
}

#exh .aso_top .text .qr p {
  font-size: 1rem;
}

#exh .aso_top .text .qr p:last-of-type {
  width: 17rem;
}

@media screen and (max-width: 900px) {
  #exh .aso_top .text {
    padding-left: 2vw;
  }
}

@media screen and (max-width: 768px) {
#exh .aso_top .text {
    margin: 2rem auto 0;
	padding:0;
	width:100%;
}
#exh .aso_top .text .reserve {
	width: 400px;
	max-width:100%;
	padding: 15px 0;
	font-size: 14px;
}
#exh .aso_top .text .qr {
	width: 400px;
	max-width: 100%;
	padding: 10px 10px 10px;
}
#exh .aso_top .text .qr .big {
	font-size: 15px;
}
#exh .aso_top .text .qr .big_sub {
	font-size: 12px;
	line-height: 1;
}
#exh .aso_top .text .qr p {
	font-size: 10px;
}
#exh .aso_top .text .qr p:last-of-type {
	width: 100%;
}
}

#exh .aso_bottom {
  margin: 11rem 18.6vw 0 auto;
  width: 71.7vw;
}

@media screen and (max-width: 500px) {
  #exh .aso_bottom {
    width: 95vw;
    margin: 2rem 5vw 0 0;
  }
}

#exh .hikarinomori {
  /*
  background: url("../library/images/exh_bg06.png");
  background-repeat: no-repeat;
  background-size: cover;
  */
  background: url("../library/images/about_bg07_v2.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment:fixed;
  padding: 10rem 0 5rem;
}

#exh .hikarinomori_top {
  padding-left: 18.6vw;
}

#exh .hikarinomori_top .red {
  margin-top: 4rem;
  color: #c90000;
}

#exh .hikarinomori_top .text .linkbox {
	width:300px;
	max-width:100%;
	margin: 3rem 0;
}

#exh .hikarinomori_top .reserve {
  color: #000;
  width: 36rem;
  max-width:100%;
  padding: 0.8vw 0;
  border: 1px solid #000;
  border-radius: 5px;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  margin: 1rem 0;
  -webkit-transition: .5s;
  transition: .5s;
  font-size: 1.25rem;
}

#exh .hikarinomori_top .reserve:hover {
  background: #000;
  color: #fff;
}

#exh .hikarinomori_top .reserve:hover span::after {
  background: url("../library/images/exh_arr.png");
}

#exh .hikarinomori_top .reserve span {
  display: inline-block;
}

#exh .hikarinomori_top .reserve span::after {
  content: '';
  display: inline-block;
  width: 1.7rem;
  height: 1.1rem;
  background: url("../library/images/exh_arr_h.png");
  background-position: center right;
  background-size: 100% auto;
  margin-left: 4rem;
  -webkit-transition: .5s;
  transition: .5s;
}

#exh .hikarinomori_top .qr {
  background: #7f9977;
  color: #fff;
  width: 36rem;
  padding: 1.6rem 1.9rem 2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  border-radius: 5px;
  -webkit-box-shadow: #000 0.5rem 0.5rem;
          box-shadow: #000 0.5rem 0.5rem;
}

@media screen and (max-width: 768px) {
  #exh .hikarinomori_top .qr {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-bottom: 8rem;
  }
}

#exh .hikarinomori_top .qr .big {
  font-size: 1.4rem;
  color: #fff;
}

#exh .hikarinomori_top .qr .big_sub {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 2.2rem;
  position: relative;
  color: #fff;
}

#exh .hikarinomori_top .qr .big_sub::after {
  content: '';
  display: inline-block;
  width: 3rem;
  height: 1px;
  background: #fff;
  position: absolute;
  bottom: -1rem;
  left: 0;
}

#exh .hikarinomori_top .qr p {
  font-size: 1rem;
  color: #fff;
}

#exh .hikarinomori_top .qr p:last-of-type {
  width: 17rem;
}

#exh .hikarinomori_top .img {
  width: 50vw;
}
#exh .hikarinomori_bottom {
  margin: 10rem 0 0 18.6vw;
  width: 74.8vw;
}

@media screen and (max-width: 500px) {
#exh .hikarinomori_bottom {
    width: 95vw;
    margin: 3rem 0 0 5vw;
}
}
@media screen and (max-width: 768px) {
#exh .hikarinomori_top {
	width: 90vw;
	margin: 0 auto;
	padding:0;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: column-reverse wrap;
	flex-flow: column-reverse wrap;
}
#exh .hikarinomori_top .img {
    width: 100%;
}
#exh .hikarinomori_top .text {
	width:100%;
    margin: 2rem auto 0;
	padding:0;
}
#exh .hikarinomori_top .text .reserve {
	width: 400px;
	max-width:100%;
	padding: 15px 0;
	font-size: 14px;
}
#exh .hikarinomori_top .text .qr {
	width: 400px;
	max-width: 100%;
	padding: 10px 10px 10px;
}
#exh .hikarinomori_top .text .qr .big {
	font-size: 15px;
}
#exh .hikarinomori_top .text .qr .big_sub {
	font-size: 12px;
	line-height: 1;
}
#exh .hikarinomori_top .text .qr p {
	font-size: 10px;
}
#exh .hikarinomori_top .text .qr p:last-of-type {
	width: 100%;
}
}

<!--水前寺のもみじ-->
#exh #stay.suizenzi {
  background: #000000;  /* fallback for old browsers */
  background: -webkit-linear-gradient(to top, #434343 -30%, #000000);
  background: linear-gradient(to top, #434343 -30%, #000000);
  padding: 10rem 0;
  color: #fff;
}
#stay.suizenzi {
	padding:5rem 0 10rem;
	background: -webkit-linear-gradient(to top, #434343 -30%, #000000);
	background: linear-gradient(to top, #434343 -30%, #000000);
	color: #fff;
	/*background: url("../library/images/about_bg07_v2.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment:fixed;*/
}
#exh .suizenzi_top {
  padding-right: 18.6vw;
}

@media screen and (max-width: 1600px) {
  #exh .suizenzi_top {
    padding-right: 8vw;
  }
}

@media screen and (max-width: 1024px) {
  #exh .suizenzi_top {
    padding-right: 0;
  }
}

@media screen and (max-width: 768px) {
  #exh .suizenzi_top {
    width: 90vw;
    margin: 0 auto;
  }
}

#exh .suizenzi_top .img {
  width: 50vw;
}

@media screen and (max-width: 768px) {
  #exh .suizenzi_top .img {
    width: 100%;
  }
}

#exh .suizenzi_top .text p {
  color: #fff;
  letter-spacing: 0.1rem;
  font-size: 1.4rem;
}

/*#exh .suizenzi_top .text .reserve {
  color: #000;
  width: 36rem;
  padding: 0.8vw 0;
  border: 1px solid #000;
  border-radius: 5px;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  margin: 6.5rem 0 3rem;
  -webkit-transition: .5s;
  transition: .5s;
  font-size: 1.25rem;
}

#exh .suizenzi_top .text .reserve:hover {
  background: #fff;
  color: #000;
}

#exh .suizenzi_top .text .reserve:hover span::after {
  background: url("../library/images/exh_arr_h.png");
}

#exh .suizenzi_top .text .reserve span {
  display: inline-block;
}

#exh .suizenzi_top .text .reserve span::after {
  content: '';
  display: inline-block;
  width: 1.7rem;
  height: 1.1rem;
  background: url("../library/images/exh_arr_h.png");
  margin-left: 4rem;
  -webkit-transition: .5s;
  transition: .5s;
}*/


#exh .suizenzi_top .text .linkbox {
	width:300px;
	max-width:100%;
	margin: 3rem 0;
}

#exh .suizenzi_top .text .reserve {
  color: #fff;
  width: 36rem;
  max-width:100%;
  padding: 0.8vw 0;
  border: 1px solid #fff;
  border-radius: 5px;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  margin: 1rem 0;
  -webkit-transition: .5s;
  transition: .5s;
  font-size: 1.25rem;
}

#exh .suizenzi_top .text .reserve:hover {
  background: #fff;
  color: #000;
}

#exh .suizenzi_top .text .reserve:hover span::after {
  background: url("../library/images/exh_arr_h.png");
}

#exh .suizenzi_top .text .reserve span {
  display: inline-block;
}

#exh .suizenzi_top .text .reserve span::after {
  content: '';
  display: inline-block;
  width: 1.7rem;
  height: 1.1rem;
  background: url("../library/images/exh_arr.png");
  background-position: center right;
  background-size: 100% auto;
  margin-left: 4rem;
  -webkit-transition: .5s;
  transition: .5s;
}

#exh .suizenzi_top .text .qr {
  background: #7f9977;
  color: #fff;
  width: 36rem;
  padding: 1.6rem 1.9rem 2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  border-radius: 5px;
  -webkit-box-shadow: #fff 0.5rem 0.5rem;
          box-shadow: #fff 0.5rem 0.5rem;
}
#exh .suizenzi_top .text .qr p {
	color:#fff;
}

@media screen and (max-width: 768px) {
  #exh .suizenzi_top .text .qr {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

#exh .suizenzi_top .text .qr .big {
  font-size: 1.4rem;
}

#exh .suizenzi_top .text .qr .big_sub {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 2.2rem;
  position: relative;
}

#exh .suizenzi_top .text .qr .big_sub::after {
  content: '';
  display: inline-block;
  width: 3rem;
  height: 1px;
  background: #fff;
  position: absolute;
  bottom: -1rem;
  left: 0;
}

#exh .suizenzi_top .text .qr p {
  font-size: 1rem;
}

#exh .suizenzi_top .text .qr p:last-of-type {
  width: 17rem;
}

@media screen and (max-width: 900px) {
  #exh .suizenzi_top .text {
    padding-left: 2vw;
  }
}

@media screen and (max-width: 768px) {
  #exh .suizenzi_top .text {
    margin: 2rem auto 0;
	padding:0;
	width:100%;
  }
#exh .suizenzi_top .text .reserve {
	width: 400px;
	max-width:100%;
	padding: 15px 0;
	font-size: 14px;
}
#exh .suizenzi_top .text .qr {
	width: 400px;
	max-width: 100%;
	padding: 10px 10px 10px;
}
#exh .suizenzi_top .text .qr .big {
	font-size: 15px;
}
#exh .suizenzi_top .text .qr .big_sub {
	font-size: 12px;
	line-height: 1;
}
#exh .suizenzi_top .text .qr p {
	font-size: 10px;
}
#exh .suizenzi_top .text .qr p:last-of-type {
	width: 100%;
}
}

#exh .suizenzi_bottom {
  margin: 11rem 18.6vw 0 auto;
  width: 71.7vw;
}

@media screen and (max-width: 500px) {
  #exh .suizenzi_bottom {
    width: 95vw;
    margin-right: 5vw;
  }
}


#production .h1_en {
  margin-top: 3rem;
}

#production .h2 {
  font-family: "Noto Serif CJK JP", "Noto Serif JP", "noto-serif", serif;
  font-size: 32px;
  letter-spacing: 5px;
  position: relative;
  margin-bottom: 2.7vw;
  font-weight:600;
}

#production .h2::after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 9.1vw;
  height: 1px;
  background: #000;
  top: 50%;
  right: 15rem;
}
#production .h2_wh {
  font-family: "Noto Serif CJK JP", "Noto Serif JP", "noto-serif", serif;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 5px;
  color: #fff;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  position: relative;
}

#production .h2_wh::after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 1px;
  height: 12vw;
  background: #fff;
  top: 23rem;
  left: 2rem;
}

#production .h2_2 {
  font-family: "Noto Serif CJK JP", "Noto Serif JP", "noto-serif", serif;
  font-size: 40px;
  font-weight: 550;
  letter-spacing: 5px;
  color: #000;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  margin-right: 7vw;
  /*padding-left: 13.5vw;*/
}

#production .h2_2_en {
  font-family: "centaur", serif;
  font-size: 20px;
  letter-spacing: 1px;
  color: #666;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  display: inline-block;
  margin: 3rem 0 0 3rem;
}

#production .cursive img{
	position:absolute;
	bottom:0;
	right:0;
	opacity:0.6;
	z-index:-1;
}
#production .cur-size img{
	width:300px;
	position:absolute;
	bottom:0;
	right:0;
}

@media screen and (max-width: 1450px) {
  #production .h2_2 {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 1200px) {
  #production .cursive img {
	opacity:0.2;  
  }
  #production .h2::after{
	right:15%;  
  }
}

@media screen and (max-width: 768px) {
  #production .h2::after {
    right: 33rem;
  }
  #production .h2_wh::after {
    width: 12vw;
    height: 1px;
    top: auto;
    left: 0;
	bottom:0;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  #production .h2_wh {
    -webkit-writing-mode: lr-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: lr-tb;
    margin-bottom: 2rem;
	padding-bottom: 2rem;
  }   
  #production .h2_2 {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    margin-bottom: 3rem;
  } 
  #production .h2_2_en {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    padding: 0 0 0 3vw;
  }
}

@media screen and (max-width: 640px) {
#production .h2 {
	margin-bottom: 2rem;
	padding-bottom: 1rem;
}
#production .h2::after {
	top:auto;
	left:0;
	bottom:0;
	right: 0;
}
}

#production .production_top {  
  padding: 21rem 0 11rem 0;
  /*
  width: 100vw;
  background: url("../library/images/production_bg01.png");
  background-repeat: no-repeat;
  background-size: cover;
  */
}

@media screen and (max-width: 1024px) {
  #production .production_top {
    padding: 11rem 0;
  }
}

#production .suitable {
  background: #000000; 
  background: -webkit-linear-gradient(to top, #434343 -30%, #000000);
  background: linear-gradient(to top, #434343 -30%, #000000);
  padding: 8.8vw 0 9.1vw;
/*
  background: url("../library/images/production_bg02.png");
  background-repeat: no-repeat;
  background-size: cover;
*/
}

@media screen and (max-width: 768px) {
  #production .suitable {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

#production .suitable .img {
  width: 56.6vw;
}

@media screen and (max-width: 768px) {
  #production .suitable .img {
    width: 80vw;
    margin: 2rem 0 0 6vw;
  }
}


#production .suitable .text {
  margin-right: 13.6vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  color: #fff;
}

#production .suitable .text p {
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.2rem;
  line-height: 2.5;
  margin-left: 4.1vw;
}

@media screen and (max-width: 768px) {
  #production .suitable .text p {
    margin-left: 6vw;
  }
}

@media screen and (max-width: 768px) {
  #production .suitable .text {
    margin: 0;
    -webkit-writing-mode: lr-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: lr-tb;
  }
}

#production .suitable .text .h2_wh {
  margin-left: 6vw;
}

#production .seedlings,
#production .trees,
#production .distribution {
  padding: 7.8vw 0 6.2vw;
  letter-spacing: 0.05rem;
  line-height: 1.8;
}

#production .seedlings_top,
#production .trees_top,
#production .distribution_top {
  margin-bottom: 2vw;
}

#production .seedlings_top .text,
#production .trees_top .text,
#production .distribution_top .text {
  width: 31.8vw;
  position:relative;
}



@media screen and (max-width: 768px) {
  #production .seedlings_top .text,
  #production .trees_top .text,
  #production .distribution_top .text {
    width: 100%;
  }
}

#production .seedlings_top .text p:last-of-type,
#production .trees_top .text p:last-of-type,
#production .distribution_top .text p:last-of-type {
  position: relative;
}

#production .seedlings_top .en,
#production .trees_top .en,
#production .distribution_top .en {

/*
  font-family: "North Avellion", serif;
  font-size: 6.2vw;
  color: #3d8f8f;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  position: absolute;
  bottom: 1vw;
  left: 3vw;
  white-space: nowrap;
*/
}

@media screen and (max-width: 1024px) {
  #production .seedlings_top .text p:last-of-type,
  #production .trees_top .text p:last-of-type,
  #production .distribution_top .text p:last-of-type {
  	font-size:14px;
  }	
}
@media screen and (max-width: 768px) {	
  #production .seedlings_top .en,
  #production .trees_top .en,
  #production .distribution_top .en {
    display: inline-block;
    bottom: 5vw;
    left: 50%;
    -webkit-transform: rotate(-10deg) translateX(-50%);
            transform: rotate(-10deg) translateX(-50%);
  }
}

#production .seedlings_top .img,
#production .trees_top .img,
#production .distribution_top .img {
  width: 36.4vw;
}

@media screen and (max-width: 768px) {
  #production .seedlings_top .img,
  #production .trees_top .img,
  #production .distribution_top .img {
    width: 100%;
	margin: 2rem auto 0;
  }
}

#production .seedlings_top .img img,
#production .trees_top .img img,
#production .distribution_top .img img {
  -webkit-box-shadow: #000 -1rem 1rem;
          box-shadow: #000 -1rem 1rem;
}

@media screen and (max-width: 768px) {
  #production .seedlings_bottom, 
  #production .trees_bottom,
  #production .distribution_bottom {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

#production .seedlings_bottom img,
#production .trees_bottom img,
#production .distribution_bottom img {
  width: 23.5vw;
}

@media screen and (max-width: 768px) {
  #production .seedlings_bottom img,
  #production .trees_bottom img,
  #production .distribution_bottom img {
    width: 30%;
  }
}

/*
#production .trees {
  background: url("../library/images/production_bg03.png");
  background-repeat: no-repeat;
  background-size: cover;
}
*/
#production .trees .en {
  left: 20vw;
  bottom: 2vw;
  font-size: 7.2vw;
}

@media screen and (max-width: 768px) {
  #production .trees .en {
    display: inline-block;
    bottom: 2vw;
    left: 50%;
    -webkit-transform: rotate(-10deg) translateX(-50%);
            transform: rotate(-10deg) translateX(-50%);
  }
}
/*
#production .trees .text {
  width: 31.8vw;
  position:relative;
}
*/
@media screen and (max-width: 768px) {
  #production .trees .text {
    width: 100%;
  }
}

#production .distribution .en {
  left: 15vw;
  bottom: 1vw;
  font-size: 7.2vw;
}

@media screen and (max-width: 768px) {
  #production .distribution .en {
    display: inline-block;
    bottom: 2vw;
    left: 50%;
    -webkit-transform: rotate(-10deg) translateX(-50%);
            transform: rotate(-10deg) translateX(-50%);
  }
}
/*
#production .distribution .text {
	width: 31.8vw;
	position:relative;
}
*/
@media screen and (max-width: 768px) {
  #production .distribution .text {
    width: 100%;
  }
}

#production .handling{
  background: url("../library/images/about_bg07_v2.jpg");
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  background-attachment:fixed;
}
#production .species {

  padding: 14.5rem 0;
}

@media screen and (max-width: 1450px) {
#production .species {
    padding: 5rem 0;
}
}
@media screen and (max-width: 1024px) {
#production .handling{
	background-position:top center;
	background-size:auto 100vh;
	background-repeat:repeat-y;
	background-attachment: inherit;
}
}

#production .species.flex {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 63.5vw;
  margin: -2px 0 0 13.6vw;
}

@media screen and (max-width: 1450px) {
  #production .species.flex {
    width: 72.9vw;
	-webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #production .species.flex .h2_2 {
    -webkit-writing-mode: lr-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: lr-tb;
  }
  #production .species.flex .h2_2_en {
    -webkit-writing-mode: lr-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: lr-tb;
  }
}

#production .species_content .flex {
  -webkit-column-gap: 1vw;
          column-gap: 1vw;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 1450px) {
  /*
  #production .species_content .flex {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  */
}

#production .species_content .deciduous, #production .species_content .flowers {
  position: relative;
}
#production .species_content .ever{
  position:relative;
  margin:3.5rem 0;	
}

@media screen and (max-width: 768px) {
  #production .species_content .deciduous,
  #production .species_content .ever,
  #production .species_content .flowers {
    margin-bottom: 5rem;
  }
  #production .species_content .deciduous .flex,
  #production .species_content .ever .flex,
  #production .species_content .flowers .flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 1450px) {
  #production .species_content .ever .flex {
	/*  
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
	*/
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

@media screen and (max-width: 500px) {
  #production .species_content .deciduous .flex, #production .species_content .flowers .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

#production .species_content_item {
  width: 24rem;
  margin-bottom: 1.6vw;
}

@media screen and (max-width: 1250px) {
  #production .species_content_item {
    width: 40%;
  }
}

@media screen and (max-width: 768px) {
  #production .species_content_item {
    width: 45%;
  }
}

@media screen and (max-width: 768px) {
  #production .species_content_item {
    width: 90%;
  }
}

#production .species_content_item figure {
  position: relative;
}
/*
#production .species_content_item figure figcaption {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-transition: ease-out 0.8s;
  transition: ease-out 0.8s;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: rgba(0, 0, 0, 0.7);
}

#production .species_content_item figure figcaption .text {
  color: #fff;
  padding: 1.5vw;
}
*/
#production .species_content_item figure .title{
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  text-align:center;
  background-color:#000;
  color:#fff;
  padding:1rem;
  margin-top:-3px;
  font-size:1.1em;
  letter-spacing:1px;
}
/*
@media screen and (max-width: 1250px) {
  #production .species_content_item figure figcaption .text {
    padding: 10%;
  }
}

#production .species_content_item figure figcaption .text span {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
  margin-bottom: 1rem;
}

#production .species_content_item figure figcaption .text p {
  color: #fff;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.05rem;
  line-height: 1.5;
}

#production .species_content_item:hover figcaption {
  opacity: 0;
}
*/
#production .species_content_item_title .h3 {
  font-family: "Noto Serif CJK JP", "Noto Serif JP", "noto-serif", serif;
  font-size: 28px;
  letter-spacing: 2px;
  font-weight: 400;
  margin-bottom: 2.6vw;
}

#production .species_content_item_title .green {
  color: #009944;
  font-family: "Noto Serif CJK JP", "Noto Serif JP", "noto-serif", serif;
  font-size: 40px;
  display: inline-block;
  font-weight: 400;
}

#production .species_content_item_title .h3_en {
  font-family: "centaur", serif;
  color: #999999;
  font-size: 2rem;
  letter-spacing: 0.05rem;
  margin-bottom: 0.5rem;
}

#production .species_content_item .hidden_box {
  text-align: right;
}

@media screen and (max-width: 1450px) {
  #production .species_content_item .hidden_box {
    text-align-last: center;
    margin: 5rem 02rem;
  }
}

#production .species_content_item .hidden_box .more {
  width: 7.8vw;
  margin-top: 1.7vw;
  display: inline-block;
  padding: 0.5vw 0;
  border: solid 1px #000;
  border-radius: 5px;
  cursor: pointer;
  text-align: center;
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-weight: 300;
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 1250px) {
  #production .species_content_item .hidden_box .more {
    width: 70%;
    padding: 1vw 0;
  }
}

@media screen and (max-width: 500px) {
  #production .species_content_item .hidden_box .more {
    padding: 3vw 0;
  }
}

#production .species_content_item .hidden_box .more span {
  display: inline-block;
}

#production .species_content_item .hidden_box .more span::after {
  content: '';
  background: url("../library/images/exh_arr_h.png");
  background-repeat: no-repeat;
  background-size: cover;
  width: 1.7rem;
  height: 1.1rem;
  display: inline-block;
  margin-left: 1.3vw;
}

#production .species_content_item .hidden_box .more:hover {
  background: #000;
  color: #fff;
}

#production .species_content_item .hidden_box .more:hover span::after {
  background: url("../library/images/exh_arr.png");
  background-repeat: no-repeat;
  background-size: cover;
}

#production .species_content .content_h {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

#production .species_content .content_h.active {
  height: auto;
  opacity: 1;
}

@media screen and (max-width: 1250px) {
  #production .species_content .pc {
    display: none;
  }
  #production .species_content .sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width: 1024px) {
#exh .hikarinomori,
#stay.suizenzi {
	background-attachment: inherit;
}
}
@media screen and (max-width: 640px) {
#production .suitable {
	width: 100%;
	padding: 5rem 5%;
}
#production .suitable .text .h2_wh {
	margin-left: 0;
}
#production .suitable .text p {
	margin-left: 0;
}
#production .suitable .img {
	width: 100%;
	margin: 2rem auto 0;
}
#production .seedlings, #production .trees, #production .distribution {
	padding: 5rem 5%;
	width: 100%;
}
#production .seedlings_top, #production .trees_top, #production .distribution_top {
	width: 100%;
}
#production .seedlings_bottom, #production .trees_bottom, #production .distribution_bottom {
	width: 100%;
}
#production .species.flex {
	width: 100%;
	margin: 0 auto;
	padding: 5rem 5%;
}
#production .h2_2 {
	font-size: 38px;
	letter-spacing: 3px;
	margin: 0 auto;
}
#production .species_content_item {
	width: 100%;
}
}

#garden .h2 {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 4rem;
  letter-spacing: 0.2rem;
  font-weight: 500;
  color: #fff;
}
#garden .garden_top { 
  padding: 21rem 0 11rem 0;
  /*
  width: 100vw;
  background: url("../library/images/garden_bg01.png");
  background-repeat: no-repeat;
  background-size: cover;
  */
}

@media screen and (max-width: 768px) {
  #garden .garden_top {
    padding-top: 8rem;
  }
}

#garden .ideal {
  background: url("../library/images/garden_bg02_v2.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding: 5.2vw 0;
}

#garden .ideal_content {
  /*
  background: url("../library/images/garden_bg03.png");
  background-repeat: no-repeat;
  background-size: cover;
  */
  background-color:rgba(0,0,0,0.8);
  padding: 3.3vw 5vw;
  width: 62.5vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto;
  text-align:center;
}

@media screen and (max-width: 1600px) {
  /*
  #garden .ideal_content {
    padding: 3vw 8vw;
  }:
  */
}
@media screen and (max-width: 1400px) {
  #garden .ideal_content .notbr{
	display:none;  
  }
}

@media screen and (max-width: 1280px) {
  #garden .ideal_content {
    width: 90vw;
  }
}

@media screen and (max-width: 1024px) {
  #garden .ideal_content {
    width: 90vw;
  }
}

#garden .ideal .h2 {
  margin-bottom: 6.7vw;
}

@media screen and (max-width: 1024px) {
  #garden .ideal .h2 {
    margin-bottom: 3vw;
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 500px) {
  #garden .ideal .h2 {
    font-size: 2.2rem;
  }
}

#garden .ideal p {
  font-weight: 300;
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
  line-height: 2.5;
  margin-bottom: 2.6vw;
  color: #fff;
}

@media screen and (max-width: 500px) {
  #garden .ideal p {
    font-size: 1.4rem;
  }
}

#garden .ideal p:last-of-type {
  margin-bottom: 0;
}

#garden .feelings {
  background: url("../library/images/garden_bg04.png");
  background-repeat: no-repeat;
  background-size: cover;
}

#garden .feelings .content {
  background: url("../library/images/garden_item01.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding: 6vw 0 7.8vw;
  mix-blend-mode: multiply;
  position: relative;
}

#garden .feelings .content .h2 {
  background: rgba(255, 255, 255, 0.8);
  padding: 3.3vw 1.8vw 9.2vw;
  color: #000;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  margin: 0 auto;
  position: relative;
}

#garden .feelings .content .h2::after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 1px;
  height: 4.4vw;
  background: #000;
  bottom: 2.8vw;
  left: 50%;
}

#garden .feelings .content .en {
  font-family: "North Avellion", serif;
  font-size: 5.2vw;
  color: #000;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  position: absolute;
  bottom: 8vw;
  right: 23vw;
  white-space: nowrap;
  text-align: center;
  text-shadow: #fff 1px 1px 1px;
}

#garden .garden_step {
  /*
  background: url("../library/images/garden_bg21.png");
  background-repeat: no-repeat;
  background-size: contain;
  */
  padding-top: 6.2vw;
}

/*
#garden .garden_step_top {
  margin: 0 auto 4.4vw;
  text-align: center;
  background: url("../library/images/garden_bg05.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  width: 53.2vw;
  padding: 1vw 0;
  letter-spacing: 0.075rem;
  line-height: 2;
}

@media screen and (max-width: 1280px) {
  #garden .garden_step_top {
    width: 80vw;
  }
}

@media screen and (max-width: 1024px) {
  #garden .garden_step_top {
    margin-bottom: 12vw;
  }
}

@media screen and (max-width: 500px) {
  #garden .garden_step_top {
    width: 95vw;
    padding: 2vw;
  }
}

#garden .garden_step_top p {
  font-size: 2rem;
}

@media screen and (max-width: 500px) {
  #garden .garden_step_top p {
    font-size: 1.4rem;
  }
}
*/
#garden .garden_step_content .h3 {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 2.6rem;
  letter-spacing: 0.1rem;
  position: relative;
  margin-bottom: 2vw;
}

#garden .garden_step_content .h3::after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 4rem;
  height: 1px;
  background: #000;
  bottom: -1vw;
  left: 0;
}

#garden .garden_step_content .h3 .green {
  color: #009944;
  display: inline-block;
}

#garden .garden_step_content p {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.075rem;
  line-height: 1.85;
  width: 30.2vw;
}

@media screen and (max-width: 1024px) {
  #garden .garden_step_content p {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 1280px) {
  #garden .garden_step_content {
    width: 90vw;
    margin: 0 auto;
  }
}

#garden .garden_step_content2 {
  /*
  background: url("../library/images/garden_bg21.png");
  background-repeat: no-repeat;
  background-position: center center;
  */
  padding-top: 6.5vw;
}

#garden .garden_step_content2 .garden_step_item::before {
  background: url("../library/images/garden_bg15.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

@media screen and (max-width: 1024px) {
  #garden .garden_step_content2 .garden_step_item {
    background: url("../library/images/garden_bg13.png");
    background-repeat: no-repeat;
    background-size: 120%;
    background-position: right center;
    margin-bottom: 15vw;
  }
}

#garden .garden_step_content2 .garden_step_item:nth-of-type(2)::before {
  background: url("../library/images/garden_bg16.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

@media screen and (max-width: 1024px) {
  #garden .garden_step_content2 .garden_step_item:nth-of-type(2) {
    background: url("../library/images/garden_bg14.png");
    background-repeat: no-repeat;
    background-size: 120%;
    background-position: right center;
    margin-bottom: 15vw;
  }
}

#garden .garden_step_item {
  background: url("../library/images/garden_bg06.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  position: relative;
  margin: 0 auto 6.2vw;
  max-width: 120rem;
}

@media screen and (max-width: 1024px) {
  #garden .garden_step_item {
    margin-bottom: 10vw;
  }
}

#garden .garden_step_item::before {
  content: '';
  display: inline-block;
  width: 7.1vw;
  height: 2.3vw;
  background: url("../library/images/garden_bg10.png");
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

@media screen and (max-width: 1024px) {
  #garden .garden_step_item::before {
    width: 14.2vw;
    height: 4.6vw;
  }
}

#garden .garden_step_item::after {
  content: '';
  display: inline-block;
  width: 100%;
  height: 4.3rem;
  background: url("../library/images/garden_bg23.png");
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  bottom: 0.3vw;
  left: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

#garden .garden_step_item:nth-of-type(2)::before {
  background: url("../library/images/garden_bg11.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

@media screen and (max-width: 1024px) {
  #garden .garden_step_item:nth-of-type(2) {
    background: url("../library/images/garden_bg08.png");
    background-repeat: no-repeat;
    background-size: 120%;
    background-position: right center;
    margin-bottom: 15vw;
  }
}

@media screen and (max-width: 500px) {
  #garden .garden_step_item:nth-of-type(2) {
    margin-bottom: 12rem;
  }
}

#garden .garden_step_item:nth-of-type(3)::before {
  background: url("../library/images/garden_bg12.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

#garden .garden_step_item:nth-of-type(3) p {
  width: 29vw;
}

@media screen and (max-width: 1024px) {
  #garden .garden_step_item:nth-of-type(3) {
    background: url("../library/images/garden_bg09.png");
    background-repeat: no-repeat;
    background-size: 120%;
    background-position: bottom center;
    margin-bottom: 15vw;
  }
}

#garden .garden_step_item .text {
  padding: 1.9vw 0 0 4.5vw;
}

@media screen and (max-width: 1024px) {
  #garden .garden_step_item .text {
    background: rgba(255, 255, 255, 0.8);
    width: 100%;
    padding: 5vw 3vw 6vw 3vw;
  }
  #garden .garden_step_item .text p {
    width: 100%;
  }
}

@media screen and (max-width: 1024px) {
  #garden .garden_step_item {
    background: url("../library/images/garden_bg07.png");
    background-repeat: no-repeat;
    background-size: 120%;
    background-position: right center;
    margin-bottom: 15vw;
  }
  #garden .garden_step_item .img {
    display: none;
  }
}

@media screen and (max-width: 500px) {
  #garden .garden_step_item {
    margin-bottom: 12rem;
  }
}

#garden .garden_step .btn {
  margin-left: 18.7vw;
  padding-bottom: 1.2vw;
}

@media screen and (max-width: 1024px) {
  #garden .garden_step .btn {
    text-align: center;
    margin: 0;
  }
}

@media screen and (max-width: 500px) {
  #garden .garden_step .btn {
    margin-top: 2rem;
  }
}

#garden .garden_step .step_btn {
  width: 10.4vw;
  margin-top: 1.7vw;
  display: inline-block;
  padding: 0.5vw 0;
  border: solid 1px #000;
  border-radius: 5px;
  cursor: pointer;
  text-align: center;
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-weight: 300;
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  -webkit-transition: .3s;
  transition: .3s;
}

#garden .garden_step .step_btn span {
  display: inline-block;
}

#garden .garden_step .step_btn span::after {
  content: '';
  background: url("../library/images/exh_arr_h.png");
  background-repeat: no-repeat;
  background-size: cover;
  width: 1.7rem;
  height: 1.1rem;
  display: inline-block;
  margin-left: 1.8vw;
}

#garden .garden_step .step_btn:hover {
  background: #000;
  color: #fff;
}

#garden .garden_step .step_btn:hover span::after {
  background: url("../library/images/exh_arr.png");
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (max-width: 1024px) {
  #garden .garden_step .step_btn {
    width: 20vw;
    padding: 1.5vw 0;
  }
}

#garden .point {
  background: url("../library/images/garden_bg17.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right center;
  padding: 5.2vw 23.4vw;
  background-attachment: fixed;
}

@media screen and (max-width: 1280px) {
  #garden .point {
    background-size: cover;
    padding: 8vw 23.4vw;
  }
}

@media screen and (max-width: 1024px) {
#garden .point {
	padding: 8vw 10vw;
	background-attachment: inherit;
	background-position: center center;
}
}

#garden .point_content {
  background: url("../library/images/garden_bg18.png");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 2.3vw 0;
  width: 53.3vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
}

@media screen and (max-width: 1024px) {
  #garden .point_content {
    padding: 2.3vw;
    width: 80vw;
  }
}

#garden .point_content .h3 {
  color: #e4062b;
  font-family: "centaur", serif;
  font-size: 4rem;
  letter-spacing: 0.1rem;
  margin-bottom: 3.1vw;
  position: relative;
}

#garden .point_content .h3::after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 4rem;
  height: 1px;
  background: #000;
  bottom: -1vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

#garden .point_content .red {
  color: #e4062b;
  font-size: 2rem;
  letter-spacing: 0.1rem;
  margin-bottom: 1.5vw;
}

#garden .point_content p {
  font-size: 1.6rem;
  letter-spacing: 0.075rem;
  line-height: 1.87;
  font-weight: 400;
}

#garden .mainte {
  background: url("../library/images/garden_bg19.png");
  background-repeat: no-repeat;
  background-size: 100% 35vw;
  background-position: center center;
  padding: 5.2vw 23.4vw;
  /*background-attachment: fixed;*/
}

@media screen and (max-width: 1280px) {
  #garden .mainte {
    background-size: cover;
    padding: 8vw 23.4vw;
    background-position: center right 10%;
  }
}

@media screen and (max-width: 1024px) {
#garden .mainte {
    padding: 8vw 10vw;
	background-position: center center;
}
}

#garden .mainte_content {
  background: url("../library/images/garden_bg20.png");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 2.3vw 0;
  width: 53.3vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
}

@media screen and (max-width: 1024px) {
  #garden .mainte_content {
    padding: 2.3vw;
    width: 80vw;
  }
}

#garden .mainte_content .h3 {
  color: #009944;
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 2.6rem;
  letter-spacing: 0.1rem;
  margin-bottom: 3.6vw;
  position: relative;
}

#garden .mainte_content .h3 span {
  font-size: 1.8rem;
  margin-top: 0.5vw;
}

#garden .mainte_content .h3::after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 4rem;
  height: 1px;
  background: #000;
  bottom: -2vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

#garden .mainte_content p {
  font-size: 1.6rem;
  letter-spacing: 0.075rem;
  line-height: 1.87;
  font-weight: 400;
}

#garden .mainte .btn {
  margin-left: 0;
}


/*お庭のリフォームをお考えの方(追加)*/
#remodeling{
	position:relative;	
}
#remodeling .how_to_top{
	margin:15rem 0;
}
#remodeling .how_to_top .text{
	position: absolute;
	top: 6.3vw;
	left: 18.6vw;
}
#remodeling .how_to_top .img{
	width: 59.5vw;
	position: relative;
	margin-left: 40.6vw;	
}
#remodeling .h2{
	font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
	font-size: 5rem;
	font-weight: 500;
	letter-spacing: 0.2rem;
	margin-bottom: 5.5rem;
	color:#000;
	line-height:90px;	
}
#remodeling .h2_sub{
	width: 59.5vw;
	position: relative;
	margin-left: 40.6vw;	
}
#remodeling .remodeling_middle_item{
	padding-bottom: 9.3vw;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width:1200px;
	max-width:95%;
	margin:0 auto;
}
#remodeling .remodeling_middle_item:nth-of-type(2){
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;	
}
#remodeling .remodeling_middle_item .text{
	width: 31.2vw;
	letter-spacing: 0.075rem;
	line-height: 2.5;
	font-size: 1.6rem;
}
#remodeling .remodeling_middle_item .img{
	width:31.2vw;
	position:relative;	
}
#remodeling .boxrow{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
}
@media screen and (min-width: 768px){
#remodeling .boxrow{
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
}
#remodeling .remodeling_middle_item .h3{
	font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
	font-size: 32px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	letter-spacing: 0.2rem;
	line-height: 2;
	text-indent: -4rem;
	padding-top: 4rem;
	position: relative;
	margin: 0 0 13.5vw 11vw;
}
#remodeling .remodeling_middle_item .h3tit01{
	margin:3vw 0 10.5vw 11vw;	
}
#remodeling .remodeling_middle_item .h3tit02{
	margin:3vw 0 5vw 11vw;	
}
#remodeling .remodeling_middle_item .text p{
	width: 27.5vw;
}
@media screen and (max-width: 1500px){
#remodeling .how_to_top .text{
	left:10vw;	
}
}
@media screen and (max-width: 1400px){
#remodeling .remodeling_middle_item{
	width: 80vw;
}
#remodeling .remodeling_middle_item .text p{
	width: 38vw;
}
}
@media screen and (max-width: 1280px){
#remodeling .how_to_top .text{
	width:38vw;
	line-height:1.6;	
}
#remodeling .h2{
	font-size:36px;
	margin-bottom:3rem;
	line-height:60px;	
}
}

@media screen and (max-width: 768px){
#remodeling .how_to_top {
	margin: 10rem 0 0;
}
#remodeling .how_to_top .text{
	position:relative;
	width:100%;
}
#remodeling .h2{
	font-size:30px;
	letter-spacing:3px;
	margin-bottom:3rem;	
}
#remodeling .how_to_top .img {
	margin-top: 5rem;
}
#remodeling .remodeling_middle_item:nth-of-type(2){
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;	
}
#remodeling .remodeling_middle_item .h3{
	-webkit-writing-mode: lr-tb;
	-ms-writing-mode: lr-tb;
	writing-mode: lr-tb;
	text-align: center;
	margin-left: 0;
	padding-left: 4rem;
	text-indent: -13.5rem;
}
#remodeling .remodeling_middle_item .text{
	width:80vw;
	margin-bottom:3rem;	
}
#remodeling .remodeling_middle_item .text p{
	width:80vw;	
}
#remodeling .remodeling_middle_item .img{
	width:60vw;
}
}
@media screen and (max-width: 640px){
#remodeling .remodeling_middle_item .h3 {
	padding-left: 4rem;
	text-indent: -10.5rem;
	font-size: 3rem;
	letter-spacing: 0px;
}
}

/*--新しい庭をご希望の方(追加)--*/

#newgarden{
	position:relative;	
}
#newgarden .how_to_top{
	margin-bottom:15rem;
}
#newgarden .how_to_top .text{
	position: absolute;
	top: 6.3vw;
	left: 18.6vw;
}
#newgarden .how_to_top .img{
	width: 59.5vw;
	position: relative;
	margin-left: 40.6vw;	
}
#newgarden .h2{
	font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
	font-size: 5rem;
	font-weight: 500;
	letter-spacing: 0.2rem;
	margin-bottom: 5.5rem;
	color:#000;
	line-height:90px;	
}
#newgarden .h2_sub{
	width: 59.5vw;
	position: relative;
	margin-left: 40.6vw;	
}

#newgarden .newgarden_middle_item{
	padding-bottom: 9.3vw;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display:flex;
	width:1200px;
	max-width:95%;
	margin:0 auto;
}
#newgarden .newgarden_middle_item .text{
	width: 31.2vw;
	letter-spacing: 0.075rem;
	line-height: 2.5;
	font-size: 1.6rem;
}
#newgarden .boxrow{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
#newgarden .newgarden_middle_item .h3{
	font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
	font-size: 32px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	letter-spacing: 0.2rem;
	line-height: 2;
	text-indent: -4rem;
	padding-top: 4rem;
	position: relative;
	margin: 0 0 13.5vw 11vw;
}
#newgarden .newgarden_middle_item .h3tit01{
	margin:3vw 0 10.5vw 11vw;	
}
#newgarden .newgarden_middle_item .h3tit02{
	margin:3vw 0 5vw 11vw;	
}
#newgarden .newgarden_middle_item .text p{
	width: 27.5vw;	
}
#newgarden .free-sec_box{
	width:800px;
	max-width:100%;
	margin:0 auto 9.3vw;
	text-align:center;
	background-color:#f5f5f5;
	padding:3%;
	border-radius:25px;
}
#newgarden .free-sec_box .h3{
	font-size:2.6rem;
	margin-bottom:3.6vw;
}
#newgarden .free-sec_box p{
	line-height:28px;	
}
@media screen and (max-width: 1500px){
#newgarden .how_to_top .text{
	left:10vw;	
}
}
@media screen and (max-width: 1400px){
#newgarden .newgarden_middle_item{
	width: 80vw;
}
#newgarden .newgarden_middle_item .text p{
	width: 38vw;
}
}
@media screen and (max-width: 1280px){
#newgarden .how_to_top {
	margin: 10rem 0 0;
}
#newgarden .how_to_top .text{
	position:relative;
	width:100%;
	line-height:1.6;	
}
#newgarden .h2{
	font-size:36px;
	margin-bottom:3rem;
	line-height:60px;	
}
}
@media screen and (max-width: 640px){
#newgarden .newgarden_middle_item .h3 {
	padding-left: 4rem;
	text-indent: -10.5rem;
	font-size: 3rem;
	letter-spacing: 0px;
}
}

@media screen and (max-width: 768px){
#newgarden .h2{
	font-size:30px;
	letter-spacing:3px;
	margin-bottom:3rem;	
}
#newgarden .how_to_top .img {
	margin-top: 5rem;
}

#newgarden .newgarden_middle_item .h3{
	-webkit-writing-mode: lr-tb;
	-ms-writing-mode: lr-tb;
	writing-mode: lr-tb;
	text-align: center;
	margin-left: 0;
	padding-left: 4rem;
	text-indent: -13.5rem;
}
#newgarden .newgarden_middle_item .text{
	width:80vw;
	margin-bottom:3rem;	
}
#newgarden .newgarden_middle_item .text p{
	width:80vw;	
}
#newgarden .newgarden_middle_item .img{
	width:60vw;
}
}



/*--庭のお手入れ--*/
#care .h2 {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 5rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  margin-bottom: 5.5rem;
}
@media screen and (max-width: 1280px) {
  #care .h2 {
    font-size: 3rem;
    margin-bottom: 3rem;
  }
}

#care .h2_sub {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-weight: 300;
  font-size: 3rem;
  letter-spacing: 0.2rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 1280px) {
  #care .h2_sub {
    font-size: 2.3rem;
    margin-bottom: 1.5rem;
  }
}

#care .care_middle_item .h3 {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 32px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.2rem;
  line-height: 2;
  text-indent: -4rem;
  padding-top: 4rem;
  position: relative;
  margin: 0 0 13.5vw 11vw;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  #care .care_middle_item .h3 {
    -webkit-writing-mode: lr-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: lr-tb;
    text-align: center;
    margin-left: 0;
    padding-left: 4rem;
    text-indent: -13.5rem;
  }
}

#care .care_middle_item .h3::after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 2px;
  height: 12rem;
  background: #000;
  bottom: -25%;
  left: 50%;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
@media screen and (max-width: 1400px) {
  #care .care_middle_item .h3::after {
    height: 8rem;
    bottom: -18%;
  }
}

@media screen and (max-width: 1024px) {
  #care .care_middle_item .h3::after {
    bottom: -8%;
  }
}

@media screen and (max-width: 500px) {
  #care .care_middle_item .h3::after {
    height: 6rem;
  }
}

@media screen and (max-width: 768px) {
  #care .care_middle_item .h3:last-of-type {
    text-indent: -22.5rem;
    padding-left: 15rem;
  }
#care .care_middle_item .h3 {
	font-size: 24px;
}
}

#care .h3_wh {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 4rem;
  letter-spacing: 0.2rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  color: #fff;
  padding-left: 5.7vw;
}

@media screen and (max-width: 500px) {
  #care .h3_wh {
    -webkit-writing-mode: lr-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: lr-tb;
    text-align: center;
    margin-bottom: 3rem;
    padding: 0;
  }
}

#care .care_top {
  padding: 21rem 0 11rem 0;
  /*
  width: 100vw;
  background: url("../library/images/care_bg01.png");
  background-repeat: no-repeat;
  background-size: cover;
  */
}

@media screen and (max-width: 768px) {
  #care .care_top {
    padding-top: 8rem;
  }
}

#care .grow {
  background: url("../library/images/care_bg02_v2.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 5.2vw 18.7vw;
}

@media screen and (max-width: 1280px) {
  #care .grow {
    padding: 5.2vw 9vw;
  }
}

@media screen and (max-width: 600px) {
  #care .grow {
    padding: 5.2vw 3vw;
  }
}

#care .grow .content {
  /*	
  background: url("../library/images/care_bg03.png");
  background-repeat: no-repeat;
  background-size: cover;
  */
  background-color:rgba(0,0,0,0.7);
  padding: 2.9vw 3.7vw 4.4vw 6.6vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
}

@media screen and (max-width: 1280px) {
  #care .grow .content {
    margin: 0 auto;
  }
}

@media screen and (max-width: 500px) {
  #care .grow .content {
    -webkit-writing-mode: lr-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: lr-tb;
  }
}

@media screen and (max-width: 500px) {
  #care .grow .text {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}

#care .grow p {
  color: #fff;
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 2.5;
  letter-spacing: 0.17rem;
  padding-left: 4.1vw;
}

@media screen and (max-width: 1024px) {
  #care .grow p {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 500px) {
  #care .grow p {
    line-height: 2;
  }
}

#care .grow .text-combine {
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  text-combine-upright: all;
  display: inline-block;
}

#care .grow .big {
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.87;
  padding: 0 3.1vw 0 0;
}

@media screen and (max-width: 1024px) {
  #care .grow .big {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 600px) {
  #care .grow .big {
    padding: 0;
  }
}

#care .care_middle_content {
	position:relative;
  padding: 20rem 0 0;
}
#care .care_middle_content::before {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:1200px;
	max-width:95%;
	height:821px;
	background: url("../library/images/tree_topbg_v2.png");
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position:top left;
	z-index:-1;
	opacity:0.2;
	transform: translate(-4.5%, 0%);
}

@media screen and (max-width: 768px) {
  #care .care_middle_content {
    padding-top: 8rem;
  }
}

#care .care_middle_item {
  padding-bottom: 9.3vw;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width:1200px;
  max-width:95%;
  margin:0 auto;
}

@media screen and (max-width: 1400px) {
  #care .care_middle_item {
    width: 80vw;
  }
}

#care .care_middle_item .text {
  width: 31.2vw;
  letter-spacing: 0.075rem;
  line-height: 2.5;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  #care .care_middle_item .text {
    width: 80vw;
    margin-bottom: 3rem;
  }
}

#care .care_middle_item .text p {
  width: 27.5vw;
}

@media screen and (max-width: 1400px) {
  #care .care_middle_item .text p {
    width: 38vw;
  }
}

@media screen and (max-width: 768px) {
  #care .care_middle_item .text p {
    width: 80vw;
  }
}

#care .care_middle_item .text .red {
  color: #d30404;
  display: inline-block;
}

#care .care_middle_item .img {
  width: 31.2vw;
  position: relative;
}

@media screen and (max-width: 768px) {
  #care .care_middle_item .img {
    width: 60vw;
  }
}

#care .care_middle_item .en {
  font-family: "North Avellion", serif;
  font-size: 6.3vw;
  letter-spacing: 0.05rem;
  color: #000;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  position: absolute;
  bottom: 3vw;
  left: 0;
  white-space: nowrap;
}

#care .care_middle_item:nth-of-type(2) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
  #care .care_middle_item:nth-of-type(2) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

#care .care_middle_item:nth-of-type(2) .en {
  top: 1vw;
  left: 0;
  text-align: center;
  line-height: 0.6;
}

#care .care_middle_item:last-of-type .en {
  right: -6.5vw;
  left: auto;
}

#care .how_to {
  background: url("../library/images/about_bg07_v2.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-positon:center center;
  background-attachment:fixed;
  padding: 6.3vw 0 3.6vw;
  position: relative;
  overflow: hidden;
}

#care .how_to_top {
  margin-bottom: 15rem;
}

#care .how_to_top .text {
  position: absolute;
  top: 6.3vw;
  left: 18.6vw;
}

@media screen and (max-width: 1500px) {
  #care .how_to_top .text {
    left: 10vw;
  }
}

@media screen and (max-width: 1280px) {
  #care .how_to_top .text {
    width: 38vw;
    line-height: 1.6;
  }
}

@media screen and (max-width: 768px) {
  #care .how_to_top .text {
    position: relative;
    width: 60vw;
    top: 0;
    margin-bottom: 3rem;
  }
}

#care .how_to_top .img {
  width: 59.5vw;
  position: relative;
  margin-left: 40.6vw;
}

#care .how_to_top .en {
  font-family: "North Avellion", serif;
  font-size: 10.4vw;
  color: #006666;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  position: absolute;
  bottom: 6vw;
  left: -20vw;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  #care .how_to_top .en {
    bottom: 1vw;
    left: -25vw;
  }
}

@media screen and (max-width: 768px) {
  #care .how_to_bottom {
    width: 90vw;
	margin:0 auto;
  }
}

#care .how_to_bottom .how_to_item {
  background: url("../library/images/care_item05.png");
  background-repeat: no-repeat;
  background-position: bottom left;
  width: 62.5vw;
  padding-bottom: 12.2vw;
  background-size: 50.5vw 19.5vw;
  margin: 0 auto 10rem;
}

@media screen and (max-width: 768px) {
  #care .how_to_bottom .how_to_item {
    width: 100%;
  }
}

#care .how_to_bottom .how_to_item .text {
  background: url("../library/images/care_bg05.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  margin: 0 0 0 31.2vw;
  padding: 2.8vw 3.3vw 3.9vw 2.7vw;
  width: 32.2vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (max-width: 1500px) {
  #care .how_to_bottom .how_to_item .text {
    width: 50vw;
    margin-left: 15vw;
  }
}

#care .how_to_bottom .how_to_item .text p {
  line-height: 1.8;
}

#care .how_to_bottom .how_to_item .text .h3 {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 3.6rem;
  letter-spacing: 0.2rem;
  position: relative;
  -webkit-writing-mode: lr-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: lr-tb;
  margin-bottom: 4.1vw;
}

#care .how_to_bottom .how_to_item .text .h3::after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 5rem;
  height: 1px;
  background: #000;
  bottom: -2vw;
  left: 0;
}

@media screen and (max-width: 768px) {
  #care .how_to_bottom .how_to_item .text {
    width: 70vw;
    margin-left: 5vw;
  }
}

#care .how_to_bottom .how_to_item:nth-of-type(3) {
  background: url("../library/images/care_item07.png");
  background-repeat: no-repeat;
  background-position: bottom left;
}

@media screen and (max-width: 1500px) {
  #care .how_to_bottom .how_to_item:nth-of-type(3) {
    background-size: contain;
  }
}

@media screen and (max-width: 768px) {
  #care .how_to_bottom .how_to_item:nth-of-type(3) {
    background-size: 56%;
  }
}

#care .how_to_bottom .how_to_item:nth-of-type(3) .text {
  background: url("../library/images/care_bg07.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

@media screen and (max-width: 768px) {
  #care .how_to_bottom .how_to_item {
    margin: 0 auto 8rem;
  }
}

#care .how_to_bottom .how_to_item2 {
  background: url("../library/images/care_item06.png");
  background-repeat: no-repeat;
  background-position: bottom right;
  width: 62.5vw;
  padding-bottom: 12.2vw;
  background-size: 50.5vw 19.5vw;
}

@media screen and (max-width: 768px) {
  #care .how_to_bottom .how_to_item2 {
    width: 100%;
  }
}

#care .how_to_bottom .how_to_item2 .text {
  background: url("../library/images/care_bg06.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  margin: 0;
  padding: 2.8vw 3.3vw 3.9vw 2.7vw;
  width: 32.2vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (max-width: 1500px) {
  #care .how_to_bottom .how_to_item2 .text {
    width: 50vw;
  }
}

@media screen and (max-width: 768px) {
  #care .how_to_bottom .how_to_item2 .text {
    width: 70vw;
    margin-left: 5vw;
  }
}

#care .how_to_bottom .how_to_item2:last-of-type {
  background: url("../library/images/care_item08.png");
  background-repeat: no-repeat;
  background-position: bottom right;
  margin-bottom: 0;
}

@media screen and (max-width: 1500px) {
  #care .how_to_bottom .how_to_item2:last-of-type {
    background-size: contain;
  }
}

@media screen and (max-width: 768px) {
  #care .how_to_bottom .how_to_item2:last-of-type {
    background-size: 58%;
  }
}

#care .how_to_bottom .how_to_item2:last-of-type .text {
  background: url("../library/images/care_bg08.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

#care .docter {
  /*
  background: url("../library/images/care_bg10.png");
  background-repeat: no-repeat;
  background-size: cover;
  */
  padding: 7.3vw 0 6.7vw;
  width:1200px;
  max-width:90%;
  margin:0 auto;
}

#care .docter .text {
  width: 50%;
  padding-right: 3.6vw;
}

#care .docter .text .h2 {
  font-size: 4rem;
  margin-bottom:3rem;
}

#care .docter .text p {
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
  line-height: 2.2;
}
#care .docter .text .phobox {
}
#care .docter .text .phobox img {
	width:auto;
	max-width:100%;
	border:1px solid #666;
}

#care .docter .text .right {
  text-align: right;
  margin-top: 1.8vw;
}

@media screen and (max-width: 768px) {
  #care .docter .text {
    width: 100%;
	padding:0;
  }
}

#care .docter .img {
  width: 50%;
  position: relative;
}

@media screen and (max-width: 768px) {
  #care .docter .img {
    width: 80%;
    margin: 1rem auto 0;
  }
}

#care .docter .en {
  font-family: "North Avellion", serif;
  font-size: 9.3vw;
  letter-spacing: 0.05rem;
  color: #000;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  position: absolute;
  bottom: -3vw;
  right: -8vw;
  white-space: nowrap;
}

@media screen and (max-width: 1024px) {
  #care .docter .en {
    right: 0;
  }
}

html {
  font-size: 62.5%;
}

@media screen and (max-width: 768px) {
  html {
    font-size: 46.87%;
  }
}

body {
  font-size: 1.6rem;
}

img {
  width: 100%;
}

a.outline:focus {
  outline: 1px dotted;
}

a:focus {
  outline: none;
}

a:hover {
  text-decoration: none;
  
}
/*
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
*/
@media screen and (max-width: 768px) {
  .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: inline-block;
  }
}

p, a {
  font-family: "Noto Serif JP", "noto-serif", serif;
  font-size: 1.6rem;
  letter-spacing: 0.1rem;
  color: #111;
}

.h1 {
  font-family: "Noto Serif CJK JP", "Noto Serif JP", "noto-serif", serif;
  font-size: 40px;
  font-weight: 550;
  letter-spacing: 5px;
  color: #000;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  margin-right: 1vw;
}

@media screen and (max-width: 768px) {
  .h1 {
	  font-size: 30px;
	  letter-spacing: 3px;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    margin-bottom: 3rem;
  }
}

.h1_en {
  font-family: "centaur", serif;
  font-size: 20px;
  letter-spacing: 1px;
  color: #666;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  display: inline-block;
  margin-top: 3rem;
}

@media screen and (max-width: 768px) {
  .h1_en {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    margin-left: 1vw;
  }
}

.box01 {
  width: 72.9vw;
  margin: 0 auto;
}

.box02 {
  width: 86.4vw;
  margin: -2px 0 0 13.6vw;
}

/*
.box03 {
  width: 62.5vw;
  margin: 0 auto;
}
*/
.map_button {
  display: inline-block;
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-weight: 300;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  width: 18.5rem;
  padding: 0.7rem 0;
  border-radius: 5px;
  border: 1px solid #fff;
  margin-top: 2rem;
}

.map_button img {
  width: 2.4rem;
  padding-left: 1rem;
  display: inline-block;
  vertical-align: middle;
}

/*
.header {
  width: 100vw;
  position: fixed;
  z-index: 100;
  border-top: none;
}

.header .logo {
  margin: 0.7vw 0 0 4.1vw;
  width: 20rem;
}

@media screen and (max-width: 1024px) {
  
.header .logo {
	width: 16rem;
	margin-left: 2vw;
}

}

.header .g_nav {
	background: url("../library/images/header_bg.png");
	background-size:cover;
	background-repeat: no-repeat;
	padding: 1.5vw 0 1.5vw 3.0vw;
}

@media screen and (max-width: 1024px) {

.header .g_nav {
	padding: 1.6vw 0 1.3vw 2vw;
  }

}

.header .g_nav li {
  margin-right: 2.2vw;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header a {
  font-family: "source-han-serif-japanese", "Noto Serif JP", "noto-serif", serif;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 400;
}

@media screen and (max-width: 1280px) {
  .header a {
    font-size: 1.4rem;
    vertical-align: middle;
  }
}
*/
#spnavbtn {
  background-image: none;
  background: #000;
}

.nav-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 20px;
}

#spnav ul li a {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

@media screen and (max-width: 900px) {
  #spnav {
    display: block;
  }
}

@media screen and (max-width: 1024px) {
/*  .header.pc {
    display: none;
  }*/
.header .logo,
.header .g_nav {
	display:none;
}
}

.mv-img {
  width: 75.4vw;
}

.a_fade {
  opacity: 0;
  -webkit-transition: .8s;
  transition: .8s;
}

.a_fadein {
  -webkit-transform: translateY(5rem);
          transform: translateY(5rem);
}

.a_fadebig {
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  -webkit-transition: 1.3s;
  transition: 1.3s;
}

.a_fade_l {
  -webkit-transform: translateX(5rem);
          transform: translateX(5rem);
}

.a_fade_r {
  -webkit-transform: translateX(-5rem);
          transform: translateX(-5rem);
}

.award .a_fade_l {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.a_fade_slow {
  -webkit-transition: 2s;
  transition: 2s;
}

.feelings .a_fade_slow, .care_middle_content .a_fade_slow {
  -webkit-transition-delay: .6s;
          transition-delay: .6s;
}

.a_fade.show {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

.fadein_top {
  -webkit-animation: fadein_top 2s ease;
          animation: fadein_top 2s ease;
}

@-webkit-keyframes fadein_top {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadein_top {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*# sourceMappingURL=style.css.map */