@charset "utf-8";
/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/

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;
}
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;
}
/*====================*/

*{
	position:relative;
	box-sizing:border-box;
}

body,select,textarea,input{
	font-family: 游ゴシック,メイリオ,Meiryo,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,Osaka,ＭＳ\ Ｐゴシック,MS PGothic,sans-serif;
	font-size:16px;
	line-height:1.5;
	letter-spacing:0.02em;
	font-weight: 500;
	color:#333;
}

/*記事内の画像*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em !important;
	margin-bottom: .5em !important;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em !important;
	margin-bottom: .5em !important;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
}

table.aligncenter{
	display:table;
}

table.flex_table.aligncenter,
table.flex_table.alignright,
table.flex_table.alignleft{
	float:none;
}

.btn,
.btn a{
	display:inline-block;
	padding:.3em 1em;
	color:#fff;
	text-decoration:none;
	background:#004785;
	border:1px solid #004785;
	border-radius:5px;
	transition:.2s;
	cursor:pointer;
}

p.btn{
	display:block;
	padding:0;
	background:transparent;
	cursor:normal;
	border:0;
}

.btn:hover,
.btn a:hover{
	color:#004785;
	background:#fff;
}

a{color:#004785}

/* head */
#header{
	display:flex;
	//flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	margin:auto;
	max-width:1500px;
}

#header #title{
	width:660px;
}

#header h1{
	padding:.5em 0;
	height:100px;
}

#header h1 a{
	display:block;
	padding:.5em;
	max-width:630px;
	height:100%;;
	text-indent:-9999px;
	background-image:url(./img/head_logo.svg);
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
}

/* main_menu */
#main_menu{
}

#main_menu ul{
	display:flex;
	align-items:center;
	padding:0 1em;
	justify-content:flex-end;
	margin:auto;
}

#main_menu ul li{
}

#main_menu ul li a{
	display:block;
	padding:.8em 1.5em;
	color:#004785;
	font-weight:bold;
	text-align:center;
	text-decoration:none;
	transition:.2s;
	white-space: nowrap;
}

#main_menu ul li a:before{
	display:block;
	content:'';
	margin-bottom:.2em;
	width:100%;
	height:30px;
	background-image:url(./img/cycle_icon.svg);
	background-size:contain;
	background-repeat:no-repeat;
	background-position:-10px center;
	opacity:0;
}

#main_menu ul li.carrent a:before{
	background-position:center;
	opacity:1;
}

#main_menu ul li:not(.carrent) a:hover:before{
	animation: slideinleft .2s linear normal;
	animation-fill-mode: forwards;
}

@keyframes slideinleft {
	0% {
		opacity:0;
	}
	100% {
	background-position:center;
		opacity:1;
	}
}


#main_menu ul li.contact a{
	color:#fff;
	background:#0D8DE2;
	border:1px solid #0D8DE2
}

#main_menu ul li.contact a:hover{
	color:#0D8DE2;
	background:#fff
}

#main_menu ul li.contact a:before{
	display:none;
}

/* submenu */
#sub_menu{
	display:flex;
	justify-content:flex-end;
	margin:auto;
	padding:1em;
	max-width:1500px;
}

#sub_menu ul{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:0.5em;
	background:#004785;
	border-radius:10px;
	box-shadow:2px 2px 5px #666
}

#sub_menu ul li{
	padding:0 8px;
	border-left:2px solid #fff;
}

#sub_menu ul li:first-of-type{
	border-left:0;
}

#sub_menu ul li a{
	display:block;
	padding:.5em 2em;
	color:#fff;
	width:100%;
	font-size:120%;
	font-weight:bold;
	text-align:center;
	text-decoration:none;
	transition:.2s;
	white-space: nowrap;
	border-radius:10px;
}

#sub_menu ul li a:hover{
	background-color:#fff;
	color:#004785;
}

#sub_menu ul li a:before{
	display:block;
	content:'';
	margin-left:-5%;
	margin-bottom:.2em;
	width:110%;
	height:70px;
	background-image:url(./img/sub_menu1_icon.svg);
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
}


#sub_menu ul li:nth-child(2) a:before {
    background-image: url(./img/sub_menu2-1_icon.svg);
    background-size: 84%;
}

#sub_menu ul li:nth-child(3) a:before{
	margin-left:-15%;
	width:130%;
	background-image:url(./img/sub_menu2_icon.svg);
}

#sub_menu ul li:nth-child(4) a:before{
	background-image:url(./img/sub_menu3_icon.svg);
	background-size:80%;
}

#sub_menu ul li:nth-child(5) a:before{
	background-image:url(./img/sub_menu4_icon.svg);
}

#sub_menu ul li a:hover:before{
	background-image:url(./img/sub_menu1_icon_hov.svg);
}

#sub_menu ul li:nth-child(2) a:hover:before{
	background-image:url(./img/sub_menu2-1_icon_hov.svg);
}

#sub_menu ul li:nth-child(3) a:hover:before{
	background-image:url(./img/sub_menu2_icon_hov.svg);
}

#sub_menu ul li:nth-child(4) a:hover:before{
	background-image:url(./img/sub_menu3_icon_hov.svg);
}

#sub_menu ul li:nth-child(5) a:hover:before{
	background-image:url(./img/sub_menu4_icon_hov.svg);
}

/* top read */

#top_read{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin:auto;
	padding:1em;
	max-width:1500px;
}

#top_read_text p{
	color:#0D8DE2;
	font-size:150%;
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}

#menberlink p{
	padding-right:50px;
}

#menberlink p a{
	display:block;
	padding:1em 2em;
	color:#004785;
	font-weight:bold;
	text-decoration:none;
	border:2px solid #004785;
	border-radius:10px;
	transition:.2s;
}

#menberlink p a:hover{
	color:#fff;
	background:#004785;
}

#menberlink p a:after{
	position:absolute;
	display:block;
	content:'';
	margin:auto;
	width:70px;
	height:15px;
	background-image:url(./img/arrow_right.svg);
	background-repeat:no-repeat;
	background-size:contain;
	background-position:center;
	top:0;
	bottom:0;
	right:-50px;
}


/* main_image */
#main_image p{
	padding-top:.7%;
	width:calc(100vw / 3) !important;
	height:0;
	background-size:cover;
	background-position:center;
}

#main_image p a{
	position:absolute;
	display:block;
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:9999;
}

#main_image_wrap .bx-wrapper{
	border:0;
	box-shadow:none;
}


/* news */
#news_wrap{
	display:flex;
	justify-content:center;
	margin:0 auto 3em;
	padding:1em;
	max-width:1500px;
}

#newslist{
	display:flex;
	flex-direction:column;
	padding:1em;
	width:75%;
	border:2px solid #004785;
	border-radius:10px;
}

#newslist h3{
	color:#004785;
	font-size:120%;
	text-align:center;
}

#newslist ul{
	display:flex;
	flex-direction:column;
	margin-bottom:1.5em;
	padding:0 2em;
}

#newslist ul li{
	display:flex;
	border-bottom:1px dotted #ccc;
}

#newslist ul li span{
	padding:1em;
}

#newslist ul li .date{
	color:#0D8DE2;
	font-weight:bold;
	min-width:11em;
}

#newslist .more{
	padding-right:2em;
	text-align:right;
}

#pickup{
	display:flex;
	flex-direction:column;
	justify-content:center;
	margin-left:2%;
	padding:1em;
	width:23%;
	border:2px solid #004785;
	border-radius:10px;
}

#pickup .thumb{
	margin-bottom:.5em;
	width:100%;
	height:250px;
	text-indent:-9999px;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center;
}

#pickup p{
	color:#004785;
	font-weight:bold;
}

#pickup p:last-child{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
}

#pickup p:last-child a{
	display:block;
	width:100%;
	height:100%;
	text-indent:-9999px;	
	transition:.2s;
}

#pickup p:last-child a:hover{
	background:rgba(255,255,255,0.5);
}

/* main */
#main{
	padding:1em;
	margin:auto;
	max-width:1200px;
}

/* top content */
#about_wrap{
	display:flex;
	align-items:center;
	margin:0 auto 3em;
}

#about_wrap > div{
	width:50%;
}

#about_image p{
	min-height:400px;
	text-indent:-9999px;
	background-size:cover;
	background-position:right bottom
}

#about_text{
	max-width:750px;
}
#about_text h3{
	padding:1em 3em;
	color:#004785;
	font-size:120%;
}

#about_text p{
	padding:1em 3em;
	color:#004785;
	font-size:100%;
	font-weight:bold;
}

#about_text p.btn{
	padding:0;
}

#about_text .more{
	text-align:right;
}

#cycle_list_wrap{
	margin-bottom:1.5em;
	background-color:rgba(255,255,255,0.5);
	background-image:url(./img/main_image3.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center bottom;
}


#cycle_list_wrap:before{
	display:block;
	position:absolute;
	content:'';
	width:100%;
	height:100%;
	background-color:rgba(255,255,255,.7);
	top:0;
	left:0;
	z-index:1;
}

#cycle_list_wrap:after{
	display:block;
	position:absolute;
	content:'';
	width:100%;
	height:100%;
	background-color:rgba(89,171,242,.7);
	mix-blend-mode: multiply;
	top:0;
	left:0;
	z-index:5;
}

#cycle_list{
	margin:auto:
	max-width:1500px;
	z-index:10;
}

#cycle_list h3{
	padding:1em 3em;
	color:#fff;
	font-size:120%;
	text-align:center;
}

#cycle_list h4{
	margin-bottom:.5em;
	color:#03035B;
	font-size:120%;
}

#cycle_list > p{
	padding:1em 3em;
	color:#fff;
	font-size:100%;
	font-weight:bold;
	text-align:center;
}

#cycle_list table.flex_table,
#cycle_list table.flex_table > tbody{
	display:block;
	margin:auto;
	max-width:1500px;
	background:transparent;
	border-top: 0;
	border-left: 0;
	border:0;
}

#cycle_list table.flex_table > tbody > tr{
	display:flex;
	justify-content:center;
}

#cycle_list table.flex_table > tbody > tr > td{
	display:block;
	padding:1em;
	width:auto !important;
	border-right: 0;
	border-bottom: 0;
	background-color:#fff;
}

#cycle_list table.flex_table > tbody > tr > td table.flex_table td{
	padding:.5em;
}

#cycle_list table.flex_table.aligncenter > tbody > tr{
	justify-content:center;
}

#cycle_list table.flex_table.aligncenter > tbody > tr > td{
	width:auto !important;
}

#cycle_list table.flex_table.alignright > tbody > tr{
	justify-content:flex-end;
}

#cycle_list table.flex_table.al_center > tbody > tr{
	align-items:center;
}

#cycle_list table.flex_table.eqwidth > tbody > tr > td{
	width:31.3333% !important;
	margin:1%;
}

#cycle_list table .alignright{
	margin-bottom:0 !important;
}

#link_list{
	margin:0 auto 1.5em;;
	max-width:1500px;
}

#link_list h3 {
    color: #004785;
    font-size: 120%;
    text-align: center;
}

#link_list ul{
	display:flex;
	flex-wrap:wrap;
}

#link_list ul li{
	display:flex;
	margin:1%;
	width:23%;
}

#link_list ul li a{
	display:flex;
	align-items:center;
	padding:1em;
	width:100%;
	height:100%;
	color:#fff;
	text-decoration:none;
	background: #004785;
	border: 1px solid #004785;
	transition:.2s;
}

#link_list ul li a:hover{
	color:#004785;
	text-decoration:none;
	background: #fff;
}

/* page */

#page #sub_menu{
	padding: 0em 1em;
}

#page #sub_menu ul{
	margin-bottom:10px;
}


#page #sub_menu ul li a{
	padding: .2em 2em;
	font-size:100%;
}

#page #sub_menu ul li a:before{
	display:none;
}

#sub_menu ul li.carrent a{
	background-color: #fff;
	color: #004785;
}

#page #cont{
	margin:0 auto 2em;
	padding:0 1em;
	max-width:1200px;
	min-height:500px;
	background:#fff;
	overflow:hidden;
}


#page #breadcrumb{
	margin:auto;
	padding:1em;
	max-width:1500px;
}

#page #breadcrumb ul{
	display:flex;
	margin-bottom:0;
	font-size:90%;
	justify-content:flex-start;
}

#page #breadcrumb ul li{
	margin-left: .5em;
	margin-bottom:0;
	padding-left: 0;
}

#page #breadcrumb ul li:after{
	margin-left: .5em;
	content: '＞';
}

#page #breadcrumb ul li:last-child:after{
	content:'';
}

#page #breadcrumb ul li:before{
	display:none;
}

#page #sns_bookmark{
	margin-bottom:1em;
	text-align:right;
}

#page #sns_bookmark *{
	vertical-align: middle;
}

#page #sns_bookmark > div{
	display:inline-block;
	line-height: 1;
}

#page h2{
	clear:both;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	padding:2em .5em;
	margin:0 auto 1.5em;
	color:#004785;
	font-size:200%;
	background-image:url(./img/h2_bg.jpg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
}

#page h2:before {
    display: block;
    content: '';
    margin-bottom: .2em;
    width: 100%;
    height: 60px;
    background-image: url(./img/cycle_icon.svg);
    background-size: contain;
    background-repeat: no-repeat;
background-position: center;
	z-index:10;

}

#page h2:after{
	position:absolute;
	display:block;
	content:'';
	width:100%;
	height:100%;
	background:rgba(255,255,255,.7);
	top:0;
	left:0;
	z-index:1;
}

#page h2 span{
	z-index:10;
}

#page #cont h3{
	clear:both;
	padding:.5em;
	margin:0 auto 1.5em;
	color:#0D8DE2;
	font-size:150%;
}

#page #cont h4{
	clear:both;
	padding:.5em .5em .5em 50px;
	margin:0 auto 1.5em;
	color:#004785;
	font-size:150%;
	background-image:url(./img/h4_bg.svg);
	background-repeat:no-repeat;
	background-position:left center;
	background-size:40px;
}

#page #cont h5{
	clear:both;
	padding:.2em .5em .2em 25px;
	margin:0 auto 1.5em;
	color:#fff;
	font-size:150%;
	background-color:#004785;
	background-image:url(./img/h5_bg.svg);
	background-repeat:no-repeat;
	background-position:-20px center;
	background-size:40px;
}

#page #cont h6{
	clear:both;
	padding:.2em .5em .2em 25px;
	margin:0 auto 1.5em;
	color:#004785;
	font-size:120%;
	background-color:#87CEFE;
	background-image:url(./img/h6_bg.svg);
	background-repeat:no-repeat;
	background-position:-20px center;
	background-size:40px;
}

#page #cont p{
	margin-bottom:1.5em;
}

#page #cont > p{
	margin-left:auto;
	margin-right:auto;
}

#page #cont a:hover{
	text-decoration:none;
}

#page #cont .btn a{
	color:inherit;
	text-decoration:inherit;
}

#page #cont ul{
	margin-bottom:1.5em;
}

#page #cont > ul{
	margin-left:auto;
	margin-right:auto;
}

#page #cont ul li{
	margin-left:1.5em;
	margin-bottom:.5em;
}

#page #cont ul li:before {
	display: block;
	position: absolute;
	content: '';
	margin: auto;
	width: .5em;
	height: .5em;
	background-color: #004785;
	border-radius:25px;
	top:.5em;
	left: -1.5em;
}

#page #cont ol{
	margin-bottom:1.5em;
}


#page #cont > ol{
	width:80%;
	margin-left:auto;
	margin-right:auto;
}


#page #cont ol li{
	margin-left:1.5em;
	margin-bottom:.5em;
	counter-increment: olNum1;

}

#page #cont ol li:before {
	display: block;
	position: absolute;
	content: '';
	margin: auto;
	width: 1em;
	height: 1em;
//	background-color: #004785;
	border-radius:5px;
	top:.25em;
	left: -1.5em;
}

#page #cont ol > li:after{
	position: absolute;
	display:flex;
	justify-content:center;
	align-items:center;
	width: 1em;
	height: 1em;
	border-radius: 25px;
	color: #004785;
	top: .25em;
	left: -1.5em;
	content: counter(olNum1);
}

#page #cont table{
	margin-bottom:1.5em;
	border-top:1px solid #004785;
	border-left:1px solid #004785;

}

#page #cont table th,
#page #cont table td{
	padding:.5em;
	border-right:1px solid #004785;
	border-bottom:1px solid #004785;
	color:#004785;
}

#page #cont table tr > th:first-of-type,
#page #cont table tr > td:first-of-type{
}

#page #cont table.flex_table,
#page #cont table.flex_table > tbody{
	display:block;
	max-width:100%;
	background:transparent;
	border-top: 0;
	border-left: 0;
	border:0;
}

#page #cont table.flex_table > tbody > tr{
	display:flex;
}

#page #cont table.flex_table > tbody > tr > td{
	display:block;
	padding:1em;
	width:auto !important;
	border-right: 0;
	border-bottom: 0;
}

#page #cont table.flex_table > tbody > tr > td table.flex_table td{
	padding:.5em;
}

#page #cont table.flex_table.aligncenter > tbody > tr{
	justify-content:center;
}

#page #cont table.flex_table.aligncenter > tbody > tr > td{
	width:auto !important;
}

#page #cont table.flex_table.alignright > tbody > tr{
	justify-content:flex-end;
}

#page #cont table.flex_table.al_center > tbody > tr{
	align-items:center;
}

#page #cont table.flex_table.eqwidth > tbody > tr > td{
	width:100% !important;
}

/* store list */

#shibucat{
	text-align:right;
}

#shibucat a.btn{
	margin:1%;
	cursor:pointer;
}

#menberlist_wrap{
	display:flex;
	flex-wrap: wrap;
	//min-height:500px;
	transition:.2s;
}

.storebox{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	margin:1%;
	padding:1em;
	width:23%;
	border:1px solid #004785;
	border-radius:5px;
	box-shadow:2px 2px 5px #aaa;
}

#page #cont .storebox > *{
	width:100%;
	margin-bottom:.5em;
}

#page #cont .storebox h4{
	padding:.5em 0;
	font-size:120%;
	background-image:none;
}

.storeimage{
	padding-top:150px;
	width:100%;
	height:0;
	text-indent:-9999px;
	background-repeat:no-repeat;
	background-size:contain;
	background-position:center;

}

#page #cont .storebox > :last-child{
	text-align:right;
}

.box_inner {
	position: relative;
	width: 100%;
	height: 100%;
	border:10px solid #d4d4d4;
	border-radius:5px;
}

#page #cont ul.box_load{
	margin:auto;
	width: 100%;
	height: 100%;
}

 #page .box_load #cont{
	margin:auto;
	min-height:700px;
}

.arrows {
	display: table;
	width: 100%;
	position: absolute;
	margin: 0;
	padding: 0;
	list-style-type: none;
	top: 50%;
}

.arrow_left {
	display: table-cell;
	width: 50%;
	padding-left: 5px;
	box-sizing: border-box;
}

#page #cont ul li.arrow_left:before,
#page #cont ul li.arrow_rigth:before,
#page #cont ul li.active:before{
	display:none;
}

.box_load_inner {
	display: block;
}

.arrow_rigth {
	display: table-cell;
	width: 50%;
	text-align: right;
	padding-right: 5px;
	box-sizing: border-box;
}

.arrow_span {
	font-weight: bold;
	cursor: pointer;
	-webkit-transition: .3s;
	transition: .3s;
}

.arrow_span:hover {
	color: #f00;
}

.close {
	position: absolute;
	right: 25px;
	top: 10px;
	cursor: pointer;
padding: .3em 1em;
    color: #fff;
    text-decoration: none;
    background: #004785;
    border: 1px solid #004785;
    border-radius: 5px;
    transition: .2s;
}

.box_cover {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: -1;
	opacity: 0;
	-webkit-transition: .3s;
	transition: .3s;
}

.box_cover.active {
	z-index: 10;
	opacity: 1;
}

.box {
	position: fixed;
	width: 90%;
	max-width: 600px;
	height: 90%;
	max-height: 700px;
	top: 50%;
	left: 50%;
	padding: 10px;
	box-sizing: border-box;
	z-index: -1;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: .3s;
	transition: .3s;
	transform: translate(-50%, -50%);
	overflow: hidden;
}

.box.active {
	z-index: 15;
	opacity: 1;
	visibility: visible;
}

#page #cont ul.box_load>li {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    overflow-y: scroll;
	margin-left: 0;
	margin-bottom: 0;
}

.box_load_inner {
	padding: 10px 30px;
	box-sizing: border-box;
}

.box_load_cover {
	width: 100%;
	height: 100%;
	position: relative;
	top: 0;
	left: 0;
	overflow-y: auto;
	overflow-x: hidden;
}

#page .su-spoiler-title{
	font-size:inherit;
}

/* form */
#page #cont form li{
	display:flex;
	margin-bottom:1em;
	border-bottom:1px dotted #ccc;
}

#page #cont form li > span:first-of-type{
	width:200px;
}

#page #cont form li p{
	display:flex;
	align-items:center;
}


#page #cont form label{
	cursor:pointer;
}


#page #cont form input,
#page #cont form textarea{
	margin:0 .5em;
	padding:.5em 1em;
	border:1px solid #ccc;
	border-radius:5px;
}

#page #cont select{
	margin:0 .5em;
	padding:.5em 1em;
	border:1px solid #ccc;
	border-radius:5px;
}

#page #cont form input[type=submit],
#page #cont form input[type=reset],
#page #cont form input[type=button],
#page #cont form button{
	position:relative;
	display:block;
	margin:0 auto 1em;
	padding:.5em 2em;
	color:#fff;
	font-size:120%;
	font-weight:bold;
	background-color: #004785;
	border-radius: 5px;
	border:0;
	cursor:pointer;
	transition:.2s;
}

#page #cont form input[type=submit]:disabled{
	background-color:#ccc;
}

#page #cont form input[type=submit]:hover
#page #cont form input[type=reset]:hover,
#page #cont form button:hover{
	background-color:#718692;
	transition:.2s;
}

#page #cont form input[type=reset]{
	position:relative;
	display:inline-block;
	margin:auto;
	padding:.5em 1em;
	width:auto;
	color:#fff;
	font-size:100%;
	background-color:#666;
	text-align:center;
	cursor:pointer;
	transition:.2s;
}

#page #cont form input[type=reset]:hover{
	background-color:#aaa;
	transition:.2s;
}

/* footer */
#footer_wrap{
	padding:1em 1em 0;
	background:#004785;
}

#footer_wrap #footer{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	margin:auto;
	max-width:1500px;
}

#footer_wrap #foot_add p{
	margin-bottom:.5em;
	width:530px;
	height:70px;
	color:#fff;
	text-indent:-9999px;
	background-image:url(./img/footlogo.svg);
	background-repeat:no-repeat;
	background-size:contain;
	background-position:center;
}

#footer_wrap p{
	color:#fff;
}

#footer_wrap ul{
	display:flex;
}

#footer_wrap ul li{
	padding:.5em;
}

#footer_wrap a{
	color:#fff;
}

#footer_wrap ul li a:hover{
	text-decoration:none;
}



#copyright{
	padding:.5em;
	text-align:center;
	color:#fff;
	font-size:90%;
}

/* pagetop */
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 10px;
  bottom: 50px;
  background: rgba(29, 159, 214, 0.7);
  border-radius:25px;
  opacity: 0;
  transition:.2s;
  z-index:999;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f062';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  line-height:1;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}


#sp_toggle,
#sp_menu{
	display:none;
}


@media screen and (max-width: 1100px){

#header{
	flex-direction:column
}

#sub_menu{
	justify-content:center;
}

#sub_menu ul li a{
	font-size:100%;
}

#top_read{
	flex-wrap:wrap;
}


#cycle_list table.flex_table > tbody > tr{
	flex-wrap:wrap;
}

#cycle_list table.flex_table.eqwidth > tbody > tr > td{
	    width: 48% !important;
}

.storebox{
	width:31.3333%;
}

}

@media screen and (max-width: 700px){


.alignright{
	float:none;
	clear: both;
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
}

.alignleft{
	float:none;
	clear: both;
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
}

.alignright{
	float:none;
	clear: both;
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
}


#header #title{
	width:90%;
}

#main_menu,
#sub_menu{
	display:none;
}

#sp_toggle{
	position:relative;
	display:inline-block;
	padding:1em;
	font-size:100%;
	color:#004785;
	text-align:center;
	font-weight:bold;
	box-sizing:border-box;
}

#sp_toggle #sp_toggle_icon{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  margin: -1px 0 0 -2.5em;
  background: #004785;
  transition: .2s;
}

#sp_toggle #sp_toggle_icon:before,
#sp_toggle #sp_toggle_icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 2px;
  background: #004785;
  transition: .3s;
}

#sp_toggle #sp_toggle_icon:before{
  margin-top: -6px;
}

#sp_toggle #sp_toggle_icon:after{
  margin-top: 4px;
}

#sp_toggle #sp_toggle_icon.sp_close{
  background: transparent;
}

#sp_toggle #sp_toggle_icon.sp_close:before, #panel-btn .close:after{
  margin-top: 0;
}

#sp_toggle #sp_toggle_icon.sp_close:before{
  margin-top: -1px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

#sp_toggle #sp_toggle_icon.sp_close:after{
  margin-top: -1px;
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}


#sp_menu{
	display:block;
	width: 100%;
	text-align:center;
}

#sp_menu ul{
	display:none;
	flex-wrap:wrap;
	padding:0 1em;
	width:100%;
	overflow:hidden;
}

#sp_menu ul > li{
	float:left;
	width:50%;
}

#sp_menu ul > li a{
	display:block;
	margin-bottom:1.5em;
	font-weight:bold;
	text-decoration:none;
}

#menberlink{
	display:none;
}

#main_image p{
	padding-top: 1.5%;
	width:100vw !important;
}

#news_wrap{
	flex-direction:column;
}

#newslist{
	margin:1%;
	width:98%;
}

#newslist ul{
	padding:0;
}

#newslist ul li{
	flex-direction:column;
}

#newslist ul li .date{
	padding: 1em 0em .5em;
}

#newslist ul li .text{
	padding:0em 0em 1em;
}

#pickup{
	margin:1%;
	width:98%;
}

#about_wrap{
	flex-direction:column;
}

#about_wrap > div{
	width:100%;
}

#about_image p{
	min-height:250px;
}

#about_text h3{
	padding:1em 2em;

}

#about_text p{
	padding:0 2em;
}

#cycle_list table.flex_table.eqwidth > tbody > tr > td{
	width:98% !important;
}

#link_list ul li{
	width:48%;
}

/* page */
#page h2{
	padding: 1em .5em;
	font-size: 150%;
}

#page h2:before{
	height:50px;
}

#page img{
	max-width:100%;

}

#page table.flex_table.eqwidth > tbody > tr > td,
#page table.flex_table.eqwidth > tbody > tr > th{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	flex-direction:column;
	width:auto !important;
}

#page #cont table{
	width:100%;
	height:auto;
}

#page #cont table th,
#page #cont table td{
	display:block;
	width:100% !important;
	height:auto !important;
}

#page #cont table th{
   background:#004785;
    border-bottom: 1px solid #004785;
    color: #fff;
}

#page #cont table.flex_table.al_center > tbody > tr{
	flex-wrap:wrap;
}

#page table.flex_table > tbody > tr{
	flex-wrap:wrap;
}

#page #cont table.flex_table.eqwidth > tbody > tr > td{
	padding: 1em 0;

}

#page table.flex_table.eqwidth > tbody > tr > td,
#page table.flex_table.eqwidth > tbody > tr > th{
	width:100% !important;
}

#page .su-spoiler-content{
	padding: 0;
}

#page #cont form li{
	flex-direction:column;
}

#page #cont form li > span:first-of-type{
	width:auto;
}

#page #cont form li:last-child p{
	flex-direction:column;
	align-items:flex-start;
}

#page #cont form #res p{
	display:flex;
	flex-direction:column;
}

#page #cont form input,
#page #cont form textarea,
#page #cont form select{
	max-width:100%;
	margin:0;
}

.storebox{
	width:48%;
}


/* footer */

#footer_wrap #foot_add{
	width:100%;
}

#footer_wrap #foot_add p{
	width:100%;
}

}


@media screen and (max-width: 480px){

#menberlist_wrap{

}

.storebox{
	flex-direction:row;
	flex-wrap: wrap;
	padding: .5em;
	width:98%;
}

#page #cont .storebox .storeimage{
	padding-top: 80px;
	width:30%;
}

#page #cont .storebox h4{
	display:flex;
	align-items:center;
	padding:.5em;
	width:70%;
	font-size:100%;
}

#page #cont .storebox h4.noimage{
	width:100%;
}

#page .box_inner #cont h4{
	font-size:100%;
}

#page .box_inner #cont p{
	margin-bottom:.5em;
}

.box_inner{
	border: 3px solid #d4d4d4;
}

.close{
	right: 0;
	top:auto;
	bottom: 0;
	width: 100%;
	cursor: pointer;
	text-align: center;
	border-top:1px solid #fff;
	border-radius:0;
}

}