@charset "UTF-8";

/* RESET
------------------------------------------------------
------------------------------------------------------
----------------------------------------------------*/
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

legend {
	color: #000;
}
ol,
ul {
	list-style: none;
}
* {
	text-decoration: none;
}
caption,
th {
	text-align: left;
}
sup {
	vertical-align: text-top;
}
img {
	border: none !important;
}
sub {
	vertical-align: text-bottom;
}
input,
textarea,
select {
	font-size: 100%;
}
a {
	color: inherit;
	text-decoration: none;
}
textarea {
	outline: none;
	resize: none;
}
abbr,
acronym {
	border: 0;
	font-variant: normal;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
fieldset,
img {
	border: 0;
}
input,
textarea,
select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
}
address,
caption,
cite,
code,
dfn,
th,
var {
	font-style: normal;
	font-weight: normal;
}
q:before,
q:after {
	content: "";
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}
html,
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
a,
blockquote,
figure {
	margin: 0;
	padding: 0;
}

.en {
	font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
}

.min {
	font-family: "Kaisei Opti", serif;
}

.gothic {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
}

.color1{
	color: #5F6588;
}

.color2{
	color: #1A99E0;
}

.color3{
	color: #EE7BA9;
}

.color4{
	color: #39C1E3;
}

.color5{
	color: #F9C100;
}

/* ALL COMMON CSS
------------------------------------------------------
------------------------------------------------------
----------------------------------------------------*/
html {
	color: #5F6588;
	background: #fff;
	font-size: 100%;
	letter-spacing: inherit;
	vertical-align: baseline;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 1.5;
	scroll-behavior: auto;
	scroll-padding-top: 0px;
}

@media (max-width: 768px) {
	html {
		font-size: 100%;
	}
}

:root {
  --base: 750;
	--vw: 100vw;
}


@media (min-width: 769px) {
  :root {
    --base: 1;
    --vw: 1px;
	}
}

body {
	-webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
	font-size: calc(20 / var(--base) * var(--vw));
	font-weight: 500;
	font-feature-settings: "palt";
}

body:after{
	content: "";
	display: block;
	background: url("../img/bg-kv.webp") no-repeat center/cover;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	filter: blur(10px);
}

@media (min-width: 769px) {
	body{
		font-size: 1.0em;
	}
}

img {
	width: 100%;
	vertical-align: bottom;
}

@media (min-width: 769px) {
	img {
		max-width: 100%;
	}
}

@media (min-width: 769px) {
	a{
		transition: 0.3s ease;
	}

	a:hover{
		opacity: 0.8;
	}
}

#btn-top{
	position: fixed;
	right: calc(40 / var(--base) * var(--vw));
	bottom: calc(-70 / var(--base) * var(--vw));
	transition: 0.3s ease;
	width: calc(80 / var(--base) * var(--vw));
	height: calc(80 / var(--base) * var(--vw));
	transition: 0.3s ease;
	cursor: pointer;
}

@media (min-width: 769px) {
	#btn-top:hover{
		opacity: 0.8;
	}
}

/* HEADER */
#header{
	display: block;
	position: relative;
	overflow: hidden;
}

.header-image{
	position: relative;
	z-index: 10;
	max-width: 1000px;
	margin-inline: auto;
}

/* Nav */
@media (max-width: 768px) {
	#nav{
		display: flex;
		align-items: center;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
		transition: 0.3s ease;
		background-color: #000;
		overflow: hidden;
		width: 0%;
		height: 100dvh;
		color: #fff;
		font-size: calc(20 / var(--base) * var(--vw));
		letter-spacing: 5%;
	}

	#nav.active{
		width: 100%;
	}

	.nav-list{
		display: grid;
		grid-template-columns: 1fr;
		gap: calc(40 / var(--base) * var(--vw));
		width: 100vw;
	}

	.nav-list-item{
		width: 100vw;
		text-align: center;
	}

	.social-btn{
		position: absolute;
		bottom: calc(37 / var(--base) * var(--vw));
		left: calc(40 / var(--base) * var(--vw));
	}

	.social-btn-list{
		display: flex;
		gap: calc(48 / var(--base) * var(--vw));
	}

	.social-btn-list-item{
		width: calc(32 / var(--base) * var(--vw));
		height: calc(32 / var(--base) * var(--vw));
	}

	.social-btn-list-item a{
		display: block;
		line-height: 0.625;
	}
}

@media (min-width: 769px) {
	#nav{
		position: sticky;
		top: 0;
		left: 0;
		z-index: 999;
		width: 100%;
		padding-block-start: calc(20 / var(--base) * var(--vw));
	}
	
	.nav-list{
		display: flex;
		align-items: center;
		justify-content: center;
		gap: calc(32 / var(--base) * var(--vw));
		background: url("../img/bg-nav.png") no-repeat center/contain;
		width: calc(600 / var(--base) * var(--vw));
		height: calc(48 / var(--base) * var(--vw));
		margin-inline: auto;
		font-size: calc(20 / var(--base) * var(--vw));
		font-weight: 600;
	}

	.social-btn{
		position: absolute;
		right: calc(60 / var(--base) * var(--vw));
		top: calc(20 / var(--base) * var(--vw));
	}

	.social-btn-list{
		display: flex;
		gap: calc(16 / var(--base) * var(--vw));
	}

	.social-btn-list-item{
		width: calc(40 / var(--base) * var(--vw));
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
	}

	.social-btn-list-item img{
		opacity: 0;
	}

	.social-btn-list-item:nth-of-type(1){
		background-image: url("../img/btn-facebook.svg");
	}

	.social-btn-list-item:nth-of-type(2){
		background-image: url("../img/btn-Instagram.svg");
	}

	.social-btn-list-item:nth-of-type(3){
		background-image: url("../img/btn-x.svg");
	}
}

#menu{
	position: fixed;
	top: calc(40 / var(--base) * var(--vw));
	right: calc(40 / var(--base) * var(--vw));
	z-index: 999;
	background: url("../img/menu.svg") no-repeat center/contain;
	width: calc(48 / var(--base) * var(--vw));
	height: calc(48 / var(--base) * var(--vw));
}

#menu.active{
	background: url("../img/close.svg") no-repeat center/contain;
}

@media (min-width: 769px) {
	#menu{
		display: none;
	}
}

/* Footer */
#footer{
	background-color: rgba(0,0,0,0.6);
	padding-block-start: calc(104 / var(--base) * var(--vw));
	padding-block-end: calc(64 / var(--base) * var(--vw));
	padding-inline: calc(116 / var(--base) * var(--vw));
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: calc(12 / var(--base) * var(--vw));
	font-weight: 400;
	letter-spacing: 4%;
	line-height: 2.0;
}

#footer p{
	text-align: justify;
}

#footer p:not(:last-child),
#footer ul:not(:last-child){
	margin-block-end: calc(25 / var(--base) * var(--vw));
}

.footer-headline{
	display: flex;
	flex-direction: column;
	gap: calc(24 / var(--base) * var(--vw));
	margin-block-end: calc(32 / var(--base) * var(--vw));
	margin-inline: auto;
	font-size: calc(20 / var(--base) * var(--vw));
	font-weight: 500;
	letter-spacing: 5%;
	text-align: center;
	line-height: 1;
}

.owner-logo{
	width: calc(425/750*100vw);
	margin-inline: auto;
}

#owner a{
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

#official{
	margin-block-start: calc(56 / var(--base) * var(--vw));
	margin-block-end: calc(97 / var(--base) * var(--vw));
	text-align: center;
}

.official-headline{
	margin-block-end: calc(22.4 / var(--base) * var(--vw));
	font-size: calc(22.4 / var(--base) * var(--vw));
	font-weight: 500;
	letter-spacing: 9%;
	text-align: center;
	line-height: 1;
}

.official-list{
	display: flex;
	justify-content: center;
	gap: calc(33.6 / var(--base) * var(--vw));
}

.official-list-item{
	width: calc(33.6 / var(--base) * var(--vw));
}

@media (min-width: 769px) {
	#owner,
	#official{
		max-width: 516px;
		margin-inline: auto;
	}

	#official{
		margin-block-start: calc(24 / var(--base) * var(--vw));
    margin-block-end: calc(62 / var(--base) * var(--vw));
	}

	.official-headline{
		font-size: calc(16 / var(--base) * var(--vw));
		text-align: right;
	}

	.owner-logo{
		width: calc(425 / var(--base) * var(--vw));
	}

	.official-list{
		justify-content: flex-end;
		gap: calc(24 / var(--base) * var(--vw));
	}

	.official-list-item{
		width: calc(24 / var(--base) * var(--vw));
	}
}

.sharebutton-list{
	display: flex;
	justify-content: center;
	gap: calc(8 / var(--base) * var(--vw));
	line-height: 1;
}

.l-inner{
	padding-inline: calc(64 / var(--base) * var(--vw));
}

.h-section{
	margin-block-end: calc(24 / var(--base) * var(--vw));
	font-size: calc(48 / var(--base) * var(--vw));
	font-weight: 600;
	line-height: 1;
	text-align: center;
}

@media (max-width: 768px) {
	.pc{
		display: none;
	}
}

@media (min-width: 769px) {
	.l-inner{
		max-width: 1344px;
		margin-inline: auto;
		padding-inline: calc(32 / var(--base) * var(--vw));
	}

	.h-section{
		margin-block-end: calc(32 / var(--base) * var(--vw));
		font-size: calc(40 / var(--base) * var(--vw));
  }

	.sp{
		display: none;
	}
}