@charset 'UTF-8';
pre {
	font-size: clamp(1.6rem, 1.8vw, 1.8rem) !important;
	white-space: pre-wrap;
	line-height: 2;
}

.header {
	position:fixed;
	top:0;
	align-items:center;
	display:flex;
	width:100%;
	justify-content:space-between;
	padding:20px 50px;
	z-index:99999;
}
@media screen and (max-width: 1770px){
	.header {
		padding:20px 20px;
	}
}
@media screen and (max-width: 768px){
	.header {
		position: inherit;
		justify-content:center;
		padding:10px;
	}
}
@media screen and (max-width: 768px){
	.header-ID {
		width:120px;
	}
}
@media screen and (max-width: 768px){
	.header nav.nav {
		display:none;
	}
}
.nav ul.menu {
	display:flex;
	gap:20px;
	margin-block-start:-50px;
}

.nav ul.menu li a {
	font-weight:400;
}
.mv {
	margin-block-start:100px;
}
@media screen and (max-width: 768px){
	.mv {
		margin-block-start:0px;
	}
}
.mv-img {
	position:relative;
	text-align: end;
}
.mv-img img {
	margin-left:auto
}
@media screen and (max-width: 1770px){
	.mv-img img {
		width:83%;
	}
}
@media screen and (max-width: 1770px){
	.mv-img img {
		width:83%;
	}
}
@media screen and (max-width: 768px){
	.mv-img img {
		width:100%;
		height: 500px;
        object-fit: cover;
	}
}
.mv-img .mv-text {
	position:absolute;
	text-align:start;
	left:20%;
	bottom:50px;
}
@media screen and (max-width: 1770px){
	.mv-img .mv-text {
		left:22%;
	}
}
@media screen and (max-width: 900px){
	.mv-img .mv-text {
		bottom:30px;
	}
}
@media screen and (max-width: 768px){
	.mv-img .mv-text {
		left:5%;
	}
}

.mv-img .mv-text h1 {
	font-size: clamp(3rem, 4.8vw, 4.8rem);
	font-family: 'Zen Old Mincho', 'Noto Serif Japanese', '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	margin-block-end:20px;
}
@media screen and (max-width: 1300px){
	.mv-img .mv-text h1 {
		font-size: clamp(3rem, 4vw, 4rem);
		margin-block-end:10px;
	}
}
@media screen and (max-width: 1100px){
	.mv-img .mv-text h1 {
		font-size: clamp(3rem, 3.0vw, 3.0rem);
	}
}
@media screen and (max-width: 900px){
	.mv-img .mv-text h1 {
		font-size: clamp(2.6rem, 2.6vw, 2.6rem);
	}
}
@media screen and (max-width: 768px){
	.mv-img .mv-text h1 {
		font-size: clamp(2.4rem, 2.6vw, 2.6rem);
	}
}
.mv-img .mv-text h1:before {
	content:"Ultra fine bubble";
	display:block;
	color:#0492d2;
	font-size: clamp(4rem, 6vw, 6rem);
	font-family: "Oooh Baby", cursive;
	font-weight: 400;
	font-style: normal;
	transform: rotate(-10deg);
	margin-block-end:60px;
}
@media screen and (max-width: 1100px){
	.mv-img .mv-text h1:before {
		font-size: clamp(3.6rem, 5vw, 5rem);
	}
}
@media screen and (max-width: 900px){
	.mv-img .mv-text h1:before {
		font-size: clamp(3.6rem, 4vw, 4rem);
	}
}
.mv-img .mv-text p {
	font-size: clamp(1.8rem, 2.4vw, 2.4rem);
	line-height:2;
	font-weight: 400;
}
@media screen and (max-width: 1300px){
	.mv-img .mv-text p {
		font-size: clamp(1.8rem, 2.0vw, 2.0rem);
	}
}
@media screen and (max-width: 1100px){
	.mv-img .mv-text p {
		font-size: clamp(1.6rem, 1.6vw, 1.6rem);
	}
}
@media screen and (max-width: 800px){
	.mv-img .mv-text p br {
		display:none;
	}
}
@media screen and (max-width: 768px){
	.mv-img .mv-text p {
		font-size: clamp(1.5rem, 1.6vw, 1.6rem);
	}
}
.mv-img2 {
	position:relative;
	margin-block-start:-390px;
	z-index:-1;
}
@media screen and (max-width: 1300px){
	.mv-img2 {
		width:40%;
		margin-block-start:-300px;
	}
}
@media screen and (max-width: 1100px){
	.mv-img2 {
		margin-block-start:-200px;
	}
}
@media screen and (max-width: 768px){
	.mv-img2 {
		margin-block-start:-100px;
	}
}

.title-01._common
{
	font-family: 'Zen Old Mincho', 'Noto Serif Japanese', '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
    font-size: clamp(2.4rem, 4vw, 4rem);
	color:#333;
	font-weight:700;

    display: flex;

    text-align: center;

    background: url(/wp-content/uploads/title-01-bg.jpg) top center/cover no-repeat;

    padding-block: 170px;
    align-items: center;
    justify-content: center;
}
.title-02._index {
	color:#333;
	font-family: 'Zen Old Mincho', 'Noto Serif Japanese', '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	font-size: clamp(2.4rem, 3.4vw, 3.4rem);
	font-weight:700;
	background:url(/wp-content/uploads/title-bg01.png) top center no-repeat;
	margin-block-end:40px;
}
.title-02._index h2 {
	font-family: 'Zen Old Mincho', 'Noto Serif Japanese', '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
}
.title-02._index p {
	font-size: clamp(1.8rem, 2.0vw, 2.0rem);
}
.title-03._index h3 {
	color:#0492d2;
	font-family: 'Zen Old Mincho', 'Noto Serif Japanese', '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	font-size: clamp(2.2rem, 2.8vw, 2.8rem);
	font-weight:500;
	margin-block-end:20px;
}
.title-03._index h3 span {
	color:#333;
	font-size: clamp(1.8rem, 2.1vw, 2.1rem);
}
.title-04._index h4 {
	font-family: 'Zen Old Mincho', 'Noto Serif Japanese', '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	font-size: clamp(2rem, 2.2vw, 2.2rem);
	font-weight:500;
	margin-block:10px;
}
.section01 {
	margin-block-start:100px;
	background:url(/wp-content/uploads/section01-bg.jpg) no-repeat;
}
@media screen and (max-width: 768px){
	.section01 {
		margin-block-start:60px;
		background-size: contain;
	}
}
.section01 > div {
	width: min(100% - 4rem, 1420px);
    margin-inline: auto;
    padding-block: 100px;
}
@media screen and (max-width: 1100px){
	.section01 .title-02._index {
		font-size: clamp(2.2rem, 3.0vw, 3.0rem);
	}
}
@media screen and (max-width: 768px){
	.section01 .wrap {
		flex-direction:column;
	}
}
.section02 {
	margin-block-start:100px;
}
@media screen and (max-width: 768px){
	.section02 {
		margin-block-start:60px;
	}
}
.section02 > div {
	width: min(100% - 4rem, 1620px);
	margin-inline-start:auto;
}
@media screen and (max-width: 768px){
	.section02 > div {
		margin-inline:auto;
	}
}
.section02 .wrap {
	gap:0;
	align-items:center;
}
@media screen and (max-width: 768px){
	.section02 .wrap {
		flex-direction:column;
	}
}
.section03 {
	margin-block-start:100px;
}
@media screen and (max-width: 768px){
	.section03 {
		margin-block-start:60px;
	}
}
.section03 .wrap {
	width: min(100% - 4rem, 1560px);
}
@media screen and (max-width: 768px){
	.section03 .wrap {
		display:flex;
	}
}
.section03 .wrap:nth-child(even) {
	margin-inline-start:auto;
}
@media screen and (max-width: 768px){
	.section03 .wrap:nth-child(even) {
		flex-direction:column;
		margin-inline:auto;
	}
}
.section03 .wrap:nth-child(odd) {
	margin-inline-end:auto;
}
@media screen and (max-width: 768px){
	.section03 .wrap:nth-child(odd) {
		flex-direction:column-reverse;
		margin-inline:auto;
	}
}
.section03 .wrap .title-03._index {
	display:flex;
	flex-direction:column-reverse;
}
.section03 .wrap .title-03._index p {
	content:"Ultra fine bubble";
	display:block;
	color:#0492d2;
	font-size: clamp(4rem, 6vw, 6rem);
	font-family: "Oooh Baby", cursive;
	font-weight: 400;
	font-style: normal;
	transform: rotate(-10deg);
	margin-block-end:60px;
}
@media screen and (max-width: 1000px){
	.section03 .wrap .title-03._index p {
		margin-block-end:40px;
	}
}
.section04 {
	margin-block-start:100px;
}
@media screen and (max-width: 768px){
	.section04 {
		margin-block-start:60px;
	}
}
.section04 > div {
	width: min(100% - 4rem, 1620px);
	margin-inline:auto;
}
@media screen and (max-width: 768px){
	.section04 .wrap {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap:20px;
	}
}
@media screen and (max-width: 480px){
	.section04 .wrap {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}
}
.section04 .wrap .block {
	text-align:center;
}
.section04 .wrap .block .title {
	margin-block-start:20px;
}
@media screen and (max-width: 768px){
	.section04 .wrap .block .title {
		margin-block-start:10px;
	}
}
.section04 .wrap .block .title a {
	font-family: 'Zen Old Mincho', 'Noto Serif Japanese', '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	font-size: clamp(2.0rem, 2.0vw, 2.0rem);
	font-weight:400;
}

.footer {
	margin-block-start:30px;	
}
.footer-contact {
	background-image: linear-gradient(45deg, rgba(224, 242, 245, 1), rgba(206, 234, 238, 1));
}
@media screen and (max-width: 900px){
	.footer-contact {
		padding-block:60px;
	}
}
.footer-contact > div {
	width: min(100% - 4rem, 1620px);
	margin-inline-start:auto;
}
@media screen and (max-width: 900px){
	.footer-contact > div {
		margin-inline:auto;
	}
}
.footer-contact .wrap {
	display:flex;
	align-items:center;
	justify-content:space-between;
}
@media screen and (max-width: 900px){
	.footer-contact .wrap {
		flex-direction:column;
		gap:20px;
	}
}
@media screen and (max-width: 900px){
	.footer-contact .wrap .block:nth-child(1) {
    	width: 100%;
		text-align: center
	}
}
@media screen and (max-width: 1560px){
	.footer-contact .wrap .block:nth-child(2) {
		width:55%;
	}
}
@media screen and (max-width: 1300px){
	.footer-contact .wrap .block:nth-child(2) {
		width:50%;
	}
}
@media screen and (max-width: 900px){
	.footer-contact .wrap .block:nth-child(2) {
		width:100%;
	}
}
.footer-contact .wrap .block p {
	font-size: clamp(1.8rem, 1.8vw, 1.8rem);
}
ul.contact-btn {
	display:flex;
	align-items:stretch;
	gap:20px;
	margin-block-start:40px;
}
@media screen and (max-width: 1200px){
	ul.contact-btn {
		gap:10px;
	}
}
@media screen and (max-width: 900px){
	ul.contact-btn {
		justify-content:center;
	}
}
ul.contact-btn li a {
	display:block;
	color:#fff;
	font-weight: 500;
	background:#000;
	padding:10px 20px;
	text-align:center;
}
ul.contact-btn li a span {
	display: block;
	font-family: "Roboto", sans-serif;
	font-size: clamp(2.4rem, 3.0vw, 3.0rem);
	font-optical-sizing: auto;
	font-style: normal;
}
@media screen and (max-width: 1200px){
	ul.contact-btn li a span {
		font-size: clamp(2.2rem, 2.2vw, 2.4rem);
	}
}
ul.contact-btn li a span img {
	display:inline;
	vertical-align:middle;
	margin-inline-end:10px;
}
@media screen and (max-width: 1200px){
	ul.contact-btn li a span img {
		width:45px;
	}
}
.footer-contents {
	color:#fff;
	background:#000;
	padding-block:30px 60px;
}
.footer-contents .footer-inner,
.footer-contents .footer-column,
.footer-contents .footer-info {
	width: min(100% - 4rem, 1200px);
	margin-inline:auto;
}
.footer-nav ul.menu {
	display:flex;
	justify-content:center;
	gap:20px;
	border-bottom:1px solid #333;
	padding-block-end:30px;
}
.footer-nav ul.menu li a {
	font-weight:400;
}
.footer-column {
	margin-block-start:30px;
}
.footer-column ul li a .card-wrap h2 {
    width: 350px; /* 省略せずに表示するサイズを指定 */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.footer-column ul li a .card-wrap {
    display: inline-block;
    color: #fff;
    padding: 5px 10px;
    background: #333;
    border-radius: 9999px;
}
.footer-column ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-block-start: 20px;
}
.footer-contents .footer-info {
	text-align:center;
	margin-block-start:40px;
}
.footer-contents .footer-info img {
	margin-inline:auto;
}
ul.footer-link {
	display:flex;
	justify-content:center;
	gap:20px;
	margin-block-start:20px;
}
ul.footer-link li:first-child {
	border-right:1px solid #fff;
	padding-inline-end:20px;
}
ul.footer-link li a {
	color:#fff;
}
.footer-contents .footer-info .copy {
	margin-block-start:30px;
}
.faq-item._question {
	padding-inline-start: 60px;
}
.faq-item._question:after {
    content: "Q";
    color: #333;
    font-family: "Roboto", sans-serif;
    font-size: clamp(2.4rem, 3vw, 3rem);
    font-weight: 900;
    position: absolute;
    top: 10px;
    left: 20px;
}
.faq-item._answer {
    position: relative;
    padding-inline-start: 60px;
    line-height: 2;
}
.faq-item._answer:after {
    content: "A";
    color: #333;
    font-family: "Roboto", sans-serif;
    font-size: clamp(2.4rem, 3vw, 3rem);
    font-weight: 900;
    position: absolute;
    top: 10px;
    left: 20px;
}
.company-profile > div {
	width:50%;
}
.company-profile .table._common {
	width:100%;
}
.column-list > ul {
	display:grid;
	gap:40px;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
@media screen and (max-width: 768px){
	.column-list > ul {
		gap:20px;
	}
}
.column-list .wrap {
	flex-direction:column;
}
.column-list .wrap h2 {
    font-size: clamp(2.1rem, 2.1vw, 2.1rem);
	margin-block-end:10px;
}
.about-wrap {
	gap:30px;
	background:#f0f0f0;
	padding:40px;
}

.price strong {
    font-size: clamp(2.1rem, 2.4vw, 2.4rem);
}
@media screen and (max-width: 768px){
	.about-wrap {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
		padding:30px;
	}
}
@media screen and (max-width: 640px){
	.about-wrap {
		gap:20px;
		padding:20px;
	}
}
.price {
	align-items:stretch;
}
.price .block {
	display: flex;
	align-items: center;
}
.price .block:nth-child(1) {
	background:#f0f0f0;
	text-align:center;
	justify-content:center;
}
.table._common {
	width:100%;
}
.product-wrap {
	gap:20px;
}
.product-wrap .title-04._index h4 {
	text-align:center;
}
.product-list-wrap {
	align-items:center;
	gap:40px;
}
.product-list-wrap .block {
	display:grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	text-align:center;
}
.product-list-wrap .block .title {
	font-weight:500;
}

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

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

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