@charset "utf-8";

/**
りょうゴシック PlusN
font-family: ryo-gothic-plusn, sans-serif;
font-style: normal;

L
font-weight: 300;
R
font-weight: 400;
M
font-weight: 500;
B
font-weight: 700;

Bebas Neue Pro
font-family: bebas-neue-pro, sans-serif;
font-style: normal;

Regular
font-weight: 400;
Bold
font-weight: 600;

小塚ゴシック Pr6N
font-family: kozuka-gothic-pr6n, sans-serif;
font-style: normal;

R
font-weight: 400;

Komet
font-family: komet, sans-serif;
font-style: normal;

R
font-weight: 400;

FOT-筑紫ゴシック
font-family: "FOT-筑紫ゴシック Pr5 R";

***/

body {
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 14px;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  position: relative;
}
body.fixed {
	overflow-y: hidden;
}

.img {
  width: 100%;
  height: auto;
}

.img_cnt {
  width: 100%;
  height: 100%;
  object-fit: contain;
  -o-object-fit: contain;
  object-position: center;
  -o-object-position: center;
}
.img_cvr {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -o-object-fit: cover;
  object-position: center;
  -o-object-position: center;
}

.sp {
  display: none !important;
}

.pc {
  display: block !important;
}

.btn {
  padding-top: 10px;
  padding-bottom: 10px;
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  color: #ca5142;
  border-radius: 25px;
  overflow: hidden;
  padding-left: 30px;
  padding-right: 20px;
  border: 1px solid #ca5142;
  transition: background-color 0.3s;
}

.btn:hover {
  background-color: #ca5142;
  color: #fff;
  border: 1px solid #fff;
}

.btn:hover .cls-1 {
  stroke: #fff;
}

.btn:hover .cls-2 {
  fill: #fff;
}

.btn__left {
  font-size: 14px;
  font-weight: 700;
  padding-top: 8px;
  padding-bottom: 8px;
}

.btn__left-en {
  font-size: 14px;
  font-weight: 600;
  font-family: bebas-neue-pro, sans-serif;
  margin-left: 5px;
  letter-spacing: 0.07em;
}

.btn__right {
  display: flex;
  align-items: center;
  min-width: 106px;
  font-family: bebas-neue-pro, sans-serif;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.13em;
  display: flex;
  align-items: center;
}
.btn__right:after {
  content: "";
  width: 22px;
  height: 22px;
  background: url(../imgs/common/arrow_btn_r.svg) no-repeat center right / contain;
}
.btn:hover .btn__right:after {
  background-image: url(../imgs/common/arrow_btn_r_hv.svg);
}


/*moreボタン共通*//*トップとフッター*/
.more__btn {
  max-width:400px;
}
.more__btn .btn {
  color: #ca5142;
  font-size: 15px;
  letter-spacing: 0.05em;
  display:flex;
  align-items:center;
  height:60px;
  border-radius:30px;
  border-width:2px;
}
.more__btn .btn:hover {
  color:#fff;
  border: 2px solid #ca5142;
}
.more__btn .btn:after {
  content: "";
  width: 30px;
  height: 30px;
  background: url(../imgs/common/arrow_btn_rw.svg) no-repeat center right / contain;
}

.more__btn .btn:hover:after  {
  background-image: url(../imgs/common/arrow_btn_ww.svg); contain;
}

/*背景赤の時*/
.more__btn.btn-rd .btn {
  color: #fff;
  background-color:#ca5142;
  border-color:#fff;
}
.more__btn.btn-rd .btn:after  {
  background-image: url(../imgs/common/arrow_btn_ww.svg); contain;
}
.more__btn.btn-rd .btn:hover {
  color: #ca5142;
  background-color:#fff;
  border-color:transparent;
}
.more__btn.btn-rd .btn:hover:after  {
  background-image: url(../imgs/common/arrow_btn_rw.svg); contain;
}



.page {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 20px;
}

.inner-940 {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.inner-840 {
  max-width: 840px;
  margin-left: auto;
  margin-right: auto;
}

.info-list {
	margin-bottom:30px;
}
.info-list__item a {
  display: flex;
  align-items:center;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom:1px dashed #7e7e7e;
}

.info-list__item-icon {
  display: flex;
  align-items: center;
  min-width: 30px;
  height:30px;
  background: url(../imgs/common/arrow_btn_rw.svg) no-repeat center center;
  background-size:contain;
  transition: all 0.4s;
}
.info-list__item a:hover .info-list__item-icon {
  background-image: url(../imgs/common/arrow_btn_rr.svg);
}

.info-list__item-box {
	display:flex;
	flex-direction:row-reverse;
	align-items: center;
	width:100%;
	gap:20px;
	transition: all 0.4s;
}
.info-list__item a:hover .info-list__item-box {
	opacity:0.7;
}

.info-list__item-cat {
  width: 40%;
  display: flex;
  flex-wrap: wrap;
  font-weight: 400;
  font-size: 12px;
  padding-right: 3%;
  /*margin-bottom: 7px;*/
  gap:7px 10px;
}

.info-list__item-cat li {
	text-align: center;
	background-color: #ca5142;
	border-radius: 20px;
	color: #fff;
	padding: 7px 10px;
	min-width: 50px;
	line-height: 1;
	/*margin-right: 10px;*/
}

.info-list__item-contents {
  display: flex;
  font-size: 16px;
  font-weight:400;
  line-height:1.3;
  width:60%;
}

.info-list__item-date {
	font-family: bebas-neue-pro, sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size:17px;
	letter-spacing:0.1em;
	min-width: 100px;	
}

.info-list__item-title {
  width: calc(100% - 100px);
}

/* -------------------------------------
inview
------------------------------------- */
.inv_mov {
  opacity: 0;
  transition: opacity 1s, transform 1s;
}

.tl_yb {
  transform: translate(0, 60px);
}

.tl_yt {
  transform: translate(0, -60px);
}

.tl_xl {
  transform: translate(-60px, 0);
}

.tl_xr {
  transform: translate(60px, 0);
}

.tl_rol {
  transform: rotate(-10deg);
}

.tl_ror {
  transform: rotate(10deg);
}

.mov {
  opacity: 1;
  transform: translate(0, 0) rotate(0deg);
  transition: opacity 1s, transform 1s;
}

.mov.delay100 {
  transition-delay: 100ms;
}

.mov.delay200 {
  transition-delay: 200ms;
}

.mov.delay300 {
  transition-delay: 300ms;
}

.mov.delay400 {
  transition-delay: 400ms;
}

.mov.delay500 {
  transition-delay: 500ms;
}
.mov.delay600 {
  transition-delay: 600ms;
}
.mov.delay700 {
  transition-delay: 700ms;
}

/* -------------------------------------
404 Not found
------------------------------------- */
.notfound {
  text-align: center;
  padding: 150px 0;
}

.notfound .ttl {
  text-align: center;
  font-size: 32px;
  margin-bottom: 30px;
}

.notfound p {
  font-size: 16px;
  margin-bottom: 15px;
}

.notfound p strong {
  font-size: 20px;
  font-weight: bold;
  display: block;
  margin-bottom: 10px;
}

.notfound a {
  text-decoration: underline;
  display: inline-block;
}

@media screen and (max-width: 1440px) {
}

@media screen and (max-width: 940px) {
  .inner-940 {
    padding-left: 3%;
    padding-right: 3%;
  }

  /* -------------------------------------
	404 Not found
	------------------------------------- */
  .notfound .content p {
    font-size: 15px;
  }

  .notfound .content p strong {
    font-size: 19px;
  }
}

@media screen and (max-width: 768px) {
  body {
    font-size: 13px;
  }

  .sp {
    display: block !important;
  }

  .pc {
    display: none !important;
  }
  
  
  .info-list__item-box {
	flex-direction:column;
	gap:10px;
  }
  .info-list__item-cat {
    width: 100%;
    }
  .info-list__item-contents {
    width: 100%;
    }

  .info-list__item-cat li {
    font-size: 10px;
  }

  .info-list__item-contents {
    flex-direction: column;
  }

  .info-list__item-date {
    margin-bottom: 5px;
  }

  .info-list__item-title {
    width: 100%;
  }

  .btn {
    padding-left: 5%;
    padding-right: 5%;
  }

  /* -------------------------------------
	404 Not found
	------------------------------------- */
  .notfound .content p {
    font-size: 14px;
  }

  .notfound .content p strong {
    font-size: 18px;
  }
}

@media screen and (max-width: 640px) {
  /* -------------------------------------
	404 Not found
	------------------------------------- */
  article.notfound {
    min-height: auto;
  }
}

@media screen and (max-width: 480px) {
  .btn .btn__right {
    font-size: 14px;
  }
}

@media screen and (max-width: 400px) {
  .page {
    padding:0 3%;
  }
}


@media screen and (max-width: 375px) {
}
