@charset "utf-8";
@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,700,400,300,700);
@import url(http://fonts.googleapis.com/css?family=Dosis:300,400,700);
/*------------------------------------------------------------------
[Table of contents]

1. Common styles
2. Page loader / .page-loader
3. Typography
4. Forms fields
5. Home sections / .home-section
    6.1. Home content
    6.2. Scroll down icon
    6.3. Headings styles
7. Navigation
8. Sections styles / .page-section, .small-section, .split-section
9. Banner section
10.Google maps
11.Ftoore



/*------------------------------------------------------------------
# [Color codes]

# Main color #062854
# Black (active elements, links, text) #111
# Gray (text) #777
# Dark #111
# Dark Lighter #252525
# Gray BG #f4f4f4
# Gray BG Lighter #f8f8f8
# Mid grey #5f5f5f
# Borders #e9e9e9

# */


/*------------------------------------------------------------------
[Typography]

Body:               14px/1.6 "游明朝", YuMincho, "Hiragino Mincho ProN W3", serif;
Headers: 
alt:                "Open Sans", arial, sans-serif;           
Serif:              "Times New Roman", Times, serif;
Section Title:      35px/1.3 "游明朝", YuMincho, "Hiragino Mincho ProN W3", serif;
Section Heading:    24px/1.3 
Section Text:       15px/1.7 

-------------------------------------------------------------------*/


/* ==============================
   Common styles
   ============================== */

body {
	color: #062854;
	font-size: 16px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "HiraKakuProN-W3", sans-serif;
	line-height: 2.2;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	animation: fadeIn 3s ease 0s 1 normal;
	-webkit-animation: fadeIn 3s ease 0s 1 normal;
}
 @keyframes fadeIn {
 0% {
opacity: 0
}
 100% {
opacity: 1
}
}
 
/*古いブラウザ用*/
@-webkit-keyframes fadeIn {
 0% {
opacity: 0
}
 100% {
opacity: 1
}
}
.resize_img {
	width: 100%;
	height: auto;
}
figure img {
	max-width: 100%;
}
.align-center {
	text-align:center !important;
}
.align-left {
	text-align:left !important;
}
.align-right {
	text-align:right !important;
}
.left {
	float:left !important;
}
.right {
	float:right !important;
}
.relative {
	position:relative;
}
.hidden {
	display:none;
}
.inline-block {
	display:inline-block;
}
.glass {
	opacity: .5;
}
;
.image-fullwidth img {
	width: 100%;
}
.fixed {
	position: fixed !important;
	top: 0;
	left: 0;
}
.round {
	-webkit-border-radius: 2px !important;
	-moz-border-radius: 2px !important;
	border-radius: 2px !important;
}
.pc {
	display: block !important;
}
.sp {
	display: none !important;
}
@media only screen and (max-width: 959px) {
.pc {
 display: none !important;
}
.sp {
 display: block !important;
}
.align-left_sp {
 text-align:left !important;
}
}
/*::-moz-selection {
color: #231815;
background:#fff;
}
::-webkit-selection {
color: #231815;
background:#fff;
}
::selection {
color: #231815;
background:#fff;
}*/
.animate, .animate * {
	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}
.no-animate, .no-animate * {
	-webkit-transition: 0 none !important;
	-moz-transition: 0 none !important;
	-ms-transition: 0 none !important;
	-o-transition: 0 none !important;
	transition:0 none !important;
}
.shadow {
	-webkit-box-shadow: 0px 3px 50px rgba(0, 0, 0, .15);
	-moz-box-shadow: 0px 3px 50px rgba(0, 0, 0, .15);
	box-shadow: 0px 3px 50px rgba(0, 0, 0, .15);
}
.white-shadow {
	-webkit-box-shadow: 0px 0px 200px rgba(255, 255, 255, .2);
	-moz-box-shadow: 0px 0px 200px rgba(255, 255, 255, .2);
	box-shadow: 0px 0px 200px rgba(255, 255, 255, .2);
}
.clearlist, .clearlist li {
	list-style: none;
	padding: 0;
	margin: 0;
	background: none;
}
.full-wrapper {
	margin: 0 2%;
}
html {
	overflow-y: scroll;
	-ms-overflow-style: scrollbar;
}
html, body {
	height: 100%;
	-webkit-font-smoothing: antialiased;
}
/* ==============================
   Typography
   ============================== */
img {
    width: 100%;
}
a, a img {
	color: #062854;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
a:hover {
	color: #0091a8;
	text-decoration: none;
}
a:hover img {
	opacity: 0.5;
}
h1, h2, h3, h4, h5, h6 {
	margin-bottom: 1em;
	line-height: 2.2;
	font-weight: 400;
}
h1 {
	font-size: 2.5rem;
}
h2 {
	font-size: 2rem;
}
h3 {
	font-size: 1.5rem;
}
h4 {
	font-size: 1.2rem;
}
h6 {
	font-weight: 700;
}
p {
	margin: 0 0 2em 0;
	letter-spacing: .2em;
}
ul, ol {
	margin: 0 0 0 0;
}
li {
	list-style-type: none;
}
/*blockquote {
	margin: 3em 0 3em 0;
	padding: 0;
	border: none;
	background: none;
	font-style: normal;
	line-height: 1.7;
	color: #777;
}
blockquote p {
	margin-bottom: 1em;
	font-size: 24px;
	font-weight: 300;
	font-style: normal;
	line-height: 1.6;
}
blockquote footer {
	font-size: 11px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 2px;
}*/
dl dt {
	margin-bottom: 5px;
}
dl dd {
	margin-bottom: 15px;
}
ul li {
	list-style-type: none;
}
/*hr {
	background-color: rgba(255, 255, 255, .08);
}
hr.white {
	border-color: rgba(255, 255, 255, .35);
	background: rgba(255, 255, 255, .35);
}
hr.black {
	border-color:rgba(0, 0, 0, .85);
	background: rgba(0, 0, 0, .85);
}
.font-alt {
	font-family: "Open Sans", arial, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.2em;
}
.serif {
	font-family: "Times New Roman", Times, serif;
	font-weight: normal;
}*/
.Vollkorn {
	font-family: "Vollkorn", serif;
	font-weight: 400;
}
.mrs-eaves {
	font-family: "mrs-eaves", serif;
	font-weight: 400;
}

.italic {
	font-style:italic;
}
/*.normal {
	font-weight: normal;
}
.strong {
	font-weight: 700 !important;
}
.lead {
	margin: 1em 0 2em 0;
	font-size: 140%;
	line-height: 1.6;
}
.text {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.6;
}
.text h1, .text h2, .text h3, .text h4, .text h5, .text h6 {
	color: #231815;
}*/
@media only screen and (max-width: 767px) {
h1, h2, h3, h4, h5, h6 {
 margin-bottom: 0.6em;
}
h1 {
 font-size: 2rem;
}
h2 {
 font-size: 1.5rem;
}
h3 {
 font-size: 2rem;
}
h4 {
 font-size: 1.1rem;
}
h6 {
 font-weight: 700;
}
p {
 margin: 0 0 1em 0;
}
ul, ol {
 margin: 0 0 1em 0;
}
}
/* ==============================
   Home sections
   ============================== */

/*.home-section {
	width: 100%;
	display: block;
	position: relative;
	overflow: hidden;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}*/
/*
 * Header  main-visual
 */
.header_visual {
	width: 100%;
	height: 100vh;
	position: relative;
	overflow: hidden;/*	background-attachment: fixed;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover; */
}
.header_visual::before {
 	content: '';
 	display: block;
	width: 100%;
 	height: 100%;
	background-image: url(../images/topmain_pc.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
 	-webkit-animation: zoom 10s 1;
	animation: zoom 5s 1;
	animation-fill-mode: forwards;
 	z-index: -1;
}
@keyframes zoom {
 0% {
 transform: scale(1.5);
}
 100% {
 transform: scale(1);
}
}
/*.header_visual {
	width: 100%;
	height: 100vh;
	display: block;
	position: relative;
	background-size: auto 100%;
	background-repeat: no-repeat;
	background-attachment: fixed; 
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}*/
/*.logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	width: 100%;
	max-width: 680px;
	opacity:0;
	
}
.slider {
	width: 100%;
	height: 740px;
	display: table;
	position: relative;
	overflow: hidden;
}
.slider ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: table-cell;
	vertical-align: middle;
}
.slider ul li {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation-iteration-count: infinite;
	animation-duration: 32s;
}
.slider ul li:nth-child(1) {
    animation-name:slider;
    animation-delay:-3s;
}
.slider ul li:nth-child(2) {
    animation-name:slider;
    animation-delay:5s;
    opacity:0;
}
.slider ul li:nth-child(3) {
    animation-name:slider;
    animation-delay:13s;
    opacity:0;
}
.slider ul li:nth-child(4) {
    animation-name:slider;
    animation-delay:21s;
    opacity:0;
}
@keyframes slider {
 0% {
 opacity:0;
}
 15.63% {
 opacity:1;
}
 31.26% {
 opacity:1;
}
 46.89% {
 opacity:0;
}
 100% {
 opacity:0;
}
}
@media (max-width: 767px) {
.slider {
 height:380px;
}
}*/
/* ==============================
   Navigation
   ============================== */
 
/*
 * Mobile nav
 */
.main_logo img {
	width: 35%;
	text-align: center;
	padding: 1em;
}
nav {
	height: 0;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 100000;
	box-sizing: border-box;
}
.menu ul li a {
	display:block;
	padding: 1em;
	border-bottom: 1px dotted #CCC;
	text-decoration:none;
}
.menu ul li a:hover {
	background-color:rgba(0, 0, 0, 0.5);
}
.menu {
	text-align:center;
    transition: .5s ease;
	-webkit-transform: translateX(-105%);
	transform: translateX(-105%);
}
.menu.open {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: #F6F6F6;
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	z-index: 100;
}
.Toggle {
	display: block;
	position: fixed;
	width: 30px;
	height: 38px;
	cursor: pointer;
	z-index: 200;
	top: 14px;
	right: 18px;
}
.Toggle span {
	display: block;
	position: absolute;
	width: 30px;
	border-bottom: solid 1px #231815;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
.Toggle span:nth-child(1) {
    top: 8px;
}
.Toggle span:nth-child(2) {
    top: 18px;
}
.Toggle span:nth-child(3) {
    top: 28px;
}
.Toggle.active span:nth-child(1) {
    top: 18px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
/* 2番目と3番目のspanを45度に */
.Toggle.active span:nth-child(2), .Toggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
.a_active {
	color: #0091a8;
	text-decoration: none;
}
/*
 * Desktop nav
 */
@media screen and (min-width: 960px) {
.line_header {
 z-index: 4;
 top: 0;
 left: 0;
 width: 100%;
 transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.line_header {
 width: 100%;
 height: 0;
}
.line_header:not(.-underlay) {
 transform: translateY(25px);
}
h1.header_logo {
 position: absolute;
 top: 15px;
 left:79px;
 line-height: 0;
 margin:0;
}
h1.header_logo img {
 width:168px;
}
nav {
 height: 0;
}
.main_logo img {
 display: none;
}
.Toggle {
 display: none;
}
.menu {
 background-color: transparent;
 margin-top:0;
 -webkit-transform: translateX(0);
 transform: translateX(0);
 z-index: 100;
 position: fixed;
 bottom: 50px;
 right: 50px;
 text-align: left;
}
.menu {
 display: flex;
 justify-content: flex-end;
 position: absolute;
 top: 15px;
 left: 0;
 font-size: 14px;
}
.menu ul {
 align-items: center;
}
.menu ul li a {
 padding: 1em 1.2em;
 border-bottom: none;
 line-height: 1.2;
}
.menu ul li a:hover {
 background-color:transparent;
}
.is-fixed {
 position:  fixed;
 top: 0;
 left: 0;
 z-index: 2;
 width: 100%;
 background-color: rgba(255, 255, 255, 0.8);
 -webkit-transition: all .4s ease 0s, background .6s ease .2s;
 transition: all .4s ease 0s, background .6s ease .2s;
 -webkit-overflow-scrolling: touch;
 overflow-scrolling: touch;
 height: 60px;
}
.is-fixed h1.header_logo {
 top: -15px;
 transition: all .4s ease .0, background .6s ease .2s;
}
.is-fixed .menu {
 top: 0;
}
}
@media screen and (max-width: 959px) {
/*.line_header {
display: flex;
justify-content: center;
align-items: center;
height: 72px;
}
.line_header {
 width: 100%;
 height: 0;
}*/
h1.header_sp_logo {
    z-index: 5;
    height: 56px;
	padding-top:6px;
	margin-bottom: 0.5rem;
	text-align: center;
	line-height: 0 !important;
	
	
}
h1.header_sp_logo img {
	max-height:50px;
}
}
/* ==============================
   Sections styles
   ============================== */

/*
 * Common
 */

.page-section, .small-section {
	width: 100%;
	display: block;
	position: relative;
	overflow: hidden;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 100px 0;
}
.small-section {
	max-width: 720px;
    margin: 0 auto;
	padding: 0 !important;
}

/*.small-title {
	padding: 0;
	margin: 0 0 30px 0;
	text-transform: uppercase;
	font-size: 18px;
	font-weight: 300;
	letter-spacing: 0.3em;
}
.section-icon {
	margin-bottom: 7px;
	text-align: center;
	font-size: 32px;
}
.small-title .serif {
	text-transform: none;
	font-weight: 400;
}
.small-title.white {
	color: #fff;
}*/
h4.title {
	letter-spacing: .2em;
}
/*.calc-container {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	background: #f1f7fc;
}*/
.flex-container {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-box-pack:justify;
	-moz-box-pack:justify;
	-webkit-flex-pack:justify;
	-moz-flex-pack:justify;
	-ms-flex-pack:justify;
	-webkit-justify-content:space-between;
	-moz-justify-content:space-between;
	justify-content:space-between;
	flex-wrap: wrap;
}
/*.flex-item {
	width: 48%;
	margin-bottom: 3em;
}
.dl_table {
}
.dl_table dt, .dl_table dd {
	box-sizing: border-box;
}
.dl_table dt {
	clear: left;
	float: left;
}
.dl_table dd {
	text-align:right;
}
.btn_rectangle {
	display: inline-block;
	padding: 0.8em 10em;
	margin: 3em 0 0;
	color: #231815;
	text-decoration: none;
	border: solid 1px #231815;
	border-radius: 3px;
 transition: .4s;
	text-align: center;
}
.btn_rectangle_gold {
	display: inline-block;
	padding: 0.8em 10em;
	margin: 3em 0 0;
	color: #b4965c;
	text-decoration: none;
	border: solid 1px #b4965c;
	border-radius: 3px;
 transition: .4s;
	text-align: center;
}
.btn_rectangle a, .btn_rectangle_gold a {
	color: #231815;
	text-decoration: none;
}
.btn_rectangle:hover, .btn_rectangle_gold:hover {
	background: #231815;
	color: #fff;
	text-decoration: none;
}*/
@media only screen and (max-width: 767px) {
.page-section {
 padding: 30px 0;
}
/*.btn_rectangle, .btn_rectangle_gold {
 width: 100%;
 position: relative;
 padding: 0.8em 0;
 margin: 1em 0 0;
}*/
.flex-item {
 width: 100%;
 margin-bottom: 1em;
}
}
@media only screen and (max-width: 480px) {
/*.dl_table dt {
 float: none;
}*/
}
/*
 * Backgroundcolor
 */
.bg-orange {
	background-color: #f47631 !important;
}
.bg-yellow {
	background-color: #ffce02 !important;
}
.bg-cyan {
	background-color: #27c5c3 !important;
}
.bg-green {
	background-color: #58bf44 !important;
}
.bg-blue {
	background-color: #43a5de !important;
}
.bg-purple {
	background-color: #375acc !important;
}
.bg-red {
	background-color: #e13939 !important;
}
/*
 * Textcolor
 */

/*
 * Underline
 */
.underline_dotted {
	border-bottom: 1px dotted #9d8a54;
}
/*
 * Formattype
 */

.vertical {
	writing-mode: vertical-rl;/*縦書き*/
}
.m-0 {
	margin: 0 !important;
}
.p-0 {
	padding: 0 !important;
}

/* ==============================
   Title
   ============================== */
/*
 * page-title
 */
@media only screen and (min-width: 960px) {
.page_title {
	 height: 100vh;
	 padding-top: 100px;	 
 }
.page_title_visual {
	position: absolute;
    right: 0;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    width: 96vw;
}
.page_title h2{
	position: absolute;
    bottom: 0;
    left: 0;	 
 }
}
.page_title {
	 height: calc(var(--vh, 1vh) * 100);
	 padding-top: 76px;	 
 }
.page_title_visual {
	position: absolute;
    right: 0;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    width: 96vw;
}
.page_title h2{
	position: absolute;
    bottom: 1rem;
    left: 0;	 
 }
/*
 * section-title
 */
.section-title {
	margin-bottom: 15px;
	font-size: 18px;
	font-weight: 400;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 0.5em;
	line-height: 1.4;
}
/*.section-title-none {
	margin-bottom: 15px;
	font-size: 18px;
	font-weight: 400;
	text-transform: none;
	text-align: center;
	letter-spacing: 0.5em;
	line-height: 1.4;
}
.section-more {
	margin-top: 7px;
	color: #999;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.4em;
	text-decoration: none;
	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}
.section-more:hover {
	text-decoration: none;
	color: #000;
}*/
/* ==============================
   Banner section
   ============================== */
.full_visual {
	width: 100vw;
	height: 100vh;
	display: block;
	position: relative;
	background-size: auto 100%;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

/* ==============================
   Google maps 
   ============================== */
.googlemap {
	height: 0;
	overflow: hidden;
	padding-bottom: 75%;
	position: relative;
}
.googlemap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
/* ==============================
   Footer
   ============================== */
footer {
	padding: 50px 0;
	/*border-top: 2px dotted;*/
}
	   
.footer_flex-container {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 0.1em 0;
}
.footer_flex-container li {
	padding: 0 2em 0 0;
}
.copy {
	padding-top: 0.8em;
	text-align: right;
	font-size: 11px;
}
 @media only screen and (max-width: 767px) {
.footer_flex-container {
 display: -webkit-flex;
 display: -moz-flex;
 display: -ms-flex;
 display: -o-flex;
 display: flex;
 flex-wrap: wrap;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
 padding: 0;
}
 .footer_flex-container li {
 padding: 0 0.5em;
}
.copy {
 padding-top: 0;
 text-align: center;
 font-size: 12px;
}
}
 @media only screen and (max-width: 480px) {
footer {
	padding: 30px 0;
	border-top: 1px dotted;
}
 }