@charset "utf-8";

h1,h2,h3,h4{
	margin-bottom: 30px;
	color: #fff;
}

#product-warpper h1 span,
#advisor-warpper h1 span{
	background-color: #31B5E3; 
}

h2,
#advisor-warpper h3,
#advisor-warpper h4,
#outline-warpper h1{
	color: #00195A;
}

h1{
	letter-spacing: 5px;
}

h1 span{
	width: 45px;
	margin: 0 auto;
	padding: 3%;
	letter-spacing: 0;
	mask-image: url("https://oystercats.com/assets/img/mask-cat.svg");
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 100% 100%;
	-webkit-mask-image: url("https://oystercats.com/assets/img/mask-cat.svg");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: 100% 100%;
	background-color: #00195A;
	display:inline-block;
}

@media screen and (min-width: 1025px){
	h1 span{
		width: 70px;
		padding: 1.5%;
	}
}

@media screen and (max-width: 1024px) and (orientation: landscape){
	h1 span{
		width: 70px;
		padding: 1.5%;
	}
}

@media screen and (min-width:768px) and ( max-width:1024px) and (orientation:portrait){
	h1 span{
		width: 70px;
		padding: 1.5%;
	}
}

@media screen and (max-width: 400px){
	h1{
		font-size: 2rem;
	}
	h1 span{
		width: 40px;
	}
}

#concept-warpper h1 span{
	background-color: #31B5E3;
}

p{
	margin-bottom: 10px;
	letter-spacing: 0.5px;
	text-align: left;
}

.inner{
	margin-bottom: 40px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

@media screen and (min-width: 1025px){
	.inner{
		flex-direction: row;
		align-items:center;
	}
}

article{
	padding: 100px 0;
}

section{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}

#concept-warpper section p span,
#product-warpper section p span,
dt span{
	color: #F185AC;
	font-weight: 700;

}

#foodstuff-warpper section p span{
	color: #00195A;
	font-weight: 700;
}

dd span{
	color: #31B5E3;
	font-weight: 700;
}

/*  */

header{
	width: 100%;
	height: 100%;
	position: relative;
}

#fixed-header{
	width: 100%;
	padding: 15px;
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
	align-items: center;
	position: fixed;
	z-index: 777;
}

#fixed-header.scrolled{
	background-color: rgba(255,255,255,0.9);
	transition: all  0.3s ease;
}

@media screen and (min-width: 900px){
	#fixed-header{
		padding:30px;
	}
}

#nav-toggle{
	height: 30px;
	cursor: pointer;
}

#nav-toggle span{
	width: 36px;
	height: 2px;
	left: 0;
	display: block;
	background: #31B5E3;
	position: absolute;
	z-index: 999;
	transition: transform .5s ease-in-out, top .5s ease;
}

#nav-toggle span:nth-child(1) { top: 0; }
#nav-toggle span:nth-child(2) { top: 13px; }
#nav-toggle span:nth-child(3) { top: 26px; }

.open #nav-toggle span { background: #31B5E3; }
.open #nav-toggle span:nth-child(1){
	top: 15px;
}
.open #nav-toggle span:nth-child(2),
.open #nav-toggle span:nth-child(3){
	top: 11px;
}

.open #nav-toggle span:nth-child(1){ transform: rotate(45deg); }
.open #nav-toggle span:nth-child(2){
	width: 0;
	left: 50%;
}
.open #nav-toggle span:nth-child(3){ transform: rotate(-45deg); }

.nav-logo{
	width: 78.347px;
	height: 90px;
}	
	
@media screen and (min-width: 1025px){
	.nav-logo{
		width: 104.463px;
		height: 120px;
	}	
}

.open #logo,
.open #shop{
	position: relative;
	z-index: 99999;
}	

#nav-toggle div > span{
	position: relative;
	width: 36px;
}

#gloval-nav{
	height: 100%;
	background: #fff;
	color: #31B5E3;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	position: fixed;
	z-index: 888;
	text-align: center;
	display: flex;
	visibility: hidden;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	opacity: 0;
	transition: opacity .5s ease, visibility .5s ease;
	font-weight: 700;
}

#gloval-nav a{
	display: block;
	color: #00195A;
	text-decoration: none;
	transition: color .5s ease;
}

#gloval-nav a:hover {
	color: #31B5E3;
}

#gloval-nav ul li {
	margin-bottom: 35px;
	opacity: 0;
	transform: translateY(25px);
	transition: transform .5s ease, opacity .5s ease;
}

@media screen and (max-width: 1024px) and (orientation: landscape){
	#gloval-nav ul li {
		margin-bottom: 12px;
	}
}

#gloval-nav ul li:last-child{
	margin-bottom: 0;
}

#gloval-nav ul li:nth-child(2) { transition-delay: .1s; }
#gloval-nav ul li:nth-child(3) { transition-delay: .15s; }
#gloval-nav ul li:nth-child(4) { transition-delay: .2s; }
#gloval-nav ul li:nth-child(5) { transition-delay: .25s; }
#gloval-nav ul li:nth-child(6) { transition-delay: .3s; }
#gloval-nav ul li:nth-child(7) { transition-delay: .35s; }
#gloval-nav ul li:nth-child(8) { transition-delay: .4s; }
#gloval-nav ul li:nth-child(9) { transition-delay: .45s; }

.open { overflow: hidden; }
.open #gloval-nav {
	visibility: visible;
	opacity: 1;
}
.open #gloval-nav li {
	opacity: 1;
	transform: translateX(0);
	transition: transform 1s ease, opacity .9s ease;
}

/*  */

#logo{
	margin: 0 auto;
	text-align: center;
}

#logo img{
	width: 50px;
}

#shop{
	text-align: right;
}

#shop img{
	width: 45px;
}

@media screen and (min-width: 1025px){
	#loading-logo img{
		width: 430px;
	}
}

.main-gallery{
	width: 100%;
	height: 100%;
	list-style-type: none;
}
.main-gallery li{
	display: inline-block;
	aspect-ratio: 1 / 1;
}
.main-gallery li source,
.main-gallery li img{
	width: 100%;
}

@media screen and (min-width:1025px){
	.main-gallery li{
		display: inline-block;
		aspect-ratio: 16 / 9;		
	}
}

#vi-logo{
	width: 50%;
	position: absolute;
	bottom: -5%;
	left: 0;
	right: 0;
	margin: 0 auto;  
}

/*  */

main{
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

#archive main{
	position: relative;
	padding: 80px 0;
}
@media screen and (min-width: 900px){
	#archive main{
		padding: 80px 0;
	}
}

#concept-warpper h1,
#concept-warpper h2{
	color: #fff;
}

#cat{
	width: 80px;
	right: 5px;
	bottom: -40px;
	position: absolute;
	z-index: 2;
}

@media screen and (min-width: 1025px){
	#cat{
		right: 30px;
	}
}

#concept-warpper{
	color: #fff;
	background-color: #00195A;
}

@media screen and (min-width: 1025px){
	#concept-warpper p{
		text-align: center;
	}
}

#foodstuff-warpper{
	color: #fff;
	background-color: #31B5E3;
}

.inner .img{
	position: relative;
}

#oyster{
	width: 120px;
	left: 20px;
	bottom: -20px;
	position: absolute;
	z-index: 3;
}

/*  */

.webp #product-warpper{
	background: url("https://oystercats.com/assets/img/product-back-sp.webp") bottom no-repeat;
	background-size: contain;
}
.no-webp #product-warpper{
	background: url("https://oystercats.com/assets/img/product-back-sp.jpg") bottom no-repeat;
	background-size: contain;
}

#product-warpper{
	padding-bottom: 250px;
}

@media screen and (min-width: 1025px){
	.webp #product-warpper{
		background: url("https://oystercats.com/assets/img/product-back.webp") bottom no-repeat;
	}
	.no-webp #product-warpper{
		background: url("https://oystercats.com/assets/img/product-back.jpg") bottom no-repeat;
	}
}

#product-warpper .inner{
	margin-bottom: 80px;
}

#package{
	right: 0;
	bottom: -30px;
	position: absolute;
	z-index: 2;
}

#package source,
#package img{
	width: 200px;
}

.product-detail{
	width: 100%;
	margin: 0 auto;
	text-align: left;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 40px;
}

@media screen and (min-width: 1025px){
	.product-detail{
		flex-direction: row;
		justify-content: space-between;
	}
}

.product-detail div{
	width: 100%;
	padding: 30px 20px;
	background-color: rgba(255, 255, 255, 0.7);
	border-radius: 10px;
	box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.2);
}

@media screen and (min-width: 1025px){
	.product-detail div{
		width: calc(100%/3);
	}
}

.product-detail h1{
	font-size: 20px;
	text-align: center;
	color: #00195A;
}

.product-detail ul li{
	padding: 8px 0;
	border-bottom: 1px solid #ccc;
}

/*  */

#scene-warpper{
	background: url("https://oystercats.com/assets/img/nami-blue.png") 0 0 repeat;
}

#scene-warpper section{
	padding: 80px 30px;
	background-color: rgba(255, 255, 255, 0.9);
	border-radius: 10px;
	box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.2);
}

#scene-warpper ul{
	list-style:none;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

@media screen and (min-width: 1025px){
	#scene-warpper ul{
		flex-direction: row;
	}
}

#scene-warpper ul li{
	width: 100%;
	filter: drop-shadow(0 0px 3px rgba(0, 0, 0, 0.2));
}

@media screen and (min-width: 1025px){
	#scene-warpper ul li{
		width:calc(100%/3);
	}
}

#scene-warpper ul li source,
#scene-warpper ul li img{
	width: 100%;
	margin-bottom: 40px;
	mask-image: url("https://oystercats.com/assets/img/mask-cat.svg");
	mask-repeat: no-repeat;
	mask-position: 3% 0;
	mask-size: auto 100%;
	-webkit-mask-image: url("https://oystercats.com/assets/img/mask-cat.svg");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 3% 0;
	-webkit-mask-size: auto 100%;
}

#scene-warpper ul li h3{
	margin-bottom: 10px;
	font-size: 18px;
	color:#00195A !important;
}
#scene-warpper ul li h4{
	margin-bottom: 20px;
	font-size: 14px;
	color:#00195A !important;
}

@media screen and (min-width: 1025px){
	#scene-warpper ul li h3,
	#scene-warpper ul li h4{
		font-size: 22px;
	}
	#scene-warpper ul li h4{
		font-size: 16px;
	}
}

#scene-warpper ul li p{
	color: #00195A;
}

/*  */

@media screen and (min-width: 1025px){
	#image-warpper section{
		width: 650px;
	}
}

#image-warpper section iframe{
	width: 100%;
	height: 200px;
	margin-bottom: 40px;
}

@media screen and (min-width: 1025px){
	#image-warpper section iframe{
		width: 100%;
		height: 390px;
	}
}

/*  */

#advisor-warpper{
	  background-color: #fff;
	  background-image: radial-gradient(#7bded9 10%, transparent 12%), radial-gradient(#7bded9 10%, transparent 12%);
	  background-size: 10px 10px;
	  background-position: 0 0, 5px 5px;
	}

#advisor-warpper h3{
	font-size: 18px;
}

@media screen and (min-width: 1025px){
	#advisor-warpper h3{
		font-size: 20px;
	}
}

#advisor-warpper h3,
#advisor-warpper h4{
	text-align: left;
}

.profile-inner{
	flex-direction: column;
	gap:0;
}

.profile-inner p{
	font-size: 14px;
}

/*  */

#faq-warpper dl{
	margin: 0 auto 20px;
	text-align: left;
	border-bottom: 1px solid #ccc;
}

#faq-warpper dl dt{
	margin-bottom: 10px;
	padding-left: 16px;
	text-indent: -26px;
	font-weight: 700;
}

#faq-warpper dl dt span,
#faq-warpper dl dd span{
	margin-right: 5px;
}

#faq-warpper dl dd{
	padding: 0 0 20px;
	padding-left: 16px;
	text-indent: -26px;
}

/*  */

#twitter-warpper{
	
}

#twitter-warpper h1 img{
	max-width: 36px;
}
@media screen and (min-width: 1025px){
	#twitter-warpper h1 img{
		max-width: 50px;
	}
}

/*  */

#outline-warpper ul{
	margin: 0 auto;
	text-align: left;
}

@media screen and (min-width: 1025px){
	#outline-warpper ul{
		text-align: center;
	}
}

#outline-warpper ul li{
	margin-bottom: 10px;
}

#outline-warpper ul li:last-child{
	margin-bottom: 80px;
}

a.button {
	width: 300px;
	margin: 0 auto;
	padding: 10px 30px;
	font-size: 16px;
	font-weight: 700;
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	border: 2px solid #3DBEE3;
	background: #3DBEE3;
	color: #fff;
	border-radius: 100vh;
	transition: 0.5s;
}

a.button:hover {
	color: #3DBEE3;
	background: #fff;
}

/*  */

aside{
	display: none;
}
aside.scrolled{
	width: 100%;
    position:fixed;
	z-index: 777;
	bottom: 0;
	left: 0;
	padding: 12px;
	background-color: rgba(255,255,255,0.9);
	display: block;
	transition: all  0.3s ease;
}
aside ul{
	width: 90%;
    max-width: 1000px;
    margin: 0 auto;
	display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
}
aside ul li{
	text-align: center;
}
aside ul li a{

}
aside ul li a img{
	max-width: 36px;
}
@media screen and (min-width: 1025px){
	aside{
		padding:24px;
	}
	aside ul li a img{
		max-width: 50px;
	}
}

[aria-label][role~="tooltip"]::after {
	background: rgba(61,190,227, .9);
	text-align: center;
}

[role~="tooltip"][data-microtip-position|="top"]::before {
    background: url("/assets/img/arrow.svg") no-repeat;
}

[role~="tooltip"][data-microtip-position|="bottom"]::before {
    background: url("/assets/img/arrow-b.svg") no-repeat;
}

/*  */

#sns-link{
	width: 100%;
	list-style-type: none;
	margin: 0;
	padding: 15px 15px;
}
#sns-link li{
	border: solid 1px #ccc;
	padding: 15px;
	margin-bottom: 15px;
	border-radius: 10px;
}
#sns-link li:last-child{
	margin-bottom: 0;
}
#sns-link li a{
	font-weight: 700;
	font-size: 24px;
	color: #00195A;
	width: 100%;
	height: 100%;
	display: block;
}

@media screen and (min-width: 900px){
	#sns-link{
		padding: 30px 30px;
	}
	#sns-link li{
		padding: 30px;
		margin-bottom: 30px;
	}
	#sns-link li a{
		
	}
}

#sns-link li a img{
	width: 5%;
	max-width: 36px;
	margin-right: 1.0rem;
	vertical-align: middle;
}

/*  */

footer{
	margin: 0 auto;
	padding: 15px 0 81px;
	text-align: center;
	font-size: 12px;
	color: #fff;
	background: url("https://oystercats.com/assets/img/outline-back.png") #00195A 0 0 repeat-x;
}
#archive footer{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 15px 0;
}

@media screen and (min-width: 1025px){
	footer{
		padding: 30px 0 110px;
	}
	#archive footer{
		position: relative;
		padding:30px 0;
	}
}

@media screen and (orientation:landscape){
	#archive footer{
	position: relative;
	width: 100%;
	}
}

