@charset "utf-8";

/*--------------------------------------------------------------------
 Reset 
 -------------------------------------------------------------------- */
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, a, address, em, font, img, small, strong, ol, ul, li,table, caption, tbody, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
/*	outline: 0;*/
}

html {font-size: 1.4rem;
	    overflow: auto;
}

img {
	vertical-align: text-bottom;
	-ms-interpolation-mode: bicubic;
	border-style:none; 
	font-size:10px;
}

a {
	-webkit-tap-highlight-color: transparent;
}

strong {
	font-weight: bold;
}

ol, ul, li {
	list-style: none;
}

table {
	border-collapse: collapse;
/*	border-collapse: separate;*/
	border-spacing: 0;
}

caption, th, td {
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}


/* ------------------------------
	HTML5 ELEMENTS
------------------------------ */
header,article,aside,section,footer,
nav,menu,details,hgroup,summary {
	display: block;
}

html,body{
    width: 100%;
}

body {
  font-size: 1rem;
}

/* ------------------------------
	Font
------------------------------ */

/* コピペ用コード */
.font-size-dummy {
    font-size: 0.625rem;   /* 10px */
    font-size: 0.6875rem;   /* 11px */
    font-size: 0.71875rem;   /* 11.5px */
    font-size: 0.75rem;   /* 12px */
    font-size: 0.8125rem; /* 13px */
    font-size: 0.875rem;  /* 14px */
    font-size: 0.9375rem;  /* 15px */
    font-size: 1rem;     /* 16px */
    font-size: 1.0625rem; /* 17px */
    font-size: 1.125rem; /* 18px */
    font-size: 1.1875rem; /* 19px */
    font-size: 1.25rem; /* 20px */
    font-size: 1.3125rem; /* 21px */
    font-size: 1.375rem; /* 22px */
    font-size: 1.4375rem; /* 23px */
    font-size: 1.5rem; /* 24px */
    font-size: 1.625rem; /* 26px */
    font-size: 1.75rem;  /* 28px */
}

@font-face {
   font-family: Noto Sans JP;
   src: url('../font/Noto_Sans_JP/NotoSansJP-Light.otf') format("opentype");
   src: url('../font/Noto_Sans_JP/NotoSansJP-Black.otf') format("opentype");
   src: url('../font/Noto_Sans_JP/NotoSansJP-Medium.otf') format("opentype");
   src: url('../font/Noto_Sans_JP/NotoSansJP-Bold.otf') format("opentype");
   src: url('../font/Noto_Sans_JP/NotoSansJP-Regular.otf') format("opentype");

}

body{
font-family: 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	min-width:1250px; 
	background-color : #fff;
	background-repeat: repeat;
}


#topMenu {
  margin: 0;
  padding: 0 0 0 55%;
width:100%;

display: flex;
  z-index:100;
  position:relative;
}


#topMenu li {
  margin: 0;
  padding: 0px;
  width:250px;
  height:30px;
  list-style: none;
vertical-align: bottom;
} 

#topMenu li.recruit { width:120px; float:left;}
#topMenu li.recruit2 { width:120px; float:left; margin:0 0 0 20px;}


#topMenu  img{width:100%;}

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	}
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */
}


.img_a {
display:none;
}



.clear { clear:both; }  
.clear hr { display:none; }  



/* 固定メニュー*/
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index:120;
  width: 100%;
  height: 60px;
  padding: 8px 0px 30px 0;
  background: rgba(255,255,255,1.0);
  transition: .5s;
}



.headmenu {
  position: relative;
    margin:0 auto;
  z-index: 2;
  padding:10px 0 0 0;
  width: 100%;
  height: 50px;
}


.megamenu a {
  text-decoration: none;
  transition: all .2s ease-in-out;
  color: #212121;
}

.megamenu a:hover{
color:#333;
}

.main-wrapper {
  width: 100%;
  margin: 0 auto;
}


.hd-wrapper {
  padding: 20px 0 20px 30px;
  overflow: hidden;
  position: relative;
}


.gnav-wrapper {
  background: #;
  position: relative;
  
}

.gnav {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;

}

.gnav li {
  padding: 0px 0 0px 0;/* 修正 */
  margin:0;
  text-align: center;
  transition: all .3s ease-in-out;
}

.gnav li.hlogo {width:210px; margin:0 250px 0 0;}
.gnav li.hmenu1 {width:80px; padding:10px 0 0 0;}
.gnav li.hmenu2 {width:110px; padding:10px 0 0 0;}
.gnav li.hmenu3 {width:130px; padding:10px 0 0 0;}
.gnav li.hmenu4 {width:130px; padding:10px 0 0 0;}


.gnav li img{width:100%; height:auto;}

.gnav li.topLogo{
  padding: 0px 20px 0 0;
  margin:0 50px 0 20px;
width:200px;
}

.gnav li:hover {
  background: ;
}

.gnav a {
height:70px;
  padding: 0 0px;/* 修正 */
}

.gnav > li:last-child a {

}

.gnav > li:hover .megamenu {
  max-height: 9999px;
  opacity: 1;
  padding: 30px 0;
}

.megamenu {
  background: url(../../img/bg.png) repeat;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  width: 100%;
  position: absolute;
  top: 80px;
  left: 0;
  transition: all .2s ease-in;
  z-index: 999;
}


/* これまでの大会kyu */
 .nav-event {
width: 1000px;
height:280px;
margin: 1% auto 2% auto;
padding:0 0 0px 0;
background-color:#fff;opacity:1.0; 
}

.nav-event p{width: 300px; margin:2% auto 0.5% auto;}

.nav-event img{border-radius: 10px;}

.nav-event span:hover {
  color: #c37315;}

.megamenu-inner-mc ul{
	overflow: hidden;} 
	
.megamenu-inner-mc li {
  width: 100%;
}

.megamenu-inner-mc a {
  border-left: none;
}

.megamenu-inner-mc li ul{
width:98%;
text-align:center;
margin:0 auto;}

.megamenu-inner-mc li ul li{
box-sizing:border-box;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
-ms-box-sizing:border-box;
-o-box-sizing:border-box;
width: 16%;
height:auto;
float: left;
margin: 8% 3.0% 1.5% 0.5%; 
font-size:1.3rem;
text-align:left;
padding:0% 0 0% 0;
}

.megamenu-inner-mc li ul li.ri1{
  box-sizing:border-box;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  -ms-box-sizing:border-box;
  -o-box-sizing:border-box;
  width: 16%;
  float: left;
margin: 8% 3.0% 1.5% 12%;
font-size:1.3rem;
padding:0% 0 0% 0;
}

/* 次年度分を新しく入れた時は↑のwidthやmargin、↓の該当年のwidthを調整する*/
.megamenu-inner-mc li ul li.e24{
width: 16%;
height:auto;
float: left;
margin: 8% 3.0% 1.5% 0.5%; 
font-size:1.3rem;
text-align:left;
padding:0% 0 0% 0;
}

.megamenu-inner-mc li ul li.e25{
width: 2%;
height:auto;
float: left;
margin: 8% 3.0% 1.5% 0.5%; 
font-size:1.3rem;
text-align:left;
padding:0% 0 0% 0;
}



.nav-event span{
display:block;font-size:1.3rem;  padding:5px 0 0 2%; font-weight:normal; width: 190px; text-align:center; color:#4f4d4d;
}

.nav-event span.bg{display:block;font-size:1.3rem;  padding:0px 0 0 20%; font-weight:normal;  text-align:center; 
}

.megamenu-inner-mc li ul li img{width:100%;height:auto;}

.smallfo{font-size:10px;}

#headerBannerl img {width:290px; height:auto;
	position: absolute;

}
#headerBannerl .banner01 {
	right:0;
	top:230px;
	margin:0 20px 0 0;
	z-index: 3;
}

#headerBannerl .bannersato {
	right:0;
	top:367px;
	margin:0 20px 0 0;
	z-index: 3;
}

#headerBannerl .banner02 {
	right:0;
	top:530px;
	margin:0 20px 0 0;
	z-index: 3;
}

#headerBannerl2 img {width:330px; height:auto;
	position: absolute;
}

#headerBannerl2 .banner01 {
	left:200px;
	top:200px;
	z-index: 3;
}


/* パンくずリスト*/
div#pan{
width: 1000px; margin-left: auto; margin-right: auto; margin-top:0px; margin-bottom:0px;
padding:20px 0 10px 0; align: center;
}


/* リスト */
ol.topic-path{
	margin: 0;
list-style-type: none; /* リストマーク非表示 */
padding: 0px 5px 5px 3px;
font-size: 12px;
}
/* リスト項目 */
ol.topic-path li{
display: inline; /* 項目を横並び */
color:#636461;
	padding-right: 17px;
background: url(../../img/path.gif) no-repeat right; /* 矢印記号（※） */
}
/* リスト項目（最初の項目） */
ol.topic-path li.first{
	padding-left: 25px;
background: url(../../img/pan-home.png) no-repeat left;
}

ol.topic-path li.mid{
	padding-left: 0px; margin:0 0px 0 0
background: url(../../img/path.gif) no-repeat right;
}

ol.topic-path li.last{
	padding-left: 8px;
	background:none;
}

/* リンクエリア */
ol.topic-path li a{
	padding-right: 18px;
background: url(../../img/path.gif) no-repeat right; /* 矢印記号（※） */
}

ol.topic-path li a{
	color: #7E4905;
}

ol.topic-path li a:hover{
	color: #FAA708;
}



/*  ページ最下部*/

div.footer-menu2{
height: 46px;
background-color  : #e0a977;
padding: 20px 0px 5px 0px;  margin:0px 0 0 0; position:relative;
}

#footernavi {
  margin: 0;
  padding: 0;
  float: right;
  margin:0 10% 0 0;
}
#footernavi li {
  margin: 0;
  padding: 0px 8px 10px 12px;
  float: left;
  list-style: none;
  color : #333;
  font-size :0.625rem;
  font-weight:normal;
} 

#footernavi  li a {
  color : #000;
} 

#footernavi  li a:hover {
  color : #fbdfa2;
} 

#footernavi li.mn{padding: 5px 8px 16px 12px;}


#footernavi  li img{margin:0 auto; padding:0 0 18px 0; width:35px; height:auto;}

div.footer-menu	{
height: 140px;
background-color  : #d8592d;
padding: 20px 0px 5px 0px;  margin:0px 0 0 0; position:relative;
}
.media-box {
  display: flex;
  align-items: flex-start; /* 上揃え */
  gap: 20px; /* 画像とテキストの間 */
  margin-bottom: 20px;
}

.media-box img {
  width: 300px; /* 画像サイズ調整 */
  height: auto;
  object-fit: cover;
  margin-left: 50px;
}

.media-text {
  flex: 1;
}

.media-text p.ck{font-size: 0.75rem; margin: 0;}




div.footer-navi{
margin:0px auto;    
width:1000px;
}
.footer-navi p{padding: 0px 0 0 0; text-align:center; font-size:0.625rem; color:#fff; line-height:100%;}

.footer-navi p.ad{padding: 0px 0 0 0; margin:0; text-align:center; font-size:0.75rem; font-weight:bold; color:#fff; line-height:140%;}

.footer-navi p.ad2{padding: 0px 0 0 0; text-align:center; font-size:0.6875rem; color:#fff; line-height:140%;}

.footer-navi a:hover{color:#fff;}

.footer-navi a:active{color:#fff;}

.footer-navi a:visited{color:#fff;}

/*  ページトップ*/
#pageTop_a{
padding:10px; position:fixed;
	bottom:50px; right:20px; font-size:12px; z-index:150;
	}
	

body#ap{
font-family: 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	min-width:1000px; 
	background-color : #fff;
	background-repeat: repeat;
}

/* 後援・協賛*/
.cooperation-frame{width:1220px; margin: 0 auto;}

.sponser-ko{width:860px; margin: 20px auto 0 auto; }

.sponser-ko li{display: inline-block; margin:0 5px 5px 5px; }

.sponser-ko li img{ max-width: 100%; height:auto; }

.sponser-ko li.no{width:250px;}

.sponser-ko li.no2{width:230px;}

.sponser-ko li.no3{width:290px;}

.sponser-ko li.no4{width:310px;}

.sponser-ko li.sma{width:130px;}

.sponser-ko li.n25a{width:250px;margin: 0 100px 0 50px;}

.sponser-pl1{width:1040px; margin: 0 auto 0 auto; text-align: center;}

.sponser-pl1 li{display: inline-block; margin:0 10px 0 0; text-align: center;}

.sponser-pl1 li img{ max-width: 100%; height:auto;}

.sponser-pl1 li.no1{width:480px; padding: 30px 0 0 0;}

.sponser-pl1 li.no2{width:260px; margin: 20px 0 0 160px;}

.sponser-pl2{width:1150px; margin: 0 auto 0 auto; text-align: center;}

.sponser-pl2 li{display: inline-block; margin:0 10px 0 0; text-align: center;}

.sponser-pl2 li img{ max-width: 100%; height:auto;}

.sponser-pl2 li.no1{width:250px;}
.sponser-pl2 li.no2{width:280px;}


.sponser-st{width:160px; float:left; margin:8px 40px 0 0;}

.sponser-st img{width:100%; display:block; height:auto;}
.sponser-pl{width:1020px; margin: 20px 0 0px 0;  float:left;}

.sponser-pl li{display: inline-block; margin:0 10px 0 0; text-align: center;}

.sponser-pl li img{ max-width: 100%; height:auto;}

.sponser-pl li.no{width:240px;}

.sponser-pl li.no2{width:290px;}

.sponser-go{width:1020px; margin: 10px 0 0px 0;  float:left;}

.sponser-go li{display: inline-block; margin:0 10px 10px 0; text-align: center;}

.sponser-go li img{max-width: 100%; height:auto;}

.sponser-go li.no{width:240px;}

.sponser-go li.no2{width:170px;}

.sponser-si{width:1020px; margin: 10px 0 0px 0;  float:left;}

.sponser-si li{display: inline-block; margin:0 10px 10px 0; text-align: center; vertical-align: middle;}

.sponser-si li img{max-width: 100%; height:auto;}

.sponser-si li.no{width:240px;}

.sponser-si li.no2{width:160px;}

.sponser-si li.sma{width:110px;}

.cp_h1title {width:130px; margin: 30px auto 0px auto; font-size: 0.875rem; font-weight:bold;  
  position: relative;
  color:#444241;
  text-align: center;
  padding: 0 45px;/*文字数が増えた時に線に被らないように線幅以上のサイズで設定*/
}
.cp_h1title::before,
.cp_h1title::after {
  position: absolute;
  content: '';
  top: calc(50% - 1.5px);/*上下中央にする*/
  display: inline-block;
  width: 40px;
  height: 3px;
  border-top: 3px solid #f96e08;
}
.cp_h1title::before {
  left:0;
}
.cp_h1title::after {
  right: 0;
}

/* 動画全体を包むコンテナ */
        .cm-video-container {
            text-align: center; /* インラインブロック要素を中央揃え */
            font-size: 0; /* インラインブロック間のスペースを削除 */
        }

        .cm-video-container-bun {
            display: inline-block; /* 動画の高さに合わせる */
            width: 24%; /* 動画の幅を4等分 */
            margin: 0 0.5%; /* 左右の間隔 */
            vertical-align: top; /* 上端揃え */
            box-sizing: border-box; /* パディングやボーダーを含むサイズ計算 */
        }

        .cm-video-container-bun video {
            display: block; /* インラインスペースを排除 */
            width: 100%; /* 親要素の幅にフィット */
            height: auto; /* アスペクト比を維持 */
        }
        
.v-movie-sho-frame2{margin:50px auto 30px auto; width:1300px;}

.v-movie-sho2{width:280px; height:200px; margin: 0px 20px 0px auto; 
float:left;
vertical-align;top;
}

.v-movie-sho2 video{
            display: block; /* インラインスペースを排除 */
            width: 100%; /* 親要素の幅にフィット */
            height: auto; /* アスペクト比を維持 */
            border-left: solid 1px #000;
border-top: solid 1px #000;
border-bottom: solid 1px #000;
border-right: solid 1px #000;
        }
        
.v-movie-sho2 p{text-align:center; font-size:0.625rem;}

.v-movie-g2 p.dai{text-align:center; font-size:0.8125rem; margin: 0; padding:0; color: #f86811; font-weight: bold;}

h2.emphasis_design2 {
 text-align: center;
  color: #323131;
  font-size: 1.0em;
  background-color: #fff;
  border:#fff;
}

h2.emphasis_design2:before { border:#fff;
}

h2.emphasis_design2 span {
  color: #f87909;
  font-size: 1.25em;
}

a.btn_02:link {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 800px;
	margin:5px auto 35px auto;
	padding: 15px 20px;
	font-weight: bold;
	border: 2px solid #f74609;
	background: #fa6319;
	color: #fff;
	transition: 0.5s;
}
a.btn_02:hover {
	color: #fa6319;
	background: #fff;
}

a.btn_02:active{color:#fff; background: #fa6319;}

a.btn_02:visited{color:#fff; background: #fa6319;}

.btn10 a {
	background-color: #ceb849;
	border: 1px solid transparent;
}

.recipe_link {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 770px;
	margin:5px auto 35px auto;
	padding: 15px 20px;
	font-weight: bold;
	border: 2px solid #f74609;
	background: #fa6319;
	color: #fff;
	transition: 0.5s;
	font-size:1rem;
}

.image-list {
  width: 800px;
  display: flex;
  gap: 20px; /* li同士の間隔を20pxに */
  list-style: none; /* デフォルトのリストマーカーを消す */
  padding: 0;
  margin: 0 auto 50px auto;
}

.image-list li {
  width: 180px;
  height: 120px;
  overflow: hidden;
}

.image-list img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.k2-content{width: 900px; margin: 0px auto; padding: 5px 0 10px 0;}
