@charset "UTF-8";
/* =======================================
共通設定
======================================= */
@media (max-width: 1000px) {
  html {
    font-size: 1vw;
  }
}

body {
  width: 100%;
  height: auto;
  background: #fff;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #242829;
}

a:link, a:visited, a:active {
  text-decoration: none;
  color: inherit;
}

img {
  height: auto;
}

#container {
  width: 100%;
}

.sp {
  display: none !important;
}

.wrap_out a:not(.no_hover):hover, .wrap_in a:not(.no_hover):hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha( opacity=80 )";
}
.wrap_out a:not(.no_hover):hover img, .wrap_in a:not(.no_hover):hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha( opacity=80 )";
}

/* 基本ボックス設定 */
.wrap_out, .wrap_main {
  width: 100%;
  height: auto;
}

.wrap_in {
  width: 96.0rem;
  height: auto;
  margin: 0 auto;
}

/* 横並びリスト */
ul.many_rows {
  display: block;
  height: auto;
  overflow: hidden;
}
ul.many_rows > li {
  display: block;
  height: auto;
  float: left;
}
ul.two_rows {
  display: block;
  height: auto;
  overflow: hidden;
}
ul.two_rows > li {
  display: block;
  height: auto;
  float: left;
}
ul.two_rows > li:nth-child(2n+2) {
  float: right;
}
ul.three_rows {
  display: block;
  height: auto;
  overflow: hidden;
}
ul.three_rows > li {
  display: block;
  height: auto;
  float: left;
}
ul.three_rows > li:nth-child(3n+2) {
  margin-right: 0;
}
ul.three_rows > li:nth-child(3n+3) {
  float: right;
  margin-right: 0;
}

/*テーブルブロック*/
.table_block {
  display: table;
  table-layout: fixed;
  width: 100%;
}
.table_block > .cell_block {
  display: table-cell;
  width: 50%;
  text-align: center;
  vertical-align: middle;
}

/* スクローラー */
#scroller {
  position: fixed;
  bottom: 3.0rem;
  right: 3.0rem;
}

/*テキスト設定*/
.wrap_in.article {
  padding-top: 8.0rem;
  padding-bottom: 8.0rem;
}

.article h1, .article h2, .article h3, .article h4, .article h5, .article h6, .article br {
  margin-top: 0;
  padding: 0;
  text-align: left;
  border: 0;
  clear: both;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}
.article h1 {
  margin-bottom: 1em;
  font-size: 4.0rem;
  line-height: 117%;
  color: #c96677;
}
.article h2 {
  margin-bottom: 1em;
  margin-left: 0;
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
  padding-left: 0.8rem;
  font-size: 3.6rem;
  line-height: 117%;
  border-left: 0.6rem solid #c96677;
  color: #3b3c41;
}
.article h3 {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 1em;
  color: #3b3c41;
}
.article h4 {
  font-size: 2.6rem;
  font-weight: bold;
  margin-bottom: 1em;
  color: #c96677;
}
.article h5 {
  font-size: 2.6rem;
  font-weight: bold;
  color: #c96677;
  margin-bottom: 1em;
  border-bottom: .2rem solid #ccc;
  position: relative;
}
.article h5::after {
  content: "";
  position: absolute;
  display: block;
  border-bottom: 0.2rem solid #c96677;
  bottom: -.2rem;
  width: 20%;
}
.article h6 {
  font-size: 2.4rem;
  margin-bottom: 1em;
  color: #3b3c41;
}
.article p {
  font-size: 2.4rem;
  line-height: 1.6;
  margin-bottom: 4.0rem;
  text-align: justify;
  text-justify: inter-ideograph;
  font-family: 'Noto Sans JP', sans-serif;
  color: #3b3c41;
}
.article pre {
  background-color: #eee;
  border: .1rem solid #ccc;
  padding: 0.7em;
  overflow: auto;
}
.article .alignleft {
  float: left;
  margin: 0.5em 1em 0.5em 0;
}
.article .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.article .alignright {
  float: right;
  margin: 0.5em 0 0.5em 1em;
}
.article blockquote, .article q {
  quotes: "" "";
}
.article blockquote:before, .article blockquote:after, .article q:before, .article q:after {
  content: "";
}
.article blockquote {
  background: none repeat scroll 0 0 rgba(245, 245, 245, 0.8);
  border: .1rem solid #FFFFFF;
  margin: 1em 0;
  padding: 2.0rem 5.5rem;
  position: relative;
}
.article blockquote p {
  margin-bottom: 0;
}
.article blockquote::before {
  color: #c8c8c8;
  content: "“";
  font-family: serif;
  font-size: 600%;
  left: 0rem;
  line-height: 1em;
  position: absolute;
  top: 0rem;
}
.article blockquote::after {
  color: #c8c8c8;
  content: "”";
  font-family: serif;
  font-size: 600%;
  line-height: 0;
  position: absolute;
  right: 0rem;
  bottom: -1.6rem;
}
.article ul {
  list-style: disc;
  margin: 1.5em 0;
  padding-left: 1em;
}
.article ul li + li {
  margin-top: 0.4em;
}
.article ol {
  list-style: decimal;
  margin: 1.5em 0;
  padding-left: 1em;
}
.article ol li + li {
  margin-top: 0.4em;
}
.article .post_date {
  font-weight: bold;
  font-size: 3rem;
  color: #c96677;
  margin-bottom: 1em;
  font-family: 'Noto Sans JP', sans-serif;
}
.article .post_thumbnail_wrap {
  margin: 4rem auto;
}
.article .post_thumbnail_wrap img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.article .pager {
  padding: 8rem 0 0;
}

p {
  text-align: justify;
  text-justify: inter-ideograph;
  transform: rotate(0.028deg);
  -o-transform: rotate(0.028deg);
  -ms-transform: rotate(0.028deg);
  -moz-transform: rotate(0.028deg);
  -webkit-transform: rotate(0.028deg);
}

.post_list_wrap {
  padding: 8rem 0;
  border-bottom: 2px solid #6d6d6f;
}
.single .post_list_wrap {
  border-bottom: 0;
}
.post_list_wrap:first-child {
  padding-top: 0;
}

/* SLIDER
------------------------------- */
#slider {
  z-index: 1;
}
#slider .slider_in {
  width: 33.3333333333vw;
}
#slider .slider_in img {
  display: block;
  width: 100%;
}
#slider .slick-dots {
  position: absolute;
  bottom: -4.8rem;
  left: 0;
  width: 100%;
}

.slick-arrow {
  position: absolute;
  top: 0;
  width: -webkit-calc((100% / 3) - .3rem);
  width: calc((100% / 3) - .3rem);
  height: 100%;
  background-repeat: no-repeat;
  z-index: 1001;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.7);
}
.slick-arrow:hover {
  background-color: rgba(255, 255, 255, 0.8);
}
.slick-arrow.slick-prev {
  left: 0;
}
.slick-arrow.slick-next {
  right: 0;
}

/* HEADER
------------------------------- */
#top {
  height: 12.175rem;
}

#header {
  height: 12.175rem;
}

.header_in {
  display: table;
  table-layout: fixed;
  width: 100%;
}
.header_in .header_logo, .header_in .nav_wrap {
  display: table-cell;
  width: auto;
  vertical-align: middle;
  height: 12.175rem;
}

/*メインビジュアル*/
.main_vis {
  width: 100%;
  min-height: 50.8rem;
}
#home .main_vis {
  height: 26.5vw;
  height: -webkit-calc( 100vh - 12.175rem);
  height: calc( 100vh - 12.175rem);
}

/*ナビゲーション*/
.nav_wrap {
  background-color: #c96677;
}

#g_nav {
  color: #fff;
}
#g_nav > .cell_block {
  border-right: 1px solid #fff;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.2;
  height: -webkit-calc( 12.175rem - 1.5rem );
  height: calc( 12.175rem - 1.5rem );
}
#g_nav > .cell_block span {
  font-family: 'YuGothic', 'Yu Gothic',' 游ゴシック',' メイリオ','Meiryo',' ヒラギノ角ゴ Pro W3','Hiragino Kaku GothicPro',sans-serif;
  font-weight: 700;
  line-height: 1.0;
  display: block;
  text-align: center;
  text-shadow: .3rem .3rem .3rem #000000;
}
@media (max-width: 1460px) {
  #g_nav > .cell_block span {
    font-size: .78em;
  }
}
#g_nav > .cell_block a {
  display: block;
  width: 100%;
  text-shadow: .3rem .3rem .3rem #000000;
}
#g_nav > .cell_block a .header_ico_tel {
  display: block;
  width: 80%;
  margin: 1rem auto 0;
  max-width: 23rem;
}
#g_nav > .cell_block a.tex_link {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  /*縦方向（Safari用）*/
  align-items: center;
  /* 縦方向*/
  -webkit-justify-content: center;
  /*横方向（Safari用）*/
  justify-content: center;
  /*横方向*/
  width: 100%;
  height: 100%;
}

.is-fixed {
  position: fixed !important;
  top: 0;
  left: 0;
  z-index: 2000;
}

/* FOOTER
------------------------------- */
.map {
  display: block;
  width: 100%;
  height: 75rem;
}

.fx_footer_top {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-align-items: stretch;
  /*縦方向（Safari用）*/
  align-items: stretch;
  /* 縦方向*/
  -webkit-justify-content: center;
  /*横方向（Safari用）*/
  justify-content: center;
  /*横方向*/
}
.fx_footer_top > .flex_block_child {
  width: 50%;
  font-size: 2.4rem;
  line-height: 1.4;
  color: #5d5858;
  text-align: left;
}
.fx_footer_top > .flex_block_child h2 {
  font-size: 3.6rem;
}
.fx_footer_top > .flex_block_child.blockA {
  padding-top: 3rem;
}
.fx_footer_top > .flex_block_child.blockA img {
  display: block;
  margin-top: 2rem;
}
.fx_footer_top > .flex_block_child.blockB {
  padding-right: 8rem;
}
.fx_footer_top > .flex_block_child.blockB img {
  display: block;
  width: 100%;
}

#footer {
  background-color: #874f6c;
  color: #fff;
}

.footer_wrap {
  padding-top: 3.5rem;
}

.fx_footer_nav > .flex_block_child {
  width: auto;
  border-right: 1px solid #fff;
}
.fx_footer_nav > .flex_block_child:last-child {
  border-right: 0;
}
.fx_footer_nav > .flex_block_child a {
  display: block;
  font-size: 2rem;
  line-height: 1.2;
  padding: 0 2rem;
  text-shadow: .3rem .3rem .3rem #000000;
}

.copy_wrap {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
  padding-bottom: 1rem;
  margin-top: 8.5rem;
}

/* CONTENTS
------------------------------- */
.container {
  background-image: url("../img/parts/bg_03.jpg");
  background-size: 100% auto;
  background-position: 0 0;
  background-repeat: repeat-y;
}
.container .wrap_out {
  padding: 9.2rem 0;
}

/* HOME
------------------------------- */
/*NEWS LIST*/
.tbb_list {
  border-bottom: .1rem solid #555954;
}
.tbb_list .cell_block {
  vertical-align: top;
  text-align: left;
  width: auto;
  padding: 0.5rem 2rem 0.5rem 0;
}
.tbb_list .cellA {
  width: 20%;
}
.tbb_list .cellB {
  padding-left: 0;
  padding-right: 0;
}
.tbb_list .date {
  margin-right: 3.0rem;
  color: #c96677 !important;
  font-size: 1.8rem;
}

.list_p {
  font-size: 1.8rem !important;
  line-height: 1.3 !important;
  padding-top: .3rem;
  margin-bottom: 0 !important;
}

.ttl_logo {
  display: block;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  /*縦方向（Safari用）*/
  align-items: center;
  /* 縦方向*/
  -webkit-justify-content: center;
  /*横方向（Safari用）*/
  justify-content: center;
  /*横方向*/
  font-size: 7.2rem;
  font-weight: 700;
  color: #242829;
  width: 35rem;
  margin: 3rem auto 0;
}
.ttl_logo .parts_sakura {
  display: block;
  width: 12rem;
  margin-right: 1rem;
}
.ttl_logo + .ttl_logo_text {
  text-align: center;
  font-size: 2.4rem;
  margin-top: 6.5rem;
  margin-bottom: 3rem;
}

/*home_description*/
.home_description {
  background-color: #c96677;
  padding: 28.4rem 0 27rem !important;
}
.home_description p {
  text-align: center;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  color: #fff;
}

/*新着おしらせ*/
.home_news_wrap {
  background-image: url("../img/home/bg_news.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 4.5rem !important;
}
.home_news_wrap .home_news_ttl {
  text-align: center;
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4.5rem;
}
.home_news_wrap .wrap_in {
  background-color: rgba(255, 255, 255, 0.89);
  padding: 4rem 12rem;
}
.home_news_wrap .btn_wrap {
  padding-bottom: 0;
}
.home_news_wrap .btnA a {
  background-image: none;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  border-color: #555954;
}

/* 下層ページ
------------------------------- */
.ttl_main_vis {
  font-size: 6rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.4;
  white-space: nowrap;
  display: inline-block;
  position: relative;
}
.ttl_main_vis::before {
  content: "";
  display: block;
  width: 12rem;
  height: 12rem;
  background-image: url("../img/parts/sakura_wh.png");
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: -20rem;
  margin-top: -6rem;
}

.page_main_vis {
  padding: 0;
  width: 100%;
  height: 50.8rem;
  position: relative;
}
.page_main_vis .ttl_main_vis {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.page_description {
  padding: 17.1rem 0 7.7rem !important;
}
.page_description p {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.4;
  color: #242829;
}

.fx_img_list {
  -webkit-align-items: stretch;
  /*縦方向（Safari用）*/
  align-items: stretch;
  /* 縦方向*/
  -webkit-justify-content: flex-start;
  /*横方向（Safari用）*/
  justify-content: flex-start;
  /*横方向*/
  width: -webkit-calc(100% + ( 2.1rem * 2) );
  width: calc(100% + ( 2.1rem * 2) );
  margin-left: -2.1rem;
  margin-right: -2.1rem;
}
.fx_img_list > .flex_block_child {
  padding: 5rem 2.1rem;
  width: 50%;
}
.fx_img_list > .flex_block_child p {
  font-size: 2.3rem;
  line-height: 1.6;
  padding: 1rem;
}
.fx_img_list > .flex_block_child.full_wide {
  width: 100%;
}
.fx_img_list > .flex_block_child.ttl_block {
  width: 100%;
  padding-top: 12rem !important;
}
.fx_img_list > .flex_block_child.ttl_block:first-child {
  padding-top: 0 !important;
}
.fx_img_list > .flex_block_child.ttl_block h2 {
  background-color: #c96677;
  color: #fff;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 0.4rem 11rem 0.7rem;
  margin-bottom: 4.5rem;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  background-image: url("../img/event/ico_ttl.png");
  background-size: 2.8rem auto;
  background-position: 7.2rem 1.8rem;
  background-repeat: no-repeat;
}
.fx_img_list > .flex_block_child.ttl_block p {
  font-size: 2.4rem;
}

.hr {
  border-bottom: 2px solid #874f6c;
  margin-top: 5rem;
  margin-bottom: 7rem;
}

.fx_img_list.typeB .flex_block_child {
  padding: 2.1rem;
}

.event_ttl_img {
  display: block;
  width: 88rem;
  margin: 0 auto 3rem;
}

/*# sourceMappingURL=main.css.map */
