/*Common CSS　Ver.1.0.3（2023.11.17更新） */

/*=================================
全体設定
=================================*/
* {
	margin: 0;
	padding: 0;
	/*vertical-align: bottom;*/
	box-sizing: border-box;
}
body {
	font-size: 15px;
	line-height: 1.6;
	font-family: 'Noto Sans JP', sans-serif;
	/*
	GenJyuuGothic-Normal, "Lucida Grande", "segoe UI", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", Meiryo, Arial, sans-serif;
	*/
	/*
	Helvetica Neue,Helvetica,YuGothic,Yu Gothic,'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,"メイリオ",Meiryo,sans-serif;
	*/
	font-weight: 300;
	color: rgba(45, 45, 45, 1.0);
	text-align: justify;
	margin: 0;
	padding: 0;
}
h2 {
	font-size: 1.8rem;
	font-weight: 600;
}
h3 {
	font-size: 1.4rem;
}
ul, ol {
	list-style: none;
}
img {
	width: 100%;
	height: auto;
}
table {
	width: 100%;
	border-collapse: collapse;
}
a, a:visited {
	display: inline-block;
	color: rgba(45, 45, 45, 1.0);
	text-decoration: none;
}
a:hover {
	color: rgba(225, 0, 54, 1.0);
}
a[href*="tel:"] {
	text-decoration: none;
	pointer-events: none;
}
.netz-blue {
	color: rgba(0, 114, 186, 1.0);
}
.netz-red {
	color: rgba(225, 0, 54, 1.0);
}
.white {
	color: rgba(255, 255, 255, 1.0);
}
.txt-xl {
	font-size: 20px;
	line-height: 1.5;
}
.txt-l {
	font-size: 17px;
	line-height: 1.5;
}
.txt-s {
	font-size: 12px;
	line-height: 1.35;
}
.txt-ss {
	font-size: 10.5px;
}
.txt-sss {
	font-size: 9px;
}
.txt-left {
	text-align: left;
}
.txt-right {
	text-align: right;
}
.txt-center {
	text-align: center;
}
.w1200 {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}
.w1200p0 {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 0;
	padding-right: 0;
}
.w1000 {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}
.w1000p0 {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding-left: 0;
	padding-right: 0;
}
.w800 {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}
.w800p0 {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding-left: 0;
	padding-right: 0;
}
.w100a {
	width: 100%;
	margin: 0 auto;
}
.w100 {
	width: 100%;
}
.w95a {
	width: 95%;
	margin: 0 auto;
}
.w95 {
	width: 95%;
}
.w90a {
	width: 90%;
	margin: 0 auto;
}
.w90 {
	width: 90%;
}
.w85a {
	width: 85%;
	margin: 0 auto;
}
.w85 {
	width: 85%;
}
.w80a {
	width: 80%;
	margin: 0 auto;
}
.w80 {
	width: 80%;
}
.w75 {
	width: 75%;
}
.w70 {
	width: 70%;
}
.w65 {
	width: 65%;
}
.w60 {
	width: 60%;
}
.w55 {
	width: 55%;
}
.w50 {
	width: 50%;
}
.w45 {
	width: 45%;
}
.w40 {
	width: 40%;
}
.w35 {
	width: 35%;
}
.w30 {
	width: 30%;
}
.w25 {
	width: 25%;
}
.w20 {
	width: 20%;
}
.w15 {
	width: 15%;
}
.w10 {
	width: 10%;
}
.w5 {
	width: 5%;
}
.m0a {
	margin: 0 auto;
}
/*
.w100a, .w100, .w95a, .w90,
.w85a, .w85, .w80a, .w80 {
	max-width: 1200px;
}
*/
.bg-white {
	background-color: rgba(255, 255, 255, 1.0);
}
.bg-black {
	background-color: rgba(45, 45, 45, 1.0);
}
.bg-gray {
	background-color: rgba(246, 246, 246, 1.0);
}
.bg-netz-blue {
	background-color: rgba(0, 114, 186, 1.0);
}
.pos-relative {
	position: relative;
}
.pos-fixed {
	position: fixed;
	z-index: 100;
}
.flex {
	display: flex;
}
.flex-w {
	display: flex;
	flex-wrap: wrap;
}
.flex-wb {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex-wc {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.float-L {
	float: left;
}
.float-R {
	float: right;
}
.float-N {
	float: none;
}
.dsp-scroll {
	overflow: scroll;
	cursor: -webkit-grab;
	cursor: grab;
}
.dsp-scroll-alert {
	padding: 2px 0 4px;
	color: rgba(150, 150, 150, 1.0);
	display: block;
	text-align: center;
}
.dsp-scroll-alert::before {
	font-family: 'Material Icons';
	content: '\e9ec';
	padding-right: 4px;
	font-size: 18px;
	font-weight: normal;
	vertical-align: middle;
}
.dsp-sp {
		display: none;
}
.scale-up-parent {
	width: 100%;
	display: inline-block;
	overflow: hidden;
}
a .scale-up { /*リンクホバー用*/
	animation-name: scaleDown;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
}
@keyframes scaleDown {
	0% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1.0);
	}
}
a:hover .scale-up { /*リンクホバー用*/
	animation-name: scaleUp;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
}
@keyframes scaleUp {
	0% {
		transform: scale(1.0);
	}
	100% {
		transform: scale(1.1);
	}
}
a.netz-btn-01, 
a.netz-btn-01:visited {
	display: block;
	width: 50%;
	margin: 40px auto 0;
	padding: 0.5em 1.0em;
	text-align: center;
	border: 2px solid rgba(0, 0, 0, 1.0);
	border-radius: 5px;
}
a.netz-btn-01::after {
	font-family: 'Material Icons';
	content: '\e5c8';
	vertical-align: middle;
}
.tab-only,
.tabsp-only, 
.sp-only {
	display: none;
}



/*== Header設定 =========================*/
header {
	width: 100%;
	background-color:rgba(255, 255, 255, 1.0);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.header-inner {
	width: 95%;
	margin: 0 auto;
	align-items: center;
}
#logo-55th {
	width: 48px;
	height: 48px;
}
#header-logo {
	width: 210px;
	margin-right: 20px;
}
#header-menu a {
	margin-right: 2px;
	padding: 19px 3px 17px 0;
	font-size: 11px;
	line-height: 1.0;
}
#header-menu a::before {
	font-family: "Material Icons Outlined";
	content: "\e5cc";
	color: rgb(0, 114, 186);
	font-size: 10px;
}
.header-sns {
	position: absolute;
	right: 4%;
}
.header-sns a {
	width: 24px;
	margin-right: 4px;
}


/*== Nav設定 =========================*/
nav {
	margin: 0;
	padding: 0;
	border-style: none;
	float: right;
}
#nav-btn {
	width: 48px;
	position: fixed;
	top: 0;
	right: 10px;
	z-index: 102;
	cursor: pointer;
	border-radius: 50%;
	transition: 0.4s;
}
#nav-btn::before {
	font-family: 'Material Icons';
	content: '\e9bd';
	width: 40px;
	margin: 0 auto;
	font-size: 40px;
	text-align: center;
	line-height: 48px;
	display: block;
}
.open #nav-btn::before {
	content: '\e5cd';
}
#gloval-navi .nav-layer {
	display: none;
}
#gloval-navi.open .nav-layer {
	display: block;
	width: 0;
	height: 0;
	padding: 40px;
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 101;
	animation-name: gnaviOpen;
	animation-duration: 0.45s;
	animation-delay: 0.3ms;
	animation-fill-mode: forwards;
	background-color: rgba(15, 15, 15, 0);
}
	@keyframes gnaviOpen {
		0% {
			width: 0;
			height: 0;
			background-color: rgba(15, 15, 15, 0);
		}
		100% {
			width: 100vw;
			height: 100vh;
			background-color: rgba(15, 15, 15, 1.0);
		}
	}
#gloval-navi .g-nav-logo {
	margin-bottom: 50px;
	text-align: center;
}
#gloval-navi .g-nav-logo a {
	display: block;
}
#gloval-navi .g-nav-logo img {
	width: 25%;
}
#gloval-navi .g-nav {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	opacity: 0;
}
#gloval-navi.open .g-nav {
	animation-name: gnaviOpen2;
	animation-duration: 1.0s;
	animation-delay: 0.4s;
	animation-fill-mode: forwards;
}
	@keyframes gnaviOpen2 {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1.0;
		}
	}
#gloval-navi .nav-box {
	width: 30%;
	margin-bottom: 60px;
}
#gloval-navi .nav-box a.nav-cat-name {
	margin-bottom: 10px;
	font-size: 22px;
	font-weight: bold;
	color:rgba(75, 150, 216, 1.0);
}
#gloval-navi .nav-box .nav-cat-child a, 
#gloval-navi .nav-box .nav-cat-child a:visited {
	display: block;
	margin-bottom: 3px;
	padding: 2px 5px;
	font-size: 15px;
	color:rgba(240, 240, 240, 1.0);
}
#gloval-navi .nav-box .nav-cat-child a:hover {
	color:rgba(225, 0, 54, 1.0);
}
#gloval-navi .nav-box .nav-cat-child a::before {
	font-family: 'Material Icons';
	content: '\e5e1';
	margin-right: 8px;
	font-size: 0.5em;
	font-weight: 300;
	color:rgba(75, 150, 216, 1.0);
}


/*== パンクズ設定 =========================*/
.pankuzu {
	background: #efefef;
	display: flex;
	white-space: nowrap;
	-ms-overflow-style: none; /* IE, Edge 対応 */
	scrollbar-width: none;    /* Firefox 対応 */
}
.pankuzu::-webkit-scrollbar {
	display: none; /* Chrome, Safari 対応 */
}
.pankuzu ul {
	padding: 3px 2.5% 2px;
	font-size: 13px;
	line-height: 1.45;
	width: fit-content;
	display: flex;
}
.pankuzu ul li:not(:first-child)::before {
	content: ">";
	padding: 0 0.7em;
	position: relative;
	top: -0.8px;
}


/*== Main設定 =========================*/
main {
	padding-top: 48px;
}
.sec {
	padding-top: 120px;
	padding-right: 20px;
	padding-bottom: 0;
	padding-left: 20px;
}
.sec-ps0 {
	padding-right: 0;
	padding-left: 0;
}
.sec:last-of-type {
	padding-bottom: 120px;
}
.sec-ps0 h3 {
	padding-right: 20px;
	padding-left: 20px;
}
h2.page-title {
	font-size: 2.4rem;
	color: #000;
	text-shadow: 1px 1px 1px #fff;
	padding: 100px 30px;
	margin-bottom: 50px;
	background: url(../images/bg_02.png) repeat;
	box-shadow: 0 3px 4px #bbb;
}
h3.redline-left {
	margin-bottom: 30px;
	padding: 2px 0 2px 5px;
	border-left: 5px solid #cc0000;
}



/*== Aside設定 =========================*/
aside#sub-content {
	color: rgba(240, 240, 240, 1.0);
	text-align: center;
	background-image: url(../images/netz-company.jpg);
	background-size: cover;
	/*
	background-color: rgba(0, 0, 0, 0.85);
	background-blend-mode: darken;
	*/
	position: relative;
}
aside#sub-content .black-layer {
	padding: 80px 0;
	background-color: rgba(0, 0, 0, 0.85);
}
aside#sub-content h3 {
	margin-bottom: 40px;
	font-weight: 700;
}
.contact-box:first-child {
	border-right: 1px solid rgba(240, 240, 240, 1.0);
}
.contact-box {
	width: 30%;
	padding: 20px;
}
.contact-box h4 {
	margin-bottom: 10px;
	padding: 0.3em 1.0em 0.2em;
	color: rgba(45, 45, 45, 1.0);
	background-color: rgba(210, 210, 210, 1.0);
	border-radius: 20px;
}
.contact-box p, 
.contact-box dl dd {
	font-weight: 200;
}
.contact-box dl dt a, 
.contact-box dl dt a:visited, 
.contact-box dl dt a:hover {
	font-size: 2rem;
	font-weight: 700;
	color:rgba(225, 225, 225, 1.0);
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 1.0);
}
.contact-box dl dt span, 
.contact-box dl dd {
	font-size: 0.85rem;
}
.contact-box a.contact-link, 
.contact-box a.contact-link:visited {
	margin-top: 10px;
	padding: 0.4em 1.0em 0.3em;
	color: rgba(248, 225, 80, 1.0);
	border: 1px solid rgba(248, 225, 80, 1.0);
	border-radius: 4px;
}
.contact-box a.contact-link:hover {
	background-color: rgba(225, 0, 54, 1.0);
	transition: 0.5s;
}

/*== Footer設定 =========================*/
footer {
	margin: 0;
	padding: 80px 20px 10px;
	background-color: rgba(240, 240, 240, 1.0);
	position: relative;
}
.f-box {
	margin-bottom: 30px;
}
.f-info {
	width: 20%;
}
.f-nav {
	width: 70%;
}
#f-sns {
	margin-top: 20px;
}
#f-sns dl dt {
	text-align: center;
	font-weight: 500;
}
#f-sns dl dd a {
	width: 28%;
	max-width: 64px;
	margin: 5px 2%;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 1.0);
}
#f-sns dl dd a img {
	padding: 20px;
}
.f-nav .nav-box {
	width: 30%;
	margin-bottom: 30px;
}
.f-nav .nav-box a.nav-cat-name {
	margin-bottom: 10px;
	font-weight: 500;
	color: rgba(18, 18, 18, 1.0);
}
.f-nav .nav-box ul.nav-cat-child a, 
.f-nav .nav-box ul.nav-cat-child a:visited {
	font-size: 0.65rem;
	margin-bottom: 3px;
}
.f-nav .nav-box ul.nav-cat-child a:hover {
	color:rgba(225, 0, 54, 1.0);
}
.f-nav .nav-box ul.nav-cat-child a::before {
	font-family: 'Material Icons';
	content: '\e5e1';
	margin-right: 3px;
	font-size: 0.5em;
}
#f-blank-bnr {
	width: 85%;
	margin-left: auto;
	margin-right: auto;
}
#f-blank-bnr a {
	width: 16.666%;
	padding: 5px;
}
#bnr-hokkaido {
	width: 65%;
	padding: 5px;
	margin-left: auto;
	margin-right: auto;
}
#f-menu {
	text-align: center;
}
#f-menu a {
	padding: 0 10px;
	font-size: 0.65rem;
	text-decoration: underline;
	border-right: 1px solid rgba(99, 99, 99, 1.0);
}
#f-menu a:last-child {
	border-right: none;
}
#credit {
	font-size: 0.7rem;
	color: rgba(114, 114, 114, 1.0);
	text-align: center;
}


/*== カレンダー設定 =========================*/
.container-calendar {
	margin-bottom: 20px;
	overflow: auto;
}
.container-calendar-detail {
	font-size: 14px;
	text-align: left;
}
.button-container-calendar {
	padding: 15px 0 0;
	text-align: center;
}
.button-container-calendar button {
	cursor: pointer;
	display: inline-block;
	width: 30%;
	zoom: 1;
	background: rgba(165, 165, 165, 1.0);
	font-size: 14px;
	color: rgba(255, 255, 255, 1.0);
	border: none;
	border-radius: 4px;
	padding: 10px 10px;
	margin: 0 5px;
}
.button-container-calendar button.active {
	background: rgba(0, 114, 186, 1.0);
}
.table-calendar {
	border-collapse: collapse;
	width: 100%;
}
.table-calendar thead {
	border-bottom: 1px solid rgba(120, 120, 120, 1.0);
}
.table-calendar th, 
.table-calendar td{
	padding: 0.8rem 1.0rem 0.6rem;
	text-align: center;
	vertical-align: top;
}
.table-calendar th {
	font-size: 14px;
	font-weight: 400;
	border-left: 2px solid rgba(255, 255, 255, 1.0);
	border-right: 2px solid rgba(255, 255, 255, 1.0);
}
.table-calendar td{
	border-left: 2px solid rgba(255, 255, 255, 1.0);
	border-right: 2px solid rgba(255, 255, 255, 1.0);
	border-bottom: 2px solid rgba(255, 255, 255, 1.0);
}
.table-calendar th:first-child {
	color: rgba(225, 0, 54, 1.0);
}
.table-calendar th:last-child {
	color: rgba(12, 90, 165, 1.0);
}
/* 日曜 */
.date-picker:nth-child(1) {
	color: rgba(225, 0, 54, 1.0);
}
/* 土曜 */
.date-picker:nth-child(7) {
	color: rgba(12, 90, 165, 1.0);
}
/* 木曜(レディース) */
.date-picker:nth-child(5) {
	background: no-repeat url("https://www.netz-sapporo.com/_assets/images/bg_ladiesday.png");
	background-size: contain;
	background-position: center;
}
/* 火曜(定休日) */
.date-picker:nth-child(3), .date-picker.teikyu {
	background-color: rgba(225, 225, 225, 1.0);
	background-image: none;
}
.date-picker.gl-holiday {
	color: rgba(225, 0, 54, 1.0);
}
#monthAndYear {
	color: rgba(45, 45, 45, 1.0);
	text-align: left;
	margin-top: 0;
}
#monthAndYear span {
	font-size: 2.4em;
	line-height: 1.0;
}
.container-calendar-detail p.calendar-mark {
	margin-bottom: 10px;
	padding: 0.5em 0.3em 0.3em;
	text-align: center;
	border: 1px solid rgba(120, 120, 120, 1.0);
}
.container-calendar-detail p.calendar-time {
	text-align: center;
}
.container-calendar-detail p.calendar-time span {
	display: inline-block;
}
.container-calendar-detail p span.mark-teikyu {
	color: rgba(180, 180, 180, 1.0);
}
.container-calendar-detail p span.mark-lediesday {
	color: rgba(240, 165, 195, 1.0);
}
.button-container-calendar {
	position: relative;
	margin-bottom: 1em;
	overflow: hidden;
	clear: both;
}
/* 特殊営業日(臨時) */
.date-picker.rinji {
	background-color: rgba(250, 225, 135, 1.0);
}
.container-calendar-detail p span.mark-rinji {
	color: rgba(250, 225, 135, 1.0);
}

td.date-picker[data-id="2025-1-7"] {
	background-color: rgba(255, 255, 255, 1.0);
}

/* 2026年1月　営業未定日 */
.date-picker[data-id="2026-1-6"]:nth-child(3), 
.date-picker[data-id="2026-1-6"].teikyu {
	background-color: rgba(225, 225, 225, 0);
	background-image: none;
}
td.date-picker[data-id="2026-1-16"], td.date-picker[data-id="2026-1-17"], td.date-picker[data-id="2026-1-18"], td.date-picker[data-id="2026-1-19"], td.date-picker[data-id="2026-1-21"], td.date-picker[data-id="2026-1-22"], td.date-picker[data-id="2026-1-23"], td.date-picker[data-id="2026-1-24"], td.date-picker[data-id="2026-1-25"], td.date-picker[data-id="2026-1-26"], td.date-picker[data-id="2026-1-28"], td.date-picker[data-id="2026-1-29"], td.date-picker[data-id="2026-1-30"], td.date-picker[data-id="2026-1-31"] {
	opacity: 0.2;
}


/*== 表示アニメーション関連設定 =========================*/
.fadeup {
	animation-name: fadeUpAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(80px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.fadeleft {
	animation-name: fadeLeftAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes fadeLeftAnime {
	from {
		opacity: 0;
		transform: translateX(80px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}
.faderight {
	animation-name: faderightAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes fadeLeftAnime {
	from {
		opacity: 0;
		transform: translateX(0);
	}
	to {
		opacity: 1;
		transform: translateX(80px);
	}
}


/*=================================
Swiper設定
=================================*/
/*--- ▼▼▼ここから .mv01固有▼▼▼ ---*/
.mv01 .swiper-fade .swiper-slide {
	-webkit-transition-property: opacity, -webkit-transform !important;
	transition-property: opacity, -webkit-transform !important;
	transition-property: opacity, transform !important;
	transition-property: opacity, transform, -webkit-transform !important;
	pointer-events: none;
}
.mv01 .slide-media {
	height: 800px;
}
.mv01 .slide-media img {
	-webkit-transition: 7s 1s ease-out;
	transition: 7s 1s ease-out;
}
.mv01 .swiper-slide[class*=-active] .slide-media img {
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}
/*--- ▲▲▲ここまで .mv01固有▲▲▲ ---*/

/*--- ▼▼▼ここから .card02固有▼▼▼ ---*/
.card02 .swiper-slide {
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
}
.card02 .slide {
	border-radius: 4px;
	overflow: hidden;
	-webkit-transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
	transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
}
.card02 .swiper-controller {
	margin-bottom: 10px;
	padding-right: 30px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 1.6rem;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
.card02 .swiper-pagination {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 1.2rem 0.5rem;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	margin: 0 auto 0 0;
	text-align: center;
}
.card02 .swiper-pagination-bullet {
	width: 1.2rem;
	height: 3px;
	cursor: pointer;
	-webkit-transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
	transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
	vertical-align: top;
	background-color: #ddd;
}
.card02 .swiper-pagination-bullet-active {
	width: 4rem;
	background-color: #f5695f;
}
.card02 .swiper-button-prev, 
.card02 .swiper-button-next {
	position: relative;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	margin: 0;
	border: 1px solid rgba(114, 114, 114, 1.0);
	border-radius: 5%;
}
.card02 .swiper-button-disabled {
	pointer-events: none;
	opacity: 0.5;
}
/*--- ▲▲▲ここまで .card02固有▲▲▲ ---*/

/*--- ▼▼▼ここから .card03固有▼▼▼ ---*/
.card03 {
	overflow: hidden;
}
.card03 .swiper {
	overflow: visible;
}
.card03 .slide {
	overflow: hidden;
	-webkit-transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1), opacity 1s;
	transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1), opacity 1s;
	border-radius: 4px;
}
.card03 .swiper-slide:not(.swiper-slide-visible) .slide {
	pointer-events: none;
	opacity: 0.3;
}
.card03 .slide-media {
	padding-top: 100%;
}
.card03 .swiper-button-prev, 
.card03 .swiper-button-next {
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	margin: auto;
}
.card03 .swiper-button-prev {
	right: calc(100% - 1.6rem);
}
.card03 .swiper-button-next {
	left: calc(100% - 1.6rem);
}
.swiper-button-prev:hover::before, 
.swiper-button-next:hover::before {
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
.card03 .swiper-button-prev::before, 
.card03 .swiper-button-next::before {
	background-color: rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: var(--box-shadow-dark);
	box-shadow: var(--box-shadow-dark);
}
.card03 .swiper-button-prev::after, 
.card03 .swiper-button-next::after {
	border-color: #fff;
}
/*--- ▲▲▲ここまで .card03固有▲▲▲ ---*/

/*--- ▼▼▼ここから .card05固有▼▼▼ ---*/
.card05 {
	overflow: hidden;
}
.card05 .swiper {
	overflow: visible;
}
.card05 .swiper-wrapper {
	-webkit-transition-timing-function: linear !important;
	transition-timing-function: linear !important;
}
.card05 .swiper-slide {
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
}
.card05 .slide {
	overflow: hidden;
	width: 12rem;
	border-radius: 4px;
}
.card05 .slide-media {
	padding-top: 62.5%;
}
.card05 .slide-media img {
	height: calc(100% + 16px);
	-webkit-transform: translateY(-16px);
	transform: translateY(-16px);
}
.card05 .slide-content {
	padding: 3.2rem;
}
/*--- ▲▲▲ここまで .card05固有▲▲▲ ---*/

.tab1190-only {
	display: none;
}



/*=================================
タブレット設定（〜1190px）
=================================*/
@media only screen and (max-width: 1190px) {

	#header-menu a {
		padding: 1px 3px 0 0;
		font-size: 10px;
		position: relative;
		top: 2px;
	}
	.tab1190-only {
		display: block;
	}
	#header-menu a.tab1190-2l {
		top: -3px;
	}

}


/*=================================
タブレット設定（768px〜1024px）
=================================*/
@media only screen and (max-width: 1024px) {

	body {
		font-size: 14px;
	}
	.sec-ps0 h3 {
		padding-right: 20px;
		padding-left: 20px;
	}
	#gloval-navi .g-nav-logo {
		text-align: center;
	}
	#gloval-navi .nav-box a.nav-cat-name {
		font-size: 20px;
	}
	/* #gloval-navi .nav-box .nav-cat-child a, 
	#gloval-navi .nav-box .nav-cat-child a:visited {
		font-size: 14px;
	} */
	.pc-only {
		display: none;
	}

	.tab-only,
	.tabsp-only {
		display: block;
	}
	
	/*== ここからheader設定 ==========*/
	#header-menu {
		max-width: 580px;
		text-align: left;
		padding: 2px 0;
	}
	/*
	#header-menu a {
		padding: 3px 3px 0 0;
		position: relative;
		top: 4px;
	}
	*/
	#header-menu a:nth-child(5) {
		top: 0;
	}

	/*== ここまでheader設定 ==========*/

	/*== ここからaside設定 ==========*/
	.contact-box {
		width: 45%;
	}
	.contact-box dl dt a {
		color:rgba(255, 255, 255, 1.0);
		opacity: 1.0;
	}
	/*== ここまでaside設定 ==========*/
	
	/*== ここからfooter設定 ==========*/
	.f-info {
		width: 60%;
		margin: 0 auto;
	}
	#f-logo {
		max-width: 360px;
		margin: 0 auto;
	}
	.f-nav {
		width: 100%;
		padding: 40px;
	}
	.f-nav .nav-box ul.nav-cat-child a .nav-cat-txt-layout {
		padding-left: 0.7em;
	}
	#f-blank-bnr {
		width: 95%;
		margin-left: auto;
		margin-right: auto;
		flex-wrap: wrap;
		justify-content: center;
	}
	#f-blank-bnr a {
		width: 33.333%;
	}
	#bnr-hokkaido {
		width: 95%;
	}
	/*== ここまでfooter設定 ==========*/
	
}



/*=================================
スマホ設定（〜767px）
=================================*/
@media only screen and (max-width: 767px) {

	a[href*="tel:"] {
		pointer-events: auto;
	}
	.dsp-pc {
		display: none;
	}
	.dsp-sp {
		display: block;
	}
	.m100 {
		width: 100%;
	}
	.header-inner {
		padding-top: 11px;
		padding-bottom: 12px;
	}
	#logo-55th {
		width: 40px;
		height: 40px;
	}
	#header-logo {
		width: 186px;
		margin-left: 0;
		margin-right: 0;
	}
	#header-menu {
		display: none;
	}
	.header-sns {
		margin-top: 40px;
		position: static;
		right:unset;
		text-align: center;
	}
	#nav-btn {
		width: 48px;
	}
	#nav-btn::before {
		width: 48px;
		font-size: 36px;
		line-height: 48px;
	}
	#gloval-navi.open .nav-layer {
		padding: 20px;
	}
	#gloval-navi .nav-box {
		width: 100%;
		margin-bottom: 0;
		border-top: 1px solid rgba(75, 150, 216, 1.0);
	}
	#gloval-navi .nav-box:last-child {
		border-bottom: 1px solid rgba(75, 150, 216, 1.0);
	}
	#gloval-navi .g-nav-logo {
		margin-bottom: 30px;
		text-align: left;
	}
	#gloval-navi .g-nav-logo img {
		width: 50%;
	}
	#gloval-navi .nav-box a.nav-cat-name {
		margin-bottom: 0;
		padding: 5px 10px;
		font-size: 18px;
		/*background-color: rgba(45, 45, 45, 1.0);*/
		display: block;
		cursor: pointer;
		/*pointer-events: none;*/
	} 
	#gloval-navi .nav-box a.nav-cat-name::after {
		font-family: Material Icons Outlined;
		content: "\e145";
		float: right;
		transition: 0.8s;
	}
	#gloval-navi .nav-box.nav-box-active a.nav-cat-name {
		margin-bottom: 15px;
		color: rgba(255, 255, 255, 1.0);
		background-color: rgba(75, 150, 216, 1.0);
	}
	#gloval-navi .nav-box.nav-box-active a.nav-cat-name::after {
		font-family: Material Icons Outlined;
		content: "\e15b";
		float: right;
	}
	#gloval-navi .nav-box ul {
		display: none;
		margin-bottom: 2px;
		padding-top: 0;
		padding-bottom: 20px;
		/*background-color: rgba(240, 240, 240, 1.0);*/
	}
	#gloval-navi .nav-box .nav-cat-child a, 
	#gloval-navi .nav-box .nav-cat-child a:visited {
		padding: 3px 0 0 8px;
		font-size: 1.15em;
		color: rgba(255, 255, 255, 1.0);
		display: block;
	}
	.header-sns a {
		width: 36px;
		margin-left: 5px;
		margin-right: 5px;
	}

	main {
		padding-top: 48px;
	}
	h2.page-title {
		font-size: 1.9rem;
		padding: 60px 15px;
	}
	.sec {
		padding-top: 80px;
	}
	#home .sec {
		padding-right: 10px;
	}
	a.netz-btn-01, 
	a.netz-btn-01:visited {
		width: 80%;
	}
	.pctab-only,
	.tab-only {
		display: none;
	}
	.sp-only {
		display: block;
	}

	/*== ここからカレンダー設定 ==========*/
	.container-calendar {
		width: 100%;
		min-height: 232px;
		margin-right: 0;
		float: none;
	}
	.container-calendar-detail {
		width: 100%;
		float: none;
	}
	.calendararea {
		font-size: 12px;
	}
	.table-calendar th, 
	.table-calendar td {
		padding: 0.5rem 0.2rem 0.4rem;
	}
	.button-container-calendar button {
		width: 40%;
	}
	/*== ここまでカレンダー設定 ==========*/

	/*== ここからaside設定 ==========*/
	.contact-box {
		width: 100%;
		margin-top: 40px;
	}
	.contact-box:first-child {
		margin-top: 0;
	}
	.contact-box h4 {
		max-width: 300px;
		margin-left: auto;
		margin-right: auto;
	}
	/*== ここまでaside設定 ==========*/
	
	/*== ここからfooter設定 ==========*/
	.f-box {
		margin-bottom: 60px;
	}
	.f-info {
		width: 100%;
	}
	.f-nav {
		display: none;
	}
	.f-nav .nav-box ul.nav-cat-child a .nav-cat-txt-layout {
		padding-left: auto;
	}
	#f-blank-bnr {
		justify-content: flex-start;
	}
	#f-blank-bnr a {
		width: 50%;
	}
	/*== ここまでfooter設定 ==========*/

}



/*=================================
Clearfix設定
=================================*/
.clearfix:after {content: ""; display: block; clear: both;}
.clearfix:before {content: ""; display: block; clear: both;}
.clearfix {display: block;}
