@charset "utf-8";
@import url(//fonts.googleapis.com/css?family=Rock+Salt|Montserrat:400,700|EB+Garamond);

@font-face {
  font-family: "bebasneue";
  src: url("https://www.santalucia.jp/img/font/BebasNeue-Bold.eot") format('eot'),
       url("../img/font/BebasNeue-Bold.woff") format('woff2'),
       url("../img/font/BebasNeue-Bold.woff") format('woff');
}

.bebasneue {
  font-family: "bebasneue";
}

/*
font-family: 'Rock Salt', cursive;
font-family: 'Montserrat', sans-serif;
font-family: 'EB Garamond', serif;
*/

*{
margin:0;
padding:0;
border:0;
}

*, *:after, *:before {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}

html { font-size: 62.5%; }

body{
width:100%;
font-family:'Montserrat',"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","游ゴシック", YuGothic,"メイリオ", sans-serif;
font-size:10px;
font-size:1.0rem;
line-height:1.6;
color: #555;
background-color:#fff;
position: relative;
left: 0;
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

h1,h2,h3,h4,h5,h6{
font-family: "bebasneue","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","游ゴシック", YuGothic,"メイリオ", sans-serif;
}

h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{
font-family:'Montserrat', sans-serif;
}

.serif{
	font-family: "EB Garamond","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
}

/**/

a{
outline: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:link{color: #666;}
a:visited{color: #666;}
a:hover{color: #cb1511;}
a:active{color: #cb1511;}

a:link,a:visited,a:active{text-decoration:none;}
a:hover, a:active { outline: 0; text-decoration: underline; cursor: pointer;}
a:focus { outline:none; }
a img{border:none;text-decoration:none;}

::selection { background:#333; color:#FFF; text-shadow: none; }
::-moz-selection { background:#333; color:#FFF; text-shadow: none; }

/*
a {
display: block;
width: 100%;
height: 100%;
}
*/

/* */

.linemaker{ background-image: linear-gradient(transparent 50%, #f1c559 50%); }

.img-responsive { width: 100%; }
.img-responsive-overwrite { margin: 0 auto; }

figure {
-webkit-margin-before: 0 !important;
-webkit-margin-after: 0 !important;
-webkit-margin-start: 0 !important;
-webkit-margin-end: 0 !important;
}

.no-gutter > [class*='col-'] {
	padding-right:0;
	padding-left:0;
}

.spcut{ display:none; }

@media screen and (min-width: 768px){
	.spcut{ display:block; }
	.br-sp{ display:none; }
}

.has-lines {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.has-lines:before,
.has-lines:after {
  content: '';
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 1px;
  background: #ccc;
  min-width: 20px;
  display: inline-block;
  vertical-align: middle;
}
.has-lines:before {
  margin-right: 20px;
}
.has-lines:after {
  margin-left: 20px;
}

/* */

p.text{
text-align: justify;
text-justify: inter-ideograph;
}

.f12{ font-size: 1.2rem; }
.f14{ font-size: 1.4rem; }
.f16{ font-size: 1.6rem; }

.f12,
.f14,
.f16{
line-height:1.7;
}

.mb10{ margin-bottom: 10px; }
.mb20{ margin-bottom: 20px; }
.mb30{ margin-bottom: 30px; }
.mb40{ margin-bottom: 40px; }
.mb50{ margin-bottom: 50px; }
.mb60{ margin-bottom: 60px; }

/**/

.jagged-border {
  position: relative;
  width: 100%;
  height: 50px;
}

.jagged-border:before {
  content: "";
  display: block;
  position: absolute;
  top: -10px;
  width: 100%;
  height: 10px;
}

.jagged-border-top:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 10px;
}

.white-bg {
  background: #FFF;
}
.white-bg:before {
  background: -webkit-linear-gradient(45deg, transparent 33.333%, #fff 33.333%, #fff 66.667%, transparent 66.667%),
							-webkit-linear-gradient(135deg, transparent 33.333%, #fff 33.333%, #fff 66.667%, transparent 66.667%);
  background: linear-gradient(45deg, transparent 33.333%, #fff 33.333%, #fff 66.667%, transparent 66.667%),
							linear-gradient(-45deg, transparent 33.333%, #fff 33.333%, #fff 66.667%, transparent 66.667%);
  background-size: 20px 40px;
}

/**/

.center-wrap,
.center-contener{
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.center-wrap{height: 100%;}

.center-box{
	position: relative;
	z-index: 1;
	text-align: justify;
	text-align:center\9;
	padding-top:200px\9;
}





/* */

/**/

.form-wrap{
width:100%;
margin:50px auto;
padding:5%;
}

.form-title{
padding:0;
text-align: center;
}

@media screen and (min-width:769px){
	.form-title{
		margin:0 0 30px;
	}
}

.control-label i{
margin:0;
padding:0;
color:#990000 !important;
font-size:10px;
}

.form-input-inline{ display: inline; }
.form-input-block{ display:block; }

@media screen and (max-width:768px){
	input,select,button,textarea,.input-group{ margin-bottom:0.5em; }
	.form-imput-twostage{ margin-bottom:0.5em; }
}
@media screen and (min-width:769px){
	.form-imput-twostage{ margin-bottom:0.5em; }
}

.last-box{
margin-bottom:50px;
}

.form-wrap hr {
margin-top:5%;
margin-bottom:5%;
border: 0;
border-top: 1px solid #ccc;
}

.form-wrap label{
	font-size:12px;
	font-weight: 700;
	color:#777;
}

.form-wrap label.radio-inline{font-size:14px;color:#555;}

::-webkit-input-placeholder{color:#aaa !important;}
:-moz-placeholder {color:#aaa !important;}


#policy{
	font-size:12px;
	color:#666;
}

#policy h1,
#policy h2,
#policy h3,
#policy h4,
#policy h5{
	font-size:12px;
	font-weight:bold;
}

#policy blockquote{
	font-size:10px;
}

#policy a{
	color: #999 /*#444*/;
	cursor: pointer;
}
#policy a:hover{
	color: #1d1d1d /*#444*/;
}

/**/




.pic,
.pic-no {
    max-width:100%;
    position: relative;
    overflow: hidden;
    display: inline-block;
    -webkit-animation: anima 2s;
    -moz-animation: anima 2s;
    -o-animation: anima 2s;
    -ms-animation: anima 2s;
    animation: anima 2s;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
}

.pic-caption {
    cursor: default;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(44, 62, 80, 0.92);
    text-align: center;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=($opacity * 100))";
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    -khtml-opacity: 0;
    opacity: 0;
		color: #fff;
}

.pic-caption-on{
    cursor: default;
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
}

.pic-image {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1)
}

.pic:hover .pic-image {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.pic-child {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%); /* Safari用 */
  transform: translate(-50%, -50%);
	text-align: center;
	text-shadow:
-2px -2px 0px #555,
2px -2px 0px #555,
2px 2px 0px #555,
-2px 2px 0px #555,
3px 3px 5px  #000;

}

.pic-text{
	font-size: 5.0rem;
	text-align: center;
	color: #fff;
	opacity: 1;
	font-family: "bebasneue","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","游ゴシック", YuGothic,"メイリオ", sans-serif;
}

@media screen and (max-width: 560px) {
	.pic-text{
		font-size: 4.0rem;
		/*text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 0;
		-webkit-text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 0;
		-moz-text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 0;*/
		text-shadow:
-2px -2px 0px #555,
2px -2px 0px #555,
2px 2px 0px #555,
-2px 2px 0px #555,
3px 3px 5px  #000;

	}
}

.pic-title {
	font-size: 5.0rem;
}

.pic .pic-image,
.pic-caption,
.pic:hover .pic-caption,
.pic:hover img,
.pic-text,
.pic:hover .pic-text{
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	-ms-transition: all 0.5s ease;
	transition: all 0.5s ease
}

.pic:hover .pic-text{
	opacity: 0;
}

.pic-caption a{
display: block;
width: 100%;
height: 100%;
}

.pic-caption a{
color: #fff !important;
}

.pic-caption a:hover{
color: #fff !important;
text-decoration: none !important;
}

.pic:hover .bottom-to-top{
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=($opacity * 100))";
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    -khtml-opacity: 1;
    opacity: 1;
    -webkit-user-select: none;
    -moz-user-select: none;
    -o-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -moz-touch-callout: none;
    -o-touch-callout: none;
    -ms-touch-callout: none;
    touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    -moz-tap-highlight-color: transparent;
    -o-tap-highlight-color: transparent;
    -ms-tap-highlight-color: transparent;
    tap-highlight-color: transparent
}

.bottom-to-top {
    top: 50%;
    left: 0
}

.pic:hover .bottom-to-top {
    top: 0;
    left: 0
}

@media screen and (max-width: 560px) {
    .pic,
		.pic-no{
        max-width: 400px;
        max-height: 300px;
        display: block;
        -webkit-animation: none;
        -moz-animation: none;
        -o-animation: none;
        -ms-animation: none;
        animation: none;
        margin: 10px auto
    }
}

/*  */

hr.style1{
	border-top: 1px solid #ddd;
	margin-bottom: 50px;
}

/*
.parallax_img{
	-webkit-box-align: center;
	-webkit-align-items: center;
			-ms-flex-align: center;
					align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
			-ms-flex-pack: center;
					justify-content: center;
}

.parallax{
width: 100%;
background-position:center;
background-repeat:no-repeat;
background-size:cover;
margin: 0;
}

.parallax-1{height:50vh;}
@media screen and (min-width: 768px){
	.parallax{background-attachment: fixed;}
	.parallax-1{height:50vh;}
}*/