@charset "utf-8";

.h_bar, 
#beltbnr {
	display: none;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}

#specialty a:hover img {
  opacity: 1 !important;
}


/*--SP--*/
@media only screen and (max-width: 767px) {
.sp {
  display: block;
}
.pc {
  display: none;
}

/* MAIN */
main {
  width: 100%;
  margin: 0 auto;
}

/* KV */
.kv {
  width: 100%;
  margin: 0 auto 30px;
}

/* LEAD */
.lead {
  width: calc(100% - 40px);
  margin: 0 auto 60px;
}
.lead p {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 2;
  color: #000000;
  text-align: justify;
}
.lead p br {
  display: none;
}

/* BRAND */
/*-- ITEM 共通 --*/
.title {
  text-align: center;
}
.title div {
  display: block;
  position: relative;
  font-family: 'Times New Roman', Times, serif !important;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000000;
}
.title div::after {
  content: "";
  display: block;
  width: 15px;
  height: 1px;
  margin: 10px auto 15px;
  background: #000000;
}
.title h2 {
  margin: -0.4em 0;
  font-family: 'Times New Roman', Times, serif !important;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.8;
  color: #000000;
}
.content {
  width: 100%;
  margin: 45px auto 0;
}
.content .image {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.content .icon {
  width: 17.33%;
  max-width: 130px;
  position: absolute;
}
.caption h3 {
  padding: 0 3%;
  display: inline-block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.8;
  color: #ffffff;
  position: relative;
  overflow: hidden;
}
.caption h3::after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: #000000;
  width: 100%;
  height: 100%;
  z-index: -1;
  transform: translateX(-100%);
}
.caption h3.active::after {
  animation-name: box_slide;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  transform: translateX(-100%);
}
.caption h3 span {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
  opacity: 0;
}
.caption h3.active span {
  animation-name: text_fadein;
  animation-duration: 0.5s;
  animation-delay: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}
.caption p {
  margin: 30px auto 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000000;
  text-align: justify;
}
.credit {
  width: calc(100% - 80px);
  margin: 30px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.credit .name {
  width: 70%;
  text-align: left;
}
.credit .btn {
  width: 30%;
  text-align: right;
}
.credit .name a {
  font-family: Roboto,'游ゴシック Medium', sans-serif !important;    
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000000;
  text-decoration: none;
}
.credit .btn a {
  padding: 2% 6%;
  font-family: Roboto,'游ゴシック Medium', sans-serif !important;    
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.8;
  color: #ffffff;
  text-decoration: none;
  border: 1px solid #000000;
  background-color: #000000;
  transition: background 1s;
}
.credit .btn a:hover {
  color: #000000;
  border: 1px solid #000000;
  background-color: #ffffff;
}

/* ICON 位置調整 */
.item01 .content .icon, 
.item03 .content .icon, 
.item05 .content .icon {
  bottom: 20px;
  right: 20px;
}
.item02 .content .icon, 
.item04 .content .icon, 
.item06 .content .icon {
  top: 20px;
  left: 20px;
}

/*-- ITEM 01 / ITEM 03 / ITEM 06 共通 --*/
.item01, 
.item03, 
.item06 {
  width: 100%;
  margin: 0 auto 60px;
}
.item01 .content .text, 
.item03 .content .text, 
.item06 .content .text {
  width: 100%;
  padding: 30px 0 0;
}
.item01 .caption, 
.item03 .caption, 
.item06 .caption {
  width: calc(100% - 40px);
  margin: 0 auto;
  text-align: left;
}
.item01 .credit .name a span, 
.item03 .credit .name a span, 
.item06 .credit .name a span {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
}
.item01 .credit.main, 
.item03 .credit.main, 
.item06 .credit.main {
  padding-bottom: 20px;
  border-bottom: 1px solid #000000;
}
.item01 .credit.sub, 
.item03 .credit.sub, 
.item06 .credit.sub {
  margin: 20px auto 0 !important;
}

/*-- ITEM 02 / ITEM 04 / ITEM 05 共通 --*/
.item02, 
.item04, 
.item05 {
  width: 100%;
  margin: 0 auto 60px;
}
.item02 .caption, 
.item04 .caption, 
.item05 .caption {
  width: calc(100% - 40px);
  margin: 30px auto 0; 
  text-align: left;
}

/* LINK */
.relatedLink {
  margin: 60px auto 0;
  text-align: center;
}
.relatedLink a {
  padding: 2% 6%;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 1.4rem;
  font-weight: bold;
  color: #ffffff;
  text-decoration: none;
  border: 1px solid #000000;
  background-color: #000000;
  transition: background 1s;
}
.relatedLink a:hover {
  background-color: #ffffff;
  color: #000000;
}

/* BANNER */
.relatedBnr {
  width: calc(100% - 40px);
  margin: 60px auto;
  text-align: center;
}
.relatedBnr h4 {
  margin: 0 auto 15px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 1.6rem;
  font-weight: bold;
  color: #000000;
}

}


/*--PC--*/
@media only screen and (min-width: 768px) {
.sp {
  display: none;
}
.pc {
  display: block;
}

/* MAIN */
main {
  width: 900px;
  margin: 0 auto;
}

/* KV */
.kv {
  width: 100%;
  margin: 0 auto 30px;
}

/* LEAD */
.lead {
  width: 100%;
  margin: 0 auto 120px;
}
.lead p {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  color: #000000;
  text-align: center;
}

/* BRAND */
/*-- ITEM 共通 --*/
.title {
  text-align: center;
}
.title div {
  display: block;
  position: relative;
  font-family: 'Times New Roman', Times, serif !important;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000000;
}
.title div::after {
  content: "";
  display: block;
  width: 15px;
  height: 1px;
  margin: 10px auto 15px;
  background: #000000;
}
.title h2 {
  margin: -0.4em 0;
  font-family: 'Times New Roman', Times, serif !important;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.8;
  color: #000000;
}
.content {
  width: 100%;
  margin: 45px auto 0;
}
.content .image {
  width: 450px;
  margin: 0 auto;
  position: relative;
}
.content .icon {
  width: 17.33%;
  max-width: 130px;
  position: absolute;
}
.caption h3 {
  padding: 0 3%;
  display: inline-block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.8;
  color: #ffffff;
  position: relative;
  overflow: hidden;
}
.caption h3::after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: #000000;
  width: 100%;
  height: 100%;
  z-index: -1;
  transform: translateX(-100%);
}
.caption h3.active::after {
  animation-name: box_slide;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  transform: translateX(-100%);
}
.caption h3 span {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
  opacity: 0;
}
.caption h3.active span {
  animation-name: text_fadein;
  animation-duration: 0.5s;
  animation-delay: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}
.caption p {
  margin: 30px auto 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000000;
  text-align: justify;
}
.credit {
  width: calc(100% - 80px);
  margin: 30px auto 0;
  display: flex;

  justify-content: space-between;
  align-items: center;
}
.credit .name {
  width: 70%;
  text-align: left;
}
.credit .btn {
  width: 30%;
  text-align: right;
}
.credit .name a {
  font-family: Roboto,'游ゴシック Medium', sans-serif !important;    
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000000;
  text-decoration: none;
}
.credit .btn a {
  padding: 2% 6%;
  font-family: Roboto,'游ゴシック Medium', sans-serif !important;    
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.8;
  color: #ffffff;
  text-decoration: none;
  border: 1px solid #000000;
  background-color: #000000;
  transition: background 1s;
}
.credit .btn a:hover {
  color: #000000;
  border: 1px solid #000000;
  background-color: #ffffff;
}

/* ICON 位置調整 */
.item01 .content .icon, 
.item03 .content .icon {
  bottom: 47px;
  right: 20px;
}
.item05 .content .icon {
  bottom: 20px;
  right: 20px;
}
.item02 .content .icon, 
.item04 .content .icon, 
.item06 .content .icon {
  top: 20px;
  left: 20px;
}

/*-- ITEM 01 / ITEM 03 / ITEM 06 共通 --*/
.item01, 
.item03, 
.item06 {
  width: 100%;
  margin: 0 auto 120px;
}
.item01 .content, 
.item03 .content, 
.item06 .content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.item01 .content .text, 
.item03 .content .text, 
.item06 .content .text {
  width: 400px;
  margin: 0 auto;
}
.item01 .caption, 
.item03 .caption, 
.item06 .caption {
  width: calc(100% - 40px);
  margin: 0 auto;
  text-align: left;
}
.item01 .credit .name a span, 
.item03 .credit .name a span, 
.item06 .credit .name a span {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
}
.item01 .credit.main, 
.item03 .credit.main, 
.item06 .credit.main {
  padding-bottom: 20px;
  border-bottom: 1px solid #000000;
}
.item01 .credit.sub, 
.item03 .credit.sub, 
.item06 .credit.sub {
  margin: 20px auto 0 !important;
}

/*-- ITEM 02 / ITEM 04 / ITEM 05 共通 --*/
.item02, 
.item04, 
.item05 {
  width: 450px;
  margin: 0 auto 120px;
}
.item02 .caption, 
.item04 .caption, 
.item05 .caption {
  width: calc(100% - 40px);
  margin: 30px auto 0; 
  text-align: left;
}

/* LINK */
.relatedLink {
  margin: 120px auto 0;
  text-align: center;
}
.relatedLink a {
  padding: 2% 6%;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 1.4rem;
  font-weight: bold;
  color: #ffffff;
  text-decoration: none;
  border: 1px solid #000000;
  background-color: #000000;
  transition: background 1s;
}
.relatedLink a:hover {
  background-color: #ffffff;
  color: #000000;
}

/* BANNER */
.relatedBnr {
  width: 430px;
  margin: 120px auto;
  text-align: center;
}
.relatedBnr h4 {
  margin: 0 auto 30px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif !important;
  font-size: 1.6rem;
  font-weight: bold;
  color: #000000;
}

}

/*--SP/PC共通--*/
/* Dots */
.slick-dots li {
  margin: 0 2px !important;
}

/* フェードイン */
.fadeIn {
  opacity: 0;
  transform: translate(0, 30px);
  transition: 2s;
}
.fadeIn.active {
  opacity: 1;
  transform: translate(0, 0);
}

/* アニメーション */
@keyframes box_slide {
  0% {
    transform: translate(-100%,0);
  }
  100% {
    transform: translate(0,0);
  }
}
@keyframes text_fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}