/*------------------------------------------------------------------------------
  PC or ALL
------------------------------------------------------------------------------*/
.container{
	border: #00ffff 10px solid;
}
.header-inner{
	height: 90px;
}
.drawer-open{
    -webkit-border-top-left-radius: 0;
    -webkit-border-top-right-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    -webkit-border-bottom-left-radius: 40px;
    -moz-border-radius-topleft: 0;
    -moz-border-radius-topright: 0;
    -moz-border-radius-bottomright: 0;
    -moz-border-radius-bottomleft: 40px;
}
.header-nav {
	ul{
		li{
			a{
				.en{
					font-size: max(calc((18 / 1920) * 100vw),16px);
					font-family: "Zen Kaku Gothic New", sans-serif;
					font-weight: 700;
				}
			}
		}
	}
}
.mainvisual{
	padding-left: calc((19 / 192) * 100vw);
	height: auto;
	.swiper-slide{
		img{
			object-fit: unset;
			height: auto;
			width: 100%;
			-webkit-border-top-left-radius: calc((11 / 192) * 100vw);
			-webkit-border-top-right-radius: 0;
			-webkit-border-bottom-right-radius: 0;
			-webkit-border-bottom-left-radius: calc((11 / 192) * 100vw);
			-moz-border-radius-topleft: calc((11 / 192) * 100vw);
			-moz-border-radius-topright: 0;
			-moz-border-radius-bottomright: 0;
			-moz-border-radius-bottomleft: calc((11 / 192) * 100vw);
		}
	}
	.mainvisual-catch{
		top: 50%;
		left: 50%;
		bottom: auto;
		transform: translate(-50%,-35%);
		text-align: center;
		.copy{
			margin-bottom: calc((5 / 192) * 100vw);
			font-size: calc(((58 / 1920) * 100vw) * .8);
			font-weight: 700;
			span{
				display: inline-block;
				padding: 0 .2em .1em .2em;
				background: #4eafd6;
				margin-bottom: calc((1 / 192) * 100vw);
				letter-spacing: .05em;
				strong{
					font-size: calc((58 / 1920) * 100vw);
					font-weight: 700;
				}
				&:last-child{
					letter-spacing: .1em;
				}
			}
		}
		.sub-text{
			font-size: calc((28 / 1920) * 100vw);
			color: #1c1c1c;
			letter-spacing: .05em;
		}
	}
}

.title-type01,.title-type02{
	padding-bottom: 0;
	h2{
		.ja{
			font-size: 4.2rem;
		}
		.en{
			font-size: 2rem;
			color: #3bcdf5;
			opacity: 1;
			text-transform: uppercase;
		}
	}
	&::before{
		display: none;
	}
}
.box .btn a {
	position: relative;
    margin: 0 auto;
    padding: 0 60px 0 35px;
	height: 60px;
	line-height: 60px;
    color: #fff;
	font-size: 2.2rem;
    background: var(--main-color-2);
    border-radius: 30px;
	&::after{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 20px;
		content: '\f144';
		font-family: 'Font Awesome 5 Free';
		line-height: 1;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

.sns-icon-list{
	li:first-child{
		a{
			background: #00b900;
		}
	}
	li:last-child{
		a{
			background: #003d79;
		}
	}
}

.main-news{
	padding: 50px 55px 50px 75px;
	background: #e8f8fa;
	-webkit-border-radius: 40px;
	-moz-border-radius: 40px;
	border-radius: 40px;
	display: flex;
	justify-content: space-between;
	.title-type01{
		margin: 0;
		padding: 0;
		width: 250px;
	}
	.main-news-main{
		width: calc(100% - 250px);
		text-align: left;
		ul{
			li{
				.text{
					h3{
						a{
							width: 570px;
							font-size: 1.6rem;
							display: -webkit-box;
							-webkit-line-clamp: 1;
							-webkit-box-orient: vertical;
							overflow: hidden;
						}
					}
				}
			}
		}
	}
}

.main-passion{
	.image{
		-webkit-border-radius: calc((8 / 192) * 100vw);
		-moz-border-radius: calc((8 / 192) * 100vw);
		border-radius: calc((8 / 192) * 100vw);
		overflow: hidden;
	}
	.text{
		padding: 130px 0;
		max-width: 710px;
		h3{
			display: inline-block;
			font-size: 3.6rem;
			font-weight: 700;
			margin-bottom: 20px;
			padding-bottom: 20px;
			border-bottom: #fff 3px dotted;
		}
		.copy{
			font-size: 2.4rem;
		}
		p{
			font-size: 1.8rem;
		}
	}
}

.main-purchase{
	margin-bottom: 0;
	padding: 100px 0 60px;
	background: #e8f8fa;
	.image-text-type03{
		margin: 0 auto;
		max-width: 1124px;
		.image{
			-webkit-border-radius: 40px;
			-moz-border-radius: 40px;
			border-radius: 40px;
			overflow: hidden;
		}
		.text{
			h3{
				margin-bottom: 30px;
				padding-bottom: 10px;
				color: #003d79;
				font-size: 2.8rem;
				font-weight: 700;
				border-bottom: #8dc3d9 2px dotted;
			}
			.copy{
				color: #003d79;
				font-size: 2.2rem;
				font-weight: 500;
			}
			&::before{
				background: #fff;
				-webkit-border-radius: 40px;
				-moz-border-radius: 40px;
				border-radius: 40px;
			}
		}
	}
}

.main-banner{
	padding-bottom: 100px;
	background: #e8f8fa;
	.banner-type02{
		margin: 0 auto;
		max-width: 1124px;
		ul{
			li{
				-webkit-border-radius: 40px;
				-moz-border-radius: 40px;
				border-radius: 40px;
				overflow: hidden;
				.text{
					h3{
						color: #003d79;
						margin-bottom: 10px;
						padding-bottom: 10px;
						font-size: 3.6rem;
						font-weight: 700;
						border-bottom: #003d79 2px dotted;
						text-align: center;
					}
					.copy{
						color: #003d79;
						margin-bottom: 10px;
						font-size: 2.4rem;
						font-weight: 500;
						text-align: center;
					}
					p{
						color: #003d79;
						margin: 0 0 10px;
						min-height: 5em;
						font-size: 1.8rem;
					}
					.btn{
						a{
							background: #003d79;
						}
					}
				}
			}
		}
	}
}

.main-service{
	margin-bottom: 100px;
	position: relative;
	.list-number-type02{
		position: relative;
		z-index: 10;
		ol{
			li{
				.text{
					color: #fff;
					h3{
						color: #003d79;
						font-size: 3.2rem;
						font-weight: 700;
						text-align: center;
					}
					.copy{
						color: #003d79;
						font-size: 2.4rem;
						font-weight: 500;
						text-align: center;
						height: 2.5em;
					}
					p{
						color: #003d79;
						font-size: 1.8rem;
					}
				}
				&::before{
					border: none;
					top: 0;
					color: #003d79;
					font-size: 6rem;
					font-weight: 600;
					font-style: italic;
					font-family: "Josefin Sans", sans-serif;
				}
			}
		}
		&::after{
			display: none;
		}
	}
	&::before{
		content: '';
		position: absolute;
		top: 260px;
		right: calc((198 / 1920) * -100vw);
		bottom: 0;
		left: calc((198 / 1920) * -100vw);
		background: #3bcdf5;
		-webkit-border-radius: 80px;
		-moz-border-radius: 80px;
		border-radius: 80px;
	}
}

.main-fivestar{
	.image{
		-webkit-border-radius: 40px;
		-moz-border-radius: 40px;
		border-radius: 40px;
		overflow: hidden;
	}
	.text{
		background: #4eafd6;
		-webkit-border-radius: 40px;
		-moz-border-radius: 40px;
		border-radius: 40px;
		padding: 60px;
		h3{
			color: #003d79;
			font-size: 3.6rem;
			font-weight: 700;
		}
		.copy{
			color: #003d79;
			font-size: 2.4rem;
			font-weight: 500;
		}
		p{
			color: #003d79;
			font-size: 1.8rem;
		}
	}
}

.main-blog{
	padding: 70px 0 100px;
	background: #e8f8fa;
	.title-type01{
		margin: 0 auto 50px;
		max-width: 1124px;
	}
	.main-blog-main{
		margin: 0 auto;
		max-width: 1124px;
	}
}

.main-instagram{
	.swiper-slide {
		margin: 0 15px;
		aspect-ratio: 1 / 1;
		img{
			object-fit: cover;
			width: 100%;
			height: 100%;
			-webkit-border-radius: 20px;
			-moz-border-radius: 20px;
			border-radius: 20px;
		}
	}
}

.main-company{
	.image{
		width: 440px;
		height: 330px;
		min-height: unset;
		img{
			position: relative;
			object-fit: unset;
			-webkit-border-radius: 40px;
			-moz-border-radius: 40px;
			border-radius: 40px;
		}
	}
	.text{
		width: 684px;
		padding: 0 0 0 60px;
		h3{
			color: #003d79;
			font-size: 3.6rem;
			font-weight: 700;
			max-width: unset;
			margin-bottom: 50px;
			max-width: unset !important;
		}
		.table-type01{
			.box-table{
				tr{
					th{
						width: 150px !important;
						font-size: 18px;
						padding: 15px 0;
						border-width: 3px;
					}
					td{
						width: calc(100% - 150px)!important;
						font-size: 18px;
						border-bottom: #fff 3px solid;
					}
				}
			}
		}
		&::before{
			top: 70px;
			left: -160px;
			-webkit-border-top-left-radius: 0;
			-webkit-border-top-right-radius: 0;
			-webkit-border-bottom-right-radius: 0;
			-webkit-border-bottom-left-radius: 120px;
			-moz-border-radius-topleft: 0;
			-moz-border-radius-topright: 0;
			-moz-border-radius-bottomright: 0;
			-moz-border-radius-bottomleft: 120px;
		}
	}
}
.main-curry{
	background: #ebebeb;
	margin-bottom: 0;
	padding: 100px 0;
	.title-type04{
		h2{
			span{
			line-height: 1.2;
				&.ja{
					&:first-child{
						font-size: 3rem;
					}
					&:last-child{
						margin: 0;
						opacity: 1;
						font-size: 4.4rem;
					}
				}
			}
		}
		&::before{
			display: none;
		}
	}
	.image-text-type03 {
		margin: 0 auto;
		max-width: 1124px;
		.image{
			img{
				-webkit-border-radius: 35px;
				-moz-border-radius: 35px;
				border-radius: 35px;
			}
		}
		.text{
			padding-top: 100px;
			table{
				tr{
					th,td{
						border-top: none;
						border-right: none;
						border-left: none;
						border-width: 3px;
					}
					th{
						background: none;
						vertical-align: middle;
						border-color: #3bcdf5;
					}
					td{
						border-color: #e8f8fa;
					}
				}
			}
			.contact{
				display: flex;
				justify-content: flex-start;
				align-items: flex-end;
				gap: 17px;
				.tel{
					color: var(--main-color-2);
					font-weight: 700;
					span{
						display: block;
						&.ja{
							font-size: 1.3rem;
							text-align: right;
						}
						&.en{
							font-size: 4rem;
							line-height: 1;
							&::before{
								content: "\e0b0";
								margin: 0 5px 0 0;
								font-family: "Material Symbols Outlined";
								font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
								display: inline-block;
								transform: translateY(15%);
							}
						}
					}
				}
			}
			&::before{
				-webkit-border-radius: 35px;
				-moz-border-radius: 35px;
				border-radius: 35px;
				background: #fff;
			}
		}
	}
	.history{
		margin: 60px auto 0;
		max-width: 625px;
		padding: 40px;
		background: #fff;
		-webkit-border-radius: 25px;
		-moz-border-radius: 25px;
		border-radius: 25px;
		h3{
			margin: 0 0 30px;
			font-size: 2.4rem;
		}
	}
	.curry-slider{
	}
}

.main-movie{
	text-align: center;
}

.footer-map{
	height: 450px;
	iframe{
		height: 450px;
	}
}

.footer{
	.logo{
		width: auto;
	}
}

.pagetop{
	z-index: 99999;
	a{
		width: 50px;
		height: 50px;
		color: #fff;
		background: #003d79;
		&::after{
			content: '\e5c7';
		}
	}
}

.fixed-footer{
	background: #00ffff;
	color: #fff;
	.tel{
		a{
			&::before{
				color: #fff;
			}
		}
	}
	.contact{
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 10px;
		a{
			position: relative;
			background: #fff;
			color: #1c1c1c;
			font-size: 1.4rem;
			line-height: 1.2;
			height: 46px;
			padding: 0 25px 0 55px;
			&::before{
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
				left: 10px;
				content: '';
				width: 34px;
				height: 34px;
			}
			&:nth-child(1){
				&::before{
					background: url(/mwp/wp-content/themes/mwp-theme/assets/images/fixed-footer-icon01.png) no-repeat center center / cover;
				}
			}
			&:nth-child(2){
				&::before{
					background: url(/mwp/wp-content/themes/mwp-theme/assets/images/fixed-footer-icon02.png) no-repeat center center / cover;
				}
			}
			&:nth-child(3){
				&::before{
					background: url(/mwp/wp-content/themes/mwp-theme/assets/images/fixed-footer-icon03.png) no-repeat center center / cover;
				}
			}
		}
	}
}

.gallery-table{
	margin: 0 0 0.8em 0;
	padding: 0;
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	th{
		padding: 10px;
		width: 20%;
		background: var(--main-color);
		border: var(--sub-color) 1px solid;
		color:#FFF;
		text-align: center;
	}
	td{
		padding: 10px 20px;
		border: var(--main-color) 1px solid;
	}
}


/* 20250610 added by Fabo */
.mt-0 { margin-top: 0 !important;}
.mt-s { margin-top: 4vh !important;}
.mt-m { margin-top: 7vh !important;}
.mt-l { margin-top: 10vh !important;}

.mb-0 { margin-bottom: 0 !important;}
.mb-s { margin-bottom: 4vh !important;}
.mb-m { margin-bottom: 7vh !important;}
.mb-l { margin-bottom: 10vh !important;}

.page-content h2:not([class]),
.page-content h3:not([class]),
.page-content h4:not([class]) {
	margin-bottom: 3vh;
}

.box-color {
	margin: 0 0 6vh;
	padding: 3vh;
	border-radius: 2vmin;
	background: var(--sub-color);
}
.box-color :first-child {
	margin-top: 0 !important;
}
.box-color :last-child {
	margin-bottom: 0 !important;
}

.page-content .image-text-type01 .text {
	overflow: hidden;
}
.page-content .image-text-type01 .text :first-child {
	margin-top: 0;
}
.page-content  .list-check-type01 {
	display: flex;
	justify-content: flex-start;
}

.align-center {
	text-align: center;
}

body:not(.home) .image-bg-type01 .image,
body:not(.home) .image-text-type01 .image,
body:not(.home) .image-text-type02 .image,
body:not(.home) .image-text-type03 .image,
body:not(.home) .image-radius {
	border-radius: 2vmin;
}
body:not(.home) .image-bg-type01 .text {
	border-radius: 2vmin;
}
body:not(.home) .image-text-type02 .text:before,
body:not(.home) .image-text-type03 .text:before {
	border-radius: 2vmin;
	background: var(--sub-color);
}

body:not(.home) .table-type02 table th {
	background: #3bcdf5;
}

.table_qa {
	width: 100%;
	margin-bottom: 30px;
	padding: 0;
	border-collapse: collapse;
	border-spacing: 0;
}
.table_qa th {
	width: 5%;
	padding: 20px 10px;
}
.table_qa td {
	padding: 20px 10px;
	vertical-align: middle;
}
.table_qa tr:nth-child(2n-1) td {
	font-size: 18px;
	font-weight: bold;
}
.table_qa tr:nth-child(2n) {
	background: var(--sub-color);
}
.table_qa tr:nth-child(2n) th {
	vertical-align: top;
}
.q_icon {
	display: inline-block;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #3bcdf5;
	line-height: 48px;
	color: #fff;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
.a_icon {
	display: inline-block;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--main-color-2);
	line-height: 48px;
	color: #fff;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}


/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {
.drawer-open{
    -webkit-border-bottom-left-radius: 6vw;
    -moz-border-radius-bottomleft: 6vw;
}
.mainvisual{
	padding: 0;
	.mainvisual-catch{
		.copy{
			font-size: 6vw;
			span{
				strong{
					font-size: 7vw;
				}
			}
		}
		.en{
			font-size: 4vw;
		}
	}
	.swiper-slide{
		img{
			-webkit-border-radius: 0;
			-moz-border-radius: 0;
			border-radius: 0;
		}
	}
}

.title-type01,.title-type02{
	h2{
		.ja{
			font-size: 7vw;
		}
		.en{
			font-size: 4vw;
		}
	}
	&::before{
		display: none;
	}
}
.main-news{
	padding: 6vw 4vw 8vw;
	-webkit-border-radius: 4vw;
	-moz-border-radius: 4vw;
	border-radius: 4vw;
	display: block;
	.title-type01{
		margin-bottom: 4vw;
	}
	.main-news-main{
		width: 100%;
		text-align: left;
		ul{
			li{
				.text{
					h3{
						a{
							width: 100%;
						}
					}
				}
			}
		}
	}
}


.main-passion{
	.image{
		-webkit-border-radius: 4vw;
		-moz-border-radius: 4vw;
		border-radius: 4vw;
	}
	.text{
		padding: 6vw 4vw;
		h3{
			display: inline-block;
			font-size: 3.2rem;
			font-weight: 700;
			margin-bottom: 20px;
			padding-bottom: 20px;
			border-bottom: #fff 3px dotted;
		}
	}
}
.main-purchase{
	padding: 6vw 4vw;
	.image-text-type03{
		.image{
			-webkit-border-radius: 4vw;
			-moz-border-radius: 4vw;
			border-radius: 4vw;
		}
		.text{
			padding: 4vw 6vw;
			h3{
				margin-bottom: 2vw;
				padding-bottom: 2vw;
			}
		}
	}
}
.main-banner{
	padding: 0 4vw 6vw;
	.banner-type02{
		ul{
			li{
				-webkit-border-radius: 4vw;
				-moz-border-radius: 4vw;
				border-radius: 4vw;
				.text{
					padding: 4vw;
					h3{
						margin-bottom: 2vw;
						padding-bottom: 2vw;
					}
					.btn{
						a{
							background: #003d79;
						}
					}
				}
			}
		}
	}
}

.main-service{
	margin-bottom: 10vw;
	.list-number-type02{
		.text{
			padding: 0 4vw;
		}
		&::after{
			display: none;
		}
	}
	&::before{
		content: '';
		position: absolute;
		top: 260px;
		right: 0;
		left: 0;
		bottom: -4vw;
		background: #4eafd6;
		-webkit-border-radius: 4vw;
		-moz-border-radius: 4vw;
		border-radius: 4vw;
	}
}

.main-fivestar{
	.image{
		-webkit-border-radius: 4vw;
		-moz-border-radius: 4vw;
		border-radius: 4vw;
	}
	.text{
		-webkit-border-radius: 4vw;
		-moz-border-radius: 4vw;
		border-radius: 4vw;
		padding: 4vw;
	}
}

.main-blog{
	padding: 6vw 4vw
}

.main-instagram{
	.swiper-slide {
		margin: 0 1vw;
		img{
			-webkit-border-radius: 2vw;
			-moz-border-radius: 2vw;
			border-radius: 2vw;
		}
	}
}


.main-company{
	.image{
		width: 100%;
		height: auto;
		img{
			-webkit-border-radius: 4vw;
			-moz-border-radius: 4vw;
			border-radius: 4vw;
		}
	}
	.text{
		width: 100%;
		padding: 4vw;
		.table-type01{
			.box-table{
				width: 100%;
				tr{
					display: flex;
					th{
						width: 25% !important;
					}
					td{
						width: 75% !important;
						padding-left: 1.0em;
					}
				}
			}
		}
		&::before{
			top: 70px;
			left: -4vmin;
			right: 0;
			width: calc(100% + 4vmin + 10px);
			height: calc(100% - 5vw);
			-webkit-border-bottom-left-radius: 10vw;
			-moz-border-radius-bottomleft: 10vw;
		}
	}
}

.sphone-fixed-footer {
	ul {
		li.line {
			a{
				&::before{
					position: absolute;
					top: 20%;
					left: 50%;
					width: 20px;
					height: 20px;
					text-align: center;
					content: '';
					background: url(/mwp/wp-content/themes/mwp-theme/assets/images/fixed-footer-icon03.png) no-repeat center center / cover;
			   }
		   }
	   }
   }
}

.main-curry{
	.image-text-type03 {
		.text{
			background: #fff;
			padding-top: 10vw;
			-webkit-border-radius: 4vw;
			-moz-border-radius: 4vw;
			border-radius: 4vw;
			.contact{
				gap: 3vw;
				.tel{
					span{
						&.ja{
							font-size: 3.5vw
						}
						&.en{
							font-size: 8vw;
						}
					}
				}
			}
			&::before{
			}
		}
	}
	.history{
		margin: 5vw 4vw 0;
	}
}


/* スープカレー：スマホ対応（768px以下で2カラムに） */
@media (max-width: 768px) {
  .box.row.row-4 > * {
    flex: 1 1 calc(50% - 16px); /* スマホ：2カラム（50%） */
  }
}