@charset "UTF-8";
/*
------------------------------------------------------------
------------------------------------------------------------
common
------------------------------------------------------------
------------------------------------------------------------*/
html {
  scroll-behavior: smooth; }

body {
  min-height: 100vh;
  height: 100%;
  position: relative;
  font-size: 18px;
  line-height: 2em;
  color: #5e3819;
  background-image: url("../images/common/bk_watercolor_blue.png");
  background-repeat: repeat;
  background-size: 200px 200px;
  background-position: left top; }
  @media (max-width: 1200px) {
    body {
      font-size: 17px; } }
  @media (max-width: 768px) {
    body {
      font-size: 16px; } }
  body.pink {
    background-image: url("../images/common/bk_cloud-m.png"), url("../images/common/bk_watercolor_pink.png");
    background-repeat: no-repeat, repeat;
    background-size: 100% auto, 200px 200px;
    background-position: center bottom, left top; }
    @media (max-width: 500px) {
      body.pink {
        background-image: url("../images/common/bk_cloud_sp.png"), url("../images/common/bk_watercolor_pink.png"); } }
  body.yellow {
    background-image: url("../images/common/bk_cloud-m.png"), url("../images/common/bk_watercolor_yellow.png");
    background-repeat: no-repeat, repeat;
    background-size: 100% auto, 200px 200px;
    background-position: center bottom, left top; }
    @media (max-width: 500px) {
      body.yellow {
        background-image: url("../images/common/bk_cloud_sp.png"), url("../images/common/bk_watercolor_yellow.png"); } }
  body.blue {
    background-image: url("../images/common/bk_cloud-m.png"), url("../images/common/bk_watercolor_blue.png");
    background-repeat: no-repeat, repeat;
    background-size: 100% auto, 200px 200px;
    background-position: center bottom, left top; }
    @media (max-width: 500px) {
      body.blue {
        background-image: url("../images/common/bk_cloud_sp.png"), url("../images/common/bk_watercolor_blue.png"); } }

body, input, textarea, button, .button, .faux-button, .wp-block-button__link, .wp-block-file__button, .has-drop-cap:not(:focus)::first-letter, .entry-content .wp-block-archives, .entry-content .wp-block-categories, .entry-content .wp-block-cover-image, .entry-content .wp-block-latest-comments, .entry-content .wp-block-latest-posts, .entry-content .wp-block-pullquote, .entry-content .wp-block-quote.is-large, .entry-content .wp-block-quote.is-style-large, .entry-content .wp-block-archives *, .entry-content .wp-block-categories *, .entry-content .wp-block-latest-posts *, .entry-content .wp-block-latest-comments *, .entry-content p, .entry-content ol, .entry-content ul, .entry-content dl, .entry-content dt, .entry-content cite, .entry-content figcaption, .entry-content .wp-caption-text, .comment-content p, .comment-content ol, .comment-content ul, .comment-content dl, .comment-content dt, .comment-content cite, .comment-content figcaption, .comment-content .wp-caption-text, .widget_text p, .widget_text ol, .widget_text ul, .widget_text dl, .widget_text dt, .widget-content .rssSummary, .widget-content cite, .widget-content figcaption, .widget-content .wp-caption-text {
  font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif !important; }

a {
  color: #5e3819;
  text-decoration: none;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }

hr {
  width: 100%;
  max-width: 1200px !important;
  margin-right: auto;
  margin-left: auto;
  border: none;
  border-top: 2px dotted #e6e6e6; }
  @media (max-width: 1400px) {
    hr {
      width: 96%; } }
  @media (max-width: 768px) {
    hr {
      width: 94%; } }
  @media (max-width: 500px) {
    hr {
      width: 90%; } }

sup {
  font-size: 0.7em;
  vertical-align: super; }

.PT10 {
  padding-top: 10px; }

.PT20 {
  padding-top: 20px; }

.PT30 {
  padding-top: 30px; }

.PT40 {
  padding-top: 40px; }

.PT50 {
  padding-top: 50px; }

.PT60 {
  padding-top: 60px; }

.PT70 {
  padding-top: 70px; }

.PT80 {
  padding-top: 80px; }

.PT90 {
  padding-top: 90px; }

.PT100 {
  padding-top: 100px; }

.PT110 {
  padding-top: 110px; }

.PT120 {
  padding-top: 120px; }

.MT10 {
  margin-top: 10px; }

.MT20 {
  margin-top: 20px; }

.MT30 {
  margin-top: 30px; }

.MT40 {
  margin-top: 40px; }

.MT50 {
  margin-top: 50px; }

.MT60 {
  margin-top: 60px; }

.MT70 {
  margin-top: 70px; }

.MT80 {
  margin-top: 80px; }

.MT90 {
  margin-top: 90px; }

.MT100 {
  margin-top: 100px; }

.MT110 {
  margin-top: 110px; }

.MT120 {
  margin-top: 120px; }

.PB10 {
  padding-bottom: 10px; }

.PB20 {
  padding-bottom: 20px; }

.PB30 {
  padding-bottom: 30px; }

.PB40 {
  padding-bottom: 40px; }

.PB50 {
  padding-bottom: 50px; }

.PB60 {
  padding-bottom: 60px; }

.PB70 {
  padding-bottom: 70px; }

.PB80 {
  padding-bottom: 80px; }

.PB90 {
  padding-bottom: 90px; }

.PB100 {
  padding-bottom: 100px; }

.PB110 {
  padding-bottom: 110px; }

.PB120 {
  padding-bottom: 120px; }

.MB10 {
  margin-bottom: 10px; }

.MB20 {
  margin-bottom: 20px; }

.MB30 {
  margin-bottom: 30px; }

.MB40 {
  margin-bottom: 40px; }

.MB50 {
  margin-bottom: 50px; }

.MB60 {
  margin-bottom: 60px; }

.MB70 {
  margin-bottom: 70px; }

.MB80 {
  margin-bottom: 80px; }

.MB90 {
  margin-bottom: 90px; }

.MB100 {
  margin-bottom: 100px; }

.MB110 {
  margin-bottom: 110px; }

.MB120 {
  margin-bottom: 120px; }

.indent1 {
  padding-left: 1em;
  text-indent: -1em; }

.indent2 {
  padding-left: 2em;
  text-indent: -2em; }

.indent3 {
  padding-left: 3em;
  text-indent: -3em; }

.indent4 {
  padding-left: 4em;
  text-indent: -4em; }

.indent5 {
  padding-left: 5em;
  text-indent: -5em; }

.indent6 {
  padding-left: 6em;
  text-indent: -6em; }

.indent7 {
  padding-left: 7em;
  text-indent: -7em; }

.indent8 {
  padding-left: 8em;
  text-indent: -8em; }

.indent9 {
  padding-left: 9em;
  text-indent: -9em; }

.indent10 {
  padding-left: 10em;
  text-indent: -10em; }

.indent1h {
  padding-left: 1.5em;
  text-indent: -1.5em; }

.indent {
  text-indent: 1em; }

/*
------------------------------------------------------------
------------------------------------------------------------
共通スタイル
------------------------------------------------------------
------------------------------------------------------------*/
.content {
  width: 100%;
  max-width: 1200px !important;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 2; }
  @media (max-width: 1400px) {
    .content {
      width: 96%; } }
  @media (max-width: 768px) {
    .content {
      width: 94%; } }
  @media (max-width: 500px) {
    .content {
      width: 90%; } }

.content-s {
  width: 100%;
  max-width: 1100px !important;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 2; }
  @media (max-width: 1400px) {
    .content-s {
      width: 96%; } }
  @media (max-width: 768px) {
    .content-s {
      width: 94%; } }
  @media (max-width: 500px) {
    .content-s {
      width: 90%; } }

.main-color {
  color: #85b4d6; }

.sub-color {
  color: #eda29d; }

.sub2-color {
  color: #f4d47a; }

.strong-color {
  color: #ea3d00; }

.bold {
  font-weight: bold; }

.normal {
  font-weight: normal; }

.en-regular {
  font-family: "Poppins", serif;
  font-weight: 400;
  font-style: normal; }

.en-medium {
  font-family: "Poppins", serif;
  font-weight: 500;
  font-style: normal; }

/*.base-size-ll{ 
	font-size: 30px;
	@include tb {
		font-size: 26px;
	}
	@include sp {
		font-size: 20px;
	}
}
.base-size-l{ 
	font-size: 22px;
	@include tb {
		font-size: 20px;
	}
	@include sp {
		font-size: 18px;
	}
}
.base-size{ 
	font-size: 18px;
	@include pc {
		font-size: 17px;
	}
	@include tb {
		font-size: 16px;
	}
}*/
.base-size-s {
  font-size: 85%; }

.lead {
  margin-bottom: 50px;
  font-size: 18px;
  font-weight: bold;
  text-align: center; }
  @media (max-width: 768px) {
    .lead {
      margin-bottom: 30px;
      font-size: 16px;
      text-align: left; } }

.center {
  text-align: center; }

.center-pc {
  text-align: center; }
  @media (max-width: 768px) {
    .center-pc {
      text-align: left; } }

.center-tb {
  text-align: center; }
  @media (max-width: 500px) {
    .center-tb {
      text-align: left; } }

/*.right{
	text-align: right;
}
.right-tb{
	text-align: right;
	@include sp{
		text-align: left;
	}
}*/
.link-text {
  text-decoration: underline; }
  .link-text:hover {
    opacity: 0.6; }

.icon-inline {
  width: 20px;
  height: 20px;
  margin: 0 5px -3px 5px;
  display: inline; }
  @media (max-width: 768px) {
    .icon-inline {
      width: 16px;
      height: 16px; } }

.back {
  background-color: #f2f2f2; }

.border-box {
  width: 100%;
  padding: 20px;
  border: solid 1px #5e3819;
  border-radius: 16px; }
  @media (max-width: 768px) {
    .border-box {
      padding: 5%;
      border-radius: 8px; } }

.background-box {
  width: 100%;
  padding: 20px;
  background-color: #f2f2f2;
  border-radius: 16px; }
  @media (max-width: 768px) {
    .background-box {
      padding: 5%;
      border-radius: 8px; } }

.list {
  padding-left: 1em; }
  .list li {
    list-style: disc; }
  .list ol li {
    list-style: none; }

.inner {
  padding-left: 1em; }

.table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 7px; }
  .table th {
    padding: 15px;
    font-weight: bold;
    background-color: #f2f2f2;
    vertical-align: top;
    text-align: left;
    border-radius: 6px;
    line-height: 1.6em; }
    @media (max-width: 768px) {
      .table th {
        padding: 10px;
        font-size: 14px; } }
  .table td {
    padding: 15px;
    line-height: 1.6em;
    position: relative; }
    @media (max-width: 768px) {
      .table td {
        padding: 10px;
        font-size: 14px; } }
    .table td::after {
      content: "";
      display: block;
      width: 100%;
      height: 1px;
      background-color: #f2f2f2;
      position: absolute;
      bottom: -4px;
      left: 0; }

/* ページ内リンク */
a.anchor {
  display: block;
  margin-top: -140px;
  padding-top: 140px; }
  @media (max-width: 768px) {
    a.anchor {
      margin-top: -40px;
      padding-top: 40px; } }

/* button */
.common-button {
  margin-top: 50px;
  display: flex;
  justify-content: center; }
  @media (max-width: 500px) {
    .common-button {
      margin-top: 30px; } }
  .common-button a {
    min-width: 300px;
    min-height: 50px;
    margin: 0 auto;
    padding: 10px 28px 10px 10px;
    background: #5e3819;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    font-weight: bold;
    line-height: 1.2em;
    text-align: center;
    font-feature-settings: "palt"; }
    @media (max-width: 768px) {
      .common-button a {
        min-width: 260px;
        min-height: 42px;
        padding: 8px 24px 8px 10px; } }
    @media (max-width: 320px) {
      .common-button a {
        min-width: 220px; } }
    .common-button a::after {
      width: 14px;
      height: 14px;
      margin: auto 0;
      content: '';
      background-color: #fff;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 14px;
      border-radius: 50%;
      transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
      @media (max-width: 768px) {
        .common-button a::after {
          width: 12px;
          height: 12px;
          right: 12px; } }
    .common-button a:hover {
      background: #85b4d6;
      color: #fff; }
    .common-button a:hover::after {
      border-color: #fff; }
  .common-button.long-text {
    font-size: 16px; }
    @media (max-width: 768px) {
      .common-button.long-text {
        font-size: 13px; } }

.common-button-s {
  margin-top: 20px;
  display: flex;
  justify-content: center; }
  .common-button-s a {
    min-width: 200px;
    min-height: 42px;
    margin: 0 auto;
    padding: 8px 10px;
    background: #5e3819;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    font-weight: bold;
    line-height: 1.2em;
    text-align: center;
    font-feature-settings: "palt"; }
    .common-button-s a:hover {
      background: #85b4d6;
      color: #fff; }

.button-wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }
  .button-wrap .common-button {
    margin-left: 10px;
    margin-right: 10px; }
    @media (max-width: 500px) {
      .button-wrap .common-button {
        margin-left: 0;
        margin-right: 0; } }

/*　header　
------------------------------------------------------------
------------------------------------------------------------*/
.tachihi-flag {
  width: 16%;
  max-width: 320px;
  padding: 0 3%;
  z-index: 101;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1200px) {
    .tachihi-flag {
      width: 12%;
      padding: 0 1%; } }
  @media (max-width: 768px) {
    .tachihi-flag {
      width: 20%;
      padding: 0 3%;
      z-index: 100; } }
  @media (max-width: 500px) {
    .tachihi-flag {
      width: 28%;
      max-width: 110px;
      padding: 0 5%; } }
  .tachihi-flag a {
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    .tachihi-flag a:hover {
      opacity: 0.8; }
    .tachihi-flag a img {
      width: 100%;
      height: auto; }

.aircraft {
  width: 120px;
  height: auto;
  position: fixed;
  top: 60px;
  right: 50px;
  z-index: 1;
  transition: all 5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1400px) {
    .aircraft {
      width: 80px;
      top: 50px;
      right: 40px; } }
  @media (max-width: 768px) {
    .aircraft {
      display: none; } }
  .aircraft img {
    width: 100%;
    height: auto; }

/* スクロールでデザイン変更（.aircraft） */
.aircraft.scroll-aircraft {
  top: 170px; }

#header {
  position: fixed;
  width: 100%;
  top: 40px;
  left: 0;
  z-index: 100;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1400px) {
    #header {
      top: 30px; } }
  @media (max-width: 768px) {
    #header {
      top: 20px; } }

@media (max-width: 768px) {
  body.pink #header,
  body.yellow #header,
  body.blue #header {
    top: 0; } }

.header-menu {
  width: 68%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1200px) {
    .header-menu {
      width: 76%; } }
  .header-menu h1 {
    width: 398px;
    margin: 20px 0 40px 0;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    @media (max-width: 1200px) {
      .header-menu h1 {
        width: 340px;
        height: auto; } }
    @media (max-width: 768px) {
      .header-menu h1 {
        display: none; } }
    .header-menu h1 img {
      width: 100%;
      height: auto; }
      .header-menu h1 img:nth-child(2) {
        display: none; }

/* スクロールでデザイン変更（.header-menu） */
@media (max-width: 768px) {
  #header.scroll-header {
    top: 0; } }
#header.scroll-header .header-menu {
  max-width: 1500px;
  width: calc(100% - 120px);
  height: 100%;
  margin: 0 auto;
  padding: 20px;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  box-shadow: 0 10px 30px -15px rgba(0, 0, 0, 0.3);
  border-radius: 16px; }
  @media (max-width: 768px) {
    #header.scroll-header .header-menu {
      width: 100%;
      height: 50px;
      margin: 0;
      padding: 0;
      background-color: #fff;
      border-top-right-radius: 0;
      border-top-left-radius: 0;
      border-bottom-right-radius: 20px;
      border-bottom-left-radius: 20px; } }
  #header.scroll-header .header-menu h1 {
    width: 200px;
    margin: 0 20px 0 0; }
    @media (max-width: 768px) {
      #header.scroll-header .header-menu h1 {
        width: 130px;
        margin: 0;
        display: flex; } }
    #header.scroll-header .header-menu h1 img:nth-child(1) {
      display: none; }
    #header.scroll-header .header-menu h1 img:nth-child(2) {
      display: block; }

/* menu
------------------------------------------------------------
------------------------------------------------------------*/
.menu-wrap {
  width: 100%;
  max-width: 1200px;
  min-height: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 768px) {
    .menu-wrap {
      height: 100vh;
      position: fixed;
      top: 0;
      right: calc(-100% + -40px);
      background-color: #fff;
      z-index: 100;
      flex-direction: column;
      justify-content: space-between; } }
  .menu-wrap.active {
    right: 0; }

.menu {
  width: 100%;
  display: flex; }
  @media (max-width: 768px) {
    .menu {
      width: 90%;
      margin: 60px auto 0 auto;
      flex-wrap: wrap;
      justify-content: space-between; } }
  .menu li {
    flex: 1; }
    @media (max-width: 768px) {
      .menu li {
        width: 45%;
        height: 80px;
        flex: initial; } }
    @media (max-width: 320px) {
      .menu li {
        height: 76px; } }
    .menu li:first-child {
      padding: 0 6px;
      background-image: radial-gradient(circle, #5e3819 1px, transparent 1px), radial-gradient(circle, #5e3819 1px, transparent 1px);
      background-size: 4px 4px, 4px 4px;
      background-position: right top, left top;
      background-repeat: repeat-y, repeat-y; }
    .menu li:not(:first-child) {
      padding: 0 6px 0 2px;
      background-image: radial-gradient(circle, #5e3819 1px, transparent 1px);
      background-size: 4px 4px;
      background-position: right top;
      background-repeat: repeat-y; }
    @media (max-width: 768px) {
      .menu li:first-child, .menu li:not(:first-child) {
        padding: 6px 0 10px 0;
        background-image: radial-gradient(circle, #5e3819 1px, transparent 1px);
        background-size: 4px 4px;
        background-position: right bottom;
        background-repeat: repeat-x; } }
    .menu li a {
      height: 100%;
      min-height: 64px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: center;
      font-weight: bold;
      line-height: 1em;
      font-feature-settings: "palt";
      text-align: center;
      border-radius: 6px;
      transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
      @media (max-width: 768px) {
        .menu li a {
          justify-content: center; } }
      .menu li a:hover {
        background-color: rgba(133, 180, 214, 0.6); }
      .menu li a img {
        width: 14px;
        height: 14px;
        margin: 2px 0; }
        @media (max-width: 768px) {
          .menu li a img {
            margin: 0 0 8px 0; } }
      .menu li a span {
        transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
        .menu li a span:nth-of-type(1) {
          font-size: 17px; }
          @media (max-width: 1400px) {
            .menu li a span:nth-of-type(1) {
              font-size: 15px; } }
          @media (max-width: 320px) {
            .menu li a span:nth-of-type(1) {
              font-size: 14px; } }
        .menu li a span:nth-of-type(2) {
          font-family: "Poppins", serif;
          font-weight: 400;
          font-style: normal;
          font-size: 11px; }
          @media (max-width: 1400px) {
            .menu li a span:nth-of-type(2) {
              font-size: 10px; } }

.menu-sns {
  display: flex;
  align-items: center; }
  .menu-sns li {
    margin-left: 16px;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    .menu-sns li a {
      width: 58px;
      height: 58px;
      border-radius: 50%;
      background-color: #5e3819;
      display: flex;
      justify-content: center;
      align-items: center; }
      .menu-sns li a:hover {
        background-color: #85b4d6; }
      .menu-sns li a img {
        width: 29px;
        height: 29px; }

.menu-link-text {
  display: none; }
  @media (max-width: 768px) {
    .menu-link-text {
      display: block;
      margin: 10% 0; } }
  .menu-link-text a {
    display: flex;
    align-items: center;
    font-family: "Poppins", serif;
    font-weight: 400;
    font-style: normal; }
  .menu-link-text img {
    width: 10px;
    height: auto;
    margin-left: 5px; }

.menu-sns-text {
  display: none; }
  @media (max-width: 768px) {
    .menu-sns-text {
      width: 94px;
      height: 65px;
      margin: 0 4px;
      display: block; }
      .menu-sns-text img {
        width: 100%;
        height: auto; } }

/* ハンバーガーメニュー */
.burger-button {
  display: none; }
  @media (max-width: 768px) {
    .burger-button {
      position: absolute;
      top: 20px;
      right: 20px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      width: 24px;
      height: 21px;
      background: transparent;
      border: none;
      cursor: pointer;
      padding: 0;
      z-index: 101; } }
  .burger-button span {
    width: 24px;
    height: 3px;
    background-color: #5e3819;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  .burger-button.active .burger-line:nth-child(1) {
    transform: translateY(9px) rotate(45deg); }
  .burger-button.active .burger-line:nth-child(2) {
    opacity: 0; }
  .burger-button.active .burger-line:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg); }

/* スクロールでデザイン変更（.burger-button） */
@media (max-width: 768px) {
  #header.scroll-header .burger-button {
    top: 15px; } }

/*　footer　
------------------------------------------------------------
------------------------------------------------------------*/
#footer {
  width: 100%;
  min-height: 750px;
  margin-top: -200px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  background-image: url("../images/common/footer_bird.png"), url("../images/common/footer_town.webp"), url("../images/common/footer_cloud.png");
  background-repeat: no-repeat, repeat-x, no-repeat;
  background-size: 170px 140px, 3840px 310px, 100% 700px;
  animation: slideBackground 200s linear infinite; }
  @media screen and (max-width: 1920px) {
    #footer {
      background-size: 170px 140px, 2895px 233px, 1920px 643px; } }
  @media (max-width: 1400px) {
    #footer {
      background-size: 150px auto, 2895px 233px, 1400px 469px; } }
  @media (max-width: 768px) {
    #footer {
      min-height: 320px;
      margin-top: 0;
      background-size: 100px auto, 2484px 200px, 100% auto; } }
  @media (max-width: 500px) {
    #footer {
      background-image: none, url("../images/common/footer_town.webp"), url("../images/common/footer_cloud_sp.png"); } }

@keyframes slideBackground {
  from {
    background-position: left 5% bottom 350px, 0 bottom, center bottom 50px; }
  to {
    background-position: left 5% bottom 350px, -3840px bottom, center bottom 50px; } }
@media (max-width: 1400px) {
  @keyframes slideBackground {
    from {
      background-position: left 5% bottom 350px, 0 bottom, center bottom 50px; }
    to {
      background-position: left 5% bottom 350px, -2985px bottom, center bottom 50px; } } }
@media (max-width: 768px) {
  @keyframes slideBackground {
    from {
      background-position: left 5% bottom 200px, 0 bottom, center bottom 50px; }
    to {
      background-position: left 5% bottom 200px, -2484px bottom, center bottom 50px; } } }
.footer-char {
  width: 250px;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1400px) {
    .footer-char {
      width: 200px; } }
  @media (max-width: 768px) {
    .footer-char {
      width: 140px; } }
  .footer-char img {
    width: 100%;
    height: auto; }

.copyright-wrap {
  width: 100%;
  padding: 10px 20px 20px 20px;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  line-height: 1.2em; }
  @media (max-width: 768px) {
    .copyright-wrap {
      padding: 5px 20px 10px 20px;
      flex-direction: column; } }
  @media (max-width: 500px) {
    .copyright-wrap {
      padding: 5px 5% 10px 5%; } }
  .copyright-wrap a {
    margin-right: 10px;
    font-size: 15px; }
    @media (max-width: 768px) {
      .copyright-wrap a {
        margin-right: 0;
        font-size: 13px; } }

.copyright {
  font-size: 12px; }
  @media (max-width: 768px) {
    .copyright {
      font-size: 10px; } }

.aircraft-footer {
  display: none; }
  @media (max-width: 768px) {
    .aircraft-footer {
      display: block;
      width: 80px;
      height: auto;
      position: absolute;
      top: 20px;
      right: 20px;
      z-index: 1;
      transition: all 5s cubic-bezier(0.25, 0.8, 0.25, 1); } }
  @media (max-width: 500px) {
    .aircraft-footer {
      top: 10px; } }
  .aircraft-footer img {
    width: 100%;
    height: auto; }

/* ページトップ */
#page-top {
  width: 206px;
  height: 132px;
  position: absolute;
  bottom: 220px;
  left: calc(50% + 85px);
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1400px) {
    #page-top {
      width: 160px;
      height: 103px;
      bottom: 190px;
      left: calc(50% + 60px); } }
  @media (max-width: 768px) {
    #page-top {
      width: 110px;
      height: 71px;
      bottom: 150px;
      left: calc(50% + 30px); } }
  #page-top a {
    width: 100%;
    height: 100%;
    display: block;
    background: url("../images/common/page-top.svg") no-repeat;
    background-size: 100% auto;
    background-position: center center;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    #page-top a:hover {
      background: url("../images/common/page-top_hover.svg") no-repeat; }
  #page-top:hover {
    transform: translateY(-10px); }

/*
------------------------------------------------------------
------------------------------------------------------------
トップページ
------------------------------------------------------------
------------------------------------------------------------*/
/* frame-design */
.frame-container {
  position: absolute;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: 10;
  pointer-events: none;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }

.frame-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 40px;
  background-image: url("../images/common/frame_watercolor_orange.png");
  background-repeat: repeat-x;
  background-size: 200px 200px;
  background-position: left top; }
  @media (max-width: 1400px) {
    .frame-top {
      height: 30px; } }
  @media (max-width: 768px) {
    .frame-top {
      height: 20px; } }

.frame-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40px;
  background-image: url("../images/common/frame_watercolor_blue.png");
  background-repeat: repeat-x;
  background-size: 200px 200px;
  background-position: left top; }
  @media (max-width: 1400px) {
    .frame-bottom {
      height: 30px; } }
  @media (max-width: 768px) {
    .frame-bottom {
      height: 20px; } }

/* スクロールでデザイン変更（.frame-container） */
.frame-container.scroll-frame {
  opacity: 0; }

/* main-visual */
.main-visual-wrap {
  width: 100%;
  min-height: 100vh;
  height: 100%;
  padding: 200px 0 0 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 768px) {
    .main-visual-wrap {
      height: 100vh;
      height: 100dvh;
      min-height: auto;
      padding: 70px 0 0 0;
      display: block; } }

.main-visual {
  width: 55%;
  max-width: 1068px;
  height: 100%;
  margin: auto;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center; }
  @media (max-width: 768px) {
    .main-visual {
      width: 90%;
      height: auto;
      flex-direction: column-reverse;
      justify-content: flex-start; } }
  @media (max-width: 500px) {
    .main-visual {
      width: 80%; } }
  .main-visual .main-visual-title {
    position: relative;
    z-index: 2; }
    .main-visual .main-visual-title .cloud {
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1; }
      .main-visual .main-visual-title .cloud img {
        width: 50%;
        height: auto; }
        @media (max-width: 500px) {
          .main-visual .main-visual-title .cloud img {
            width: 70%; } }
        .main-visual .main-visual-title .cloud img:nth-child(1) {
          position: absolute;
          top: -10px;
          left: 20%; }
          @media (max-width: 1200px) {
            .main-visual .main-visual-title .cloud img:nth-child(1) {
              top: 0; } }
          @media (max-width: 500px) {
            .main-visual .main-visual-title .cloud img:nth-child(1) {
              top: -10px;
              left: 10%; } }
        .main-visual .main-visual-title .cloud img:nth-child(2) {
          position: absolute;
          top: 40px;
          right: 3%; }
          @media (max-width: 1200px) {
            .main-visual .main-visual-title .cloud img:nth-child(2) {
              right: 5%; } }
          @media (max-width: 500px) {
            .main-visual .main-visual-title .cloud img:nth-child(2) {
              top: 10px;
              right: -5%; } }
        .main-visual .main-visual-title .cloud img:nth-child(3) {
          position: absolute;
          top: 100px;
          left: 3%; }
          @media (max-width: 1200px) {
            .main-visual .main-visual-title .cloud img:nth-child(3) {
              left: 5%; } }
          @media (max-width: 500px) {
            .main-visual .main-visual-title .cloud img:nth-child(3) {
              top: 30px;
              left: -5%; } }
        .main-visual .main-visual-title .cloud img:nth-child(4) {
          position: absolute;
          top: 150px;
          left: 33%; }
          @media (max-width: 1200px) {
            .main-visual .main-visual-title .cloud img:nth-child(4) {
              top: 110px; } }
          @media (max-width: 500px) {
            .main-visual .main-visual-title .cloud img:nth-child(4) {
              top: 50px;
              left: 20%; } }
  .main-visual .main-visual-text {
    max-width: 354px;
    width: 40%;
    height: auto;
    margin: 30px 0 20px 0;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: 3;
    filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.9)) drop-shadow(0 0 4px rgba(255, 255, 255, 0.7)) drop-shadow(0 0 6px rgba(255, 255, 255, 0.5)); }
    @media (max-width: 1200px) {
      .main-visual .main-visual-text {
        width: 300px; } }
    @media (max-width: 768px) {
      .main-visual .main-visual-text {
        width: 70%;
        margin: 40px 0 10px 0; } }
    @media (max-width: 500px) {
      .main-visual .main-visual-text {
        width: 80%;
        margin: 0; } }
  .main-visual img {
    width: 100%;
    height: auto; }

/* たっぴくん */
.main-visual-kun {
  width: 567px;
  height: auto;
  position: absolute;
  bottom: 5%;
  left: 5%;
  z-index: 2;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media screen and (max-width: 1600px) {
    .main-visual-kun {
      width: 510px; } }
  @media (max-width: 1400px) {
    .main-visual-kun {
      width: 454px; } }
  @media (max-width: 1200px) {
    .main-visual-kun {
      width: 340px; } }
  @media (max-width: 768px) {
    .main-visual-kun {
      left: 10%; } }
  @media (max-width: 500px) {
    .main-visual-kun {
      width: 226px;
      bottom: 140px;
      left: 7%; } }
  @media (max-width: 320px) {
    .main-visual-kun {
      width: 170px;
      bottom: 130px; } }
  .main-visual-kun img {
    width: 100%;
    height: auto; }
  .main-visual-kun .click {
    width: 64px;
    height: auto;
    position: absolute;
    bottom: 3%;
    left: 0;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    @media (max-width: 1400px) {
      .main-visual-kun .click {
        width: 52px; } }
    @media (max-width: 1200px) {
      .main-visual-kun .click {
        width: 42px;
        bottom: 2%; } }
    @media (max-width: 768px) {
      .main-visual-kun .click {
        left: 45%;
        bottom: 10%; } }
    @media (max-width: 500px) {
      .main-visual-kun .click {
        left: 45%;
        bottom: 10px; } }
  .main-visual-kun a:hover .click {
    transform: scale(1.2); }

/* たっぴちゃん */
.main-visual-chan {
  width: 309px;
  height: auto;
  position: absolute;
  bottom: 25%;
  right: 5%;
  z-index: 2;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media screen and (max-width: 1600px) {
    .main-visual-chan {
      width: 278px; } }
  @media (max-width: 1400px) {
    .main-visual-chan {
      width: 248px; } }
  @media (max-width: 1200px) {
    .main-visual-chan {
      width: 186px; } }
  @media (max-width: 768px) {
    .main-visual-chan {
      right: 10%;
      bottom: 15%; } }
  @media (max-width: 500px) {
    .main-visual-chan {
      width: 124px;
      bottom: 140px;
      right: 7%; } }
  @media (max-width: 320px) {
    .main-visual-chan {
      width: 92px;
      bottom: 130px; } }
  .main-visual-chan img {
    width: 100%;
    height: auto; }
  .main-visual-chan .click {
    width: 64px;
    height: auto;
    position: absolute;
    bottom: 20%;
    right: 0;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    @media (max-width: 1400px) {
      .main-visual-chan .click {
        width: 52px; } }
    @media (max-width: 1200px) {
      .main-visual-chan .click {
        width: 42px;
        bottom: 15%; } }
    @media (max-width: 500px) {
      .main-visual-chan .click {
        bottom: 10px; } }
  .main-visual-chan a:hover .click {
    transform: scale(1.2); }

.scroll {
  width: 75px;
  height: 46px;
  margin-bottom: 50px;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1200px) {
    .scroll {
      width: 50px;
      height: auto; } }
  @media (max-width: 768px) {
    .scroll {
      display: none; } }
  .scroll img {
    width: 100%;
    height: auto; }

.main-visual-cloud {
  position: absolute;
  bottom: -300px;
  right: 0;
  z-index: 1; }
  @media (max-width: 1400px) {
    .main-visual-cloud {
      bottom: -200px; } }
  @media (max-width: 1200px) {
    .main-visual-cloud {
      bottom: -100px; } }
  @media (max-width: 768px) {
    .main-visual-cloud {
      bottom: -5%;
      z-index: -1; } }
  @media (max-width: 500px) {
    .main-visual-cloud {
      bottom: 10%; } }
  .main-visual-cloud img {
    width: 100%;
    height: auto; }

/* おしらせ */
.top-news {
  width: 480px;
  height: 190px;
  padding: 60px 26px 0 26px;
  position: absolute;
  right: 50px;
  bottom: 50px;
  z-index: 2;
  background: url("../images/top/top_news_bk.png") no-repeat;
  background-size: contain;
  background-position: center center;
  font-size: 16px;
  line-height: 1.6em;
  font-feature-settings: "palt";
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1400px) {
    .top-news {
      width: 380px;
      height: 150px;
      padding: 40px 16px 0 16px;
      font-size: 14px; } }
  @media (max-width: 1200px) {
    .top-news {
      width: 300px;
      height: 120px;
      padding: 35px 12px 0 12px;
      font-size: 12px;
      right: 20px;
      bottom: 40px; } }
  @media (max-width: 500px) {
    .top-news {
      margin: 0 auto;
      font-size: 12px;
      right: 0;
      left: 0;
      bottom: 30px; } }
  .top-news dl {
    display: flex; }
    .top-news dl dt {
      width: 7em;
      font-weight: bold; }
    .top-news dl dd {
      width: calc(100% - 7em); }
      .top-news dl dd a {
        width: 100%;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-decoration: underline; }
        .top-news dl dd a:hover {
          opacity: 0.6; }

.top-news-title {
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1400px) {
    .top-news-title {
      margin-bottom: 15px; } }
  @media (max-width: 1200px) {
    .top-news-title {
      margin-bottom: 10px; } }
  .top-news-title h2 {
    width: 164px;
    height: 35px; }
    @media (max-width: 1200px) {
      .top-news-title h2 {
        width: 120px;
        height: auto; } }
    .top-news-title h2 img {
      width: 100%;
      height: auto; }
  .top-news-title a {
    display: flex;
    align-items: center;
    font-weight: bold; }
    .top-news-title a:hover {
      opacity: 0.6; }
    .top-news-title a img {
      width: 10px;
      height: 17px;
      margin-left: 5px; }

/* 共通 content title cloud */
.top-content {
  padding-top: 200px;
  padding-bottom: 200px;
  position: relative; }
  @media (max-width: 768px) {
    .top-content {
      padding-top: 100px;
      padding-bottom: 100px; } }
  .top-content.top-event, .top-content.top-enjoy {
    background-image: url("../images/common/bk_watercolor_pink.png");
    background-repeat: repeat;
    background-size: 200px 200px;
    background-position: left top; }
  .top-content.top-schedule {
    background-image: url("../images/common/bk_watercolor_yellow.png");
    background-repeat: repeat;
    background-size: 200px 200px;
    background-position: left top; }

.content-cloud {
  position: absolute;
  bottom: -300px;
  right: 0;
  z-index: 1;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1200px) {
    .content-cloud {
      bottom: -200px; } }
  @media (max-width: 768px) {
    .content-cloud {
      bottom: -120px; } }
  @media (max-width: 500px) {
    .content-cloud {
      bottom: -80px; } }
  .content-cloud img {
    width: 100%;
    height: auto; }

.top-title {
  max-width: 840px;
  width: 100%;
  margin: 0 auto 120px auto;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1400px) {
    .top-title {
      width: 90%; } }
  @media (max-width: 1200px) {
    .top-title {
      width: 80%; } }
  @media (max-width: 768px) {
    .top-title {
      width: 70%;
      margin: 0 auto 60px auto; } }
  @media (max-width: 500px) {
    .top-title {
      width: 100%; } }
  .top-title img {
    width: 100%;
    height: auto; }

/* イベント Event */
.slider-box {
  margin: 0 15px;
  background-color: #fff;
  border-radius: 10px; }
  @media (max-width: 768px) {
    .slider-box {
      margin: 0 10px;
      border-radius: 8px; } }
  .slider-box a:hover {
    opacity: 0.6; }
  .slider-box .slider-date {
    margin: -10px 20px 0 20px;
    font-weight: bold; }
    @media (max-width: 768px) {
      .slider-box .slider-date {
        margin: -5px 10px 0 10px; } }
  .slider-box .slider-text {
    margin: 0 20px 20px 20px;
    line-height: 1.6em; }
    @media (max-width: 768px) {
      .slider-box .slider-text {
        margin: 0 10px 20px 10px; } }
    @media (max-width: 500px) {
      .slider-box .slider-text {
        font-size: 13px; } }

.category {
  width: 120px;
  height: 30px;
  position: relative;
  top: -15px;
  left: -10px;
  font-family: "Poppins", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 15px;
  line-height: 30px;
  text-align: center;
  background: #f4d47a;
  /* カテゴリ色分け */
  /*&.cat-char{
  	background: $sub-color;
  	&::before {background: $sub-color;}
  	&::after {background: $sub-color;}
  }
  &.cat-area{
  	background: $main-color;
  	&::before {background: $main-color;}
  	&::after {background: $main-color;}
  }
  &.cat-other{
  	background: $sub2-color;
  	&::before {background: $sub2-color;}
  	&::after {background: $sub2-color;}
  }*/ }
  @media (max-width: 500px) {
    .category {
      width: 80px;
      height: 20px;
      top: -10px;
      left: 0;
      font-size: 12px;
      line-height: 20px; } }
  .category::before {
    content: "";
    position: absolute;
    right: -15px;
    bottom: 0;
    height: 15px;
    aspect-ratio: 1;
    clip-path: polygon(0 100%, 0 0, 100% 100%);
    background: #f4d47a; }
    @media (max-width: 500px) {
      .category::before {
        right: -10px;
        height: 10px; } }
  .category::after {
    content: "";
    position: absolute;
    right: -15px;
    top: 0;
    height: 15px;
    aspect-ratio: 1;
    clip-path: polygon(0 0, 100% 0, 0 100%);
    background: #f4d47a; }
    @media (max-width: 500px) {
      .category::after {
        right: -10px;
        height: 10px; } }

.slider-img {
  width: 100%;
  /*aspect-ratio: 3 / 2;*/
  aspect-ratio: 1 / 1;
  overflow: hidden;
  position: relative;
  border: solid 1px #e6e6e6;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px; }
  .slider-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center; }

/* 前後ボタン */
.slick-prev::before,
.slick-next::before {
  display: none; }

.slick-prev, .slick-next {
  width: 50px;
  height: 50px;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  z-index: 1; }
  @media (max-width: 1400px) {
    .slick-prev, .slick-next {
      width: 40px;
      height: 40px; } }
  @media (max-width: 768px) {
    .slick-prev, .slick-next {
      width: 32px;
      height: 32px; } }
  .slick-prev:hover, .slick-next:hover {
    opacity: 0.8; }

.slick-prev {
  left: -50px; }
  @media (max-width: 1400px) {
    .slick-prev {
      left: -2%; } }
  @media (max-width: 500px) {
    .slick-prev {
      left: -4.5%; } }

.slick-next {
  right: -50px; }
  @media (max-width: 1400px) {
    .slick-next {
      right: -2%; } }
  @media (max-width: 500px) {
    .slick-next {
      right: -4.5%; } }

.slick-prev.slick-disabled, .slick-next.slick-disabled {
  opacity: 0.5;
  pointer-events: none; }

/* ドットナビゲーションのカスタマイズ */
.slick-dots {
  bottom: -45px; }

.slick-dots li button::before {
  display: none; }

.slick-dots li button {
  width: 12px;
  height: 12px;
  background-color: #fff;
  border-radius: 50%;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }

.slick-dots li button:hover {
  background-color: #85b4d6; }

.slick-dots li.slick-active button {
  background-color: #5e3819; }

/* TACHIHIイベントスケジュール Schedule */
/* スクロールバーの表示 */
.scroll-text {
  display: none; }
  @media screen and (max-width: 767px) {
    .scroll-text {
      display: block;
      padding: 8px !important;
      margin-bottom: 15px !important;
      text-align: center;
      font-size: 12px !important;
      line-height: 1em !important;
      border-radius: 6px;
      background-color: rgba(94, 56, 25, 0.2) !important; } }

@media screen and (max-width: 767px) {
  .table-scroll {
    overflow-x: scroll; }
    .table-scroll .fc-view-container {
      width: 720px; } }

.schedule-notes {
  margin-top: 10px;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 14px;
  text-align: right;
  line-height: 1.4em; }
  @media (max-width: 768px) {
    .schedule-notes {
      font-size: 12px;
      text-align: left; } }

.schedule-notes-02 {
  margin-top: 20px;
  text-align: right;
  font-weight: bold;
  line-height: 1.4em; }
  @media (max-width: 768px) {
    .schedule-notes-02 {
      font-size: 12px;
      text-align: left; } }
  .schedule-notes-02 .icon-inline {
    margin-left: 0; }

/*.schedule-list{
	margin-top: 20px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	font-weight: bold;
	line-height: 1.4em;
	@include tb {
		font-size: 12px;
		justify-content: flex-start;
	}
	@include sp {
		flex-direction: column;
		align-items: stretch;
	}
	li{
		margin-left: 1.8em;
		position: relative;
		&::before {
            content: "";
            position: absolute;
            left: -1.8em;
            top: 0;
            width: 1.4em;
            height: 1.4em;
            border-radius: 50%;
        }
		&:nth-child(1){
			&::before { background-color: $sub-color; }
		}
		&:nth-child(2){
			&::before { background-color: $main-color; }
		}
		&:nth-child(3){
			&::before { background-color: $sub2-color; }
		}
		&:not(:last-child){
			margin-right: 20px;
			@include sp {
				margin-bottom: 10px;
				margin-right: 0;
			}
		}		
	}
}*/
/* イベントが無い場合 */
.top-event-none {
  width: 70%;
  max-width: 600px;
  margin: 0 auto; }
  @media (max-width: 500px) {
    .top-event-none {
      width: 100%; } }
  .top-event-none img {
    width: 100%;
    height: auto; }

/* アーカイブ Archive */
.top-archive .common-button a::after {
  background-color: #d3e4f5; }

.slider-archive.slick-dotted.slick-slider {
  margin-bottom: 100px; }

.slider-archive-box {
  margin: 0 15px 10px 15px; }
  @media (max-width: 768px) {
    .slider-archive-box {
      margin: 0 10px; } }
  .slider-archive-box .slider-date {
    margin-top: 10px;
    font-weight: bold; }
  .slider-archive-box .slider-text {
    line-height: 1.6em; }
    @media (max-width: 500px) {
      .slider-archive-box .slider-text {
        font-size: 13px; } }
  .slider-archive-box .slider-img {
    border-radius: 10px;
    border: none; }
    @media (max-width: 768px) {
      .slider-archive-box .slider-img {
        border-radius: 8px; } }

/* おたのしみ Enjoy */
.top-enjoy .common-button a::after {
  background-color: #fcebef; }

.top-enjoy-img {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
  z-index: 2; }
  .top-enjoy-img p:nth-child(2) {
    width: 188px;
    margin: -20px auto 0 auto; }
    @media (max-width: 768px) {
      .top-enjoy-img p:nth-child(2) {
        width: 120px;
        margin: -10px auto 0 auto; } }
  .top-enjoy-img img {
    width: 100%;
    height: auto; }

/* おといあわせ Contact */
.top-contact {
  margin: 400px auto 300px auto;
  display: flex;
  justify-content: center;
  font-weight: bold; }
  @media (max-width: 1400px) {
    .top-contact {
      margin: 400px auto 260px auto; } }
  @media (max-width: 768px) {
    .top-contact {
      margin: 100px auto 140px auto; } }
  @media (max-width: 500px) {
    .top-contact {
      width: 100% !important;
      flex-direction: column;
      background: url("../images/common/bk_cloud-s_sp.png") no-repeat;
      background-size: contain;
      background-position: center center; } }
  @media (max-width: 500px) {
    .top-contact div {
      width: 90%;
      margin: 0 auto; } }
  .top-contact .common-button a {
    margin: 0 auto 0 0; }
    .top-contact .common-button a::after {
      background-color: #d3e4f5; }
    @media (max-width: 500px) {
      .top-contact .common-button a {
        margin: 0 auto; } }

.top-contact-title {
  width: 400px;
  margin-right: 5%; }
  @media (max-width: 500px) {
    .top-contact-title {
      width: 80%;
      margin: 0 auto 30px auto; } }
  .top-contact-title img {
    width: 100%;
    height: auto; }

/*
------------------------------------------------------------
------------------------------------------------------------
下層ページ
------------------------------------------------------------
------------------------------------------------------------*/
/* ページタイトル */
.page-title-wrap {
  min-height: 540px;
  background: url("../images/common/title_cloud.png") no-repeat;
  background-size: 678px 335px;
  background-position: bottom 30px center;
  display: flex;
  justify-content: center;
  align-items: flex-end; }
  @media (max-width: 768px) {
    .page-title-wrap {
      min-height: 300px;
      background-size: 500px auto; } }
  @media (max-width: 500px) {
    .page-title-wrap {
      min-height: 240px;
      background-size: contain; } }

.page-title {
  width: 424px;
  height: 350px;
  display: flex;
  align-items: center; }
  @media (max-width: 768px) {
    .page-title {
      width: 300px;
      height: 250px; } }
  @media (max-width: 500px) {
    .page-title {
      width: 70%;
      height: 200px; } }
  .page-title img {
    width: 100%;
    height: auto; }
  .page-title.long-text {
    width: 500px; }
    @media (max-width: 768px) {
      .page-title.long-text {
        width: 380px; } }
    @media (max-width: 500px) {
      .page-title.long-text {
        width: 70%; } }

/* 画像 */
.lower-img-wide img {
  width: 100%;
  height: auto;
  border-radius: 10px; }
  @media (max-width: 768px) {
    .lower-img-wide img {
      border-radius: 8px; } }

.lower-img-1 p {
  width: 49%;
  margin: 0 auto; }
  @media (max-width: 500px) {
    .lower-img-1 p {
      width: 100%; } }
.lower-img-1 img {
  width: 100%;
  height: auto;
  border-radius: 10px; }
  @media (max-width: 768px) {
    .lower-img-1 img {
      border-radius: 8px; } }

.lower-img-2 {
  width: 100%;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 500px) {
    .lower-img-2 {
      flex-direction: column; } }
  .lower-img-2 p {
    width: 49%; }
    @media (max-width: 500px) {
      .lower-img-2 p {
        width: 100%; } }
  .lower-img-2 img {
    width: 100%;
    height: auto;
    border-radius: 10px; }
    @media (max-width: 768px) {
      .lower-img-2 img {
        border-radius: 8px; } }

/* ページネーション */
.pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-family: "Poppins", serif;
  font-weight: 400;
  font-style: normal; }
  .pagination li {
    padding: 5px 15px; }
    .pagination li a:hover {
      color: #85b4d6; }
  .pagination .current {
    position: relative;
    pointer-events: none; }
    .pagination .current::after {
      content: "";
      position: absolute;
      bottom: 5px;
      left: 20%;
      width: 60%;
      height: 2px;
      background-color: #5e3819; }
  .pagination .prev, .pagination .next {
    font-size: 14px; }

/* 背景雲画像 */
.back-cloud-m {
  background-image: url("../images/common/bk_cloud.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; }
  @media (max-width: 500px) {
    .back-cloud-m {
      background-image: url("../images/common/bk_cloud_sp.png"); } }

.back-cloud-s {
  background-image: url("../images/common/bk_cloud-s.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; }
  @media (max-width: 500px) {
    .back-cloud-s {
      background-image: url("../images/common/bk_cloud-s_sp.png"); } }

/* ページごとの個別スタイル
------------------------------------------------------------
------------------------------------------------------------*/
/* プロフィール profile
------------------------------------------------------------*/
@media (max-width: 768px) {
  .profile-wrap {
    margin-bottom: 60px; } }

.profile-lead {
  position: relative; }
  .profile-lead .lead {
    position: absolute;
    margin: auto;
    top: 65%;
    left: 0;
    right: 0; }
    @media (max-width: 1200px) {
      .profile-lead .lead {
        top: 60%; } }
    @media (max-width: 768px) {
      .profile-lead .lead {
        text-align: center; } }
    @media (max-width: 500px) {
      .profile-lead .lead {
        width: 100%;
        position: static;
        text-align: left; } }
  .profile-lead img {
    width: 100%;
    height: auto; }

/* たっぴくん・たっぴちゃん自己紹介 */
@media (max-width: 500px) {
  .profile-intro-wrap {
    margin: 30px auto; } }

.profile-intro {
  padding: 50px 0;
  display: flex;
  align-items: center; }
  @media (max-width: 500px) {
    .profile-intro {
      flex-direction: column; } }
  @media (max-width: 500px) {
    .profile-intro {
      padding: 30px 0; } }
  .profile-intro:nth-of-type(1) {
    background-color: #d3e4f5;
    border-top: solid 2px #85b4d6;
    border-right: solid 2px #85b4d6;
    border-left: solid 2px #85b4d6;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px; }
  .profile-intro:nth-of-type(2) {
    background-color: #f0f8f5;
    border-right: solid 2px #7cb9a3;
    border-bottom: solid 2px #7cb9a3;
    border-left: solid 2px #7cb9a3;
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px; }
  .profile-intro div {
    width: 35%;
    margin: 0 auto; }
    .profile-intro div:nth-child(2) p:nth-child(2) {
      margin-top: 30px; }
    @media (max-width: 768px) {
      .profile-intro div {
        width: 40%; } }
    @media (max-width: 500px) {
      .profile-intro div:nth-child(1) {
        width: 60%; }
      .profile-intro div:nth-child(2) {
        width: 80%;
        margin-top: 30px;
        display: flex;
        flex-direction: column-reverse; }
        .profile-intro div:nth-child(2) p:nth-child(2) {
          margin-top: 0;
          margin-bottom: 30px; } }
    .profile-intro div h3 {
      margin-bottom: 30px; }
    .profile-intro div .text-bd {
      max-width: 190px;
      margin: 30px auto 0 auto; }
  .profile-intro img {
    width: 100%;
    height: auto; }

/* シーン別紹介 */
.profile-scene-wrap {
  max-width: 1920px;
  width: 100%;
  margin: 200px auto 0 auto;
  aspect-ratio: 1920 / 720;
  margin: 200px auto 0 auto;
  position: relative;
  z-index: 1; }
  @media (max-width: 1200px) {
    .profile-scene-wrap {
      margin: 160px auto 0 auto;
      aspect-ratio: 1200 / 510; } }
  @media (max-width: 768px) {
    .profile-scene-wrap {
      margin: 60px auto 0 auto;
      aspect-ratio: auto;
      display: flex;
      flex-wrap: wrap;
      justify-content: center; } }

.profile-scene {
  position: absolute;
  overflow: hidden;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 768px) {
    .profile-scene {
      position: relative;
      margin: 15px 3%; } }
  .profile-scene:nth-of-type(1) {
    width: 23%;
    aspect-ratio: 1 / 1;
    top: 0;
    left: 7%; }
    @media (max-width: 1200px) {
      .profile-scene:nth-of-type(1) {
        width: 26%;
        left: 2%; } }
    @media (max-width: 768px) {
      .profile-scene:nth-of-type(1) {
        width: 40%;
        top: unset;
        left: unset; } }
    @media (max-width: 500px) {
      .profile-scene:nth-of-type(1) {
        width: 70%; } }
    .profile-scene:nth-of-type(1) .profile-scene-text {
      background-color: #85b4d6; }
  .profile-scene:nth-of-type(2) {
    width: 21%;
    aspect-ratio: 1 / 1;
    top: 44%;
    left: 28%; }
    @media (max-width: 1200px) {
      .profile-scene:nth-of-type(2) {
        width: 25%;
        top: 40%;
        left: 24%; } }
    @media (max-width: 768px) {
      .profile-scene:nth-of-type(2) {
        width: 40%;
        top: unset;
        left: unset; } }
    @media (max-width: 500px) {
      .profile-scene:nth-of-type(2) {
        width: 70%; } }
    .profile-scene:nth-of-type(2) .profile-scene-text {
      background-color: #edbd5c; }
  .profile-scene:nth-of-type(3) {
    width: 22%;
    aspect-ratio: 1 / 1;
    top: 0%;
    left: 46%; }
    @media (max-width: 1200px) {
      .profile-scene:nth-of-type(3) {
        width: 25%; } }
    @media (max-width: 768px) {
      .profile-scene:nth-of-type(3) {
        width: 40%;
        top: unset;
        left: unset; } }
    @media (max-width: 500px) {
      .profile-scene:nth-of-type(3) {
        width: 70%; } }
    .profile-scene:nth-of-type(3) .profile-scene-text {
      background-color: #7cb9a3; }
  .profile-scene:nth-of-type(4) {
    width: 23%;
    aspect-ratio: 1 / 1;
    top: 20%;
    left: 70%; }
    @media (max-width: 1200px) {
      .profile-scene:nth-of-type(4) {
        width: 26%;
        left: 72%; } }
    @media (max-width: 768px) {
      .profile-scene:nth-of-type(4) {
        width: 40%;
        top: unset;
        left: unset; } }
    @media (max-width: 500px) {
      .profile-scene:nth-of-type(4) {
        width: 70%; } }
    .profile-scene:nth-of-type(4) .profile-scene-text {
      background-color: #eda29d; }
  .profile-scene:hover {
    transform: scale(1.05); }

.profile-scene-img {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transition: opacity 0.3s ease; }
  .profile-scene-img.scene-1 {
    background-image: url("../images/profile/profile_scene_01.png"); }
  .profile-scene-img.scene-2 {
    background-image: url("../images/profile/profile_scene_02.png"); }
  .profile-scene-img.scene-3 {
    background-image: url("../images/profile/profile_scene_03.png"); }
  .profile-scene-img.scene-4 {
    background-image: url("../images/profile/profile_scene_04.png"); }

.profile-scene-text {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  line-height: 1.4em;
  font-feature-settings: "palt";
  padding: 10px;
  opacity: 0;
  transition: opacity 0.3s ease;
  border-radius: 50%; }
  .profile-scene-text h4 {
    padding-bottom: 20px;
    margin-bottom: 20px;
    font-weight: bold;
    font-size: 20px;
    border-bottom: dotted 4px #fff; }
    @media (max-width: 1200px) {
      .profile-scene-text h4 {
        padding-bottom: 8px;
        margin-bottom: 8px;
        font-size: 17px; } }
    @media (max-width: 500px) {
      .profile-scene-text h4 {
        font-size: 15px; } }
  .profile-scene-text p {
    font-size: 20px; }
    @media (max-width: 1400px) {
      .profile-scene-text p {
        font-size: 18px; } }
    @media (max-width: 1200px) {
      .profile-scene-text p {
        font-size: 15px; } }
    @media screen and (max-width: 900px) {
      .profile-scene-text p {
        font-size: 13px; } }
    @media (max-width: 768px) {
      .profile-scene-text p {
        font-size: 17px; } }
    @media (max-width: 500px) {
      .profile-scene-text p {
        font-size: 15px; } }

.profile-scene-copy {
  position: absolute;
  z-index: -1;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  .profile-scene-copy:nth-of-type(1) {
    width: 28%;
    top: -5%;
    left: 5%; }
    @media (max-width: 1200px) {
      .profile-scene-copy:nth-of-type(1) {
        width: 30%;
        left: 0%; } }
    @media (max-width: 768px) {
      .profile-scene-copy:nth-of-type(1) {
        width: 46%;
        top: -1%;
        left: 4%; } }
    @media (max-width: 500px) {
      .profile-scene-copy:nth-of-type(1) {
        width: 80%;
        top: -1%;
        left: 10%; } }
  .profile-scene-copy:nth-of-type(2) {
    width: 26%;
    top: 16%;
    left: 68%; }
    @media (max-width: 1200px) {
      .profile-scene-copy:nth-of-type(2) {
        width: 30%;
        left: 69%; } }
    @media (max-width: 768px) {
      .profile-scene-copy:nth-of-type(2) {
        width: 46%;
        top: 49%;
        left: 49%; } }
    @media (max-width: 500px) {
      .profile-scene-copy:nth-of-type(2) {
        width: 82%;
        top: unset;
        bottom: -0.5%;
        left: 7%; } }
  .profile-scene-copy img {
    width: 100%;
    height: auto; }

/* タチカワMap */
.tachikawa-map-wrap {
  aspect-ratio: 120 / 76;
  position: relative;
  z-index: 2; }

.tachikawa-map-base img {
  width: 100%;
  height: auto; }

.tachikawa-map {
  width: 60px;
  height: 71px;
  position: absolute;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 768px) {
    .tachikawa-map {
      width: 42px;
      height: 50px; } }
  .tachikawa-map:nth-of-type(1) {
    top: calc(55% - 71px);
    left: calc(14% - 30px); }
    @media (max-width: 768px) {
      .tachikawa-map:nth-of-type(1) {
        top: calc(55% - 50px);
        left: calc(14% - 21px); } }
  .tachikawa-map:nth-of-type(2) {
    top: calc(60% - 71px);
    left: calc(22% - 30px); }
    @media (max-width: 768px) {
      .tachikawa-map:nth-of-type(2) {
        top: calc(61% - 50px);
        left: calc(22% - 21px); } }
  .tachikawa-map:nth-of-type(3) {
    top: calc(48% - 71px);
    left: calc(32% - 30px); }
    @media (max-width: 768px) {
      .tachikawa-map:nth-of-type(3) {
        top: calc(48% - 50px);
        left: calc(32% - 21px); } }
  .tachikawa-map:nth-of-type(4) {
    top: calc(22% - 71px);
    left: calc(53% - 30px); }
    @media (max-width: 768px) {
      .tachikawa-map:nth-of-type(4) {
        top: calc(22% - 50px);
        left: calc(53% - 21px); } }
  .tachikawa-map:nth-of-type(5) {
    top: calc(28% - 71px);
    left: calc(41.5% - 30px); }
    @media (max-width: 768px) {
      .tachikawa-map:nth-of-type(5) {
        top: calc(28% - 50px);
        left: calc(41% - 21px); } }
  .tachikawa-map:nth-of-type(6) {
    top: calc(38% - 71px);
    left: calc(48% - 30px); }
    @media (max-width: 768px) {
      .tachikawa-map:nth-of-type(6) {
        top: calc(38% - 50px);
        left: calc(48% - 21px); } }
  .tachikawa-map:nth-of-type(7) {
    top: calc(47% - 71px);
    left: calc(55% - 30px); }
    @media (max-width: 768px) {
      .tachikawa-map:nth-of-type(7) {
        top: calc(47% - 50px);
        left: calc(55% - 21px); } }
  .tachikawa-map:nth-of-type(8) {
    top: calc(65% - 71px);
    left: calc(46% - 30px); }
    @media (max-width: 768px) {
      .tachikawa-map:nth-of-type(8) {
        top: calc(64% - 50px);
        left: calc(46% - 21px); } }
  .tachikawa-map:nth-of-type(9) {
    top: calc(77% - 71px);
    left: calc(44% - 30px); }
    @media (max-width: 768px) {
      .tachikawa-map:nth-of-type(9) {
        top: calc(78% - 50px);
        left: calc(43% - 21px); } }
  .tachikawa-map:nth-of-type(10) {
    top: calc(68% - 71px);
    left: calc(63% - 30px); }
    @media (max-width: 768px) {
      .tachikawa-map:nth-of-type(10) {
        top: calc(68% - 50px);
        left: calc(63% - 21px); } }
    @media (max-width: 500px) {
      .tachikawa-map:nth-of-type(10) {
        top: calc(68% - 50px);
        left: calc(60% - 21px); } }
  .tachikawa-map:nth-of-type(11) {
    top: calc(47% - 71px);
    left: calc(71% - 30px); }
    @media (max-width: 768px) {
      .tachikawa-map:nth-of-type(11) {
        top: calc(47% - 50px);
        left: calc(71% - 21px); } }
  .tachikawa-map:nth-of-type(12) {
    top: calc(42% - 71px);
    left: calc(80% - 30px); }
    @media (max-width: 768px) {
      .tachikawa-map:nth-of-type(12) {
        top: calc(42% - 50px);
        left: calc(80% - 21px); } }
  .tachikawa-map:nth-of-type(13) {
    top: calc(72% - 71px);
    left: calc(87% - 30px); }
    @media (max-width: 768px) {
      .tachikawa-map:nth-of-type(13) {
        top: calc(72% - 50px);
        left: calc(87% - 21px); } }
  .tachikawa-map:nth-of-type(14) {
    top: calc(91% - 71px);
    left: calc(18.5% - 30px); }
    @media (max-width: 768px) {
      .tachikawa-map:nth-of-type(14) {
        top: calc(91% - 50px);
        left: calc(18.5% - 21px); } }
  .tachikawa-map:hover {
    transform: scale(1.05); }

.tachikawa-map-img {
  width: 100%;
  height: 100%;
  position: relative;
  background-image: url("../images/profile/profile_map_pin.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transition: opacity 0.3s ease; }

.tachikawa-map-text {
  width: 280px;
  position: absolute;
  bottom: 20px;
  left: -110px;
  text-align: center;
  line-height: 1.4em;
  font-feature-settings: "palt";
  padding: 15px 10px;
  opacity: 0;
  transition: opacity 0.3s ease;
  border-radius: 6px;
  border: solid 2px #5e3819;
  background-color: #fff; }
  @media (max-width: 1200px) {
    .tachikawa-map-text {
      width: 200px;
      left: -70px;
      line-height: 1.2em; } }
  @media (max-width: 768px) {
    .tachikawa-map-text {
      width: 120px;
      padding: 10px 5px;
      left: -39px; } }
  @media (max-width: 320px) {
    .tachikawa-map-text {
      width: 100px;
      padding: 8px 3px;
      left: -29px; } }
  .tachikawa-map-text::before {
    content: '';
    position: absolute;
    bottom: -17px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 17px 17px 0;
    border-style: solid;
    border-color: #5e3819 transparent transparent transparent; }
  .tachikawa-map-text::after {
    content: '';
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 15px 15px 0;
    border-style: solid;
    border-color: #fff transparent transparent transparent; }
  .tachikawa-map-text h4 {
    font-weight: bold; }
    @media (max-width: 1200px) {
      .tachikawa-map-text h4 {
        font-size: 15px; } }
    @media (max-width: 320px) {
      .tachikawa-map-text h4 {
        font-size: 14px; } }
  .tachikawa-map-text p {
    padding-top: 10px;
    font-size: 16px; }
    @media (max-width: 1200px) {
      .tachikawa-map-text p {
        font-size: 13px; } }
    @media (max-width: 320px) {
      .tachikawa-map-text p {
        font-size: 12px; } }

/* PCでのホバー効果 */
@media (hover: hover) {
  .profile-scene:hover .profile-scene-img,
  .tachikawa-map:hover .tachikawa-map-img {
    opacity: 0.3; }

  .profile-scene:hover .profile-scene-text,
  .tachikawa-map:hover .tachikawa-map-text {
    opacity: 1; }

  .tachikawa-map:hover {
    overflow: visible;
    z-index: 1; } }
/* スマホでのタップ効果 */
@media (hover: none) {
  .profile-scene.active .profile-scene-img,
  .tachikawa-map.active .tachikawa-map-img {
    opacity: 0.3; }

  .profile-scene.active .profile-scene-text,
  .tachikawa-map.active .tachikawa-map-text {
    opacity: 10; }

  .tachikawa-map.active {
    overflow: visible;
    z-index: 10; } }
/* TACHIHIイベントスケジュール schedule
------------------------------------------------------------*/
.schedule-wrap {
  position: relative;
  padding: 20px 50px 100px 50px;
  background-color: #fff;
  border: solid 2px #5e3819;
  border-radius: 20px; }
  @media (max-width: 768px) {
    .schedule-wrap {
      padding: 20px 5% 100px 5%; } }
  .schedule-wrap .category {
    top: 0;
    left: -60px; }
    @media (max-width: 768px) {
      .schedule-wrap .category {
        left: -50px; } }
    @media (max-width: 500px) {
      .schedule-wrap .category {
        width: 100px;
        height: 26px;
        left: -30px;
        font-size: 13px;
        line-height: 26px; } }
    @media (max-width: 500px) {
      .schedule-wrap .category::before {
        right: -13px;
        height: 13px; } }
    @media (max-width: 500px) {
      .schedule-wrap .category::after {
        right: -13px;
        height: 13px; } }

.schedule-char {
  width: 100%;
  position: absolute;
  top: -162px;
  left: 0;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .schedule-char {
      top: -126px; } }
  @media (max-width: 500px) {
    .schedule-char {
      top: -82px; } }
  .schedule-char img {
    width: 180px;
    height: 160px; }
    @media (max-width: 768px) {
      .schedule-char img {
        width: 140px;
        height: 124px; } }
    @media (max-width: 500px) {
      .schedule-char img {
        width: 90px;
        height: 80px; } }

.schedule-char-02 {
  width: 350px;
  position: absolute;
  bottom: -60px;
  left: -90px; }
  @media (max-width: 1400px) {
    .schedule-char-02 {
      width: 250px;
      bottom: -70px;
      left: -20px; } }
  @media (max-width: 768px) {
    .schedule-char-02 {
      width: 175px;
      left: -2%;
      bottom: -40px; } }
  .schedule-char-02 img {
    width: 100%;
    height: auto; }

.schedule-title {
  padding: 20px 124px;
  margin-bottom: 50px;
  position: relative;
  border-bottom: dotted 2px #e6e6e6; }
  @media (max-width: 768px) {
    .schedule-title {
      padding: 30px 0 20px 0; } }
  .schedule-title h3 {
    font-weight: bold;
    font-size: 30px;
    text-align: center; }
    @media (max-width: 768px) {
      .schedule-title h3 {
        font-size: 26px; } }
    @media (max-width: 500px) {
      .schedule-title h3 {
        font-size: 20px;
        text-align: left; } }

.menu-share {
  display: flex;
  align-items: center;
  position: absolute;
  margin: auto 0;
  right: 0;
  top: 0;
  bottom: 0; }
  .menu-share li {
    margin-left: 16px;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    .menu-share li a {
      width: auto;
      height: 32px;
      padding: 8px 16px;
      border-radius: 21px;
      color: #fff;
      background-color: #5e3819;
      font-size: 14px;
      display: flex;
      justify-content: center;
      align-items: center; }
      @media (max-width: 500px) {
        .menu-share li a {
          padding: 8px 10px; } }
      .menu-share li a:hover {
        background-color: #85b4d6; }
      .menu-share li a img {
        width: 16px;
        height: 16px;
        margin-right: 4px; }
  @media (max-width: 768px) {
    .menu-share {
      margin: 0;
      top: -28px;
      bottom: auto; } }

.schedule-detail {
  margin: 0 50px; }
  @media (max-width: 768px) {
    .schedule-detail {
      margin: 0; } }
  .schedule-detail p {
    margin-bottom: 30px; }
  .schedule-detail .table {
    margin: 50px 0; }

.slider-schedule {
  margin: 0 0 100px 0;
  /* 前後ボタン*/
  /* ドットナビゲーション */ }
  .slider-schedule .slick-prev {
    left: 0; }
    @media (max-width: 1400px) {
      .slider-schedule .slick-prev {
        left: -2%; } }
    @media (max-width: 500px) {
      .slider-schedule .slick-prev {
        left: -4.5%; } }
  .slider-schedule .slick-next {
    right: 0; }
    @media (max-width: 1400px) {
      .slider-schedule .slick-next {
        right: -2%; } }
    @media (max-width: 500px) {
      .slider-schedule .slick-next {
        right: -4.5%; } }
  .slider-schedule .slick-dots {
    bottom: -25px; }
  .slider-schedule .slick-dots li button {
    background-color: #ccc; }
  .slider-schedule .slick-dots li button:hover {
    background-color: #85b4d6; }
  .slider-schedule .slick-dots li.slick-active button {
    background-color: #5e3819; }

.slider-schedule-box {
  margin: 0 10px; }
  @media (max-width: 500px) {
    .slider-schedule-box {
      margin: 0 5px; } }

.slider-schedule-img {
  width: 100%;
  aspect-ratio: 2 / 3;
  /*aspect-ratio: 1 / 1;*/
  overflow: hidden;
  position: relative; }
  .slider-schedule-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    opacity: 0.2;
    transition: opacity .5s; }

.slick-center img {
  opacity: 1; }

/* アーカイブ Archive
------------------------------------------------------------*/
.archive-main {
  height: 400px;
  margin-top: -60px;
  margin-bottom: 60px;
  position: relative;
  z-index: -1;
  background: url("../images/archive/archive_main.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  @media (max-width: 1200px) {
    .archive-main {
      height: 300px; } }
  @media (max-width: 768px) {
    .archive-main {
      margin-top: -50px;
      margin-bottom: 50px;
      height: 200px; } }
  @media (max-width: 500px) {
    .archive-main {
      height: 140px; } }
  .archive-main img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 200px;
    left: 0; }
    @media (max-width: 1200px) {
      .archive-main img {
        top: 160px; } }
    @media (max-width: 768px) {
      .archive-main img {
        top: 100px; } }
    @media (max-width: 500px) {
      .archive-main img {
        top: 80px; } }

/* アーカイブ */
.archive-link {
  margin-bottom: 50px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }
  .archive-link a {
    width: 200px;
    height: 42px;
    margin: 10px;
    display: block;
    background-color: #ccc;
    border-radius: 21px;
    color: #fff;
    line-height: 42px;
    text-align: center; }
    @media (max-width: 768px) {
      .archive-link a {
        width: 80px;
        margin: 5px; } }
    .archive-link a:hover {
      background-color: #85b4d6; }
  .archive-link li.current {
    pointer-events: none; }
    .archive-link li.current a {
      background-color: #5e3819; }

.archive {
  margin-bottom: 10px;
  display: flex;
  flex-wrap: wrap; }
  @media (max-width: 500px) {
    .archive {
      justify-content: space-between; } }
  .archive li {
    width: 31%; }
    @media (max-width: 500px) {
      .archive li {
        width: 48%; } }

.archive-box {
  margin-bottom: 50px; }
  .archive-box:not(:nth-child(3n)) {
    margin-right: 3.5%; }
    @media (max-width: 500px) {
      .archive-box:not(:nth-child(3n)) {
        margin-right: 0; } }
  .archive-box .archive-date {
    margin-top: 10px;
    font-weight: bold; }
  .archive-box .archive-text {
    line-height: 1.6em; }
    @media (max-width: 500px) {
      .archive-box .archive-text {
        font-size: 13px; } }

.archive-img {
  width: 100%;
  /*aspect-ratio: 3 / 2;*/
  aspect-ratio: 1 / 1;
  overflow: hidden;
  position: relative;
  border-radius: 10px; }
  @media (max-width: 768px) {
    .archive-img {
      border-radius: 8px; } }
  .archive-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
  .archive-img:hover img {
    opacity: 0.6; }

/* zoomアイコン */
.zoom {
  width: 42px;
  height: 42px;
  position: absolute;
  bottom: 10px;
  right: 10px; }
  @media (max-width: 500px) {
    .zoom {
      width: 30px;
      height: 30px;
      bottom: 5px;
      right: 5px; } }

/* モーダルポップアップ */
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1000;
  justify-content: center;
  align-items: center;
  isolation: isolate;
  transform: translateZ(0); }
  .modal .modal-content {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
    border-radius: 10px; }
    @media (max-width: 768px) {
      .modal .modal-content {
        border-radius: 8px; } }
    .modal .modal-content.tcg {
      width: 70%;
      max-width: 1000px; }
      @media (max-width: 768px) {
        .modal .modal-content.tcg {
          width: 90%; } }
  .modal .close {
    position: absolute;
    top: 20px;
    right: 20px;
    color: white;
    font-size: 50px;
    font-weight: bold;
    cursor: pointer;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    z-index: 1001; }
    @media (max-width: 500px) {
      .modal .close {
        top: 15px;
        right: 10px; } }

/* おたのしみ　Enjoy
------------------------------------------------------------*/
.lead-char-wrap {
  margin-top: -80px;
  margin-bottom: 50px;
  display: flex;
  justify-content: space-between;
  /* 並び順の変更 */ }
  @media (max-width: 768px) {
    .lead-char-wrap {
      margin-top: -50px;
      margin-bottom: 30px; } }
  @media (max-width: 500px) {
    .lead-char-wrap {
      flex-wrap: wrap; } }
  .lead-char-wrap .lead-char {
    width: 260px;
    display: flex;
    align-items: center;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    @media (max-width: 1200px) {
      .lead-char-wrap .lead-char {
        width: 200px; } }
    @media (max-width: 768px) {
      .lead-char-wrap .lead-char {
        width: 140px; } }
    @media (max-width: 500px) {
      .lead-char-wrap .lead-char {
        width: 40%; } }
  .lead-char-wrap .lead {
    width: calc(100% - 520px);
    margin: 80px 0 0 0;
    padding: 0 10px; }
    @media (max-width: 1200px) {
      .lead-char-wrap .lead {
        width: calc(100% - 400px); } }
    @media (max-width: 768px) {
      .lead-char-wrap .lead {
        width: calc(100% - 280px);
        margin: 50px 0 0 0; } }
    @media (max-width: 500px) {
      .lead-char-wrap .lead {
        width: 100%;
        padding: 0; } }
  .lead-char-wrap img {
    width: 100%;
    height: auto; }
  @media (max-width: 500px) {
    .lead-char-wrap p:nth-child(1) {
      order: 2;
      margin: 10px 0 0 10%; }
    .lead-char-wrap .lead {
      order: 1; }
    .lead-char-wrap p:nth-child(3) {
      order: 3;
      margin: 10px 10% 0 0; } }

/* おたのしみタブメニュー */
.tab-menu {
  margin-bottom: 50px;
  display: flex; }
  @media (max-width: 768px) {
    .tab-menu {
      margin-bottom: 30px; } }
  @media (max-width: 500px) {
    .tab-menu {
      margin-bottom: 10px;
      flex-wrap: wrap;
      justify-content: center; } }
  .tab-menu li {
    flex: 1;
    width: 100%;
    height: 100%;
    position: relative;
    display: block;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    @media (max-width: 500px) {
      .tab-menu li {
        width: 33%;
        margin-bottom: 30px;
        flex: initial; } }
    .tab-menu li::after {
      content: "";
      position: absolute;
      width: 16px;
      height: 16px;
      background: #ccc;
      border-radius: 50%;
      bottom: -20px;
      left: 50%;
      transform: translateX(-50%);
      transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
      @media (max-width: 768px) {
        .tab-menu li::after {
          width: 12px;
          height: 12px;
          bottom: -15px; } }
    .tab-menu li img {
      width: 100%;
      height: auto;
      transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    .tab-menu li:hover::after {
      background: #85b4d6; }
    .tab-menu li:hover img {
      opacity: 0.6; }

.tab-menu li.active {
  pointer-events: none; }
  .tab-menu li.active::after {
    background: #5e3819; }

.tab-content {
  padding: 50px;
  background-color: #fff;
  border: solid 2px #5e3819;
  border-radius: 20px; }
  @media (max-width: 768px) {
    .tab-content {
      padding: 40px 5%; } }
  .tab-content hr {
    margin: 30px 0; }
    @media (max-width: 1400px) {
      .tab-content hr {
        width: 100%; } }
    @media (max-width: 768px) {
      .tab-content hr {
        width: 100%; } }
    @media (max-width: 500px) {
      .tab-content hr {
        width: 100%; } }

.tab-pane {
  display: none; }
  .tab-pane.active {
    display: block;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }

.enjoy-title {
  width: 100%;
  max-width: 424px;
  margin: 0 auto 60px auto; }
  @media (max-width: 768px) {
    .enjoy-title {
      max-width: 340px;
      margin: 0 auto 50px auto; } }
  @media (max-width: 500px) {
    .enjoy-title {
      max-width: 280px;
      margin: 0 auto 40px auto; } }
  .enjoy-title img {
    width: 100%;
    height: auto; }

#tab1-4 .enjoy-title {
  max-width: 480px; }
  @media (max-width: 768px) {
    #tab1-4 .enjoy-title {
      max-width: 400px; } }
  @media (max-width: 500px) {
    #tab1-4 .enjoy-title {
      max-width: 280px; } }

.enjoy-text {
  width: 70%;
  max-width: 290px;
  margin: 50px auto 0 auto; }
  @media (max-width: 768px) {
    .enjoy-text {
      margin: 30px auto 0 auto; } }
  .enjoy-text img {
    width: 100%;
    height: auto; }

/* ギャラリー */
.gallery-dl li {
  width: 100%;
  padding: 30px;
  display: flex;
  justify-content: center; }
  @media (max-width: 500px) {
    .gallery-dl li {
      padding: 30px 0; } }
  @media (max-width: 500px) {
    .gallery-dl li {
      flex-direction: column; } }
  .gallery-dl li:nth-of-type(even) {
    background-color: #f9f9f9;
    border-radius: 10px; }
  .gallery-dl li div {
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
    .gallery-dl li div.gallery-pc {
      width: 44%;
      margin: 0 4%; }
      @media (max-width: 768px) {
        .gallery-dl li div.gallery-pc {
          width: 60%;
          margin: 0 auto; } }
      @media (max-width: 500px) {
        .gallery-dl li div.gallery-pc {
          width: 80%; } }
    .gallery-dl li div.gallery-sp {
      width: 12%;
      margin: 0 12%; }
      @media (max-width: 768px) {
        .gallery-dl li div.gallery-sp {
          width: 16%;
          margin: 0 12%; } }
      @media (max-width: 500px) {
        .gallery-dl li div.gallery-sp {
          width: 80%;
          margin: 20px auto 0 auto; }
          .gallery-dl li div.gallery-sp img {
            width: 40%;
            margin: 0 auto; } }
  .gallery-dl li h4 {
    font-size: 16px;
    font-weight: bold;
    font-feature-settings: "palt"; }
    @media (max-width: 768px) {
      .gallery-dl li h4 {
        font-size: 14px; } }
  .gallery-dl li img {
    width: 100%;
    height: auto;
    border: solid 1px #e6e6e6; }

.tcg-share {
  margin: 0 50px; }
  @media (max-width: 768px) {
    .tcg-share {
      margin: 0; } }
  .tcg-share .table th {
    font-feature-settings: "palt"; }
    .tcg-share .table th .icon-inline {
      margin-left: 0; }
  .tcg-share .table td {
    padding-right: 0; }

.share-title {
  margin: 50px auto 30px auto;
  font-weight: bold;
  font-size: 30px;
  color: #eda29d;
  font-feature-settings: "palt";
  text-align: center; }
  @media (max-width: 768px) {
    .share-title {
      font-size: 26px; } }
  @media (max-width: 500px) {
    .share-title {
      margin: 30px auto 30px auto;
      font-size: 20px; } }

/* ぬりえ */
/* まちがいさがし */
.enjoy-dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .enjoy-dl li {
    width: 36%;
    margin: 0 4%; }
    @media (max-width: 768px) {
      .enjoy-dl li {
        width: 38%; } }
    @media (max-width: 500px) {
      .enjoy-dl li {
        width: 80%;
        margin: 0 auto; } }
    .enjoy-dl li:nth-child(n+3) {
      padding-top: 50px; }
    @media (max-width: 500px) {
      .enjoy-dl li:nth-child(n+2) {
        padding-top: 50px; } }
    .enjoy-dl li img {
      width: 100%;
      height: auto;
      border: solid 1px #e6e6e6; }
  .enjoy-dl .answer {
    padding-top: 10px;
    font-size: 16px;
    text-align: center; }
    @media (max-width: 768px) {
      .enjoy-dl .answer {
        padding-top: 20px;
        font-size: 14px; } }

/* カード */
.tcg {
  margin-bottom: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .tcg li {
    width: 26%;
    margin: 0 2% 30px 2%;
    max-width: 280px; }
    @media (max-width: 500px) {
      .tcg li {
        width: 60%; } }

.tcg-box {
  margin-bottom: 50px; }

.tcg-img {
  position: relative; }
  .tcg-img img {
    width: 100%;
    height: auto; }
  .tcg-img:hover img {
    opacity: 0.6; }

.tcg-present {
  margin: 0 50px; }
  @media (max-width: 768px) {
    .tcg-present {
      margin: 0; } }
  .tcg-present .table td {
    padding-right: 0; }

.present-title {
  margin: 50px auto 30px auto;
  font-weight: bold;
  font-size: 30px;
  color: #eda29d;
  font-feature-settings: "palt";
  text-align: center; }
  @media (max-width: 768px) {
    .present-title {
      font-size: 26px; } }
  @media (max-width: 500px) {
    .present-title {
      margin: 30px auto 30px auto;
      font-size: 20px; } }
  .present-title img {
    width: 30px;
    height: 30px;
    margin: 0 5px -2px 5px;
    display: inline; }
    @media (max-width: 768px) {
      .present-title img {
        width: 24px;
        height: 24px; } }
    @media (max-width: 500px) {
      .present-title img {
        width: 20px;
        height: 20px;
        margin: 0 5px -1px 5px; } }

/* LINEスタンプ */
.stickers-dl-wrap {
  margin: 0 50px;
  display: flex;
  align-items: center; }
  @media (max-width: 768px) {
    .stickers-dl-wrap {
      margin: 0; } }

.stickers-dl {
  width: 50%; }
  @media (max-width: 500px) {
    .stickers-dl {
      width: 100%; } }
  .stickers-dl:nth-child(1) img {
    width: 70%;
    max-width: 240px;
    height: auto;
    margin: 0 15%; }
  @media (max-width: 500px) {
    .stickers-dl:nth-child(1) {
      display: none; } }
  .stickers-dl .sp-block {
    width: 60%;
    margin: 0 auto 30px auto; }
  .stickers-dl:nth-child(2) {
    text-align: center; }
    .stickers-dl:nth-child(2) h4 {
      margin-bottom: 30px;
      font-weight: bold; }
    .stickers-dl:nth-child(2) p:not([class]) {
      font-size: 14px;
      line-height: 1.6em; }
    .stickers-dl:nth-child(2) .qr-code {
      width: 123px;
      height: 123px;
      margin: 0 auto; }
    .stickers-dl:nth-child(2) img {
      width: 100%;
      height: auto; }
  .stickers-dl .common-button {
    margin-top: 30px; }
    @media (max-width: 500px) {
      .stickers-dl .common-button {
        margin-top: 20px; } }

.stickers-title {
  margin-top: 50px;
  padding: 0 30px;
  position: relative;
  display: inline-block; }
  .stickers-title::before, .stickers-title::after {
    content: "";
    position: absolute;
    top: 50%;
    height: 25px;
    width: 2px;
    border-radius: 1px;
    background-color: #5e3819; }
  .stickers-title::before {
    left: 10px;
    transform: translateY(-50%) rotate(-45deg); }
  .stickers-title::after {
    right: 10px;
    transform: translateY(-50%) rotate(45deg); }

/* おしらせ News
------------------------------------------------------------*/
.news-wrap {
  position: relative; }

.news-list {
  padding-bottom: 60px; }
  .news-list li {
    padding: 15px 0;
    border-bottom: dotted 2px #e6e6e6; }
  .news-list a {
    display: flex;
    flex-wrap: wrap;
    background: url("../images/common/arrow-right.svg") no-repeat;
    background-size: 10px 18px;
    background-position: right center; }
    .news-list a .news-date,
    .news-list a p:first-child {
      padding-right: 10px;
      font-weight: bold; }
    .news-list a .news-new {
      width: 50px;
      height: 34px;
      margin-top: -4px; }
      .news-list a .news-new img {
        width: 100%;
        height: auto; }
    .news-list a .news-text {
      width: 100%;
      padding-right: 30px;
      line-height: 1.6em; }
    .news-list a:hover {
      opacity: 0.6; }

/* 紙（ピン） */
.news-pin {
  width: 100%;
  position: absolute;
  top: -30px;
  left: 0;
  display: flex;
  justify-content: center;
  z-index: 1; }
  .news-pin img {
    width: 40px;
    height: 50px; }

/* 紙（中間） */
.news-paper {
  position: relative;
  padding: 35px 50px 0 50px;
  background-image: url("../images/news/news_paper_middle.svg");
  background-repeat: repeat-y;
  background-size: 100% auto;
  background-position: top center; }
  @media (max-width: 768px) {
    .news-paper {
      padding: 20px 5% 0 5%;
      background-image: url("../images/news/news_paper_middle_tb.svg"); } }
  @media (max-width: 500px) {
    .news-paper {
      background-image: url("../images/news/news_paper_middle_sp.svg"); } }
  .news-paper::before {
    content: "";
    position: absolute;
    top: -2px;
    left: 0;
    width: calc(50% - 20px);
    height: 2px;
    background-color: #5e3819; }
  .news-paper::after {
    content: "";
    position: absolute;
    top: -2px;
    right: 0;
    width: calc(50% - 20px);
    height: 2px;
    background-color: #5e3819; }

/* 紙（めくれ） */
.news-paper-bottom img:not(:nth-child(1)) {
  display: none; }
@media (max-width: 768px) {
  .news-paper-bottom img:nth-child(1) {
    display: none; }
  .news-paper-bottom img:nth-child(2) {
    display: block; } }
@media (max-width: 500px) {
  .news-paper-bottom img:nth-child(2) {
    display: none; }
  .news-paper-bottom img:nth-child(3) {
    display: block; } }

/* お知らせ詳細 */
.news-title {
  padding-bottom: 20px;
  margin-bottom: 50px;
  border-bottom: dotted 2px #e6e6e6; }
  .news-title .news-date {
    padding-bottom: 10px;
    font-weight: bold;
    line-height: 1.4em; }
    .news-title .news-date .year {
      font-size: 16px; }
    .news-title .news-date .date {
      font-size: 30px; }
      @media (max-width: 768px) {
        .news-title .news-date .date {
          font-size: 26px; } }
      @media (max-width: 500px) {
        .news-title .news-date .date {
          font-size: 20px; } }
  .news-title h3 {
    font-weight: bold;
    font-size: 30px;
    text-align: center; }
    @media (max-width: 768px) {
      .news-title h3 {
        font-size: 26px; } }
    @media (max-width: 500px) {
      .news-title h3 {
        font-size: 20px;
        text-align: left; } }

.news-detail {
  margin: 0 50px; }
  @media (max-width: 768px) {
    .news-detail {
      margin: 0; } }
  .news-detail p {
    margin-bottom: 30px; }
  .news-detail .table {
    margin: 50px 0; }

/* おといあわせ Contact
------------------------------------------------------------*/
/* フォームパーツ */
input[type="submit"],
input[type="reset"],
input[type="button"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

input[type="submit"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="reset"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input {
  width: 100%;
  height: 2.5em;
  margin: 5px 0;
  padding: 0 0.5em;
  border: solid 1px #e6e6e6;
  border-radius: 0;
  background: #fff; }

textarea {
  width: 100%;
  height: 10em;
  margin: 5px 0;
  padding: 0 0.5em;
  border: solid 1px #e6e6e6;
  display: block; }

/* セレクトボックス */
select {
  width: 100%;
  height: 2.5em;
  padding: 0 0.5em;
  position: relative;
  border: solid 1px #e6e6e6;
  background-color: rgba(255, 255, 255, 0);
  appearance: none;
  z-index: 1;
  color: #000;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.selectbox {
  width: 100%;
  margin: 5px 0;
  display: inline-flex;
  align-items: center;
  position: relative; }
  .selectbox span {
    width: 100%; }
  .selectbox::after {
    content: "";
    width: 20px;
    height: 12px;
    display: inline-block;
    background: url("../images/common/arrow-down.svg");
    background-size: 20px auto;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    position: absolute;
    z-index: -1; }
  .selectbox::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #fff;
    top: 0;
    left: 0;
    position: absolute;
    z-index: -2; }

select.select-text {
  color: #999999; }

::placeholder {
  color: #999999; }

/* チェックボックス */
.checkbox {
  width: 2em;
  height: 2em;
  margin-right: 0.5em;
  position: relative;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  vertical-align: -0.9em; }

.checkbox:checked::before {
  width: 10px;
  height: 20px;
  top: 4px;
  left: 12px;
  transform: rotate(50deg);
  border-right: 3px solid #5e3819;
  border-bottom: 3px solid #5e3819;
  content: '';
  position: absolute; }
  @media (max-width: 768px) {
    .checkbox:checked::before {
      width: 9px;
      height: 18px; } }

/* フォームボタン */
.contact-button {
  width: 300px;
  margin: 60px auto 0 auto;
  position: relative; }
  @media (max-width: 768px) {
    .contact-button {
      width: 260px;
      margin: 50px auto 0 auto; } }
  .contact-button input {
    height: 50px;
    margin: 0;
    padding: 10px 20px;
    color: #fff;
    font-weight: bold;
    line-height: 1.2em;
    background: #5e3819;
    border-radius: 25px;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
    @media (max-width: 768px) {
      .contact-button input {
        height: 42px;
        border-radius: 21px; } }
    .contact-button input:hover {
      background: #85b4d6; }
  .contact-button::after {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    background: #d3e4f5;
    border-radius: 50%;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    z-index: 100; }
    @media (max-width: 768px) {
      .contact-button::after {
        width: 12px;
        height: 12px;
        right: 12px; } }

input:disabled {
  background: #ccc;
  pointer-events: none; }
  input:disabled:hover {
    background: #ccc; }

.contact-form .border-box {
  max-width: 900px;
  margin: 0 auto; }
  .contact-form .border-box br {
    display: none; }

.contact-table {
  width: 100%;
  margin: 30px 0; }
  .contact-table tr:not(:last-child) th {
    border-bottom: solid 1px #f2f2f2; }
    @media (max-width: 768px) {
      .contact-table tr:not(:last-child) th {
        border-bottom: none; } }
  .contact-table tr:not(:last-child) td {
    border-bottom: solid 1px #f2f2f2; }
  @media (max-width: 768px) {
    .contact-table tr {
      display: flex;
      flex-direction: column; } }
  .contact-table th {
    width: 25%;
    padding: calc(15px + 0.5em) 0;
    font-weight: bold;
    text-align: left;
    vertical-align: top; }
    @media (max-width: 768px) {
      .contact-table th {
        width: 100%;
        padding: 15px 0 0 0; } }
  .contact-table td {
    width: 75%;
    padding: 15px 0; }
    @media (max-width: 768px) {
      .contact-table td {
        width: 100%;
        padding: 0 0 15px 0; } }

.wpcf7-not-valid-tip {
  color: #ea3d00;
  font-size: 14px;
  font-weight: bold;
  line-height: 1em; }

.selectbox .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  position: absolute; }

.wpcf7 form.invalid .wpcf7-response-output {
  border: solid 1px #ea3d00;
  background-color: #fcebef;
  color: #ea3d00; }

.wpcf7 form.sent .wpcf7-response-output {
  border: solid 1px #85b4d6;
  background-color: #d3e4f5; }

/* プライバシーポリシー PrivacyPolicy
------------------------------------------------------------*/
.privacy-wrap {
  padding: 50px;
  background-color: rgba(255, 255, 255, 0.8);
  /*background-color: $base-color;*/
  /*border: solid 2px $text-color;*/
  border-radius: 20px; }
  @media (max-width: 768px) {
    .privacy-wrap {
      padding: 20px 5%; } }
  .privacy-wrap h3 {
    padding-left: 1em;
    text-indent: -1em;
    font-weight: bold;
    font-size: 22px; }
    .privacy-wrap h3:first-child {
      margin: 10px auto 30px auto; }
    .privacy-wrap h3:not(:first-child) {
      margin: 50px auto 30px auto; }
    @media (max-width: 768px) {
      .privacy-wrap h3 {
        font-size: 20px; } }
    @media (max-width: 500px) {
      .privacy-wrap h3 {
        margin: 30px auto 30px auto;
        font-size: 18px; } }
  .privacy-wrap li {
    margin-bottom: 20px; }

/*
------------------------------------------------------------
------------------------------------------------------------
調整
------------------------------------------------------------
------------------------------------------------------------*/
.none-top {
  margin-top: 0 !important;
  padding-top: 0 !important; }

.none-bottom {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important; }

/*PCとSPの非表示指示*/
@media screen and (min-width: 769px) {
  .pc-none {
    display: none !important; } }
@media (max-width: 768px) {
  .sp-none {
    display: none !important; } }

.sp-block {
  display: none; }
  @media (max-width: 500px) {
    .sp-block {
      display: block; } }

@media (max-width: 500px) {
  .only-sp-none {
    display: none !important; } }
