@charset "UTF-8";

/* button */
.pageContents .button {
  width:350px;
  margin:30px auto 0;
}
.pageContents .button a {
  color:#373737;
	font-size:16px;
	font-weight:700;
	line-height:1;
  letter-spacing:.05em;
	width:100%;
	height:80px;
  padding:0 0 0 30px;
	display:flex;
	align-items:center;
	position:relative;
	background:#fff;
  border:solid 1px #373737;
	border-radius:10px;
	overflow:hidden;
	transition:ease .3s;
}
.pageContents .button a .arrow {
	position:relative;
	z-index:1;
}
.pageContents .button a::before {
	content:"";
	width:32px;
	height:32px;
	background:url(../img/common/ico_btn_arrow.svg) no-repeat 0 0;
	background-size:100% auto;
	position:absolute;
	top:50%;
	right:30px;
	transform: translateY(-50%);
	z-index:1;
	transition:ease .3s;
}

/* ホバー設定 */
.pageContents .button a::after {
	content:"";
	width:150%;
	height:150%;
	display: block;
	background:#373737;
	position: absolute;
	top:0;
	left:-200%;
	z-index:0;
	transition: ease .4s;
}

#wrapper {
  overflow:inherit;
}
.secttl {
  margin:0 0 60px;
  overflow:hidden;
}
.secttl .inner {
  max-width:1700px;
  margin:0 auto;
  padding:0 50px;
}
.secttl .ttlbox {
  padding:75px 0 90px;
  position:relative;
}
.secttl .bgtxt {
  font-family:roboto-condensed, sans-serif;
  color:#ccc;
  font-size:300px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  position:absolute;
  top:-20px;
  left:120px;
  opacity:.1;
}
.secttl h1 {
  font-family:roboto-condensed, sans-serif;
  color:#222;
  font-size:120px;
  font-weight:700;
  line-height:1;
  width:fit-content;
  position:relative;
}
.secttl h1 .sub {
  font-family: "noto-sans-cjk-jp", sans-serif;
  color:#d95e29;
  font-size:24px;
  font-weight:700;
  line-height:1;
  letter-spacing:.1em;
  position:absolute;
  bottom:-30px;
  right:0;
}
.pankuzu {
  display: flex;
}
.pankuzu li {
  color:#363636;
  font-size:16px;
  line-height:1;
  letter-spacing:.05em;
  position:relative;
}
.pankuzu li + li {
  padding-left:32px;
}
.pankuzu li + li::before {
  content:"";
  width:8px;
  height:8px;
  display:block;
  background:url(../img/common/ico_arrow_pankuzu.svg) no-repeat 0 0;
  background-size:100% auto;
  position:absolute;
  top:5px;
  left:12px;
}
.pankuzu li a {
  color:#363636;
  display:inline-block;
  position:relative;
  transition:ease .3s;
}
.pankuzu li a::before {
  content:"";
  width:100%;
  height:1px;
  background:#d95e29;
  display:block;
  position:absolute;
  bottom:-5px;
  left:0;
  transform:scaleX(0);
  transition:ease .3s;
}

#container {
  overflow:hidden;
}
.pageCols {
  width:100%;
  padding:0 0 140px;
  position:relative;
}
.pageContents {
  width:100%;
}
.pageContents section {
  padding:0 50px;
}
.pageContents section .inner {
  max-width:1200px;
  margin:0 auto;
}
.pageContents h2 {
  color:#222;
  font-size:26px;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.33;
  padding:8px 0 8px 14px;
  margin:50px 0 30px;
  border-left:solid 3px #d95e29;
}
.pageContents h3 {
  font-size:22px;
  font-weight:700;
  line-height:1.33;
  letter-spacing:.1em;
  margin:45px 0 20px;
  padding:0 0 0 27px;
  position:relative;
}
.pageContents h3::before {
  content:"";
  width:20px;
  height:3px;
  display: block;
  background:#d95e29;
  position: absolute;
  top:.6em;
  left:0;
}
.pageContents p {
  font-size:18px;
  letter-spacing:.08em;
  line-height:1.77;
  margin:35px 0 0;
}
.pageContents p a {
  color:#373737;
  display:inline-block;;
  position:relative;
  transition:ease .3s;
	text-decoration: underline;
}
#infotop {
  margin:0 0 60px;
}
#infotop .date {
  width:100%;
  display:flex;
	justify-content:center;
}
#infotop .date p {
  font-family:roboto-condensed, sans-serif;
  color:#373737;
	font-size:20px;
  font-weight:700;
  line-height:1.33;
  letter-spacing:.05em;
  height:60px;
	margin:0 0 0 20px;
  display:flex;
  align-items:center;
}
#infotop .date p.category {
  font-size:16px;
  line-height:1.33;
  letter-spacing:.1em;
  width:220px;
  height:60px;
  margin-left:0 !important;
	background:#fff;
	box-shadow:0 0 18px 0 rgba(0, 0, 0, 0.1);
  border-radius:30px;
  display:flex;
  justify-content:center;
  align-items:center;
}
#info_detail h1 {
  color:#d95e29;
  font-size:30px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.1em;
  text-align:center;
  margin:0 0 -10px;
}


@media screen and (max-width:1580px) {
.secttl {
  margin:0 0 3.79vw;
}
.secttl .inner {
  padding:0 3.16vw;
}
.secttl .ttlbox {
  padding:4.74vw 0 5.69vw;
}
.secttl .bgtxt {
  font-size:18.98vw;
  top:-1.26vw;
  left:7.59vw;
}
.secttl h1 {
  font-size:7.59vw;
}
.secttl h1 .sub {
  font-size:1.51vw;
  bottom:-1.89vw;
}
.pankuzu li {
  font-size:1.01vw;
}
.pankuzu li + li {
  padding-left:2.02vw;
}
.pankuzu li + li::before {
  width:.5vw;
  height:.5vw;
  top:.31vw;
  left:.75vw;
}

}


@media screen and (max-width:1300px) {
/* button */
.pageContents .button {
  width:26.92vw;
  margin:2.3vw auto 0;
}
.pageContents .button a {
	font-size:1.23vw;
	height:6.15vw;
	padding:0 0 0 2.3vw;
	border-radius:.76vw;
}
.pageContents .button a::before {
	width:2.46vw;
	height:2.46vw;
	right:2.3vw;
}

.pageCols {
  padding:0 0 10.76vw;
}
.pageContents section {
  padding:0 3.84vw;
}
.pageContents h2 {
  font-size:2vw;
  padding:.61vw 0 .61vw 1.07vw;
  margin:3.84vw 0 2.3vw;
}
.pageContents h3 {
  font-size:1.69vw;
  margin:3.46vw 0 1.53vw;
  padding:0 0 0 2.07vw;
}
.pageContents h3::before {
  width:1.53vw;
  height:.23vw;
}
.pageContents p {
  font-size:1.38vw;
  margin:2.69vw 0 0;
}
#infotop {
  margin:0 0 4.61vw;
}
#infotop .date p {
	font-size:1.53vw;
  height:4.61vw;
	margin:0 0 0 1.53vw;
}
#infotop .date p.category {
  font-size:1.23vw;
  width:16.92vw;
  height:4.61vw;
	box-shadow:0 0 1.38vw 0 rgba(0, 0, 0, 0.1);
  border-radius:2.305vw;
}
#info_detail h1 {
  font-size:2.3vw;
  margin:0 0 -.76vw;
}

}


@media screen and (max-width:767px) {
/* button */
.pageContents .button {
  width:69.33vw;
  margin:6.66vw auto 0;
}
.pageContents .button a {
	font-size:3.46vw;
	height:16vw;
	padding:0 0 0 5.33vw;
	border-radius:1.33vw;
}
.pageContents .button a::before {
	width:6.4vw;
	height:6.4vw;
	right:4vw;
}

#wrapper {
  overflow:hidden;
}
.secttl {
  margin:0 0 9.33vw;
}
.secttl .inner {
  padding:0 5.33vw;
}
.secttl .ttlbox {
  padding:10.66vw 0 11.33vw;
}
.secttl .bgtxt {
  font-size:32vw;
  top:0;
  left:9.33vw;
}
.secttl h1 {
  font-size:13.33vw;
}
.secttl h1 .sub {
  font-size:3.2vw;
  bottom:-4vw;
}
.pankuzu li {
  font-size:3.2vw;
}
.pankuzu li + li {
  padding-left:6.66vw;
}
.pankuzu li + li::before {
  width:1.6vw;
  height:1.6vw;
  top:.8vw;
  left:2.4vw;
}

.pageCols {
  margin:0 auto;
  padding:0 0 26.66vw;
}
.pageContents section {
  padding:0 5.33vw;
}
.pageContents h2 {
  font-size:4.8vw;
  padding:2.13vw 0 2.13vw 3.2vw;
  margin:16vw 0 4vw;
}
.pageContents h3 {
  font-size:4.26vw;
  margin:13.33vw 0 4vw;
  padding:0 0 0 5.33vw;
}
.pageContents h3::before {
  width:4.26vw;
  height:.66vw;
}
.pageContents p {
  font-size:3.73vw;
  letter-spacing:.05em;
  line-height:2;
  margin:8vw 0 0;
}
#infotop {
  margin:0 0 10.66vw;
}
#infotop .date p {
	font-size:3.73vw;
  height:10.66vw;
	margin:0 0 0 4vw;
}
#infotop .date p.category {
  font-size:3.2vw;
  width:37.33vw;
  height:10.66vw;
	box-shadow:0 0 2.66vw 0 rgba(0, 0, 0, 0.1);
  border-radius:5.33vw;
}
#info_detail h1 {
  font-size:4.8vw;
  margin:0;
}

}


@media (hover: hover) {
.pageContents .button a:hover::after,
.pageContents .button a:focus::after {
	left:-45%;
}
.pageContents .button a:hover::before,
.pageContents .button a:focus::before {
  background-image:url(../img/common/ico_btn_arrow_w.svg);
}
.pageContents .button a:hover,
.pageContents p a:hover,
.pageContents .button a:focus,
.pageContents p a:focus {
  /* color:#fff; */
	color: inherit;
	text-decoration: none;
}

.pankuzu li a:hover,
.pankuzu li a:focus {
  color:#d95e29;
}
.pankuzu li a:hover::before,
.pankuzu li a:focus::before {
  transform:scaleX(1);
}

}
