@media print{
@page {
  margin: 10mm;
  size: 210mm 297mm; /* A4縦サイズの場合 */
}
	
/* 全体設定 */
  body {
    -webkit-print-color-adjust: exact; /* 印刷時でも背景色や背景画像を表示 */
    width: 1280px; /* 印刷時の全ページ幅を統一（px数値はお好みで） */
    zoom: 0.8 !important; /* なるべく多くのブラウザで切れないようにするため */
  }	

body {
  color: #111;
  line-height: 1.8; }
  @media screen and (max-width: 600px) {
    body {
      line-height: 1.6; } }

#container {
  background: #324a42 url("../img/bg_kokuban.jpg") bottom center no-repeat;
  background-size: cover;
  color: #40220F;
  box-shadow: inset 0 8px 10px -8px rgba(0, 0, 0, 0.8); }

.bg__kokuban--header {
  background: #885005;
  height: 20px;
  width: 100%;
  display: block;
  border-top: 3px solid #cfb99b;
  border-bottom: 1px solid #444; }
  @media screen and (max-width: 600px) {
    .bg__kokuban--header {
      border-top: 2px solid #cfb99b;
      height: 5px; } }

.bg__kokuban--footer {
  background: #324a42; }
  .bg__kokuban--footer img {
    width: 100%;
    height: auto; }

.second__contents .bg__kokuban--header {
  margin: -10px 0 0; }
  .second__contents .bg__kokuban--header img {
    width: 100%;
    height: auto; }

main {
  margin: 0 0 -20px; }

.contents {
  max-width: 1000px;
  padding: 50px 0;
  margin: 0 auto; }

p {
  margin: 0 0 30px; }
  @media screen and (max-width: 600px) {
    p {
      margin: 0 0 20px; } }
  p .indentfront {
    text-indent: -1em;
    padding-left: 2em;
    padding-bottom: 0 !important;
    margin: 0 0 0 1em !important; }

a {
  color: #40220F;
  transition: all 0.3s; }

	/*
    a:hover {
      opacity: 0.5;
      transition: all 0.3s;
	  @include mq(medium, max) {
		 opacity: 1 !important;
	  }
    }*/
.en {
  font-family: Raleway, sans-serif;
  font-style: normal;
  font-weight: 500; }

.nb {
  font-family: Lato, sans-serif;
  font-style: normal; }

.btn__reserve {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 999;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s; }
  @media screen and (max-width: 768px) {
    .btn__reserve {
      bottom: 15px;
      right: 10px; }
      .btn__reserve img {
        width: 140px;
        height: auto; } }
  @media screen and (max-width: 600px) {
    .btn__reserve {
      bottom: 15px;
      right: 10px;
      display: none; }
      .btn__reserve img {
        width: 80px;
        height: auto; } }

.btn__reserve:hover {
  bottom: 50px;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s; }

.waku__pink {
  border: 10px solid #ea679c;
  border-radius: 15px; }
  @media screen and (max-width: 768px) {
    .waku__pink {
      border: 6px solid #ea679c;
      border-radius: 10px; } }
  @media screen and (max-width: 600px) {
    .waku__pink {
      border: 3px solid #ea679c;
      border-radius: 10px; } }
  .waku__pink .main__ttl {
    color: #ea679c; }

.waku__blue {
  border: 10px solid #52c1e6;
  border-radius: 15px; }
  @media screen and (max-width: 768px) {
    .waku__blue {
      border: 6px solid #52c1e6;
      border-radius: 10px; } }
  @media screen and (max-width: 600px) {
    .waku__blue {
      border: 3px solid #52c1e6;
      border-radius: 10px; } }
  .waku__blue .main__ttl {
    color: #52c1e6; }

.waku__yellow {
  border: 10px solid #FED60B;
  border-radius: 15px; }
  @media screen and (max-width: 768px) {
    .waku__yellow {
      border: 6px solid #FED60B;
      border-radius: 10px; } }
  @media screen and (max-width: 600px) {
    .waku__yellow {
      border: 3px solid #FED60B;
      border-radius: 10px; } }
  .waku__yellow .main__ttl {
    color: #FED60B; }

.waku__green {
  border: 10px solid #69b94a;
  border-radius: 15px; }
  @media screen and (max-width: 768px) {
    .waku__green {
      border: 6px solid #69b94a;
      border-radius: 10px; } }
  @media screen and (max-width: 600px) {
    .waku__green {
      border: 3px solid #69b94a;
      border-radius: 10px; } }
  .waku__green .main__ttl {
    color: #69b94a; }

.waku__orenge {
  border: 10px solid #f5aa29;
  border-radius: 15px; }
  @media screen and (max-width: 768px) {
    .waku__orenge {
      border: 6px solid #f5aa29;
      border-radius: 10px; } }
  @media screen and (max-width: 600px) {
    .waku__orenge {
      border: 3px solid #f5aa29;
      border-radius: 10px; } }
  .waku__orenge .main__ttl {
    color: #f5aa29; }

.waku__inner {
  padding: 50px; }
  @media screen and (max-width: 768px) {
    .waku__inner {
      padding: 30px; } }
  @media screen and (max-width: 600px) {
    .waku__inner {
      padding: 15px; } }

.fc__orenge {
  color: #ea9326; }

.fc__purple {
  color: #c64f8f; }

.fc__yellow {
  color: #e9e32f; }

.fc__green {
  color: #3ca852; }

.fc__blue {
  color: #4491c3; }

.fc__lightblue {
  color: #6dbfd0; }

.fc__lightpurple {
  color: #b28abd; }

.fc__red {
  color: #d8222a; }

.fc__lightgreen {
  color: #a0c23e; }

.main__ttl--header {
  display: none; }

	/*

    header
    -----------------------------------*/
header {
  position: absolute;
  z-index: 9999;
  width: 100%;
  height: 100px;
  top: 0; }
  @media screen and (max-width: 1180px) {
    header {
      height: 80px; } }
  @media screen and (max-width: 600px) {
    header {
      height: 55px; } }
  header .header__logo {
    position: absolute;
    top: 30px;
    left: 20px;
    font-weight: 900;
    color: #85B22C;
    font-size: 1.8rem;
    line-height: 1.5; }
    header .header__logo a {
      text-decoration: none; }
    header .header__logo img {
      width: 250px !important;
      height: auto; }
    @media screen and (max-width: 1180px) {
      header .header__logo {
        top: 10px;
        left: 20px; }
        header .header__logo img {
          width: 160px;
          height: auto; } }
    @media screen and (max-width: 600px) {
      header .header__logo {
        top: 5px;
        left: 15px;
        width: auto; }
        header .header__logo img {
          width: 80px !important;
          height: auto; } }
  header .top__logo {
    top: -300px;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s; }
  header nav {
    position: fixed;
    top: 0;
    background: #40220F;
    height: 100vh;
    padding: 70px;
    right: -100%; }
    @media screen and (max-width: 600px) {
      header nav {
        top: 0;
        right: -100%;
        z-index: 99;
        width: 100%;
        padding: 0; } }
  @media screen and (max-width: 600px) {
    header nav ul {
      display: block;
      width: 100%;
      height: 100vh;
      padding: 90px 50px 0;
      box-sizing: border-box; } }
  header nav ul li {
    margin: 0 0 15px;
    opacity: 0;
    transition: 2s;
    				/*a::after{
    				  position: absolute;
    				  bottom: 1px;
    				  left: 0;
    				  content: '';
    				  width: 100%;
    				  height: 2px;
    				  background: #f5a517;
    				  opacity: 0;
    				  visibility: hidden;
    				  transition: .3s;
    					@include mq(small, max) {
    						height: 0;
    					}
    				}
    
    				a:hover::after{
    				  bottom: -8px;
    				  opacity: 1;
    				  visibility: visible;
    					@include mq(small, max) {
    						bottom: 0;
    					}
    				}*/ }
    @media screen and (max-width: 768px) {
      header nav ul li {
        width: 100%;
        display: block;
        text-align: left;
        margin: 0 0 20px; } }
    @media screen and (max-width: 600px) {
      header nav ul li {
        width: 100%;
        display: block;
        text-align: left;
        margin: 0 0 20px; } }
    header nav ul li a {
      color: #fff;
      font-size: 1.8rem;
      text-decoration: none;
      position: relative;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        header nav ul li a {
          font-size: 1.8rem;
          font-weight: 400;
          text-align: left; } }
      @media screen and (max-width: 600px) {
        header nav ul li a {
          font-size: 1.8rem;
          font-weight: 400;
          text-align: left; } }
    header nav ul li a:hover {
      color: #B38B61;
      opacity: 1 !important; }

.fadenav {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.3s;
  -ms-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-name: fuwatnav;
  -ms-animation-name: fuwatnav;
  animation-name: fuwatnav;
  visibility: visible !important;
  animation-timing-function: ease;
  animation-delay: 0.3s; }

@-webkit-keyframes fuwatnav {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }
    /*

    footer
    -----------------------------------*/
.footer__img {
  margin: 0 0 -1px; }

.footer__reserve {
  display: none; }
  @media screen and (max-width: 600px) {
    .footer__reserve {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      display: block;
      z-index: 999; }
      .footer__reserve a {
        width: 100%;
        display: block;
        padding: 20px 0;
        text-align: center;
        background: #FEE40B;
        color: #40220F;
        font-weight: bold;
        text-decoration: none;
        font-size: 1.8rem; }
        .footer__reserve a span {
          background: url("../img/icon_reserve.svg") center left no-repeat;
          background-size: 30px auto;
          padding: 10px 0 10px 35px; } }

footer {
  margin: 0;
  padding: 50px 0 25px;
  background: #40220F url("../img/bg_wood.jpg");
  overflow: hidden;
  text-align: center;
  position: relative;
  z-index: 10;
  color: #fff; }
  @media screen and (max-width: 1280px) {
    footer {
      padding: 50px 50px 30px; } }
  @media screen and (max-width: 768px) {
    footer {
      padding: 50px 30px 30px; } }
  @media screen and (max-width: 600px) {
    footer {
      padding: 0px 25px 80px;
      background: #40220F url("../img/bg_wood.jpg"); } }
  @media screen and (max-width: 600px) {
    footer .footer__inner {
      padding: 30px 0 0; } }
  footer .footer__sns a {
    padding: 0 5px; }
  footer .footer__sns--ttl {
    font-family: 'Ultra', serif;
    font-weight: 400;
    font-size: 3.0rem;
    padding: 0 0 30px; }
    @media screen and (max-width: 600px) {
      footer .footer__sns--ttl {
        font-size: 1.8rem; } }
    footer .footer__sns--ttl a {
      text-decoration: none;
      color: #fff; }
  footer .footer__info01 {
    max-width: 1180px;
    margin: 0 auto 30px;
    display: flex;
    justify-content: flex-start; }
    @media screen and (max-width: 600px) {
      footer .footer__info01 {
        display: block;
        margin: 0 auto -20px; } }
    footer .footer__info01--item {
      width: 33%;
      border-right: 1px solid #fff;
      text-align: left;
      padding: 0 30px;
      box-sizing: border-box; }
      @media screen and (max-width: 600px) {
        footer .footer__info01--item {
          width: 100%;
          border: none;
          padding: 0 0 20px; } }
      footer .footer__info01--item h4 {
        font-size: 1.8rem; }
        @media screen and (max-width: 600px) {
          footer .footer__info01--item h4 {
            font-size: 1.6rem; } }
      footer .footer__info01--item p {
        font-size: 1.4rem;
        margin: 0; }
        @media screen and (max-width: 600px) {
          footer .footer__info01--item p {
            font-size: 1.3rem; } }
      footer .footer__info01--item a {
        color: #fff; }
    footer .footer__info01--item:first-child {
      border-left: 1px solid #fff; }
      @media screen and (max-width: 600px) {
        footer .footer__info01--item:first-child {
          border: none;
          padding: 0 0 0px; } }
  footer .footer__info02 {
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      footer .footer__info02 {
        display: flex;
        flex-wrap: wrap;
        margin: 0; } }
    @media screen and (max-width: 600px) {
      footer .footer__info02 {
        display: block; } }
    footer .footer__info02--item {
      width: 33%;
      text-align: left;
      padding: 0 30px 0 0;
      box-sizing: border-box; }
      @media screen and (max-width: 600px) {
        footer .footer__info02--item {
          width: 100%;
          padding: 0; } }
      footer .footer__info02--item h4 {
        font-size: 1.8rem; }
        @media screen and (max-width: 600px) {
          footer .footer__info02--item h4 {
            font-size: 1.4rem; } }
      footer .footer__info02--item p {
        font-size: 1.4rem;
        margin: 0; }
        @media screen and (max-width: 600px) {
          footer .footer__info02--item p {
            font-size: 1.3rem; } }
      footer .footer__info02--item a {
        color: #fff; }
    footer .footer__info02--item:first-child {
      width: 30%; }
      @media screen and (max-width: 1180px) {
        footer .footer__info02--item:first-child {
          width: 35%; } }
      @media screen and (max-width: 768px) {
        footer .footer__info02--item:first-child {
          width: 40%; } }
      @media screen and (max-width: 600px) {
        footer .footer__info02--item:first-child {
          width: 100%;
          padding: 0 0 20px; } }
    footer .footer__info02--item:nth-child(2) {
      width: 40%;
      padding: 35px 30px 0 0; }
      @media screen and (max-width: 1180px) {
        footer .footer__info02--item:nth-child(2) {
          width: 45%; } }
      @media screen and (max-width: 768px) {
        footer .footer__info02--item:nth-child(2) {
          width: 60%;
          padding: 0 0 30px; } }
      @media screen and (max-width: 600px) {
        footer .footer__info02--item:nth-child(2) {
          width: 100%;
          padding: 0 0 0px; } }
    footer .footer__info02--item:last-child {
      width: 30%;
      padding: 35px 30px 0 0; }
      @media screen and (max-width: 768px) {
        footer .footer__info02--item:last-child {
          width: 100%;
          padding: 30px 0 0; } }
  footer .sns__box {
    display: flex;
    justify-content: center;
    margin: 65px auto 0; }
    @media screen and (max-width: 600px) {
      footer .sns__box {
        width: 100%;
        display: block; } }
  footer .footer__bottom--nav {
    margin: 50px 0 0; }
    footer .footer__bottom--nav a {
      color: #fff;
      font-size: 1.4rem;
      margin: 0 10px;
      text-decoration: none; }
      @media screen and (max-width: 600px) {
        footer .footer__bottom--nav a {
          display: block;
          text-align: left;
          padding: 0 0 10px;
          margin: 0;
          font-size: 1.3rem; } }
  footer .copy {
    margin: 20px 0 0;
    font-size: 1.1rem; }
    @media screen and (max-width: 600px) {
      footer .copy {
        margin: 30px 0 0;
        font-size: 0.8rem !important; } }
    footer .copy a {
      color: #fff; }

a.topBtn {
  position: fixed;
  bottom: 200px;
  right: 10px;
  display: block;
  width: 13px;
  height: 135px;
  padding: 15px;
  z-index: 999;
  display: none;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s; }
  @media screen and (max-width: 768px) {
    a.topBtn {
      bottom: 150px;
      right: 10px; } }
  @media screen and (max-width: 600px) {
    a.topBtn {
      right: 0;
      bottom: 70px;
      width: 10px;
      height: 90px; } }
  a.topBtn img {
    width: 100%;
    height: auto; }

a:hover.topBtn {
  bottom: 215px;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  -webkit-transition: all 0.2s;
  transition: all 0.2s; }
  @media screen and (max-width: 768px) {
    a:hover.topBtn {
      bottom: 150px; } }
  @media screen and (max-width: 600px) {
    a:hover.topBtn {
      bottom: 70px; } }

.attention__list {
  margin: 0 0 30px; }
  .attention__list li {
    font-size: 1.3rem;
    padding-left: 1.0em;
    text-indent: -1.0em; }
    @media screen and (max-width: 600px) {
      .attention__list li {
        font-size: 1.1rem; } }
  .attention__list strong {
    font-size: 1.6rem;
    background: linear-gradient(transparent 60%, #fffa9f 60%); }
    @media screen and (max-width: 600px) {
      .attention__list strong {
        font-size: 1.3rem; } }

.line__marker {
  background: linear-gradient(transparent 60%, #fffa9f 60%); }

/*

 loop anime
-----------------------------------*/
.loop {
  overflow: hidden; }

.loop__box {
  display: flex;
  width: 100vw;
  padding-top: 10px;
  padding-bottom: 10px; }

.loop__item {
  flex: 0 0 auto;
  font-size: 12.0rem;
  white-space: nowrap;
  padding-right: 25px;
  padding-left: 25px;
  color: #B38B61;
  font-family: 'Ultra', serif;
  font-weight: 400;
  line-height: 1.0;
  opacity: 0.4; }
  @media screen and (max-width: 768px) {
    .loop__item {
      font-size: 8.0rem; } }
  @media screen and (max-width: 600px) {
    .loop__item {
      font-size: 4.0rem; } }

.loop__item:nth-child(odd) {
  animation: loop 50s -25s linear infinite; }

.loop__item:nth-child(even) {
  animation: loop2 50s linear infinite; }

@keyframes loop {
  0% {
    transform: translateX(100%); }
  to {
    transform: translateX(-100%); } }
@keyframes loop2 {
  0% {
    transform: translateX(0); }
  to {
    transform: translateX(-200%); } }
/*

 kv
-----------------------------------*/
.kv {
  width: 100%;
  overflow: hidden;
  position: relative;
  background: url("../img/kv_01.jpg") top center no-repeat; }
  .kv__img {
    width: 100%; }
    .kv__img img {
      width: 100%;
      height: auto; }

.kv__logo {
  width: 990px !important;
  height: auto;
  position: absolute;
  z-index: 999;
  top: 4%;
  left: 50%;
  transform: translate(-50%, 0%);
  -webkit-transform: translate(-50%, 0%);
  -ms-transform: translate(-50%, 0%); }
  @media screen and (max-width: 600px) {
    .kv__logo {
      display: none; } }
  .kv__logo img {
    width: 100%;
    height: auto; }

.kv__kokuban {
  width: 1200px;
  margin: 1000px auto 0; }
  .kv__kokuban img {
    width: 100%;
    height: auto; }

.kv__anime {
  animation-name: fadeIn;
  -webkit-animation-name: fadeIn;
  animation-duration: 0.6s;
  -webkit-animation-duration: 0.6s;
  animation-timing-function: ease-in-out;
  -webkit-animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  visibility: visible;
  	/*opacity: 0;
  	-moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;*/ }

@keyframes fadeIn {
  0% {
    transform: scale(0);
    opacity: 0.0; }
  50% {
    transform: scale(2); }
  70% {
    transform: scale(0.9);
    opacity: 1; }
  90% {
    transform: scale(1.1);
    opacity: 1; }
  100% {
    transform: scale(1);
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    -webkit-transform: scale(0);
    opacity: 0.0; }
  50% {
    -webkit-transform: scale(2); }
  70% {
    -webkit-transform: scale(0.9);
    opacity: 1; }
  90% {
    -webkit-transform: scale(1.1);
    opacity: 1; }
  100% {
    -webkit-transform: scale(1);
    opacity: 1; } }
/* ローディングアイコン設定 */
#loader-bg {
  position: fixed;
  width: 100%;
  height: 100lvh;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 99999; }

#loading {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background: #dc0000 url("../img/loading_bg.jpg") top center no-repeat;
  background-size: cover;
  z-index: 99998;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 600px) {
    #loading {
      background: #dc0000 url("../img/loading_bg_sp.jpg") top center no-repeat;
      background-size: cover;
      width: 100%;
      height: 100vh; } }
  #loading .loading__img {
    width: 100%;
    height: 100%; }

@keyframes fadeIn {
  0% {
    transform: scale(0);
    opacity: 0.0; }
  50% {
    transform: scale(2); }
  70% {
    transform: scale(0.9);
    opacity: 1; }
  90% {
    transform: scale(1.1);
    opacity: 1; }
  100% {
    transform: scale(1);
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    -webkit-transform: scale(0);
    opacity: 0.0; }
  50% {
    -webkit-transform: scale(2); }
  70% {
    -webkit-transform: scale(0.9);
    opacity: 1; }
  90% {
    -webkit-transform: scale(1.1);
    opacity: 1; }
  100% {
    -webkit-transform: scale(1);
    opacity: 1; } }
/* swiper */
.swiper-slide {
  height: 100%;
  width: 100%; }

.topslide01 {
  background: url("../img/kv_01.jpg") top center no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (max-width: 600px) {
    .topslide01 {
      background: url("../img/kv_01_sp.jpg") top center no-repeat;
      background-size: cover;
      display: none; } }

  /*.topslide02 {
    background: url("../img/slider_01.jpg")top center no-repeat;
    background-size: cover;
	@include mq(small, max) {
		background: url("../img/slider_01_sp.jpg")top center no-repeat;
    	background-size: cover;
	 }  
  }
  .topslide03 {
    background: url("../img/slider_02.jpg")top center no-repeat;
    background-size: cover;
	@include mq(small, max) {
		background: url("../img/slider_02_sp.jpg")top center no-repeat;
    	background-size: cover;
	 }   
  }
  .topslide04 {
    background: url("../img/slider_03.jpg")top center no-repeat;
    background-size: cover;
	@include mq(small, max) {
		background: url("../img/slider_03_sp.jpg")top center no-repeat;
    	background-size: cover;
	 }   
  }
  .topslide05 {
    background: url("../img/slider_04.jpg")top center no-repeat;
    background-size: cover;
	@include mq(small, max) {
		background: url("../img/slider_04_sp.jpg")top center no-repeat;
    	background-size: cover;
	 }   
  }
  .topslide06 {
    background: url("../img/slider_05.jpg")top center no-repeat;
    background-size: cover;
	@include mq(small, max) {
		background: url("../img/slider_05_sp.jpg")top center no-repeat;
    	background-size: cover;
	 }   
  }

.topslide07 {
    background: url("../img/slider_06.jpg")top center no-repeat;
    background-size: cover;
	@include mq(small, max) {
		background: url("../img/slider_06_sp.jpg")top center no-repeat;
    	background-size: cover;
	 }   
  }

*/
.inner__box {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 0 30px;
  /*padding:0 0 100px;*/
  position: relative; }
  @media screen and (max-width: 1280px) {
    .inner__box {
      margin: 0 50px; } }
  @media screen and (max-width: 768px) {
    .inner__box {
      margin: 0 50px; } }
  @media screen and (max-width: 600px) {
    .inner__box {
      padding: 0 0 15px;
      margin: 0 20px; } }

h2.main__ttl {
  font-size: 6.0rem;
  font-weight: 900;
  line-height: 1.0;
  text-align: left;
  color: #40220F;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  padding: 0;
  position: relative; }
  @media screen and (max-width: 768px) {
    h2.main__ttl {
      font-size: 4rem; } }
  @media screen and (max-width: 600px) {
    h2.main__ttl {
      font-size: 3rem;
      padding: 0 0 5px; } }

@media screen and (max-width: 600px) {
  h2.main__ttl--qa {
    font-size: 2.5rem;
    padding: 0 0 5px; } }

.main__ttl--head {
  padding: 20px 60px 35px; }
  @media screen and (max-width: 768px) {
    .main__ttl--head {
      padding: 15px 20px 10px; } }
  @media screen and (max-width: 600px) {
    .main__ttl--head {
      padding: 10px 10px 10px; } }

/*
h2.main__ttl:before {
  content: "";
  display: inline-block;
  position: absolute;
  top:50px;
  left:40px;
  width: 300px;
  height:50px;
  background-image: url("../img/ttl_left.svg");
  background-size: 100% auto;
  background-repeat: no-repeat;
  z-index: 99;
}

h2.main__ttl:after {
  content: "";
  display: inline-block;
  position: absolute;
  top:50px;
  right:40px;
  width: 300px;
  height:50px;
  background-image: url("../img/ttl_right.svg");
  background-size: 100% auto;
  background-repeat: no-repeat;
  z-index: 99;
}


h2.main__ttl--asobi:before {
  content: "";
  display: inline-block;
  position: absolute;
  top:50px;
  left:40px;
  width:250px;
  height:50px;
  background-image: url("../img/ttl_left.svg");
  background-size: 100% auto;
  background-repeat: no-repeat;
  z-index: 99;
}

h2.main__ttl--asobi:after {
  content: "";
  display: inline-block;
  position: absolute;
  top:50px;
  right:40px;
  width:250px;
  height:50px;
  background-image: url("../img/ttl_right.svg");
  background-size: 100% auto;
  background-repeat: no-repeat;
  z-index: 99;
}


h2.main__ttl--qa:before {
  content: "";
  display: inline-block;
  position: absolute;
  top:50px;
  left:30px;
  width:200px;
  height:50px;
  background-image: url("../img/ttl_left.svg");
  background-size: 100% auto;
  background-repeat: no-repeat;
  z-index: 99;
}

h2.main__ttl--qa:after {
  content: "";
  display: inline-block;
  position: absolute;
  top:50px;
  right:30px;
  width:200px;
  height:50px;
  background-image: url("../img/ttl_right.svg");
  background-size: 100% auto;
  background-repeat: no-repeat;
  z-index: 99;
}



*/
h2.main__ttl--health {
  font-size: 3.6rem;
  font-weight: 900;
  margin: 0 0 30px;
  line-height: 1.1;
  text-align: left;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  padding: 60px 0 0; }
  @media screen and (max-width: 1180px) {
    h2.main__ttl--health {
      font-size: 2.966vw;
      padding: 4.237vw 0 0;
      height: 11.864vw; } }
  @media screen and (max-width: 768px) {
    h2.main__ttl--health {
      font-size: 4.333vw;
      margin: 0 0 20px;
      padding: 6vw 0 0;
      height: 19vw; } }
  @media screen and (max-width: 600px) {
    h2.main__ttl--health {
      font-size: 4.333vw;
      padding: 5vw 0 0;
      margin: 0 0 20px;
      height: 19vw; } }

h2.main__ttl--guide {
  font-size: 5rem;
  font-weight: 900;
  margin: 0 0 30px;
  line-height: 1.1;
  text-align: left;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  padding: 30px 0; }
  @media screen and (max-width: 768px) {
    h2.main__ttl--guide {
      font-size: 4rem;
      padding: 30px 0; } }
  @media screen and (max-width: 600px) {
    h2.main__ttl--guide {
      font-size: 2.5rem;
      padding: 20px 0 0; } }

h3.sub__ttl {
  font-size: 2.2rem;
  padding: 0 0 5px;
  margin: 0 0 20px;
  font-weight: bold;
  border-bottom: 3px solid #fff;
  color: #fff; }
  @media screen and (max-width: 600px) {
    h3.sub__ttl {
      font-size: 1.6rem;
      border-bottom: 2px solid #fff;
      margin: 0 0 15px; } }

h3.sub__ttl02 {
  font-size: 2.2rem;
  padding: 10px 25px;
  margin: 0 0 30px;
  font-weight: bold;
  background: #fff;
  color: #314e41;
  border-radius: 6px;
  display: block; }
  @media screen and (max-width: 600px) {
    h3.sub__ttl02 {
      font-size: 1.6rem;
      margin: 0 0 15px;
      padding: 13px 15px;
      line-height: 1;
      border-radius: 6px; } }

h4.sub__ttl {
  font-size: 2.0rem;
  padding: 0 0 5px;
  margin: 0 0 20px;
  font-weight: bold;
  border-bottom: 2px solid #111; }
  @media screen and (max-width: 600px) {
    h4.sub__ttl {
      font-size: 1.4rem;
      border-bottom: 1px solid #111;
      margin: 0 0 15px; } }

.sub__txt {
  text-align: left;
  font-size: 1.9rem;
  font-weight: bold;
  margin: 0 0 5px;
  line-height: 1.6; }
  @media screen and (max-width: 768px) {
    .sub__txt {
      font-size: 1.6rem; } }
  @media screen and (max-width: 600px) {
    .sub__txt {
      font-size: 1.3rem; } }

.sub__txt--asobi {
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  margin: 0 0 30px;
  line-height: 1.6; }
  .sub__txt--asobi .large {
    font-size: 3.4rem;
    font-weight: 900; }
    @media screen and (max-width: 768px) {
      .sub__txt--asobi .large {
        font-size: 2.0rem; } }
    @media screen and (max-width: 600px) {
      .sub__txt--asobi .large {
        font-size: 1.8rem; } }
  .sub__txt--asobi .large02 {
    font-size: 4rem;
    font-weight: 900; }
    @media screen and (max-width: 768px) {
      .sub__txt--asobi .large02 {
        font-size: 4rem; } }
    @media screen and (max-width: 600px) {
      .sub__txt--asobi .large02 {
        font-size: 2.6rem;
        display: block; } }
  .sub__txt--asobi .yellow {
    color: #D6AD00; }
  @media screen and (max-width: 768px) {
    .sub__txt--asobi {
      font-size: 1.6rem; } }
  @media screen and (max-width: 600px) {
    .sub__txt--asobi {
      font-size: 1.3rem; } }

.sub__txt--asobi02 {
  text-align: center;
  font-size: 2.6rem;
  font-weight: bold;
  margin: -20px 0 20px;
  line-height: 1.6; }
  @media screen and (max-width: 768px) {
    .sub__txt--asobi02 {
      font-size: 1.6rem; } }
  @media screen and (max-width: 600px) {
    .sub__txt--asobi02 {
      margin: 0px 0 10px;
      font-size: 1.3rem; } }
  .sub__txt--asobi02 .red {
    color: #D10003;
    font-size: 3.5rem; }
    @media screen and (max-width: 600px) {
      .sub__txt--asobi02 .red {
        font-size: 2rem; } }
  .sub__txt--asobi02 .yellow {
    color: #fee40b;
    font-size: 3.5rem; }
    @media screen and (max-width: 600px) {
      .sub__txt--asobi02 .yellow {
        font-size: 2rem; } }

.button__block {
  text-align: center;
  padding: 30px 0 0; }
  @media screen and (max-width: 600px) {
    .button__block {
      padding: 15px 0; } }

.button__more a {
  display: block;
  padding: 15px;
  text-align: center;
  color: #fff !important;
  font-weight: bold;
  text-align: center;
  max-width: 300px;
  margin: 0 auto 20px;
  border: 2px solid #fff;
  border-radius: 100px;
  text-decoration: none;
  font-size: 1.6rem; }
  @media screen and (max-width: 600px) {
    .button__more a {
      max-width: 250px;
      font-size: 1.3rem;
      margin: 0 auto; } }
.button__more a:hover {
  opacity: 0.5; }

.button__more--large a {
  display: block;
  padding: 15px;
  text-align: center;
  color: #B38B61;
  text-align: center;
  max-width: 500px;
  margin: 30px auto 20px;
  border: 5px solid #B38B61;
  background: #000;
  border-radius: 100px;
  text-decoration: none;
  font-size: 2.4rem;
  font-weight: bold; }
  @media screen and (max-width: 600px) {
    .button__more--large a {
      max-width: 220px;
      font-size: 1.4rem;
      margin: 20px auto 0;
      border: 2px solid #B38B61; } }
.button__more--large a:hover {
  background: #B38B61;
  color: #000; }

/*

 illust
-----------------------------------*/
.ill__img01 {
  position: absolute;
  top: -50px;
  left: 280px; }
  @media screen and (max-width: 768px) {
    .ill__img01 {
      top: -50px;
      left: auto;
      right: -10px; }
      .ill__img01 img {
        width: 170px;
        height: auto; } }
  @media screen and (max-width: 600px) {
    .ill__img01 {
      top: -10px;
      left: auto;
      right: -10px; }
      .ill__img01 img {
        width: 110px;
        height: auto; } }

.ill__img02 {
  position: absolute;
  top: -120px;
  right: 80px; }
  .ill__img02 img {
    width: 280px;
    height: auto; }
  @media screen and (max-width: 768px) {
    .ill__img02 {
      position: absolute;
      top: -80px;
      right: 10px; }
      .ill__img02 img {
        width: 230px;
        height: auto; } }
  @media screen and (max-width: 600px) {
    .ill__img02 {
      position: relative;
      top: auto;
      right: auto;
      text-align: right;
      margin: 0 0 0; }
      .ill__img02 img {
        width: 130px;
        height: auto; } }

.ill__img03 {
  position: absolute;
  top: -60px;
  right: 50px; }
  .ill__img03 img {
    width: 300px;
    height: auto; }
  @media screen and (max-width: 768px) {
    .ill__img03 {
      top: -30px;
      right: 0px; }
      .ill__img03 img {
        width: 260px;
        height: auto; } }
  @media screen and (max-width: 600px) {
    .ill__img03 {
      position: relative;
      width: 100%;
      text-align: center;
      top: auto;
      right: auto;
      margin: 0 0 20px; }
      .ill__img03 img {
        width: 200px;
        height: auto; } }

.ill__img04 {
  position: absolute;
  top: -140px;
  right: 60px;
  z-index: 99; }
  @media screen and (max-width: 768px) {
    .ill__img04 {
      top: -70px;
      right: 50px; }
      .ill__img04 img {
        width: 200px;
        height: auto; } }
  @media screen and (max-width: 600px) {
    .ill__img04 {
      top: -70px;
      left: 30px;
      right: auto; }
      .ill__img04 img {
        width: 150px;
        height: auto; } }

.ill__img05 {
  position: absolute;
  top: -60px;
  right: 100px;
  z-index: 99; }
  @media screen and (max-width: 768px) {
    .ill__img05 {
      top: -50px;
      right: 50px; }
      .ill__img05 img {
        width: 130px;
        height: auto; } }
  @media screen and (max-width: 600px) {
    .ill__img05 {
      top: -40px;
      right: 30px; }
      .ill__img05 img {
        width: 100px;
        height: auto; } }

.ill__img06 {
  position: absolute;
  top: 50px;
  right: 0px;
  z-index: 99; }
  @media screen and (max-width: 1280px) {
    .ill__img06 {
      top: -100px; } }
  @media screen and (max-width: 768px) {
    .ill__img06 {
      top: -100px; }
      .ill__img06 img {
        width: 170px;
        height: auto; } }
  @media screen and (max-width: 600px) {
    .ill__img06 {
      top: -50px;
      right: 30px; }
      .ill__img06 img {
        width: 120px;
        height: auto; } }

.ill__img07 {
  position: absolute;
  top: -30px;
  right: 20px;
  z-index: 99; }
  @media screen and (max-width: 768px) {
    .ill__img07 {
      top: 0px; }
      .ill__img07 img {
        width: 220px;
        height: auto; } }
  @media screen and (max-width: 600px) {
    .ill__img07 {
      position: relative;
      width: 100%;
      text-align: center;
      top: auto;
      right: auto;
      margin: 0 0 20px; }
      .ill__img07 img {
        width: 180px;
        height: auto; } }

.ill__img08 {
  position: absolute;
  top: -60px;
  right: 20px;
  z-index: 99; }
  @media screen and (max-width: 768px) {
    .ill__img08 img {
      width: 220px;
      height: auto; } }
  @media screen and (max-width: 600px) {
    .ill__img08 {
      text-align: center;
      top: -5px;
      right: 10px; }
      .ill__img08 img {
        width: 120px;
        height: auto; } }

.ill__img09 {
  position: absolute;
  top: 50px;
  right: 60px;
  z-index: 99; }
  @media screen and (max-width: 1180px) {
    .ill__img09 {
      top: -50px; } }
  @media screen and (max-width: 768px) {
    .ill__img09 {
      top: -40px;
      right: 20px; }
      .ill__img09 img {
        width: 170px;
        height: auto; } }
  @media screen and (max-width: 600px) {
    .ill__img09 {
      top: -30px;
      right: 10px; }
      .ill__img09 img {
        width: 140px;
        height: auto; } }

.ill__img10 {
  position: absolute;
  top: -50px;
  left: 250px;
  z-index: 99; }
  @media screen and (max-width: 768px) {
    .ill__img10 {
      top: -10px;
      left: 180px; }
      .ill__img10 img {
        width: 200px;
        height: auto; } }
  @media screen and (max-width: 600px) {
    .ill__img10 {
      top: -20px;
      left: 120px; }
      .ill__img10 img {
        width: 200px;
        height: auto; } }

/*

 GOAISATSU
-----------------------------------*/
#goaisatsu {
  padding: 50px 0 0; }
  @media screen and (max-width: 768px) {
    #goaisatsu {
      padding: 0; } }
  @media screen and (max-width: 600px) {
    #goaisatsu {
      padding: 0;
      margin: -20px 0 0; } }

.goaisatsu__info {
  border: 10px solid #85B22C;
  padding: 60px;
  border-radius: 30px;
  margin: 50px 0 0; }
  @media screen and (max-width: 768px) {
    .goaisatsu__info {
      padding: 30px;
      border: 8px solid #85B22C;
      border-radius: 15px; } }
  @media screen and (max-width: 600px) {
    .goaisatsu__info {
      border: 5px solid #85B22C;
      padding: 20px;
      border-radius: 15px; } }

/*

 NEWS
-----------------------------------*/
#news {
  padding: 100px 0 0; }
  @media screen and (max-width: 768px) {
    #news {
      padding: 50px 0 0; } }
  @media screen and (max-width: 600px) {
    #news {
      padding: 20px 0 0; } }

.box__brown {
  padding: 50px;
  background: #fff;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.5); }
  @media screen and (max-width: 600px) {
    .box__brown {
      padding: 15px;
      border: 2px solid #40220F; } }
  @media screen and (max-width: 600px) {
    .box__brown .sub__ttl {
      margin: 0 0 10px !important; } }

.news__list {
  border-top: 2px dotted #fff;
  margin: 0; }
  @media screen and (max-width: 600px) {
    .news__list {
      margin: 0 0 10px; } }
  .news__list li {
    border-bottom: 2px dotted #fff; }
    .news__list li a {
      display: flex;
      padding: 30px 0;
      color: #fff !important; }
      @media screen and (max-width: 768px) {
        .news__list li a {
          display: block; } }
      @media screen and (max-width: 600px) {
        .news__list li a {
          padding: 15px 0; } }
    .news__list li .day {
      margin: 0 20px 0 0;
      font-family: 'Lato', sans-serif;
      font-weight: 700;
      font-size: 1.8rem; }
      @media screen and (max-width: 600px) {
        .news__list li .day {
          font-size: 1.1rem;
          margin: 0 0 5px; } }
    .news__list li .txt {
      font-size: 1.8rem; }
      @media screen and (max-width: 600px) {
        .news__list li .txt {
          font-size: 1.4rem; } }
    .news__list li a {
      color: #40220F;
      text-decoration: none; }
    .news__list li a:hover {
      opacity: 0.5;
      transition: all 0.3s; }
      @media screen and (max-width: 768px) {
        .news__list li a:hover {
          opacity: 1 !important; } }

.second__contents .second__kv {
  height: 300px;
  background: url("../img/second_kv.jpg") top center no-repeat;
  background-size: cover; }
  @media screen and (max-width: 600px) {
    .second__contents .second__kv {
      height: 150px; } }
.second__contents .inner__box {
  max-width: 1180px;
  margin: 0 auto;
  padding: 100px 0 100px;
  position: relative; }
  @media screen and (max-width: 1280px) {
    .second__contents .inner__box {
      margin: 0 50px; } }
  @media screen and (max-width: 768px) {
    .second__contents .inner__box {
      padding: 50px 0 200px;
      margin: 0 50px; } }
  @media screen and (max-width: 600px) {
    .second__contents .inner__box {
      padding: 25px 0 100px;
      margin: 0 25px; } }

.second__detail .day {
  font-size: 1.6rem;
  margin: 0;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  color: #fff; }
  @media screen and (max-width: 600px) {
    .second__detail .day {
      font-size: 1.2rem;
      margin: 30px 0 0; } }
.second__detail .sub__ttl {
  font-size: 2.4rem;
  padding: 0 0 10px;
  margin: 0 0 30px; }
  @media screen and (max-width: 600px) {
    .second__detail .sub__ttl {
      font-size: 1.6rem; } }
.second__detail p {
  color: #fff; }
.second__detail a {
  color: #fff;
  text-decoration: underline; }
.second__detail .button__more a {
  color: #fff;
  text-decoration: none; }

/*

 point
-----------------------------------*/
.point__fukidashi {
  border: 5px solid #40220F;
  background: #fff;
  padding: 60px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .point__fukidashi {
      border: 8px solid #40220F;
      padding: 30px; } }
  @media screen and (max-width: 600px) {
    .point__fukidashi {
      border: 2px solid #40220F;
      padding: 10px 20px 20px; } }

.point__fukidashi:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -30px;
  border: 30px solid transparent;
  border-top: 30px solid #40220F; }
  @media screen and (max-width: 600px) {
    .point__fukidashi:before {
      margin-left: -15px;
      border: 15px solid transparent;
      border-top: 15px solid #40220F; } }

.point__list li {
  font-size: 2.4rem;
  margin: 0 0 7px;
  display: flex;
  align-items: center; }
  @media screen and (max-width: 768px) {
    .point__list li {
      font-size: 1.6rem;
      align-items: flex-start; } }
  @media screen and (max-width: 600px) {
    .point__list li {
      font-size: 1.3rem;
      align-items: flex-start; } }
.point__list .icon__number {
  background: #40220F;
  border-radius: 100px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 27px;
  height: 27px;
  font-size: 1.4rem;
  margin: 0 8px 0 0; }
  @media screen and (max-width: 600px) {
    .point__list .icon__number {
      font-size: 1.1rem;
      width: 20px;
      height: 20px; } }
.point__list .txt {
  width: calc(100% - 35px); }
  @media screen and (max-width: 600px) {
    .point__list .txt {
      width: calc(100% - 28px); } }

/*

 plan
-----------------------------------*/
.inner__box--plan {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 0 30px;
  /*padding:0 0 150px;*/
  position: relative; }
  @media screen and (max-width: 1280px) {
    .inner__box--plan {
      margin: 0 50px; } }
  @media screen and (max-width: 768px) {
    .inner__box--plan {
      display: block;
      padding: 0 0 30px;
      margin: 0 50px; } }
  @media screen and (max-width: 600px) {
    .inner__box--plan {
      display: block;
      padding: 0 0 15px;
      margin: 0 20px; } }
  .inner__box--plan .plan__bg--white {
    padding: 50px;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.5);
    background: #fff; }
    @media screen and (max-width: 1180px) {
      .inner__box--plan .plan__bg--white {
        padding: 30px; } }
    @media screen and (max-width: 768px) {
      .inner__box--plan .plan__bg--white {
        display: block; } }
    @media screen and (max-width: 600px) {
      .inner__box--plan .plan__bg--white {
        display: block;
        padding: 15px 15px 5px;
        background: #fff; } }
  .inner__box--plan .plan__flex {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      .inner__box--plan .plan__flex {
        display: block; } }
  .inner__box--plan .img {
    width: 45%;
    position: relative; }
    @media screen and (max-width: 1280px) {
      .inner__box--plan .img {
        width: 48%; } }
    @media screen and (max-width: 768px) {
      .inner__box--plan .img {
        width: 100%;
        margin: 0 0 30px; } }
    @media screen and (max-width: 600px) {
      .inner__box--plan .img {
        width: 100%;
        margin: 0 0 0px; } }
    .inner__box--plan .img img {
      width: 100%;
      height: auto; }
  .inner__box--plan .txt {
    width: 50%; }
    @media screen and (max-width: 1280px) {
      .inner__box--plan .txt {
        width: 48%; } }
    @media screen and (max-width: 768px) {
      .inner__box--plan .txt {
        width: 100%; } }
    @media screen and (max-width: 600px) {
      .inner__box--plan .txt {
        width: 100%;
        padding: 0 0 0; } }
    .inner__box--plan .txt h3 {
      font-size: 2.8rem;
      font-weight: 900;
      background: url("../img/icon_check.svg") center left no-repeat;
      padding: 0 0 0 50px;
      line-height: 1.5; }
      @media screen and (max-width: 600px) {
        .inner__box--plan .txt h3 {
          margin: 15px 0 0;
          font-size: 1.7rem;
          background: url("../img/icon_check.svg") top 5px left no-repeat;
          background-size: 30px auto;
          padding: 0 0 0 40px; } }
    .inner__box--plan .txt .price {
      font-size: 5.0rem;
      font-weight: 900;
      margin: -15px 0 0;
      font-family: 'Lato', sans-serif;
      color: #40220F; }
      @media screen and (max-width: 600px) {
        .inner__box--plan .txt .price {
          font-size: 4.0rem;
          margin: 0 0 10px; } }
      .inner__box--plan .txt .price span {
        font-size: 1.8rem; }
  .inner__box--plan .kashidashi {
    display: flex;
    justify-content: space-between;
    padding: 0; }
    @media screen and (max-width: 1180px) {
      .inner__box--plan .kashidashi {
        padding: 0; } }
    @media screen and (max-width: 600px) {
      .inner__box--plan .kashidashi {
        display: block; } }
    .inner__box--plan .kashidashi .kashidashi__item {
      width: 49%;
      display: flex;
      justify-content: space-between;
      padding: 15px;
      box-sizing: border-box;
      border-radius: 6px;
      background: #FFFDD1;
      align-items: center; }
      @media screen and (max-width: 600px) {
        .inner__box--plan .kashidashi .kashidashi__item {
          width: 100%;
          margin: 0 0 15px;
          padding: 10px; } }
      .inner__box--plan .kashidashi .kashidashi__item .img {
        width: 30%;
        margin: 0 !important; }
        @media screen and (max-width: 600px) {
          .inner__box--plan .kashidashi .kashidashi__item .img {
            width: 35%; } }
      .inner__box--plan .kashidashi .kashidashi__item .txt {
        width: 65%;
        font-size: 1.6rem;
        line-height: 1.4; }
        @media screen and (max-width: 600px) {
          .inner__box--plan .kashidashi .kashidashi__item .txt {
            width: 60%;
            font-size: 1.3rem; } }

.ttl__price {
  /*display:flex;
  justify-content: space-between;
  align-items: center;*/
  margin: 0 0 20px; }

.fukidashi__pink {
  position: relative;
  display: block;
  text-align: center;
  width: 85%;
  padding: 16px;
  border: 2px solid #ea679c;
  border-radius: 8px;
  background-color: #ffffff;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  color: #ea679c;
  margin: -12px auto 20px; }
  @media screen and (max-width: 600px) {
    .fukidashi__pink {
      padding: 12px;
      font-size: 1.4rem; } }

.fukidashi__pink::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  border-style: solid;
  border-width: 0 10px 20px 10px;
  border-color: transparent transparent #ea679c;
  translate: -50% -100%; }

.fukidashi__pink::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  border-style: solid;
  border-width: 0 7.8px 15.5px 7.8px;
  border-color: transparent transparent #ffffff;
  translate: -50% -100%; }

.fukidashi__pink02 {
  position: relative;
  display: inline-block;
  margin-bottom: 20px;
  padding: 16px;
  border: 2px solid #ea679c;
  border-radius: 8px;
  background-color: #ffffff;
  text-align: left;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  color: #ea679c; }
  @media screen and (max-width: 600px) {
    .fukidashi__pink02 {
      padding: 12px;
      font-size: 1.4rem; } }

.fukidashi__pink02::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 72%;
  border-style: solid;
  border-width: 20px 0 0 20px;
  border-color: #ea679c transparent transparent;
  translate: -50% 100%;
  transform: skew(3deg);
  transform-origin: top; }

.fukidashi__pink02::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 72%;
  border-style: solid;
  border-width: 15.2px 0 0 15.2px;
  border-color: #ffffff transparent transparent;
  translate: calc(-50% + 0.4px) 100%;
  transform: skew(3deg);
  transform-origin: top; }

.fukidashi__img {
  position: absolute;
  top: -20px;
  left: -20px; }

/*

 rental
-----------------------------------*/
.rental__setlist {
  margin: 40px 0 20px; }
  @media screen and (max-width: 600px) {
    .rental__setlist {
      margin: 20px 0 20px; } }
  .rental__setlist .rental__setlist--item {
    padding: 30px;
    display: flex;
    justify-content: space-between;
    background: #fff;
    margin: 0 0 20px;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.5); }
    @media screen and (max-width: 600px) {
      .rental__setlist .rental__setlist--item {
        display: block;
        padding: 15px 15px 30px;
        margin: 0 0 10px; } }
    .rental__setlist .rental__setlist--item .img {
      width: 30%; }
      .rental__setlist .rental__setlist--item .img img {
        width: 100%;
        height: auto; }
      @media screen and (max-width: 768px) {
        .rental__setlist .rental__setlist--item .img {
          width: 35%; } }
      @media screen and (max-width: 600px) {
        .rental__setlist .rental__setlist--item .img {
          width: 100%; } }
    .rental__setlist .rental__setlist--item .txt {
      width: 65%; }
      @media screen and (max-width: 768px) {
        .rental__setlist .rental__setlist--item .txt {
          width: 60%; } }
      @media screen and (max-width: 600px) {
        .rental__setlist .rental__setlist--item .txt {
          width: 100%; } }
      .rental__setlist .rental__setlist--item .txt h3 {
        font-size: 2.8rem;
        font-weight: 900;
        padding: 0 0 0 50px;
        background: url("../img/icon_check.svg") center left no-repeat; }
        @media screen and (max-width: 768px) {
          .rental__setlist .rental__setlist--item .txt h3 {
            font-size: 2.8rem; } }
        @media screen and (max-width: 600px) {
          .rental__setlist .rental__setlist--item .txt h3 {
            margin: 20px 0 0;
            font-size: 1.8rem;
            background-size: 30px auto;
            padding: 0 0 0 38px; } }
      .rental__setlist .rental__setlist--item .txt .price {
        font-size: 5.0rem;
        font-weight: 900;
        margin: -15px 0 10px;
        font-family: 'Lato', sans-serif;
        color: #40220F; }
        @media screen and (max-width: 600px) {
          .rental__setlist .rental__setlist--item .txt .price {
            font-size: 4.0rem;
            margin: 0 0 15px; } }
        .rental__setlist .rental__setlist--item .txt .price span {
          font-size: 1.8rem; }
      .rental__setlist .rental__setlist--item .txt p {
        margin: 0 0 5px; }
      .rental__setlist .rental__setlist--item .txt .attention__list {
        margin: 0; }

.rental__list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  width: 101%; }
  .rental__list li {
    width: 24%;
    margin: 0 1% 1% 0;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.5);
    background: #fff;
    box-sizing: border-box;
    line-height: 1.6;
    text-align: center;
    padding: 15px 0;
    font-size: 1.5rem; }
    @media screen and (max-width: 768px) {
      .rental__list li {
        width: 32.3%;
        margin: 0 1% 1% 0; } }
    @media screen and (max-width: 600px) {
      .rental__list li {
        padding: 10px 0;
        font-size: 1.2rem;
        width: 49%; } }
    .rental__list li span {
      font-size: 1.1rem; }
      @media screen and (max-width: 600px) {
        .rental__list li span {
          font-size: 1.0rem; } }

/*

 setsubi
-----------------------------------*/
.setubi__iconbox {
  display: flex;
  margin: 0 0 20px;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .setubi__iconbox {
      justify-content: center;
      flex-wrap: wrap; } }
  @media screen and (max-width: 600px) {
    .setubi__iconbox {
      margin: 0; } }
  .setubi__iconbox--item {
    width: 12.0%;
    margin: 0 1% 0; }
    @media screen and (max-width: 768px) {
      .setubi__iconbox--item {
        margin: 0 1% 2%;
        width: 16%; } }
    @media screen and (max-width: 600px) {
      .setubi__iconbox--item {
        width: 21%;
        margin: 0 1.5% 20px; } }
    .setubi__iconbox--item img {
      width: 100%;
      height: auto; }

/*

 asobi
-----------------------------------*/
#asobi .inner__box--asobi {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 0 150px;
  position: relative; }
  @media screen and (max-width: 1280px) {
    #asobi .inner__box--asobi {
      margin: 0 50px; } }
  @media screen and (max-width: 768px) {
    #asobi .inner__box--asobi {
      padding: 0 0 15px;
      margin: 0 50px; } }
  @media screen and (max-width: 600px) {
    #asobi .inner__box--asobi {
      padding: 0 0 15px;
      margin: 0 10px; } }

/*

 gaiyou
-----------------------------------*/
.qa__list {
  margin: 0 0 70px; }
  .qa__list dt {
    border-bottom: 2px dotted #fff;
    color: #fff;
    padding: 20px 30px 20px 0;
    font-weight: bold;
    font-size: 1.8rem;
    cursor: pointer;
    background: url("../img/icon_arrow_down_white.svg") center right 18px no-repeat;
    background-size: 12px auto; }
    @media screen and (max-width: 600px) {
      .qa__list dt {
        font-size: 1.4rem;
        background: url("../img/icon_arrow_down_white.svg") center right 10px no-repeat;
        background-size: 10px auto;
        padding: 20px 25px 20px 0; } }
  .qa__list dt:before {
    content: "Q";
    font-weight: normal;
    background: #fff;
    color: #314e41;
    width: 1.7em;
    height: 1.7em;
    line-height: 1.6;
    text-align: center;
    display: inline-block;
    border-radius: 1em;
    margin-right: .5em;
    font-size: 1.5rem;
    font-family: Lato, sans-serif;
    font-weight: 500; }
    @media screen and (max-width: 600px) {
      .qa__list dt:before {
        width: 1.6em;
        height: 1.6em;
        font-size: 1.1rem;
        margin-right: .4em; } }
  .qa__list dd {
    padding: 20px 0 20px;
    border-bottom: 2px dotted #fff;
    display: none;
    color: #fff; }
  .qa__list a {
    color: #fff; }

.accordion__contents {
  padding: 0 15px 30px; }
  @media screen and (max-width: 600px) {
    .accordion__contents {
      padding: 0 10px 30px; } }
  .accordion__contents p {
    color: #fff; }
    .accordion__contents p a {
      color: #fff; }

.accordion__contents--qa {
  padding: 0 15px 30px; }
  @media screen and (max-width: 600px) {
    .accordion__contents--qa {
      padding: 0 10px 30px; } }
  .accordion__contents--qa h3.sub__ttl {
    font-size: 2.2rem;
    padding: 0 0 5px;
    margin: 0;
    font-weight: bold;
    border-bottom: 3px solid #fff;
    color: #fff; }
    @media screen and (max-width: 600px) {
      .accordion__contents--qa h3.sub__ttl {
        font-size: 1.6rem;
        margin: 0;
        border-bottom: 2px dotted #fff; } }

/*

 access
-----------------------------------*/
#access {
  padding: 0 0 0px; }
  @media screen and (max-width: 600px) {
    #access {
      padding: 0; } }
  #access h3.sub__ttl {
    font-size: 2.2rem;
    padding: 0 0 5px;
    font-weight: bold;
    border-bottom: 3px solid #40220F;
    color: #40220F; }
    @media screen and (max-width: 600px) {
      #access h3.sub__ttl {
        font-size: 1.6rem;
        margin: 0;
        border-bottom: 2px dotted #40220F; } }

#map {
  margin: 0 0 50px; }
  @media screen and (max-width: 600px) {
    #map {
      margin: 0 0 10px; } }

/*

 areainfo
-----------------------------------*/
#areainfo {
  padding: 0 0 50px; }
  @media screen and (max-width: 600px) {
    #areainfo {
      padding: 0 0 50px; } }
  #areainfo .areainfo__flex {
    display: flex;
    justify-content: space-between;
    padding: 30px;
    background: #fff;
    margin: 0 0 10px;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.5); }
    @media screen and (max-width: 600px) {
      #areainfo .areainfo__flex {
        display: block;
        padding: 10px; } }
    #areainfo .areainfo__flex .img {
      width: 56%; }
      @media screen and (max-width: 600px) {
        #areainfo .areainfo__flex .img {
          width: 100%; } }
      #areainfo .areainfo__flex .img img {
        width: 100%;
        height: auto; }
    #areainfo .areainfo__flex .txt {
      width: 40%;
      font-size: 1.8rem; }
      @media screen and (max-width: 600px) {
        #areainfo .areainfo__flex .txt {
          width: 100%;
          font-size: 1.3rem;
          padding: 10px;
          box-sizing: border-box; } }

/*

 asccordion
-----------------------------------*/
.accordion__open {
  font-size: 2.2rem;
  margin: 0 0 30px;
  font-weight: bold;
  background: #fff;
  color: #314e41;
  border-radius: 6px;
  display: block; }
  @media screen and (max-width: 600px) {
    .accordion__open {
      font-size: 1.5rem;
      margin: 0 0 15px;
      line-height: 1; } }
  .accordion__open span {
    display: block;
    padding: 10px 25px;
    cursor: pointer;
    background: url("../img/icon_arrow_down_green.svg") center right 18px no-repeat !important;
    background-size: 12px auto !important;
    z-index: 1; }
    @media screen and (max-width: 600px) {
      .accordion__open span {
        padding: 13px 15px;
        background: url("../img/icon_arrow_down_green.svg") center right 16px no-repeat !important;
        background-size: 10px auto !important; } }

.active_ttl span {
  display: block;
  padding: 10px 25px;
  background: url("../img/icon_arrow_up_green.svg") center right 18px no-repeat !important;
  background-size: 12px auto !important;
  z-index: 1; }
  @media screen and (max-width: 600px) {
    .active_ttl span {
      padding: 13px 15px;
      background: url("../img/icon_arrow_up_green.svg") center right 16px no-repeat !important;
      background-size: 10px auto !important; } }

.active_qa {
  background: url("../img/icon_arrow_up_white.svg") center right 18px no-repeat !important;
  background-size: 12px auto !important; }
  @media screen and (max-width: 600px) {
    .active_qa {
      background: url("../img/icon_arrow_up_white.svg") center right 10px no-repeat !important;
      background-size: 10px auto !important; } }

/*

 guide
-----------------------------------*/
.guide__list {
  margin: 0 0 10px; }
  .guide__list td {
    padding: 15px;
    background: #fff; }
  .guide__list .ttl {
    width: 300px; }
    @media screen and (max-width: 600px) {
      .guide__list .ttl {
        width: 200px; } }

/*

 box
-----------------------------------*/
.bg__wood {
  background: url("../img/bg_wood.jpg");
  padding: 100px 0 0;
  margin: 0 0 100px; }
  @media screen and (max-width: 768px) {
    .bg__wood {
      padding: 50px 0;
      margin: 0 0 40px; } }

.box__white {
  background: #fff;
  width: 100%;
  padding: 70px;
  box-sizing: border-box;
  box-shadow: 2px 2px 15px 2px rgba(0, 0, 0, 0.2);
  position: relative; }
  @media screen and (max-width: 768px) {
    .box__white {
      padding: 60px 40px 40px; } }
  @media screen and (max-width: 600px) {
    .box__white {
      padding: 40px 20px 30px; } }
  .box__white .icon__gabyou--left {
    position: absolute;
    top: 10px;
    left: 10px; }
    @media screen and (max-width: 600px) {
      .box__white .icon__gabyou--left {
        top: 5px;
        left: 5px; }
        .box__white .icon__gabyou--left img {
          width: 20px;
          height: auto; } }
  .box__white .icon__gabyou--right {
    position: absolute;
    top: 10px;
    right: 10px; }
    @media screen and (max-width: 600px) {
      .box__white .icon__gabyou--right {
        top: 5px;
        right: 5px; }
        .box__white .icon__gabyou--right img {
          width: 20px;
          height: auto; } }

.box__waku {
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.5);
  background: #fff;
  overflow: hidden;
  margin: 30px 0 0;
  padding: 30px; }
  @media screen and (max-width: 600px) {
    .box__waku {
      margin: 20px 0 0;
      padding: 15px;
      border: 2px solid #40220F; } }
  .box__waku--ttl {
    background: #40220F;
    color: #fff;
    padding: 10px 20px; }
  .box__waku--inner {
    padding: 20px 30px; }
    @media screen and (max-width: 600px) {
      .box__waku--inner {
        padding: 15px 15px; } }
  .box__waku--list {
    margin: 0 0 0 20px; }
    @media screen and (max-width: 768px) {
      .box__waku--list {
        display: block; } }
    .box__waku--list li {
      margin: 0 0 15px 0;
      list-style: disc;
      font-size: 1.8rem;
      line-height: 1.3; }
      @media screen and (max-width: 768px) {
        .box__waku--list li {
          width: 100%;
          margin: 0;
          font-size: 1.6rem; } }
      @media screen and (max-width: 600px) {
        .box__waku--list li {
          font-size: 1.3rem; } }
      .box__waku--list li span {
        font-size: 1.3rem;
        line-height: 1.3; }
        @media screen and (max-width: 600px) {
          .box__waku--list li span {
            font-size: 1.1rem; } }

.nomal__list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0 0 0 20px; }
  @media screen and (max-width: 768px) {
    .nomal__list {
      display: block;
      margin: 0 0 0 20px; } }
  .nomal__list li {
    width: 40%;
    margin: 0 1% 0 0;
    list-style: disc; }
    @media screen and (max-width: 768px) {
      .nomal__list li {
        width: 100%; } }
    .nomal__list li span {
      font-size: 1.4rem; }

.txt__box {
  padding: 0 15px; }
  @media screen and (max-width: 600px) {
    .txt__box {
      padding: 0; } }

/*

 カラム
-----------------------------------*/
.col2_flex {
  display: flex;
  justify-content: space-between;
  margin: 0; }
  @media screen and (max-width: 768px) {
    .col2_flex {
      display: block;
      margin: 0 0 30px; } }
  .col2_flex .img {
    width: 48%; }
    @media screen and (max-width: 768px) {
      .col2_flex .img {
        width: 100%;
        margin: 0 0 20px; } }
    .col2_flex .img img {
      width: 100%;
      height: auto; }
  .col2_flex .txt {
    width: 48%; }
    @media screen and (max-width: 768px) {
      .col2_flex .txt {
        width: 100%; } }

.col2_flex--item {
  display: flex;
  justify-content: center;
  margin: 0 0 0;
  flex-wrap: wrap;
  width: 104%; }
  @media screen and (max-width: 600px) {
    .col2_flex--item {
      width: 100%;
      display: block; } }
  .col2_flex--item .item {
    width: 46%;
    margin: 0 4% 3% 0; }
    @media screen and (max-width: 600px) {
      .col2_flex--item .item {
        width: 100%;
        margin: 0 0 30px; } }
    .col2_flex--item .item a {
      text-decoration: none;
      color: #40220F; }
    .col2_flex--item .item h3 {
      margin: 0 0 10px;
      text-align: center;
      font-size: 1.8rem;
      line-height: 1.4; }
      @media screen and (max-width: 600px) {
        .col2_flex--item .item h3 {
          font-size: 1.5rem; } }
      .col2_flex--item .item h3 span {
        font-size: 1.4rem; }
        @media screen and (max-width: 600px) {
          .col2_flex--item .item h3 span {
            font-size: 1.2rem; } }
  .col2_flex--item .img {
    width: 100%;
    margin: 0 0 15px;
    overflow: hidden;
    border-radius: 15px; }
    @media screen and (max-width: 768px) {
      .col2_flex--item .img {
        border-radius: 10px;
        width: 100%; } }
    .col2_flex--item .img img {
      width: 100%;
      height: auto;
      transition: .2s; }
  .col2_flex--item .txt {
    width: 100%; }
    @media screen and (max-width: 768px) {
      .col2_flex--item .txt {
        width: 100%; } }
  .col2_flex--item a:hover .img img {
    transform: scale(1.1);
    transition: .2s; }

.col3_flex--item {
  display: flex;
  justify-content: flex-start;
  margin: 0;
  width: 103%;
  flex-wrap: wrap; }
  @media screen and (max-width: 600px) {
    .col3_flex--item {
      width: 100%;
      display: block; } }
  .col3_flex--item .item {
    width: 30.3%;
    margin: 0 3% 2% 0; }
    @media screen and (max-width: 600px) {
      .col3_flex--item .item {
        width: 100%;
        margin: 0 0 30px; } }
    .col3_flex--item .item a {
      text-decoration: none;
      color: #fff; }
    .col3_flex--item .item h3 {
      margin: 0 0 10px; }
  .col3_flex--item .img {
    width: 100%;
    margin: 0 0 20px;
    overflow: hidden; }

    .col3_flex--item .img img {
      width: 100%;
      height: auto;
      transition: .2s; }
  .col3_flex--item .txt {
    width: 100%; }
    @media screen and (max-width: 768px) {
      .col3_flex--item .txt {
        width: 100%; } }
  .col3_flex--item a:hover .img img {
    transform: scale(1.1);
    transition: .2s; }

.col3_flex--item-asobi {
  display: flex;
  justify-content: flex-start;
  margin: 0;
  width: 103%;
  flex-wrap: wrap; }
  @media screen and (max-width: 600px) {
    .col3_flex--item-asobi {
      width: 100%;
      display: block; } }
  .col3_flex--item-asobi .item:first-child,
  .col3_flex--item-asobi .item:nth-child(2) {
    width: 49%; }
    @media screen and (max-width: 600px) {
      .col3_flex--item-asobi .item:first-child,
      .col3_flex--item-asobi .item:nth-child(2) {
        width: 100%; } }
  .col3_flex--item-asobi .item:nth-child(3),
  .col3_flex--item-asobi .item:nth-child(4),
  .col3_flex--item-asobi .item:nth-child(5) {
    width: 32.3%; }
    @media screen and (max-width: 768px) {
      .col3_flex--item-asobi .item:nth-child(3),
      .col3_flex--item-asobi .item:nth-child(4),
      .col3_flex--item-asobi .item:nth-child(5) {
        width: 49%; } }
    @media screen and (max-width: 600px) {
      .col3_flex--item-asobi .item:nth-child(3),
      .col3_flex--item-asobi .item:nth-child(4),
      .col3_flex--item-asobi .item:nth-child(5) {
        width: 100%; } }
  .col3_flex--item-asobi .item:nth-child(6),
  .col3_flex--item-asobi .item:nth-child(7),
  .col3_flex--item-asobi .item:nth-child(8),
  .col3_flex--item-asobi .item:nth-child(9),
  .col3_flex--item-asobi .item:nth-child(10) {
    width: 19%; }
    @media screen and (max-width: 768px) {
      .col3_flex--item-asobi .item:nth-child(6),
      .col3_flex--item-asobi .item:nth-child(7),
      .col3_flex--item-asobi .item:nth-child(8),
      .col3_flex--item-asobi .item:nth-child(9),
      .col3_flex--item-asobi .item:nth-child(10) {
        width: 49%; } }
    @media screen and (max-width: 600px) {
      .col3_flex--item-asobi .item:nth-child(6),
      .col3_flex--item-asobi .item:nth-child(7),
      .col3_flex--item-asobi .item:nth-child(8),
      .col3_flex--item-asobi .item:nth-child(9),
      .col3_flex--item-asobi .item:nth-child(10) {
        width: 100%;
        display: block; } }
    .col3_flex--item-asobi .item:nth-child(6) h3,
    .col3_flex--item-asobi .item:nth-child(7) h3,
    .col3_flex--item-asobi .item:nth-child(8) h3,
    .col3_flex--item-asobi .item:nth-child(9) h3,
    .col3_flex--item-asobi .item:nth-child(10) h3 {
      margin: 0 0 10px;
      font-size: 1.4rem; }
      @media screen and (max-width: 600px) {
        .col3_flex--item-asobi .item:nth-child(6) h3,
        .col3_flex--item-asobi .item:nth-child(7) h3,
        .col3_flex--item-asobi .item:nth-child(8) h3,
        .col3_flex--item-asobi .item:nth-child(9) h3,
        .col3_flex--item-asobi .item:nth-child(10) h3 {
          font-size: 1.4rem;
          margin: 5px 0 15px; } }
  .col3_flex--item-asobi .item {
    width: 32.3%;
    margin: 0 1% 1% 0;
    padding: 12px;
    box-sizing: border-box;
    position: relative !important;
    background: #fff;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.5); }
    @media screen and (max-width: 1180px) {
      .col3_flex--item-asobi .item {
        width: 48%; } }
    @media screen and (max-width: 600px) {
      .col3_flex--item-asobi .item {
        width: 100%;
        margin: 0 0 10px; } }
    .col3_flex--item-asobi .item a {
      text-decoration: none;
      color: #fff; }
    .col3_flex--item-asobi .item h3 {
      margin: 0 0 15px;
      font-size: 2.0rem;
      line-height: 1.1;
      /*border-left: 5px solid #AC9368;*/
      padding: 0;
      text-align: center; }
      @media screen and (max-width: 600px) {
        .col3_flex--item-asobi .item h3 {
          font-size: 1.4rem;
          margin: 5px 0 15px; } }
      .col3_flex--item-asobi .item h3 span {
        font-size: 1.2rem; }
        @media screen and (max-width: 600px) {
          .col3_flex--item-asobi .item h3 span {
            font-size: 1.2rem; } }
  .col3_flex--item-asobi .icon {
    position: absolute;
    top: -5px;
    right: 25px;
    z-index: 5; }
    .col3_flex--item-asobi .icon img {
      width: 70px;
      height: auto; }
  .col3_flex--item-asobi .img {
    width: 100%;
    margin: 0;
    overflow: hidden; }
    .col3_flex--item-asobi .img img {
      width: 100%;
      height: auto;
      transition: .2s; }
    .col3_flex--item-asobi .img span {
      display: block;
      font-size: 1.2rem;
      text-align: center; }
      @media screen and (max-width: 600px) {
        .col3_flex--item-asobi .img span {
          padding: 5px 0 0;
          font-size: 1.2rem; } }
  .col3_flex--item-asobi p {
    padding: 0;
    margin: 0; }
  .col3_flex--item-asobi a:hover .img img {
    transform: scale(1.1);
    transition: .2s; }

.col4_flex--item {
  display: flex;
  justify-content: flex-start;
  margin: 0;
  width: 103%;
  flex-wrap: wrap; }
  @media screen and (max-width: 600px) {
    .col4_flex--item {
      width: 100%;
      display: block; } }
  .col4_flex--item .item {
    width: 31.7%;
    /*width: 24%;*/
    margin: 0 1% 1% 0;
    background: #fff;
    padding: 12px;
    box-sizing: border-box;
    position: relative !important;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.5); }
    @media screen and (max-width: 1180px) {
      .col4_flex--item .item {
        width: 48%; } }
    @media screen and (max-width: 600px) {
      .col4_flex--item .item {
        width: 100%;
        margin: 0 0 10px; } }
    .col4_flex--item .item a {
      text-decoration: none;
      color: #fff; }
    .col4_flex--item .item h3 {
      margin: 3px 0 10px;
      font-size: 2rem;
      line-height: 1.4;
      /*border-left: 5px solid #AC9368;*/
      padding: 0;
      text-align: center; }
      @media screen and (max-width: 600px) {
        .col4_flex--item .item h3 {
          font-size: 1.5rem; } }
      .col4_flex--item .item h3 span {
        font-size: 1.6rem; }
  .col4_flex--item .icon {
    position: absolute;
    top: -5px;
    right: 25px;
    z-index: 5; }
    .col4_flex--item .icon img {
      width: 70px;
      height: auto; }
  .col4_flex--item .img {
    width: 100%;
    margin: 0 0 10px;
    overflow: hidden; }
    .col4_flex--item .img img {
      width: 100%;
      height: auto;
      transition: .2s; }
  .col4_flex--item p {
    font-size: 1.4rem;
    padding: 0;
    margin: 0; }
  .col4_flex--item a:hover .img img {
    transform: scale(1.1);
    transition: .2s; }

/*

 youtube
-----------------------------------*/
.movie__box {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin: 30px 0 20px; }
  @media screen and (max-width: 600px) {
    .movie__box {
      margin: 0 0 20px; } }

.movie__box iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important; }

.movie__ttl {
  text-align: center;
  font-size: 2rem; }
  @media screen and (max-width: 600px) {
    .movie__ttl {
      font-size: 1.3rem; } }

.bg__white {
  background: #fff;
  margin: 0 0 20px;
  padding: 20px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.5); }

/*

 sp menu
-----------------------------------*/
.menu__txt {
  display: none; }
  @media screen and (max-width: 1180px) {
    .menu__txt {
      display: block;
      font-size: 14px;
      font-family: Raleway, sans-serif;
      font-style: normal;
      position: fixed;
      top: 39px;
      right: 84px;
      z-index: 99999;
      color: #fff; } }
  @media screen and (max-width: 768px) {
    .menu__txt {
      display: block;
      font-size: 14px;
      font-family: Raleway, sans-serif;
      font-style: normal;
      position: fixed;
      top: 39px;
      right: 84px;
      z-index: 99999;
      color: #fff; } }
  @media screen and (max-width: 600px) {
    .menu__txt {
      display: block;
      font-size: 12px;
      font-family: Raleway, sans-serif;
      font-style: normal;
      position: fixed;
      top: 19px;
      right: 47px;
      z-index: 99999;
      color: #fff; } }

#menuButton {
  display: block;
  width: 80px;
  height: 80px;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 99995;
  background: #40220F;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0 0 0 15px; }
  @media screen and (max-width: 600px) {
    #menuButton {
      width: 70px;
      height: 70px; } }
  #menuButton .inner {
    width: 25px;
    height: 32px;
    position: relative; }

a#menuButton:hover {
  opacity: 1 !important; }

#menuButton span {
  display: block;
  background: #fff;
  width: 25px;
  height: 2px;
  position: absolute;
  transition: all 0.4s;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s; }
  @media screen and (max-width: 1180px) {
    #menuButton span {
      width: 25px; } }
  @media screen and (max-width: 768px) {
    #menuButton span {
      width: 25px; } }
  @media screen and (max-width: 600px) {
    #menuButton span {
      width: 25px; } }

#menuButton span:first-child {
  top: 7px; }

#menuButton span:nth-child(2) {
  margin-top: -1px;
  top: 50%; }

#menuButton span:last-child {
  bottom: 6px; }

#menuButton.active span:first-child {
  transform: translateY(8px) rotate(42deg); }

#menuButton.active span:nth-child(2) {
  opacity: 0; }

#menuButton.active span:last-child {
  transform: translateY(-9px) rotate(-42deg); }

.sp__bottom--btnbox {
  display: none;
  position: fixed;
  bottom: 0;
  background: rgba(157, 216, 219, 0.8);
  padding: 22px 0;
  width: 100%;
  z-index: 9999; }
  .sp__bottom--btnbox .sp__bottom--btn a {
    display: block;
    max-width: 300px;
    color: #fff;
    text-align: center;
    font-size: calc(18 / 1400 * 100vw);
    margin: 0 auto;
    background: linear-gradient(45deg, #02ADCE, #6BBEDE 80%);
    padding: 25px 0;
    text-decoration: none;
    border-radius: 50px; }
    @media screen and (min-width: 1440px) {
      .sp__bottom--btnbox .sp__bottom--btn a {
        font-size: 18px; } }
    @media screen and (max-width: 768px) {
      .sp__bottom--btnbox .sp__bottom--btn a {
        max-width: 350px;
        font-size: 16px;
        margin: 0 auto; } }
    @media screen and (max-width: 600px) {
      .sp__bottom--btnbox .sp__bottom--btn a {
        max-width: 300px;
        font-size: 16px;
        padding: 17px 0; } }
  @media screen and (max-width: 768px) {
    .sp__bottom--btnbox .sp__bottom--btn a:active {
      max-width: 350px;
      font-size: 16px;
      margin: 0 auto;
      opacity: 1 !important;
      color: #fff !important; } }
  @media screen and (max-width: 600px) {
    .sp__bottom--btnbox .sp__bottom--btn a:active {
      max-width: 300px;
      font-size: 16px;
      padding: 17px 0;
      opacity: 1 !important;
      color: #fff !important; } }
  @media screen and (max-width: 768px) {
    .sp__bottom--btnbox .sp__bottom--btn a:hover {
      max-width: 350px;
      font-size: 16px;
      margin: 0 auto;
      opacity: 1 !important;
      color: #fff !important; } }
  @media screen and (max-width: 600px) {
    .sp__bottom--btnbox .sp__bottom--btn a:hover {
      max-width: 300px;
      font-size: 16px;
      padding: 17px 0;
      opacity: 1 !important;
      color: #fff !important; } }

    /*

    fuwat
    -----------------------------------*/
.fuwatAnime {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.7s;
  -ms-animation-duration: 0.7s;
  animation-duration: 0.7s;
  -webkit-animation-name: fuwatAnime;
  -ms-animation-name: fuwatAnime;
  animation-name: fuwatAnime;
  visibility: visible !important;
  animation-timing-function: ease; }

@-webkit-keyframes fuwatAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes fuwatAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
.fuwatAnime02 {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.7s;
  -ms-animation-duration: 0.7s;
  animation-duration: 0.7s;
  -webkit-animation-name: fuwatAnime02;
  -ms-animation-name: fuwatAnime02;
  animation-name: fuwatAnime02;
  visibility: visible !important;
  animation-delay: 0.2s;
  animation-timing-function: ease; }

@-webkit-keyframes fuwatAnime02 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes fuwatAnime02 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
.fuwatAnime03 {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.3s;
  -ms-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-name: fuwatAnime03;
  -ms-animation-name: fuwatAnime03;
  animation-name: fuwatAnime03;
  visibility: visible !important;
  animation-delay: 0s;
  animation-timing-function: ease; }

@-webkit-keyframes fuwatAnime03 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
    -webkit-transform: translateX(100px); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    -webkit-transform: translateX(0); } }
@keyframes fuwatAnime03 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transform: translateX(100px); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transform: translateX(0px); } }
.fuwatAnime04 {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.7s;
  -ms-animation-duration: 0.7s;
  animation-duration: 0.7s;
  -webkit-animation-name: fuwatAnime04;
  -ms-animation-name: fuwatAnime04;
  animation-name: fuwatAnime04;
  visibility: visible !important;
  animation-delay: 0.3s;
  animation-timing-function: ease; }

@-webkit-keyframes fuwatAnime04 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes fuwatAnime04 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
.fuwatAnime05 {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.5s;
  -ms-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-name: fuwatAnime05;
  -ms-animation-name: fuwatAnime05;
  animation-name: fuwatAnime05; }

@-webkit-keyframes fuwatAnime05 {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }
@keyframes fuwatAnime05 {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }
@media screen and (max-width: 600px) {
  .fuwatAnime_sp {
    -webkit-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 0.7s;
    -ms-animation-duration: 0.7s;
    animation-duration: 0.7s;
    -webkit-animation-name: fuwatAnime;
    -ms-animation-name: fuwatAnime;
    animation-name: fuwatAnime;
    visibility: visible !important;
    animation-timing-function: ease; }

  @-webkit-keyframes fuwatAnime {
    0% {
      opacity: 0;
      -webkit-transform: translateY(50px); }
    100% {
      opacity: 1;
      -webkit-transform: translateY(0); } }
  @keyframes fuwatAnime {
    0% {
      opacity: 0;
      -webkit-transform: translateY(50px);
      -ms-transform: translateY(50px);
      transform: translateY(50px); }
    100% {
      opacity: 1;
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0); } } }
.ttlAnime {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.3s;
  -ms-animation-duration: 1.3s;
  animation-duration: 1.3s;
  -webkit-animation-name: ttlAnime;
  -ms-animation-name: ttlAnime;
  animation-name: ttlAnime;
  visibility: visible !important;
  animation-delay: 1s; }

@-webkit-keyframes ttlAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes ttlAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
/*フェードイン表示の指定*/
.fadein {
  opacity: 0;
  animation: fadein 1.5s ease forwards; }

@keyframes fadein {
  100% {
    opacity: 1; } }
.smooth {
  clip-path: inset(0 100% 0 0);
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: clip-path;
  line-height: 1;
  height: 40px;
  margin-top: 15px; }

.smooth.is-animated {
  clip-path: inset(0); }

@media screen and (min-width: 769px) {
  .sp {
    display: none; } }
@media all and (min-width: 0px) and (max-width: 768px) {
  .pc {
    display: none; } }
.kv__pc {
  display: block; }
  @media screen and (max-width: 1180px) {
    .kv__pc {
      display: none; } }
  @media screen and (max-width: 600px) {
    .kv__pc {
      display: none; } }

.kv__ipad {
  display: none; }
  @media screen and (max-width: 1180px) {
    .kv__ipad {
      display: block; } }
  @media screen and (max-width: 600px) {
    .kv__ipad {
      display: none; } }

.kv__sp {
  display: none; }
  @media screen and (max-width: 600px) {
    .kv__sp {
      display: block; } }
}