@charset "utf-8";



/*リセットCSS（sanitize.css）の読み込み
---------------------------------------------------------------------------*/
@import url("https://unpkg.com/sanitize.css");

/*Font Awesomeの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");

/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1+Code:wght@400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap');

/*slick.cssの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");

/*テンプレート専用cssファイルの読み込み
---------------------------------------------------------------------------*/
/*@import url("animation.css");
@import url("inview.css");*/

@import url("../layout.css");
@import url("../street/gallery.css");


/*全体の設定
---------------------------------------------------------------------------*/
html,body {
	margin: 0;padding: 0;
	font-size: 14px;
	overflow-x: hidden;
	line-height: 1.5em;
}

body {
  font-family: 'Lato',"Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
/*	font-family: 'Lato', 'M PLUS 1 Code', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;	*/
	-webkit-text-size-adjust: none;
	letter-spacing: 0.05em;
	background: #fff;	
/*	color: #555;	*/
/*	line-height: 2;		*/
}

/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav {margin: 0;padding: 0;}

/*table全般の設定*/
table {border-collapse:collapse;}

/*画像全般の設定*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}

/*videoタグ*/
video {max-width: 100%;}

/*iframeタグ*/
iframe {width: 100%;}

/*ul,olタグ*/
ul, ol {margin-bottom: 0px;}


/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
/*	color: #57524b;	*/
		color: #222;	
	transition: 0.3s;
}


/*sectionタグと、詳細ページの共通設定
--------------------------------------------------------*/
section,
main > article {
	margin: 0 auto;
	padding: 5%;		/*ボックス内の余白*/
}


/*2カラムブロック（※900px未満では１カラム）
--------------------------------------------------------------*/
/*２カラムを囲むブロック*/
.c2 {
	display: flex;			/*flexボックスを使う指定*/
	flex-direction: column;	/*子要素を縦並びにする*/
}

/*c2内のh2見出し*/
.c2 h2 {
	font-size: 2em;
}

/*小さい端末で見た場合（１カラムになった際）に、画像を常に先頭に持ってくる*/
.c2 .image {
	order: -1;
}

/*3カラムブロック（※900px未満では１カラム）
--------------------------------------------------------------*/
/*3カラムを囲むブロック*/
.c3 {
	display: flex;			/*flexボックスを使う指定*/
	flex-direction: column;	/*子要素を縦並びにする*/
}

/*c2内のh2見出し*/
.c2 h2 {
	font-size: 2em;
}

/*小さい端末で見た場合（１カラムになった際）に、画像を常に先頭に持ってくる*/
.c2 .image {
	order: -1;
}


/*header（ロゴなどが入った最上段のブロック）
--------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	display: flex;					/*flexボックスを使う指定*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	align-items: center;			/*垂直揃えの指定。天地中央に配置されるように。*/
	background: #f5a600;			/*背景色*/
	position: fixed; z-index: 1;	/*スクロールしても動かないようにする指定*/
	width: 100%;
	padding: 0 3%;					/*上下、左右へのヘッダー内の余白*/
	height: 50px;					/*ヘッダーの高さ。変更する場合、数行下にある#mainimgのtopの数値も合わせて変更して下さい。*/
}

/*ヘッダーのリンクテキストの文字色*/
header a {
	color: #fff;
}

/*ロゴ画像*/
header #logo img {display: block;}
header #logo {
	margin: 0;
	width: 250px;	/*幅*/
}

/*ヘッダー2ブロック*/
header2 {
	display: flex;	
	justify-content: space-between;	
	align-items: center;
	background: #f5a600;
	position: fixed; z-index: 1;
	width: 100%;
	padding: 0 3%;
	height: 50px;
}

header2 a {
	color: #fff;
}

/*ロゴ画像*/
header2 #logo img {display: block;}
header2 #logo {
	margin: 0;
	width: 250px;	/*幅*/
}

/*トップページのメイン画像
---------------------------------------------------------------*/
/*全体を囲むブロック*/
#mainimg {
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 52.13%;
	position: relative;
	top: 50px;	/*headerのheightの数値と合わせて下さい。*/
	overflow: hidden;
	background: url("../images/top.jpg") no-repeat center center / 100%;	/*背景色、背景画像の読み込み、最後の100%は画像幅。*/
	color: #fff;	/*文字色*/
}

#mainimg2 {
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 52.13%;
	position: relative;
	top: 50px;	/*headerのheightの数値と合わせて下さい。*/
	overflow: hidden;
	background: url("../images/mainimage3.jpg") no-repeat center center / 125%;	/*背景色、背景画像の読み込み、最後の100%は画像幅。*/
	color: #fff;	/*文字色*/
}
#mainimg2_1 {
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 39.2%;
	position: relative;
	top: 50px;	/*headerのheightの数値と合わせて下さい。*/
	overflow: hidden;
	background: url("../images/mainimage3.png") no-repeat center center / 100%;	/*背景色、背景画像の読み込み、最後の100%は画像幅。*/
	color: #fff;	/*文字色*/
}
#mainimg3 {
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 52.13%;
	position: relative;
	top: 50px;	/*headerのheightの数値と合わせて下さい。*/
	overflow: hidden;
	background: url("../images/mainimage2.jpg") no-repeat center center / 115%;	/*背景色、背景画像の読み込み、最後の100%は画像幅。*/
	color: #fff;	/*文字色*/
}


#mainimg4 {
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 52.13%;
	position: relative;
	top: 50px;	/*headerのheightの数値と合わせて下さい。*/
	overflow: hidden;
	background: url("../images/mainimage0.jpg") no-repeat center center / 120%;	/*背景色、背景画像の読み込み、最後の100%は画像幅。*/
	color: #fff;	/*文字色*/
}

#mainimg0 {
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 52.13%;
	position: relative;
	top: 50px;	/*headerのheightの数値と合わせて下さい。*/
	overflow: hidden;
	background: url("../images/mainimage0.jpg") no-repeat center center / 100%;	/*背景色、背景画像の読み込み、最後の100%は画像幅。*/
	color: #fff;	/*文字色*/
}

#mainimg5 {
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 100%;
	position: relative;
	top: 50px;	/*headerのheightの数値と合わせて下さい。*/
	overflow: hidden;
	background: url("../images/mainimage5_3.png") no-repeat center center / 120%;
	/*背景色、背景画像の読み込み、最後の100%は画像幅。*/
	color: #fff;	/*文字色*/
}
.apology{
	margin-top: 3em;
}
.apology a {
	font-weight:900;
	font-size:1.1em;
	color:#000;
}

.arch{
	color:#0964a7;
	font-weight:700;
	font-size:80%;
}

/*menubarブロック初期設定
----------------------------------------------------------*/
#menubar ul {list-style: none;margin: 0;padding: 0;}

/*メニューを非表示にしておく*/
#menubar {display: none;}

/*開閉用のスタイル*/
#menubar.db {display: block;}
#menubar.dn {display: none;}

/*メニュー１個あたりの設定*/
#menubar a {
	display: block;text-decoration: none;
	text-align: center;		/*テキストを中央に*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くする指定*/
	padding: 10px;			/*メニュー内の余白*/
}


/*小さな端末用の設定（開閉ブロック）
------------------------------------------------------------*/
/*メニューブロック設定*/
.s #menubar.db {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding: 70px 20px;	/*上下、左右へのブロック内の余白*/
	background: rgba(0,0,0,0.9);		/*背景色。0,0,0は黒の事で0.9は色が90%出た状態の事。*/
	animation: animation1 0.2s both;	/*animation.cssの、animation1を実行する。0.2sは0.2秒の事。*/
	text-align: center;	/*内容をセンタリング*/
	color: #fff;		/*文字色*/
}
.s #menubar.db a {
	display: block;
	color: #fff;	/*リンクテキストの文字色*/
}


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------*/
/*開閉用のスタイル*/
#menubar_hdr.db {display: flex;}
#menubar_hdr.dn {display: none;}

/*３本バーを囲むブロック*/
#menubar_hdr {
	position: fixed;z-index: 101;
	cursor: pointer;
	right: 5px;			/*右からの配置場所指定*/
	top: 2px;			/*上からの配置場所指定*/
	padding: 16px 14px;	/*上下、左右への余白*/
	width: 46px;		/*幅（３本バーが出ている場合の幅になります）*/
	height: 46px;		/*高さ*/
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素（３本バー）を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	background: #f5a600;	/*背景色*/
	border-radius: 50%;				/*円形にする*/
}

/*バー１本あたりの設定*/
#menubar_hdr span {
	display: block;
	transition: 0.3s;	/*アニメーションにかける時間。0.3秒。*/
	border-top: 2px solid #fff;	/*線の幅、線種、色*/
}

/*×印が出ている状態の設定。※１本目および２本目のバーの共通設定。*/
#menubar_hdr.ham span:nth-of-type(1),
#menubar_hdr.ham span:nth-of-type(3) {
	transform-origin: center center;	/*変形の起点。センターに。*/
	width: 20px;						/*バーの幅*/
}

/*×印が出ている状態の設定。※１本目のバー。*/
#menubar_hdr.ham span:nth-of-type(1){
	transform: rotate(45deg) translate(3.8px, 5px);	/*回転45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※３本目のバー。*/
#menubar_hdr.ham span:nth-of-type(3){
	transform: rotate(-45deg) translate(3.8px, -5px);	/*回転-45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※２本目のバー。*/
#menubar_hdr.ham span:nth-of-type(2){
	display: none;	/*２本目は使わないので非表示にする*/
}


/*mainブロック設定
---------------------------------------------*/
/*mainブロック*/
main {
	padding: 50px 0;
}

main h2 {
    margin: 0 0 1em;		
    line-height: 1.5;
	font-size:1.5em;
/*    font-size: 1.3em;	*/
    text-align: center;	
    letter-spacing: 0.1em;
    color: #E94929;	
    font-family: 'Lato';	/*GoogleFonts*/
    font-weight: 600;
}

main h2 span {
    display: block;
    font-weight: normal;
    color: #000;		
    font-size: 18px;	
}
main h3 {
    margin: 0 0 1em;		
    line-height: 1.5;		
    font-size: 1.2em;	
    text-align: center;	
    letter-spacing: 0.1em;
    color: #E94929;	
    font-family: 'Lato';	/*GoogleFonts*/
    font-weight: 700;
}

main h3 span {
    display: block;
    font-weight: normal;
    color: #000;		
    font-size: 16px;	
}	
	
main h4 {
	margin: 2em 0;	
	color: #E94929;
	text-align: center;
	font-size:1.1em;
	font-weight: 400;
}
main h4 span {
    display: block;
    font-weight: normal;
    color: #000;		
/*    font-size: 16px;*/	
}
main p {
	margin: 0 auto 20px;
/*	text-align: center;*/
	font-size:1em;
	line-height: 1.5;
	text-align: justify;
}
main p + p {margin-top: -15px;}

main .pro_text h3 {
    margin: 2em auto 0.5em;		
    line-height: 1.3;		
    font-size: 20px;	
    text-align: center;	
    letter-spacing: 0.1em;
    color: #E94929;	
    font-weight: 400;
}
main .pro_text p {
	margin: 0 auto 0.5em;
	font-size:15px;
	text-align: center;
}

main .heading_1 {
  position: relative;
  padding: .5em .7em;
  border-radius: 50px;
  background-color: #f5a600;
  color: #fff;
  font-weight: 900;
}
main .heading_1::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 45%;
  width: 0;
  height: 0;
  border: 11px solid transparent;
  border-top: 11px solid #f5a600;
}




/*フッター設定
------------------------------------------------------*/
footer small {font-size: 100%;}

footer {
	font-size: 0.8rem;
	text-align: center;
	padding: 20px;	
	background: #ededed;
	color: #111;
/*	margin-top: 200px;*/
}

/*リンクテキスト*/
footer a {text-decoration: none;color: #111;}


/*listブロック
---------------------------------------*/
.list-container .list {
	margin-bottom: 30px;	/*ボックス同士の上下間に空けるスペース*/
	padding: 20px;			/*ボックス内の余白*/
	background: #fff;		/*背景色*/
	color: #999;			/*文字色*/
	box-shadow: 5px 5px 20px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/
	position: relative;
}

/*ボックス内のh4タグ*/
.list-container .list h4 {
	margin: 0;
	color: #666;	/*文字色*/
}
.list-container .list h4 a {
	color: #666;	/*リンクテキストの文字色*/
}

/*ボックス内のpタグ*/
.list-container .list p {
	margin: 0;
	font-size: 0.8em;	/*文字サイズを80%に*/
}
.list-container .list h4 {
    margin: 0em;
    color: #333;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.5;
    background-color: #fff;
    padding: 1em 0 0;
}

.list-container .list h4 span {
	display: block;
	font-size:16px;
	font-weight: 900!important;
}

/*ボックス内のpタグ*/
.list-container .list p {
    margin: 0;
    font-size: 12px;
    color: #333;
    text-align: justify;
    line-height: 1.4;

}

/*list_bnrブロック
---------------------------------------*/
.list-container_bnr .list {
	margin-bottom: 30px;	/*ボックス同士の上下間に空けるスペース*/
	padding: 0px;			/*ボックス内の余白*/
	/*background: #fff;	*/	/*背景色*/
	color: #999;			/*文字色*/
	/*box-shadow: 5px 5px 20px rgba(0,0,0,0.1);*/
	/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/
	position: relative;
}

/*ボックス内のh4タグ*/
.list-container_bnr .list h4 {
	margin: 0;
	color: #666;
}
.list-container_bnr .list h4 a {
	color: #666;
}

.list-container_bnr .list p {
	margin: 0;
	font-size: 0.8em;
}
.list-container_bnr .list h4 {
    margin: 0em;
    color: #333;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.5;
    background-color: #fff;
    padding: 1em 0 0;
}

.list-container_bnr .list h4 span {
	display: block;
	font-size:16px;
	font-weight: 900!important;
}

/*ボックス内のpタグ*/
.list-container_bnr .list p {
    margin: 0;
    font-size: 12px;
    color: #333;
    text-align: justify;
    line-height: 1.4;

}

/*list_topbnrブロック
---------------------------------------*/
.list-container_topbnr .list {
	margin-bottom: 30px;	/*ボックス同士の上下間に空けるスペース*/
	padding: 0px;			/*ボックス内の余白*/
	/*background: #fff;	*/	/*背景色*/
	color: #999;			/*文字色*/
	/*box-shadow: 5px 5px 20px rgba(0,0,0,0.1);*/
	/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/
	position: relative;
}

/*ボックス内のh4タグ*/
.list-container_topbnr .list h4 {
	margin: 0;
	color: #666;
}
.list-container_topbnr .list h4 a {
	color: #666;
}

.list-container_topbnr .list p {
	margin: 0;
	font-size: 0.8em;
}
.list-container_topbnr .list h4 {
    margin: 0em;
    color: #333;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.5;
    background-color: #fff;
    padding: 1em 0 0;
}

.list-container_topbnr .list h4 span {
	display: block;
	font-size:16px;
	font-weight: 900!important;
}

/*ボックス内のpタグ*/
.list-container_topbnr .list p {
    margin: 0;
    font-size: 12px;
    color: #333;
    text-align: justify;
    line-height: 1.4;

}


.movie {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9のアスペクト比 */
    height: 0;
}

.movie video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



/*btnの設定
--------------------------------------------------*/
a.btn1, a.btn2 {
	display: inline-block;text-decoration: none;
	letter-spacing: 0.1em;
	border-radius: 3px;
	padding: 15px 15px!important;
	font-size: 1.2em!important;
	box-shadow: 1px 2px 3px rgba(0,0,0,0.2);
}
a.btn1 {
/*	background: #ffce2b;*/
	background: #476ab2;
	color: #444;
}
a.btn2 {
/*	background: #f5a600;*/
		background: #476ab2;
	color: #fff;
}
.radius {
	border-radius: 100px !important;
}
a.btn1 i, a.btn2 i {
	margin-left: 10px;
}
a:hover.btn1, a:hover.btn2 {
	transform: scale(1.03);
	filter: brightness(1.1);
}

/* solid015 */
.button_solid015 {
  text-align: center;
}
.button_solid015 p {
  margin-bottom: 5px;
  font-weight: 500;
  color: #476ab2;
  letter-spacing: 0.04rem;
  display: inline-block;
  position: relative;
}
.button_solid015 p:before, .button_solid015 p:after {
  display: inline-block;
  position: absolute;
  top: 45%;
  width: 20px;
  height: 3px;
  border-radius: 5px;
  background-color: #476ab2;
  content: "";
}
.button_solid015 p:before {
  left: -30px;
  -webkit-transform: rotate(50deg);
  transform: rotate(50deg);
}
.button_solid015 p:after {
  right: -30px;
  -webkit-transform: rotate(-50deg);
  transform: rotate(-50deg);
}
.button_solid015 a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 240px;
  padding: 10px 25px;
  color: #FFF;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  background: #476ab2;
  filter: drop-shadow(0px 2px 4px #ccc);
  border-radius: 50px;
  text-decoration: none;
}
.button_solid015 a:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 30px -5px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 10%);
}
.button_solid015 a:after {
  position: absolute;
  top: 50%;
  right: 20px;
  transition: 0.2s ease-in-out;
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  transform: translateY(-54%);
}
.tpbtn1{
	width: 100%;
	display: block;
	padding: 15px;
	margin: 0 auto;
}

.tpbtn{
	width: 100%;
	display: block;
	padding: 15px;
	margin: 0 auto 50px;
}

.tpbtn1 a.btn1,
.tpbtn a.btn2 {
	display: inline-block;text-decoration: none;
	letter-spacing: 0.1em;
	border-radius: 50px;
	padding: 10px!important;
	font-size: 1em;
	font-weight: 600;
	box-shadow: 1px 2px 3px rgba(0,0,0,0.1);
	margin: 0 auto!important;
	width:90%;
}
.tpbtn1 a.btn1 {
	background: #ee5e4f;
	color: #fff;
}
.tpbtn a.btn2 {
	background: #ee5e4f;
	color: #fff;
}
.tpbtn1 .radius,
.tpbtn .radius{
	border-radius: 100px !important;
}
.tpbtn1 a.btn1 i,
.tpbtn a.btn2 i {
	margin-left: 10px;
}
.tpbtn1 a:hover.btn1,
.tpbtn a:hover.btn2 {
	transform: scale(1.03);
	filter: brightness(1.1);
}

.obentou{
	width: 100%;
	display: block;
	background-color: #fff;
	padding: 25px;
	margin: 0 auto 25px;
	border-radius: 25px;
}
.obentou a.btn1,
.obentou a.btn2 {
	display: inline-block;text-decoration: none;
	letter-spacing: 0.1em;
	border-radius: 50px;
	padding: 10px!important;
	font-size: 1em;
	font-weight: 700;
	box-shadow: 1px 2px 3px rgba(0,0,0,0.1);
	margin: 75px auto 0;
	width:90%;
}
.obentou a.btn1 {
	background: #ffce2b;
	color: #444;
}
.obentou a.btn2 {
	background: #ee5e4f;
	color: #fff;
}
.obentou .radius {
	border-radius: 100px !important;
}
.obentou a.btn1 i, .obentou a.btn2 i {
	margin-left: 10px;
}
.obentou a:hover.btn1, .obentou a:hover.btn2 {
	transform: scale(1.03);
	filter: brightness(1.1);
}


.ev_c2_top {
	display: flex;			/*flexボックスを使う指定*/
	flex-direction: column;	/*子要素を縦並びにする*/
	background-color: #fff;
	border-radius: 30px;
	padding: 25px;
}

/*c2内のh2見出し*/
.ev_c2_top h2 {
	font-size: 2em;
}

.ev_c2_top .text h2 {
	color:#000!important;
	font-size:1.2em!important;
	font-weght:bolder!important;
	letter-spacing: 1px!important;
	color:#000!important;
	text-align: left;
	margin: 2em auto!important;
}
.ev_c2_top .text h2 span {
		margin-top: 0.5em;
		font-weight: 700;
	}


/*小さい端末で見た場合（１カラムになった際）に、画像を常に先頭に持ってくる*/
.ev_c2_top .image {
	order: -1;
}
/*テキストブロック*/
.ev_c2_top .text {
	padding: 3% 0;
}
.ev_c2_top .text h4 {
	font-size:1.5em;
	color:#111!important;
	font-weight:800;
	margin-bottom: 1em!important;
	line-height: 1.5;
}
.ev_c2_top .text h5 {
	font-size:1.1em!important;
	line-height: 1.5;
	margin: 0 auto!important;
}
.ev_c2_top text p {
	font-size:1em;
	text-align: justify;
	letter-spacing: 0;
}


/*テーブル
-----------------------------------------------*/

.ta1 caption {
	font-weight: 600;		
	padding: 15px 5px;		
	background: #F9C966;		
	margin-bottom: 15px;	
	font-size:1.2em;
	letter-spacing: 0.5em;
}

/*ta1テーブルブロック設定*/
.ta1 {
	border-top: 1px solid #ccc;	
	width: 100%;
	margin: 0 auto 30px;
}

.ta1 tr {
	border-bottom: 1px solid #ccc;	
}

/*th（左側）、td（右側）の共通設定*/
.ta1 th, .ta1 td {
	padding: 10px 5px;		
	word-break: break-all;	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
}
.ta1 tr:hover, .ta1 td:hover {
	background-color: #FDEDCC;
}

.ta1 th {
	width: 30%;	
	text-align: left;
	font-weight: 500;
}
.ta1 li {
    list-style-type: none;
    margin: 0 0 0 -1.25em;
    list-style-position: outside;
    text-indent: -1em;
}
.ta1 .red {
	color:#FF2200;
	font-weight: 500;
}

/*大会概要
----------------------------------------------*/
.ta_gaiyou caption {
	font-weight: bold;
	padding: 10px 5px;
	background: #eee;	
	margin-bottom: 15px;
}

.ta_gaiyou {
	border-top: 1px solid #ccc;
	width: 96%;
	margin: 0 auto 30px;
	background-color: #fff;
	text-align: center;
}
.ta_gaiyou tr {
	border-bottom: 1px solid #ccc;
}
.ta_gaiyou th, .ta_gaiyou td {
	padding: 10px 5px;		/*「.ta_gaiyou caption」のpaddingと揃える */
	word-break: break-all;	/*英語を改行で自動的に折り返す設定。*/
	display: block;
}

/*th（左側）のみの設定*/
.ta_gaiyou th {
	width: 100%;	
	text-align: center;
	color:#fff;
	background-color: #F5A600;
}	
.ta_gaiyou td {
	text-align: left;
}

/*背景色パターン
-------------------------------------------------------*/
.bg1 {
	background: #eee;
}
.bg2 {
	background: #fde0dd;
}
.bg3 {
	background: #ffce2b;
}
.bg3 h2 {
	color: #111;
}


/*PAGE TOP（↑）設定
---------------------------------------------------------------*/
.pagetop-show {display: block;}

/*ボタンの設定*/
.pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 99;
	position: fixed;	/*スクロールに追従しない(固定で表示)為の設定*/
	right: 20px;		/*右からの配置場所指定*/
	bottom: 20px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	font-size: 1.5em;	/*文字サイズ*/
	background: rgba(0,0,0,0.2);	/*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/
	width: 60px;		/*幅*/
	line-height: 60px;	/*高さ*/
	border-radius: 50%;	/*円形にする*/
}


/*その他
----------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-theme, .color-theme a {color: #f5a600 !important;}
.color-check, .color-check a {color: #f00 !important;}
.c {text-align: center !important;}
.wp50{width: 100%;display: block;}
.wp75{width: 100%;display: block;}
.wp75w{width: 100%;display: block;}
.wp85{width: 100%;display: block;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.mt30 {margin-top: 30px !important;}
.mt50 {margin-top: 50px !important;}
.pb30 {padding-bottom: 30px !important;}
.pb50 {padding-bottom: 50px !important;}
.pt30 {padding-top: 30px !important;}
.pt50 {padding-top: 50px !important;}
.look {display: inline-block;padding: 0px 10px;background: #eee; border: 1px solid #ccc; border-radius: 3px;margin: 2px 0; word-break: break-all;}
.small {font-size: 0.6em; letter-spacing: normal !important;}
.large {font-size: 1.8em !important;}
.block {display: block !important;}
.sh {display: block;}
.pc {display: none;}
.hidden {position: absolute; top: -9999px; left: -9999px;}


.news {
		margin: 20px auto;
		width:100%;
		height: 15rem;
		overflow-y: scroll;
		font-size:90%;
	}
.news a {
	text-decoration: none;
}
.news a:hover{
	text-decoration: underline;
}
.news dl {
	margin: 15px 15px 0 ;
}
.news dt {
	
}
.news dd {
	margin-bottom: 1em;
	padding-bottom: 1em;
	border-bottom: 1px #ddd solid;
}

ul.news_w {
		margin: 30px 0px 0px -20px;
		width:100%;
	line-height: 1.5;
}
.news_w li {
    list-style-type: none;
    font-size: 1em;
    margin: 0;
	text-indent:-1em;
    list-style-position: outside;
}
.news_w li a {
	text-decoration: none;	
}


.kyosan_image {
	display: none;
		width:0%;
		overflow: hidden;
	}
.message01 {
		margin: 3em auto 0 ;
		width:90%;
		line-height: 2;
	}

@media screen and (max-width: 768px) {
.kyosan_bnr{
	text-align: center;
	margin:0 auto;
	padding-bottom: 1rem;
}
.kyosan_bnr table,.kyosan_bnr td,.kyosan_bnr th {
    width: 96%;   
    display: block; 
	text-align: center;
	  padding: 10px 0; 
	margin: auto;
  }
}
/*-------------------------------------------------------
ここから下は画面幅400px以下の追加指定
--------------------------------------------------------------*/
@media screen and (max-width:400px) {


/*btnの設定
------------------------------------------------------------*/
a.btn1, a.btn2 {
	padding: 0px 15px;
}
a.btn1 i, a.btn2 i {
	margin-left: 10px;
}
	

}



/*------------------------------------------------------------
ここから下は画面幅900px以上の追加指定
--------------------------------------------------------------*/
@media screen and (min-width:768px) {


/*全体の設定
--------------------------------------------------------*/
html, body {
	font-size: 16px;	/*基準となるフォントサイズの上書き*/
}

/*sectionタグと、詳細ページの共通設定
-------------------------------------------------------*/
section,
main > article {
	margin: 0 auto;
	padding: 2% 5%;		/*ボックス内の余白*/
}	
	
	

/*2カラムブロック
--------------------------------------------*/
/*２カラムを囲むブロック*/
.c2 {
	flex-direction: row;			/*子要素を横並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	align-items: center;			/*垂直揃えの指定。天地中央に配置されるように。*/
	
	margin-left: -6%;
	margin-right: -6%;
}
/*画像ブロック*/
.c2 .image {
	width: 60%;
}

/*テキストブロック*/
.c2 .text {
	width: 40%;
	padding: 0 3%;
}

/*最初(左)に配置*/
.c2 .l {
	order: -1;
}

/*画像を右側に配置する場合の設定*/
.c2 .image.r {
	overflow: hidden;
	/*margin-right: -6%;	画像を画面枠ギリギリまで移動する*/
	border-radius: 100px 0px 0px 100px;	/*角を丸くする指定。左上、右上、右下、左下への順番。*/
}

/*画像を左側に配置する場合の設定*/
.c2 .image.l {
	overflow: hidden;
	/*margin-left: -6%;	画像を画面枠ギリギリまで移動する*/
	border-radius: 0px 100px 100px 0px;	/*角を丸くする指定。左上、右上、右下、左下への順番。*/
}

	

.kyosan_image {
		width:15%;
		overflow: hidden;
		display: block;
float:right;
margin: -50px 0 -300px 0;
	}


/*トップページのメイン画像
----------------------------------------------*/
/*テキストブロック*/
#mainimg #text {
	width: 50%;		/*幅*/
}
#mainimg2 {
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 39.2%;
	position: relative;
	top: 50px;	/*headerのheightの数値と合わせて下さい。*/
	overflow: hidden;
	background: url("../images/mainimage3.jpg") no-repeat center center / 100%;	/*背景色、背景画像の読み込み、最後の100%は画像幅。*/
	color: #fff;	/*文字色*/
}
#mainimg2_1 {
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 39.2%;
	position: relative;
	top: 50px;	/*headerのheightの数値と合わせて下さい。*/
	overflow: hidden;
	background: url("../images/mainimage3.png") no-repeat center center / 100%;	/*背景色、背景画像の読み込み、最後の100%は画像幅。*/
	color: #fff;	/*文字色*/
}
#mainimg3 {
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 39.2%;
	position: relative;
	top: 50px;	/*headerのheightの数値と合わせて下さい。*/
	overflow: hidden;
	background: url("../images/mainimage2.jpg") no-repeat center center / 100%;	/*背景色、背景画像の読み込み、最後の100%は画像幅。*/
	color: #fff;	/*文字色*/
}

#mainimg4 {
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 40%;
	position: relative;
	top: 50px;	/*headerのheightの数値と合わせて下さい。*/
	overflow: hidden;
	background: url("../images/mainimage0.jpg") no-repeat center center / 100%!important;	/*背景色、背景画像の読み込み、最後の100%は画像幅。*/
	color: #fff;	/*文字色*/
}

#mainimg0 {
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 40%;
	position: relative;
	top: 50px;	/*headerのheightの数値と合わせて下さい。*/
	overflow: hidden;
	background: url("../images/mainimage0.jpg") no-repeat center center / 100%;	/*背景色、背景画像の読み込み、最後の100%は画像幅。*/
	color: #fff;	/*文字色*/
}	

#mainimg5 {
	width: 100%;
/*	height: 0;*/
	padding: 0;
	padding-top: 40%;
	position: relative;
	top: 50px;	/*headerのheightの数値と合わせて下さい。*/
	overflow: hidden;
	background: url("../images/mainimage5_1.png") no-repeat center center / 100%!important;
	/*背景色、背景画像の読み込み、最後の100%は画像幅。*/
	color: #fff;	/*文字色*/
}

.apology{
	margin-top: 4em;
}
	
.arch{
	font-weight:boder;
	font-size:110%;
}	
	
/*menubarブロック設定
--------------------------------------------------------*/

#menubar {
	font-size: 0.8em;	/*文字サイズを少し小さくする*/
}
#menubar ul {
	display: flex;	/*flexボックスを使う指定*/
}

/*メニュー１個あたりの設定*/
#menubar a {
	padding: 10px 15px;	/*上下、左右への余白*/
}


/*３本バー（ハンバーガー）アイコン設定
-----------------------------------------------------------*/
/*ハンバーガーメニューを非表示にする*/
#menubar_hdr {display: none;}

/*mainブロック設定
--------------------------------------------------*/
/*mainブロック*/
main {
	padding-top: 50px;
}

main h2 {
    margin: 0 0 1em;		
    line-height: 1.3;		
    font-size: 2em;	
    text-align: center;	
    letter-spacing: 0.1em;
    color: #E94929;	
    font-family: 'Lato';	/*GoogleFonts*/
    font-weight: 400;
}

main h2 span {
    display: block;
    font-weight: normal;
    color: #000;		
    font-size: 18px;	
}
main h3 {
    margin: 0 0 1em;		
    line-height: 1.3;		
    font-size: 1.5em;	
    text-align: center;	
    letter-spacing: 0.1em;
    color: #E94929;	
    font-family: 'Lato';	/*GoogleFonts*/
    font-weight: 400;
}

main h3 span {
    display: block;
    font-weight: normal;
    color: #000;		
    font-size: 1.1em;	
}
main h4 {
	margin: 2em 0;	
	color: #E94929;
	text-align: center;
	font-size:1.2em;
	font-weight: 400;
}
main h4 span {
    display: block;
    font-weight: normal;
    color: #000;		
    font-size: 1em;	
}

  .heading_1 {
    position: relative;
    padding: 0.7em;
    border-radius: 50px;
    background-color: #f5a600;
    color: #fff;
    font-weight: 900;
  }	
	
	
/*mainブロックのpタグ*/
main p {
	margin: 0 auto 20px;
	text-align: justify;
	font-size:1em;
}
main p + p {margin-top: -15px;
	}
	
main .pro_text {
	margin: auto;
}

main .pro_text h3 {
/*    margin: 2em auto 0.5em;	*/	
/*    line-height: 1.3;	*/	
    font-size: 2em;	
    text-align: left;	
/*    letter-spacing: 0.1em;
    color: #E94929;	
    font-weight: 400;*/
    font-family: 'Lato';	/*GoogleFonts*/
}
main .pro_text p {
	margin: 0 0 0.5em;
	font-size:18px;
	text-align: left;
}	
	
	

 .event01 {
    padding: auto;
    margin: 100px auto 0;
    width: 50%;
  }	
  .event01 .bar1 {
    width: 45%;
    padding-top: -30px;
    float: left;
  }
  .event01 .bar2 {
    width: 45%;
    padding-top: -30px;
    float: right;
  }	

 .event02 {
    padding: auto;
    margin: 100px auto 0;
    width: 80%;
  }	
  .event02 .bar1 {
    width: 30%;
    padding-top: -30px;
    float: left;
	 font-size: 0.9rem;
  }
  .event02 .bar2 {
    width: 30%;
    padding-top: -30px;
    float:inherit;
  }		
  .event02 .bar3 {
    width: 30%;
    padding-top: -30px;
    float: right;
  }		
	

/*listブロック
--------------------------------------*/
/*listブロック全体を囲むブロック*/
.list-container {
	display: flex;		/*flexボックスを使う指定*/
	flex-wrap: wrap;	/*折り返す指定*/
}

/*１個あたりのボックス設定*/
.list-container .list {
	display: flex;					/*flexボックスを使う指定*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	flex-direction: column;			/*子要素を縦並びにする*/
	width: 32%;						/*幅。３列になります。*/
	margin-right: 2%;
}

.list-container .list:nth-of-type(3n) {
	margin-right: 0;
}

/*ボックス内のtextブロック*/
.list-container .list .text {
	flex: 1;
}

.list-container .list h4 {
	margin: 0.5em 0;
	color: #333;
	font-size:16px;
	font-weight: normal;
	
}
.list-container .list h4 span {
	display: block;
	font-size:18px;
}	
	
.list-container .list p {
	margin: 1em 0 0;
	font-size: 12px!important;
	line-height: 1.4;
	text-align: justify;
	color:#333;
}
	
/*list_bnrブロック
--------------------------------------*/
/*listブロック全体を囲むブロック*/
.list-container_bnr {
	display: flex;		/*flexボックスを使う指定*/
	flex-wrap: wrap;	/*折り返す指定*/
}

/*１個あたりのボックス設定*/
.list-container_bnr .list {
	display: flex;					/*flexボックスを使う指定*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	flex-direction: column;			/*子要素を縦並びにする*/
	width: 32%;						/*幅。３列になります。*/
	margin-right: 2%;
}

.list-container_bnr .list:nth-of-type(3n) {
	margin-right: 0;
}

/*ボックス内のtextブロック*/
.list-container_bnr .list .text {
	flex: 1;
}

.list-container_bnr .list h4 {
	margin: 0.5em 0;
	color: #333;
	font-size:16px;
	font-weight: normal;
	
}
.list-container_bnr .list h4 span {
	display: block;
	font-size:18px;
}	
	
.list-container_bnr .list p {
	margin: 1em 0 0;
	font-size: 12px!important;
	line-height: 1.4;
	text-align: justify;
	color:#333;
}	

/*list_topbnrブロック
--------------------------------------*/
/*listブロック全体を囲むブロック*/
.list-container_topbnr {
	width:80%;
	margin: auto;
	display: flex;		/*flexボックスを使う指定*/
	flex-wrap: wrap;	/*折り返す指定*/
}

/*１個あたりのボックス設定*/
.list-container_topbnr .list {
	display: flex;					/*flexボックスを使う指定*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	flex-direction: column;			/*子要素を縦並びにする*/
	width: 45%;						/*幅。３列になります。*/
	margin-right: 10%;
}

.list-container_topbnr .list:nth-of-type(2n) {
	margin-right: 0;
}

/*ボックス内のtextブロック*/
.list-container_topbnr .list .text {
	flex: 1;
}

.list-container_topbnr .list h4 {
	margin: 0.5em 0;
	color: #333;
	font-size:16px;
	font-weight: normal;
	
}
.list-container_topbnr .list h4 span {
	display: block;
	font-size:18px;
}	
	
.list-container_topbnr .list p {
	margin: 1em 0 0;
	font-size: 12px!important;
	line-height: 1.4;
	text-align: justify;
	color:#333;
}	
	

	
.movie {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
.movie video {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }	

	
	
/*テーブル
---------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	padding: 15px 5px;	
}
.ta1 {
	width: 90%;
	margin: 0 auto 30px;
}
/*th（左側）、td（右側）の共通設定*/
.ta1 th, .ta1 td {
	padding: 20px 15px;	
}

/*th（左側）のみの設定*/
.ta1 th {
	width: 20%;	
}

/*大会概要*/

.ta_gaiyou caption {
	padding: 5px 15px;		/*上下、左右へのボックス内の余白*/
}
	.ta_gaiyou {
			width: 75%;
	}
/*th（左側）、td（右側）の共通設定*/
.ta_gaiyou th, .ta_gaiyou td {
	padding: 20px 15px;		/*上下、左右へのボックス内の余白*/
}

/*th（左側）のみの設定*/
.ta_gaiyou th {
	width: 20%;		/*幅*/
display: table-cell;
        justify-content: space-around!important;
	text-align: left;
}
	
	
.button_solid015 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 360px;
    padding: 20px 25px;
    color: #FFF;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    background: #476ab2;
    filter: drop-shadow(0px 2px 4px #ccc);
    border-radius: 50px;
    text-decoration: none;
  }	

.news {
    margin: 50px auto;
    width: 85%;
    font-size: 95%;
	}	

.news_w {
		margin: 0px 0px 30px 50px!important;
		width:100%;
	line-height: 2!important;
}
.news_w li {
	list-style: none;
	font-size:1em;
}
.news_w li a {
	text-decoration: none;
	
}
	
	
/*その他
-------------------------------------*/
.wp50{width:50%;margin:auto;}
.wp75{width:75%;margin:auto;}
.wp75w{width:75%;margin:auto;}
.wp85{width:85%;margin:auto;}
.ws {width: 48%;display: inline;}
.sh {display: none;}
.pc {display: inline-block;}




.kyosan_bnr{
	text-align: center;
	margin:auto;
	width:85%;
}

.kyosan_bnr table,.kyosan_bnr td,.kyosan_bnr th {
  border-collapse: collapse;  
}
.kyosan_bnr td,.kyosan_bnr th {
  border:none;
  padding: 10px;  
	width:33%;
}

.message01 {
		margin: 5em auto 0 ;
		width:90%;
		line-height: 2;
	}

	
.tpbtn1{
	width:65%;
	margin: 0 auto;
	padding: 50px auto 0;
	border-radius: 50px;	
	}	
	
.tpbtn1 a.btn1 {
	padding: 15px!important;
	width:65%;
}	
.tpbtn{
	width:65%;
	margin: 0 auto;
	padding: 50px auto 0;
	border-radius: 50px;	
	}	

.tpbtn a.btn2 {
	padding: 20px!important;
	width:65%;
}	
	
.obentou{
	width:50%;
	margin: 50px auto;
	padding: 30px;
	border-radius: 50px;	
	}	
.obentou a.btn1,
.obentou a.btn2 {
/*	display: inline-block;text-decoration: none;
	letter-spacing: 0.1em;
	border-radius: 50px;*/
	padding: 15px!important;
/*	font-size: 1em;
	font-weight: 700;
	box-shadow: 1px 2px 3px rgba(0,0,0,0.1);
	margin: 75px auto 0;*/
	width:65%;
}
	
/*2カラムブロック
----------------------------------------------*/

.ev_c2_top {
	flex-direction: row;			/*子要素を横並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	/*align-items: center;*/			/*垂直揃えの指定。天地中央に配置されるように。*/
	align-items: top;
	width:75%;
	margin: 0 auto;
	padding: 30px;
	border-radius: 50px!important;
}
	
/*画像ブロック*/
.ev_c2_top .image {
	width: 50%;
	padding: 0 2% 0 0;
}

/*テキストブロック*/
.ev_c2_top .text {
	width: 50%;
	padding: 0 0 0 2%;
}

/*最初(左)に配置*/
.ev_c2_top .l {
	order: -1;
}

/*画像を右側に配置する場合の設定*/
/*.ev_c2 .image.r {
	overflow: hidden;
	margin-right: -5%;
}*/

/*画像を左側に配置する場合の設定*/
/*.ev_c2 .image.l {
	overflow: hidden;
	margin-left: -5%;	
}*/	
}

