@charset "UTF-8";


.fadethis {
    overflow: hidden;
    width: max-content;
    display: inline-block;
}
section.concept_text {
    position: relative;
    z-index: 9999;
}
.margin_right_large {
	margin-right: 20px;
}

.margin_right_small {
	margin-right: 10px;
}

.black_change {
	color: #000;
}

.sec_title {
	position: relative;
	z-index: 9999;
}
.sec_title span {
  font-size: 14rem;
  font-family: 'Anton', sans-serif;
  line-height: 150px;
}
.sec_title_area {
  max-width: 980px;
  margin: 0 auto;
}

.btn_title {
	position: relative;
	z-index: 9999;
}
.btn_title span {
  font-size: 4rem;
  font-family: 'Anton', sans-serif;
  line-height: 40px;
}
.more {
  max-width: 980px;
  margin: 0 auto;
}
.jp_title {
    margin: 0 auto;
    width: 980px;
	overflow: hidden;
	position: relative;
    z-index: 9999;
}
.jp_title span {
	font-family: 'Anton',"Noto Sans JP",sans-serif;
    font-weight: 900;	
    font-size: 3rem;
    letter-spacing: 0;
}
.inner {
	padding: 150px 0;
}

.news {
	padding: 100px 0;
}
.news_list {
  max-width: 980px;
  margin: 100px auto;
}
.news_list li {
  overflow: hidden;
  width: 100%;
  position: relative;
  z-index: 999;
  margin-bottom: 50px;
}
.news_list li:hover .news_cap {
  background: #ba0910;
}
.news_list li:hover .news_cap:after {
  background: #ba0910;
}
.news_list li:nth-child(2n):hover .news_cap:after {
  background: #ba0910;
}
.news_list li:hover .news_cap h3,
.news_list li:hover .news_cap span {
  color: #fff;
}
.news_contents {
  display: flex;
  padding-right: 6%;
}
.news_thumb {
    width: 50%;
    height: 280px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
	transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}
.news_list li:hover  .news_thumb {
	transform: scale(1.1);
}
.news_cap {
  width: 50%;
  padding: 50px 50px 50px 30px;
  background: #000;
  margin-top: 50px;
  position: relative;
	transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
}
.news_cap h3 {
  color: #fff;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 2.2rem;
  line-height: 36px;
	transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
}
.news_cap span {
    display: block;
    color: #fff;
    margin-bottom: 20px;
    font-family: 'Anton', sans-serif;
    font-weight: normal;
    font-size: 1.5rem;
    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    padding: 5px 14px 3px;
    border: 1px solid #fff;
    width: max-content;
}
.news_cap:after {
  content: "";
  height: 100%;
  width: 40px;
  background: #000;
  position: absolute;
  left: -40px;
  top: 0;
	transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
}
.news_list li:nth-child(2n) .news_contents {
  padding-left: 6%;
  padding-right: 0;
	flex-direction: row-reverse;
}
.news_list li:nth-child(2n) .news_cap{
  padding: 50px 30px 50px 50px;
}
.news_list li:nth-child(2n) .news_cap:after{
  content: "";
  height: 100%;
  width: 40px;
  background: #000;
  position: absolute;
  left: inherit;
  top: 0;
	right: -40px;
}

.pagenav {
	position: relative;
	z-index: 9999;
  display: flex;
  justify-content: center;
  margin-bottom: 80px;
}
.pagenav li a {
  font-size: 3rem;
  font-family: 'Anton', sans-serif;
  color: #000;
  padding: 0 14px;
	transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
}
.pagenav li a:hover {
	color: #ba0910;
}
.pagenav_active {
  font-family: 'Anton', sans-serif;
  font-size: 3rem;
  padding: 0 14px;
  border-bottom: 4px solid #000;
}


.wp-pagenavi {
	position: relative;
	z-index: 9999;
  display: flex;
  justify-content: center;
  margin-bottom: 80px;
}
.wp-pagenavi a,
.wp-pagenavi span
 {
  font-size: 3rem;
  font-family: 'Anton', sans-serif;
  color: #000;
  padding: 0 14px;
	transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
}
.wp-pagenavi a:hover {
	color: #ba0910;
}
.wp-pagenavi .current {
  font-family: 'Anton', sans-serif;
  font-size: 3rem;
  padding: 0 14px;
  border-bottom: 4px solid #000;
}


.more {
    display: block;
    max-width: 980px;
    text-align: right;
    margin: 0 auto;
    z-index: 999;
    position: relative;
    font-size: 3rem;
    font-family: 'Anton', sans-serif;
    color: #000;
}


.bg_hand {
    position: fixed;
    left: -150px;
    bottom: -50px;
    height: 660px;
    width: 650px;
    z-index: 9;
    opacity: 0.3;
	transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}
.bg_hand_change {
	opacity: 1;
	left: 50%;
}
.mainvisual svg {
    width: 151px !important;
    height: 190px !important;
}
#logo {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0 0 0 -238px
}
#logo path {
    fill: none;
    stroke: #fff; /*線の色を指定する*/
    stroke-dasharray: 2000;/*線の間隔を指定する*/
    stroke-dashoffset: 0;/*線の位置を指定する(IEは効かない属性)*/
    stroke-width: 10;/*線の太さを指定する*/
    -webkit-animation: hello 1s ease-in forwards;
    animation: hello 1s ease-in forwards;
}
 @-webkit-keyframes hello {
 0% {
 stroke-dashoffset: 2000;
 fill:transparent; /*透過*/
}
 50% {
 fill:transparent; /*透過*/
}
 100% {
 stroke-dashoffset: 0;
 fill:#fff;
    stroke: #fff;
}
}
@keyframes hello {
 0% {
 stroke-dashoffset: 2000;
 fill:transparent; /*透過*/
}
 50% {
 fill:transparent; /*透過*/
}
 100% {
 stroke-dashoffset: 0;
 fill:#fff;
    stroke: #fff;
}
}

#logo_bg {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0 0 0 -238px
}
#logo_bg path {
    fill: none;
    stroke: #fff; /*線の色を指定する*/
    stroke-dasharray: 2000;/*線の間隔を指定する*/
    stroke-dashoffset: 0;/*線の位置を指定する(IEは効かない属性)*/
    stroke-width: 10;/*線の太さを指定する*/
    -webkit-animation: hello 3s ease-in forwards;
    animation: hello 3s ease-in forwards;
}
 @-webkit-keyframes hello {
 0% {
 stroke-dashoffset: 2000;
 fill:transparent; /*透過*/
}
 50% {
 fill:transparent; /*透過*/
}
 100% {
 stroke-dashoffset: 0;
 fill:#fff;
    stroke: #fff;
}
}
@keyframes hello {
 0% {
 stroke-dashoffset: 2000;
 fill:transparent; /*透過*/
}
 50% {
 fill:transparent; /*透過*/
}
 100% {
 stroke-dashoffset: 0;
 fill:#fff;
    stroke: #fff;
}
}

.p2p_bg {
    position: fixed;
    opacity: 0.06;
    left: -40%;
    top: 0;
	transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}

.p2p_bg_change {
    left: 0;
    top: 0;
}
.p2p_bg svg {
  width: auto;
  height: 100vh;
}
.p2p_bg svg path {
    fill: #000;
    stroke: none; /*線の色を指定する*/
    stroke-dasharray: 2000;/*線の間隔を指定する*/
    stroke-dashoffset: 0;/*線の位置を指定する(IEは効かない属性)*/
    stroke-width: 10;/*線の太さを指定する*/
    -webkit-animation: hello3 1s ease-in forwards;
    animation: hello3 1s ease-in forwards;
}
 @-webkit-keyframes hello3 {
 0% {
 stroke-dashoffset: 2000;
 fill:transparent; /*透過*/
}
 50% {
 fill:transparent; /*透過*/
}
 100% {
 stroke-dashoffset: 0;
 fill:#000;
    stroke: none;
}
}
@keyframes hello3 {
 0% {
 stroke-dashoffset: 2000;
 fill:transparent; /*透過*/
}
 50% {
 fill:transparent; /*透過*/
}
 100% {
 stroke-dashoffset: 0;
 fill:#000;
    stroke: none;
}
}
/*---------------------------------------------------------------*\
	$480px
\*---------------------------------------------------------------*/
@media screen and (max-width: 480px) {

.fadethis {
    overflow: hidden;
    width: max-content;
    display: inline-block;
}

.margin_right_large {
	margin-right: 15px;
}

.margin_right_small {
	margin-right: 10px;
}

.black_change {
	color: #000;
}

.sec_title {
	position: relative;
	z-index: 9999;
}
.sec_title span {
  font-size: 4.5rem;
  font-family: 'Anton', sans-serif;
  line-height: 60px;
}
.sec_title_area {
  max-width: 90%;
  margin: 0 auto;
}

.btn_title {
	position: relative;
	z-index: 9999;
}
.btn_title span {
  font-size: 2rem;
  font-family: 'Anton', sans-serif;
  line-height: 20px;
}
.more {
  max-width: 980px;
  margin: 0 auto;
}
.jp_title {
    margin: 0 auto;
    width: 90%;
    overflow: hidden;
}
.jp_title span {
	font-family: 'Anton',"Noto Sans JP",sans-serif;
	font-weight: 600;
	font-size: 1.8rem;
	letter-spacing: 0;
}
.more {
    display: block;
    max-width: 90%;
    text-align: right;
    margin: 0 auto;
    z-index: 999;
    position: relative;
    font-size: inherit;
    font-family: 'Anton', sans-serif;
    color: #000;
}


.bg_hand {
    position: fixed;
    left: -40%;
    bottom: -5%;
    height: auto;
    width: 100%;
    z-index: 9;
    opacity: 0.3;
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}
.bg_hand_change {
	opacity: 1;
	left: 50%;
}
.mainvisual svg {
    width: 40px !important;
    height: 60px !important;
}
#logo {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0 0 0 -238px
}
#logo path {
    fill: none;
    stroke: #fff; /*線の色を指定する*/
    stroke-dasharray: 2000;/*線の間隔を指定する*/
    stroke-dashoffset: 0;/*線の位置を指定する(IEは効かない属性)*/
    stroke-width: 10;/*線の太さを指定する*/
    -webkit-animation: hello 1s ease-in forwards;
    animation: hello 1s ease-in forwards;
}
 @-webkit-keyframes hello {
 0% {
 stroke-dashoffset: 2000;
 fill:transparent; /*透過*/
}
 50% {
 fill:transparent; /*透過*/
}
 100% {
 stroke-dashoffset: 0;
 fill:#fff;
    stroke: #fff;
}
}
@keyframes hello {
 0% {
 stroke-dashoffset: 2000;
 fill:transparent; /*透過*/
}
 50% {
 fill:transparent; /*透過*/
}
 100% {
 stroke-dashoffset: 0;
 fill:#fff;
    stroke: #fff;
}
}

#logo_bg {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0 0 0 -238px
}
#logo_bg path {
    fill: none;
    stroke: #fff; /*線の色を指定する*/
    stroke-dasharray: 2000;/*線の間隔を指定する*/
    stroke-dashoffset: 0;/*線の位置を指定する(IEは効かない属性)*/
    stroke-width: 10;/*線の太さを指定する*/
    -webkit-animation: hello 3s ease-in forwards;
    animation: hello 3s ease-in forwards;
}
 @-webkit-keyframes hello {
 0% {
 stroke-dashoffset: 2000;
 fill:transparent; /*透過*/
}
 50% {
 fill:transparent; /*透過*/
}
 100% {
 stroke-dashoffset: 0;
 fill:#fff;
    stroke: #fff;
}
}
@keyframes hello {
 0% {
 stroke-dashoffset: 2000;
 fill:transparent; /*透過*/
}
 50% {
 fill:transparent; /*透過*/
}
 100% {
 stroke-dashoffset: 0;
 fill:#fff;
    stroke: #fff;
}
}

.p2p_bg {
    position: fixed;
    opacity: 0.06;
    left: -100%;
    top: 0;
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}

.p2p_bg_change {
    left: 0;
    top: 0;
}
.p2p_bg svg {
  width: auto;
  height: 100vh;
}
.p2p_bg svg path {
    fill: #000;
    stroke: none; /*線の色を指定する*/
    stroke-dasharray: 2000;/*線の間隔を指定する*/
    stroke-dashoffset: 0;/*線の位置を指定する(IEは効かない属性)*/
    stroke-width: 10;/*線の太さを指定する*/
    -webkit-animation: hello3 1s ease-in forwards;
    animation: hello3 1s ease-in forwards;
}
 @-webkit-keyframes hello3 {
 0% {
 stroke-dashoffset: 2000;
 fill:transparent; /*透過*/
}
 50% {
 fill:transparent; /*透過*/
}
 100% {
 stroke-dashoffset: 0;
 fill:#000;
    stroke: none;
}
}
@keyframes hello3 {
 0% {
 stroke-dashoffset: 2000;
 fill:transparent; /*透過*/
}
 50% {
 fill:transparent; /*透過*/
}
 100% {
 stroke-dashoffset: 0;
 fill:#000;
    stroke: none;
}
}

.inner {
	padding: 100px 0 60px;
}

.news {
	padding: 40px 0;
}
.news_list {
  max-width: 980px;
  margin: 40px auto;
}
.news_list li {
  overflow: hidden;
  width: 100%;
  position: relative;
  z-index: 999;
  margin-bottom: 20px;
}
.news_list li:hover .news_cap {
  background: #ba0910;
}
.news_list li:hover .news_cap:after {
  background: #ba0910;
}
.news_list li:nth-child(2n):hover .news_cap:after {
  background: #ba0910;
}
.news_list li:hover .news_cap h3,
.news_list li:hover .news_cap span {
  color: #fff;
}
.news_contents {
  display: flex;
  padding: 0 0 0 5%;
}
.news_thumb {
    width: 100%;
    height: 150px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.news_cap {
  width: 100%;
  padding: 25px 25px 25px 0;
  background: #000;
  margin-top: 25px;
  position: relative;
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
}
.news_cap h3 {
  color: #fff;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 1.3rem;
  line-height: 21px;
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
}
.news_cap span {
    display: block;
    color: #fff;
    margin-bottom: 10px;
    font-family: 'Anton', sans-serif;
    font-weight: normal;
    font-size: 1rem;
    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    padding: 2px 8px 1px;
    border: 1px solid #fff;
    width: max-content;
}
.news_cap:after {
  content: "";
  height: 100%;
  width: 25px;
  background: #000;
  position: absolute;
  left: -25px;
  top: 0;
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
}
.news_list li:nth-child(2n) .news_contents {
  padding: 0 5% 0 0;
  flex-direction: row-reverse;
}
.news_list li:nth-child(2n) .news_cap{
  padding: 25px 0 25px 25px;
}
.news_list li:nth-child(2n) .news_cap:after{
  content: "";
  height: 100%;
  width: 25px;
  background: #000;
  position: absolute;
  left: inherit;
  top: 0;
  right: -25px;
}

.pagenav {
	position: relative;
	z-index: 9999;
	display: flex;
	justify-content: center;
	margin-bottom: 40px;
}
.pagenav li a {
  font-size: 1.6rem;
  font-family: 'Anton', sans-serif;
  color: #000;
  padding: 0 10px;
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
}
.pagenav li a:hover {
	color: #ba0910;
}
.pagenav_active {
  font-family: 'Anton', sans-serif;
  font-size: 1.6rem;
  padding: 0 10px;
  border-bottom: 3px solid #000;
}
}

