@charset "UTF-8";


/*ベース*/
p, li, a, dt, dd, address, th, td, label, input, textarea{
	font-size: 1rem;
	line-height: 2;
  	color: var(--txt_color);
}
.inner{
  	max-width: 1200px;
  	width: 96%;
  	margin-left: auto;
  	margin-right: auto;
  	position: relative;
}
section{
  	margin: 8rem 0;
}
/*セクション上下の余白を設定*/
.sec{
  	padding: 130px 0;
}

@media screen and (max-width: 640px){
  .inner{
    	width: 92%;
  }
	section{
    	margin: 3rem 0 7rem;
	}
	.sec{
    	padding: 15% 0;
  	}
}

/*ヘッダー*/
#header{
  	position: relative;
  	justify-content: space-between;
  	align-items: center;
  	top: 0;
  	left: 0;
  	width: 100%;
	position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
	background: rgb(255 255 255 / 80%);
}
.header-logo{
  	max-width: 250px;
  	width: 25%;
}
.header-logo.center{
  	margin: auto;
}
@media screen and (max-width: 640px){
  #header{
	  padding: 0;
  }
  .header-logo{
    width: 100%;
    max-width: 300px;
    padding: 4% 3%;
  }
}


/*見出し*/
.ttl_wrap{
	margin-bottom: 3rem;
}
h2{
	font-size: 5.625rem;
    font-weight: 500;
}
.ttl_dot{
    font-family: "Zen Kaku Gothic Antique", "源ノ角ゴシック", 'Noto Sans JP';
    position: relative;
    line-height: 5rem;
    margin-bottom: 1rem;
}
.ttl_dot::after{
	content: "";
    position: absolute;
	background: #f3011a;
    border-radius: 50%;
    width: 0.8rem;
    height: 0.8rem;
    top: 1rem;
	left: 11rem;
}
.h2_u_span, .h2_t_span{
    font-size: 1.5rem;
    font-weight: bold;
}
.h2_t_span{
	line-height: 1.5;
    padding-left: 2.5rem;
	position: relative;
}
.h2_t_span::before{
    content: '';
    position: absolute;
    width: 25px;
    height: 5px;
    background: #c6001d;
    margin-right: 0.5rem;
	top: 50%;
	left: -3%;
}
.ttl_border{
	font-size: 2.5rem;
}
@media screen and (max-width: 640px){
	h2{
		font-size: 4rem;
	}
	.ttl_dot{
		margin-bottom: 0.5rem;
	}
	.ttl_dot::after{
		left: 8rem;
	}
}
.sec_new{
	position: relative;
	margin-bottom: 150px;
}
.sec_new::after{
	content: "";
	position: absolute;
	width: 100%;
    height: 50%;
    background: url(./assets/img/bg_deco.svg), #333;
    z-index: -100;
    bottom: -5rem;
}

.webview{
    background: #eaeaea;
    display: block;
    margin: 40px auto 0;
}
.backnumber_list{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
    padding: 0;
    margin: 4% 0 8%;
}

.backnumber_list li{
    flex: 0 0 calc((100% - 40px) / 3); 
    box-sizing: border-box;
    display: flex;
    position: relative;
}

.backnumber_list li:hover::before{
    mask-repeat: repeat;
    mask-size: cover;
    mask-image: url(./assets/img/arrow_list.svg);
    background: #fff;
}
.backnumber_list li::before{
    display: inline-block;
    content: "";
    background: url(./assets/img/arrow_list.svg) no-repeat center/contain;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 50%;
    right: 17px;
    transform: translateY(-50%);
}
.backnumber_list li::after{
    display: inline-block;
    content: "";
    background-color: #333;
    width: 1px;
    height: 60%;
    position: absolute;
    top: 50%;
    right: 50px;
    transform: translateY(-50%);
}
.backnumber_list li:hover::after{
    background-color: #fff;
}
.backnumber_list li a{
    display: block;
    width: 100%;
    border: 1px solid #333;
    padding: 5% 7%;
    color: #333;
    line-height: 1.6;
    transition: .4s;
}
.backnumber_list li a:hover {
    color: #fff;
    background: #303030;
}
.backnumber_list li a span{
    display: block;
    font-size: 1rem;
    color: #303030;
    transition: .4s;
}
@media screen and (max-width: 640px){
	.backnumber_list{
		justify-content: space-between;
	}
	.backnumber_list li{
		flex: 0 0 calc((100% - 40px) / 2);
	}
}
@media screen and (max-width: 425px){
	.backnumber_list{
		justify-content: center;
	}
	.backnumber_list li{
		flex: 0 0 calc((100% - 40px) / 1);
	}
}
.footer_img{
	position: relative;
	height: 350px;
	background: url(./assets/img/img_footer.jpg) no-repeat center center/ cover;
}
.footer_img::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(30,30,30,0.6);
}
footer{
	background: #f0f0f0;
	padding: 1rem 0;
}
.copyright{
  color: #939393;
}
@media screen and (max-width: 640px){
	.footer_img{
		height: 200px;
		background: url(./assets/img/img_footer.jpg) no-repeat 70% center / cover;
	}
  	footer .copy{
    	margin-top: 15%;
  	}
}

/*TOPへ戻るボタン*/
 .re-btn {
  	position: fixed;
  	bottom: 2%;
  	right: 2%;
  	z-index: 999;
  	-webkit-transition: .4s;
  	transition: .4s;
  	max-width: 75px;
  	opacity: .7
}
.re-btn img {
  	width: 100%
}
.re-btn:hover {
  	opacity: .7;
  	filter: alpha(opacity=70);
  	-ms-filter: "alpha(opacity=70)"
}

@media screen and (max-width: 640px) {
  .re-btn {
    position:fixed;
    bottom: 2%;
    right: 2%;
    z-index: 50;
    -webkit-transition: .4s;
    transition: .4s;
    width: 30%;
    z-index: 200;
    max-width: 80px;
    opacity: .7
  }
  .re-btn img {
    width: 100%
  }
  .re-btn:hover {
    opacity: .7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)"
  }
}

