@charset "utf-8";


#container {
	/* opacity: 0; */
	position: relative;
	z-index: 1;
}

.nav-active{
	position: relative;
}

.nav-active::before{
	position: absolute;
	content: "";
	background-image: url(../img/common/menu-activ.svg);
	background-repeat: no-repeat;
	width: 41px ;
	height: 35.3px;
	top: 50%;
	left: -2.5em;
	transform: translateY(-50%);
	background-size: 100%;
}

@media screen and (max-width:1300px) {
	.active::before{
		width: 2.8vw;
		height: 2.8vw;
		left: -3vw;
	}
}

@media screen and (min-width:1920px) {
	.nav-active::before{
		width: 2vw;
		height: 2vw;
	}
}

@media screen and (max-width:1024px) , screen and (max-height:650px){

/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
     /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
	 position:fixed;
	 z-index: 999;
	 /*ナビのスタート位置と形状*/
	 top:0;
	 right: -120%;
	 width:100%;
	 height: 100vh;/*ナビの高さ*/
	 background:#ffcdcd;
	 /*動き*/
	 transition: all 0.5s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
	/* min-height: 800px; */
    overflow: auto;
    -webkit-overflow-scrolling: touch;
	display: flex;
}

/*ナビゲーション*/
#g-nav .g-nav-add{
	position: absolute;
    z-index: 999;
	top:50%;
    left:50%;
    transform: translate(-50%,-50%);
	/* height: 100vh; */
	width: 100%;
}

/*リストのレイアウト設定*/

#g-nav{
	text-align: center;
}


#g-nav li a{
	text-decoration: none;
	display: block;
	color: #42210b;
}


/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
	top:10px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #666;
  	width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    /* width: 30%; */
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    /* width: 30%; */
}

}

/*===========================================================*/
/*機能編  5-2-1　3本線が×に*/
/*===========================================================*/


.openbtn {
	display: none;
}


@media screen and (max-width:1024px) , screen and (max-height:650px){

	.nav-menu{
		text-align: right;
	}

	.openbtn {
		display: inline-block;
		position: relative;
		top: 3%;
		right: 3%;
		z-index: 9999;
		/*ボタンを最前面に*/
		cursor: pointer;
		width: 89px;
		height: 89px;
		/* background-color: #666; */
	}

	/*×に変化*/
	.openbtn span {
		display: inline-block;
		transition: all .4s;
		position: absolute;
		right: 0;
		height: 2px;
		background-color: #fff;
		width: 80%;
	}

	.openbtn span:nth-of-type(1) {
		top: 30px;
	}

	.openbtn span:nth-of-type(2) {
		top: 45px;
	}

	.openbtn span:nth-of-type(3) {
		top: 60px;
	}

	.openbtn.active span:nth-of-type(1) {
		background-color: #e55064;
		top: 41px;
		left: 28px;
		transform: translateY(6px) rotate(-25deg);
		/* width: 30%; */
	}

	.openbtn.active span:nth-of-type(2){
		display: none;
	}

	.openbtn.active span:nth-of-type(3) {
		background-color: #e55064;
		top: 52px;
		left: 28px;
		transform: translateY(-6px) rotate(25deg);
		/* width: 30%; */
	}

}


/*=================================
ページトップ
===================================*/

#page-top {
	position: fixed;
	bottom: 0;
	right: 0;
	/*font-size: 80%;*/
	z-index: 999;
}

#page-top a {
	display: block;
	/*background: #666;
    color: #fff;
    width: 100px;*/
	/*padding: 25px 0;*/
	text-align: center;
	text-decoration: none;
	/* border-radius: 10px;*/
}

#page-top a:hover {
	opacity: 0.7;
	-webkit-opacity: 0.7;
}


/*==================================================
スライダーのためのcss
===================================*/

 
 .slider img {
	 width:100%;/*スライダー内の画像を横幅100%に*/
	 height:auto;
 }
 
 /*slickのJSで書かれるタグ内、スライド左右の余白調整*/
 
 .slider .slick-slide {
	 margin:0 10px;
 }
 
 /*ドットナビゲーションの設定*/
 
 .slick-dots {
	 text-align:center;
	 margin:20px 0 0 0;
 }
 
 .slick-dots li {
	 display:inline-block;
	 margin:0 0.5em;
 }
 
 .slick-dots button {
	padding: 0;
	 color: transparent;
	 outline: none;
	 width:1.125em;/*ドットボタンのサイズ*/
	 height:1.125em;/*ドットボタンのサイズ*/
	 display:block;
	 border-radius:50%;
	 background:#f5c96e;/*ドットボタンの色*/
 }
 
 .slick-dots .slick-active button{
	 background:#d25064;/*ドットボタンの現在地表示の色*/
 }
 

 .slick-dots button::after{
	/* background-image: none; */
	position: initial;
 }


/*==================================================
機能編　5-3-11 左右から線が伸びて枠線になる
===================================*/

.nav05b li {
	/*線の基点とするためrelativeを指定*/
	position: relative;
	margin: 0 15px;
}

/*線の基点位置*/
/* .nav05b li::before, */
.nav05b li::after {
	content: "";
	/*絶対配置で線の位置を決める*/
	position: absolute;
	/*線の形状*/
	width: 0;
	height: 4px;
	background: #182578;
	/*アニメーションの指定*/
	transition: all 0.2s linear;
	transition-delay: 0.2s;
}

@media screen and (max-width:1370px) {

	/*線の基点位置*/
	.nav05b li::after {
		background: #fff;
	}
}

.nav05b li::after {
	left: 0;
	bottom: 0;
}



/*現在地とhoverした際の線の変化*/

.nav05b li.current::after,
.nav05b li:hover::after {
	width: 100%;
	/*横幅を100%に*/
}


/*==================================================
機能編 　7-1-5	背景が流れる（中央から横全体）
===================================*/

/*== ボタン共通設定 */
.btn {
	/*アニメーションの起点とするためrelativeを指定*/
	position: relative;
	overflow: hidden;
	/*ボタンの形状*/
	text-decoration: none;
	display: inline-block;
	border-bottom: 4px solid #144b7d;
	/* ボーダーの色と太さ */
	padding: 10px 1em;
	text-align: center;
	outline: none;
	/*アニメーションの指定*/
	transition: ease .2s;
	font-weight: bold;
	font-size: 1.5em;
}

.btn.bgcenterout {
	border: 1px solid #fff;
	/* ボーダーの色と太さ */
	padding: 8px 40px;
}

/*ボタン内spanの形状*/
.btn span {
	position: relative;
	z-index: 3;
	/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	/* color:#33; */
}

.btn span::after {
	content: url(../img/btn_arrow.svg);
	padding-left: .5em;
}

.btn:hover span {
	color: #fff;
}

.btn.bgcenterout span {
	color: #fff;
}

.btn.bgcenterout:hover span {
	color: #144b7d;
}

.btn:hover span::after {
	content: url(../img/btn_arrow_white.svg);
	padding-left: .5em;
}

/*== 中央から横全体 */
.bgcenterx:before {
	content: '';
	/*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	/*色や形状*/
	background: #144b7d;
	width: 100%;
	height: 100%;
	/*アニメーション*/
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: top;
}

/*hoverした際の形状*/
.bgcenterx:hover:before {
	transform: scale(1, 1);
}



/*== 中央から外 */
.bgcenterout:before {
	content: '';
	/*絶対配置で位置を指定*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	/*色や形状*/
	background: #fff;
	width: 100%;
	height: 100%;
	/*アニメーション*/
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 0);
	transform-origin: center;
}

/*hoverした際の形状*/
.bgcenterout:hover:before {
	transform: scale(1, 1);
}

@media screen and (max-width:768px) {
	.btn {
		font-size: 1.1rem;
	}
}

/*==================================================
機能編 　7-1-33	外の線が伸びる
===================================*/

/*== 線が伸びる1 */

.btnlinestretches {
	/*線の基点とするためrelativeを指定*/
	position: relative;
	/*ボタンの形状*/
	color: #333;
	border: 1px solid #333;
	padding: 30px 0;
	display: inline-block;
	text-decoration: none;
	outline: none;
	/*アニメーションの指定*/
	transition: all 0.3s ease-in-out;
}

/*hoverした際の背景の形状*/
.btnlinestretches:hover {
	background: #333;
	color: #fff;
	border-color: transparent;
}

/*線の設定*/
.btnlinestretches::before,
.btnlinestretches::after {
	content: '';
	/*絶対配置で線の位置を決める*/
	position: absolute;
	border: solid #333;
	width: 10px;
	height: 10px;
	/*アニメーションの指定*/
	transition: all 0.3s ease-in-out;
}

/*線の位置と形状*/
.btnlinestretches::before {
	top: -6px;
	left: -6px;
	border-width: 1px 0 0 1px;
}

/*線の位置と形状*/
.btnlinestretches::after {
	bottom: -6px;
	right: -6px;
	border-width: 0 1px 1px 0;
}

/*hoverした際の線の形状*/
.btnlinestretches:hover::before,
.btnlinestretches:hover::after {
	width: calc(100% + 11px);
	height: calc(100% + 11px);
	border-color: #666
}


/*==================================================
印象編 4 最低限おぼえておきたい動き
===================================*/

/* 4-2 パタッ（下へ） */

.flipDown {
	animation-name: flipDownAnime;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes flipDownAnime {
	from {
		transform: perspective(2500px) rotateX(100deg);
		opacity: 0;
	}

	to {
		transform: perspective(2500px) rotateX(0);
		opacity: 1;
	}
}

/* 4-1 ふわっ（下から） */

.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}


/* 4-1 ふわっ（左から）*/

.fadeLeft {
	animation-name: fadeLeftAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeLeftAnime {
	from {
		opacity: 0;
		transform: translateX(-100px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* 4-1 ふわっ（右から） */

.fadeRight {
	animation-name: fadeRightAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeRightAnime {
	from {
		opacity: 0;
		transform: translateX(100px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger,
.fadeLeftTrigger,
.fadeRightTrigger {
	opacity: 0;
}