@charset "UTF-8";
/* CSS Document */


/* =================== Fonts ==================== */
/*
font-family: 'Noto Serif JP', serif;
font-family: 'Roboto', sans-serif;
*/

.text-large-120 {
  font-size: 120%;
}
.text-large-140 {
  font-size: 140%;
}
.text-underline {
  text-decoration: underline;
}


/* ===================================================== */
/* =================== PC/スマホ表示切り替え ==================== */
.pc-display {
  display: block;
}
.sp-display {
  display: none;
}
@media screen and (max-width: 800px) {
  .pc-display {
    display: none;
  }
  .sp-display {
    display: block;
  }
}

/* ===================================================== */
/* =================== ナビゲーション ==================== */

/******** PC用ナビ/801pxサイズ以上 ********/
@media screen and (min-width: 801px) {
  #navigation {
    font-family: 'Noto Serif JP', serif;
  }
  .nav-wrap {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
  }
  .nav-wrap .fixed-title {
    text-align: center;
    padding-top: 3px;
  }
  .nav-wrap .fixed-title img {
    max-width: 160px;
  }
  #global-nav {
    padding: 15px 0 0;
  }
  #global-nav ul {
    display: flex;
    justify-content: flex-end;
    list-style: none;
    margin-bottom: 0.6rem
  }
  #global-nav ul li {
    text-align: center;
  }
  #global-nav a {
    color: #303030;
    font-size: 16px;
    text-decoration: none;
    display: block;
    padding: 0 10px 10px 10px;
    position: relative;
  }
  #global-nav a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #B96168;
    bottom: -1px;
    transform: scale(0, 1);
    transform-origin: left top; /* 左からアンダーライン出現 */
    transition: transform 0.3s;
  }
  #global-nav a:hover::after {
    transform: scale(1, 1);
  }
}
/******** //PC用ナビ/801pxサイズ以上 ********/


/******** スマホ・タブレット用アコーディオンナビ/800pxサイズ以下 ********/
/* =========== スマホ版アコーディオン設定 =========== */
#nav-toggle {
	display: none;
	position: fixed;
	top: 15px;
	right: 15px;
	height: 32px;
}
#nav-toggle > div {
	position: relative;
	width: 32px;
}
#nav-toggle span {
	width: 100%;
	height: 2px;
	left: 0;
	display: block;
	background: #1D1D1D;
	position: absolute;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 11px;
}
#nav-toggle span:nth-child(3) {
	top: 22px;
}
/* =========== //スマホ版アコーディオン設定 =========== */
/* =========== z-indexの設定 =========== */
@media screen and (max-width: 800px) {
	#overlay {
		z-index: 200;
	}
	#navigation {
		z-index: 300;
	}
	#nav-toggle {
		z-index: 400;
	}
}
/* =========== //z-indexの設定 =========== */

@media screen and (max-width: 800px) {
  #navigation {
    padding-top: 220px;
    width: 240px;
    height: 100%;
    position: fixed;
    color: #FFFFFF;
    background: #1D1D1D;
  }
  #global-nav ul {
    list-style: none;
    margin-left: 0;
  }
  #global-nav > ul > li {
    position: relative;
  }
  #global-nav a {
    font-size: 18px;
    color: #FFFFFF;
    text-decoration: none;
    display: block;
    padding: 12px 0 12px 40px;
    -moz-transition: background-color .3s linear;
    -webkit-transition: background-color .3s linear;
    transition: background-color .3s linear;
  }
  #global-nav a:hover {
    background: #333333;
  }
  .nav-wrap {}
  #global-nav ul {
    list-style: none;
    padding-left: 0;
  }
  #global-nav > ul > li {
  }
  #global-nav a {
    font-size: 18px;
    text-decoration: none;
    display: block;
    padding: 12px 0 12px 40px;
    -moz-transition: background-color .3s linear;
    -webkit-transition: background-color .3s linear;
    transition: background-color .3s linear;
  }
  #global-nav a:hover {
    background: #333333;
  }
}

@media screen and (max-width: 800px) {
	#navigation {
		/*display: none;*/
		position: fixed;
		right: -300px;
		top: 0;
		height: 100%;
		width: 260px;
		color: #333;
		background: #fff;
		-webkit-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
    padding-top: 80px;
	}
  #global-nav a {
    font-size: 16px;
  }
	#nav-toggle {
		display: block;
	}
	/* =========== nav open ============ */
	.open {
		overflow: hidden;
	}
	.open #overlay {
		display: block;
	}
	.open #navigation  {
		-webkit-transform: translate3d(-300px,0,0);
		transform: translate3d(-300px,0,0);
    background: #1D1D1D;
	}

	/* =========== #nav-toggle close =========== */
  .open #nav-toggle span {
    background: #FFFFFF;
  }
	.open #nav-toggle span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav-toggle span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
}

@media screen and (max-width : 400px ){
	#navigation {
    font-size: 15px;
		right: -200px;
		width: 200px;
	}
	.open #navigation  {
		-webkit-transform: translate3d(-200px,0,0);
		transform: translate3d(-200px,0,0);
	}
}
#overlay {
	display: none;
	position: fixed;
	background: rgba(0,0,0,.6);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
/******** //スマホ・タブレット用アコーディオンナビ/800pxサイズ以下 ********/

/* ========== ページトップボタン ここから ========== */
#page_top {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 10;
}
#page_top a {
	position: relative;
    display: block;
    height: 40px;
    width: 40px;
    text-decoration: none;
    background-color: #000000;
    border-radius: 100%;
	opacity: 0.8;
}
#page_top a:hover {
	background-color: #3A3A3A;
}
#page_top a span::before {
	content: "▲";
	font-size: 22px;
	color: #ffffff;
	position: absolute;
	/*width: 32px;
	height: 26px;*/
	bottom: 5px;
	left: 0;
  right: 0;
  margin: auto;
	text-align: center;
}
/* ========== //ページトップボタン ここまで ========== */
