@charset "UTF-8";

/*-------------------------------------------------------------
///////////////////////////////////////////////////////////////
reset
///////////////////////////////////////////////////////////////
--------------------------------------------------------------*/

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.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, 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;
}
body {
	line-height: 1;
}
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;
}

/*resetここまで*/


/*html5未対応ブラウザ用*/

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }



/*-------------------------------------------------------------
///////////////////////////////////////////////////////////////
common
///////////////////////////////////////////////////////////////
--------------------------------------------------------------*/

body {
	height:100%;
	font-family:Open Sans, Avenir, Helvetica, Arial, Verdana, Roboto, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "M PLUS 1p", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #333;
	font-size:87%;
	line-height:160%;
	background: #fffded;
	-webkit-text-size-adjust: 100%;
}
body#home {
	height:100%;
	font-family:Open Sans, Avenir, Helvetica, Arial, Verdana, Roboto, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "M PLUS 1p", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #333;
	font-size:87%;
	line-height:160%;
	background: #fffded;
	-webkit-text-size-adjust: 100%;
}


* html body {  
	font-size:87%;  
}
/**/
*:first-child+html body {  
	font-size:87%;  
}

img {
	vertical-align:bottom;
	border:none;
	display:block;
}

/* IE6 base font */
* html body {
	font-family:Open Sans, Avenir, Helvetica, Arial, Verdana, Roboto, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "M PLUS 1p", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.banner{
    margin-top: 10px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 30px;
}
.banner img{
    max-width: 230px;
    margin: 10px auto;
    max-height: 80px;
}
.banner a{
	display:block;
}
.banner a:hover{
	filter:alpha(opacity=85);
	-moz-opacity:0.85;
	-khtml-opacity: 0.85;
	opacity:0.85;
}
.center {
	text-align:center;
}
.left {
	text-align:left;
}
.right {
	text-align:right;
}

.fleft {
	float:left;	
}
.fright {
	float:right;	
}

.center00 {
	margin:0px auto;
}
.center20 {
	margin:20px auto;
}

.clear {
	clear:both;
}
.clearLeft {
	clear:left;
}
.clearRight {
	clear:right;
}

.h10 {
	height:10px;
}

.t5 {padding-top:5px;}
.t10 {padding-top:10px;}
.t15 {padding-top:15px;}
.t20 {padding-top:20px;}
.t30 {padding-top:30px;}
.t40 {padding-top:40px;}
.t50 {padding-top:50px;}
.t100 {padding-top:100px;}
.b5 {padding-bottom:5px;}
.b10 {padding-bottom:10px;}
.b15 {padding-bottom:10px;}
.b20 {padding-bottom:20px;}
.b30 {padding-bottom:30px;}
.b40 {padding-bottom:40px;}
.b50 {padding-bottom:50px;}
.b100 {padding-bottom:100px;}
.r10 {padding-right:10px;}
.r20 {padding-right:20px;}
.r30 {padding-right:30px;}
.l10 {padding-left:10px;}
.l20 {padding-left:20px;}
.l30 {padding-left:30px;}
.l1em {padding-left:1em;}
.mb5 {margin-bottom:5px;}
.mb10 {margin-bottom:10px;}
.mb15 {margin-bottom:15px;}
.mb20 {margin-bottom:20px;}
.mb25 {margin-bottom:25px;}
.mb30 {margin-bottom:30px;}
.mb35 {margin-bottom:35px;}
.mb40 {margin-bottom:40px;}
.mt5 {margin-top:5px;}
.mt10 {margin-top:10px;}
.mt15 {margin-top:15px;}
.mt20 {margin-top:20px;}
.mt25 {margin-top:25px;}
.mt30 {margin-top:30px;}
.mt35 {margin-top:35px;}
.mt40 {margin-top:40px;}

.mr10 {margin-right:10px;}
.mr20 {margin-right:20px;}
.ml10 {margin-left:10px;}
.ml20 {margin-left:20px;}
.ml30 {margin-left:30px;	}


.f10{font-size:10px;}
.f11{font-size:11px;}
.f12{font-size:12px;}
.f13{font-size:13px;}
.f14{font-size:14px;}
.f15{font-size:15px;}
.f16{font-size:16px;}
.f17{font-size:17px;}
.f18{font-size:18px;}
.f19{font-size:19px;}
.f20{font-size:20px;}

.lr20 {
	padding:0 20px;
}
.all5 {
	padding: 5px;
}
.all10 {
	padding: 10px;
}

.b {
	font-weight:bold;
}
.underline {
	text-decoration:underline;
}
.dotBtm {
	border-bottom: #666 dotted 2px;
}
.solidBtm {
	border-bottom: #666 solid 1px;
}
.doubleBtm {
	border-bottom: #666 double 3px;
}
.mt20 {
	margin-top:20px;
}
.mt40 {
	margin-top:40px;
}
.mb20 {
	margin-bottom:20px;
}
.mb40 {
	margin-bottom:40px;
}

.ssText {
	font-size:0.8em;
	line-height:135%;
}
.sText {
	font-size:0.9em;
	line-height:150%;
}
.lText {
	font-size:1.1em;
}
.llText {
	font-size:1.2em;
}
.XlText {
	font-size:1.3em;
}

.indent1em {
	padding-left:1em;
	text-indent:-1em;
}

.indent2em {
	padding-left:2em;
	text-indent:-2em;
}
.indent3em {
	padding-left:3em;
	text-indent:-3em;
}
.indent4em {
	padding-left:4em;
	text-indent:-4em;
}
.indent5em {
	padding-left:5em;
	text-indent:-5em;
}
.indent6em {
	padding-left:6em;
	text-indent:-6em;
}
.indent7em {
	padding-left:7em;
	text-indent:-7em;
}
.indent8em {
	padding-left:8em;
	text-indent:-8em;
}
.indent9em {
	padding-left:9em;
	text-indent:-9em;
}
.indent10em {
	padding-left:10em;
	text-indent:-10em;
}
.indent11em {
	padding-left:11em;
	text-indent:-11em;
}
.indent12em {
	padding-left:12em;
	text-indent:-12em;
}
.indent13em {
	padding-left:13em;
	text-indent:-13em;
}
.indent14em {
	padding-left:14em;
	text-indent:-14em;
}
.indent15em {
	padding-left:15em;
	text-indent:-15em;
}
.indent16em {
	padding-left:16em;
	text-indent:-16em;
}
.color_red {
	color:#e50012;
}
.color_darkblue {
	color:#004286;
}
.color_green {
	color:#94d303;
}
.color_orange {
	color:#EC6C00;	
}
.color_white {
	color:#fff;
}
.caution {
	color:#c50018;
}

a {
	color:#004286;
	text-decoration: underline;
	outline:0;
}
a:hover {
	color:#e50012;
	text-decoration: none;
}
.bg01 {
	background-color: #FFC;
}
.bg02 {
	background-color: #FFF;
}
.border01 {
	border: #999 solid 1px;
}
.border02 {
	border: #e50012 solid 1px;
}
.border_top {
	border-top: #999 dotted 2px;
}
.border_top01 {
	border-top: #999 dotted 1px;
}

.borderFrame {
	border: 3px solid #A81D70;
	padding: 20px;
}

.clearfix:after{
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
	content:".";
	zoom:1;
}
.clearFix:after{
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
	content:".";
	zoom:1;
}

.fullheight {
    height:100%;
}

/*-------------------------------------------------------------
///////////////////////////////////////////////////////////////
layout
///////////////////////////////////////////////////////////////
--------------------------------------------------------------*/

/*ページベース
------------------------------------------------------*/
html, body {
	height: 100%;
}
body > #wrapper {
    height: auto;
}

#wrapper {
	width:1100px;
	margin:0 auto;
	padding:0;
	min-height:1250px;
	height:auto !important;
	position:relative;
	text-align:left;
	/*padding:0 10px;*/
}
#wrapperHome {
	width:1100px;
	margin:0 auto;
	padding:0;
	min-height:1250px;
	height:auto !important;
	position:relative;
	text-align:left;
	/*padding:0 10px;*/
}

/*ヘッダー
------------------------------------------------------*/

#mainVisual {
	width:850px;	
	height: auto;
	min-height: 1150px;
	position:relative;
	background:url("../images/mainShadow.png") left top no-repeat, url(../images/mainVisual.png) center top no-repeat;
}

header {
	width:850px;
	height:160px;
}

#logo {
	display:block;
	width:850px;
	height:130px;
}

#topTheme {
	display:block;
	width:850px;
	height:570px;
	position:absolute;
	top:250px;
	right:0px;
	text-indent:-9999px;
}

.topDate {
    display: flex;
    width: 850px;
    height: 260px;
    position: absolute;
    bottom: 0px;
    left: 0px;
    text-indent: -9999px;
}


/*contentWrap
------------------------------------------------------*/

#contentsWrap {
	width:1100px;
	/*padding:5px;*/
	/*background-color:#DBDBDB;*/
}



/*コンテンツエリア
------------------------------------------------------*/

#contentsAreaHome {
	width:850px;
	float:right;
	height: auto !important;
}
#contentsArea {
	width:850px;
	float:right;
	height: auto !important;  /* IE6�΍� */
	min-height:1000px;
	background: url("../images/bg_contentsArea.png") left top no-repeat;
}


.contents {
	width:780px;
	margin:5px auto 10px;
	padding:20px 15px 40px;
	background: #fff;
	height: auto !important;  /* IE6�΍� */ 
	min-height: 1100px;
}


/*サイドエリア
------------------------------------------------------*/

#sideAreaHome {
	display: inline; /*ie6*/
	float:left;
	width:250px;
	height:auto;
	min-height:1000px;
	/*padding:5px 5px 0px;*/
}
#sideArea {
	display: inline; /*ie6*/
	float:left;
	width:250px;
	height:auto;
	min-height:1190px;
	/*padding:5px 5px 0px;*/
}

/*メインメニュー
------------------------------------------------------*/

#gNavi {
	display:block;
	width:250px;
	/*height:895px;*/
	margin:0px auto 0px;
}

.menu {
        margin: 0px auto 0;
    }

    .menu li a {
        display: flex;
        align-items: center;
        width: 230px;
        height: 48px;
        /*background-color: var(--key-color);
        background-image: linear-gradient(160deg, transparent 35%, rgba(0, 132, 208, 0.2) 100%);
        background-position: right bottom;
        background-repeat: no-repeat;
        background-size: 100% 100%;*/
		background: #4ca7a8;
        color: #fff;
        font-size: 14px;
        font-weight: bold;
        line-height: 1.3;
        font-feature-settings: "palt";
        text-decoration: none;
        filter: none;
        transition: all .5s;
		margin: 0 auto 2px;
		position: relative;
    }

    .menu li a > span {
        margin-left: 12px;
    }

    .menu li a:hover {
		background-image: url("../images/menu_hover.png");
        color: #f9eb21;
        text-decoration: none;
    }

    .menu li.active a {
        background-image: url("../images/menu_hover.png");
        color: #f9eb21;
        pointer-events: none;
    }
    
    .menu li.active a:hover {
        cursor: default;
    }



/*フッター
------------------------------------------------------*/

footer {
	clear: both;
	width:100%;
	height:50px;
	background:#e84d23;
}

#copyright {
	width:100%;
	height:50px;
	padding:0;
}
#copyright p {
	width: 1100px;
	margin: 0 auto;
	line-height:3.5;
	font-size: 13px;
	color:#fff;
	font-weight:500;
	text-align: center;
}







/*flexbox*/

.flex {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: row;
    /* Safari */
    flex-direction: row;
}

.flex-row-reverse {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: row-reverse;
    /* Safari */
    flex-direction: row-reverse;
}

.flex-column {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: column;
    /* Safari */
    flex-direction: column;
}

.flex-column-reverse {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: column-reverse;
    /* Safari */
    flex-direction: column-reverse;
}

.inline-flex {
    display: -webkit-inline-flex;
    /* Safari */
    display: inline-flex;
    -webkit-flex-direction: row;
    /* Safari */
    flex-direction: row;
}

.flex-start {
    -webkit-justify-content: flex-start;
    /* Safari */
    justify-content: flex-start;
}

.flex-center {
    -webkit-justify-content: center;
    /* Safari */
    justify-content: center;
}

.flex-end {
    -webkit-justify-content: flex-end;
    /* Safari */
    justify-content: flex-end;
}

.flex-space-around {
    -webkit-justify-content: space-around;
    /* Safari */
    justify-content: space-around;
}

.flex-space-between {
    -webkit-justify-content: space-between;
    /* Safari */
    justify-content: space-between;
}

.flex-align-center {
    -webkit-align-items: center;
    /* Safari */
    align-items: center;
}

.flex-align-end {
    -webkit-align-items: flex-end;
    /* Safari */
    align-items: flex-end;
}

.flex-wrap {
		-ms-flex-wrap:wrap;/*--- IE10用 ---*/
		-webkit-flex-wrap:wrap;/*--- safari（PC）用 ---*/
		flex-wrap:wrap;
}
