@charset "utf-8";

/*---------- reset ----------*/
html{font-size:62.5%;height:100%;}
body{margin:0;padding:0;font-size:1.5rem;font-family:'Noto Sans CJK JP',YakuHanJP,'Noto Sans JP',sans-serif,"游ゴシック","Yu Gothic",Yu Gothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック";line-height:1.5;color:#333;height:100%;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;}
header,main,article,section,nav,footer{display:block;}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;font-size:100%;}
textarea{font-family:'Noto Sans CJK JP',YakuHanJP,'Noto Sans JP',sans-serif,"游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック";}
input{font-family:'Noto Sans CJK JP',YakuHanJP,'Noto Sans JP',sans-serif,"游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック";line-height:1.5;color:#333;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,th,var{font-style:normal;font-weight:normal;}
em{font-style:normal;font-weight:500;}
ol,ul{list-style:none;}
caption{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;}
input[type="button"],input[type="submit"],input[type="email"]{-webkit-appearance:none;border-radius:0;}
select::-ms-expand{display:none;}

*, *::before, *::after{box-sizing:border-box;}
.cf::after{content:"";clear:both;display:block;}
/*---------- reset end ----------*/

html{visibility:hidden !important;}
html.wf-active, html.wf-inactive{visibility:visible !important;}
#wrapper{overflow:hidden;}

/*---------- header ----------*/
#header_wrap{
	position:fixed;
	height:80px;
	width:100%;
	top:0;
	left:0;
	background:#fff;
	z-index:100;
	box-shadow:0px 3px 6px rgba(0, 0, 0, 0.16);
}
.header_area{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:10px 20px;
	margin:auto;
	position:relative;
}
.logo_link, .logo_img{
	display:block;
	width:100%;
}
.logo_link{width:335px}

.insta_item{
	width:30px;
	height:30px;
	position:absolute;
	top:0;
	bottom:0;
	right:20px;
	margin:auto;
	font-size:0;
}
.insta_link::before,.insta_link::after{
	content:'';
	display:inline-block;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	transition:opacity 0.3s;
}
.insta_link::before{
	background:url(img/icon_instagram_black.png) no-repeat center/cover;
}
.insta_link::after{
	background:url(img/icon_instagram_color.png) no-repeat center/cover;
	opacity:0;
}
#toggle{display:none;}
.fixed{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:999;
}
#menu{
	display:flex;
	align-items:center;
}
.menu_list{
	display:flex;
	padding:0;
	margin:0 30px 0 0;
}
.menu_item{
	position:relative;
	list-style:none;
	margin:0 20px 0 0;
}
.menu_link{
	position:relative;
	display:block;
	padding:15px 0 12px;
	color:#333;
	font-size:1.5rem;
	letter-spacing:0;
	font-weight:bold;
	line-height:2.1rem;
	text-decoration:none;
	transition:background 0.3s, color 0.3s;
}

.menu_txt{
	display:block;
	position:relative;
	padding-bottom:4px;
}
.menu_txt::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:2px;
	background:#0D38A5;
	opacity:0;
	transition:opacity 0.3s;
}

/*---------- footer ----------*/
/* sns */
.sns_area{
	max-width:570px;
	padding:0 20px;
	margin:50px auto 33px;
}
.sns_txt{
	font-size:2rem;
	letter-spacing:2px;
	line-height:2.88rem;
	font-weight:bold;
	text-align:center;
}
.sns_logo{
	width:140px;
	margin:25px auto 30px;
}
.sns_list{
	width:500px;
	margin:auto;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.sns_item{
	width:240px;
	height:52px;
	border:1px solid #707070;
	transition:border 0.3s,background-color 0.3s,color 0.3s;
}
.sns_link{
	display:flex;
	width:100%;
	height:100%;
	align-items:center;
	justify-content:center;
	font-size:1.4rem;
	line-height:2.5rem;
	letter-spacing:0;
}
.sns_item:first-child .sns_link span{
	padding-left:20px;
	background:url(img/popup.svg) no-repeat center left / 10px;
	transition:background 0.3s;
}
.sns_link_insta span{
	padding-left:40px;
	background:url(img/icon_instagram_black.png) no-repeat center left / 25px;
}

/* 戻るボタン */
#return{
	position:relative;
	z-index:1000;
}
.return_btn{
	display:block;
	position:fixed;
	right:20px;
	bottom:20px !important;
	width:60px;
	height:60px;
	background:#1B2683;
	border:2px solid #1B2683;
	text-decoration:none;
	transition:background 0.3s;
}
.return_btn::after{
	content:'';
	display:block;
	position:absolute;
	top:8px;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	width:14px;
	height:14px;
	border-top:3px solid #fff;
	border-right:3px solid #fff;
	transform:rotate(-45deg);
	transition:border-color 0.3s;
}
.return_txt{display:none;}
.copyright{
	padding:10px 20px;
	margin:0;
	text-align:center;
	color:#fff;
	background-color:#333333;
}

/* 共通 */
.sp_size{display:none !important;}

a, a:visited{
	color:#333;
	text-decoration:none;
}

h2{
	margin-bottom:30px;
	font-size:3.8rem;
	letter-spacing:3.8px;
	line-height:3.8rem;
	font-weight:bold;
}
h3{
	margin-bottom:30px;
	font-size:2.6rem;
	font-weight:bold;
	letter-spacing:0;
	line-height:3.2rem;
}
h4{
	font-size:2.6rem;
	letter-spacing:2.6px;
	line-height:3.6rem;
	font-weight:bold;
}
h5{
	font-size:2.4rem;
	letter-spacing:1.2px;
	line-height:3.6rem;
	font-weight:bold;
}
img{
	display:block;
	max-width:100%;
	width:100%;
	height:auto;
}
p{
	margin-bottom:24px;
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.7rem;
}
ul, ol{
	margin-bottom:20px;
}
li{
	list-style:none;
	margin-bottom:20px;
}

.column_2{display:grid;}

section{
	margin:auto;
}

main{margin-top:80px;}

/* mv */
.mv_area{
	position:relative;
	margin-bottom:-30px;
}
.mv_copy{display:none;}
.mv_scroll{
	position:absolute;
	z-index:5;
	right:0;
	left:0;
	bottom:27%;
	padding-bottom:40px;
	text-align:center;
	color:#333;
	font-size:.8rem;
	font-weight:500;
	letter-spacing:.8px;
	line-height:1.1rem;
}
.mv_scroll::before,
.mv_scroll::after{
	content:'';
	position:absolute;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	display:block;
}
.mv_scroll::before{
	width:1px;
	height:30px;
	background:#ccc;
	opacity:.25;
}
.mv_scroll::after{
	width:1px;
	height:10px;
	background:#333;
	bottom:20px;
	animation:mv_scroll 2s infinite ease-in-out;
}

@keyframes mv_scroll{
0%{ transform:translateY(0); opacity:1; }
100%{ transform:translateY(20px); opacity:1; }
}

/* 会長挨拶 */
.greet_area{
	max-width:1140px;
	margin:0 auto 90px;
	padding:30px 20px 0;
}
.greet_h2{margin-bottom:60px;}
.greet_box{
	grid-template-columns:auto 340px;
	grid-gap:30px;
}
.greet_h3{color:#0B308E;}
.greet_h3 span{color:#F61526;}
.greet_name{text-align:right;}
.greet_name span{
	font-size:2.6rem;
	letter-spacing:2.6px;
	line-height:5.7rem;
	margin-left:15px;
}

/* ミッションとビジョン */
.mission_area{
	background:url(img/bg_mission.jpg) no-repeat center / cover;
}
.mission_box{
	max-width:940px;
	padding:105px 20px 60px;
	margin:0 auto;
}
.mission_h2{text-align:center;margin-bottom:60px;}
.mission_item{
	background:#fff;
	padding:45px 85px;
}
.mission_h3{
	color:#E50012;
	font-size:2.2rem;
	letter-spacing:3.2px;
	margin-bottom:12px;
	line-height:3.2rem;
	text-align:center;
}
.mission_txt{
	font-size:2rem;
	letter-spacing:1px;
	line-height:3.4rem;
	font-weight:bold;
	margin-bottom:45px;
	text-align:center;
}
/* 100周年ロゴについて */
.logo_area{
	padding:105px 20PX 100px;
	background-color:#D8F0F3;
}
.logo_box{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
}
.logo_h2{margin-bottom:56px;text-align:center;}
.logo_list{
	max-width:900px;
	margin:auto;
}
.logo_item{
	background-color:#fff;
	box-shadow:0px 3px 20px #0000001A;
	padding:55px 50px 60px;
	margin-bottom:0;
}
.logo_txt{width:calc(100% - 400px);}
.logo_thumb{width:370px;}
.logo_h3{
	font-size:2.2rem;
	letter-spacing:3.2px;
	line-height:3.2rem;
	text-align:center;
	margin-bottom:55px;
}
.logo_h4{
	font-size:1.8rem;
	letter-spacing:2.7px;
	line-height:2.6rem;
	margin-bottom:15px;
}
.logo_h4.author{margin-top:45px;}
.logo_btn_link{
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.4rem;
	letter-spacing:0;
	line-height:2rem;
	height:50px;
	width:240px;
	border:1px solid #707070;
	transition:background 0.3s,color 0.3s;
}
.logo_btn_link span{
	padding-left:20px;
	background:url(img/popup.svg) no-repeat center left / 10px;
	transition:background 0.3s;
}

.slogan_item{
	margin-top:40px;
	text-align:center;
}
.slogan_item .logo_h3{margin-bottom:25px;}
.logo_slogan{
	font-size:4rem;
	letter-spacing:0;
	line-height:3.9rem;
	font-weight:bold;
	color:#0B308E;
	margin-bottom:50px;
}
.logo_slogan span{
	color:#F61526;
}

/* お祝いのメッセージ */
.msg_area{
	padding:208px 0;
	position:relative;
	background:url(img/bg_message.jpg) top center / contain;
}
.msg_area::before,.msg_area::after{
	position:absolute;
	display:inline-block;
	content:'';
}
.msg_area::before{
	width:393px;
	height:280px;
	top:0;
	left:0;
	background:url(img/bg_message_ribbon_1.png) no-repeat center / cover;
}
.msg_area::after{
	width:465px;
	height:330px;
	bottom:-55px;
	right:0;
	background:url(img/bg_message_ribbon_2.png) no-repeat center / cover;
}
.msg_h2{
	text-align:center;
	margin-bottom:33px;
}
.msg_info{
	text-align:center;
	padding:0 20px;
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.88rem;
	margin-bottom:40px;
}
.msg_h2 span,.msg_info span{
	background-color:#fff;
	padding:0 10px;
}
.msg_box{
	max-width:1140px;
	padding:40px 20px;
	margin:0 auto;
	backdrop-filter:blur(10px);
}
.msg_list{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:40px 30px;
}
.msg_item{margin-bottom:0;}
.msg_item p{text-align:center;font-weight:500;}
.msg_thumb{
	width:200px;
	margin:0 auto 20px;
	background:#fff;
}
.msg_thumb img{transition:opacity 0.3s;}
.msg_job{
	font-size:1.4rem;
	letter-spacing:0;
	line-height:2.1rem;
	margin-bottom:0;
}
.msg_name{
	font-size:2.2rem;
	letter-spacing:2.2px;
	line-height:3.2rem;
	margin-bottom:10px;
}
.msg_name span{display:inline-block;}
.msg_name span::after{
	display:block;
	content:'';
	width:100%;
	height:1px;
	background:#333333;
	transition:background 0.3s;
}
.mfp-bg{
	opacity:1;
	background:rgba(216, 240, 243, 0.8);
}
.mfp-content{padding:0 20px !important;}
.msg_content{
	max-width:800px;
	margin:auto;
	background:#fff;
	border-radius:40px;
	padding:50px 20px 50px;
	position:relative;
}
.msg_catch{
	width:200px;
	margin:0 auto 20px;
}
.msg_contents{
	max-width:640px;
	margin:auto;
}
.msg_contents .msg_job,.msg_contents .msg_name{
	text-align:center;
	font-weight:500;
}
.msg_contents .msg_job{margin-bottom:40px;}
.mfp-close{
	margin:25px 25px 0 0;
	width:31px !important;
	height:31px !important;
	opacity:1 !important;
	font-size:0;
	border-radius:50px;
	border:2px solid #333 !important;
	background:#fff;
	text-decoration:underline;
	transition:background 0.3s;
}
.mfp-close:active{
	opacity:0 !important;
}
.mfp-close::before,
.mfp-close::after{
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	margin:auto;
	left:0;
	right:0;
	width:21px;
	height:2px;
	background:#333;
	transition:background 0.3s;
	 pointer-events:none;   /* 疑似要素でクリックを奪わない */
}
.mfp-close::before{transform:rotate(45deg);}
.mfp-close::after{transform:rotate(-45deg);}
.mfp-arrow{display:none;}

/* 新潟のスポーツとともに歩んだ100年 */
.history_area{
	background-color:#F1F1EE;
	padding:135px 0 90px;
}
.history_h2{
	text-align:center;
	margin-bottom:33px;
}
.history_info{
	text-align:center;
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.88rem;
	margin-bottom:82px;
}

.history_timeline{
	position:relative;
	max-width:940px;
	margin:0 auto;
	padding:0 20px 28px 20px;
}
.history_timeline.ocher{padding-bottom:0;}

/* ---------- 年代ヘッダー ---------- */
.red_h3{
	background-color:#F61526;
	margin:50px 0 40px !important;
	padding:22px;
	font-size:3.6rem;
	letter-spacing:3.6px;
	color:#fff;;
}
.red_h3::after{display:none;}
.history_h3{
	margin-bottom:0;
	position:relative;
}
.history_h3::after{
	position:absolute;
	display:inline-block;
	content:'';
	width:2px;
	height:100%;
	right:88px;
	top:0;
	background-color:#F1F1EE;
}
.red_h3::after{display:none;}
.history_era_ttl{
	font-size:3.2rem;
	letter-spacing:3.2px;
	line-height:3.6rem;
	font-family:'Noto Sans JP';
	font-weight:bold;
	text-align:left;
	color:#fff !important;
	position:relative;
	display:block;
	padding:22px 100px 22px 30px;
	width:100%;
	height:100%;
	background-color:#C90885;
	transition:background 0.3s;
	border-radius:0;
	border:none;
	cursor:pointer
}
.history_era_ttl.orange{background-color:#F43721; }
.history_era_ttl.green{background-color:#1A8F00; }
.history_era_ttl.blue{background-color:#1542FF; }
.history_era_ttl.ocher{background-color:#907526; }

.history_era_ttl.open{background-color:#A52678;}
.history_era_ttl.orange.open{background-color:#CB3D2D; }
.history_era_ttl.green.open{background-color:#30851E; }
.history_era_ttl.blue.open{background-color:#152F9F; }
.history_era_ttl.ocher.open{background-color:#75673D; }

.history_era_ttl::before,.history_era_ttl::after{
	content:"";
	display:block;
	height:2px;
	width:30px;
	background:#fff;
	position:absolute;
	right:30px;
	top:2px;
	bottom:0;
	margin:auto;
	transition: opacity 0.3s;
}
.history_era_ttl::before{
	transform:rotate(90deg);
	transition:all 430ms cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
.history_era_ttl.open::before{transform:rotate(180deg);opacity: 0;}
.history_h3 span{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.88rem;
	margin-left:2px;
}
.history_era.red p{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.88rem;
	font-weight:bold;
}

/* ---------- イベントカード ---------- */
.history_list{
	list-style:none;
	margin:0;
	padding:30px 30px 10px 10px;
	overflow:hidden;
	display:none;
	position:relative;
	background-color:#F9CFEA;
}
.history_list.orange{background-color:#F9D4D0; }
.history_list.green{background-color:#CCDFC8; }
.history_list.blue{background-color:#D0D8FB; }
.history_list.ocher{background-color:#E1DAC6; }
.history_item{
	margin:0 0 20px 30px;
	position:relative;
	background:#fff;
	padding:80px 30px 8px;
}

.history_ttl{
	font-size:2.4rem;
	letter-spacing:1.2px;
	line-height:3.6rem;
	margin-bottom:15px;
	font-weight:bold;
}

.history_item .history_ttl:not(:first-of-type){margin-top:40px;}
.history_item dd{
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:2.4rem;
}
.history_item dd:last-of-type{margin-bottom:30px;}

.history_era.red{text-align:center;}
.red_ttl strong{
	font-size:3.8rem;
	letter-spacing:1.9px;
	line-height:3.8rem;
	font-weight:bold;
	color:#F61526;
	margin-bottom:35px;
}

/* ---------- リボン型の年ラベル ---------- */
.history_year{
	position:absolute;
	top:18px;
	left:-20px;
	background:#C90885;
	padding:6px 45px;
	color:#fff;
	font-weight:bold;
	font-size:2.6rem;
	letter-spacing:2.6px;
	line-height:1;
}
.history_year.orange{background:#F43721;}
.history_year.green{background:#1A8F00;}
.history_year.blue{background:#1542FF;}
.history_year.ocher{background:#907526;}
.history_year.red{background:#F61526;}

.history_year::after{
	content:"";
	position:absolute;
	top:37px;
	left:0;
	width:20px;
	height:20px;
	clip-path:polygon(100% 0, 0 0, 100% 100%);
	background-color:#6F385C;
}
.history_year.orange::after{background-color:#893026;}
.history_year.green::after{background-color:#124A05;}
.history_year.blue::after{background-color:#1E2A5E;}
.history_year.ocher::after{background-color:#514216;}

/* ---------- 県内スポーツ界の主なできごと ---------- */
.event_box{
	background-color:#F1F1EE;
	padding:15px 20px 15px;
	text-align:center;
	margin:0 0 30px;
	width:100%;
}
.event_ttl{
	display:inline-block;
	font-size:1.5rem;
	letter-spacing:0.7px;
	line-height:3.6rem;
	padding:0 55px;
	margin-bottom:10px;
	position:relative;
}
.event_ttl::before,.event_ttl::after{
	position:absolute;
	content:'';
	top:50%;
	height:1px;
	width:40px;
	background:#333333;
}
.event_ttl::before{left:0;}
.event_ttl::after{right:0;}
.event_box ul{margin-bottom:0;}
.event_box li{
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:2.4rem;
	margin-bottom:10px;
}

.slick-track{
	display:flex;
	align-items:center;
}
.history_slide .slick-slide{width:329px !important;margin-right:15px;}

/* にいがたスポーツ100年募金 */
.donation_box{
	padding:0 20px;
	margin-top:50px;
}
.donation_box_in{
	max-width:940px;
	margin:auto;
	border:1px solid #E50012;
	background:#fff;
	padding:60px 50px 35px;
}
.donation_h2{
	font-size:2.4rem;
	letter-spacing:1.2px;
	line-height:3.6rem;
	text-align:center;
	font-weight:bold;
	color:#F61526;
	margin-bottom:15px;
}
.donation_info{
	text-align:center;
	margin-bottom:50px;
}
.donation_h3,.donation_copy{
	font-size:1.8rem;
	letter-spacing:2.7px;
	line-height:2.6rem;
	margin-bottom:20px;
}
.donation_p{
	margin-bottom:50px;
}
.donation_p span{font-weight:bold;}
.donation_list{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	padding-left:20px;
}
.donation_item{
	list-style:disc;
	width:49%;
}
.donation_box .logo_btn{
	display:flex;
	justify-content:center;
}

/* 協賛企業団体 */
.sponsorship_box{
	margin-top:100px;
	padding:0 20px;
}
.sponsorship_h2{
	font-size:3.8rem;
	letter-spacing:3.8px;
	line-height:5.7rem;
	text-align:center;
}
.sponsorship_list{
	max-width:1100px;
	margin:auto;
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:30px;
}
.sponsorship_item{
	margin-bottom:0;
	outline:1px solid transparent;
	transition:outline-color 0.3s;
}

@media (hover:hover){
/* header */
.insta_link:hover::before{opacity:0;}
.insta_link:hover::after{opacity:1;}
.menu_link:hover{color:#0D38A5;}
.menu_link:hover .menu_txt::after{opacity:1;}

/* footer */
.sns_item:hover{
	border:1px solid #333;
	background-color:#333;
}
.sns_item:first-child .sns_link:hover span{background:url(img/popup_white.svg) no-repeat center left / 10px;}
.sns_item:hover .sns_link{color:#fff !important;}
.sns_item:hover .sns_link_insta span{ background:url(img/icon_instagram_white.png) no-repeat center left / 25px;}
.return_btn:hover{background:#fff;}
.return_btn:hover::after{border-color:#1B2683;}

/* 共通 */
a.non[target="_blank"]:hover::after{opacity:1;}
.logo_btn_link:hover{
	background-color:#333;
	color:#fff;
}
.logo_btn_link:hover span{
	background:url(img/popup_white.svg) no-repeat center left / 10px;
}
/* お祝いのメッセージ */
.msg_thumb:hover img{opacity:0.8;}
.msg_item:hover .msg_name span::after{background:transparent;}
.mfp-close:hover{background:#333;}
.mfp-close:hover::before,.mfp-close:hover::after{background:#fff;}

/* 100年の歴史 */
.history_era_ttl:hover{background-color:#A52678;}
.history_era_ttl.orange:hover{background-color:#CB3D2D; }
.history_era_ttl.green:hover{background-color:#30851E; }
.history_era_ttl.blue:hover{background-color:#152F9F; }
.history_era_ttl.ocher:hover{background-color:#75673D; }

/* 協賛企業 */
.sponsorship_item:hover{outline-color:#E50012;}
}

@media screen and (min-width:1367px){
.fut_area::before, .fut_area::after{
	background:url(img/bg_future.jpg) no-repeat center / cover;
}
}
@media screen and (min-width:1025px) and (min-width:1200px){
.fut_box::before{top:-240px;}
}
@media screen and (min-width:768px) and (max-width:1024px){
.greet_h3{text-align:center;}
.greet_h3 br{display:none;}
}
@media screen and (max-width:1024px){
/* sns */
.sns_area{margin-bottom:95px;}
.sns_list{display:block;width:auto;}
.sns_item{margin:auto;}
.sns_item_insta{margin-top:10px;}

/* 共通 */
h2{
	margin-bottom:50px;
	font-size:3rem;
	letter-spacing:3px;
	line-height:4.5rem;
}
h3{
	font-size:2.1rem;
	line-height:3.3rem;
}
h4{
	font-size:2.2rem;
	letter-spacing:2.2px;
}
h5{
	font-size:2rem;
	letter-spacing:1px;
}

p{
	font-size:1.4rem;
	letter-spacing:1.4px;
}
main{margin-top:70px;}
/* mv */
.mv_area{margin-bottom:100px;}
.mv_scroll{bottom:25%;}

/* 会長挨拶 */
.greet_h2{text-align:center;}
.greet_area_in{margin-bottom:80px;}
.greet_box{
	display:flex;
	flex-direction:column-reverse;
	grid-gap:30px;
}
.greet_box img{width:315px;margin:auto;}
.greet_name span{
	font-size:2.4rem;
	letter-spacing:2.4px;
	line-height:3.5rem;
}

/* ミッションとビジョン */

/* 100周年ロゴについて */
.logo_txt{width:calc(100% - 345px);}
.logo_thumb{width:315px;}
.logo_h2{margin-bottom:40px;}

.logo_slogan{
	font-size:3rem;
	margin-bottom:40px;
}

/* お祝いのメッセージ */
.msg_area::before{
	width:286px;
	height:265px;
}
.msg_area::after{
	width:312px;
	height:288px;
	bottom:-55px;
}
.msg_box{margin-top:60px;}

/* 新潟のスポーツとともに歩んだ100年 */
.history_area{padding:96px 0 90px;}
.history_h2{margin-bottom:47px;}
.history_info{margin-bottom:55px;}
.history_timeline{padding:0 20px 30px 20px;}

/* ---------- 年代ヘッダー ---------- */
.history_h3{
	font-size:3rem;
	letter-spacing:3px;
	line-height:3.6rem;
}
.history_h3 span{
	display:block;
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:2.88rem;
	margin-top:5px;
}

/* ---------- イベントカード ---------- */
.history_item{margin-bottom:20px;padding:70px 25px 1px;}
.history_ttl{
	font-size:2rem;
	letter-spacing:1px;
	line-height:3.6rem;
	margin-bottom:10px;
}
.history_item .history_ttl:not(:first-of-type){margin-top:34px;}
.history_item dd{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.4rem;
}

.event_box{padding:8px 20px;}

/* ---------- リボン型の年ラベル ---------- */
.history_year{
	font-size:2.2rem;
	letter-spacing:2.2px;
	top:15px;
	left:-17px;
	padding:8px 39px;
}
.history_year::after{
	top:38px;
	height:18px;
	width:18px;
}
.red_ttl strong{
	font-size:2.4rem;
	letter-spacing:1.2px;
	line-height:3.6rem;
	font-weight:bold;
	margin-bottom:20px;
}

/* ---------- 縦ライン & ドット ---------- */
.history_timeline::before{left:32px;}

}

@media screen and (max-width:950px){

/*---------- header ----------*/
#header_wrap{height:70px;}
.header_area{padding:0;}
.logo_link{
	width:280px;
	margin:4px 0 0 20px;
}
.insta_item{right:70px;}
#toggle{display:block;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:70px;
	height:70px;
	font-size:0;
	text-decoration:none;
	appearance:none;
	border-radius:0;
	border:none;
	background:none;
	cursor:pointer;
}
.toggle_txt{
	position:relative;
	display:block;
	width:70px;
	height:70px;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{
	content:'';
	display:block;
	position:absolute;
	z-index:10;
	left:0;
	right:0;
	margin:auto;
	width:25px;
	height:2px;
	background:#000000;
	transition:opacity 0.3s, top 0.3s, transform 0.3s, visibility 0.3s;
}
.toggle_btn::before{top:26px;}
.toggle_btn::after{top:42px;}
.toggle_txt::before{top:34px;}
.toggle_btn.open::before{
	top:35px;
	transform:rotate(135deg);
}
.toggle_btn.open::after{
	top:35px;
	transform:rotate(-135deg);
}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
#menu_box{
	display:block;
	position:fixed;
	z-index:50;
	top:70px;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	background:#0B308E;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}
.menu_dis{display:none !important;}
nav{
	display:block;
	height:100%;
}
.menu_list{
	display:block;
	margin:0 30px 30px;
}
.menu_item{
	position:relative;
	margin:0;
}
.menu_item::after{
	content:'';
	display:block;
	position:absolute;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	width:100%;
	height:1px;
	background:#000;
}
.menu_link{
	position:relative;
	padding:20px 15px;
	color:#fff !important;
	text-align:center;
	line-height:2.7rem;
}
.menu_link.acc::before, .menu_link.acc::after{
	content:'';
	position:absolute;
	top:0;
	right:27px;
	bottom:0;
	margin:auto;
	width:14px;
	height:2px;
	background:#fff;
}
.menu_link.acc::before{
	transform:rotate(90deg);
	transition:opacity 0.3s;
}
.menu_link.open::before{opacity:0;}
.menu_txt{display:inline-block;}

/*---------- footer ----------*/
.return_btn{
	width:55px;
	height:55px;
}
.copy_txt{
	font-size:1.2rem;
	letter-spacing:1.2px;
}

}
@media screen and (min-width:768px){
	.br_sp{display:none;}
}
@media screen and (max-width:900px){
.mission_item{padding:45px 55px;}
}
@media screen and (max-width:850px){
.msg_thumb{width:150px;}
.msg_job{font-size:1.2rem;}
.msg_name{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.6rem;
	margin-bottom:5px;
}
.msg_content{
	border-radius:20px;
	padding:30px 20px 10px;
}
.msg_catch{width:160px;}
.msg_contents .msg_job{
	margin-bottom:30px;
}
.msg_comment{
	letter-spacing:1.3px;
	line-height:2.21rem;
}
.mfp-close{
	margin:15px 15px 0 0;
}

}
@media screen and (max-width:767px){

body{
	-webkit-text-size-adjust:100%;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	background:#fff;
	width:auto;
}
input,textarea,select{font-size:16px;}
main{margin-top:60px;}
/*---------- header ----------*/
#header_wrap{height:60px;}
.logo_link{
	width:230px;
	margin:4px 0 0 15px;
}
.toggle_btn{
	width:60px;
	height:60px;
}
.toggle_btn::before{top:23px;}
.toggle_btn::after{top:37px;}
.toggle_txt::before{top:35px;}
.toggle_btn.open::before,.toggle_btn.open::after{top:30px;}

#menu_box{top:60px;}
.insta_item{right:58px;}

/*---------- footer ----------*/
.return_btn{
	width:50px;
	height:50px;
}
.copy_txt{
	font-size:1.1rem;
	letter-spacing:1.1px;
}

/* 共通 */

.pc_size{display:none !important;}
.sp_size{display:block !important;}

h2{
	margin-bottom:30px;
	font-size:2.7rem;
	letter-spacing:2.7px;
	line-height:3.6rem;
}
h3{
	font-size:1.8rem;
	line-height:2.7rem;
}
h4{
	font-size:1.8rem;
	letter-spacing:1.8px;
}
h5{
	font-size:1.4rem;
	letter-spacing:0.7px;
}
p{
	font-size:1.3rem;
	letter-spacing:2.6px;
	line-height:2.7rem;
	margin-bottom:13px;
}
img{margin:auto;}

.column_2{
	grid-row-gap:15px;
	margin-bottom:15px;
}

.br_pc{display:none;}
/* mv */
.mv_area{
	margin-bottom:0;
}
.mv_scroll{bottom:14%;}

/* 会長挨拶 */
.greet_box{
	display:flex;
	flex-direction:column-reverse;
	grid-gap:30px;
}
.greet_area_in{margin-bottom:43px;padding:10px 30px 0;}
.greet_h2{margin-bottom:33px;}
.greet_name span{
	font-size:2.2rem;
	letter-spacing:5.72px;
	line-height:3.2rem;
}

/* ミッションとビジョン */
.mission_box{
	padding:60px 20px 40px;
}
.mission_h2{margin-bottom:30px;}
.mission_box{
	padding:60px 30px 40px;
}
.mission_txt{
	font-size:1.5rem;
	letter-spacing:0.75px;
	line-height:2.5rem;
}
.mission_h3{
	font-size:1.9rem;
	letter-spacing:2.85px;
	margin-bottom:7px;
	line-height:2.7rem;
}
.mission_item{padding:23px 20px 10px;}

/* ロゴマークとスローガン */
.logo_area{padding:60px 20px;}
.logo_h2{margin-bottom:30px;text-align:center;}
.logo_box{flex-direction:column-reverse;}
.logo_item{padding:40px 20px;}
.logo_h3{
	font-size:2.3rem;
	letter-spacing:2.3px;
	line-height:3.6rem;
	text-align:center;
	margin-bottom:30px;
}
.logo_txt,.logo_thumb{width:100%;}
.logo_thumb{margin-bottom:40px;}
.logo_btn_link{margin:40px auto 0;}

/* お祝いのメッセージ */
.msg_h2{margin-bottom:30px;}
.msg_info{
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.7rem;
	margin-bottom:20px;
}
.msg_area{padding:230px 0 68px;}
.msg_area::before{
	width:218px;
	height:202px;
}
.msg_area::after{
	width:218px;
	height:202px;
	bottom:-35px;
}
.msg_box{margin-top:0;padding:25px 20px;}
.msg_list{
	grid-template-columns:1fr 1fr;
	gap:45px 15px;
}

/* 新潟のスポーツとともに歩んだ100年 */
/* .history_area{padding:132px 0 90px;} */
.history_area{padding:60px 20px 90px;}
.history_h2{margin-bottom:29px;}
.history_info{
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.7rem;
	margin-bottom:50px;
}
.history_era.red p{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.1rem;
}
.history_era_ttl{
	padding:10px 80px 10px 15px;
	font-size:2.2rem;
	letter-spacing:2.2px;
}
.history_h3 ::after{right:60px;}
.history_era_ttl::before, .history_era_ttl::after{right:15px;}
.history_timeline{padding:0 0 20px;}
.history_list{padding:20px 30px 10px 10px;}

/* ---------- 県内スポーツ界の主なできごと ---------- */
.event_box{padding:15px 15px 5px;}
.event_ttl{
	display:inline-block;
	font-size:1.1rem;
	letter-spacing:0.55px;
	line-height:3.6rem;
	padding:0 20px;
}
.event_ttl::before,.event_ttl::after{width:16px;}
.event_box li{
	font-size:1rem;
	letter-spacing:1px;
	line-height:1.65rem;
	margin-bottom:10px;
}

/* ---------- 年代ヘッダー ---------- */
.red_h3{
	margin:20px 0 !important;
	font-size:2.6rem;
	letter-spacing:2.6px;
	line-height:3.6rem;
	padding:15px;
}
.history_h3 span{
	font-size:1.1rem;
	letter-spacing:1.1px;
	line-height:1.8rem;
	margin-top:0;
}
.history_h3::after{
	right:60px;
}

/* ---------- イベントカード ---------- */
.history_item{margin-bottom:20px;padding:58px 15px 1px;}
.history_ttl{
	font-size:1.4rem;
	letter-spacing:0.7px;
	line-height:2.1rem;
	margin-bottom:5px;
}
.history_item dd{
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.8rem;
}

/* ---------- リボン型の年ラベル ---------- */
.history_year{
	font-size:1.8rem;
	letter-spacing:1.8px;
	padding:6px 29px;
}
.history_year::after{top:29px;left:0;width:17px;}
.history_slide{
	margin:0 calc(50% - 50vw);
	width:100vw;
}
.history_slide .slick-slide{
	width:191px !important;
}

/* にいがたスポーツ100年募金 */
.donation_box{
	padding:0;
}
.donation_box_in{
	padding:40px 20px 35px;
}
.donation_h2{
	font-size:2.3rem;
	letter-spacing:2.3px;
	line-height:3.6rem;
	margin-bottom:30px;
}
.donation_info{
	font-size:1.4rem;
	letter-spacing:2.8px;
	line-height:2.7rem;
	margin-bottom:40px;
}
.donation_h3{
	font-size:1.9rem;
	letter-spacing:1.9px;
	line-height:3.6rem;
	margin-bottom:25px;
}
.donation_copy{
	font-size:1.7rem;
	letter-spacing:3.4px;
	line-height:2.7rem;
	margin-bottom:20px;
}
.donation_p{
	margin-bottom:40px;
}
.donation_list{
	display:block;
}
.donation_item{
	width:100%;
	font-size:1.3rem;
	letter-spacing:2.6px;
	line-height:2.7rem;
	margin-bottom:10px;
}

/* 協賛企業団体 */
.sponsorship_box{
	margin-top:60px;
}
.sponsorship_h2{
	font-size:2.7rem;
	letter-spacing:2.7px;
	line-height:3.6rem;
}
.sponsorship_list{
	grid-template-columns:1fr;
	gap:15px;
}
}

@media screen and (max-width:600px){
.column_2{grid-template-columns:1fr;}

.event_box li{text-align:left;}
}

/*---------- print ----------*/
@media print{
	body{
		width:1200px;
		transform:scale(1);
		-moz-transform:scale(1);
		-webkit-transform:scale(1);
		transform-origin:0 0;
		zoom:.91;
		margin:auto
	}
	@media all and (-ms-high-contrast:none){
		body{width:1200px}
	}
	@media (-ms-high-contrast:none),(-ms-high-contrast:active){
		body{width:1200px}
	}
	@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm){
		body{
			width:1200px;
			transform:scale(.8);
			-moz-transform:scale(.8);
			-webkit-transform:scale(.8);
			transform-origin:0 0;
			margin:auto
		}
	}
}
/*---------- print end ----------*/
