@charset "utf-8";

/* ----------------------------------------------------
  １文字ずつ登場する文字
---------------------------------------------------- */
.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}	

/* ----------------------------------------------------
  ローディング
---------------------------------------------------- */
.fadeUp{
  animation-name: fadeUpAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.start {
  background: #f6f4f1;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 9999;
}

.start img {
  width: 40vw;        /* 画面幅の40% */
  max-width: 392px;   /* 上限 */
  min-width: 200px;   /* 下限 */
  height: auto;
}

/* 小さいスマホ用 */
@media only screen and (max-width: 480px) {
  .start img {
    width: 80vw;  /* 画面幅の60%に拡大 */
    max-width: none;
  }
}

.start p {
  position: fixed;
  left: 50%;
  top: 48%;
  transform: translate(-50%,-50%);
  display: none;
  z-index: 9999;
}

.loading {
  position: fixed;
  top: 69%;
  transform: translate(-50%,-50%);
  display: none;
  z-index: 9999;
  left: 50%;
  color: #ff6825;
  font-size: 20px;
}

.loading span {
  display: inline-block;
  margin: 0 -.075em 50px;
  animation: loading .7s infinite alternate;
}
.loading span:nth-child(2) {animation-delay: .1s;}
.loading span:nth-child(3) {animation-delay: .2s;}
.loading span:nth-child(4) {animation-delay: .3s;}
.loading span:nth-child(5) {animation-delay: .4s;}
.loading span:nth-child(6) {animation-delay: .5s;}
.loading span:nth-child(7) {animation-delay: .6s;}

@keyframes loading {
  0% { transform: scale(1); }
  100% { transform: scale(0.8); }
}

/* ----------------------------------------------------
  slick-slider
---------------------------------------------------- */
.slider {width:94%;	margin:0 auto;}
.slider .slick-slide {margin:0 10px;}
.slick-prev, 
.slick-next {
    position: absolute;
    top: 42%;
    cursor: pointer;
    outline: none;
    border-top: 2px solid #111;
    border-right: 2px solid #111;
    height: 15px;
    width: 15px;
}
.slick-prev {left: -1.5%; transform: rotate(-135deg);}
.slick-next {right: -1.5%;transform: rotate(45deg);}
.slider {width:94%; margin:0 auto;}
.slider .slick-slide {margin:0 20px;}
.slick-prev, 
.slick-next {
    position: absolute;
    top: 42%;
    cursor: pointer;
    outline: none;
    border-top: 2px solid #111;
    border-right: 2px solid #111;
    height: 15px;
    width: 15px;
}
.slick-prev {left: -1.5%; transform: rotate(-135deg);}
.slick-next {right: -1.5%; transform: rotate(45deg);}

/* カード
---------------------------- */
.slider_card_area{
  padding:15px 20px 20px 20px;
  background: #fff;
  border: 2px solid #222;
  border-radius: 10px;
}

@media print, screen and (min-width: 768px) {
.slider_card_area{
  padding:15px 20px 20px 20px;
  }
}

@media print, screen and (min-width: 1200px) {
.slider_card_area{
  padding:20px 25px 25px 25px;
  }
}

/* photo
---------------------------- */
.slider_card_area_photo {
	height: 0;
	display: block;
	overflow: hidden;
	position: relative;
	padding-bottom: 75%;
	background: #f7f7f7;
  margin-bottom: 10px;
}
.slider_card_area img {
	max-width: inherit;
	max-height: inherit;
	width: 100%;
	height: 100%;
	object-fit: scale-down;
	font-family: 'object-fit: scale-down;';
	position: absolute;
	left: 0;
	top: 0;
}

/* text
---------------------------- */
.slider_card_area_text{
  margin-bottom: 10px;
}

/* slider_btn_in
---------------------------- */
.slider_btn_in {
  display: inline-block;
  width: 200px;
  padding: 6px 2px;
  text-align: center;
  letter-spacing: 1px;
  color: #fff !important;
  border: 2px solid #222;
  background: #11ba48;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 100px;
  box-shadow:5px 5px #222
}

.slider_btn_in:visited {
  color: #fff !important;
}

.slider_btn_in:hover,
.slider_btn_in:active {
  color: #fff !important;
  text-decoration: none !important;
  letter-spacing: 2px;  
}

/* ----------------------------------------------------
	   アコーディオン
---------------------------------------------------- */
.part_ctrg{padding:20px 0}
@media print, screen and (min-width: 768px) {.part_ctrg{padding:20px 0 10px 0}}

.accordion dt {
	display: inline-block;
	padding: 15px;
	width: 100%;
	font-weight: normal;
	color: #fff;
	background:#222;
	cursor:pointer;
}
.accordion dd{ display:none}
.accordion dd ul {
	list-style: none;
	padding: 0px;
	margin:0px;
}
.accordion dd li {
	border-bottom: 1px solid #ccc;
	background-color: #fff;
}
.accordion dd li a {
	display: block;
	padding: 15px;
	text-align: center;
}

.accordion dd li a:link,
.accordion dd li a:visited,
.accordion dd li a:hover,
.accordion dd li a:active{color:#222;}
.accordion dd li a:hover{background:#eee !important; color:#222 !important}
.accordionIcon,
.accordionIcon span{display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.accordionIcon {
	position: relative;
	width: 24px;
	height: 24px;
	float: right;
	display: block;
}
.accordionIcon span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #fff;
}
.accordionIcon span:nth-of-type(1) {top: 0;}
.accordionIcon span:nth-of-type(2) {top: 11px;}
.accordionIcon span:nth-of-type(3) {bottom: 0;}
.active .accordionIcon span:nth-of-type(1) {
	-webkit-transform: translateY(11px) rotate(-315deg);
	transform: translateY(11px) rotate(-315deg);
}
.active .accordionIcon span:nth-of-type(2) {
	opacity: 0;
}
.active .accordionIcon span:nth-of-type(3) {
	-webkit-transform: translateY(-11px) rotate(315deg);
	transform: translateY(-11px) rotate(315deg);
}

@media print, screen and (min-width: 768px){
.accordion dt {background-image:none; cursor:default;}
.accordion dt.active { background-image:none;}
.accordion dd{ display: block}
.accordionIcon { display: none;}

.accordion dd li a {
  padding:10px 5px;
  border-radius: 100px;
  border:2px solid #222;
}	
.accordion dd li a:hover{
  background:#222 !important;
  color:#fff !important;
	}
.accordion dd ul {
  border:0;
	}
.accordion dd li {
  background-color: #fff;
  float: left;
  border:0;
  margin:0 8px 15px 8px;
  border-radius: 100px
	}
}

@media print, screen and (min-width:768px){.accordion dd li {width: 31%;}}
@media print, screen and (min-width:992px){.accordion dd li {width: 23%;}}
@media print, screen and (min-width:1200px){.accordion dd li {width: 23%;}}
@media print, screen and (min-width:1400px){.accordion dd li {width: 23%;}}
@media print, screen and (min-width:1600px){.accordion dd li {width: 18%;}}

@media only screen and (max-width: 767px) {.accordion .navon {background:#eee !important; color:#222 !important}}
@media print, screen and (min-width: 768px) {.accordion .navon { background:#222 !important; color:#fff !important}}