@charset "UTF-8";

/* ----------------------------------
Common layout 
---------------------------------- */



#wrapper{
	width:100%;
	overflow:hidden;
	position:relative;
}
@media screen and (max-width: 750px) {
#wrapper{
	min-width:100%;
	overflow: hidden;
}
}


.container{
	width: 100%;
	height: auto;
}

.inner_1{
	width: 1100px;
	padding: 0 50px;
	margin: 0 auto;
}
@media screen and (max-width: 750px) {
.inner_1{
	width:90%;
	padding:0 5%;
}
}


.inner_2{
	width: 1000px;
	padding: 100px;
	margin: 0 auto;
}
@media screen and (max-width: 750px) {
.inner_2{
	width:80%;
	padding:0 10%;
}
}

.naka_inner{
	width: 900px;
	padding: 0 50px;
	margin: 0 auto;
	display: inline-block;
}
@media screen and (max-width: 750px) {
.naka_inner{
	width:100%;
	height: auto;
	padding:0;
}
}

	

/* -- Humbarger Nav -- */

.gnav_humb{
	text-align: right;
	margin-right: 20px;
}

.menu-trigger,
.menu-trigger span{
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
  cursor :pointer;
}
.menu-trigger{
  position: relative;
  width: 50px;
  height: 50px;
  z-index: 100;
}
.menu-trigger span{
  position: absolute;
  background: #1a1a1a;
  width: 30px;
  height: 2px;
  right: 0;
  margin: auto;
}
.menu-trigger span:nth-of-type(1){
  top: 15px;
}
.menu-trigger span:nth-of-type(2){
  top: 0;
  bottom: 0;
}
.menu-trigger span:nth-of-type(3){
  bottom: 15px;
}
.menu-trigger.active span:nth-of-type(1){
  -webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2){
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3){
  -webkit-transform: translateY(-9px) rotate(45deg);
	transform: translateY(-9px) rotate(45deg);
}
.g-nav{
  display: none;
  position: absolute;
  top: 0;
  background: rgba(255,255,255,.9);
  width: 100%;
  height: 100%;
	z-index: 1;
}
.g-nav .list{
  padding: 10px 40px 40px 40px;
}
.g-nav .list .item{
  display: block;
  text-align: center;
}
.g-nav .list .item a{
  display: block;
  text-align: center;
  text-decoration: none;
  color: #333333;
  padding: 15px 0;
	font-family:"font5";
	font-size:18px;
	letter-spacing:0.24em;
	line-height: 3em;
	transition: color .4s ease;
}
@media screen and (max-width: 750px) {
.g-nav .list .item a{
	line-height: 2em;
}
}
.g-nav .list .item a:hover {
  color: #e8623b;
  text-decoration:none;
}

.g-nav .list .item0{
  display: block;
	height: 130px;
  text-align: center;
}


/* -- TagetBlank icon -- */

.blank_ico{
	width: 11px;
	height: 11px;
}


/* -- SNS icons -- */

.sns_ico{
	width: 50px;
	height: 22px;
	float: left;
	position: absolute;
	margin: 15px 0 0 20px;
	z-index: 2;

display: -webkit-flex;
display: flex;
-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
align-items: center; /* 縦方向中央揃え */
}



/* -- Header -- */

.head{
	width: 100%;
	height: 200px;
	display: block;
	margin-top: -50px;
	
display: -webkit-flex;
display: flex;
-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
align-items: center; /* 縦方向中央揃え */
-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
justify-content: center; /* 横方向中央揃え */
}

.head2{
	width: 100%;
	height: 200px;
	display: block;
	
display: -webkit-flex;
display: flex;
-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
align-items: center; /* 縦方向中央揃え */
-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
justify-content: center; /* 横方向中央揃え */
}

.head_logo{
	z-index: 0;
}


/* -- naka ttl -- */

.naka_ttl_area{
	clear:both;
	width:100%;
    height:450px;
}

.naka_ttl{
	width: 250px;
	height: 250px;
	margin: 100px 0;
	background: rgba(255,255,255,.9);
	position: absolute;
	z-index: 0;
}

.naka_ttl_txt1{
	display: inline-block;
	text-align:left;
	color: #e8623b; /*非対応のブラウザでの文字色を設定 */
	background: -webkit-linear-gradient(0deg, #e4481b, #2b958b, #75ba4b, #e9e021); /*背景色にグラデーションを指定 */
	-webkit-background-clip: text; /*テキストでくり抜く */
	-webkit-text-fill-color: transparent; /*くり抜いた部分は背景を表示 */
	font-family:"font5";
	font-size:26px;
	letter-spacing:0.3em;
	margin: 100px 0 0 50px;
}

@media screen and (max-width: 750px) {
.naka_ttl_txt1{
	font-size:26px;
	margin: 100px 0 0 30px;
}
}
	
.naka_ttl_txt2{
	text-align:left;
	color: #1a1a1a;
	font-size:11px;
	letter-spacing:0.3em;
	margin: 5px 0 0 50px;
}

@media screen and (max-width: 750px) {
.naka_ttl_txt2{
	font-size:13px;
	margin: 5px 0 0 30px;
}
}

.naka_ttl_txt3{
	display: inline-block;
	text-align:left;
	color: #e8623b; /*非対応のブラウザでの文字色を設定 */
	background: -webkit-linear-gradient(0deg, #e4481b, #2b958b, #75ba4b, #e9e021); /*背景色にグラデーションを指定 */
	-webkit-background-clip: text; /*テキストでくり抜く */
	-webkit-text-fill-color: transparent; /*くり抜いた部分は背景を表示 */
	font-family:"font5";
	font-size:18px;
	line-height: 1.6em;
	letter-spacing:0.24em;
	margin: 80px 0 0 50px;
}

@media screen and (max-width: 750px) {
.naka_ttl_txt3{
	font-size:18px;
	margin: 80px 0 0 30px;
}
}
	
.naka_ttl_txt4{
	text-align:left;
	color: #1a1a1a;
	font-size:11px;
	line-height: 1.6em;
	letter-spacing:0.3em;
	margin: 10px 0 0 50px;
}

@media screen and (max-width: 750px) {
.naka_ttl_txt4{
	font-size:13px;
	margin: 10px 0 0 30px;
}
}



/* -- naka sub-ttl -- */

.naka_subt{
	width: 100%;
	margin: 0 0 50px 0;
	z-index: 0;
	text-align: left;
}
@media screen and (max-width: 750px) {
.naka_subt{
	margin: 100px 0 50px 0;
}
}


.naka_subt_txt1{
	font-family:"font5";
	font-size:11px;
	color: #4c4c4c;
	letter-spacing:0.3em;
	line-height: 1;
	margin: 0 0 15px 0;
}

.naka_subt_txt2{
	font-family:"font3";
	font-size:18px;
	color: #1a1a1a;
	letter-spacing:0.3em;
	line-height: 1;
	margin: 0 0 25px 0;
}

.naka_subt_txt3{
	font-family:"font5";
	font-size:18px;
	color: #1a1a1a;
	letter-spacing:0.3em;
	line-height: 1;
	margin: 0 0 25px 0;
	font-weight: 600;
}

.naka_subt_bar{
	width: 80px;
	height: 2px;
	background: url("../img/naka_subt_bar.png") no-repeat;
}






.naka_photos{
	width:100%;
	height:225px;
	margin-bottom: 100px;
}
.naka_photos ul li{
	width: 25%;
	padding: 0;
	list-style: none;
	display:inline;
	float:left;
	height:225px;
	overflow: hidden;
}
.naka_photos ul li img{
	max-width: 100%;
	height: auto;
}


@media screen and (max-width: 750px) {
.naka_photos{
	width:100%;
	height:auto;
	margin-bottom: 100px;
}
.naka_photos ul li{
	float: none;
	width: auto;
	height: auto;
	text-align: center;
	margin: 0 auto;
	padding-bottom: 50px;
	
display: -webkit-flex;
display: flex;
-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
justify-content: center; /* 横方向中央揃え */
}
}









/*  MouseOver Animation  */
/* Bounce In */
.hvr-bounce-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.hvr-bounce-in:hover, .hvr-bounce-in:focus, .hvr-bounce-in:active {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}




/* ----------------------------------
scroll top btn
---------------------------------- */

#scrolltotop a {
    height: 30px;
    bottom: -120px;
    width: 30px;
    position: fixed;
    right: 3%;
    z-index: 99
}

#scrolltotop span:after {
    position: absolute;
    display: block;
    margin-top: -9px;
    margin-left: -10.5px;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 30px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg)
}




/* ----------------------------------
footer
---------------------------------- */

footer{
	width:100%;
	position: relative;
}


/* -- Footer -- */

#foot{
	clear:both;
	width:100%;
	bottom:0px;
	margin: 0 auto;
	position: relative;
	padding-top: 100px;
	background: url("../img/foot_bar.png") repeat-x bottom;
}

#foot_logo{
	width:100%;
	height:120px;
	text-align: center;
	margin:0 0 30px 0;
	
display: -webkit-flex;
display: flex;
-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
justify-content: center; /* 横方向中央揃え */
}


#foot_txt{
	text-align:center;
	clear:both;
	padding:0 0 60px 0;
	margin:0 auto;
	font-size:11px;
	line-height:2em;
	letter-spacing:0.2em;
}
@media screen and (max-width: 750px) {
#foot_txt{
	width: 90%;
	font-size:13px;
}
}


#copyright{
	width:100%;
	height:10px;
	text-align:center;
	clear:both;
	color:#000;
	font-size:9px;
	letter-spacing:0.2em;
	bottom:20px;
	position: absolute;
	font-family:"font5";
}
@media screen and (max-width: 750px) {
#copyright{
	font-size:11px;
}
}











/*-----------------------------------
	General Class
-----------------------------------*/



.txt11_1{
	font-size:11px;
	line-height:2.2em;
	letter-spacing:0.4em;
}

@media screen and (max-width: 750px) {
.txt11_1{
	font-size:13px;
	line-height:2em;
	letter-spacing:0.4em;
}
}

.txt12_1{
	font-size:12px;
	line-height:3.2em;
	letter-spacing:0.4em;
}

@media screen and (max-width: 750px) {
.txt12_1{
	font-size:15px;
	line-height:2.6em;
	letter-spacing:0.4em;
}
}


.txt12_2{
	font-size:12px;
	line-height:3.2em;
	letter-spacing:0.1em;
}

@media screen and (max-width: 750px) {
.txt12_2{
	font-size:13px;
	line-height:2.6em;
	letter-spacing:0;
}
}

.txt12_3{
	font-size:12px;
	line-height:3.2em;
	letter-spacing:0.4em;
}

@media screen and (max-width: 750px) {
.txt12_3{
	font-size:13px;
	line-height:1.6em;
	letter-spacing:0.2em;
}
}

.txt12_4{
	font-size:12px;
	line-height:3.2em;
	letter-spacing:0.4em;
}

@media screen and (max-width: 750px) {
.txt12_4{
	font-size:13px;
	line-height:2.6em;
	letter-spacing:0.1em;
}
}



.txt13_1{
	font-size:13px;
	line-height:3.2em;
	letter-spacing:0.4em;
}

@media screen and (max-width: 750px) {
.txt13_1{
	font-size:14px;
	line-height:2em;
	letter-spacing:0.4em;
}
}





















.txt14_1{
	font-size:14px;
	line-height:1em;
	letter-spacing:0.3em;
}

.txt14_2{
	font-size:14px;
	line-height:1.8em;
	letter-spacing:0.2em;
	font-family:'font4';
}

.txt15_1{
	font-size:15px;
	line-height:1.8em;
	letter-spacing:0.3em;
}

.txt18_1{
	font-size:18px;
	line-height:1.6em;
	letter-spacing:0.2em;
}
.txt18_2{
	font-size:18px;
	line-height:24px;
	letter-spacing:0.2em;
}

.txt20_1{
	font-size:20px;
	line-height:1.6em;
	letter-spacing:0.2em;
	color:#1a1a1a;
}


.txt24_1{
	font-size:24px;
	line-height:1.6em;
	letter-spacing:0.2em;
	color:#1a1a1a;
}

.txt30_1{
	font-size:30px;
	line-height:1.6em;
	letter-spacing:0.24em;
	font-family:'font3';
}

.txt30_2{
	font-size:30px;
	line-height:1.6em;
	letter-spacing:0.16em;
	font-family:'font3';
}


.txt_eng{
	letter-spacing: 0.1em;
}



.imglink a:hover{
	opacity: 0.9;
}

.txtlink1 a{
	color:#007cc4;
	text-decoration:none;
}
.txtlink1 a:hover{
	color:#007cc4;
	text-decoration:underline;
}
.txtlink2 a{
	color:#da9f27;
	text-decoration:none;
}
.txtlink2 a:hover{
	color:#999;
	text-decoration:none;
}



.wht{
	color:#fff;
}
.blk1{
	color:#1a1a1a;
}
.blue{
	color:#007cc4;
}
.yellow{
	color:#da9f27;
}
.l_blu{
	color:#53b7e8;
}
.gray{
	color:#7F7E82;
}
.orangered{
	color:#e96d49;
}

.line_blue{
	border-bottom:1px solid #007cc4;
}

.line_yellow{
	border-bottom:2px solid #da9f27;
	padding-bottom:3px;
}
/*IE10以降に適用されるCSSハック（一応）*/
@media all and (-ms-high-contrast:none){
  .line_yellow {
	padding-bottom:3px;
  }
}
/*IE11だけに適用されるCSSハック*/
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .line_yellow {
	padding-bottom:-20px;
  }
}


.txt_ind_6{
	text-indent:-6px;
}
.txt_ind_10{
	text-indent:-10px;
}


.bg_blue{
	background-color:#007cc4;
	padding:0;
}
.bg_beige{
	background-color:#f0ece3;
}
.bg_gray{
	background-color:#f3f1ee;
}
.bg_gray2{
	background-color:#f7f5f1;
}
.bg_yellow{
	background-color:#da9f27;
	padding:3px;
}
.bg_blk{
	background-color:#000;
	padding:3px;
}
.bg_wht{
	background-color:#fff;
	border:1px solid #000;
	padding:3px;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}
.center {
	text-align: center;
}
.middle {
	vertical-align: middle;
}
.fl {
	float: left;
}
.fr {
	float: right;
}
.clear {
	clear: both;
}
.none {
	display: none;
}

@media screen and (max-width: 750px) {
	.br_sp{
		display: none;
	}
}
	
.block {
	display: block;
}

.font_light{
	font-family:'font2';
}
.font_bold{
	font-family:'font3';
}
.font_medium{
	font-family:'font4';
}

.bold {
	font-weight: bold;
}
.bold2 {
	font-weight: bold;
	font-size:102%;
}
.bold_s {
	font-weight: bold;
	font-size:80%;
}
.big01 {
	font-size:150%;
	line-height:120%;
}
.help {
	cursor: help;
}
.caption {
	font-weight: bold;
	color: #e36816;	
}
.cap {
	font-size: small;
	color: #666666;
	margin: 15px 0px 0px;
}
.small {
	font-size: 0.8em;
}
@media screen and (max-width: 750px) {
.small {
	line-height: 1.2em;
}

.small2 {
	font-size: 0.9em;
}
	
.mt5 {
	margin-top: 5px;
}
.mt7 {
	margin-top: 7px;
}
.mt10 {
	margin-top: 10px;
}
.mt14 {
	margin-top: 14px;
}
.mt15 {
	margin-top: 15px;
}
.mt20 {
	margin-top: 20px;
}
.mt25 {
	margin-top: 25px;
}
.mt30 {
	margin-top: 30px;
}
.mt35 {
	margin-top: 35px;
}
.mt40 {
	margin-top: 40px;
}
.mt45 {
	margin-top: 45px;
}
.mt50 {
	margin-top: 50px;
}
.mt60 {
	margin-top: 60px;
}
.mt70 {
	margin-top: 70px;
}
.mt80 {
	margin-top: 80px;
}
.mt90 {
	margin-top: 90px;
}
.mt100 {
	margin-top: 100px;
}
.mt110 {
	margin-top: 110px;
}
.mt120 {
	margin-top: 120px;
}
.mt160 {
	margin-top: 160px;
}
.mt240 {
	margin-top: 240px;
}
.mt280 {
	margin-top: 280px;
}
.mb2 {
	margin-bottom: 2px;
}
.mb5 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb15 {
	margin-bottom: 15px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb25 {
	margin-bottom: 25px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb35 {
	margin-bottom: 35px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb45 {
	margin-bottom: 45px;
}
.mb50 {
	margin-bottom: 50px;
}
.mb60 {
	margin-bottom: 60px;
}
.mb80 {
	margin-bottom: 80px;
}
.mr10 {
	margin-right: 10px;
}
.mr20 {
	margin-right: 20px;
}
.mr21 {
	margin-right: 21px;
}
.mr30 {
	margin-right: 30px;
}
.ml6 {
	margin-left: 6px;
}
.ml15 {
	margin-left: 15px;
}
.ml18 {
	margin-left: 18px;
}
.ml21 {
	margin-left: 21px;
}
.ml22 {
	margin-left: 22px;
}
.ml24 {
	margin-left: 24px;
}
.ml25 {
	margin-left: 25px;
}
.ml30 {
	margin-left: 30px;
}
.ml34 {
	margin-left: 34px;
}
.ml35 {
	margin-left: 35px;
}
.pr30 {
	padding-right: 30px;	
}
.pl_7 {
	padding-left: -7px;	
}
.pl21 {
	padding-left: 21px;	
}
.pl22 {
	padding-left: 22px;	
}
.pl30 {
	padding-left: 30px;	
}
.pt5 {
	padding-top: 5px;	
}
.pt10 {
	padding-top: 10px;	
}
.pt13 {
	padding-top: 13px;	
}
.pt15 {
	padding-top: 15px;	
}
.pt20 {
	padding-top: 20px;	
}
.pt24 {
	padding-top: 24px;	
}
.pt30 {
	padding-top: 30px;	
}
.pt40 {
	padding-top: 40px;	
}
.pt50 {
	padding-top: 50px;	
}
.pt60 {
	padding-top: 60px;	
}
.pt70 {
	padding-top: 70px;	
}
.pt80 {
	padding-top: 80px;	
}
.pt100 {
	padding-top: 100px;	
}
.pt120 {
	padding-top: 120px;	
}
.pb2 {
	padding-bottom: 2px;	
}
.pb5 {
	padding-bottom: 5px;	
}
.pb10 {
	padding-bottom: 10px;	
}
.pb24 {
	padding-bottom: 24px;	
}
.pb40 {
	padding-bottom: 40px;	
}
.pb60 {
	padding-bottom: 60px;	
}
.pb70 {
	padding-bottom: 70px;	
}
.pb80 {
	padding-bottom: 80px;	
}
.blank1{
	clear:both;
	padding:1px 0 0 0;
}
.blank10{
	clear:both;
	padding:10px 0 0 0;
}
.blank15{
	clear:both;
	padding:15px 0 0 0;
}
.blank20{
	clear:both;
	padding:20px 0 0 0;
}
.blank25{
	clear:both;
	padding:25px 0 0 0;
}
.blank30{
	clear:both;
	padding:30px 0 0 0;
}
.blank40{
	clear:both;
	padding:40px 0 0 0;
}
.blank50{
	clear:both;
	padding:50px 0 0 0;
}
@media screen and (max-width: 750px) {
	.blank50{
		clear:both;
		padding:10px 0 0 0;
	}
}

.blank60{
	clear:both;
	padding:60px 0 0 0;
}
.blank70{
	clear:both;
	width: 100%;
	height: 70px;
}
@media screen and (max-width: 750px) {
.blank70{
	clear:both;
	height: 20px;
}
}

.blank80{
	clear:both;
	padding:80px 0 0 0;
}
.blank100{
	clear:both;
	padding:100px 0 0 0;
}
.blank140{
	clear:both;
	padding:140px 0 0 0;
}
.blank150{
	clear:both;
	height: 150px;
}
@media screen and (max-width: 750px) {
.blank150{
	clear:both;
	height: 1px;
}
}

.blank160{
	clear:both;
	padding:160px 0 0 0;
}
.blank200{
	clear:both;
	padding:200px 0 0 0;
}

