@charset "UTF-8";
/* CSS Document */
/*--------------------
全体の設定
-----------------------*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html{font-size: 62.5%;}
body{
    font-size: calc(1.5rem + (1vw - 0.56rem) * -1.0000);/* 14px~10pxで可変*/
    line-height: 1.8;
	color:#333;
	display: none;/*アニメーションちらつき防止*/
	font-family: 'Hiragino Kaku Gothic Pro W3','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;
/*丸文字にする場合
    font-family: "Lucida Grande", "segoe UI", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", Meiryo, Arial, sans-serif;*/
}
h1 {
    font-size: calc(2.4rem + (1vw - 0.56rem) * 3.0000);/* 24px~36pxで可変*/
    line-height: 1.3;
}
h2 {
    font-size: calc(2rem + (1vw - 0.56rem) * 1.0000);/* 20px~24pxで可変*/
    line-height: 1.3;
}
@media screen and (max-width: 560px) {/* 560px以下*/
body{
	font-size:1.5rem;/* 145px*/
	line-height: 2;
}
h1{font-size: 2.4rem;/* 24px*/}
h2{font-size: 2.0rem;/* 20px*/}
} 
@media (min-width: 960px) {/* 960px以上*/
body {font-size:1.5rem;}
h1{font-size: 3.6rem;/* 36px*/}
h2{font-size: 2.4rem;/* 24px*/}
}
.shadow-new{box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;}
/*--------------------
リンクの設定
-----------------------*/
a{
	cursor:pointer !important;
	transition: all 1s ease;
	color:#404639 !important;
}
a:hover{
	text-decoration:none !important;
	color:#ddd !important;
}
a img:hover{outline:none !important;}
a:focus, *:focus {outline:none !important;}
.link-wide{color:#000 !important;}
.link-wide:hover{
	color:#999;
	letter-spacing:0.2em;
}
/*--------------------
個別の設定
-----------------------*/
#map iframe {/*googlemapの下の余白削除*/
    vertical-align: bottom;
}
.indent li{/*2行目を1文字下げる 要調整*/
    padding-left: 1.0em;
    text-indent: -1.0em;
	list-style:none;
	margin-left:1em;
}
/*棒矢印*/
.stickarrow {
	display:inline-block;
	width: 65px;
	height: 8px;
	border-bottom: 2px solid #000;
	border-right: 2px solid #000;
	transform: skew(45deg);
	vertical-align: middle !important;
	transition: all 500ms ease;
}
.stickarrow:hover{
	border-bottom: 1px solid #ddd;
	border-right: 1px solid #ddd;
	width: 80px;
}
/*マーカー*/
.marker-bottom {
	background: linear-gradient(transparent 55%, #ddd 0%);/*カラー設定*/
	font-weight: bold;
}
/*グレースケール*/
.grayscale-img80{filter: grayscale(0.8);}
.grayscale-img100{filter: grayscale(1);}
/*--------------------
ボーダーの設定
-----------------------*/
@media screen and (max-width: 991px) {/*タブレット以下表示*/
.border-bottom-small{
	border-bottom:0.2px dotted rgba(0,0,0,.8) !important;
}
}
@media screen and (min-width: 992px) {/*タブレット以下非表示*/
.border-right-lg{
	border-right: 1px solid rgba(0,0,0,.15) !important;
}
.border-left-lg{
	border-left: 1px solid rgba(0,0,0,.15) !important;
}
.padding-5-lg{padding:5em !important;}
}
@media screen and (min-width: 768px) {/*md用以下非表示*/
.border-right-md{
	border-right: 1px solid rgba(0,0,0,.15) !important;
}
.border-left-md{
	border-left: 1px solid rgba(0,0,0,.15) !important;
}
}
.border-bold{/*文字の長さに合わせたアンダーライン*/
	border-bottom:3px solid #666;
	display:inline-block !important;
	padding-bottom:0.5em;
}
.inside-border{
	outline: 1px solid #000;
	outline-offset: -0.7em;
}
/*--------------------
ボタンのベース
-----------------------*/
.btn-base{
	display: inline-block;
	background-color:transparent;
	text-decoration: none;
	padding:0.5em 1.5em;
}
/*-------------------------
センター揃え左寄せ文字
---------------------------*/
.left-text {
	text-align: left !important;
	display: inline-block;
}
/*--------------------
フォントサイズ
-----------------------*/
.size06{font-size:0.6em !important;}
.size09{font-size:0.9em !important;}
.size1{font-size:1.0em !important;}
.size11{font-size:1.1em !important;}
.size12{font-size:1.2em !important;}
.size13{font-size:1.3em !important;}
.size14{font-size:1.4em !important;}
.size15{font-size:1.5em !important;}
.size16{font-size:1.6em !important;}
.size17{font-size:1.7em !important;}
.size18{font-size:1.8em !important;}
.size2{font-size:2.0em !important;}
.size25{font-size:2.5em !important;}
.size3{font-size:3.0em !important;}
.size4{font-size:4.0em !important;}
.size5{font-size:5.0em !important;}
/*--------------------
テキストシャドウ設定
-----------------------*/
.tex-shadow{text-shadow: 1px 1px 2px #000;}
.tex-shadow2{text-shadow:2px 2px 10px #000;}
.tex-shadow-white{text-shadow: 1px 1px 2px #fff;}
.tex-shadow-bold{
	text-shadow: 
    black 2px 0px 0px, black -2px 0px 0px,
    black 0px -2px 0px, black 0px 2px 0px,
    black 2px 2px 0px, black -2px 2px 0px,
    black 2px -2px 0px, black -2px -2px 0px,
    black 1px 2px 0px, black -1px 2px 0px,
    black 1px -2px 0px, black -1px -2px 0px,
    black 2px 1px 0px, black -2px 1px 0px,
    black 2px -1px 0px, black -2px -1px 0px,
    black 1px 1px 0px, black -1px 1px 0px,
    black 1px -1px 0px, black -1px -1px 0px;
}
.tex-shadow-bold2{
	text-shadow:1px 1px 0 #000, -1px -1px 0 #000,
              -1px 1px 0 #000, 1px -1px 0 #000,
              0px 1px 0 #000,  0-1px 0 #000,
              -1px 0 0 #000, 1px 0 0 #000;

}
/*--------------------
Loader
-----------------------*/
/* 非表示 */
.is-hide {
    display: none;
}
/* ローディング画面をフェードアウト */
.fadeout-bg {
    transition-property: opacity;
    transition-delay: 1.5s;
    transition-duration: 2.0s;
    opacity: 0;
    pointer-events: none;
}
/* ローダーをフェードアウト */
.fadeout-loader {
    transition-property: opacity;
    transition-delay: 1.0s;
    transition-duration: 0.6s;
    opacity: 0;
    pointer-events: none;
}
/* ローディング画面 */
#loader-bg {
    background: #ffffff;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
}
#loader {
    left: 50%;
    position: fixed;
    top: 50%;
	transform:translate(-50%,-50%);
}
#loader p {
	display:inline-block;
    color: #454545;
    font-size: 10px;
    line-height: 1.4;
    text-align: center;
}
#loader p img {
    display: inline-block;
}
/*--------------------
sticky-header
-----------------------*/
.nav-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}
/*--------------------
背景の設定
-----------------------*/
/*トップ画像デバイスの高さに揃える設定*/
.top-page-img{
    background:center center / cover no-repeat fixed;
    background-size: cover;
    text-align: center;
	object-fit: cover;
	width:100%;
	/*斜めにする場合
	clip-path: polygon(0 0, 100% 0, 100% 95vh, 0 100%);
	-webkit-clip-path:polygon(0 0, 100% 0, 100% 95vh, 0 100%);*/
}
@media screen and (max-width: 768px) {
.top-page-img{height:70vh;}/*調整*/
}
/*-------------------------
画像のオーバーレイ
---------------------------*/
.overlay-gradi:after{
	background: linear-gradient(rgba(64,70,57, .4), rgba(64,70,57, 0.7));
	content:"";
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
}
.overlay-gradi-color:after{
	background: linear-gradient(-45deg, rgba(255, 255, 255, .5), rgba(219,212,190, .2));
	content:"";
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
}
/*-------------------------
縦文字
---------------------------*/
.vertical-overlay{
	position:absolute;
	bottom:0;
	right: 0;
	height:100%;
	width:auto;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	transform-origin:center center;
	white-space:nowrap;
	padding:1em 0.5em;
}
/*--------------------
navbarカラーチェンジ
-----------------------*/
/*--------------------
navbar背景
-----------------------*/
.navbar-change{/*チェンジ前*/
  transition:500ms ease;
  background-color:#535c4b !important;
}
.navbar-change.scrolled{/*チェンジ後*/
  background-color:rgba(219,212,190,0.9)!important;
  box-shadow: 0px 4px 3px -3px rgba(0,0,0,0.15);
}
/*--------------------
navbar-active
-----------------------*/
nav .active,
.navbar-change .nav-link.active,
.navbar-change .nav-link:hover{/*チェンジ前*/
	color:#dbd4be !important;
	font-weight:600 !important;
}
.scrolled.navbar-change .nav-link.active,
.scrolled.navbar-change .nav-link:hover{/*チェンジ後*/
	color:#404639 !important;
}
/*--------------------
navbar-brand
-----------------------*/
.navbar-brand{
	color:#fff !important;
	font-family: 'Satisfy', cursive;
	margin-left:1em !important;
}/*チェンジ前*/
.scrolled.navbar-change .navbar-brand{color:#666 !important;}/*チェンジ後*/
/*--------------------
navbar-link
-----------------------*/
.nav-link{/*チェンジ前*/
	color:#fff !important;
	font-family: 'Montserrat', sans-serif;
	margin-right:0.5em;
	font-size:1em !important;
	font-weight:400;
}
.scrolled .nav-link{/*チェンジ後*/
	color:#333 !important;
}
/*--------------------
toggle-custom
-----------------------*/
.navbar-toggler{
	border:none !important;
}
.custom-icon {/*toggleの色とサイズ*/
	width: 30px;
	height: 20px;
	position: relative;
	margin: 1em;
}
.custom-icon span{
	display: block;
	position: absolute;
	height: 1px;
	width: 100%;
	border-radius: 9px;
	opacity: 1;
	left: 0;
	background-color: #fff;
}
.scrolled .custom-icon span{background-color:#666;}
.custom-icon span:nth-of-type(1) {
  top: 0;
}
.custom-icon span:nth-of-type(2) {
  top: 12px;
}
.custom-icon span:nth-of-type(3) {
  top: 24px;
}
/*--------------------
ドロップダウン
-----------------------*/
.dropdown-item:focus,
.dropdown-menu .dropdown-item:hover,
.dropdown-menu a:active,
.dropdown-menu a:focus,
.dropdown-menu a:hover,
.dropdown-menu a:hover:active {/*ホバー時の背景色*/
	box-shadow: 0 4px 4px 0 rgba(0,0,0,.14);
    background-color: #000;
    color: #fff;
}
 .dropdown-item.active{/*アクティブ時の背景色*/
  color: #fff !important;
  text-decoration: none;
  background-color: #666 !important;
}
.dropdown-menu{
	font-size:1.0em !important;
	line-height:2.5 !important;
	border:none !important;
	text-align:center !important;
	background-color:rgba(255,255,255,.8) ;/*ドロップダウンの背景色*/
}
.dropdown:hover .dropdown-menu {display: block;}
/*-------------------------
キャプション設定
---------------------------*/
.heading-wrap{position:relative;}
.heading {/*中央大*/
  position: absolute;
  width:100%;
  height:auto;
  top: 50%;
  left: 50%;
  text-align:center;
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
}
.topic-right{/*右*/
	position:absolute;
	top:50%;
	transform: translateY(-50%);
	right: 15px;
	background-size:cover !important;
	background:center center / cover no-repeat,linear-gradient(-45deg, rgba(0, 0, 0, .6), rgba(0,0,0,0.3)),url("../img/map-bg.jpg");
	width:30%;
	height:90%;
	color:#fff;
}
.heading-top{
	position:absolute;
	top:10%;
	left:50%;
	transform:translateX(-50%);
	margin:0;
	padding:0;
	width:100%;
	text-align:center;
	height:auto;
}
.heading-bottom{
	position:absolute;
	bottom:5%;
	left:50%;
	transform:translateX(-50%);
	margin:0;
	padding:0;
	width:100%;
	text-align:center;
	height:auto;
}
/*--------------------
フェードの設定変更
-----------------------*/
@keyframes fadeInUpMin {
from {
	opacity: 0;
    transform: translate3d(0, 30%, 0);
    transition: all 1s ease;
}
to {
    opacity: 1;
    transform: none;
}
}
.fadeInUpMin {animation-name: fadeInUpMin;}
/*-------------------------
パララックス
---------------------------*/
.pra-container {
	-webkit-align-items:center;
	align-items:center;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-align:center;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	margin:0;
	padding:15px;
	position:relative;
	width:100%
}
.container--full {min-height: 100vh;}
.container--70 {min-height: 70vh;}
.container--small {min-height: 40vh;}
.container--xs {min-height: 20vh;}
.pra-container .pra-content {
	margin: 0 auto;
	width:100%;
	height:100%;
	padding:0;
	top:0;
	left:0;
}
.parallax__container {
	clip: rect(0, auto, auto, 0);
	height: 100%;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -2 !important;
}
.parallax__container
.parallax {
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	position:fixed;top:0;
	-webkit-transform:translate3d(0,0,0);
	transform:translate3d(0,0,0);
	-webkit-transform-style:preserve-3d;
	transform-style:preserve-3d;
	width:100%;
}
/*パララックス背景画像*/
.bg1 {
	background:linear-gradient(-45deg, rgba(0, 0, 0, .8), rgba(0, 0, 0, .3)),url("../img/bg1.jpg");
}
/*--------------------
instafeedの設定
-----------------------*/
.insta-box{
	display: inline-block;
	margin:0 !important;
	padding:0 0.1em 0 0.1em !important;
	text-align:center !important;
	overflow:hidden !important;
	width:100% !important;
}
.insta-box img{
    transition: transform 0.5s linear;
	width:100%;
	height:auto;
	object-fit: cover;
}
.insta-box img:hover{
    filter:grayscale(1.0);
	transform: scale(1.1);
}
/*-------------------------
form
---------------------------*/
.form-control {
	margin-top:0.3em;
	background-color: #fff;
	height: 45px;
	padding: 0px 15px;
	color: #151515;
	border: 1px solid rgba(0,0,0,0.3);
	font-size: 1.1em !important;
	font-weight: 700;
	box-shadow: none;
	-webkit-box-shadow: none;
	border-radius: 40px;
	transition: 0.2s all;
}
.form-control::-webkit-input-placeholder {color: #ccc;}
.form-control:-ms-input-placeholder {color: #ccc;}
.form-control::placeholder {color: #ccc;}
.form-control:focus {background: #f8f8f8;}
input[type="date"].form-control:invalid {color: #ccc;}
select.form-control {/*ディフォルト解除*/
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select.form-control:invalid {color: #ccc;}
select.form-control option {color: #151515;}
/*select矢印*/
select.form-control+.select-arrow {
	position: absolute;
	right: 20px;
	top: 40%;
	width: 32px;
	line-height: 32px;
	height: 32px;
	text-align: center;
	pointer-events: none;
	color: #666;
	font-size: 14px;
}
select.form-control+.select-arrow:after {
	content: '\279C';
	display: block;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}
/*チェックボックス設定*/
.check-label{
	display:inline-block !important;
	height:45px !important;
	color: #666 !important;
	padding: 0px 15px !important;
}
input[type="checkbox"] {
	position: relative;
	padding-left: 15px;
	width:25px !important;
	height:25px !important;
	top:40%;
	left:0;
	transform: translateY(-40%) !important;
}
/*カレンダー・時間*/
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator{
	cursor: pointer;
}
/*テキストエリア*/
textarea{
  width: 100%;
  border: 1px solid rgba(0,0,0,0.3);
  border-radius: 10px;
  margin: 0;
  outline: 0;
  padding:0.8em;
  color: #666;
}
/*ラベル*/
.form-label {
	color: #666;
	text-transform: uppercase;
	line-height: 24px;
	height: 24px;
	font-size: 1em !important;
	font-weight: 400;
	margin-left: 20px;
}
.form-btn {
	margin: 30px 0 0 0 ;
}
.submit-btn {
	display: block;
	width: 100% !important;
	color: #fff;
	background-color: #000;
	font-weight: 700;
	font-size: 18px;
	border: none;
	border-radius: 40px;
	height: 55px;
	transition: 0.2s all;
}
.submit-btn:hover,
.submit-btn:focus {
	background-color: #666;
}
}
/*--------------------
socialボタン
-----------------------*/
.social-box{
	padding:0;
}
.social-button{
	display:inline-block;
	width:40px;
	height:40px;
	line-height:40px;
	background-color:transparent;
	color:transparent;
	text-align:center;
	margin-right:5px;
	border-radius:50%;
	font-size:1.1em !important;
	transition: all  0.5s ease;
}
/*snsボタン各カラー*/
/*ホバー前のカラー*/
.sns-original{
	color:#fff !important;
	background-color:#404639;
}
.sns-original:hover{color:#fff !important;}
/*sns各ブラントボタンからー*/
.social-button:hover{
	border-radius:50%;
	border:none;
	box-shadow: 0px 3px 10px rgba(0,0,0,.25);
}
.facebook-btn:hover{
	background-color:#3B5998;
}
.twitter-btn:hover{
	background-color:#1DA1F2;
}
.instagram-btn:hover{
	background: #d6249f;
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);
}
.youtube-btn:hover{
	background-color:#FF0000;
}
.mail-btn:hover{background-color:#535c4b;}/*イメージカラーに合わせる*/
/*--------------------
スライド表示アニメーション設定
-----------------------*/
/* 左からスライド */
@keyframes SlideIn-right {
  0% {
    opacity: 0;/*初期状態では透明に*/
    transform: translateX(30%);
	transition: all 1s ease;
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.slide-right{animation-name: SlideIn-right;}
/* 右からスライド */
@keyframes SlideIn-left {
  0% {
    opacity: 0;/*初期状態では透明に*/
    transform: translateX(-30%);
	transition: all 3s ease;
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.slide-left{animation-name: SlideIn-left;}
/*left*/
@keyframes slideshow-horizontal {
from {
    transform: scale(0, 1);
	transform-origin: left top;
    transition: all 0.3s ease !important;
	
}
to {
	transform: scale(1, 1);
	transform-origin: left top;
}
}
.slideshow-horizontal {animation-name: slideshow-horizontal;}
/*right*/
@keyframes slideshow-horizontal-right {
from {
    transform: scale(0, 1);
	transform-origin: right top;
    transition: all 0.3s ease;
	
}
to {
	transform: scale(1, 1);
	transform-origin: right top;
}
}
.slideshow-horizontal-right {animation-name: slideshow-horizontal-right;}
/*縦*/
@keyframes slideshow-vertical {
from {
    transform: scale(1, 0);
	transform-origin:bottom;
    transition: all 0.5s ease;
	
}
to {
	transform: scale(1, 1);
	transform-origin:bottom;
}
}
.slideshow-vertical{animation-name: slideshow-vertical;}
/*--------------------
ページのトップへスクロール
-----------------------*/
#pageTop {
  position: fixed;
  bottom: 50px;
  right: 25px;
  z-index:999;
  transition: all  0.5s ease;
}
#pageTop a {
  display: block;
     width: 20px;
     height: 20px;
     border-top: solid 2px #000;
     border-left: solid 2px #000;
     transform: rotate(45deg);
}
#pageTop a:hover{
	color:#ddd;
}