@charset "utf-8";
/* ===================================================================
 style info : ヘッダーやフッターなどサイト内共通
=================================================================== */
/* -----------------------------------------------------------
    body
----------------------------------------------------------- */
body {
    -webkit-font-smoothing: subpixel-antialiased;
    text-align: justify;
    text-justify: inter-ideograph;
}

/* -----------------------------------------------------------
    header
----------------------------------------------------------- */
header {
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    background: #ffffff;
    padding: 30px 50px;
    position: fixed;
    width: 100%;
    height: 95px;
    z-index: 1000;
    box-shadow: 0 0 7px rgba(0, 0, 0, 0.1);
}

header > h1 {
    flex: 1 1;
    -webkit-flex: 1 1;
}

@media print,
screen and (min-width: 768px) {
    header > nav {
        display: flex !important;
        display: -webkit-flex !important;
        align-items: center;
        -webkit-align-items: center;
    }
}

header > nav ul {
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    display: flex;
    display: -webkit-flex;
}

header > nav ul li {
    margin: 0 0 0 20px;
}

header > nav ul li:first-child {
    margin: 0;
}

header > nav ul li a:hover,
header > nav ul li a.current {
    color: #066334;
}

header > nav p {
    margin: 0 0 0 20px;
}

header > nav p a {
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
    font-weight: 500;
    background: #066334;
    color: #ffffff !important;
    min-width: 150px;
    min-height: 35px;
    height: 35px\0;
    /*IE*/
}

header > nav p a:before {
    font-family: FontAwesome;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: normal;
    content: "\f07a";
    margin: 0 0.5em 0 0;
}

header > nav p a:hover {
    background: #222222;
}

/* -----------------------------------------------------------
    #main
----------------------------------------------------------- */
#main {
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    z-index: 100;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
    text-align: center;
    position: relative;
    padding-top: 50px;
}

#main:before {
    background: rgba(0, 0, 0, 0.4);
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 150;
}

#main > div {
    padding: 0 30px;
    color: #ffffff;
    z-index: 200;
    xword-wrap: break-word;
}

#main > div h1 {
    font-size: 50px;
    font-size: 5.0rem;
    line-height: 1;
}

#main > div p {
    font-size: 15px;
    font-size: 1.5rem;
    margin: 20px 0 0;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
}

#main > div p:before,
#main > div p:after {
    content: "";
    background: #ffffff;
    height: 1px;
    width: 50px;
}

#main > div p:before {
    margin: 0 20px 0 0;
}

#main > div p:after {
    margin: 0 0 0 20px;
}

#lower #main {
    background-image: url(../img/common/lower_main.jpg);
    background-position: center bottom;
    height: 50vh;
    padding: 95px 0 0;
}

/* -----------------------------------------------------------
    #main-movie
----------------------------------------------------------- */
#main-movie {
    width: 100%;
}

/* -----------------------------------------------------------
    .inner
----------------------------------------------------------- */
.inner {
    margin: 0 auto;
    max-width: 1200px;
    min-width: 900px;
    width: 100%;
}

/* -----------------------------------------------------------
    #breadcrumb
----------------------------------------------------------- */
#breadcrumb {
    background: #222222;
    color: #ffffff;
    padding: 15px 50px;
}

#breadcrumb nav {
    max-width: 1200px;
    min-width: 900px;
    width: 100%;
    margin: 0 auto;
}

#breadcrumb nav ol {
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
}

#breadcrumb nav ol li {
    list-style: none;
}

#breadcrumb nav ol li:after {
    font-family: FontAwesome;
    font-size: 15px;
    font-size: 1.5rem;
    content: "\f105";
    margin: 0 0.8em;
}

#breadcrumb nav ol li:last-child:after {
    content: "";
}

#breadcrumb nav ol li a:link,
#breadcrumb nav ol li a:visited,
#breadcrumb nav ol li a:hover,
#breadcrumb nav ol li a:active {
    color: #ffffff;
}

#breadcrumb nav ol li a:link,
#breadcrumb nav ol li a:visited {
    text-decoration: underline;
}

#breadcrumb nav ol li a:hover {
    text-decoration: none;
}

/* -----------------------------------------------------------
    #container
----------------------------------------------------------- */
#container {
    margin: 8% 0;
    padding: 0 50px;
}

/* -----------------------------------------------------------
    main
----------------------------------------------------------- */
main {
    margin: 0 auto;
    max-width: 1200px;
    min-width: 900px;
    width: 100%;
}

/* -----------------------------------------------------------
    #contents
----------------------------------------------------------- */
#lower #contents {
    margin: 7% 0 0;
}

/* -----------------------------------------------------------
    .heading
----------------------------------------------------------- */
.heading {
    font-size: 24px;
    font-size: 2.4rem;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
}

.heading:before,
.heading:after {
    content: "";
    background: #eeede9;
    height: 1px;
    flex: 1 1 auto;
    -webkit-flex: 1 1 auto;
}

.heading:before {
    margin: 0 30px 0 0;
}

.heading:after {
    margin: 0 0 0 30px;
}

/* -----------------------------------------------------------
    footer
----------------------------------------------------------- */
footer {
    margin: 50px 0 0;
}

footer #upper {
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    background: #222222;
    color: #ffffff;
    padding: 30px 50px;
}

footer ul {
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
}

footer #upper #bnr ul li {
    margin: 0 0 0 20px;
}

footer #upper #bnr ul li:first-child {
    margin: 0;
}

footer #upper #sns dl {
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
}

footer #upper #sns dl dd {
    margin: 0 0 0 15px;
}

footer #upper #sns dl dd ul {
    font-size: 15px;
    font-size: 1.5rem;
}

footer #upper #sns dl dd ul li {
    margin: 0 0 0 15px;
}

footer #upper #sns dl dd ul li:first-child {
    margin: 0;
}

footer #upper #sns dl dd ul li a {
    border: 1px solid #ffffff;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    color: #ffffff;
}

footer #upper #sns dl dd ul li a:hover {
    opacity: 1;
    border: 1px solid #066334;
    color: #066334;
}

footer #under {
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    font-size: 12px;
    font-size: 1.2rem;
    background: #ffffff;
    padding: 30px 50px;
}

footer #under #utilityNav ul li {
    margin: 0 0 0 30px;
}

footer #under #utilityNav ul li:first-child {
    margin: 0;
}

footer #under #utilityNav ul li a:hover {
    opacity: 0.6;
}

/* -----------------------------------------------------------
    .pagetop
----------------------------------------------------------- */
#pagetop {
    font-size: 50px;
    font-size: 5.0rem;
    text-align: center;
    line-height: 0.45;
}

#pagetop a {
    display: inline-block;
    color: #222222;
    line-height: 0.45;
}

#pagetop a i {
    line-height: 0;
}

#pagetop a:hover {
    color: #066334;
    opacity: 1;
}

/* -----------------------------------------------------------
    #page_top
----------------------------------------------------------- */
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 3%;
  bottom: 3%;
  background: #066334;
  opacity: 1;
  z-index:200;
}
#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: '\f106';
  font-size: 22px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 50px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
  content: 'TOP';
  font-size: 12px;
  color: #fff;
  position: absolute;
  top: 25px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/* -----------------------------------------------------------
    img:hover
----------------------------------------------------------- */
a img:hover {
    opacity: 0.6;
    -webkit-transition: all .3s;
    transition: all .3s;
}

/* -----------------------------------------------------------
    #info0801
----------------------------------------------------------- */
#info0801 {
    text-align: right;
    font-size: 1.2rem;
    margin-right: 20px;
}
