@charset "utf-8";

html{
	font-size:62.5%;
}

body{
	font-size:1.0rem;
	color:#333;
	line-height:1.6;
	font-family: 'M PLUS 1p' , "游ゴシック体 Medium","Yu Gothic Medium","游ゴシック体",YuGothic,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","MS PGothic","MS Pゴシック",Osaka,Arial,Helvetica,sans-serif;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
}

@media screen and ( min-width: 801px ) {
	.br_sp{display: none;}
	.br_pc{display: inline;}
	.disp_sp{display: none;}
	.disp_pc{display: block;}
}
@media screen and ( max-width: 800px ) {
	.br_sp{display: inline;}
	.br_pc{display: none;}
	.disp_sp{display: block;}
	.disp_pc{display: none;}
	body{min-width: 320px;}
}

@media screen and ( min-width: 961px ) {
	#header .disp_sp{display: none;}
	#header .disp_pc{display: block;}
}
@media screen and ( max-width: 960px ) {
	#header .disp_sp{display: block;}
	#header .disp_pc{display: none;}
}

img{
	max-width: 100%;
}

.en{
	font-family: 'Josefin Sans', sans-serif;
}

#wrapper{
	
}

#header{
	height: 88px;
	position: relative;
	z-index: 100;
	padding: 0 36px 0 42px;

	display:block;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-align-items:center;
	align-items:center;
}

#logo{
	width: 192px;
	height: 42px;
}

#logo a{
	width: 100%;
	height: 100%;
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url(../img/logo.png) no-repeat;
	background-size: contain;
}

@media screen and ( min-width: 801px ) {
	#logo a:hover{
		opacity: 0.8;
	}
}

#btn_nav{
	display: none;
}

#navigation{
	position: relative;
}

#navigation .nav_inner{
	font-size: 1.4rem;

	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-align-items:center;
	align-items:center;
}

#navigation a{
	color: #002c54;
}

#navigation .nav_main{

	display:block;
	display:-webkit-flex;
	display:flex;
	-webkit-align-items:center;
	align-items:center;
}

#navigation .nav_main li{
	margin-right: 28px;
}

#navigation .nav_main li.hakataba a{
	width: 102px;
	height: 28px;
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url(../img/head_nav01.png) no-repeat;
	background-size: contain;
}

#navigation .nav_main li a:hover,
#navigation .nav_info li a:hover{
	opacity: 0.8;
}

#navigation .access a{
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
	width: 118px;
	height: 102px;
	display: block;
	background: #002c54;
	transform: translate(0, 7px);

	display:block;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	justify-content: center;
	align-content: center;
	box-shadow: 7px 7px 10px rgba(0, 0, 0, 0.1);
}

#navigation .access a span{
	letter-spacing: 0.08em;
}

#navigation .nav_info{
	margin-left: 26px;

	display:block;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items:center;
	align-items:center;
}

#navigation .nav_info li{
	margin-left: 14px;
}

#navigation .nav_info .conact a{
	width: 15px;
	height: 11px;
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url(../img/ico_head_mail.png) no-repeat;
	background-size: contain;
}

#navigation .nav_info .lang a{
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.06em;
	padding-top: 2px;
}

#navigation .nav_info .fb a{
	width: 15px;
	height: 13px;
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url(../img/ico_head_fb.png) no-repeat center 50%;
	background-size: contain;
}



@media (min-width:800px){
	#navigation .access a:hover{
		background: #00396a;
	}
}

@media (max-width:1100px){
	#logo{
		width: 160px;
		height: 35px;
	}
	#navigation .nav_inner{
		font-size: 1.3rem;
	}
	#navigation .nav_main li{
		margin-right: 18px;
	}
	#navigation .nav_main li.hakataba a{
		width: 88px;
		height: 26px;
	}
	#navigation .access a{
		font-size: 1.2rem;
		text-align: center;
		width: 90px;
	}
	#navigation .access a span{
		letter-spacing: 0.06em;
	}
	#navigation .nav_info{
		margin-left: 8px;
	}
}




@media screen and ( max-width: 960px ) {
	#header{
		height: 65px;
		padding: 0;
	}
	#header.inactive{
		z-index: 50;
	}
	#header.active{
		z-index: 200;
	}
	#btn_nav{
		color: #002c54;
		text-align: center;
		width: 31px;
		height: 20px;
		display: block;
		position: absolute;
		right: 19px;
		top: 22px;
		padding-top: 12px;
	}
	#btn_nav span{
		transition: all .2s;
	}
	#btn_nav::before,
	#btn_nav::after{
		width: 30px;
		height: 2px;
		display: block;
		content: '';
		position: absolute;
		right: 0;
		background: #002c54;
		transition: all .2s;
	}
	#btn_nav::before{
		top: 0;
	}
	#btn_nav::after{
		top: 8px;
	}
	#header.active #btn_nav::before{
		top: 4px;
		transform-origin: center;
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#header.active #btn_nav::after{
		top: 4px;
		transform-origin: center;
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	#header.active #btn_nav span{
		opacity: 0;
	}
	#logo{
		width: 131px;
		height: 28px;
		margin: 0 auto;
		margin-bottom: 8px;
	}
	#logo a{
		background-image: url(../img/logo_sp.png);
	}
	#navigation{
		width: 100%;
		height: auto;
		display: block;
		position: absolute;
		top: 65px;
		padding: 12px 0 30px;
		background: #fff;
		z-index: -1;
		opacity: 0;
		transition: all .2s;
	}
	#header.active #navigation{
		opacity: 1;
		z-index: 100;
	}
	#navigation .nav_inner{
		font-size: 1.4rem;
		width: 85%;
		display: block;
		margin: 0 auto;
	}
	#navigation .nav_main{
		display: block;
		margin: 0 auto;
		margin-bottom: 32px;
		border-top: 1px solid #002c54;
	}
	#navigation .nav_main li{
		margin: 0;
		border-bottom: 1px solid #002c54;
	}
	#navigation .nav_main li a{
		display: block;
		position: relative;
		padding: 21px 0 22px 10px;
	}
	#navigation .nav_main li a::after{
		width: 8px;
		height: 8px;
		display: block;
		content: '';
		position: absolute;
		right: 10px;
		top: 50%;
		margin-top: -4px;
		border-top: 1px solid #002c54;
		border-right: 1px solid #002c54;
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#navigation .nav_info{
		display: none;
	}
	#navigation .sp_nav_info{
		margin-bottom: 30px;

		display:-webkit-flex;
		display:flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-flex-direction: row;
    	flex-direction: row;
	}
	#navigation .sp_nav_info li{
		font-size: 1.3rem;
		width: 50%;
		display: block;
		margin-bottom: 13px;
	}
	#navigation .sp_nav_info li a::before{
		content: '・';
	}
	#navigation .sp_bnr{
		margin-bottom: 36px;

		display:-webkit-flex;
		display:flex;
		-webkit-justify-content:center;
		justify-content:center;
	}
	#navigation .sp_bnr li{
		border: 1px solid #002c54;
	}
	#navigation .sp_bnr li:first-of-type{
		margin-right: 10px;
	}
	#navigation .sp_nav_facilities{
		text-align: center;

		display:-webkit-flex;
		display:flex;
    	-webkit-flex-wrap: wrap;
    	flex-wrap: wrap;
    	-webkit-flex-direction: row;
    	flex-direction: row;
 		-webkit-justify-content: center;
 		justify-content: center;
	}
	#navigation .sp_nav_facilities li{
		display: inline-block;
		margin: 0 7px;
	}
	#navigation .sp_nav_facilities li:first-of-type{
		margin-left: 0;
	}
	#navigation .sp_nav_facilities li:nth-child(3){
		margin-right: 0;
	}
	#navigation .sp_nav_facilities li img{
		height: 50px;
	}
}






#footer{
	color: #fff;
	position: relative;
	background: #002c54;
}

#footer::before{
	width: 100%;
	height: 280px;
	content: '';
	position: absolute;
	z-index: 2;
	top: 52px;
	background:url(../img/foot_wave01.png) repeat-x 0 0;
    -webkit-animation: bgloop1 6s linear infinite;
    animation: bgloop1 6s linear infinite;
}

#footer::after{
	width: 100%;
	height: 280px;
	content: '';
	position: absolute;
	z-index: 2;
	top: 54px;
	background:url(../img/foot_wave02.png) repeat-x 0 0;
    -webkit-animation: bgloop2 12s linear infinite;
    animation: bgloop2 12s linear infinite;
}

@-webkit-keyframes bgloop1 {
    from {
        background-position: 0 0;
    }
    to {
        background-position: -740px 0;
    }
}
@keyframes bgloop1 {
    from {
        background-position: 0 0;
    }
    to {
        background-position: -740px 0;
    }
}

@-webkit-keyframes bgloop2 {
    from {
        background-position: 0 0;
    }
    to {
        background-position: 632px 0;
    }
}
@keyframes bgloop2 {
    from {
        background-position: 0 0;
    }
    to {
        background-position: 632px 0;
    }
}

#footer a{
	color: #fff;
}

#footer .foot_inner{
	margin: 0 auto;
	padding: 85px 80px 0;
	position: relative;
	z-index: 5;
}

#footer .foot_top{
	padding-bottom: 58px;

	display:-webkit-flex;
	display:flex;
    -webkit-flex-wrap: wrap;
   	flex-wrap: wrap;
	-webkit-align-items:flex-start;
	align-items:flex-start;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}

#footer .foot_top .logo{
	width: 188px;
	height: 40px;
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url(../img/foot_logo.png) no-repeat;
	background-size: contain;
}

#footer .foot_top .copy{
	width: 289px;
	height: 14px;
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url(../img/foot_copy.png) no-repeat;
	background-size: contain;
}

#footer .foot_middle{
	padding-bottom: 52px;

	display:-webkit-flex;
	display:flex;
	-webkit-align-items:flex-start;
	align-items:flex-start;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}

#footer .foot_middle .nav01{
	font-size: 1.4rem;
	margin-bottom: 28px;
}

#footer .foot_middle .nav01 li{
	position: relative;
	display: inline-block;
	margin-right: 12px;
	padding-right: 16px;
}

#footer .foot_middle .nav01 li a::after{
	width: 1px;
	height: 14px;
	display: block;
	content: '';
	position: absolute;
	top: 4px;
	right: 0;
	background: #7e7e7e;
}

#footer .foot_middle .nav01 li:last-of-type{
	margin-right: 0;
	padding-right: 0;
}

#footer .foot_middle .nav01 li:last-of-type a::after{
	display: none;
}

#footer .foot_middle .nav02{
	font-size: 1.2rem;
}

#footer .foot_middle .nav02 li{
	margin-right: 2em;
	display: inline-block;
}

@media screen and ( min-width: 801px ) {
	#footer .nav01 li a:hover,
	#footer .nav02 li a:hover{
		text-decoration: underline;
	}
	#footer .foot_middle .foot_bnr li a:hover{
		opacity: 0.8;
	}
}

#footer .foot_middle .foot_right{
	padding-top: 20px;

	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items:flex-end;
	align-items:flex-end;
	-webkit-justify-content:flex-end;
	justify-content:flex-end;
}

#footer .foot_middle .foot_bnr{
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:flex-end;
	justify-content:flex-end;
}

#footer .foot_middle .foot_bnr li{
	width: 170px;
	margin-left: 10px;
}


@media screen and ( max-width: 1150px ) {
	#footer .foot_middle{
		align-items: center;
	}
	#footer .foot_middle .foot_bnr{
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	#footer .foot_middle .foot_bnr li{
		margin-bottom: 10px;
	}
}




#footer .foot_bottom{
	padding: 0px 0 60px;
	border-top: 1px solid rgba(255, 255, 255, 0.25);

	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items:center;
	align-items:center;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}

.foot_bottom_bnr{
	display:-webkit-flex;
	display:flex;
	margin-top: 20px;
}

#footer .foot_bottom_bnr li{
	margin-right: 10px;
}

#footer .foot_bottom .copyright{
	letter-spacing: 0.04em;
	margin-top: 20px;
}

@media screen and ( min-width: 801px ) {
	#footer .foot_bottom_bnr li a:hover{
		opacity: 0.6;
	}
}


@media (max-width:800px){
	#footer::before{
		width: 100%;
		height: 560px;
		top: 44px;
		background:url(../img/foot_wave01_sp.png) repeat-x 0 0;
		background-size: 710px;
	    -webkit-animation: bgloop3 14s linear infinite;
	    animation: bgloop3 14s linear infinite;
	}
	#footer::after{
		width: 100%;
		height: 560px;
		top: 48px;
		background:url(../img/foot_wave02_sp.png) repeat-x 0 0;
		background-size: 618px;
	    -webkit-animation: bgloop4 12s linear infinite;
	    animation: bgloop4 12s linear infinite;
	}
	@-webkit-keyframes bgloop3 {
	    from {
	        background-position: 0  0;
	    }
	    to {
	        background-position: 710px 0;
	    }
	}
	@keyframes bgloop3 {
	    from {
	        background-position: 0  0;
	    }
	    to {
	        background-position: 710px 0;
	    }
	}
	@-webkit-keyframes bgloop4 {
	    from {
	        background-position: 0  0;
	    }
	    to {
	        background-position: -618px 0;
	    }
	}
	@keyframes bgloop4 {
	    from {
	        background-position: 0  0;
	    }
	    to {
	        background-position: -618px 0;
	    }
	}
	#footer .foot_inner{
		width: 85%;
		margin: 0 auto;
		padding: 89px 0 0;
	}
	#footer .foot_top{
		padding-bottom: 71px;
		flex-direction: column-reverse;
		justify-content: center;
	}
	#footer .foot_top .logo{
		width: 164px;
		height: 35px;
		margin: 0 auto;
	}
	#footer .foot_top .copy{
		width: 212px;
		height: 11px;
		margin: 0 auto;
		margin-bottom: 26px;
		background: url(../img/foot_copy_sp.png) no-repeat;
		background-size: contain;
	}
	#footer .foot_middle{
		padding-bottom: 0;
		display: block;
	}
	#footer .foot_middle .nav01{
		margin-bottom: 18px;
		display: block;
		border-top: 1px solid rgba(255, 255, 255, .5);
		
		display:-webkit-flex;
		display:flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-align-items:center;
		align-items:center;
	}

	#footer .foot_middle .nav01 li{
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .5);
	}
	#footer .foot_middle .nav01 a{
		display: block;
		position: relative;
		padding: 11px 10px 11px 8px;
	}
	#footer .foot_middle .nav01 li a::after,
	#footer .foot_middle .nav01 li:last-of-type a::after{
		width: 8px;
		height: 8px;
		display: block;
		content: '';
		position: absolute;
		right: 10px;
		top: 50%;
		margin-top: -4px;
		border-top: 1px solid rgba(255, 255, 255, .8);
		border-right: 1px solid rgba(255, 255, 255, .8);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
		background: transparent;
	}
	#footer .foot_middle .nav02{
		display: block;
	}
	#footer .foot_middle .nav02 li{
		display: block;
		margin-bottom: 10px;
	}
	#footer .foot_middle .nav02 a::before{
		content: '・';
	}
	#footer .foot_middle .foot_bnr{
		padding-top: 26px;
		-webkit-justify-content:center;
		justify-content:center;
		-webkit-flex-direction: row;
		flex-direction: row;
	}
	#footer .foot_middle .foot_bnr li{
		width: auto;
		max-width: none;
	}
	#footer .foot_middle .foot_bnr li:first-of-type{
		margin: 0;
	}
	#footer .foot_bottom{
		padding: 34px 0 50px;
		border-top: none;
		display: block;
	}
	#footer .foot_bottom .foot_bottom_bnr{
		text-align: center;
		display: block;
		margin-top: 0;
		margin-bottom: 28px;
	}
	#footer .foot_bottom .foot_bottom_bnr li{
		display: inline-block;
	}
	#footer .foot_bottom .copyright{
		text-align: center;
		transform: scale(0.8, 0.8);
		margin-top: 0;
	}
}






/* ========================================

mainvisual

======================================== */
#mainvisual{
	position: relative;
	margin-bottom: 40px;

	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items:center;
	align-items:center;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	
}

#mainvisual .copy{
	width: 22.5%;
}

#mainvisual .copy span{
	max-width: 157px;
	width: 47%;
	height: 298px;
	display: block;
	margin: 0 auto;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url(../img/main_copy01.png) no-repeat 50% 50%;
	background-size: contain;
}

#mainvisual .photo{
	width: 77%;
	/*max-width: 1160px;*/
	position: relative;
}

#mainvisual .img li{
	overflow: hidden;
}

#mainvisual .img img{
	width: 100%;
	transform-origin:0 50%;
	transition: transform 6s linear;
    transform: scale(1.1,1.1) translateX(0);
}

#mainvisual .flex-active-slide img{
    transform: scale(1.1,1.1) translateX(-60px);
}

#mainvisual .photo::before{
	width: 40%;
	max-width: 456px;
	height: 100%;
	content: '';
	display: block;
	position: absolute;
	z-index: 2;
	left: 50%;
	background: url(../img/main_copy02.png) no-repeat 50% 50%;
	background-size: contain;
    transform: translate(-60%, 0);
}

#mainvisual .flex-control-nav{
    width: 6px;
    height: 100%;
    position: absolute;
    right: 32px;
    top:0;

	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items:center;
	align-items:center;
	-webkit-justify-content:center;
	justify-content:center;
}

#mainvisual .flex-control-nav li{
	margin: 4px 0;
    cursor: pointer;
}

#mainvisual .flex-control-nav a{
    width: 6px;
    height: 34px;
    border-radius:3px;

	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
    border: 1px solid #fff;
}

#mainvisual .flex-control-nav a.flex-active{
	background: #fff;
}

/*
#mainvisual .slick-dots{
    top: 0;
    left: auto;
    right: 32px;

    width: 6px;
    height: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: right;
    transform: translate(0, 0);
    z-index: 3;

	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items:center;
	align-items:center;
	-webkit-justify-content:center;
	justify-content:center;
}

#mainvisual .slick-dots li{
    width: 6px;
    height: 34px;
    margin: 4px 0;
    padding: 0;
    display: block;

    cursor: pointer;
    overflow:hidden;
    background:transparent;
    border-radius:3px;
    box-sizing: border-box;
}

#mainvisual .slick-dots li button{
    font-size: 0;
    line-height: 0;

    width: 6px;
    height: 34px;
    padding: 0;
    border-radius:3px;
    box-sizing: border-box;
    border: 1px solid #fff;
}

#mainvisual .slick-dots li.slick-active{
    background:#fff;
}
#mainvisual .slick-dots li button:hover,
#mainvisual .slick-dots li button:focus{
    outline: none;
    background:#fff;
}
*/

@media screen and ( max-width: 800px ) {
	#mainvisual{
		width: 100%;
		margin-bottom: 0;
		overflow: hidden;
		z-index: 100;
	}
	#mainvisual .copy span{
		max-width: 364px;
		width: 48.6%;
		height: 50%;
		position: absolute;
		z-index: 10;
		left: 50%;
		top: 43%;
		background: url(../img/main_copy01_sp.png) no-repeat 50% 50%;
		background-size: contain;
	    transform: translate(-50%, 0);
	}
	#mainvisual .photo{
		width: 100%;
	}
	#mainvisual .photo img{
		width: 100%;
	}
	#mainvisual .photo::before{
		width: 77.3%;
		max-width: 580px;
		height: 70%;
		content: '';
		display: block;
		position: absolute;
		z-index: 2;
		left: 50%;
		background: url(../img/main_copy02_sp.png) no-repeat 50% 50%;
		background-size: contain;
	    transform: translate(-50%, 0%);
	}
	#mainvisual .flex-control-nav{
	    width: 100%;
	    height: 6px;
	    top: auto;
		right: 0;
		bottom: 26px;
		-webkit-flex-direction: row;
		flex-direction: row;
	}
	#mainvisual .flex-control-nav li{
	    margin: 0 4px;
	}
	#mainvisual .flex-control-nav a{
	    width: 32px;
	    height: 6px;
	}

	/*#mainvisual .slick-dots{
	    top: auto;
	    right: 0;
	    bottom: 22px;

	    width: 100%;
	    height: 5px;
	    padding: 0;
	    margin: 0;
	    text-align: center;
	    transform: translate(0, 0);
	    z-index: 3;

		-webkit-flex-direction: row;
		flex-direction: row;
	}
	#mainvisual .slick-dots li{
	    width: 32px;
	    height: 5px;
	    margin: 0 4px;
	}
	#mainvisual .slick-dots li button{
	    width: 32px;
	    height: 5px;
	    padding: 0;
	    border-radius:3px;
	}*/
}


@media screen and ( max-width: 650px ) {
	#mainvisual .img img{
	    transform: scale(1.15,1.15) translateX(0);
	}
	#mainvisual .flex-active-slide img{
	    transform: scale(1.15,1.15) translateX(-50px);
	}
}


@media screen and ( max-width: 375px ) {
	#mainvisual .flex-active-slide img{
	    transform: scale(1.15,1.15) translateX(-42px);
	}
}





/* ========================================

common

======================================== */
.hl01{
	color: #002c54;
	max-width: 900px;
	margin: 0 auto;
	margin-bottom: 30px;

	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items:center;
	align-items:center;
}

.hl01 .en{
	line-height: 1;
	display: block;
	font-size: 2.8rem;
	letter-spacing: 0.04em;
	margin-right: 12px;
}

.hl01 .jp{
	line-height: 1;
	display: block;
	font-size: 1.15em;
	letter-spacing: 0.08em;
	padding-bottom: 4px;
}

.btn a{
	color: #002c54;
	font-size: 1.4rem;
	text-align: center;
	width: 318px;
	height: 60px;
	display: block;
	margin: 0 auto;
	padding-top: 18px;
	border: 1px solid #002c54;
}

.btn a span{
	color: inherit;
	padding-left: 19px;
	background: url(../img/ico_btn.gif) no-repeat 0 4px;
	background-size: 12px;
	/*transition: all .2s;*/
}


@media screen and ( min-width: 801px ) {
	.btn a:hover{
		color: #fff;
		background: #002c54;
	}
	.btn a:hover span{
		background-image: url(../img/ico_btn_on.gif);
	}
}


@media screen and ( max-width: 800px ) {
	#contents{
		position: relative;
		z-index: 100;
	}
	.hl01{
		text-align: center;
		max-width: none;
		margin: 0 auto;
		margin-bottom: 40px;

		display:block;
	}
	.hl01 .en{
		margin: 0 0 8px;
	}

	.hl01 .jp{
		font-size: 1.2em;
		padding-bottom: 0;
	}
	.btn a{
		font-size: 1.4rem;
		width: 84%;
		max-width: 316px;
	}

}






/* ========================================

top_bnr

======================================== */
.btn_hakataba{
	margin-bottom: 36px;
	box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.3);
}

.top_bnr{
	width: calc(100% - 80px);
	max-width: 1340px;

	margin: 0 auto;

	display:-webkit-flex;
	display:flex;
	-webkit-align-items:center;
	align-items:center;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}

.top_bnr li{
	max-width: 259px;
}

@media screen and ( min-width: 800px ) {
	.top_bnr li a:hover{
		opacity: 0;
	}
}

.top_bnr li.no1{
	background: url(../img/top_bnr_reverain_on.jpg) no-repeat;
	background-size: contain;
}

.top_bnr li.no2{
	background: url(../img/top_bnr_faam_on.jpg) no-repeat;
	background-size: contain;
}

.top_bnr li.no3{
	background: url(../img/top_bnr_hakataza_on.jpg) no-repeat;
	background-size: contain;
}

.top_bnr li.no4{
	background: url(../img/top_bnr_okura_on.jpg) no-repeat;
	background-size: contain;
}

.top_bnr li.no5{
	background: url(../img/top_bnr_street_on.jpg) no-repeat;
	background-size: contain;
}


@media screen and ( max-width: 800px ) {
	.top_bnr{
		width: 100%;
		text-align: center;
		display:block;
		background: #fff;
	}
	.top_bnr li{
		width: 92%;
		max-width: none;
		margin: 0 auto;
		border-bottom: 1px solid #9cacbb;
		background: none !important;
	}
	.top_bnr li a{
		display: block;
		padding: 15px 0;
	}
}




/* ========================================

wave

======================================== */
.wave{
	width: 100%;
	height: 50px;
	margin: 0 auto;
	margin-top: 102px;
	margin-bottom: 146px;
	position: relative;
}

.wave::before,
.wave::after{
	width: 20%;
	max-width: 300px;
	height: 40px;
	content: '';
	display: block;
	position: absolute;
	top:0;
	background-image: url(../img/bg_mask.png);
	background-repeat: repeat-y;
	background-size: 100%;
	z-index: 10;
}

.wave::before{
	left: 0;
}

.wave::after{
	right: 0;
	background-image: url(../img/bg_mask2.png);
}

.wave_inner::before,
.wave_inner::after{
	width: 100%;
	height: 80px;
	content: '';
	position: absolute;
	z-index: 2;
	top: 0;
}

.wave_inner::before{
	background:url(../img/bg_wave01.png) repeat-x 0 0;
	background-size: 654px;
    -webkit-animation: wave1 18s linear infinite;
    animation: wave1 18s linear infinite;
}

.wave_inner::after{
	top: 6px;
	z-index: 3;
	background:url(../img/bg_wave02.png) repeat-x 0 0;
	background-size: 560px;
    -webkit-animation: wave2 8s linear infinite;
    animation: wave2 8s linear infinite;
}

@-webkit-keyframes wave1 {
    from {
        background-position: 0  0;
    }
    to {
        background-position: -654px 0;
    }
}
@keyframes wave1 {
    from {
        background-position: 0  0;
    }
    to {
        background-position: -654px 0;
    }
}

@-webkit-keyframes wave2 {
    from {
        background-position: 0  0;
    }
    to {
        background-position: 560px 0;
    }
}
@keyframes wave2 {
    from {
        background-position: 0  0;
    }
    to {
        background-position: 560px 0;
    }
}



@media screen and ( max-width: 800px ) {
	.wave{
		margin: 0 auto;
		margin-top: 83px;
		margin-bottom: 70px;
	}
	.wave::before,
	.wave::after{
		display: none;
	}
}






/* ========================================

box_feed

======================================== */
.box_feed{
	padding-bottom: 134px;
}

.box_feed .list_feed{
	margin-bottom: 50px;
}

.box_feed .list_feed .item_feed{
	width: 167px;
	margin: 0 8px;
}
.box_feed .list_feed .list_feed_inner{
	/*width: 549px;*/

	display:-webkit-flex;
	display:flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	-webkit-justify-content:center;
	justify-content:center;
}

.box_feed .list_feed .item_feed a{
	display: block;
}

.box_feed .list_feed .item_feed .date{
	color: #646464;
	font-size: 1.2rem;
	text-align: center;
	margin: 14px 0 4px;
}

.box_feed .list_feed .item_feed .tit{
	color: #002c54;
	font-size: 1.4rem;
}

.box_feed .list_feed .item_feed .img{
	overflow: hidden;
	position: relative;
	transition: all .2s;
	background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

/*.box_feed .list_feed .item_feed .img img{
	width: auto;
	max-width: none;
	height: 100%;
	position: absolute;
	top:0;
	left: 50%;
	transform: translate(-50%, 0);
}*/

.box_feed .list_feed .item_feed .img::before{
	display: block;
	content: '';
	padding-top: 100%;
}

.box_feed .list_feed .item_feed a:hover .img{
	opacity: 0.8;
}

.box_feed .list_feed .item_feed a:hover .tit{
	text-decoration: underline;
}

@media (max-width:1100px){
	
}


@media (max-width:800px){
	.box_feed{
		padding-bottom: 110px;
	}
	.box_feed .list_feed{
		width: calc(100% - 40px);
		width: 100%;
		margin: 0 auto;
		margin-bottom: 32px;
		padding-bottom: 40px;
	}
	.box_feed .list_feed .list_feed_inner{
		display:-webkit-flex;
		display:flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		/*-webkit-justify-content:center;
		justify-content:center;*/
		-webkit-justify-content:space-between;
		justify-content:space-between;
	}
/*	.box_feed .list_feed_inner:nth-child(odd){
		-webkit-flex-wrap: wrap-reverse;
		flex-wrap: wrap-reverse;
		-webkit-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}
	.box_feed .list_feed_inner:nth-child(odd) .item_feed:first-of-type{
		order: 3;
	}
	.box_feed .list_feed_inner:nth-child(odd) .item_feed:nth-of-type(2){
		order: 2;
	}
	.box_feed .list_feed_inner:nth-child(odd) .item_feed:nth-of-type(3){
		order: 1;
	}*/
	.box_feed .list_feed .item_feed{
		width: calc((100% - 60px) / 2);
		margin: 0 20px 40px 20px;
	}
	.box_feed .list_feed .item_feed:nth-child(odd){
		margin-right: 0;
	}
	.box_feed .list_feed .item_feed .date{
		font-size: 1.15rem;
	}
	.box_feed .list_feed .item_feed .tit{
		font-size: 1.35rem;
	}
	.box_feed .slick-dots{
		width: 100%;
		left: auto;
		transform: translate(0, 0);
	}
}






/* ========================================

box_diary

======================================== */
.box_diary{
	padding-bottom: 134px;
}

.box_diary .list_diary{
	max-width: 924px;
	margin: 0 auto;
	margin-bottom: 60px;

	display:-webkit-flex;
	display:flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}

.box_diary .nojs .slick-list{
	width: 100% !important;
}

.box_diary .list_diary .slick-list .item_diary{
	width: 46.2%;
	max-width: 427px;
	margin: 0 12px;
}

.box_diary .list_diary .list_diary_inner{
	display:-webkit-flex;
	display:flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}

.box_diary .list_diary .item_diary a{
	display: block;
}

.box_diary .list_diary .item_diary .box_img{
	position: relative;
	margin-bottom: 24px;
}

.box_diary .list_diary .item_diary .img{
	transition: all .2s;
	position: relative;
	padding-top: 47.3%;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
}

.box_diary .list_diary .item_diary .date{
	color: #002c54;
	font-size: 1.5rem;
	text-align: center;
	line-height: 1;
	width: 70px;
	height: 110px;
	padding-top: 10px;
	position: absolute;
	right: -13px;
	top: -10px;
	background: #fff;
}

.box_diary .list_diary .item_diary .m,
.box_diary .list_diary .item_diary .d{
	font-size: 2.4rem;
	letter-spacing: 0.04em;
	width: 44px;
	display: block;
	margin: 0 auto;
	margin-top: 6px;
	padding-top: 6px;
	border-top: 2px solid #002c54;
}

.box_diary .list_diary .item_diary .sub{
	color: #fff;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	line-height: 1.4;
	display: inline-block;
	margin-right: 12px;
	padding: 2px 8px 3px;
	position: absolute;
	bottom: -18px;
	left: -12px;
	background: #002c54;
}

.box_diary .list_diary .item_diary .tit{
	color: #002c54;
	font-size: 3.0rem;
	letter-spacing: 0.04em;
	line-height: 1.4;
	margin-bottom: 12px;
}

.box_diary .list_diary .item_diary .txt{
	color: #646464;
	font-size: 1.4rem;
	line-height: 1.7;
}


@media (min-width:801px){
	.box_diary .list_diary .item_diary a:hover .img{
		opacity: 0.8;
	}
	.box_diary .list_diary .item_diary a:hover .tit{
		color: #00396a;
		text-decoration: underline;
	}
	.box_diary .list_diary .item_diary a:hover .sub{
		background: #00396a;
	}
}





@media (max-width:800px){
	.box_diary .list_diary{
		display: block;
		margin-bottom: 30px;
	}
	.box_diary .list_diary .list_diary_inner{
		flex-direction: column;
	}
	.box_diary .list_diary .slick-list .item_diary{
		width: auto;
		max-width: 100%;
		margin: 0 0 40px 0;
	}
	.box_diary .list_diary .item_diary .box_img{
		margin-bottom: 18px;
	}
	.box_diary .list_diary .item_diary .img img{
		width: 100%;
	}
	.box_diary .list_diary .item_diary .date{
		font-size: 1.2rem;
		width: 58px;
		height: 90px;
		right: 30px;
	}
	.box_diary .list_diary .item_diary .m,
	.box_diary .list_diary .item_diary .d{
		font-size: 2.0rem;
		width: 35px;
		margin-top: 4px;
		padding-top: 5px;
	}
	.box_diary .list_diary .item_diary .sub{
		font-size: 1.3rem;
		padding: 2px 8px;
		bottom: -12px;
		left: 30px;
	}
	.box_diary .list_diary .item_diary .tit{
		font-size: 2.5rem;
		width: calc(100% - 60px);
		margin: 0 auto;
		margin-bottom: 8px;
	}
	.box_diary .list_diary .item_diary .txt{
		font-size: 1.2rem;
		width: calc(100% - 60px);
		margin: 0 auto;
	}
	.slick-dots{
		text-align: center;
		top: auto;
		bottom: 0;
	}
}






















