@charset "UTF-8";

*{
margin:0;
padding:0;
line-height:170%;
}
html { 
font-size: 62.5%; 
}
body {
margin:0 auto;
padding:0;
text-align:center;
color: #222;
background:#fff;
font-size:1.5em;
font-family: YakuHanJP, Roboto, "Noto Sans JP", serif;
overflow-x:hidden;}

@media all and (-ms-high-contrast:none) {
body {
font-family: YakuHanJP, Roboto, "Noto Sans JP", serif;
font-weight: normal;
}
}

.no_palt{font-family: "Noto Sans JP", serif;}

.noclick{
	pointer-events: none;
	opacity:0.5;}

/*---	全体	---------------------------*/
html {
}
body{
	min-width:var(--fullsize);
}
section{
	width:100%;
	margin-bottom:100px;}

section.gray{
	background:var(--c-higray);
	color:#ffffff;}

.inner{
	width:var(--fullsize);
	margin:0 auto;}

.sec.up .inner{
	width:calc(var(--fullsize) + 100px);
	margin:0 auto;
	padding:50px;
	box-sizing:border-box;}

.sec.up .inner.all{
	padding:50px 0;}

.sec.up .inner.all.half{
	padding:30px 0;}

.sec.up .inner.all .pl{
	padding-left:50px;}

.sec.up .inner.all .pr{
	padding-right:50px;}

.inner.banner_document{
	margin-top:100px;}

@media (max-width: 1227px){
.sec.up .inner{
	width:calc(100% - 100px);
	margin:0 50px;
	padding:50px;
	box-sizing:border-box;}
}

@media (max-width: 1057px){
.inner{
	width:100%;
	padding:0 20px;
	box-sizing:border-box;}

.inner.banner_document{
	margin-top:0;}

.inner.banner_document img{
	width:100%;}
}

@media (max-width: 640px){
.sec.up .inner{
	width:calc(100% - 40px);
	margin:0 20px;
	padding:20px;
	box-sizing:border-box;}

.sec.up .inner.all{
	padding:20px 0;}

.sec.up .inner.all.half{
	padding:20px 0;}

.sec.up .inner.all .pl{
	padding-left:20px;}

.sec.up .inner.all .pr{
	padding-right:20px;}
}


img.box_max{
    width: 100%;
    height: 100%;
    object-fit: cover;}

@media (max-width: 640px){
	body{
		min-width:unset;
	}
	.inner{
		width:calc(100% - 30px);
	}
}

html,body {
	overflow:hidden;}

html.open,body.open{
/*	overflow:unset;*/
	overflow-y:unset;
	overflow-x:hidden;
}



/*ファーストビュー*/
section.first_view{
	width:100%;
	position:relative;
	margin-bottom:0;
}
section.first_view .main_box{
	height:100vh;
	width:100%;
	overflow:hidden;
	position:absolute;
	top:0;
	z-index:999999;
}

section.first_view .main_box .img_area{
	position:relative;
	height:100%;
	width:100%;
}
section.first_view .main_box .img_area .scroll{
	position:absolute;
	bottom:60px;
	left:50%;
	transform: translateX(-50%);
}
section.first_view .main_box .img_area .copy{
	text-align:center;
	color:var(--c-red);
	font-size:3em;
	font-weight:bold;
	position:absolute;
	top:50%;
	left:0;
	transform: translateY(-50%);
	width:100%;
	z-index:10;
	height:12%;
	padding:30px;
}section.first_view .main_box .img_area .copy .b{
	color:var(--c-blue);
}section.first_view .main_box .img_area .copy img{
    height:100%;
	min-height:32px;
    margin: 0 auto;
}

section.first_view .main_box .img_area .photo_box{
	position:absolute;
	width:50%;
	height:44%;
	overflow:hidden;
	z-index:1;
	opacity:0;
	transition-property: opactity,bottom;
}
section.first_view .main_box .img_area .photo_box.l{
	top:0;	left:0;
}section.first_view .main_box .img_area .photo_box.r{
	top:56%;	right:0;
}
section.first_view .main_box .img_area .photo_box img{
	width:100%;	height:100%;
    object-fit: cover;
}section.first_view .main_box .img_area .photo_box .first_img{
	opasity:1;
	position:relative;
	z-index:2;
}
section.first_view .main_box .img_area .photo_box .change_img{
    position: absolute;
    bottom: 0;	left:0;
	z-index:1;
}
section.first_view .main_box .img_area .photo_box .mask{
	background:#ffffff;
	width:100%;	height:0;
	z-index:3;
    position: absolute;
    bottom: 0;	left:0;
}


section.first_view .main_box .svg_area{
	position:absolute;
	z-index:100;
	width:105%;
    height: 100%;
	top:0%;
	left:50%;
	transform: translateX(-50%);
}
section.first_view .main_box .svg_area svg{
	width:100%;
/*	height:100%;*/
	overflow:visible;
}


section.first_view .main_box .svg_area svg .out_lines{
	clip-path: circle(100% at center);
}

section.first_view .main_box .svg_area svg .shoot_line{
	clip-path: inset(0 100% 0 0);
}
section.first_view .main_box .svg_area svg .skii_line{
    transform: translateY(180%);
    clip-path: inset(0 0 0 100%);
}

section.first_view .main_box .svg_area svg .logo g path{
    fill-opacity:0;
}
section.first_view .main_box .svg_area svg .logo .copy01 path{    fill-opacity:0;
}section.first_view .main_box .svg_area svg .logo .copy02 path{    fill-opacity:0;
}section.first_view .main_box .svg_area svg .logo .copy03 path{    fill-opacity:0;
}section.first_view .main_box .svg_area svg .logo .mount path{    fill-opacity:0;
}section.first_view .main_box .svg_area svg .logo .logo_lines path{    fill-opacity:0;
}


/*時間設定
transition:プロパティ名 変化時間 イージング 遅延時間*/
section.first_view .main_box .img_area{	transition:0.4s ease 4s;	}
section.first_view .main_box .img_area .scroll{				transition:0.4s ease 0.0s;	}
section.first_view .main_box .img_area .copy{				transition:1.9s ease 0.3s;	}
section.first_view .main_box .img_area .photo_box{			transition:opacity 1.5s ease 0s,top 1.5s 1.5s;	}
section.first_view .main_box .img_area .photo_box .first_img{	transition:opacity 1.2s ease 1.7s,transform 3s linear 0.5s;	}
section.first_view .main_box .img_area .photo_box .change_img{	transition:transform 3s linear 2.0s;	}
section.first_view .main_box .img_area .photo_box .mask{	transition:height 1.5s 2.5s;	}

section.first_view .main_box .svg_area svg .out_lines{		transition:1.8s 4.2s;		}
section.first_view .main_box .svg_area svg .shoot_line{		transition:clip-path 2.0s 1s;		}
section.first_view .main_box .svg_area svg .skii_line{		transition:clip-path 2.0s 1s,transform 1.5s 1.5s;		}

section.first_view .main_box .svg_area svg .logo g path{			transition:0.6s;	}
section.first_view .main_box .svg_area svg .logo .mount path{	transition:0.6s 3.0s;		}
section.first_view .main_box .svg_area svg .logo .copy01 path{	transition:0.6s 3.4s;		}
section.first_view .main_box .svg_area svg .logo .copy02 path{	transition:0.6s 3.7s;		}
section.first_view .main_box .svg_area svg .logo .copy03 path{	transition:0.6s 4.1s;		}
section.first_view .main_box .svg_area svg .logo .logo_lines path{transition:0.4s 4s;		}

section.first_view .main_box .svg_area svg{	transition:1.0s 6s;	}



/*動作開始*/
section.first_view.ON .main_box .img_area{
	opacity:0;}

section.first_view.ON .main_box .img_area .scroll{
	opacity:0;}

section.first_view.ON .main_box .img_area .copy{
	opacity:0;}

section.first_view.ON .main_box .img_area .photo_box{
	opacity:1;}

section.first_view.ON .main_box .img_area .photo_box.l{}
section.first_view.ON .main_box .img_area .photo_box.r{
	top:0%;}

section.first_view.ON .main_box .img_area .photo_box img{
	transform: scale(1.2)}

section.first_view.ON .main_box .img_area .photo_box .first_img{
	opacity:0;}

section.first_view.ON .main_box .img_area .photo_box .mask{
	height:100%;}

section.first_view.ON .main_box .svg_area svg .out_lines{
	clip-path: circle(0% at center);}

section.first_view.ON .main_box .svg_area svg .shoot_line{
	clip-path: inset(0 0% 0 0);}

section.first_view.ON .main_box .svg_area svg .skii_line{
    transform: translateY(0%);
    clip-path: inset(0 0 0 0%);}

section.first_view.ON .main_box .svg_area svg .logo g path{}

section.first_view.ON .main_box .svg_area svg .logo .copy01 path{    fill-opacity:1;}
section.first_view.ON .main_box .svg_area svg .logo .copy02 path{    fill-opacity:1;}
section.first_view.ON .main_box .svg_area svg .logo .copy03 path{    fill-opacity:1;}
section.first_view.ON .main_box .svg_area svg .logo .mount path{    fill-opacity:1;}
section.first_view.ON .main_box .svg_area svg .logo .logo_lines path{    fill-opacity:1;}

section.first_view.ON .main_box .svg_area svg{
	transform: scale(0.65) translateY(-35%);}

section.first_view.ON  .main_box{
    pointer-events: none;}

@media (max-width: 640px){
section.first_view.ON .main_box .svg_area svg{
	transform: scale(1) translateY(0);}

section.first_view .main_box .svg_area svg .logo .out_lines {
        transform: translateY(50px);}
}


/*アニメーション終了後*/

header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:75px;
	z-index:1000000;
	border-bottom:4px solid var(--c-blue);
	background:#ffffff;
	text-align:center;}

header.toppage_header{
	opacity:0;
	transition:0.7s;
	transform: translateY(-100%);}

header .toppage_logo{
	display:inline-block;
	height:100%;
	padding:8px 0;
	margin:0 auto;}

header .toppage_logo .logo{
	height:100%;}

@media (max-width: 640px){
header{
	height:60px;}
}



.fv_slide_area{
	width:100%;
	padding-top:calc(8% + 30px);
	padding-bottom:0;
	position:relative;
	z-index:5;
	overflow:hidden;}

.fv_slide_area .slide_overlay{
	position:fixed;
	width:100%;	height:100vh;
	top:0;	left:0;
	background:#ffffff;
	transition:1.6s;
	z-index:10;
	opacity:1;}

.fv_slide_area .slide_overlay.open{
	opacity:0;
	pointer-events: none;}



.fv_openline.topline{
	position:absolute;
	top:0;
	left:0;
	padding-top:8%;
	height:0;
	width:0;
	border-bottom:4px solid var(--c-blue);
	transition:1.6s;}

@media (max-width: 640px){
.fv_openline.topline{
	padding-top:56px;}
}

.fv_openline.topline.open{
	width:100%;}

.fv_slide_area .bottomline{
	position:relative;
	margin-top:40px;
	width:100%;
	overflow:hidden;}

.fv_slide_area .bottomline img{
	max-width:unset;
	width:calc(100% + 100px);
	transform: translateX(-50px);}

.fv_slide_area .bottomline:after{
	content:"";
	position:absolute;
	height:100%;	width:100%;
	top:0;	left:0;
	background:#ffffff;
	z-index:2;
	transition:1.6s;}

.fv_slide_area .bottomline.open:after{
	width:0;}



/* slider-slick */
#slide_container{
	width:100%;
	margin:0 auto;
	text-align:center;
	clear:both;
	padding:30px 0px;}

@media (max-width: 640px){
#slide_container{
	padding:20px 0 0;}
}

.container img{
	max-width:100%;
	height:auto;}

.sliderArea {
	max-width:100%;
	margin: 0 auto;
	padding: 0;}

.slick-slide {
	margin: 0 20px;}

/*重要*/
.slick-slide img {
	width: 100%;
	height: auto;}

.slick-prev,
.slick-next {
	top:-200%;
	z-index: 1;}

.slick-prev:before,
.slick-next:before {
	color: #000;}

.thumb .slick-prev:before{
	color: #1d2088 !important;
	margin-left:-30px;}

.thumb .slick-next:before {
	color: #1d2088 !important;
	margin-left:15px;}

.slick-slide {
	transition: all ease-in-out .3s;
	opacity: .2;}

.slick-active {
	opacity: 1;}

.slick-current {
	opacity: 1;}

.thumb {
	width:50%;
	margin: 20px auto 0;}

@media (max-width: 640px){
.thumb {
	width:100%;}
}

.thumb .slick-slide {
cursor: pointer;
margin: 0 5px;
padding:0 !important;}

.thumb .slick-slide:hover {
opacity: .7;}


/* Footer */

footer{
	background:#000000;
	position:relative;
	padding:100px 0 150px;}

@media (max-width: 640px){
footer{
	padding:100px 0;}
}

footer .footer_copy{
	font-size:0.9em;
	text-align:center;
	color:#fff;}

footer .foot_shootline{
	position:absolute;
	top:50px;	left:0;
	height:4px;	width:0;
	background:var(--c-blue);
	transition:1.6s;}

footer .foot_shootline.animated{
	width:100%;}

/*
footer .foot_skiiline{
	position: absolute;
	margin-top:50px;
	bottom: 50px;
	width:100%;
	overflow:hidden;}

footer .foot_skiiline img{
	max-width:unset;
	width:calc(100% + 100px);
	transform: translateX(-50px);}

footer .foot_skiiline:after{
	content:"";
	position:absolute;
	height:100%;
	width:100%;
	top:0;
	left:0;
	background:#000000;
	z-index:2;
	transition:1.6s;}

footer .foot_skiiline.animated:after{
	width:0;}
*/


footer {
    position: relative;
    overflow: hidden;
}

footer .foot_skiiline {
    position: absolute;
    bottom: 50px;
    left: 0;
    width: 100%;
    overflow: hidden;
}

footer .foot_skiiline img {
    max-width: unset;
    width: calc(100% + 100px);
    transform: translateX(-50px);
    transition: transform 1.6s ease-out;
}

/* 背景のスライドアウト */
footer .foot_skiiline:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: #000000;
    z-index: 2;
    transition: width 1.6s ease-out;
}

/* アニメーション発火時 */
footer .foot_skiiline.animated:after {
    width: 0; /* スライドアウト */
}

footer .foot_skiiline.animated img {
    transform: translateX(0); /* 画像スライドイン */
}





footer .address{
	display:flex;
	margin-bottom:30px;}

footer .address .logo{
	margin-right:30px;}

footer .address .text{
	color:#fff;
	text-align:left;}

footer .address .text .inc{
	font-size:1.3em;
	line-height:1em;
	margin-bottom:10px;}

footer .address .text .inc span{
	font-size:1.2rem;
	margin-right:1em;}

footer .address .text ul{
	display:flex;
	flex-wrap:wrap;
	gap:10px;}

footer .address .text ul li{
	font-size:0.9em;
	margin-right:20px;}

@media (max-width: 640px){
footer .address .text ul{
	flex-direction:column;}
}

@media (max-width: 500px){
footer .address{
	flex-direction:column;
	justify-content:center;}

footer .address .logo{
	margin-right:0px;
	margin-bottom:30px;
	text-align:center;}

footer .address .logo img{
	margin:0 auto;}

footer .address .text{
	text-align:center;}
}



.inner_side{
	width:auto;
	margin-left:calc((100% - var(--fullsize)) / 2);
	overflow: hidden;}

@media (max-width: 1057px){
.inner_side{
	margin-left:20px;}
}


section.bottomgold{
	position:relative;
	padding-bottom:40px;}

section.bottomgold:after{
	content:"";
	position: absolute;
	width:calc(100% - ((100% - var(--fullsize)) / 2));
	height:1px;
	background:var(--c-gold);
	bottom:0;	left:calc((100% - var(--fullsize)) / 2);}

.toppage h2{
	font-family: urw-din, sans-serif;
	width:fit-content;
	padding-right:10px;
	position:relative;
	margin-bottom:25px;}

.toppage h2:after{
	content:"";
	position:absolute;
	top:55%;
	left:100%;
	width:100vw;
	height:2px;}

.toppage h2.all:after{
	content:"";
	position:absolute;
	top:55%;
	left:100%;
	width:100vw;
	height:2px;}

.toppage h2.red		{color:var(--c-red);}
.toppage h2.red:after	{background:var(--c-red);}
.toppage h2.blue	{color:var(--c-blue);}
.toppage h2.blue:after	{background:var(--c-blue);}
.toppage h2.gold	{color:var(--c-gold);}
.toppage h2.gold:after	{background:var(--c-gold);}
.toppage h2.white	{color:#ffffff;}
.toppage h2.white:after	{background:var(--c-white);}


section#news{
	overflow:hidden;
	padding-bottom:100px;}

@media (max-width: 1057px){
section#news{
	padding-top:50px;
	padding-bottom:0;
	margin-bottom:50px;}
}

@media (max-width: 640px){
section#news{
	padding-top:0px;}
}

.toppage .news_list{
	width:100%;
	overflow:hidden;}

.toppage .news_list li{
	width:var(--fullsize);
	position:relative;
	padding:15px 0;
	display:flex;}

@media (max-width: 1057px){
.toppage .news_list li{
	padding:15px 20px 15px 0;
	flex-wrap:wrap;}
}

.toppage .news_list li:after{
	content:"";
	position:absolute;
	width:100vw;	height:1px;
	bottom:0;	left:0;
	background:var(--c-gold);}

.toppage .news_list li .cate{
	font-size:0.9em;
	background:#8B8B8B;
	color:#fff;
	width:120px;
	border-radius:15px;
	line-height:1em;
	display:flex;
	justify-content:center;
	align-items:center;}

.toppage .news_list li .cate.red{
	background:var(--c-red);}

.toppage .news_list li .cate.blue{
	background:var(--c-blue);}

.toppage .news_list li .cate.gold{
	background:var(--c-gold);}

.toppage .news_list li .date{
	margin:0 20px;
	font-family: urw-din, sans-serif;
	font-size:1.1em;
	font-weight:bold;}

.toppage .news_list li .date span{
	font-size:0.9em;}

.toppage .news_list li .title{
	width:100%;
	text-align:left;}

section#gallery{
	background:var(--c-blue);
	padding:75px 0 0;
	margin-bottom:0;
	overflow-x: clip;}

section#gallery.insta{
	background:#c09b0f;
	padding:0 0 50px;
	overflow-x: clip;}

@media (max-width: 640px){
section#gallery{
	padding:50px 0 0;}

section#gallery.insta{
	padding:0 0 50px;}
}

.silhouette_ou{
	position:relative;
	padding-top:100px;}

@media (max-width: 1057px){
.silhouette_ou{
	display:none;}
}

.silhouette_box{
	position:absolute;
	z-index:3;}

.silhouette_box img{
	width:100%;
	transition:opacity 1.0s,transform 1.2s;
	opacity:0;}

.silhouette_box .silhouette_a{
	transform: translateY(-80px);
/*	transform: translateY(-80px);*/}

.silhouette_box .silhouette_b{
	position:absolute;
	left:0;	top:0;
	transform: translateY(80px);
/*	transform: translateY(80px);*/}

.silhouette_box.silhouette_shoot{
	width:600px;
	top:30px;
	right:calc(100% - 160px);}

.silhouette_box.silhouette_skii{
	width:680px;
	top:450px;
	left:calc(100% - 160px);}

.silhouette_box.animated .silhouette_a{
	transform: translateY(0px);
	opacity:1;}

.silhouette_box.animated .silhouette_b{
	transform: translateY(0px);
	opacity:1;}




      .cls-1 {
        fill: #c09b0f;
      }

      .cls-2 {
        fill: none;
      }

      .cls-3 {
        fill: #e60012;
      }

      .cls-4 {
        fill: #1d2088;
      }


/* サムネイルのコンテナ */
.swiper-container-thumbs {
	display: flex;
	justify-content: center;
	margin: 20px auto 0;
	width: 60%;
}

/* サムネイルスライドのスタイル */
.swiper-container-thumbs .swiper-wrapper {
	display: flex;
	justify-content: center;
	gap: 10px; /* サムネイル間の間隔 */
}

.swiper-container-thumbs .swiper-slide {
	cursor: pointer;
	opacity: 0.5; /* 非アクティブ時は半透明 */
	border: 5px solid transparent; /* 初期状態は枠なし */
	flex-basis: calc(25% - 10px); /* 4つの画像を均等に並べる */
	max-width: 150px; /* サムネイルの最大サイズを指定 */
	transition:0.5s;
	
}

.swiper-container-thumbs .swiper-slide-thumb-active {
	opacity: 1; /* アクティブ時は透明度100% */
	border: 5px solid var(--c-gold);
}

.swiper-container-thumbs img {
	width: 100%;
	height: auto;
}




.top_media_youtube{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	margin-bottom:50px;}

.top_media_youtube img{
	width:100%;}

.top_media_youtube div{
	width:32%;}

.top_media_youtube .column{
	display:flex;
	flex-direction:column;
	justify-content:space-between;}

@media (max-width: 640px){
.top_media_youtube{
	flex-wrap:wrap;}

.top_media_youtube div{
	width:49%;}

.top_media_youtube .column:last-child{
	padding-top:10px;
	width:100%;
	flex-direction:row;
	gap:10px;}
}

@media (max-width: 500px){
.top_media_youtube div{
	width:100%;}

.top_media_youtube .column{
	padding-top:10px;
	width:100%;
	flex-direction:column;
	gap:10px;}

.top_media_youtube .column:last-child{
	flex-direction:column;}
}


.top_media_ev{
	background:#251835;
	padding:25px 25px 0 25px;}

.top_media_ev.bottom{
	padding:0 25px 25px 25px;
	margin-bottom:50px;}

.top_media_ev .ev_banner img{
	width:100%;}

.top_media_ev .ev_text{
	text-align:left;
	color:#fff;}

.top_media_ev .ev_text h3{
	font-size:2.5em;
	line-height:1.2em;
	margin:20px 0}

.top_media_ev .ev_text p{
	padding:0 0 20px;}

.top_media_ev .ev_text .caution{
	color:#fff100;}

.top_media_ev .ev_link{
	color:#fff100;
	display:flex;
	justify-content:space-between;}

.top_media_ev .ev_link_left{
	display:inline-block;}

.top_media_ev .ev_link_left ul{
	display:flex;
	flex-wrap:wrap;
	gap:20px;}

.top_media_ev .ev_link_left ul .ev_logo{
	width:200px;}

.top_media_ev .ev_link_left ul .ev_logo img{
	width:100%;}

.top_media_ev .ev_link_left ul .ev_howto a{
	display:block;
	font-size:0.8em;
	padding:8px 30px;
	color:#fff100;
	border:1px solid #fff100;
	border-radius:5px;
	text-decoration:none;}

.top_media_ev .ev_link_right{
	display:flex;
	flex-direction:column;
	justify-content:flex-end;}

.top_media_ev .ev_link_right a{
	display:block;
	font-size:0.8em;
	padding:8px 30px;
	color:#fff;
	border:1px solid #fff;
	background:#330d63;
	border-radius:22px;
	text-decoration:none;
	bottom:0;
	white-space:nowrap;}

@media (max-width: 640px){
.top_media_ev .ev_link{
	flex-direction:column;
	gap:20px;}

.top_media_ev .ev_link_left ul .ev_howto{
	width:100%;
	display:block;}
}


section#gallery.insta h3{
	line-height:1em;
	color:#fff;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:10px;
	margin-bottom:50px;}

section#gallery.insta h3 img.insta_logo{
	height:1em;}

section#gallery.insta span{
	font-size:1.5rem;
	border:1px solid #fff;
	border-radius:5px;
	padding-left:10px;
	padding-right:10px;}

section#gallery.insta .instabox{
	display:flex;
	gap:10px;}

section#gallery.insta .insta_slider{
	width:100%;
	margin-bottom:50px;}

section#gallery.insta .insta_slider .slick-slide{
	aspect-ratio: 1 / 1;
	background-color: #000 !important;
	padding: 5px !important;
	background-clip: content-box !important;
	clip-path: inset(5px);
	overflow:hidden;}

section#gallery.insta .insta_slider .slick-slide img{
/*	width:calc(100% - 10px);
	margin:0 5px !important;*/}

section#gallery.insta .x_btn{
	text-align:center;}

section#gallery.insta .x_btn a{
	display:inline-block;}

section#gallery.insta .x_btn img{
	height:50px;}






section#athletes{
	background:var(--c-red);
	padding:50px 0 75px;
	margin-bottom:0;
	overflow-x: clip;}

@media (max-width: 640px){
section#athletes{
	padding:50px 0;}
}

section#athletes h2{
	margin-bottom:0;}

section#athletes .sub{
	text-align:left;
	color:#fff;
	margin-bottom:25px;}

section#athletes .top_athletes img{
	width:100%;}



section#about{
	background-image:url("../img/top_about_back.jpg");
	background-position:center center;
	background-size:cover;
	padding:50px 0 150px;
	margin-bottom:0;
	overflow-x: clip;}

@media (max-width: 640px){
section#about{
	padding:50px 0;}
}

section#about h2{
	margin-bottom:0;}

section#about .sub{
	text-align:left;
	color:#fff;
	margin-bottom:100px;}

section#about .top_about{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:20px;}

section#about .top_about div.half{
	width:48%;}

section#about .top_about img{
	width:100%;}

@media (max-width: 640px){
section#about .top_about div,
section#about .top_about div.half{
	width:100%;}
}



section#other{
	margin-bottom:100px;}

section#other .top_mission{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	margin-bottom:100px;}

section#other .top_mission div.half{
	width:50%;}

section#other .top_mission img{
	width:100%;}

@media (max-width: 640px){
section#other{
	margin-bottom:50px;}

section#other .top_mission{
	margin-bottom:50px;}

section#other .top_mission div,
section#other .top_mission div.half{
	width:100%;}
}

section#other .top_member{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:20px;}

section#other .top_member div{
	width:48%;}

section#other .top_member img{
	width:100%;}

@media (max-width: 640px){
section#other .top_member div{
	width:100%;}
}



section#officialpartners{
	margin-bottom:100px;}

section#officialpartners .partner{
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	margin-bottom:100px;
	gap:10px;}

section#officialpartners .partner li{
	width:30%;
	text-align:center;}

section#officialpartners .partner li a{
	display:inline-block;}

section#officialpartners .partner li img,
section#officialpartners .recognition img{
	width:100%;}

@media (max-width: 640px){
section#officialpartners{
	margin-bottom:50px;}

section#officialpartners .partner li{
	width:45%;
	padding:0;
	text-align:center;}

section#officialpartners .partner{
	margin-bottom:50px;
	gap:10px;}
}



section#sponsor{
	margin-bottom:100px;}

section#sponsor .com_4{
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	margin-bottom:20px;
	gap:10px;}

section#sponsor .com_4 li{
	width:23%;
	text-align:center;}

section#sponsor .com_4 li a{
	display:inline-block;}

section#sponsor .com_4 li img{
	width:100%;
	max-width:200px;}

section#sponsor .com_5{
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	gap:10px;}

section#sponsor .com_5 li{
/*	width:18%;*/
	text-align:center;}

section#sponsor .com_5 li a{
	display:inline-block;}

section#sponsor .com_5 li img{
	width:100%;
	max-width:200px;
	max-height:100px;}

@media (max-width: 640px){
section#sponsor{
	margin-bottom:50px;}

section#sponsor  .com_4 li,
section#sponsor  .com_5 li{
	width:45%;
	padding:0;
	text-align:center;}

section#sponsor .com_5 li img{
	max-height:80px;}

section#sponsor  .com_5{
	margin-bottom:50px;
	gap:20px;}
}



/* 2nd 共通ヘッダ設定 */
.sec_header{
	height:500px;
	position:relative;
	display:flex;
	justify-content:flex-start;
	align-items:flex-end;
	background-size:cover;
	background-position:center center;
	background-repeat:none;
	margin:85px 0 0;
	padding:50px;
	box-sizing:border-box;}

.sec_header.mid{
	height:530px;}

.sec_header.sml{
	height:320px;}

@media (max-width: 640px){
.sec_header{
	height:320px;
	padding:50px 20px 20px;
	margin:70px 0 0;}

.sec_header.mid{
	height:320px;}

.sec_header.sml{
	height:320px;}
}

.sec_header.news{
	background-image:url("../img/news_back_01.jpg");
	align-items:center;}

.sec_header.about{
	background-image:url("../img/about_back_01.jpg");
	align-items:center;}

.sec_header.aboutjbf{
	background-image:url("../img/aboutjbf_back_01.jpg");
	align-items:center;}

.sec_header.documents{
	background-image:url("../img/documents_back_01.jpg");
	align-items:center;}

.sec_header.mission{
	background-image:url("../img/mission_back_01.jpg");
	margin-bottom:100px;}

.sec_header.athletes{
	background-image:url("../img/athletes_back_01.jpg");
	margin-bottom:0px;}

.sec_header.athletes.member{
	background-image:url("../img/athletes_back_02.jpg");
	margin-bottom:0px;}

@media (max-width: 640px){
.sec_header.mission{
	margin-bottom:50px;}
}

.sec_header.results{
	background-image:url("../img/results_back_01.jpg");
	align-items:center;}

.sec_header.schedule{
	background-image:url("../img/schedule_back_01.jpg");
	align-items:center;}

.sec_header.logomark{
	background-image:url("../img/logomark_back_01.jpg");
	align-items:center;}

.sec_header.donation{
	background-image:url("../img/donation_back_01.jpg");
	align-items:center;}

.sec_header.eurovision{
	background-image:url("../img/eurovision_back_01.jpg");
	align-items:center;}

.sec_header .title{
	text-align:left;
	color:#fff;}

.sec_header .title h2{
	font-family: "urw-din", sans-serif;
	line-height:1.2em;
	margin:0;}

.sec_header .title h2 span{
	font-size:0.5em;
	line-height:1.9em;}

.sec_header .title p{
	font-weight:500;}

.sec_header .copy{
	position:absolute;
	top:10px;
	right:10px;
	padding:2px 5px;
	font-size:0.6em;
	background-color:rgba(255,255,255,0.5);
	border-radius:5px;}



/* 2nd 共通基本設定 */
section.sec{
	position:relative;}

section.sec.up{
	margin-bottom:0;}

@media (max-width: 640px){
section.sec.up{
	margin-bottom:0;}
}

section.sec .inner{
	position:relative;}

section.sec .inner.w_spc{
	background-color:var(--c-white);}

section.sec .inner.g_spc{
	background-color:#f0f0f0;}

section.sec .inner.top_up{
	margin-top:-100px;}

@media (max-width: 640px){
section.sec .inner.top_up{
	margin-top:-50px;}
}

section.sec h3{
	text-align:left;
	padding-bottom:5px;
	margin-bottom:1.5em;}

@media (max-width: 640px){
section.sec h3{
	font-size:1.5em;
	line-height:1.5em;}
}

section.sec h4{
	text-align:left;
	margin-bottom:0.8em;
	font-weight:500;}

section.sec h4.box{
	padding:10px 12px 8px;
	border-radius:5px;
	font-size:1.2em;
	line-height:1.4em;}

section.sec h4.box.t_blue{
	color:var(--c-white);
	background-color:var(--c-blue);}

section.sec h4.t_max{
	font-size:2.5em;
	font-weight:700;}

@media (max-width: 640px){
section.sec h4.t_max{
	font-size:1.5em;
	font-weight:600;}
}

section.sec p{
	text-align:justify;
	line-height:2em;
	margin-bottom:20px;}

section.sec .en{
	text-align:left;
	font-size:1.05em;}

section.sec p:last-child{
	margin-bottom:0;}

section.sec .photo img{
	width:100%;}

section.sec .jbf_line{
	height:4px;
	background: linear-gradient(to right,
	#e60012 calc(100% / 3),
	#1d2088 calc(100% / 3),
	#1d2088 calc(200% / 3),
	#c09b0f calc(200% / 3));}

section.sec .btn_line{
	margin-top:30px;
	border:2px solid var(--c-blue);
	border-radius:5px;}

section.sec .btn_line.w50{
	width:50%;
	margin:30px auto 0;}

@media (max-width: 640px){
section.sec .btn_line.w50{
	width:100%;}
}

section.sec .btn_line a{
	position:relative;
	display:block;
	padding:10px 0;
	text-decoration:none;
	color:var(--c-blue);}

section.sec .btn_line a:hover{
	background-color:var(--c-blue);
	color:var(--c-white);
	opacity:1.0;}

section.sec .btn_line a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1em;
	margin: auto;
 	content: "";
 	ertical-align: middle;
	width: 0.6em;
	height: 0.6em;
	border-top: 2px solid var(--c-blue);
	border-right: 2px solid var(--c-blue);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);}

section.sec .btn_line a:hover::after{
	border-top: 2px solid var(--c-white);
	border-right: 2px solid var(--c-white);}

section.sec .btn_line.red{
	margin-top:30px;
	border:2px solid var(--c-red);
	border-radius:5px;}

section.sec .btn_line.red a{
	position:relative;
	display:block;
	padding:10px 0;
	text-decoration:none;
	color:var(--c-red);}

section.sec .btn_line.red a:hover{
	background-color:var(--c-red);
	color:var(--c-white);
	opacity:1.0;}

section.sec .btn_line.red a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1em;
	margin: auto;
 	content: "";
 	ertical-align: middle;
	width: 0.6em;
	height: 0.6em;
	border-top: 2px solid var(--c-red);
	border-right: 2px solid var(--c-red);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);}

section.sec .btn_line.red a:hover::after{
	border-top: 2px solid var(--c-white);
	border-right: 2px solid var(--c-white);}

section.sec .btn_line.white{
	border:2px solid var(--c-white);}

section.sec .btn_line.white a{
	color:var(--c-white);}

section.sec .btn_line.white a:hover{
	background-color:var(--c-white);
	color:var(--c-red);}

section.sec .btn_line.white a::after{
	border-top: 2px solid var(--c-white);
	border-right: 2px solid var(--c-white);}

section.sec .btn_line.white a:hover::after{
	border-top: 2px solid var(--c-red);
	border-right: 2px solid var(--c-red);}




section.sec .btn_fill.red{
	margin-top:30px;
	border:none;
	border-radius:5px;}

section.sec .btn_fill.red a{
	position:relative;
	display:block;
	padding:20px 0;
	text-decoration:none;
	background-color:var(--c-red);
	color:var(--c-white);
	border-radius:5px;}

section.sec .btn_fill.red a:hover{
	background-color:var(--c-red);
	color:var(--c-white);
	opacity:1.0;}

section.sec .btn_fill.red a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1em;
	margin: auto;
 	 content: "";
 	ertical-align: middle;
	width: 0.6em;
	height: 0.6em;
	border-top: 2px solid var(--c-white);
	border-right: 2px solid var(--c-white);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);}

section.sec .btn_fill.red a:hover::after{
	border-top: 2px solid var(--c-white);
	border-right: 2px solid var(--c-white);}



/* 2nd mission 背景切り替わり */
.change_back{
    height: 530px;
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding: 50px;
    box-sizing: border-box;
    transition: background-image 0.5s ease-in-out;
}

@media (max-width: 640px){
.change_back{
	height:230px;
	padding:20px;
	margin:0 0 50px;}
}

.change_back.tl{
    justify-content: flex-start;
    align-items: flex-start;}
.change_back.tc{
    justify-content: center;
    align-items: flex-start;}
.change_back.tr{
    justify-content: flex-end;
    align-items: flex-start;}

.change_back.mission_02 {
    background-image: url("../img/mission_back_02.jpg");}
.change_back.mission_03 { 
    background-image: url("../img/mission_back_03.jpg");} 
.change_back.mission_04 { 
    background-image: url("../img/mission_back_04.jpg");}

.change_back.mission_02.change {
    background-image: url("../img/mission_back_02_o.jpg");}
.change_back.mission_03.change { 
    background-image: url("../img/mission_back_03_o.jpg");} 
.change_back.mission_04.change { 
    background-image: url("../img/mission_back_04_o.jpg");}

.change_back::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;}

.change_back.change::after {
    opacity: 1;}

.change_back p{
	font-family: "urw-din", sans-serif;
	font-size:1.5em;
	font-weight:600;}


/* mission */
section.sec.mission dl.mission_text{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:stretch;}

section.sec.mission dl.mission_text dt{
	width:40px;
	font-size:2em;
	line-height:1em;
	text-align:left;
	font-weight:600;}

section.sec.mission dl.mission_text dd{
	width:calc(100% - 40px);
	text-align:left;
	padding:0.5em 0 20px;}

section.sec.mission dl.mission_text dd:last-child{
	padding:0.5em 0 0;}

section.sec.mission .inner .word_do{
	position:absolute;
	top:150px;
	left:calc(1000px - 453px);}

section.sec.mission .inner .word_sei{
	position:absolute;
	top:-400px;
	left:calc(1000px - 551px);}

section.sec.mission .inner .word_kon{
	position:absolute;
	top:-500px;
	left:calc(1000px - 736px);}

section.sec.mission .inner .word_ren{
	position:absolute;
	top:-600px;
	left:-111px;
	max-width:1223px !important;}

@media (max-width: 1057px){
section.sec.mission .inner .word_do{
	position:absolute;
	top:150px;
	left:calc(1000px - 453px);}

section.sec.mission .inner .word_sei{
	position:absolute;
	top:-400px;
	left:calc(1000px - 551px);}

section.sec.mission .inner .word_kon{
	position:absolute;
	top:-500px;
	left:calc(1000px - 736px);}

section.sec.mission .inner .word_ren{
	position:absolute;
	top:-600px;
	left:-111px;
	max-width:1223px !important;}

}

@media (max-width: 640px){
section.sec.mission .inner .word_do{
	position:absolute;
	top:-300px;
	right:-40px;
	left:auto;
	width:190px;}

section.sec.mission .inner .word_sei{
	position:absolute;
	top:-150px;
	right:-60px;
	left:auto;
	width:250px;}

section.sec.mission .inner .word_kon{
	position:absolute;
	top:-170px;
	right:-50px;
	left:auto;
	width:320px;}

section.sec.mission .inner .word_ren{
	position:absolute;
	top:-45vw;
	right:0;
	left:auto;
	width:100%;}

section.sec.mission.top_ren{
	padding-top:10vw !important;}

}


/* about */
section.sec.about{
	padding-bottom:100px;
	margin-bottom:100px;}

@media (max-width: 640px){
section.sec.about{
	padding-bottom:20px;
	margin-bottom:50px;}
}

section.sec.about .comment_box{
	display:flex;
	justify-content:space-between;}

section.sec.about .comment_box .comment{
	width:calc(100% - 300px);}

section.sec.about .comment_box .chairman{
	width:250px;
	display:flex;
	flex-direction: column;
	align-items: center;}

section.sec.about .comment_box .chairman p span{
	font-size:1.4em;}

@media (max-width: 640px){
section.sec.about .comment_box{
	display:flex;
	flex-direction: column-reverse;}

section.sec.about .comment_box .comment{
	width:100%;}

section.sec.about .comment_box .chairman{
	width:250px;
	display:flex;
	flex-direction: column;
	justify-content:center;
	align-items: center;
	margin:0 auto;}

}


/* documents */
section.sec.documents{
	padding-bottom:100px;
	margin-bottom:100px;}

@media (max-width: 640px){
section.sec.documents{
	padding-bottom:20px;
	margin-bottom:50px;}
}

section.sec.documents ul{
	margin-bottom:50px;}

@media (max-width: 640px){
section.sec.documents ul{
	margin-bottom:30px;}
}

section.sec.documents ul:last-child{
	margin-bottom:0;}

section.sec.documents ul li{
	text-align:left;
	margin:5px 0;}

section.sec.documents ul li a{
	color:var(--c-red);
	display:flex;
	align-items:stretch;}

section.sec.documents ul li a::before{
	content: url('../img/icon_pdf.svg');
	display: block;
	width:13px;
	height:15px;
	margin-right:0.5em;
	transform: translateY(2px);}


/* logomark & character */
section.sec.logomark{
	padding-bottom:100px;
	margin-bottom:100px;}

section.sec.logomark .inner.top_up{
	display: flex;
	flex-direction: column;
	align-items: center;}

section.sec.logomark h3{
	width: 100%;}

section.sec.logomark img{
	width: 120vw;
	max-width: none;}

section.sec.logomark .logo_spc{
	width:100%;
	height:480px;
	opacity:0;}

@media (max-width: 640px){
section.sec.logomark{
	padding-bottom:50px;
	margin-bottom:50px;}

section.sec.logomark .logo_all{
	top:100px;
	left:-100px;
	width:calc(100% + 200px);}

section.sec.logomark .logo_spc{
	width:100%;
	height:calc(40vw);
	opacity:0;}
}

section.sec.character::before{
	content: "";
	display: block;
	height: 75px; /* 調整したい高さ（固定ヘッダーの高さ） */
	margin-top: -75px; /* heightと同じ分のネガティブマージン */
	visibility: hidden;}

section.sec.character .photo{
	width:calc(100% + 100px);
	margin-left:-50px;
	margin-bottom:50px;}

section.sec.character .photo img{
	width:100%;}

section.sec.character .chara_move{
	display:flex;
	align-items:stretch;
	margin-bottom:50px;}

section.sec.character .chara_move div{
	width:50%;
	display:flex;
	align-items:center;}

section.sec.character .chara_move img{
	width:100%;
	opacity: 0;
	transition: opacity 1s ease-out, transform 1s ease-out;}

section.sec.character .chara_move div img.raijin {
	transform: translateX(-50px);}

section.sec.character .chara_move div img.fujin {
	transform: translateX(50px);}

section.sec.character .chara_move div.animated img.raijin,
section.sec.character .chara_move div.animated img.fujin {
	opacity: 1;
	transform: translateX(0px);}

@media (max-width: 640px){
section.sec.character .photo{
	width:calc(100% + 40px);
	margin-left:-20px;}
}


/* eurovision */
section.sec.eurovision{
	padding-bottom:100px;
	margin-bottom:100px;}

section.sec.eurovision h4{
	margin-bottom:30px;}

section.sec.eurovision .block{
	margin-bottom:50px;}

section.sec.eurovision h3{
	font-size:1.5em;}

section.sec.eurovision .photo{
	max-width:800px;
	margin:0 auto 30px;}

section.sec.eurovision .photo img{
	width:100%;}

section.sec.eurovision .block ul{
	display:flex;
	justify-content:space-between;}

section.sec.eurovision .block li{
	width:32%;}

section.sec.eurovision .block li img{
	width:100%;
	margin-bottom:10px;}

@media (max-width: 640px){
section.sec.eurovision{
	padding-bottom:50px;
	margin-bottom:50px;}

section.sec.eurovision .block{
	margin-bottom:30px;}

section.sec.eurovision .block ul{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	gap:10px}

section.sec.eurovision .block li{
	width:100%;
	display:flex;
	flex-direction:row;
	justify-content:flex-start;
	align-items:flex-start;}

section.sec.eurovision .block li img{
	width:calc(50% - 20px);
	margin-bottom:0px;
	margin-right:10px;}

section.sec.eurovision .block li p{
	font-size:0.9em;
	line-height:1.6em;}
}



/* donation */
section.sec.donation{
	padding-bottom:100px;
	margin-bottom:100px;}

@media (max-width: 640px){
section.sec.donation{
	padding-bottom:50px;
	margin-bottom:50px;}
}


/* news */
section.sec.news{
	padding-bottom:100px;
	margin-bottom:100px;}

section.sec.news .news_block p{
	margin:0 0 1em;}

section.sec.news .news_block img{
	width:100%;
	height:auto;}

@media (max-width: 640px){
section.sec.news{
	padding-bottom:50px;
	margin-bottom:50px;}
}


/* results */
section.sec.results{
	padding-bottom:100px;
	margin-bottom:100px;}

section.sec.results.btm{
	padding-bottom:0;
	margin-bottom:100px;}

@media (max-width: 640px){
section.sec.results{
	padding-bottom:50px;
	margin-bottom:50px;}

section.sec.results.btm{
	padding-bottom:0;
	margin-bottom:50px;}
}

section.sec.results h3{
	position:relative;}

section.sec.results h3::after{
	content:"最新大会結果";
	position:absolute;
	bottom:0;
	right:0;
	font-size:1.5rem;
	color:var(--c-black);}

section.sec.results.btm h3{
	padding-left:10px;
	margin-bottom:20px;}

section.sec.results .title{
	width:100%;
	overflow:hidden;}

section.sec.results .title li{
	width:var(--fullsize);
	position:relative;
	padding:0;
	text-align:left;
	display:flex;
	align-items:flex-start;}

section.sec.results .title li .cate{
	font-size:0.9em;
	background:#8B8B8B;
	color:#fff;
	border-radius:5px;
	line-height:1em;
	padding:7px 10px;
	margin-bottom:15px;
	display:inline-block;}

section.sec.results .title li .cate.red{
	background:var(--c-red);}

section.sec.results .title li .cate.blue{
	background:var(--c-blue);}

section.sec.results .title li .cate.gold{
	background:var(--c-gold);}

section.sec.results .title li h4{
	margin:0 0 5px;
	line-height:1.4em;
	font-weight:600;}

section.sec.results .title li .date{
	font-family: urw-din, sans-serif;
	font-size:1.1em;
	font-weight:bold;}

section.sec.results .title li .date span{
	font-size:0.9em;}

section.sec.results .results_box{
	text-align:left;
	padding-bottom:30px;
	margin-bottom:30px;}

section.sec.results .results_box img{
	width:100%;}

section.sec.results .results_box .btn_line{
	min-width:51%;
	display:inline-block;
	border-color:var(--c-black);}

section.sec.results .results_box h5{
	font-size:1.1em !important;
	font-weight:500;}

section.sec.results .results_box .btn_line a{
	padding:10px 3em 10px 15px;}

section.sec.results .results_box .btn_line a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1em;
	margin: auto;
 	content: url('../img/icon_pdf.svg');
	display:block;
 	ertical-align: middle;
	width: 18px;
	height: 20px;
	border:none;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);}

section.sec.results .results_box .btn_line a:hover::after{
 	content: url('../img/icon_pdf_w.svg');}

section.sec.results .inner_side{
	padding:50px 0 0 0;}

@media (max-width: 640px){
section.sec.results .inner_side{
	padding:20px 0 0 0;}
}

section.sec.results .inner_side h3::after{
	content:"";
	position:absolute;
	bottom:0;
	right:0;
	font-size:1.5rem;
	color:var(--c-black);}

section.sec.results .results_slider{
	width:100%;
	margin-bottom:50px;}

section.sec.results .results_slider .slick-slide{
	margin:0 10px;}

section.sec.results .results_slider div{
	text-align:left;}

section.sec.results .results_slider .date{
	font-family: urw-din, sans-serif;
	font-size:0.9em;
	font-weight:bold;
	margin-bottom:5px;}

section.sec.results .results_slider .date span{
	font-size:0.9em;}

section.sec.results .results_slider .photo{
	margin-bottom:10px;}

section.sec.results .results_slider p{
	text-align:left;
	line-height:1.4em;
	margin-bottom:5px;}

section.sec.results .results_slider .cate{
	font-size:0.75em;
	background:var(--c-white);
	color:var(--c-black);
	border-radius:5px;
	line-height:1em;
	padding:5px 8px;
	margin-bottom:15px;
	display:inline-block;}

section.sec.results .results_slider .cate.red{
	color:var(--c-red);
	background:var(--c-white);}

section.sec.results .results_slider .cate.blue{
	color:var(--c-blue);}

section.sec.results .results_slider .cate.gold{
	color:var(--c-gold);}



/* schedule */
section.sec.schedule{
	padding-bottom:100px;
	margin-bottom:100px;}

@media (max-width: 640px){
section.sec.schedule{
	padding-bottom:50px;
	margin-bottom:50px;}
}

section.sec.schedule .selector{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:10px;}

section.sec.schedule .selector label{
	font-weight:600;
	color:var(--c-red);}

section.sec.schedule .selector select{
	padding: 7px 5px 5px;}

section.sec.schedule .selector button{
	appearance: none;
	border: 0;
	border-radius: 0;
	background:var(--c-red);
	color: #fff;
	padding: 5px 16px 2px;
	font-size: 1em;}

section.sec.schedule .selector button:hover{
	cursor:pointer;}

section.sec.schedule .schedule_box{
	position:relative;
	border-left:10px solid var(--c-gold);
	padding-left:40px;
	margin-bottom:50px;
	text-align:left;}

section.sec.schedule .schedule_box.single{
	position:relative;
	border-left:none;
	padding-left:0;
	margin-bottom:50px;
	text-align:left;}

section.sec.schedule .schedule_box:last-child{
	margin-bottom:0;}

section.sec.schedule .schedule_box h4{
	margin:0;
	font-weight:600;
	line-height:1.4em;}

section.sec.schedule .schedule_box.single h4{
	margin:10px 0;}

section.sec.schedule .schedule_box h5{
	display:inline-block;
	font-weight:600;
	border:2px solid var(--c-gold);
	color:var(--c-gold);
	font-size:1.4rem;
	line-height:1em;
	margin:0 0 10px;
	padding:6px 7px 3px;}

section.sec.schedule .schedule_box p{
	line-height:1.8em;}

section.sec.schedule .schedule_box p.place{
	font-size:1.2em;
	margin:0;}

section.sec.schedule .schedule_box dl{
	display:flex;
	flex-wrap:wrap;
	margin-bottom:20px;}

section.sec.schedule .schedule_box dt{
	width:8em;}

section.sec.schedule .schedule_box dt::before{
	content:'●';
	color:var(--c-gold)}

section.sec.schedule .schedule_box dd{
	width:calc(100% - 10em);}

section.sec.schedule .schedule_box .summary{
	position:absolute;
	bottom:0;
	right:50px;
	width:100px;
	height:38px;}

section.sec.schedule .schedule_box dd ul{
	margin-bottom:50px;}

@media (max-width: 640px){
section.sec.schedule .schedule_box dd ul{
	margin-bottom:30px;}
}

section.sec.schedule .schedule_box dd ul:last-child{
	margin-bottom:0;}

section.sec.schedule .schedule_box dd ul li{
	text-align:left;
	margin:0;}

section.sec.schedule .schedule_box dd ul li a{
	color:var(--c-red);
	display:inline-block;
	align-items:stretch;
	padding-left:calc(13px + 0.5em);
	position: relative;}

section.sec.schedule .schedule_box dd ul li a::before{
	content: url('../img/icon_pdf.svg');
	display:block;
	width:13px;
	height:15px;
	position: absolute;
	left: 0;
	top: 2px;}


@media (max-width: 640px){
section.sec.schedule .schedule_box{
	padding-left:20px;
	padding-right:20px;}

section.sec.schedule .schedule_box dl{
	flex-direction:column;}

section.sec.schedule .schedule_box dd{
	width:100%;
	padding-left:1em;}

section.sec.schedule .schedule_box .summary{
	position:relative;
	bottom:0;
	right:0;
	left:0;
	width:100%;
	height:auto;
	margin:0 auto;
	border:2px solid var(--c-red);}

section.sec.schedule .schedule_box .summary a{
	display:flex;
	justify-content:center;
	padding:10px;}

section.sec.schedule .schedule_box .summary img{
	height:30px;}
}



/* 日本バイアスロンナショナルチーム */

.athletes_year{
	background:var(--c-white);
	color:var(--c-black);
	font-weight:600;
	font-size:1.4em;
	line-height:1em;
	padding:20px 0;}

section.sec h3.athletes_title{
	font-size:1.4em;
	letter-spacing:0.1em;
	color:var(--c-white);
	font-weight:400;
	padding:5px 0 2px;
	border-top:1px solid var(--c-white);
	border-bottom:1px solid var(--c-white);}

.athletes_btn_box{
	display:flex;
	justify-content:space-between;}

.athletes_btn_box li{
	width:48%;
	display:flex;
	flex-direction:column;
	gap:20px;}

.athletes_btn_box li.staff{
	width:100%;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	flex-direction:row;
	gap:20px;}

@media (max-width: 640px){
.athletes_btn_box{
	flex-direction:column;
	gap:40px;}

.athletes_btn_box li{
	width:100%;}
}

.athletes_btn_box h4{
	font-size:1.1em;
	line-height:1em;
	letter-spacing:0.1em;
	font-weight:300 !important;
	margin:0 !important;
	color:var(--c-white);}

.athletes_btn_box li.staff .athletes_btn{
	width:48%;}

.athletes_btn_box .athletes_btn{
	border-left:5px solid var(--c-blue);}

.athletes_btn_box .athletes_btn.woman{
	border-left:5px solid var(--c-gold);}

.athletes_btn_box .athletes_btn a{
	position:relative;
	display:block;
	margin-left:10px;
	font-size:1.3em;
	line-height:1.2em;
	text-decoration:none;
	text-align:left;
	color:var(--c-white);
	letter-spacing:0.1em;
	padding:20px 20px 15px;
	background-image: linear-gradient(90deg, var(--c-red), rgba(82, 8, 13, 1));
	box-sizing:border-box;}

.athletes_btn_box .athletes_btn a span{
	font-size:1.1rem;}

.athletes_btn_box .athletes_btn a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1em;
	margin: auto;
 	content: "";
 	ertical-align: middle;
	width: 0.6em;
	height: 0.6em;
	border-top: 2px solid var(--c-white);
	border-right: 2px solid var(--c-white);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);}

.athletes_btn_box.staff .athletes_btn{
	border-left:5px solid var(--c-red);}

.athletes_btn_box.staff .athletes_btn a{
	background-image: linear-gradient(90deg, var(--c-gold), rgba(84, 68, 31, 1));}

.athletes_btn_box .athletes_btn a span{
	color:var(--c-black);}

@media (max-width: 640px){
.athletes_btn_box.staff{
	flex-direction:column;
	gap:20px;}

.athletes_btn_box li.staff .athletes_btn{
	width:100%;}
}

.athletes_info_box{
	display:flex;
	justify-content:space-between;}

.athletes_info_box li{
	width:70%;
	display:flex;
	flex-direction:column;}

.athletes_info_box li.photo{
	width:27%;
	display:flex;
	flex-direction:column;
	gap:10px;}

.athletes_info_box li.photo h4{
	display:none;}

.athletes_info_box li.photo .copy {
	text-align:right;
	color:var(--c-white);
	font-size: 0.6em;}

.athletes_info_box h4{
	font-size:1.1em;
	line-height:1em;
	letter-spacing:0.1em;
	font-weight:300 !important;
	margin:0 !important;
	padding-bottom:50px;
	color:var(--c-white);}

.athletes_info_box h5{
	text-align:left;
	font-size:2.0em;
	line-height:1em;
	letter-spacing:0.1em;
	font-weight:500 !important;
	padding-bottom:10px;
	margin-bottom:10px;
	color:var(--c-white);
	border-bottom:1px solid var(--c-red);}

.athletes_info_box .h5_sub{
	font-size:1.1em;
	line-height:1em;
	letter-spacing:0.1em;
	font-weight:300 !important;
	margin-bottom:50px;
	color:var(--c-red);}

.athletes_info_box dl{
	display:flex;
	justify-content:flex-start;
	flex-wrap:wrap;}

.athletes_info_box dt{
	width:30%;
	text-align:left;
	font-size:1.1em;
	line-height:1em;
	letter-spacing:0.1em;
	font-weight:300 !important;
	padding-bottom:10px;
	margin-bottom:20px;
	color:var(--c-white);
	border-bottom:1px solid var(--c-red);}

.athletes_info_box dd{
	width:70%;
	text-align:left;
	font-size:1.1em;
	line-height:1em;
	letter-spacing:0.1em;
	font-weight:300 !important;
	padding-bottom:10px;
	margin-bottom:20px;
	color:var(--c-white);
	border-bottom:1px solid var(--c-red);}

@media (max-width: 640px){
.athletes_info_box{
	flex-direction:column-reverse;
	gap:40px;}

.athletes_info_box li{
	width:100%;}

.athletes_info_box li.photo{
	width:100%;}

.athletes_info_box h4{
	display:none;}

.athletes_info_box li.photo h4{
	display:inline;
	font-size:1.1em;
	line-height:1em;
	letter-spacing:0.1em;
	font-weight:300 !important;
	margin:0 !important;
	padding-bottom:10px;
	color:var(--c-white);}
}












/* ハンバーガー */
.hamburger {
	position:fixed;
	top:0px;
	left:calc(100vw - 75px);
	display: block;
	height: 55px;
	margin-left: auto;
	z-index: 2000;
	width: 40px;
	border: none;
	background-color:rgba(0,0,0,0);
	cursor:pointer;}

.hamburger.top{
	transition:0.5s;
	opacity:0;}

.hamburger.top.open{
	opacity:1;}

.hamburger.-active .hamburger__line {
	background-color: transparent;}

.hamburger.-active .hamburger__line::before {
	top: 0;
	transform: rotate(45deg);
	background-color:var(--c-red);}

.hamburger.-active .hamburger__line::after {
	top: 0;
	transform: rotate(-45deg);
	background-color:var(--c-gold);}

.hamburger.-active .hamburger__text::before {
	content: 'CLOSE';
	color:var(--c-blue);}

.hamburger__line {
	display: block;
	height: 2px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%);
	width: 24px;
	background-color:var(--c-blue);
	transition: 0.4s;}

.hamburger__line:before,
.hamburger__line:after {
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	width: 100%;
	background-color: #fff;
	transition: inherit;}

.hamburger__line:before {
	top: -6px;
	background-color:var(--c-red);}

.hamburger__line:after {
	top: 6px;
	background-color:var(--c-gold);}

.hamburger__text {
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	text-align:center;}

.hamburger__text::before {
	content: "MENU";
	text-align: center;
	color:var(--c-black);
	font-size: 0.7em;
	font-weight:400;}

.header {
	width: 300px;}

.header__nav-area {
	position: fixed;
	top: 75px;
	left: 0;
	z-index: 1000; /* 他の要素よりも前面に表示 */
	width: 100vw; /* ビューポートの幅に合わせる */
	height: 100vh; /* ビューポートの高さに合わせる */
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease, visibility 0s linear 0.4s, transform 0.4s ease;
	transform: translateX(50px);
	background-color: rgba(255,255,255,0.95); /* 不透明な背景色 */
	z-index: 1900;}

.header__nav-area.-active {
	opacity: 1;
	visibility: visible;
	transition-delay: 0s; /* アクティブ時は遅延なし */
	transform: translateX(0);
	overflow-y:auto;}

@media screen and (max-width:640px){
.header__nav-area {
	top: 70px;
	padding-bottom:140px;}
.hamburger {
	top:-5px;}
}

@media screen and (max-width:500px){
.hamburger {
	left:calc(100vw - 60px);}
}

.global-navigation{
	position:relative;
	width:100%;
	background-color:rgba(0,0,0,1);
	display:flex;
	align-items:stretch;
	box-sizing:border-box;}

.global-navigation .logo{
	width:340px;
	display:flex;
	align-items:center;
	flex-shrink:0;
	box-sizing:border-box;}

.global-navigation .logo h1{
	width:100%;
	text-align:center;
	margin:0 50px;}

.global-navigation .logo h1 img{
	margin:5px 0 0 0;}

.global-navigation .gloval{
	width:100%;
	height:100px;
	padding-right:70px;
	display:flex;
	justify-content:flex-end;}

.global-navigation .gloval .gloval_main nav ul,
.global-navigation .gloval .gloval_main nav ul{
	width:100%;
	height:70px;
	display:flex;}

.global-navigation .gloval .gloval_main nav li{
	display:flex;
	align-items:flex-end;
	position:relative;}

.global-navigation .gloval .gloval_main nav li.event{
	border-left:3px solid var(--c-red);}

.global-navigation .gloval .gloval_main nav li.facility{
	border-left:3px solid var(--c--gold);}

.global-navigation .gloval .gloval_main nav li a{
	display:block;
	text-align:center;
	font-size:0.8em;
	line-height:1em;
	padding:5px 10px;
	text-decoration:none;
	color:var(--c-black);}

.global-navigation .gloval .gloval_main nav li ul{
	width:100%;
	display:flex;
	align-items:flex-end;
	margin-right:35px;}

.global-navigation .gloval .gloval_main nav li ul li{
	border-left:1px solid #c4c4c4;
	position:relative;}

.global-navigation .gloval .gloval_main nav li ul li:last-child{
	border-left:none;}

.global-navigation .gloval .gloval_main nav li ul li a{
	padding:5px 15px;}

.global-navigation .gloval .gloval_main.en nav li ul li a{
	display:flex;
	align-items:baseline;}

.global-navigation .gloval .gloval_main nav li ul li img{
	width:16px;
	height:16px;}

.global-navigation .gloval .gloval_main.en nav li ul li img.jp{
	width:15px;
	height:10px;
	margin-left:5px;}

.global-navigation .gloval .gloval_main nav li.event a{
	height:100%;
	display:flex;
	align-items:flex-end;
	padding-right:20px;
	margin-right:10px;}

.global-navigation .gloval .gloval_main.en nav li.event a img.jp{
	width:15px;
	height:10px;
	margin-left:5px;
	margin-bottom:2px;}

.global-navigation .gloval .gloval_main nav li.event.on a{
	background:#e13018;}

.global-navigation .gloval .gloval_main nav li.facility a{
	height:100%;
	display:flex;
	align-items:flex-end;
	padding-right:20px;}

.global-navigation .gloval .gloval_main.en nav li.facility a img.jp{
	width:15px;
	height:10px;
	margin-left:5px;
	margin-bottom:2px;}

.global-navigation .gloval .gloval_main nav li.facility.on a{
	background:var(--c-gold);}

.global-navigation .gloval .gloval_main nav li ul li:nth-child(3) a{
	padding-right:7px;}

.global-navigation .gloval .gloval_main nav li ul li:last-child a{
	padding-left:7px;}

.global-navigation  .gloval .gloval_main nav li ul li .popup a{
	color:#000;
	padding:0;
	margin:0;
	opacity:1;
	font-size:0.8em;
	line-height:1.4em;
	white-space:nowrap;
	text-align:center;
	display:flex;
	justify-content:center;}

.global-navigation  .gloval .gloval_main nav li ul li .popup a:hover,
.global-navigation  .gloval .gloval_main nav li ul li .popup a:focus {
	text-decoration: underline;}

.global-navigation  .gloval .gloval_main nav li ul li .popup input.box_search{
	height:20px;
	border:1px solid #000;
	border-radius:0;
	margin:0;
	vertical-align:middle;
	box-sizing:border-box;}

.global-navigation  .gloval .gloval_main nav li ul li .popup button.btn_search{
	height:20px;
	border:none;
	margin:0;
	padding:0;
	background:none;
	vertical-align:middle;
	box-sizing:border-box;
	cursor:pointer;}

.global-navigation  .gloval .gloval_main nav li ul li .popup .btn_search img{
	width:22px;
	height:20px;}

.global-navigation  .gloval .gloval_main nav li ul li a.trigger{
	padding:4px 7px 3px 15px;
	margin-right:10px;}

.global-navigation  .gloval .gloval_main nav li ul li .foreign{
	position:relative;
	width:100%;
	white-space:nowrap;
	font-size:0.8em;
	line-height:1em;
	display:flex;
	align-items:center;
	justify-content:center;}

.global-navigation  .gloval .gloval_main nav li ul li .foreign::before{
	position:absolute;
	content:url(../img/head_icon_gloval.svg);
	width:16px;
	height:16px;
	top:50%;
	transform:translateY(-50%);
	left:0;}

.global-navigation  .gloval .gloval_main nav li ul li .foreign a{
	font-size:1em;
	line-height:1em;
	padding:5px 0;
	margin:0;}

.global-navigation  .gloval .gloval_main nav li ul li .foreign a.jp{
	padding:5px 10px 5px 25px;
	margin-right:10px;
	border-right:1px solid #666;}

.global-navigation  .gloval .gloval_main nav li ul li .foreign span{
	margin:0;}


@media screen and (max-width:1100px){
.global-navigation{
	position:relative;
	width:100%;
	background-color:rgba(0,0,0,1);
	display:flex;
	align-items:stretch;
	box-sizing:border-box;}

.global-navigation .logo{
	width:290px;
	display:flex;
	align-items:center;
	flex-shrink:0;
	box-sizing:border-box;}

.global-navigation .logo h1{
	width:100%;
	text-align:center;
	margin:0  0 0 20px;}

.global-navigation .gloval{
	width:100%;
	height:100px;
	padding-right:70px;
	display:flex;
	justify-content:flex-end;}
}

@media screen and (max-width:640px){
.global-navigation{
	height:100px;}

.global-navigation .gloval{
	position:absolute;
	width:auto;
	height:auto;
	top:100px;
	left:50%;
	margin:0;
	padding:0;
	transform:translateX(-50%);
	z-index:10;}

.global-navigation .gloval .gloval_main nav ul,
.global-navigation .gloval .gloval_main nav ul{
	width:100%;
	height:auto;
	display:flex;}

.global-navigation .gloval .gloval_main nav li ul{
	align-items:center;
	margin-right:0;}
}



.gloval-navigation_box{
	width:1100px;
	margin:100px auto;
	box-sizing:border-box;}

.global-navigation_list{
	display:flex;
/*	justify-content:space-between;*/
	justify-content:flex-start;
	flex-wrap:wrap;
	margin-bottom:50px;}

.global-navigation_list li{
	width:33%;
	padding-right:20px;
	color:var(--c-black);
	box-sizing:border-box;
	text-align:left;}
/*
.global-navigation_list li.artfes,
.global-navigation_list li.about{
	border-left:1px solid #8a8a8b;
	padding-left:20px;}
*/
.global-navigation_list li a{
	color:var(--c-black);
	text-decoration:none;}

.global-navigation_list li a.nb{
	display:block;
	text-decoration:none;;}

.global-navigation_list li .title{
	display:block;
	margin-bottom:10px;}

.global-navigation_list li.red .title{
	border-left:3px solid #e13018;
	padding-left:15px;}

.global-navigation_list li.gold .title{
	border-left:3px solid var(--c-gold);
	padding-left:15px;}

.global-navigation_list li.blue .title{
	border-left:3px solid var(--c-blue);
	padding-left:15px;}

.global-navigation_list li .title .main{
	font-family: "urw-din", sans-serif;
	font-size:1.5em;
	font-weight:600;
	line-height:1.3em;
	letter-spacing:0em;
	margin-bottom:5px;}

.global-navigation_list li .title .eng_sub{
	font-size:0.9em;
	font-weight:400;
	letter-spacing:0.1em;
	color:var(--c-black);}

.global-navigation_list li span{
	display:block;
	width:100%;
	height:1px;
	margin-bottom:20px;
	transition:0.5s;}
/*
.global-navigation_list li dt:hover span,
.global-navigation_list li dt:focus span{
	width:100%;}
*/
.global-navigation_list li.red span{
	background-color:var(--c-red);}

.global-navigation_list li.gold span{
	background-color:var(--c-gold);}

.global-navigation_list li.black span{
	background-color:var(--c-black);}

.global-navigation_list li.blue span{
	background-color:var(--c-blue);}

.global-navigation_list li ul{
	}

.global-navigation_list li ul li{
	width:100%;
	font-size:0.9em;
	margin-bottom:5px;}

.global-navigation_list li.event ul li,
.global-navigation_list li.facility ul li{}

.global-navigation_list li.event ul li::before,
.global-navigation_list li.facility ul li::before{
	content:'─';
	margin-right:10px;}


@media screen and (max-width:1100px){
.gloval-navigation_box{
	width:80%;
	margin:50px auto;
	padding:0;
	box-sizing:border-box;}

.global-navigation_list{
	display:flex;
	flex-flow: column;
	justify-content:first;
	margin-bottom:20px;}

.global-navigation_list li{
	width:100%;
	margin-bottom:20px;}

.gnavmenu dt{
	position:relative;
	display:block;
	cursor:pointer;}

.gnavmenu dd{
	display:none;}
/*
.gnavmenu dt::after{
	content:'＋';
	position:absolute;
	top:50%;
	right:15px;
	transform:translateY(-50%);
	transition:0.5s;}
*/
.gnavmenu dt.active::after{
	content:'―';}
}

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

.global-navigation_list li{
	margin-bottom:0px;}
}




.global-navigation_foot{
	width:100%;}

.global-navigation_foot .sns_box{
	width:100%;
	display:flex;
	justify-content:space-between;}

.global-navigation_foot .sub_button{
	width:100%;
	display:flex;
	justify-content:start;
	margin-bottom:20px;}

.global-navigation_foot .sub_button li a{
	font-size:0.8em;
	font-weight:500;
	line-height:1em;
	letter-spacing:0.15em;
	color:var(--c-black);
	text-decoration:none;
	padding:5px 20px;
	border:1px solid #8a8a8b;}

.global-navigation_foot .sub_button.en li a{
	padding:8px 20px 10px;
	display: flex;
	align-items:baseline;}

.global-navigation_foot .sub_button.en li a img{
	margin:0 0 0 5px;}

.global-navigation_foot .sub_menu{
	display:flex;
	flex-wrap:wrap;
	margin-bottom:20px;
	padding:0;}

.global-navigation_foot .sub_menu.en{
	display:flex;
	justify-content:flex-end;}

.global-navigation_foot .sub_menu li{
	flex-grow: 0;
	width: auto;
	font-size:0.8em;
	font-weight:500;
	line-height:1em;
	letter-spacing:0.15em;
	margin:0 10px 10px 0;
	color:var(--c-black);}

.global-navigation_foot .sub_menu li a{
	position:relative;
	color:var(--c-black);}

.global-navigation_foot .sub_menu.en li a{
	display: flex;
	align-items:baseline;}

.global-navigation_foot .sub_menu.en li a img{
	margin:0 5px;}

.global-navigation_foot .official{
	display:flex;
	align-items:stretch;
	font-size:0.8em;
	line-height:1em;
	margin-bottom:12px;}

.global-navigation_foot .official li{
	display:flex;
	align-items:center;
	margin-right:20px;}

.global-navigation_foot .official li img{
	vertical-align:middle;
	width:24px;}

.global-navigation_foot .official li.title{
	border-left:1px solid #8a8a8b;
	border-right:1px solid #8a8a8b;
	box-sizing:border-box;
	font-feature-settings:normal;
	letter-spacing:0.3em;
	padding:0 0.7em 0 1em;
	color:#000;
	font-weight:200;}

.global-navigation_foot .sns li:last-child{
	margin-right:0;}

.global-navigation_foot .copyright{
	font-size:0.8em;
	font-weight:300;
	line-height:1em;
	color:#fff;
	text-align:right;}


.wp-pagenavi{
	display:flex;
	justify-content:flex-end;
	gap:10px;}

.wp-pagenavi span{
	padding:5px;
	line-height:1em;}

.wp-pagenavi span.current{
	background:#e60012;
	border:1px solid #e60012;
	font-weight:600;
	color:#fff;}

.wp-pagenavi a{
	padding:5px;
	line-height:1em;}

.wp-pagenavi a.page{
	background:#fff;
	border:1px solid #c9caca;}

.top-copy {
	position: absolute;
	bottom: 20px;
	right: 20px;
	padding: 2px 5px;
	font-size: 0.6em;
	background-color: rgba(255, 255, 255, 0.5);
	border-radius: 5px;
	opacity: 0;
	transition: opacity 0.5s ease-in-out;
}

.top-copy.already-shown{
	opacity: 1;}

.top-copy.already-shown.active{
	opacity: 0;}


/* Contact */
.wpcf7	fieldset{
	display:none;}

.wpcf7 dl{
	display:flex;
	align-items: stretch;
	border-top:1px solid #c9caca;
	padding:20px 0;}

.wpcf7 dl dt{
	width:20%;}

.wpcf7 dl  dt p{
	line-height:1.25em !important;}

.wpcf7 dl dd{
	width:80%;}

.wpcf7 input,
.wpcf7 textarea{
	padding:0.5em;
	border:1px solid #c9caca;}

.wpcf7 input[type="file"]{
	border:none;}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea{
	width:100%;
	border-radius:10px;}

.wpcf7 input[type="tel"]{
	width:15em;
	border-radius:10px;}

.wpcf7-list-item-label{
	padding:0 2em 0 0.5em;}


/* 2回目以降の訪問時のスタイル */
body.visited section.first_view {
  display: none !important;
}

body.visited,
body.visited html {
  overflow: auto !important;
}

body.visited #js-hamburger-t {
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

/* ==== 2nd-visit behavior overrides (keep first_view visible; animate blue line only) ==== */
/* Ensure the first view is not hidden on revisit */
body.visited section.first_view {
  display: block !important;
}

/* White overlay should be gone */
body.visited .fv_slide_area .slide_overlay {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Kill other first_view transitions/animations on 2nd visit so the hero is static */
body.visited section.first_view * {
/*  transition: none !important;
  animation: none !important;*/
}

/* BUT: let the blue top line (.fv_openline) keep its transition so it can extend */
body.visited section.first_view .fv_openline {
  transition: 1.6s !important; /* matches existing .fv_openline.topline transition */
}

input.wpcf7-form-control.wpcf7-submit.has-spinner{
	width:100%;
	margin:2em auto 0;
	border-radius:10px;
	transition:0.3s;
	font-weight:600;}
input.wpcf7-form-control.wpcf7-submit.has-spinner:hover{
	cursor:pointer;
	background:#c09b0f;
	color:#fff;}