@charset "utf-8";

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

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

body form * {
	color: #000;
}

/*~~*/

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

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

header #header {
	width: 100%;
}

header #header .head {
	text-align: center; background-color: #fff;
}

header #header .head .name {
	margin-bottom: 3px; font-size: 10px; line-height: 100%; font-weight: 500; color: #000; text-align: center;
}

header #header .head .logo img {
	width: 50%; /*filter: invert();*/
}

/*~~*/

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

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

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

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

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

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

header　#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 .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: 30px;
}

header #cover .cover-theme.split {
	padding-top: 30px; 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; font-size: 12px; font-weight: bold; cursor: pointer;
}

nav #nav dt {
	display: none;
}

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

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

main {
	background-color: #FFF; padding-bottom: 15px;
}

/*~~*/

section .wrap {
	padding: 15px;
}

/*~~*/

section .h1 {
	display: flex;
    align-items: center;
	justify-content: center;
}

section .h1:before,
section .h1:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #666;
}
 
section .h1:before {
    margin-right: 15px;
}
 
section .h1:after {
    margin-left: 15px;
}

/**/

section .h2 {
	display: flex;
    align-items: center;
	justify-content: center;
}

section .h2:before,
section .h2:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #999;
}
 
section .h2:before {
    margin-right: 15px;
}
 
section .h2:after {
    margin-left: 15px;
}

section .h1 + .h2:before,
section .h1 + .h2:after {
	margin: 0;
	height: 0px;
	flex-grow: 0;
	background-color: none;
}

section .hi + .h1,
section .hi + .h2 {
	margin-top: 5px;
}

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

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

#footer a {
	color: #ffffff;
}

#footer .wrap {
	margin: -20px auto 0; padding: 0px 0 10px;
}

/*~~*/

#footer .copy {
	font-size: 10px; font-weight: bold; letter-spacing: 3px;
}

#footer .mark {
	display: none;
}

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

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

#footer .navi li a {
	font-size: 14px; 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 (max-width: 768px) {
/*---------~---------~---------~---------~---------~---------~---------~---------~---------~---------~---------~---------~*/

header #header .head {
	padding: 15px 0 10px; text-align: center;
}

header #header .head .logo img {
	width: 50%;
}

header #header .pname {
	text-align: center;
}

header #header .pname p {
	width: 60%; margin-top: -5px; padding-bottom: 5px; font-size: 14px; font-weight: 500; line-height: 100%; color: #000; background: #fff; border-radius: 0 0 10px 10px; display: inline-block;
}

/*---------~---------~---------~---------~---------~---------~---------~---------~---------~---------~---------~---------~*/
}

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

@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 .head {
	margin: 0 auto; padding: 15px 0 10px; text-align: center;
}

header #header .head .logo img {
	width: 200px; /*filter: invert();*/
}

header #header .pname {
	text-align: center;
}

header #header .pname p {
	width: 270px; margin-top: -7px; padding-bottom: 5px; font-size: 16px; font-weight: bold; line-height: 100%; color: #000; background: #fff;
	border-radius: 0 0 5px 5px; display: inline-block;
}

/*~~*/

header #pankuzu {
	width: 70%; min-width: 1000px; margin: 25px auto 0; 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;
}

/*~~*/

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; display: table-cell; vertical-align: middle;
}

nav #nav dd {
	padding: 10px 5px; background: none; border-right: 1px solid #FFF; font-size: 12px; 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 .head {
	font-size: 14px; font-weight: bold; color: #FFF; text-align: center;
}

/*~~*/

main {
	padding-bottom: 25px;
}

section {
	margin-top: 50px;
}

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

/*~~*/

#footer {
	margin-top: auto;
}

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

#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;
}

/*---------~---------~---------~---------~---------~---------~---------~---------~---------~---------~---------~---------~*/
}