@charset "utf-8";

/* slider
===================================================== */

	.c-slider {
		overflow: hidden;
		width: 100%;
		}
  .c-slider img {
    width: 100%;
    height: auto;
    }

  .c-slider .slick-dots {
    bottom: 10px;
    }
  .c-slider .slick-dots li button:before {
    content:'';
		-webkit-border-radius: 50%;
			 -moz-border-radius: 50%;
						border-radius: 50%;
				-ms-border-radius: 50%;
    background: var(--slick-dots);
    opacity: 1;
    left: 50%;
    }
  .c-slider .slick-dots li.slick-active button:before{
    background: var(--slick-active);
    }
  .c-slider.slick-dotted.slick-slider {
    margin-bottom: 0!important;
    }

	@media print, screen and (min-width: 768px) {
    .c-slider .slick-dots li {
      margin: 0 2px;
      }
    .c-slider .slick-dots li button:before {
      width: 12px;
      height: 12px;
      margin-left: -6px;
      }
	}
	@media (max-width: 767px) {
		.c-slider .slick-list {
			}
    .c-slider .slick-dots {
      bottom: 10px;
      }
    .c-slider .slick-dots li {
      margin: 0 1px;
      }
    .c-slider .slick-dots li button:before {
      width: 8px;
      height: 8px;
      margin-left: -4px;
      }
	}


/* 画像とテキスト横並び
===================================================== */

	[class*="c-imgtext-"] {
    display: -webkit-flex;
    display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: center;
		justify-content: center;
    margin-bottom: 30px;
		}
    .c-imgtext-32pit,
    .c-imgtext-320it {
      display: -webkit-grid;
      display: grid;
      -webkit-justify-content: center;
      justify-content: center;
      }
	[class*="c-imgtext-"] figure {
    text-align: center
		}


  /* スマホ時画像が上 */
  .c-imgtext-auto > *,
  .c-imgtext-480 > * {
    width: 100%;
    max-width: 480px;
    }
  .c-imgtext-480it {
    gap: 40px 40px;
    }
    .c-imgtext-480it > * {
      width: 100%;
      max-width: 480px;
      }
  .c-imgtext-48pit  {
    gap: 30px 4%;
    }
  .c-imgtext-320it {
    grid-template-columns: repeat(auto-fit, 320px);
    gap: 40px 20px;
    }
  .c-imgtext-32pit {
    gap: 40px 2%;
    }

	@media print, screen and (min-width: 768px) {
    [class*="c-imgtext-"].c-imgtext-reverse {
      -webkit-flex-direction: row-reverse;
      flex-direction: row-reverse;
      }    
    .c-imgtext-auto,
    .c-imgtext-480 {
      gap: 0 40px;
      }
    .c-imgtext-100pit {
      width: 100%;
      }
    .c-imgtext-100pit > * {
      width: 100%;
      }
    .c-imgtext-48pit > * {
      width: 48%;
      }
    .c-imgtext-32pit {
      grid-template-columns: repeat(auto-fit, 32%);
      }
    .c-imgtext-auto > .c-imgarea {
      flex: 1;
      }
	}
    @media screen and (min-width:768px) and (max-width:1060px){
      .c-imgtext-auto {
        gap: 0 3%;
        }
      .c-imgtext-auto > .c-imgarea {
        width: 40%;
        }
    }
	@media (max-width: 767px) {
    [class*="c-imgtext-"] {
      width: 90%;
      margin-left: auto;
      margin-right: auto;
      }
    .c-imgtext-32pit {
      grid-template-columns: repeat(auto-fit, 90%);
      }
	}
    @media (max-width: 350px) {
      .c-imgtext-320it {
        grid-template-columns: repeat(auto-fit, 100%);
        }
    }




/* ICONとテキスト横並び
===================================================== */

	[class*="c-icontext-"] {
    display: -webkit-flex;
    display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: center;
		justify-content: center;
    text-align: center;
    gap: 60px 20px;
		}

	@media print, screen and (min-width: 768px) {
  .c-icontext-2 {
    column-gap: 5%;
    }
    .c-icontext-2 > dl {
      width: 45%;
      }
  .c-icontext-3 {
    column-gap: 5%;
    }
    .c-icontext-3 > dl {
      width: 300px;
      }
  .c-icontext-4 {
    column-gap: 3%;
    }
    .c-icontext-4 > dl {
      width: 220px;
      }
  .c-icontext-5 {
    column-gap: 2%;
    }
    .c-icontext-5 > dl {
      width: 180px;
      }
	}
	@media (max-width: 767px) {
    [class*="c-icontext-"] {
      row-gap: 50px;
      }
    .c-icontext-5 > dl,
    .c-icontext-4 > dl,
    .c-icontext-3 > dl,
    .c-icontext-2 > dl {
      width: 100%;
      }
	}
/*  .c-icontext-2 > dl {
    grid-template-columns: repeat(auto-fit, 460px);
    }
  .c-icontext-3 {
    grid-template-columns: repeat(auto-fit, 320px);
    }
  .c-icontext-4 {
    grid-template-columns: repeat(auto-fit, 220px);
    }
  .c-icontext-5 {
    grid-template-columns: repeat(auto-fit, 180px);
    }
*/


  [class*="c-icontext-"] > dl {
    display: -webkit-grid;
    display: grid;
    }
  [class*="c-icontext-"] > dl > dt {
    font-weight: bold;
    }
  [class*="c-icontext-"] > dl > dt > i  {
    display: block;
    }
  [class*="c-icontext-"] > dl > dd.c-icontext-btn  {
    align-self: end;
    }

	@media print, screen and (min-width: 768px) {
    [class*="c-icontext-"] > dl > dt {
      font-size: 2.2rem;  
      }
    [class*="c-icontext-"] > dl > dt > i  {
      font-size: 6.0rem;
      padding-bottom: 10px;
      }
	}
    @media screen and (min-width:768px) and (max-width:1060px){
    }
	@media (max-width: 767px) {
    [class*="c-icontext-"] > dl {
      width: 90%;
      }
    [class*="c-icontext-"] > dl > dt {
      font-size: 1.8rem;  
      }
    [class*="c-icontext-"] > dl > dt > i  {
      font-size: 3.6rem;
      padding-bottom: 8px;
      }
	}



/* 写真のリンクバナー
===================================================== */

	[class*="c-phbn-"] {
    display: -webkit-grid;
    display: grid;
		-webkit-justify-content: center;
		justify-content: center;
    gap: 0;
    line-height: 0;
    text-align: center;
		}
	[class*="c-phbn-"] > * {
    position: relative;
		}
	.c-phbnlink {
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 10px;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.6);
    color: #fff;
    text-decoration: none;
    line-height: 1.2;
    display: -webkit-box!important;
		display: -moz-box!important;
		display: -ms-flexbox!important;
		display: -webkit-flex!important;
		display: flex!important;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		}
  .c-phbnname {
    display: block;
    position: relative;
    }
    .c-phbnname::after {
      position: absolute;
      content: '';
      background-color: #fff;
      left: 50%;
      }
  .c-phbnsub {
    display: block;
    }
  .c-phbn-1 {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    }
  .c-phbn-2 {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    }
  .c-phbn-3 {
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
    }

	@media print, screen and (min-width: 768px) {
    .c-phbnname {
      font-size: 2.6rem;
      margin-bottom: 20px;
      }
    .c-phbnname::after {
      bottom: -18px;
      width: 48px;
      height: 3px;
      margin-left: -24px;
      }
    .c-phbnsub {
      font-size: 1.4rem;
      padding-top: 35px;
      }
    .c-phbnlink:hover {
      background-color: rgba(0,0,0,0.8);
      color: #fff!important;
      }
    .c-phbn-2 {
      grid-template-columns: repeat(2, 1fr);
      }
    .c-phbn-3 {
      grid-template-columns: repeat(3, 1fr);
      }
  }
	@media (max-width: 767px) {
    .c-phbnname {
      font-size: 2.0rem;
      margin-bottom: 15px;
      }
    .c-phbnname::after {
      bottom: -10px;
      width: 30px;
      height: 2px;
      margin-left: -15px;
      }
    .c-phbnsub {
      font-size: 1.3rem;
      padding-top: 15px;
      }
	}



/* 写真レイアウト
===================================================== */

	[class*="c-photos__"] {
    display: -webkit-grid;
    display: grid;
    line-height: 0;
    text-align: center;
		}
    [class*="c-photos__"] img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      }
    [class*="c-photos__"] figure {
      position: relative;
      }
    [class*="c-photos__"] figcaption {
      position: absolute;
      line-height: 1.2;
      font-size: 1.3rem;
      font-weight: bold;
      right: 5px;
      bottom: 5px;
      width: 90%;
      text-align: right;
      color: #fff;
    text-shadow:0 0 0.10em rgba(0,0,0,0.8),
        0 0 0.15em rgba(0,0,0,0.8),
        0 0 0.80em rgba(0,0,0,0.8),
        0 0 1.00em rgba(0,0,0,0.8);
      }
    @media (max-width: 767px) {
      [class*="c-photos__"] figcaption {
        line-height: 1.1;
        font-size: 1.1rem;
        }
    }

    .c-phototate {
      position: relative;
      display: block;
      width: 100%;
      padding-top: 66.6%;
      }
    .c-phototate img{
      position: absolute;
      display: block;
      width: 100%;
      height: 100%;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      }



    .c-photos__l1-s2 {
      grid-template-columns: 1fr 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      }
      .c-photos__l1-s2 > *:nth-child(1) {
        grid-column: 1 / 3;
        grid-row: 1 / 3;
        }
      .c-photos__l1-s2 > *:nth-child(2) {
        grid-column: 3 / 4;
        grid-row: 1 / 2;
        }
      .c-photos__l1-s2 > *:nth-child(3) {
        grid-column: 3 / 4;
        grid-row: 2 / 3;
        }

    .c-photos__s2-l1 {
      grid-template-columns: 1fr 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      }
      .c-photos__s2-l1 > *:nth-child(1) {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        }
      .c-photos__s2-l1 > *:nth-child(2) {
        grid-column: 2 / 4;
        grid-row: 1 / 3;
        }
      .c-photos__s2-l1 > *:nth-child(3) {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        }

    .c-photos__m1-m1 {
      grid-template-columns: 1fr 1fr;
      }
/*      .c-photos__m1-m1 > *:nth-child(1) {
        grid-column: 1 / 2;
        }
      .c-photos__m1-m1 > *:nth-child(2) {
        grid-column: 2 / 3;
        }*/

    .c-photos__t1-m1-t1 {
      grid-template-columns: 1fr 2fr 1fr;
      }
      
    .c-photos__t1-m1-m1 {
      grid-template-columns: 1fr 2fr 2fr;
      }
      
    .c-photos__m1-m1-t1 {
      grid-template-columns: 2fr 2fr 1fr;
      }

    .c-photos__s2-t1-t1 {
      grid-template-columns: 1fr 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      }
      .c-photos__s2-t1-t1 > *:nth-child(1) {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        }
      .c-photos__s2-t1-t1 > *:nth-child(2) {
        grid-column: 2 / 3;
        grid-row: 1 / 3;
        }
      .c-photos__s2-t1-t1 > *:nth-child(3) {
        grid-column: 3 / 4;
        grid-row: 1 / 3;
        }
      .c-photos__s2-t1-t1 > *:nth-child(4) {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        }

    .c-photos__s2-t1-s2 {
      grid-template-columns: 1fr 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      }
      .c-photos__s2-t1-s2 > *:nth-child(1) {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        }
      .c-photos__s2-t1-s2 > *:nth-child(2) {
        grid-column: 2 / 3;
        grid-row: 1 / 3;
        }
      .c-photos__s2-t1-s2 > *:nth-child(3) {
        grid-column: 3 / 4;
        grid-row: 1 / 2;
        }
      .c-photos__s2-t1-s2 > *:nth-child(4) {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        }
      .c-photos__s2-t1-s2 > *:nth-child(5) {
        grid-column: 3 / 4;
        grid-row: 2 / 3;
        }

	@media print, screen and (min-width: 768px) {
    [class*="c-photos__"] {
      gap: 13px 20px;
      }
  }
	@media (max-width: 767px) {
    [class*="c-photos__"] {
      gap: 6px 10px;
      }
	}



/* ギャラリー
===================================================== */

	[class*="c-gallery__"] {
    display: -webkit-grid;
    display: grid;
		-webkit-justify-content: center;
		justify-content: center;
    line-height: 0;
		}
    [class*="c-gallery__"] figcaption {
      line-height: 1.2;
      font-size: 1.4rem;
      padding-top: 10px;
      padding-bottom: 10px;
      text-align: center;
      }
    @media (max-width: 767px) {
      [class*="c-gallery__"] figcaption {
        line-height: 1.1;
        font-size: 1.2rem;
        }
    }

	.c-galleryph {
    position: relative;
    display: block;
    width: 100%;
    padding-top: 100%;
		}
	.c-galleryph img{
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
    }

	@media print, screen and (min-width: 768px) {
    .c-gallery__3 {
      grid-template-columns: repeat(auto-fit, 30%);
      gap: 5%;
      }
    .c-gallery__4 {
      grid-template-columns: repeat(auto-fit, 23%);
      gap: 2.5%;
      }
    .c-gallery__5 {
      grid-template-columns: repeat(auto-fit, 18%);
      gap: 2.5%;
      }
  }
	@media (max-width: 767px) {
    .c-gallery__3,
    .c-gallery__4,
    .c-gallery__5 {
      grid-template-columns: repeat(auto-fit, 32%);
      gap: 2%;
      }
	}



/* SNSバナー
===================================================== */

	[class*="c-snsbn__"] {
    display: -webkit-grid;
    display: grid;
    line-height: 0;
    text-align: center;
		}
    .c-snsbn-text {
      font-weight: bold;
      display: -webkit-box!important;
      display: -moz-box!important;
      display: -ms-flexbox!important;
      display: -webkit-flex!important;
      display: flex!important;
      -webkit-flex-direction: column;
      flex-direction: column;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-align-items: center;
      align-items: center;
      line-height: 1.2;
      }
    .c-snsbn-textsub {
      display: block;
      padding-bottom: 5px;
      }


	@media print, screen and (min-width: 768px) {
    [class*="c-snsbn__"] {
      gap: 20px;
      }
    .c-snsbn-text {
      font-size: 3.4rem;
      }
    .c-snsbn-textsub {
      font-size: 1.4rem;
      }
    
    .c-snsbn__4 {
      grid-template-columns: 360px 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      }
      .c-snsbn__4 > *:nth-child(1) {
        grid-column: 1 / 2;
        grid-row: 1 / 3;
        }
      .c-snsbn__4 > *:nth-child(2) {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        }
      .c-snsbn__4 > *:nth-child(3) {
        grid-column: 3 / 4;
        grid-row: 1 / 2;
        }
      .c-snsbn__4 > *:nth-child(4) {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        }
      .c-snsbn__4 > *:nth-child(5) {
        grid-column: 3 / 4;
        grid-row: 2 / 3;
        }

    .c-snsbn__3 {
      grid-template-columns: 1fr 1fr 1fr;
      grid-template-rows: 1.2fr 1fr;
      }
      .c-snsbn__3 > *:nth-child(1) {
        grid-column: 1 / 4;
        grid-row: 1 / 2;
        }
      .c-snsbn__3 > *:nth-child(2) {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        }
      .c-snsbn__3 > *:nth-child(3) {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        }
      .c-snsbn__3 > *:nth-child(4) {
        grid-column: 3 / 4;
        grid-row: 2 / 3;
        }
    
    .c-snsbn__2 {
      grid-template-columns: 360px 1fr 1fr;
      }
      .c-snsbn__2 > *:nth-child(1) {
        grid-column: 1 / 2;
        }
      .c-snsbn__2 > *:nth-child(2) {
        grid-column: 2 / 3;
        }
      .c-snsbn__2 > *:nth-child(3) {
        grid-column: 3 / 4;
        }

    .c-snsbn__1 {
      grid-template-columns: 1fr 300px 300px 1fr;
      }
      .c-snsbn__1 > *:nth-child(1) {
        grid-column: 2 / 3;
        }
      .c-snsbn__1 > *:nth-child(2) {
        grid-column: 3 / 4;
        }
  }
  @media screen and (min-width:768px) and (max-width:1024px) {
      .c-snsbn__2,
      .c-snsbn__4 {
      grid-template-columns: 1fr 1fr 1fr;
      }
  }
  @media (max-width: 767px) {
    [class*="c-snsbn__"] {
      gap: 10px;
      }
    .c-snsbn-text {
      font-size: 1.6rem;
      }
    .c-snsbn-textsub {
      font-size: 1.3rem;
      }
    .c-snsbn__1 .c-snsbn-textsub,
    .c-snsbn__3 .c-snsbn-textsub {
      display: none;
      }
    
    .c-snsbn__4 {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1.2fr 1fr 1fr;
      }
      .c-snsbn__4 > *:nth-child(1) {
        grid-column: 1 / 3;
        grid-row: 1 / 2;
        }
      .c-snsbn__4 > *:nth-child(2) {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        }
      .c-snsbn__4 > *:nth-child(3) {
        grid-column: 2 / 3;
        grid-row: 2 / 4;
        }
      .c-snsbn__4 > *:nth-child(4) {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
        }
      .c-snsbn__4 > *:nth-child(5) {
        grid-column: 2 / 3;
        grid-row: 3 / 4;
        }

    .c-snsbn__3 {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      }
      .c-snsbn__3 > *:nth-child(1) {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        }
      .c-snsbn__3 > *:nth-child(2) {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        }
      .c-snsbn__3 > *:nth-child(3) {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        }
      .c-snsbn__3 > *:nth-child(4) {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        }
    
    .c-snsbn__2 {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1.2fr ;
      }
      .c-snsbn__2 > *:nth-child(1) {
        grid-column: 1 / 3;
        grid-row: 1 / 2;
        }
      .c-snsbn__2 > *:nth-child(2) {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        }
      .c-snsbn__2 > *:nth-child(3) {
        grid-column: 2 / 3;
        grid-row: 2 / 4;
        }

    .c-snsbn__1 {
      grid-template-columns: 1fr 1fr;
      }
      .c-snsbn__1 > *:nth-child(1) {
        grid-column: 1 / 2;
        }
      .c-snsbn__1 > *:nth-child(2) {
        grid-column: 2 / 3;
        }
	}



/* information
===================================================== */

  .c-info  {
    overflow-y: auto;
    height: 200px;
    padding-right: 5px;
    }
  .c-info > dl {
    display: -webkit-flex;
    display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
    align-items: stretch;	
    width: 100%;
    box-sizing: border-box;
    }
  .c-info > dl > dt {
    padding: 5px;
    width: 150px;
    box-sizing: border-box;
    }
  .c-info > dl > dd {
    margin: 0;
    padding: 5px;
    width: 70%;
    width: -webkit-calc( 100% - 150px);
    width: -moz-calc( 100% - 150px ); 
    width: calc( 100% - 150px );
    box-sizing: border-box;
    }
  @media screen and (max-width: 767px) {
    .c-info > dl > dt { 
      width: 100%;
      }
    .c-info > dl > dd {
      width: 100%; 
      }
  }    



/*	iframe　 /  youtube
===================================================== */

	.c-frame-gmap,
	.c-frame-sp,
	.c-frame {
		text-align: center;
		}
		.c-frame {
			position: relative;
			padding-bottom: 56.25%;
			padding-top: 30px;
			height: 0;
			overflow: hidden;
			}
		.c-frame iframe,
		.c-frame object,
		.c-frame embed {
			position: absolute;
			top: 0;
			right: 0;
			width: 100% !important;
			height: 100% !important;
			}
		.c-frame-gmap iframe,
		.c-frame-gmap object,
		.c-frame-gmap embed {
			width: 100% !important;
			}
	@media print, screen and (min-width: 768px) {
	}
	@media (max-width: 767px) {
		.c-frame-gmap,
		.c-frame-sp {
			position: relative;
			padding-bottom: 56.25%;
			padding-top: 30px;
			height: 0;
			overflow: hidden;
			}
		.c-frame-gmap iframe,
		.c-frame-gmap object,
		.c-frame-gmap embed,
		.c-frame-sp iframe,
		.c-frame-sp object,
		.c-frame-sp embed {
			position: absolute;
			top: 0;
			right: 0;
			width: 100% !important;
			height: 100% !important;
			}
	}



/*	sectionの背景パターン
===================================================== */

    /* 背景画像 */
    .sec-bgimg {
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      position: relative;
      z-index: 0;
      }
      .sec-bgimg::before {
        content: '';
        background-color: var(--sec-bgimg-maskcolor);
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: -1;
        }


