@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{background-color: #2a3061;}
body {
	line-height: 1;
	background-color: #ffffff;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

img{
	width: 100%;
	vertical-align:bottom; /* img要素にここを指定 */
}

a:link {
	text-decoration: none;	
}

a:hover img {
	
	opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}





/*================================================
 *  一般・共通設定
 ================================================*/

body {
    font-family: 'Noto Sans JP', sans-serif;
	/*font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;*/
	color: #333;
	line-height: 1.8;
	word-wrap: break-word;
font-size: 100%;}
	
/* 小さい画面用の設定-------------- */
@media (max-width:767px){
body {
font-size: 90%;}
	}
/* -------------end------------- */


/*================================================
 *  リンクスタイル
 ================================================*/

a {
color: #333;
}


a:hover {
	opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}



/*================================================
 *  ヘッダー
 ================================================*/
/*========= 上部固定させるためのCSS ===============*/


/* 大きい画面用の設定-------------- */
@media (min-width:768px){
#header{
  height: 50px;/*高さ指定*/
  width:100%;/*横幅指定*/
  /*以下はレイアウトのためのCSS*/

}
    
/*JSを使いfixedクラスが付与された際の設定*/
#header.fixed{
  position: fixed;/*fixedを設定して固定*/
    z-index: 999;/*最前面へ*/
    top:0;/*位置指定*/
    left:0;/*位置指定*/
}

	}
/* -------------end------------- */


/* 大きい画面用の設定-------------- */
@media (min-width:768px){
    .header {
	box-sizing: border-box;
	width: 100%;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
    padding-top: 10px;
    padding-bottom: 10px;
}
	}
/* -------------end------------- */



.header_list{display: flex;
align-items: center;
justify-content: space-between;

}

.header_list > li:first-child{
display: flex;
align-items: center;
width: 60%;}

.header_list > li:first-child a{
font-size: 220%;
font-weight: 500;
color: #2a3061;
}



.header_list > li:last-child{
    width: 40%;
}

/* 小さい画面用の設定-------------- */
@media (max-width:1000px){

    
.header_list{
height: 50px;
}
    
.header_list > li:first-child{
padding-left: 10px;
width: 70%;
}

.header_list > li:first-child a{
font-size: 138%;
}
    
.header_list li:last-child{display: none;
     width: 30%;
}
}
/* -------------end------------- */



.header_list > li > .header_contact{
    display: flex;
    box-sizing: border-box;
    align-items: center;
    justify-content: flex-end;
}

.header_contact > li{
    box-sizing: border-box;width: 8em;
}

.header_contact > li:last-child{
    width: 12em;
}


.header_bt_mail {
background-color: #2a3061;
	text-align: center;
}



.header_bt_mail a{
  padding-top: 10px;
 padding-bottom: 10px;
    display: block;
	color: #fff;
}

.header_bt_mail a:after {
	font-family: 'FontAwesome';
	content: "\f054";
color: #ffffff;
	padding-left: 1em;
	
}

/*================================================
 * グロナビ固定
 ================================================*/
/*
.nav_fixed {
		position:fixed;
		top:0;
		left:0;
	}*/


/*================================================
 *  main
 ================================================*/

.main {
	/*max-width: 1000px;
*/margin-left: auto;
	margin-right: auto;
	background-image: url(../img/index_img/main.png);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	height: 420px;
}

.main2 {

margin-left: auto;
margin-right: auto;
	
}

.contents{width: 100%;
	/*max-width: 1000px;*/
	margin-left: auto;
	margin-right: auto;
padding-top: 50px;
padding-bottom: 50px;
}

.contents_inside{width: 96%;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
padding-bottom: 100px;
}

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.contents_inside{width: 90%;
padding-bottom: 50px;
}

}
/* -------------end------------- */



/*================================================
 *  TOPICS
 ================================================*/

.contents_topics{width: 80%;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
padding-top: 50px;
padding-bottom: 50px;}


.topics_wrap{
	
	padding: 30px;
	border: 1px solid #CCCCCC;
	box-sizing: border-box;
}

.topics_title{
	font-weight: bold;
	font-size: 125%;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.topics_title > span {
	border-bottom: 2px solid #000000;
}





.topics_dl dt > span.icon1 {
	background-color: #c83e47;
	color: #ffffff;
	padding-top: 5px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 5px;
	margin-right: 10px;
	font-size: 88%;
}

.event{
	background-color: #c83e47;
	color: #ffffff;
	padding-top: 5px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 5px;
	margin-right: 10px;
	font-size: 88%;
}


.topics_dl dt > span.icon2{
	background-color: #eda933;
    color: #ffffff;
	padding-top: 5px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 5px;
	margin-right: 10px;
	font-size: 88%;
	
}

.info{
	background-color: #eda933;
    color: #ffffff;
	padding-top: 5px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 5px;
	margin-right: 10px;
	font-size: 88%;
	
}

.topics_dl dd {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
}

.bt_ichiran_wrap{display: flex;
justify-content: flex-end;}


.bt_ichiran {
background-color: #2a3061;
	width: 13em;
text-align: center;
	
}

.bt_ichiran a{
    padding-top: 10px;
padding-bottom: 10px;
    padding-right: 20px;
    padding-left: 20px;
    display: block;
	color: #fff;
}

.bt_ichiran a:after {
	font-family: 'FontAwesome';
	content: "\f054";
	
	color: #ffffff;
	padding-left: 1em;
	
}

/* 大きい画面用の設定-------------- */
@media (min-width:768px){
.topics_dl dt {
	clear: left;
	float: left;
	width: 220px;
}


.topics_dl dd {
	padding-left: 220px;

}

}
/* -------------end------------- */

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.contents_topics{width: 90%;
	padding-top: 30px;
padding-bottom: 30px;}


.topics_wrap{
padding: 15px;

}

.topics_dl dt {
margin-bottom: 10px;
}

}
/* -------------end------------- */



/*================================================
 *  common_flex_box
 ================================================*/


.top_flex_box{display: flex;
justify-content: space-between;
	align-items: center;
	margin-bottom: 80px;
	}
	
.top_flex_box_reverse{flex-direction : row-reverse;}
	
	
.top_flex_box > li{width: 49%;}
    
.top_flex_box > li:first-child{padding-left: 250px;
	padding-right: 50px;
box-sizing: border-box;
    
}

.top_flex_box_reverse > li:first-child{padding-left: 50px;
	padding-right: 250px;
box-sizing: border-box;

}

/* 中サイズ画面用の設定-------------- */
@media (max-width:1280px){
.top_flex_box > li:first-child{padding-left: 50px;
	padding-right: 50px;
box-sizing: border-box;}
}
/* -------------end------------- */

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
    

 .top_flex_box{display: block!important;}
    
    .top_flex_box > li{width: 100%;}
    
   .top_flex_box > li:first-child{
            padding-left: 0px;
	padding-right: 0px;
            width: 90%;
    margin-left: auto;
    margin-right: auto;}
    
	
    
.top_flex_box > li:first-child{margin-bottom: 20px;}

}
/* -------------end------------- */

.top_headline{font-weight: bold;
	font-size: 150%;
	margin-bottom: 20px;
color: #4e4947;}

.top_txt{margin-bottom: 40px;
line-height: 2.0;}

.bt_readmore{text-align: center;
background-color:#2a3061;
width: 60%;
margin-left: auto;
	margin-right: auto;
border-radius: 23px;

}

.bt_readmore a{color: #ffffff;
padding-top: 10px;
padding-bottom: 10px;
display: block;}


.bt_readmore a:after {
	font-family: 'FontAwesome';
	content: "\f054";
	
	color: #ffffff;
	padding-left: 1em;
	
}

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.top_txt{margin-bottom: 20px;}
}
/* -------------end------------- */













/*================================================
 *  footer
 ================================================*/
.footer_outside{
padding-top: 30px;
padding-bottom: 50px;
background-color: #2a3061;
}

.footer{width: 94%;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
color: #ffffff;}

.footer_nav{
	
	text-align: center;
	font-size: 75%;
	margin-bottom: 30px;
}

.footer_nav li a{
	color: #ffffff;
}

.footer_nav li{
	display: inline-block;
	}


.footer_nav li::after {
	content:"｜";
	padding-right: 5px;
	padding-left: 5px;
}

.footer_nav li:last-child::after{
	content:"";
	padding-right: 0px;
	padding-left: 0px;
}

.footer_info{margin-bottom: 30px;}




/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.footer_outside{padding-top: 10px;
padding-bottom: 30px;}
}

/* -------------end------------- */





/*================================================
 *  COPY
 ================================================*/
address{
	text-align: center;
	font-size: 75%;
}






/* ====================================================
　pagetop
==================================================== */

.pagetop {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
}
.pagetop a {
    display: block;
   
    color: #cccccc;
    font-size:  300%;
	
}
.pagetop a:hover {
filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}



/* ====================================================
　改行位置
==================================================== */
@media print, screen and (min-width: 768px) {
br.sp { display: none; }
br.pc { display: inline; }
}
@media screen and (max-width: 767px) {
br.sp { display: inline; }
br.pc { display: none; }
}


	 
	 


/* PC向けレイアウトの指定：961px以上では固定レイアウト */
.miniimage { display: none; }  /* miniを非表示 */
.bigimage  { display: block; 
line-height: 0px;} /* bigを表示 */
	
@media only screen and (max-width: 768px) {
.miniimage {
	display: block;
	line-height: 0px;
} /* miniを表示 */
.bigimage  { display: none; }   /* bigを非表示 */
}


/*  PCのみに表示するメニュー*/
.only_smt { display: none; }  /* miniを非表示 */
.only_pc  { display: block; 
} /* bigを表示 */
	
/*  スマホのみに表示するメニュー*/
@media only screen and (max-width: 768px) {
.only_smt {
	display: block;
	
} /* miniを表示 */
.only_pc  { display: none; }   /* bigを非表示 */
}


.txt88per{font-size: 88%;}/*----- 14px -----*/
.txt113per{font-size: 113%;}/*----- 18px -----*/
.txt125per{font-size: 125%;}/*----- 20px -----*/
.txt150per{font-size: 150%;}/*----- 24px -----*/
.txt163per{font-size: 163%;}/*----- 26px -----*/

.mgn_btm10{margin-bottom: 10px;}
.mgn_btm30{margin-bottom: 30px;}

.txt_center{text-align: center;}
.txt_right{text-align: right;}

.line1ten2{line-height: 1.2;}

.futoji{font-weight: 700;}

/*------------------------------------------------------------------------------
  anim
------------------------------------------------------------------------------*/
/*1.フェードインアニメーションの指定*/
.scrollanime {opacity: 0;} /*一瞬表示されるのを防ぐ*/
.fadeInDown {
    animation-name: fadeInDown;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}
@keyframes fadeInDown {
    0% {
        opacity: 0;         
    }
    100% {
    opacity: 1;
    transform: translate(0);
    }
}
 
/*2.上下の動きを指定*/
.updown {transform: translateY(-100px);}
.downup {transform: translateY(100px);}

/* 大きい画面用の設定-------------- */
@media (min-width:768px){
    
 
/*3.左右の動きを指定*/
.sect02{overflow: hidden;} /*横スクロールバーを隠す*/
.slide-right {transform: translateX(200px);}
.slide-left {transform: translateX(-200px);}

}
/* -------------end------------- */

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
    
    /*3.左右の動きを指定*/
.sect02{overflow: hidden;} /*横スクロールバーを隠す*/
.slide-right {transform: translateX(-200px);}
.slide-left {transform: translateX(-200px);}

}
/* -------------end------------- */






