@charset "utf-8";

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

body {
	width: 100%; height: 100vh;
	min-height: 100%; display: flex; flex-direction: column;
}

/*~~*/

header {
	width: 100%; height: 100vh; display: table; background: #333;
}

header.none {
	width: 100%; height: auto; display: block;
}

/*~~*/

header.aqua {
	background: linear-gradient(to bottom right, rgba(55,65,110,1), rgba(25,155,195,1));
	/* Android */
	background: -webkit-gradient(linear, left top, right bottom, from(rgba(55,65,110,1)), to(rgba(25,155,195,1)));
}

header.berry {
	background: linear-gradient(to bottom right, rgba(105,55,110,1), rgba(205,100,150,1));
	/* Android */
	background: -webkit-gradient(linear, left top, right bottom, from(rgba(105,55,110,1)), to(rgba(205,100,150,1)));
}

header.grass {
	background: linear-gradient(to bottom right, rgba(55,110,95,1), rgba(105,170,95,1));
	/* Android */
	background: -webkit-gradient(linear, left top, right bottom, from(rgba(55,110,95,1)), to(rgba(105,170,95,1)));
}

header.monochrome {
	background: linear-gradient(to bottom right, rgba(50,50,50,1), rgba(75,75,75,1));
	/* Android */
	background: -webkit-gradient(linear, left top, right bottom, from(rgba(50,50,50,1)), to(rgba(75,75,75,1)));
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#header {
	width: 100%; background-color: #FFF;
}

#header .wrap {
	padding: 20px;
}

/*~~*/

#header .name,
#header .name a {
	font-size: 16px; font-weight: bold; color: #000; text-align: center;
}

#header .logo {
	width: 60%; margin: 10px auto; text-align: center;
}

#header .cont {
	margin: 5px 5px 0; padding: 5px 0 0; border-top: solid 1px #000; font-size: 16px; font-weight: bold; text-align: center;
}

#header .menu {
	margin-top: 7px; font-size: 0; text-align: center;
}

#header .menu li {
	display: inline-block; font-size: 0;
}

#header .menu li:nth-last-of-type(1):before {
	font-size: 14px; content: "・";
}

#header .menu li a {
	font-size: 16px; color: #666;
}

#header .menu li a:hover {
	color: #ff6600;
}

#header .menu li a span {
	font-size: 14px; font-weight: 700; font-family: 'Montserrat', sans-serif; line-height: 140%; color: #666;
}

#header .menu button {
	width: 65%; height: 30px; font-size: 12px; font-weight: bold; line-height: 30px; color: #FFF; border: none; border-radius: 30px; cursor:pointer;
	/**/
	background: linear-gradient(to bottom, #666, #333);
	/* Android */
	background: -moz-linear-gradient(top, #666, #333);
}

/*~~*//*画像を反転*/

#header .logo img.invert {
	-webkit-filter: invert(100%); -moz-filter: invert(100%); -o-filter: invert(100%); -ms-filter: invert(100%); filter: invert(100%);
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

header #pankuzu {
	display: none;
}

/*~~*/

header #cover .wrap {
	padding: 20px;
}

header #cover .cover-theme {
	margin-top: 25px; padding-top: 15px; border-top: 1px solid #FFF;
}

/*~~*/

header #cover .dwnbtn {
	margin-top: 30px; text-align: center;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

nav #nav .wrap {
	padding: 0;
}

nav #nav .menu {
	padding: 10px 20px; background: #000; font-size: 12px; font-weight: bold; color: #FFF; cursor: pointer;
}

nav #nav dt {
	display: none;
}

nav #nav dd {
	padding: 10px 20px; background: #f4f0ec; font-size: 14px; font-weight: bold; color: #000; cursor: pointer; display: none;
}

nav #nav dd:nth-child(even) {
	background: #ded7cf;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

section .wrap {
	padding: 20px;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#footer {
	width: 100%; background-color: #d2c8be; text-align: center;
}

#footer .wrap {
	padding: 10px 0;
}

/*~~*/

#footer .head {
	font-size: 20px; font-weight: 700; font-family: 'Montserrat', sans-serif;
}

#footer .copy {
	font-size: 10px;
}

#footer .mark {
	display: none;
}

#footer .navi {
	margin: 5px 0 0;
}

#footer .navi li {
	padding: 10px; background: #f4f0ec;
}

#footer .navi li:nth-child(even) {
	background: #ded7cf;
}

#footer .navi li a {
	font-size: 14px; color: #000; display: block;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

.topbtn {
	position: fixed; right: 7px; bottom: 35px; z-index: 9000;
}

.topbtn span {
	width: 30px; height: 30px; margin: 0 auto; padding: 3px; border-radius: 30px; background: rgba(0,0,0,0.5); font-size: 24px; color: #FFF; display: block; cursor: pointer;
}

.topbtn span:hover {
	background: rgba(0,0,0,0.75); position: relative; bottom: 7pt;
}

/*~~*/

.dwnbtn span {
	width: 54px; height: 54px; margin: 0 auto; padding: 3px; border-radius: 30px; background: rgba(0,0,0,0.5); font-size: 48px; color: #FFF; display: block; cursor: pointer;
}

.dwnbtn span:hover {
	background: rgba(0,0,0,0.75); position: relative; top: 7pt;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

/*
ポスト時のローダー
*/
.fmload-loader-wrap {
	position:relative; display: block;
}

.fmload-loader-load {
	width:100%; height:100%; background: rgba(0,0,0, 0.35); position:absolute; top:0; left:0;
}

.fmload-loader-load div {
	width: 44px; height: 44px; padding: 2px; border-radius: 50%; background-color: #000; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto;
}

.fmload-loader-load svg path,
.fmload-loader-load svg rect{
	fill: #ff9900;
}

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

@media screen and (min-width: 769px) {
/****************************************************************************************************************************************************************/

header.image { /*ｈｔｍｌに設定・background-image: url(../imgs/bg_cover.jpg);*/
	background-position: center top; background-attachment: fixed; background-repeat: no-repeat; background-size: cover;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

header #header {
	height: 95px;
}

header #header .wrap {
	margin: 0 auto; padding: 0; width: 1000px;
}

/*~~*/

header #header .head {
	width: 100%; height: 80px; padding-top: 10px; display: table;
}

header #header .name, header #header .logo, header #header .menu {
	display: table-cell; vertical-align: middle;
}

header #header .logo {
	width: 30%; /*高さ70px*/
}

header #header .name, header #header .menu {
	width: 35%;
}

header #header .name {
	text-align: left;
}

header #header .menu {
	margin-top: 0; text-align: right;
}

header #header .cont {
	width: 30%; height: 30px; margin: 0 auto -15px; padding: 5px 0; border-top: none; border-radius: 5px; background-color: #FFF; position:relative;
}

header #header .logo img {
	max-height: 70px;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

header #pankuzu {
	width: 70%; min-width: 1000px; margin: 25px auto; padding: 0; display: block;
}

header #pankuzu .wrap {
	padding: 3px 15px; border-radius: 20px; background: rgba(0,0,0,0.7); font-size: 10px; color: #FFF; display: inline;
}

header #pankuzu a {
	font-size: 10px; color: #FFF;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

header #cover {
	width: 100%; height: calc(100% - 100px); margin-top: 0px; padding: 60px 0 60px; display: table;
}

header #cover .cover {
	display: table-cell; vertical-align: middle;
}

header #cover .wrap {
	width: 70%; min-width: 1000px; margin: 0 auto; padding: 0;
}

header #cover .cover-theme {
	padding-top: 25px;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

nav #nav {
	background: #000;
}

nav #nav .wrap {
	width: 70%; min-width: 1000px; margin: 0 auto; padding: 0;
}

nav #nav .menu {
	display: none;
}

nav #nav dl {
	width:100%; padding: 7px 0; text-align: center; display:table; table-layout: fixed;
}

nav #nav dt {
	padding: 10px 5px; background: none; font-size: 12px; font-weight: bold; color: #FF9900; display: table-cell; vertical-align: middle;
}

nav #nav dd {
	padding: 10px 5px; background: none; border-right: 1px solid #FFF; font-size: 12px; color: #FFF; display: table-cell; vertical-align: middle;
}

nav #nav dd:nth-child(even) {
	background: none;
}

nav #nav dd:nth-of-type(1) {
	border-left: 1px solid #FFF;
}

nav #nav dd:hover {
	color: #FF9900;
}

nav #nav .head {
	font-size: 14px; font-weight: bold; color: #FFF; text-align: center;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

section .wrap {
	width: 70%; min-width: 1000px; margin: 0 auto; padding: 50px 0;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

#footer {
	margin-top:auto;
}

#footer .wrap {
	width: 1000px; margin: 0 auto;
}

#footer .head {
	width: 350px; height: 20px; margin: -25px auto 0; padding-top: 5px; border-radius: 5px 5px 0 0 / 5px 5px 0 0; background-color: #d2c8be;
}

#footer .logo, #footer .mark {
	width: 550px; display: table-cell; vertical-align: middle;
}

#footer .logo {
	text-align: left;
}

#footer .mark {
	text-align: right;
}

#footer .navi {
	margin: -12px 0 0; position: relative; top: 40px; text-align: center;
}

#footer .navi ul {
	font-size: 0;
}

#footer .navi li {
	padding: 0; background-color: transparent; display: inline-block;
}

#footer .navi li:nth-child(even) {
	background-color: transparent;
}

#footer .navi li:before {
	content: "・";
}

#footer .navi li:first-child:before {
	content: "";
}

#footer .navi li a {
	font-size: 12px; display: inline;
}

#footer .copy {
	margin-top: -26px;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

.topbtn {
	right: 30px; bottom: 120px;
}

.topbtn span {
	width: 54px; height: 54px; border-radius: 54px; font-size: 48px;
}

/****************************************************************************************************************************************************************/
}