@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Marcellus&display=swap');
.marcellus-regular {
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-style: normal;
}

:root {
  --font-base: 'Zen Old Mincho', serif;
  --font-en: 'Marcellus', serif;
}


body {
  color: #000;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  font-family: var(--font-base);
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
}
html, h1, h2, h3, h4, h5, h6, p, div, blockquote, address, form, ul, ol, li, dl, dt, dd, table, th, td {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  box-sizing: border-box;
  border-collapse: collapse;
}
ul, ol {
list-style: none;
}
img {
	border: 0;
  margin: 0;
  padding: 0;
}
a img {
  border: none;
}
img a:hover {
  opacity: 0.7;
}
a {
text-decoration: none;
color: #000;
}
a:hover {
opacity: 0.5;
transition: 0.5s;
}
a:visit, a:active {
color: #000;
}
.bold {
font-weight: bold;
}


.z-o-m-r {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
/* 400,500,600,700,900*/

.f_en {
font-family: var(--font-en);
}

.pc_only {

}
.tb_only {
display: none;
}
.sp_only {
display: none;
}

/***************************************************************/
/* base */
/***************************************************************/
wrap {
position: relative;
}

.header {
	width: 100%;
	height: 100px;
	position: absolute;
	z-index: 10000;
}
.logo {
	height: 100px;
	margin: 50px;
	z-index: 20000;
}
.logo img {
width: 100%;
max-width: 320px;

}


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

.header {
	width: 100%;
	height: 50px;
	position: absolute;
	z-index: 10000;
}
.logo {
	height: 100px;
	margin: 20px;
	z-index: 20000;
}
.logo img {
width: 100%;
max-width: 220px;

}
}

/***************************************************************/
/*  */
/***************************************************************/

.under_60 {
margin-bottom: 60px;
}
.under_80 {
margin-bottom: 80px;
}
.under_100 {
margin-bottom: 100px;
}
.under_120 {
margin-bottom: 120px;
}
.under_140 {
margin-bottom: 140px;
}


@media screen and (max-width:850px){
.under_80 {
margin-bottom: 20px;
}
.under_80 {
margin-bottom: 40px;
}
.under_100 {
margin-bottom: 60px;
}
.under_120 {
margin-bottom: 80px;
}
.under_140 {
margin-bottom: 100px;
}
}

/***************************************************************/
/* NAVI */
/***************************************************************/
nav {
	display: block;
	position: fixed;
	top: 0;
	right: -50vw;
	bottom: 0;
	/*  width: 300px;*/
	width: 50vw;
	background-color: rgba(0,0,0,0.90);
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transition: all 1.5s;
	z-index: 3;
}
.open nav {
  right: 0;
  opacity: 1;
}
nav .inner {
  padding: 25px;
}
nav .inner ul {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
  display: flex;
  flex-flow: wrap;
  
}
nav .inner ul li {
  position: relative;
  margin: 0 0 1em;
  width: 40%;
  text-align: center;
	font-size: clamp(1.2rem, calc(0.8vw + 1.0rem), 1.8rem);
	line-height: 1em;
}
nav .inner ul li a {
  display: block;
  color: #333;
  padding: 0.5em;
  text-decoration: none;
  transition-duration: 0.2s;
  color: #FFF;
}
nav .inner ul li p {
font-family: var(--font-en);
  font-weight: 500;
	font-size: clamp(0.8rem, calc(0.20vw + 1.0rem), 1.3rem);
	margin: 0;
}
nav .inner .bt_pp {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
	font-size: clamp(1.0rem, calc(0.25vw + 1.0rem), 1.5rem);
	margin: 4rem 0 0;
	width: 40%;
	text-align: center;
	color: #fff;
}
nav .inner a {
	color: #fff;
}
@media screen and (max-width: 810px) {
  nav {
    right: -100vw;
    width: 100vw;
  }
}
/*============
.toggle_btn
=============*/
.toggle_btn {
  display: block;
  position: fixed;
  top: 30px;
  right: 30px;
  width: 50px;
  height: 30px;
  transition: all .5s;
  cursor: pointer;
  z-index: 3;
}
.toggle_btn span {
  display: block;
  position: absolute;
  right: 0;
  width: 50px;
  height: 2px;
  background-color: #333;
  border-radius: 4px;
  transition: all .5s;
}
.toggle_btn span:nth-child(1) {
  top: 4px;
}
.toggle_btn span:nth-child(2) {
  top: 14px;
}
.toggle_btn span:nth-child(3) {
  bottom: 4px;
}
.open .toggle_btn span {
  background-color: #fff;
}
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(80px) rotate(-160deg);
  transform: translateY(10px) rotate(-160deg);
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
  -webkit-transform: translateY(-80px) rotate(160deg);
  transform: translateY(-10px) rotate(160deg);
}
/*============
#mask
=============*/
#mask {
  display: none;
  transition: all 1.5s;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: .8;
  z-index: 2;
  cursor: pointer;
}

@media screen and (max-width: 470px) {
  nav {
    right: -100vw;
    width: 100vw;
	padding-top: 20px;
  }
nav .inner ul li {
  position: relative;
  margin: 0;
  width: 50%;
  text-align: center;
	font-size: 1rem;
	line-height: 1.3em;
}
nav .inner ul li p {
font-family: var(--font-en);
  font-weight: 500;
	font-size: 0.8rem;
	line-height: 1.3em;
	margin: 0;
}
nav .inner .bt_pp {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
	font-size: 1rem;
	width: 50%;
	text-align: center;
	color: #fff;
	line-height: 1.3em;
}
.toggle_btn {
  top: 30px;
}
}

/*************************
footer
*************************/
footer {
	background-color: #000;
	margin: 0;
	padding: 10vh 0 5vh;
	color: #FFF;
	background-image: url(../img/footer_text.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 50% auto;
}
footer .add {
width: 80vw;
margin: auto;
}
footer .add ul {
width: 100%;
font-size: 1.0vw;
line-height: 1.5em
}
footer .add ul li:first-child {
margin-bottom: 2rem;
}
footer .footer_logoarea {
	width: 100%;
	margin: 80px auto 0;
}
footer .footer_logoarea ul {
	width: 90%;
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
footer .footer_logoarea ul li {
width: 50%;
}
footer .footer_logoarea ul li:first-of-type {
	margin: auto;
	text-align: left;
}
footer .footer_logoarea ul li img {
	width: 100%;
	max-width: 320px;
}
footer .footer_logoarea ul li:last-of-type {
	text-align: right;
font-size: 1.0vw;
line-height: 1em;
font-family: var(--font-en);
}

@media screen and (max-width:850px){
footer {
	background-color: #000;
	margin: 0;
	padding: 10vh 0 5vh;
	color: #FFF;
	background-image: url(../img/footer_text.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 50% auto;
}
footer .add {
width: 80vw;
margin: auto;
}
footer .add ul {
width: 100%;
font-size: 2.0vw;
line-height: 1.5em
}
footer .add ul li:first-child {
margin-bottom: 2rem;
}
footer .footer_logoarea {
	width: 100%;
	margin: 80px auto 0;
}
footer .footer_logoarea ul {
	width: 90%;
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
footer .footer_logoarea ul li {
width: 50%;
}
footer .footer_logoarea ul li:first-of-type {
	margin: auto;
	text-align: left;
}
footer .footer_logoarea ul li img {
	width: 100%;
	max-width: 320px;
}
footer .footer_logoarea ul li:last-of-type {
	text-align: right;
font-size: 2.0vw;
line-height: 1em;
font-family: var(--font-en);
}
}

@media screen and (max-width:470px){
footer {
	background-color: #000;
	margin: 0;
	padding: 10vh 0 5vh;
	color: #FFF;
	background-image: url(../img/footer_text.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 50% auto;
}
footer .add {
width: 80vw;
margin: auto;
}
footer .add ul {
width: 100%;
font-size: 3.0vw;
line-height: 1.5em
}
footer .add ul li {
	width: 90%;
	margin: auto;
}
footer .add ul li:first-child {
margin-bottom: 2rem;
}
footer .footer_logoarea {
	width: 100%;
	margin: 80px auto 0;
}
footer .footer_logoarea ul {
	width: 90%;
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
}
footer .footer_logoarea ul li {
width: 80%;
}
footer .footer_logoarea ul li:first-of-type {
	margin: auto;
	text-align: left;
}
footer .footer_logoarea ul li img {
	width: 100%;
	max-width: 320px;
}
footer .footer_logoarea ul li:last-of-type {
	text-align: center;
	width: 100%;
font-size: 3.0vw;
line-height: 3em;
font-family: var(--font-en);
}
}
@media screen and (max-width:850px){
.pc_only {
display: none;

}
.tb_only {
display: block;
}
}
@media screen and (max-width:470px){
.pc_only {
display: none;

}
.sp_only {
display: block;
}
}


/******************
under nabi
*********************/
.navi_area_un {
  width: 100%;
  bottom: 0;
  background-color: hsla(0, 0%, 0%, 1.00);
  color: #FFF;
}
.navi_area_un ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 90%;
}
.navi_area_un ul li {
  font-weight: 500;
  font-size: clamp(1.0rem, calc(0.25vw + 1.0rem), 1.5rem);
  line-height: 1.3em;
  padding: 30px 0;
  text-align: center;
}
.navi_area_un ul li p {
  font-size: clamp(0.8rem, calc(0.15vw + 0.8rem), 1.0rem);
  font-family: var(--font-en);
}
.navi_area_un ul li a {
  color: #FFF;
}
@media screen and (max-width:850px){
.navi_area_un {
  width: 100%;
  bottom: 0;
  background-color: hsla(0, 0%, 0%, 1.00);
  color: #FFF;
}
.navi_area_un ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 90%;
}
.navi_area_un ul li {
width: 25%;
  font-weight: 500;
  font-size: clamp(1.0rem, calc(0.25vw + 1.0rem), 1.5rem);
  line-height: 1.3em;
  padding: 30px 0 0;
  text-align: center;
}
.navi_area_un ul li p {
  font-size: clamp(0.8rem, calc(0.15vw + 0.8rem), 1.0rem);
  font-family: var(--font-en);
}
.navi_area_un ul li a {
  color: #FFF;
}
}

@media screen and (max-width:470px){
.navi_area_un {
  width: 100%;
  bottom: 0;
  background-color: hsla(0, 0%, 0%, 1.00);
  color: #FFF;
}
.navi_area_un ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 90%;
}
.navi_area_un ul li {
width: 33%;
  font-weight: 500;
  font-size: 0.8rem;
  line-height: 1.3em;
  padding: 30px 0 0;
  text-align: center;
}
.navi_area_un ul li:nth-of-type(4) {
width: 50%;
}
.navi_area_un ul li:nth-of-type(5) {
width: 50%;
}
.navi_area_un ul li p {
  font-size: 0.6rem;
  font-family: var(--font-en);
}
.navi_area_un ul li a {
  color: #FFF;
}
}


@media screen and (max-width:470px){
.c_bt {
margin: 10vh auto;
text-align: center;
}
.sp_w {
color: #fff;
}

}

/***************************************/
.f_80 {
  font-size: clamp(2.0rem, calc(1.5vw + 1.5rem), 5.0rem);
  line-height: 1.3em;
}
.f_55 {
  font-size: clamp(1.1rem, calc(1.1vw + 1.1rem), 2.3rem);
  line-height: 1.3em;
}
.f_40 {
  font-size: clamp(1.2rem, calc(1.0vw + 0.8rem), 1.8rem);
  line-height: 1.3em;
}
.f_26 {
  font-size: clamp(1.3rem, calc(1.0vw + 0.8rem), 1.3rem);
  line-height: 1.3em;
}
.f_20 {
  font-size: clamp(1.0rem, calc(0.8vw + 0.8rem), 1.2rem);
  line-height: 1.5em;
}
.f_w {
  color: #FFF;
}
.w40 {
  width: 40vw;
  margin: 0 auto;
}
.w50 {
  width: 50%;
}
.w60 {
  width: 60%;
}

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

.w40 {
  width: 100vw;
  margin: 0 auto;
}
.w50 {
	width: 100%;
}
.w60 {
  width: 100%;
}

}
