@charset "utf-8";
/***************************************************************************************************
 default.css
 ***************************************************************************************************/

/*
font-family: 'Noto Serif JP', serif;
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap');

/*
font-family: 'Lora', serif;
*/
@import url('https://fonts.googleapis.com/css2?family=Lora&display=swap');

/*
color: #2A4073;
color: #AD002D;
*/

/*
*/
*, *::before, *::after {
	position: relative;
	margin: 0;
	padding: 0;
	box-sizing: border-box;

	border: 0;
	border-style: none;
	outline: 0;

	background: none;
	background-color: transparent;
	background-repeat: no-repeat;

	list-style: none;

	text-decoration: none;
	font-size: 16px;
	font-weight:400;
	letter-spacing: .05em;
	line-height: 1.5;
	color: #2A4073;
	font-family: 'Noto Serif JP', serif;
	-webkit-font-smoothing: antialiased;
  backface-visibility: hidden;
	word-break: break-all;
}
.lang_en *, .lang_en *::before, .lang_en *::after {
	letter-spacing: .02em;
	word-break: keep-all;
}
.lang_en h1, .lang_en h2,
.lang_en h1 *, .lang_en h2 * {
	letter-spacing: .05em;
}
table {
	/* border-collapse:separate; */
	border-spacing: 0;
	border: none;
}
input::-ms-clear {
	visibility: hidden
}
/*
*/
html {
	width: 100%;
	height: 100%;
}
body {
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	text-align: left;
}
/*
*/
#pageheader {
	position: fixed;
	width: 20%;
	height: auto;
	left:0;
	top:0;
	z-index: 100001;
	text-align: right;
}
#pageheader .hd_blk_1 {
	width: 100%;
	max-width: 600px;
	height: 100%;
	margin: auto 0 auto auto;
	text-align: center;
}
/*  */
#pageheader .hd_blk_1_1 {
	width: 100%;
	padding: 0 0 0 0;
}
#pageheader .hd_blk_1_1::before {
	display: block;
	content: '';
	width: 100%;
	height: auto;
	left:0;
	top:0;
	padding: min(30%, 100px) 0 0 0;
}
#pageheader .hd_blk_1_1 h1 {
	width: 70%;
	min-width: 160px;
	max-width: 220px;
	margin: auto;
}
#pageheader .hd_blk_1_1 h1 a {
	display: block;
	width: 100%;
}
#pageheader .hd_blk_1_1 h1 img {
	display: block;
	width: 100%;
	height: auto;
}
/*  */
#pageheader .hd_blk_1_2 {

	width: 100%;
	padding: 40px 20px 0 20px;
}
#pageheader .hd_blk_1_2_1 {

	display: flex;
	width: 70%;
	min-width: 160px;
	max-width: 220px;
	margin: auto;
}
#pageheader .hd_blk_1_2_1 p {
	width: 50%;
}
#pageheader .hd_blk_1_2_1 p a {
	display: block;
	width: 100%;
	height:32px;
	font-size: 12px;
	line-height: 29px;
	font-family: 'Lora', serif;
	border: 1px solid #AD002D;
	white-space: nowrap;
}
#pageheader .hd_blk_1_2_1 p a.ja {
	color:#ffffff;
	background-color:#AD002D;
}
#pageheader .hd_blk_1_2_1 p a.en {
	color:#AD002D;
	background-color:#ffffff;
}
.lang_en #pageheader .hd_blk_1_2_1 p a.ja {
	color:#AD002D;
	background-color:#ffffff;
}
.lang_en #pageheader .hd_blk_1_2_1 p a.en {
	color:#ffffff;
	background-color:#AD002D;
}


/*
*/
#pagemenu {
	position: fixed;
	width: 20%;
	height: 100%;
	min-height: 600px;
	left:0;
	top:0;
	z-index: 100000;
	text-align: right;
	background-color: #ffffff;
}
#pagemenu .mn_blk_1 {
	width: 100%;
	max-width: 600px;
	height: 100%;
	margin: auto 0 auto auto;
	text-align: center;
}
/*  */
#pagemenu .mn_blk_1_1 {
	width: 100%;
	padding: 0 0 0 0;
}
#pagemenu .mn_blk_1_1::before {
	display: block;
	content: '';
	width: 100%;
	height: auto;
	left:0;
	top:0;
	padding: min(30%, 100px) 0 0 0;
}
#pagemenu .mn_blk_1_1 nav {
	width: 100%;
	padding: 0 0 0 0;
}
#pagemenu .mn_blk_1 nav::before {
	display: block;
	content: '';
	width: 70%;
	min-width: 160px;
	max-width: 220px;
	height: auto;
	left:0;
	top:0;
	padding: 14% 0 0 0;
	margin: auto;
/* display: none; */
}
#pagemenu .mn_blk_1_1 nav ul {

	width: 100%;
	padding: 110px 0 0 0;
}
#pagemenu .mn_blk_1_1 nav ul li {

	width: 100%;
	padding: 0 0 10px 0;
}
#pagemenu .mn_blk_1_1 nav ul li a {
	display: inline-block;
	padding: 10px;
}
#pagemenu .mn_blk_1_1 nav ul li a span {

	display: inline-block;
	width: auto;
	height: 20px;
	font-size: 16px;
	line-height: 1;
	color: #AD002D;
	font-family: 'Lora', serif;
}
#pagemenu .mn_blk_1_1 nav ul li a span::after {
	position: absolute;
	display: block;
	content: '';
	width: 0;
	height: 1px;
	left:50%;
	top:100%;
	background-color: #AD002D;
	transform: translateX(-50%);
	transition: width .1s ease-out 0s;
}
#pagemenu .mn_blk_1_1 nav ul li a:hover span::after {
	width: 100%;
}
/*  */
#pagemenu .btn_ptsl {
	position: absolute;
	left:50%;
	top:100%;
	width: 50px;
	height: 150px;
	transform: translate(-50%, -100%);
	cursor: pointer;
}
#pagemenu .btn_ptsl::before,
#pagemenu .btn_ptsl::after {
	position: absolute;
	display: block;
	left:50%;
	top:calc(100% - 60px);
	font-size: 14px;
	line-height: 1;
	color: #AD002D;
	font-family: 'Lora', serif;
	white-space: nowrap;
	transform-origin: 0 0;
	transform: rotate(90deg) translate(-100%, -50%);
	transition: opacity .1s ease-out 0s;
}
#pagemenu .btn_ptsl::before {
	content: 'SCROLL';
	opacity: 1;
}
#pagemenu .btn_ptsl::after {
	content: 'PAGETOP';
	opacity: 0;
}
#pagemenu .btn_ptsl.type_sl::before {
	opacity: 1;
}
#pagemenu .btn_ptsl.type_sl::after {
	opacity: 0;
}
#pagemenu .btn_ptsl.type_pt::before {
	opacity: 0;
}
#pagemenu .btn_ptsl.type_pt::after {
	opacity: 1;
}

#pagemenu .btn_ptsl div {
	position: absolute;
	left:50%;
	top:calc(100% - 51px);
	width: 1px;
	height: 51px;
	/* background-color:#AD002D; */
}
#pagemenu .btn_ptsl div::after {
	position: absolute;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	left:0;
	top:0;
	background-color: #AD002D;
}
#pagemenu .btn_ptsl.type_sl div::after {
  animation: kf_btn_ptsl_1 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
#pagemenu .btn_ptsl.type_pt div::after {
  animation: kf_btn_ptsl_2 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes kf_btn_ptsl_1 {
  0% {
    transform: scaleY(0);
    transform-origin: 0 0;
  }
  50% {
    transform: scaleY(1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scaleY(1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scaleY(0);
    transform-origin: 0 100%;
  }
}
@keyframes kf_btn_ptsl_2 {
  0% {
    transform: scaleY(0);
    transform-origin: 0 100%;
  }
  50% {
    transform: scaleY(1);
    transform-origin: 0 100%;
  }
  50.1% {
    transform: scaleY(1);
    transform-origin: 0 0;
  }
  100% {
    transform: scaleY(0);
    transform-origin: 0 0;
  }
}

/*
*/
#pagebody {

	width: 100%;
	height: 100%;
	left:0;
	top: 100%;
	margin: auto;
}
#pagebody .pagecontent {

	width:80%;
	height: 100%;
	left:20%;
	top:0;
}
/*
*/
#footer {
	width: 100%;
	height: calc(100% - 640px);
	min-height: 300px;
	background-image: url('../images/bk_3.jpg');
	background-position: 50% 50%;
	background-size: cover;
}
#footer .ft_blk_1 {
	position: absolute;
	left:50%;
	top:50%;
	font-size: 12px;
	line-height: 1;
	font-family: 'Lora', serif;
	transform: translate(-50%, -50%);
	white-space: nowrap;
}

/***************************************************************************************************
 responsive
***************************************************************************************************/
@media screen and (max-width:1000px) {

/*
*/
#pageheader {
	position: fixed;
	width: 100%;
	height: 70px;
	left:0;
	top:0;
	z-index: 100001;
	text-align: left;
	background-color: #ffffff;
}
#pageheader .hd_blk_1 {

	width: 100%;
	max-width: none;
	height: 100%;
	margin: auto;
	text-align: center;
}
/*  */
#pageheader .hd_blk_1_1 {
}
#pageheader .hd_blk_1_1::before {
	display: none;
}
#pageheader .hd_blk_1_1 h1 {
	position: absolute;
	width: 152px;
	min-width: 0;
	max-width: none;
	left:15px;
	top:18px;
}
#pageheader .hd_blk_1_1 h1 img {
}
/*  */
#pageheader .hd_blk_1_2 {
	position: absolute;
	width: 25%;
	min-width: 120px;
	max-width: 240px;
	padding: 0;
	left:calc(100% - 15px);
	top:23px;
	transform: translateX(-100%);
}
#pageheader .hd_blk_1_2_1 {
	width: 100%;
	min-width: 0;
	max-width: none;
}
#pageheader .hd_blk_1_2_1 p {
}
#pageheader .hd_blk_1_2_1 p a {
	height:24px;
	line-height: 21px;
}
#pageheader .hd_blk_1_2_1 p a.ja {
}
#pageheader .hd_blk_1_2_1 p a.en {
}
/*
*/
#pagemenu {
	position: absolute;
	width: 152px;
	height: 50%;
	min-height: 240px;
	max-height: 260px;
	left:50%;
	top:100%;
	z-index: 2;
	text-align: center;
	background-color: rgba(255, 255, 255, .9);
	transform: translate(-50%, -100%);
}
#pagemenu .mn_blk_1 {
	max-width: none;
	margin: auto;
}
/*  */
#pagemenu .mn_blk_1_1 {
}
#pagemenu .mn_blk_1_1::before {
	display: none;
}
#pagemenu .mn_blk_1_1 nav {
}
#pagemenu .mn_blk_1 nav::before {
	display: none;
}
#pagemenu .mn_blk_1_1 nav ul {
	padding:15px 0 0 0;
}
#pagemenu .mn_blk_1_1 nav ul li {
	padding: 0 0 0 0;
}
#pagemenu .mn_blk_1_1 nav ul li a {
	padding: 0;
	display: block;
}
#pagemenu .mn_blk_1_1 nav ul li a span {
	font-size: 12px;
}
#pagemenu .mn_blk_1_1 nav ul li a span::after {
}
#pagemenu .mn_blk_1_1 nav ul li a:hover span::after {
	width: 0;
}
#pagemenu .mn_blk_1_1 nav ul li a:active span::after {
	width: 100%;
}
/*  */
#pagemenu .btn_ptsl {
	height: 120px;
	pointer-events: none;
}
#pagemenu .btn_ptsl::after {
	font-size: 12px;
}
#pagemenu .btn_ptsl div {
}

/*
*/
#pagebody {
	z-index: 3;
}
#pagebody .pagecontent {
	width:100%;
	height: 100%;
	left:0;
	top:0;
}
/*
*/
#footer {
	width: 100%;
	height: auto;
	min-height: 0;
	padding: min(100%, 300px) 0 0 0;
}
#footer .ft_blk_1 {
}
/*  */
}
