@import url('https://fonts.googleapis.com/css2?family=Racing+Sans+One&family=Zen+Antique+Soft&display=swap');

:root {
	--swl-sidebar_width: 200px;
}

img {
	vertical-align: bottom;
}

.p-5p {
	padding: 5%;
} 

.p-lr-3p {
	padding: 0 3%;
}

.raci {
	font-family: "Racing Sans One", sans-serif;
}

.zean {
	font-family: "Zen Antique Soft", serif;
}

/* ヘッダー */
.l-header {
	position: sticky;
	padding: 5px 0;
}

.w-header__item {
	width: 430px;
}

.menu-item-105 a {
	width: 150px;
	margin-right: 1rem;
	background-image: url(../img/line_btn.png);
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}

.menu-item-106 a {
	width: 150px;
	background-image: url(../img/tel_btn.png);
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}

.menu-item a span {
	position: absolute;
	left: 100%;
}

.c-gnav > li:hover > a {
	opacity: 0.8;
}

.c-gnav > li:hover > a::after,
.l-header__customBtn.sp_ {
	display: none;
}

.linkbtn {
	display: flex;
	width: 75%;
}

.linkbtn .linebtn {
	width: 50%;
	padding: 1rem 0;
	text-align: center;
	background-color: #03C755;
}

.linkbtn .telbtn {
	width: 50%;
	padding: 1rem 0;
	text-align: center;
	background-color: #EF7F06;
}

.linkbtn a {
	color: #fff;
	font-size: 1.2rem;
	font-weight: bold;
}

/* サイドメニュー */
.l-sidebar .c-widget__title.-side {
	display: none;
}

.l-sidebar .c-listMenu a {
	padding: .75em 1em .75em 2em;
	border-bottom: 3px solid #fff;
	color: #fff;
	background: rgb(57,178,255);
	background: linear-gradient(135deg, rgba(57,178,255,1) 0%, rgba(70,74,155,1) 100%);
}

.l-sidebar .c-listMenu a:before {
	content: " ";
	border-right: 6px solid #fff;
   width: 15px;
   height: 100%;
}

/* フッター */
.w-footer__box .widget_media_image {
	width: 25%;
}

.c-widget+.c-widget {
	margin-top: 0;
}

.w-footer__box:last-child {
	display: grid;
	align-items: end;
}

.w-footer__box .c-widget__title.-footer {
	display: none;
}

.w-footer__box .c-listMenu ul {
	display: flex;
	flex-wrap: wrap;
}

.w-footer__box .c-listMenu ul li {
	width: 30%;
	margin-bottom: 1.5rem;
}

.w-footer__box .c-listMenu a {
	padding: 0 5px;
	border-bottom: none;
	border-left: 2px solid;
}

.w-footer__box .c-listMenu a:before {
	content: " ";
}

.w-footer__box #gallery-1 {
	display: flex;
}

.w-footer__box #gallery-1 .gallery-item {
	width: 40px;
	margin-right: 1rem;
}

.w-footer__box #gallery-1 img {
	border: none;
}


/* トップページ */
/* メインビジュアル */
.p-mainVisual__textLayer {
	display: block;
}

.p-mainVisual__slideText {
	position: absolute;
	top: 5%;
	display: flex;
	flex-wrap: wrap;
    align-items: center;
	gap: 5px;
	font-size: 2.5rem;
	font-weight: bold;
	white-space: nowrap;
	line-height: 1.4;
	letter-spacing: .1rem;
	overflow: hidden;
	animation: main_text 1s forwards ;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}

@keyframes main_text {
  from {
    transform: translateX(-200%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.main_ttl {
	display: inline-block;
    overflow: hidden;
    position: relative;
	width: 320px;
	height: 60px;
	background-image: url(../img/allwark-deco.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left center;
}

.main_ttl .notext {
	position: absolute;
	top: -100px;
}

.p-mainVisual__textLayer .p-blogParts {
	position: absolute;
	bottom: 5%;
	right: 5%;
	font-size: 1.1rem;
	font-weight: bold;
	animation: sub_text 1s forwards ;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}

.p-mainVisual__textLayer .p-blogParts strong {
	padding: 0 15px 6px;
	margin-left: -2rem;
	font-family: "Racing Sans One", sans-serif;
	font-size: 2rem;
	line-height: 1.4;
	letter-spacing: .2rem;
	background-image: url(../img/txt-deco.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center bottom;
}


@keyframes sub_text {
  from {
    transform: translateX(300%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.post_content h2.top_ttl {
	font-size: 1.4em;
}

.post_content h2.top_ttl span {
	padding: 0 .5rem;
	font-size: 2rem;
}

.top_tsuyomi h3.is-style-section_ttl {
	line-height: 1.2;
	background: linear-gradient(transparent 50%, rgba(57, 178, 255, 1));
	animation: main_text 1s forwards ;
}

.top_tsuyomi h3 span {
	font-size: 2.4rem;
    padding-right: .5rem;
}

.top_tsuyomi p {
	animation: main_text 1s forwards ;
}

.top_help .swell-block-columns__inner {
	flex-wrap: wrap-reverse;
}

.fee_basic.is-style-kakko_box:before,
.fee_basic.is-style-kakko_box:after{
	width: 1.75em;
	height: 1.5em;
	border-color: #fff;
}

/* お問い合わせ */
.form_table {
	margin-bottom: 2rem;
}

/* お知らせ */
.p-postList__body {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.p-postList__body .p-postList__meta {
	margin: 0;
}


/* 投稿ページ */
/* スライダー */
.xo-slider img.slide-image {
	min-height: 500px;
	max-height: 500px;
	object-fit: contain;
}

.slide-image {
	border: 5px solid #2894bf;
}


@media (max-width: 600px) {
	.sp-reverse .swell-block-columns__inner {
		flex-wrap: wrap-reverse;
	}
}



@media (min-width: 600px) {
	/* トップページ */
/* メインビジュアル */
	.p-mainVisual__slideText {
		flex-wrap: nowrap;
	}
	
	.main_ttl {
		width: 400px;
    	height: 80px;
	}
	
	
	.top_tsuyomi h3.is-style-section_ttl {
	width: 68%;
    margin: 0 auto;
	}
	
	.p-5p.greet {
		padding: 3% 10%;
	}
	
	.fee_basic {
		max-width: 70%;
    	margin: 0 auto 2em;
	}
	
	.fee_info {
		width: 75%;
		margin: 0 auto;
	}
}


@media (min-width: 960px) {
	.-series .l-header__logo {
		padding: 0;
	}
	
	.c-headLogo {
		min-width: 60px;
		height: 70px;
	}
	
	/* トップページ */
	.post_content h2.top_ttl {
		text-align: left;
	}
	
	.top_tsuyomi h3.is-style-section_ttl {
	width: 55%;
    margin: 0 auto;
	}
	
	.fee_basic {
		max-width: 75%;
    	margin: 0 auto 2em;
	}
	
	.fee_info {
		width: 70%;
		margin: 0 auto;
	}

/* 	 サイドバー  */
	.l-sidebar .c-widget {
	position: sticky;
	top: 100px;
}
}

@media not all and (min-width: 960px) {
	.l-header {
		padding: 0;
	}
	
	.-img .c-headLogo__link {
		padding: 0;
	}
	
	.fee_basic {
		padding-left: 0;
		padding-right: 0;
	}
	
	#sidebar {
		display: none;
	}
	
	.p-lr-3p.has-small-font-size {
		font-size: 12.5px !important;
	}
}

@media (min-width: 1200px) {
    :root {
        --swl-sidebar_width: 200px;
    }
}