﻿@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP|Russo+One&display=swap');
/* =====================
  default style
===================== */
img{
	vertical-align:top;
}
em{
	font-style: normal;
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	letter-spacing: 2px;
}

/* =====================
  all page
-body
-header
-
===================== */
body{
	line-height: 2;
	font-family:  "Noto Sans JP","Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "YuGothic M", meiryo, sans-serif;
	letter-spacing: 0.1em;
	box-sizing: border-box;
	 -webkit-overflow-scrolling: touch;
	overflow-scrolling:touch;
}
.en{font-family: "Russo One", "Noto Sans JP","Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "YuGothic M", meiryo, sans-serif;}
.Russo{font-family: "Russo One", "Noto Sans JP","Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "YuGothic M", meiryo, sans-serif;}

/* =====================
  header
===================== */
#logo{width: 140px;margin:0px auto 0px 30px; }
#header{
	border-bottom: 1px solid #fff;
	z-index: 5;
	position:fixed;
	padding: 15px 0px;
	transition: .4s;
}
.is-animation {
	transition: .4s;
	background-color: #f0eaea91;
}
#pc_nav{margin-right: 220px;}
#pc_nav li{padding: 0px 20px;}
#pc_nav li span.en{margin-bottom: -5px;}
#header_contact a.btn_back{
	width: 300px;
	height: 84px;
	text-align: center;
	position: absolute;
	right: -100px;
	top: 0px;
	background-color: rgba(255, 255, 255, 0.6);
	transform: skewX(-24.35deg);
}
#header_contact a.btn_back:hover{
	background-color: rgba(255, 255, 255, 0.9);
}
#header_contact span{
	position: absolute;
	top: 30px;
	right: 50px;
	cursor: pointer;
	pointer-events: none;
}
header span.before{
	width: 400px;
	height: 800px;
	position: absolute;
	z-index: 1;
	-webkit-transform: skewX(-26.35deg);
	transform: skewX(-26.35deg);
	left: -202px;
	bottom: 0;
}
header span.after {
	width: 400px;
	height: 800px;
	position: absolute;
	z-index: 1;
	-webkit-transform: skewX(-26.35deg);
	transform: skewX(-26.35deg);
	right: -200px;
	top: 0;
}
.swiper-button-next, .swiper-button-prev{display: none;}
.cms_title{position: relative;}
.cms_title:after {
  content: "";
  display: block;
  line-height: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: -2px;
  width: 70%;
  border-bottom: 2px solid #e2e2e2;
}
.cms_title h2{margin-bottom: -12px;}
.cms_title p{padding-left: 2px;}

/* =====================
  footer
===================== */
#page-top{
	display: block;
	width: 111px;
	text-align: center;
  transform:rotate(-90deg) translateX(0px);
	margin: 0px 0px 80px auto;
}
#page-top:hover{
  transform:rotate(-90deg) translateX(6px);
}
#footer_contact{
	background-position: center;
	background-size: cover;
	padding: 100px 0px 150px;
}
#footer_contact p:first-of-type .c-btn{padding: 60px 200px;}
#footer_contact p:last-of-type .c-btn{padding: 60px 120px;}
#footer{border-bottom: 1px solid #333333; padding: 60px 0px;}
#logo2{width: 140px;}
.footer_info{margin: 0px auto 0px 0px;}
.footer_sitemap{border-left: 1px solid #333333;}
.footer_sitemap li a:hover{opacity: 0.6;}

/* =====================
  link ボタン
===================== */
.c-btn{
	position: relative;
	display: inline-block;
	letter-spacing: .1em;
	color: #fff;
	padding: 20px 300px;
	font-weight: 500;
	font-size: 16px;
}
.c-btn__back {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: '';
	-webkit-transform: skewX(-21.35deg);
	transform: skewX(-21.35deg);
}
.c-btn__inner {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
	line-height: 0px;
	pointer-events: none;
}
.fa-angle-right{
	margin-left: 30px;
	padding-bottom: 2px;
	font-size: 16px;
}
#footer_contact.fa-angle-right{
	padding-bottom: 3px;
}

.btn__txt{line-height: 0;}

/* =====================
  Googlemap
===================== */
.info_map iframe{
	width: 100%;
	height: 300px;
}

@media screen and (max-width: 1280px){
	#top_cms section > div,#footer,#top_message{width: 90%;min-width: 300px;}
	#footer_contact{padding: 50px 0px 100px;}
	#footer_contact p:first-of-type .c-btn{padding: 40px 100px;}
	#footer_contact p:last-of-type .c-btn{padding: 40px 20px;}
}


/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
    header span.before{
        top: -170px;
        bottom: auto;
    }
    header span.after{
        top: auto;
        bottom: -170px;
    }
	header span.before,header span.after{width: 220px;}
	.c-btn{padding: 20px 100px;}
	#footer_contact p:first-of-type .c-btn{padding: 30px 60px;}
	#footer_contact p:last-of-type .c-btn{padding: 30px 10px;}
	#page-top {
		width: 111px;
		text-align: center;
		transform: rotate(0deg) translateX(0px);
		margin: 0px auto 50px;
		border-bottom: 2px solid #333333;
	}
	#page-top:hover{
		transform: rotate(0deg) translateX(0px);
	}
	#page-top i{
		transform: rotate(-90deg);
		padding: 8px;
	}
	.pager li:not(.prev):not(.next){display: none;}
}

/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
	#logo{width: 100px;}
    header span.before{
        top: 0;
    }
    header span.after{
        bottom: 0;
    }
	header span.before, header span.after {width: 80px;}
}
/* =====================
  トップページ
-スライドショー
-top_message
-top_contents1
-top_cms
===================== */

/* ---------- Vegasスライドショー ---------- */
#vegas{width: 100%;height: 80vh;}

@keyframes kenburns {
    0% {
        transform: scale(1.5) rotate(0.1deg);
    }
    100% {
        transform: scale(1) rotate(0.1deg);
    }
}

/* ---------- top_message ---------- */
#top_message{	padding: 60px;}
#top_message .intro_title{font-size: 50px;top: 0%;}
#top_message h2{font-size: 24px;margin-bottom: 30px;}
#top_message .intro_txt{font-size: 16px;}

/* ---------- top_contents1 ---------- */
#top_contents1,#top_contents2{
	position: relative;
	overflow: hidden;
}
#top_contents1 div img,#top_contents2 div img{height: 100%;}

.top_contents1_box,.top_contents2_box{
	position: relative;
	z-index: 3;
	max-width: 500px;
}
.top_contents1_box{
	margin: 5% auto 5% 10%;
}
.top_contents2_box{
	margin: 5% 10% 5% auto;
}
.top_contents1_img,.top_contents2_img{
	position: absolute; 
	top: 0;
	z-index: 1;
	height: 100%;
	background-size: cover;
	background-position: center center;
}
.top_contents1_img{
	right: 0;
}
.top_contents2_img{
	left: 0;
}
#top_contents1 div span.after,#top_contents2 div span.after{
    width: 50%;
    height: 200%;
    position: absolute;
    z-index: 1;
    -webkit-transform: skewX(-26.35deg);
    transform: skewX(-26.35deg);
}
#top_contents1 div span.after{top: -50%;left: -30%;}
#top_contents2 div span.after{top: -50%;right: -30%;}

#top_contents1 h3,#top_contents2 h3{position: relative;}
#top_contents1 h3::before,#top_contents2 h3::before{
	font-family: "Russo One", "Noto Sans JP","Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "YuGothic M", meiryo, sans-serif;
	font-size: 97px;
	opacity: 0.4;
	color: #333333;
	position: absolute;
}
#top_contents1 h3::before{
	content: "01";
	top: -85px;
	left: -70px;
}
#top_contents2 h3::before{
	content: "02";
	top: -85px;
	left: -70px;
}
/* ---------- top_cms ---------- */

/* =====================
  下層ページ
===================== */
#filter_white{
	background-color: rgba(228, 243, 247, 0.35);
	padding: 150px 0px 60px;
}

.cate_list li{display: inline-block;}
.cate_list li a{display: block;padding: 8px 20px;font-size: 12px; margin: 0px 2px 7px 0px;}

#page10 div a:hover i{transform: translateX(-10px);}

/* =====================
  その他
===================== */
@media only screen and (max-device-width:768px ) and (orientation:landscape) {
	#global-nav {
		overflow: scroll;
		height: 80vh;
	}
}

/*====================================
  	IE環境の設定
====================================*/
@media all and (-ms-high-contrast:none){
	.button a span{padding: 16px 0px 14px;}
	.fa-angle-right{padding-bottom: 1px;}
	#page8 .mail input{padding: 13px 10px 10px 7px;}
}

/*ここからタブレット用（900px以下）環境の設定
---------------------------------------------------------------------------*/
/*表示を切り替えるウィンドウサイズの指定*/
@media screen and (max-width: 768px){
	#vegas{width: 100%;height:40vh;}	
	#top_message{padding: 30px;}
	#top_message .intro_title{font-size: 40px;}
	/* =====================
		top_contents1
	===================== */
	.top_contents1_box,.top_contents2_box{
		max-width:none;
		padding: 30px;
		background-color: rgba(255, 255, 255, 0.85);
		margin: 10%;
	}
	.top_contents1_box h3,.top_contents2_box h3,.top_contents1_box p,.top_contents2_box p{color: #333333;	}
	#top_contents2 div span.after{	top: 0px;	right: -10%;}
	#top_contents1 h3::before, #top_contents2 h3::before {	
		position: absolute;
		top: -80%;
		left: 50%;
		transform: translate(-50%,-50%);	
		opacity: 1;
	}
}
/*ここからスマートフォン用（480px以下）環境の設定
---------------------------------------------------------------------------*/
/*表示を切り替えるウィンドウサイズの指定*/
@media screen and (max-width : 600px ){
	#vegas{width: 100%;height:40vh;}	
	#top_contents1 div span.after,#top_contents2 div span.after{display: none;}
	#top_contents1 div:last-of-type,#top_contents2 div:last-of-type{bottom: 0px;}
	#top_contents1 h3::before, #top_contents2 h3::before{font-size: 48px;}
}