@charset "utf-8";

@font-face {
	font-family: 'NotoSansCJKjp';
	font-style: normal;
	font-weight: 400;
	src: local('Noto Sans CJK JP Regular'),
		url('../fonts/NotoSans_Regular.woff2') format('woff2'),
		url('../fonts/NotoSans_regular.woff') format('woff'),
		url('../fonts/NotoSans_regular.otf') format('opentype');
}

@font-face {
	font-family: 'NotoSansCJKjp';
	font-style: normal;
	font-weight: 500;
	src: local('Noto Sans CJK JP Medium'),
		url('../fonts/NotoSans_Medium.woff2') format('woff2'),
		url('../fonts/NotoSans_medium.woff') format('woff'),
		url('../fonts/NotoSans_medium.otf') format('opentype');
}

@font-face {
	font-family: 'NotoSansCJKjp';
	font-style: normal;
	font-weight: 700;
	src: local('Noto Sans CJK JP Bold'),
		url('../fonts/NotoSans_Bold.woff2') format('woff2'),
		url('../fonts/NotoSans_bold.woff') format('woff'),
		url('../fonts/NotoSans_bold.otf') format('opentype');
}

@font-face {
	font-family: 'NotoSansCJKjp';
	font-style: normal;
	font-weight: 900;
	src: local('Noto Sans CJK JP Black'),
		url('../fonts/NotoSans_Black.woff2') format('woff2'),
		url('../fonts/NotoSans_black.woff') format('woff'),
		url('../fonts/NotoSans_black.otf') format('opentype');
}

@font-face {
	font-family: 'YakuHanJP';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/YakuHanJP-Regular.woff2') format('woff2'),
		url('../fonts/YakuHanJP-Regular.woff') format('woff');
}

@font-face {
	font-family: 'YakuHanJP';
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/YakuHanJP-Medium.woff2') format('woff2'),
		url('../fonts/YakuHanJP-Medium.woff') format('woff');
}

@font-face {
	font-family: 'YakuHanJP';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/YakuHanJP-Bold.woff2') format('woff2'),
		url('../fonts/YakuHanJP-Bold.woff') format('woff');
}

@font-face {
	font-family: 'YakuHanJP';
	font-style: normal;
	font-weight: 900;
	src: url('../fonts/YakuHanJP-Black.woff2') format('woff2'),
		url('../fonts/YakuHanJP-Black.woff') format('woff');
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	line-height: 1;
}

:root {
	--shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	--navy_color: #394377;
	--light_green_color: #d0ea9f;
	--pale_green_color: #f7fcec;
	--brown_color: #654719;
	--light_orange_color: #fdf6e7;
	--orange_color: #e38433;
	--pink_color: #e2749a;
	--green_color: #0c9058;
	--yellow_green_color: #b1d966;
	--yellow_orange_color: #fae2b8;
	--gray_color: #b9b9b9;
	--dark_brown_color: #413529;
}

html,
body {
	width: 100%;
	height: 100%;
	color: #333;
	font-family: 'YakuHanJP', 'NotoSansCJKjp', 'Hiragino Sans',
		'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-weight: 500;
	font-size: 10px;
}

html {
	overflow-x: hidden;
}

body {
	background-image: url(../images/common/cloud_gray01.png);
	background-position: top -15.5rem left -3.5rem;
	background-size: 59.8rem;
}

/*ハンバーガーメニューを開いたらスクロールさせない*/
body.noscroll {
	overflow: hidden;
}

/*グローバルナビをホバーしたらレイヤー表示*/
body::before {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background-color: rgba(33, 23, 8, 0.45);
	content: '';
}

body.open::before {
	display: block;
}

.container {
	max-width: 95rem;
	width: 100%;
	margin: 0 auto;
}

.width1400,
.container.width1400 {
	max-width: 1400px;
}

.width1200,
.container.width1200 {
	max-width: 1200px;
}

.width1100,
.container.width1100 {
	max-width: 1100px;
}

ul {
	list-style: none;
}

ol {
	padding-left: 20px;
	list-style: none;
	list-style-position: outside;
}

a {
	display: block;
	color: #333;
	text-decoration: none;
	transition: 0.4s;
}

a:hover {
	transition: 0.4s;
}

p {
	font-size: 1rem;
	/*text-align: justify;*/
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

table {
	border-collapse: collapse;
}

address {
	font-style: normal;
}

.flex_box {
	display: flex;
}

.reverse {
	flex-direction: row-reverse;
}

.grid {
	display: grid;
}

.mb_br {
	display: none;
}

.center {
	text-align: center;
}

.center > p {
	text-align: center;
}

.txt_left {
	text-align: left;
}

.txt_right {
	text-align: right;
}

.photo {
	position: relative;
}

.photo::before {
	content: '';
	display: block;
}

.photo > img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cont_txt {
	font-weight: 500;
	font-size: 1.6rem;
	font-family: 'YakuHanJP', 'NotoSansCJKjp', sans-serif;
	line-height: 2;
	letter-spacing: 0.02em;
}

.accordion > a {
	position: relative;
}

.accordion > a::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-width: 7.5px 6.5px 0 6.5px;
	border-color: #e38433 transparent transparent transparent;
	content: '';
}

.accordion > a > ul {
	display: none;
}

.en_sub {
	font-weight: 500;
	font-size: 2.5rem;
	font-family: 'Roboto', sans-serif;
}

.ja_ttl {
	font-weight: 500;
	font-size: 3.8rem;
	line-height: 1.4;
}

.arrow_wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 21.7rem;
	height: 21.7rem;
	border-radius: 9999px;
	background-color: var(--yellow_orange_color);
}

.arrow {
	width: 3.5rem;
	height: 2.973rem;
	margin-bottom: 1.8rem;
}

.arrow_wrap > span {
	color: var(--brown_color);
	font-size: 1.6rem;
}

.more_btn {
	align-items: center;
	column-gap: 1.5rem;
	font-size: 2rem;
}

.more_btn .arrow_wrap {
	width: 8.3rem;
	height: 8.3rem;
	transition: all 0.4s;
}

.more_btn:hover .arrow_wrap {
	transform: scale(1.1);
	transition: all 0.4s;
}

.more_btn .arrow_wrap .arrow {
	width: 1.922rem;
	height: 1.873rem;
	margin-bottom: 0;
}

.sns_link_inner {
	width: 50%;
}

/*あとで消す*/
/*.sns_link_btn {
	display: flex;
	align-items: center;
	position: relative;
	padding-left: 5.6rem;
	font-size: 1.8rem;
	line-height: 1.223;
}

.sns_link_btn:hover {
	opacity: 0.7;
}

.sns_link_btn::before,
.sns_link_btn::after {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	font: var(--fa-font-brands);
}

.facebook_before::before,
.insta_before::before,
.youtube_before::before {
	top: 0;
	bottom: 0;
	left: 0;
	width: 3.9rem;
	height: 3.9rem;
	margin: auto;
}

.facebook_before::before,
.insta_before::before {
	font-size: 3.7rem;
}

.facebook_before::before {
	content: '\f09a';
}

.insta_before::before {
	content: '\f16d';
}

.youtube_before::before {
	font-size: 3.9rem;
	content: '\f167';
}*/
/*後で消す*/

.sns_link_inner > li > a {
	display: flex;
	align-items: center;
	position: relative;
	padding-left: 5.6rem;
	font-size: 1.8rem;
	line-height: 1.223;
}

.sns_link_inner > li > a:hover {
	opacity: 0.7;
}

.sns_link_inner > li > a::before,
.sns_link_inner > li > a::after {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	font: var(--fa-font-brands);
}

.facebook_before > a::before,
.insta_before > a::before,
.youtube_before > a::before {
	top: 0;
	bottom: 0;
	left: 0;
	width: 3.9rem;
	height: 3.9rem;
	margin: auto;
}

.facebook_before > a::before,
.insta_before > a::before {
	font-size: 3.7rem;
}

.facebook_before > a::before {
	content: '\f09a';
}

.insta_before > a::before {
	content: '\f16d';
}

.youtube_before > a::before {
	font-size: 3.9rem;
	content: '\f167';
}

/*コンタクト以外のページでreCAPTCHAを非表示*/
body:not(.contact) .grecaptcha-badge {
	visibility: hidden;
}

/* ============
	responsive
================ */
@media screen and (max-width: 1440px) {
	.width1400,
	.container.width1400 {
		max-width: 1200px;
	}
}

@media screen and (max-width: 1280px) {
	.width1400,
	.container.width1400,
	.width1200,
	.container.width1200 {
		max-width: 1100px;
	}
}

@media screen and (max-width: 1180px) {
	.container {
		width: calc(100% - 10rem);
	}

	.width1400,
	.container.width1400,
	.width1200,
	.container.width1200,
	.width1100,
	.container.width1100 {
		max-width: 1100px;
		width: calc(100% - 10rem);
	}
}

@media screen and (max-width: 1024px) {
	.en_sub {
		font-size: 1.7rem;
	}

	.ja_ttl {
		font-size: 2.5rem;
	}

	.more_btn {
		font-size: 1.8rem;
	}

	.more_btn .arrow_wrap {
		column-gap: 2rem;
		width: 6rem;
		height: 6rem;
	}

	.more_btn .arrow_wrap .arrow {
		width: 1.359rem;
		height: 1.325rem;
	}

	.sns_link_btn {
		font-size: 1.7rem;
	}

	.sns_link_inner > li > a {
		font-size: 1.7rem;
	}
}

@media screen and (max-width: 768px) {
	body {
		background-position: top -11rem left -3.2rem;
		background-size: 34.3rem;
	}

	.container {
		width: calc(100% - 6rem);
	}

	.width1400,
	.container.width1400,
	.width1200,
	.container.width1200,
	.width1100,
	.container.width1100 {
		max-width: 1100px;
		width: calc(100% - 6rem);
	}
}

/* ===========================================
	header
============================================== */
.header {
	justify-content: space-between;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 13;
	width: 100%;
	transition: 1s;
}

.header.hide {
	transform: translateY(-150%);
	transition: 1s;
}

@keyframes change_animation_return {
	0% {
		transform: translateY(-100%);
	}

	100% {
		transform: translateY(0);
	}
}

.header.change {
	display: flex;
	background-color: #fff;
	transition: all 0.5s;
}

.header_logo_txt {
	position: relative;
	margin-bottom: 0.8rem;
	color: var(--navy_color);
	font-weight: 500;
	font-size: 1.2rem;
	font-family: 'Roboto', sans-serif;
}

.header_logo_txt::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 12rem;
	width: calc(100% - 12rem);
	height: 0.1rem;
	margin: auto;
	background-image: url(../images/common/dotted_line_navy.svg);
	background-position: left center;
	background-size: auto;
	background-repeat: repeat-x;
	content: '';
}

.header_logo_link {
	padding: 1.8rem 3rem 2rem;
}

.header_logo_link:hover,
.g_nav_list > li:last-child > a:hover {
	opacity: 0.7;
}

.logo_jawa {
	margin-right: 2rem;
}

.g_nav_area {
	padding-right: 15.3rem;
}

.g_nav_area > ul > li > a {
	position: relative;
}

.g_nav_area > ul > li > a::before {
	position: absolute;
	bottom: 1rem;
	left: 0;
	right: 0;
	width: 0;
	height: 1px;
	margin: auto;
	background-color: var(--orange_color);
	content: '';
	transition: 0.3s;
}

.g_nav_area > ul > li > a:hover::before,
.g_nav_area > ul > li.nav_current > a::before {
	width: calc(100% - 3.4rem);
}

.g_nav_area .accordion {
	position: relative;
}

.g_nav_area li > ul {
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 1;
	width: 30rem;
	height: auto;
	padding: 0 2.1rem;
	border-radius: 1.5rem;
	background-color: #fff8e0;
}

.g_nav_area .accordion > ul > li {
	font-size: 1.5rem;
}

.g_nav_area .accordion > ul > li > a {
	display: flex;
	align-items: center;
	position: relative;
	padding-top: 1.7rem;
	padding-bottom: 1.7rem;
	line-height: 1.4667;
}

.g_nav_area .accordion > ul > li + li > a {
	background-image: url(../images/common/dotted_line_yellow.svg);
	background-position: top;
	background-size: auto;
	background-repeat: repeat-x;
}

.news_nav_list {
	justify-content: flex-end;
}

.news_nav_list > li {
	font-size: 1.3rem;
	line-height: 1.7;
}

.news_nav_list > li > a {
	padding: 1.8rem 1.25rem 0.9rem;
}

.g_nav_area .news_nav_list > li > a::before {
	bottom: 0;
}

.g_nav_area .news_nav_list > li > a:hover::before {
	width: calc(100% - 2.5rem);
}

.news_nav_list .accordion {
	margin-right: 1.7rem;
}

.news_nav_list .accordion > a {
	padding-right: 1.7rem;
}

.news_nav_list .accordion > a::after {
	top: 1rem;
}

.news_nav_list .accordion > a:hover{
	cursor: pointer;
}

/*後で消す*/
/*.facebook_after::after,
.insta_after::after,
.youtube_after::after {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 3.8rem;
	height: 3.8rem;
	margin: auto;
	font: var(--fa-font-brands);
}

.facebook_after::after,
.insta_after::after {
	font-size: 3.4rem;
}

.facebook_after::after {
	content: '\f09a';
}

.insta_after::after {
	content: '\f16d';
}

.youtube_after::after {
	font-size: 3.8rem;
	content: '\f167';
}*/
/*後で消す*/

.facebook_after > a,
.insta_after > a,
.youtube_after > a {
	position: relative;
}

.facebook_after > a::after,
.insta_after > a::after,
.youtube_after > a::after {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 3.8rem;
	height: 3.8rem;
	margin: auto;
	font: var(--fa-font-brands);
}

.facebook_after > a::after,
.insta_after > a::after {
	font-size: 3.4rem;
}

.facebook_after > a::after {
	content: '\f09a';
}

.insta_after > a::after {
	content: '\f16d';
}

.youtube_after > a::after {
	font-size: 3.8rem;
	content: '\f167';
}

.news_nav_list .accordion > ul > li > a::after {
	transition: all 0.3s;
}

.news_nav_list .accordion > ul > li > a:hover::after {
	transform: scale(1.2);
}

.g_nav_list {
	align-items: flex-end;
}

.g_nav_list .accordion::after {
	border-width: 10px 8.5px 0 8.5px;
}

.g_nav_list > li {
	font-size: 1.6rem;
	line-height: 1.375;
}

.g_nav_list > li > a {
	padding: 0.9rem 1.7rem 2rem;
}

.g_nav_list .accordion {
	margin-right: 1.7rem;
}

.g_nav_list .accordion > a {
	padding-right: 2rem;
}

.g_nav_list .accordion > a::after {
	top: -0.7rem;
}

.g_nav_list .accordion > ul {
	right: auto;
	left: 0;
}

.g_nav_list .accordion > ul > li > a {
	position: relative;
}

.g_nav_list .accordion > ul > li > a::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	content: '';
	width: 1.544rem;
	height: 1.505rem;
	margin: auto;
	background-image: url(../images/common/icon_arrow_right_orange.svg);
	background-position: center;
	background-size: contain;
	transition: all 0.3s;
}

.g_nav_list .accordion > ul > li > a:hover::after {
	right: 0.7rem;
}

/*後ほど削除start*/
/*.g_nav_list > li:last-child {
	position: absolute;
	top: 0;
	right: 0;
	width: 13.5rem;
	height: 7.5rem;
}

.g_nav_list > li:last-child > a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 0;
	border-radius: 0 0 0 1.3rem;
	background-color: var(--navy_color);
}

.g_nav_list > li:last-child > a:hover::before {
	content: none;
}

.g_nav_list > li:last-child > a > span {
	color: #fff;
	font-size: 1.5rem;
	line-height: 1.334;
}*/
/*後ほど削除end*/

.g_nav_list > li.g_nav_list_contact {
	position: absolute;
	top: 0;
	right: 0;
	width: 13.5rem;
	height: 7.5rem;
}

.g_nav_list > li.g_nav_list_contact > a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 0;
	border-radius: 0 0 0 1.3rem;
	background-color: var(--navy_color);
}

.g_nav_list > li.g_nav_list_contact > a > span {
	color: #fff;
	font-size: 1.5rem;
	line-height: 1.334;
}

.g_nav_list > li.g_nav_list_contact > a > span::before {
	content: '';
	display: inline-block;
	width: 2.85rem;
	height: 1.493rem;
	background-image: url(../images/common/icon_mail_white.svg);
	background-position: left center;
	background-size: contain;
	background-color: transparent;
}

.g_nav_list > li.g_nav_list_contact > a:hover::before {
	content: none;
}

.g_nav_mail_icon {
	display: inline;
	margin-right: 0.95rem;
}

.sp_humb_menu {
	display: none;
}

.humb_menu {
	width: 7rem;
	height: 6.5rem;
	padding-top: 2.2rem;
	padding-left: 1.9rem;
	border-radius: 0 0 0 2rem;
	background-color: var(--navy_color);
}

.humb_menu:hover {
	cursor: pointer;
}

.humb_menu_inner {
	position: relative;
	margin-bottom: 0.7rem;
	width: 3.7rem;
	height: 1rem;
}

.bar {
	display: block;
	position: absolute;
	transition: all 0.4s;
	width: 100%;
	height: 2px;
	border-radius: 9999px;
	background-color: #fff;
}

.bar:first-of-type {
	top: 0;
}

.humb_menu.active .bar:first-of-type {
	transform: translateY(0.4rem) rotate(-15deg);
}

.bar:last-of-type {
	bottom: 0;
}

.humb_menu.active .bar:last-of-type {
	transform: translateY(-0.4rem) rotate(15deg);
}

.humb_txt {
	font-weight: 700;
	font-size: 1rem;
	color: #fff;
}

/* ============
	responsive
================ */
@media screen and (max-width: 1280px) {
	.header {
		top: 0;
		left: 0;
		height: 7.667rem;
	}

	.header.hide {
		transform: none;
	}

	.header_logo_link,
	.sp_humb_menu {
		position: fixed;
		z-index: 13;
	}

	.header_logo_link {
		padding: 1.3rem 1rem;
	}

	.header_logo_txt {
		margin-bottom: 0.7rem;
		font-size: 1rem;
	}

	.header_logo_txt::before {
		left: 10rem;
		width: calc(100% - 10rem);
	}

	.g_nav_area {
		display: none;
	}

	.sp_humb_menu {
		display: block;
		right: 0;
	}
}

@media screen and (max-width: 768px) {
	.header {
		height: 6.5rem;
	}

	.logo_jawa {
		width: 14rem;
		margin-right: 1.3rem;
	}

	.logo_shiokaze {
		width: 10.1rem;
	}
}

/* ===========================================
	slide_menu
============================================== */
.slide_menu {
	display: none;
	position: relative;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 11;
	width: 100vw;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	padding-top: 6.5rem;
	overflow-y: scroll;
	background-image: url(../images/common/cloud_orange_slide_menu02.png);
	background-position: right -11.9rem bottom -14.9rem;
	background-size: 39.2rem;
	background-color: #fff8e0;
}

.slide_menu::before {
	position: absolute;
	top: -32.2rem;
	left: -15.6rem;
	content: '';
	z-index: -1;
	width: 52.7rem;
	height: 46.2rem;
	background-image: url(../images/common/cloud_orange_slide_menu01.png);
	background-position: center;
	background-size: contain;
}

.slide_menu.open {
	display: block;
}

.slide_menu a:hover {
	opacity: 0.6;
}

.slide_menu_inner {
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	opacity: 0;
}

.slide_menu.open .slide_menu_inner {
	animation-name: gnaviAnime;
	animation-duration: 1s;
	animation-delay: 0.2s;
	/*0.2 秒遅らせて出現*/
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes gnaviAnime {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.slide_menu_nav {
	width: 100%;
	height: 100%;
	padding-top: 2.34rem;
	padding-bottom: 2.7rem;
}

.slide_menu_list > li + li > a {
	background-image: url(../images/common/dotted_line_yellow.svg);
	background-position: top;
	background-size: auto;
	background-repeat: repeat-x;
}

.slide_menu_list > li > a {
	position: relative;
	padding-top: 1.95rem;
	padding-bottom: 1.95rem;
	padding-left: 0.8rem;
	color: #333;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1;
}

.slide_menu_list > li > a::after,
.slide_menu_service > ul > li > a::after {
	position: absolute;
	top: 0;
	right: 0.8rem;
	bottom: 0;
	content: '';
	width: 1.544rem;
	height: 1.505rem;
	margin: auto;
	background-image: url(../images/common/icon_arrow_right_orange.svg);
	background-position: center;
	background-size: contain;
	transition: all 0.3s;
}

.slide_menu_list > li > a:hover::after,
.slide_menu_service > ul > li > a:hover::after {
	right: 0;
}

.slide_menu_service > a::after {
	content: none !important;
}

.slide_menu_service > ul {
	display: flex;
	flex-wrap: wrap;
}

.slide_menu_service > ul > li {
	width: 45%;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1;
}

.slide_menu_service > ul > li:nth-child(even) {
	width: 55%;
}

.slide_menu_service > ul > li > a {
	position: relative;
	padding-bottom: 1.4rem;
	padding-left: 1.8rem;
}

.slide_menu_service > ul > li > a::after {
	bottom: auto;
}

.slide_menu_service > ul > li > a::before {
	content: '-';
}

.slide_menu_list .accordion > a::after {
	top: 2.3rem;
	bottom: auto;
	width: 2rem;
	height: 1.2rem;
	border-width: 12px 10px 0 10px;
	background-image: none;
	transform-origin: center center 0;
}

.slide_menu_list .accordion > a:hover::after {
	right: 0.8rem;
}

.slide_menu_list .accordion.open > a::after {
	transform: scale(1, -1);
}

.slide_menu_list .accordion > ul > li {
	padding-bottom: 0.85rem;
	font-size: 1.4rem;
}

.slide_menu_list .accordion > ul > li > a {
	position: relative;
	padding-top: 0.85rem;
	padding-bottom: 0.85rem;
	padding-left: 0.8rem;
	line-height: 1.35;
}

.slide_menu_list .accordion > ul > li > a:first-of-type {
	padding-top: 0;
}

.slide_menu_list .facebook_after::after,
.slide_menu_list .insta_after::after,
.slide_menu_list .youtube_after::after {
	width: 3.5rem;
	height: 3.5rem;
}

.slide_menu_list .facebook_after::after,
.slide_menu_list .insta_after::after {
	font-size: 3rem;
}

.slide_menu_list .youtube_after::after {
	font-size: 3.5rem;
}

.slide_menu_list .accordion > ul > li > a::after {
	transition: all 0.3s;
}

.slide_menu_list .accordion > ul > li > a:hover::after {
	transform: scale(1.2);
}
/* ============
	responsive
================ */
@media screen and (max-width: 1280px) {
	.slide_menu_nav {
		max-width: 46.5rem;
	}
}

/* ===========================================
	SPlus
============================================== */
.splus_wrap {
	width: 28rem;
	height: 37rem;
}

.splus_item {
	border-radius: 1.5rem;
	background-color: #fff;
	box-shadow: var(--shadow);
}

.splus_ttl {
	justify-content: center;
	align-items: center;
	height: 4.9rem;
	padding-top: 0.5rem;
	padding-right: 2.6rem;
	padding-left: 2.6rem;
	border-radius: 1.5rem 1.5rem 0 0;
	background-color: var(--light_green_color);
	color: var(--brown_color);
	font-weight: 500;
	font-size: 2.1rem;
	text-align: center;
}

.splus_ttl > span {
	margin-left: 0.25em;
	font-size: 2.8rem;
	font-family: 'Roboto', sans-serif;
}

.splus_ttl::before {
	width: 3rem;
	height: 2.334rem;
	margin-top: 0.3rem;
	margin-right: 1.65rem;
	background-image: url(../images/common/icon_book_green.svg);
	background-position: center;
	background-size: contain;
	content: '';
}

.splus_contents {
	height: calc(100% - 4.9rem);
	padding: 2rem 2.6rem;
}

.splus_cover {
	width: 14rem;
	height: 19.7rem;
	margin: 0 auto 1.1rem;
}

.splus_cover:hover,
.splus_btn:hover {
	opacity: 0.7;
}

.splus_btn {
	position: relative;
	padding: 0.9rem 0 0.9rem 1.15rem;
	color: var(--brown_color);
	font-size: 1.6rem;
	line-height: 1.44;
}

.splus_btn::after {
	display: inline-block;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 2.3rem;
	height: 2.3rem;
	margin: auto 0 auto 1.56rem;
	background-image: url(../images/common/icon_arrow-circle_right_brown.svg);
	background-position: center;
	background-size: contain;
	content: '';
}

.splus_backnumber {
	background-image: url(../images/common/dotted_line_gray.svg);
	background-position: top;
	background-size: auto;
}

/* ===========================================
	our service btn
============================================== */
.our_service_btn_wrap {
	position: relative;
	z-index: 1;
}

.our_service_btn_list {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 15.9rem 15.9rem;
	gap: 4.2rem;
	width: 100%;
	margin: 0 auto;
}

.our_service_btn {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 4.3rem 3.7rem;
	overflow: hidden;
	box-shadow: var(--shadow);
	border-radius: 1.5rem;
	background-color: #fff;
}

.our_service_btn_logo {
	width: 14.4rem;
	height: 2.6rem;
	margin-bottom: 2.2rem;
}

.carestation_logo {
	width: 28.9rem;
	height: 2rem;
	margin-bottom: 2.8rem;
}

.kirakira_logo {
	width: 14.1rem;
	height: 3.5rem;
	margin-top: -0.9rem;
}

.our_service_btn_ttl {
	font-size: 3.2rem;
}

.our_service_btn .arrow_wrap {
	position: absolute;
	top: -2.8rem;
	right: -4.7rem;
	padding-right: 3.3rem;
	transition: all 0.4s;
}

.our_service_btn:hover .arrow_wrap {
	transform: scale(1.1);
	transition: all 0.4s;
}

/* ============
	responsive
================ */
@media screen and (max-width: 1280px) {
	.our_service_btn_list {
		grid-template-rows: 9.8rem 9.8rem;
		gap: 2.5rem;
		width: calc(100% - 10rem);
	}

	.our_service_btn {
		padding: 2.2rem;
	}

	.our_service_btn_logo {
		width: 9.734rem;
		height: 1.814rem;
		margin-bottom: 1.2rem;
	}

	.carestation_logo {
		width: 17.8rem;
		height: 1.2rem;
		margin-top: 0;
		margin-bottom: 1.814rem;
	}

	.kirakira_logo {
		width: 9.2rem;
		height: 2.3rem;
		margin-top: -0.486rem;
	}

	.our_service_btn_ttl {
		font-size: 2.2rem;
	}

	.our_service_btn .arrow_wrap {
		top: 0;
		right: -3rem;
		bottom: 0;
		width: 12.9rem;
		height: 12.9rem;
		margin: auto;
		padding-right: 1rem;
	}

	.our_service_btn .arrow {
		width: 2.158rem;
		height: 2.103rem;
		margin-bottom: 0.85rem;
	}

	.our_service_btn .arrow_wrap span {
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 768px) {
	.our_service_btn_list {
		width: calc(100% - 6rem);
	}
}

@media screen and (max-width: 690px) {
	.our_service_btn_list {
		grid-template-columns: auto;
		max-width: 46.5rem;
	}
}
/* ===========================================
	gallery
============================================== */
.gallery .swiper-wrapper {
	transition-timing-function: linear;
}

.gallery .swiper-slide {
	width: 41.1rem;
	aspect-ratio: 411 / 293;
}

.gallery .swiper-slide > img {
	width: 100%;
	height: 100%;
	border-radius: 1.5rem;
	object-fit: cover;
}

/* ============
	responsive
================ */
@media screen and (max-width: 1024px) {
	.gallery .swiper-slide {
		width: 31.5rem;
	}
}

/* ===========================================
	facility
============================================== */
.facility_area {
	padding-top: 12.5rem;
	padding-bottom: 14.9rem;
}

.facility_wrap + .facility_wrap {
	margin-top: 13.5rem;
}

.facility_ttl {
	align-items: flex-end;
	margin-bottom: 4.05rem;
}

.facility_ttl > div {
	width: 2.7rem;
	height: 3.3rem;
	margin-right: 2rem;
}

.facility_ttl > span {
	font-weight: 500;
	font-size: 2.9rem;
}

.facility_wrap {
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto;
	gap: 4rem;
}

.facility_item {
	position: relative;
	width: 100%;
	border-radius: 1.5rem;
	background-color: #fff;
	box-shadow: var(--shadow);
}

.facility_item::after {
	position: absolute;
	right: 1.75rem;
	bottom: 1.9rem;
	width: 2.8rem;
	height: 2.8rem;
	background-image: url(../images/common/icon_arrow-circle_right_black.png);
	background-position: center;
	background-size: contain;
	content: '';
}

.facility_item:hover {
	opacity: 0.7;
}

.facility_thumb {
	overflow: hidden;
	border-radius: 1.5rem 1.5rem 0 0;
	aspect-ratio: 34 / 21;
}

.facility_thumb > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.facility_name_wrap {
	width: 100%;
	padding: 2.1rem 2.1rem 5.5rem;
}

.facility_kind {
	margin-bottom: 1.2rem;
	font-size: 1.5rem;
}

.facility_name {
	font-weight: 500;
	font-size: 2.3rem;
}

.facility_management {
	display: inline-block;
	position: absolute;
	bottom: 2.1rem;
	left: 2.1rem;
	padding: 0.6rem 1.2rem;
	color: #fff;
	font-size: 1.3rem;
}

.jawa_color {
	background-color: #1c2c81;
}

.shiokaze_color {
	background-color: #1a8986;
}

/* ============
	responsive
================ */
@media screen and (max-width: 1024px) {
	.facility_area {
		padding-top: 10rem;
		padding-bottom: 14.7rem;
	}

	.facility_wrap {
		gap: 4.5rem 2.5rem;
	}

	.facility_wrap + .facility_wrap {
		margin-top: 8.5rem;
	}

	.facility_ttl {
		margin-bottom: 3.6rem;
	}

	.facility_ttl > div {
		width: 2.3rem;
		height: 2.811rem;
		margin-right: 1rem;
	}

	.facility_ttl > span {
		font-size: 2.5rem;
	}

	.facility_name {
		font-size: 2.2rem;
	}

	.facility_name_wrap::after {
		font-size: 2.6rem;
		font-size: 2.6rem;
	}

	.facility_management {
		padding: 0.4rem 1rem;
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 880px) {
	.facility_wrap {
		grid-template-columns: 1fr 1fr;
	}
}

@media screen and (max-width: 540px) {
	.facility_wrap {
		grid-template-columns: auto;
		justify-items: center;
	}

	.facility_item {
		max-width: 31.5rem;
	}
}

/* ===========================================
	staff_blog_item
============================================== */
.staff_blog_contents {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	gap: 4rem 4.2rem;
	width: calc(100% - 5rem - 30%);
}

.staff_blog_item {
	width: 100%;
	border-radius: 1.5rem;
	background-color: #fff;
	box-shadow: var(--shadow);
}

.staff_blog_item > a:hover {
	opacity: 0.7;
}

.staff_blog_cat {
	display: flex;
	align-items: center;
	width: 100%;
	height: 4.7rem;
	padding-right: 1.75rem;
	padding-left: 1.75rem;
	border-radius: 1.5rem 1.5rem 0 0;
	background-color: var(--green_color);
	color: #fff;
	font-size: 1.6rem;
}

.salasa_color {
	background-color: var(--orange_color);
}

.kirakira_color {
	background-color: var(--pink_color);
}

.project_color {
	background-color: var(--navy_color);
}

.staff_blog_thumb {
	aspect-ratio: 170 / 107;
}

.staff_blog_thumb > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.staff_blog_post_ttl_wrap {
	position: relative;
	padding: 2rem 1.75rem;
}

.staff_blog_post_ttl_wrap::after {
	position: absolute;
	right: 1.75rem;
	bottom: 1.9rem;
	width: 2.8rem;
	height: 2.8rem;
	background-image: url(../images/common/icon_arrow-circle_right_black.png);
	background-position: center;
	background-size: contain;
	content: '';
}

.staff_blog_post_ttl {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	height: 5.1rem;
	margin-bottom: 2rem;
	font-weight: 500;
	font-size: 1.8rem;
	line-height: 1.38;
}

.staff_blog_post_ttl_wrap > time {
	color: #8e8e8e;
	font-weight: 500;
	font-size: 1.5rem;
	font-family: 'Roboto', sans-serif;
}

/* ============
	responsive
================ */
@media screen and (max-width: 1024px) {
	.staff_blog_contents {
		gap: 4.5rem 2.5rem;
	}

	.staff_blog_post_ttl_wrap::after {
		width: 2.6rem;
		height: 2.6rem;
	}
}

@media screen and (max-width: 768px) {
	.staff_blog_contents {
		grid-template-columns: 1fr 1fr;
		width: 100%;
	}
}

@media screen and (max-width: 540px) {
	.staff_blog_contents {
		grid-template-columns: auto;
		justify-items: center;
	}

	.staff_blog_item {
		max-width: 31.5rem;
	}
}

/* ===========================================
	contact
============================================== */
.contact_area {
	position: relative;
	z-index: 2;
	margin-top: -9.7rem;
	padding-top: 14.7rem;
	padding-bottom: 14.7rem;
	border-radius: 10rem 0 0 0;
	background-color: var(--navy_color);
}

.contact_wrap {
	justify-content: space-between;
	align-items: center;
}

.contact_ttl_wrap {
	position: relative;
	width: 36.5%;
}

.contact_wrap > span {
	width: 10.6rem;
	height: 1px;
	background-color: #fff;
}

.contact_ttl_wrap .en_sub {
	margin-bottom: 1.2rem;
	color: #ffeec7;
	font-size: 2.5rem;
}

.contact_ttl_wrap .ja_ttl,
.contact_ttl_h3,
.contact_ttl_wrap > p,
.contact_btn > span {
	color: #fff;
}

.contact_ttl_wrap .ja_ttl {
	margin-bottom: 3.5rem;
}

.contact_ttl_h3 {
	margin-bottom: 2rem;
	font-weight: 500;
	font-size: 2.9rem;
}

.contact_ttl_wrap > p {
	font-weight: 500;
	font-size: 1.6rem;
	font-family: 'YakuHanJP', 'NotoSansCJKjp', sans-serif;
	line-height: 2;
	letter-spacing: 0.02em;
}

.contact_ttl_wrap > p > a {
	color: #fff;
	display: inline;
	text-decoration: underline;
	text-underline-offset: 0.5rem;
	white-space: nowrap;
}

.contact_btn {
	column-gap: 2.3rem;
}

.contact_btn:hover {
	opacity: 0.7;
}

.contact_btn + .contact_btn {
	margin-top: 3.95rem;
}

/* ============
	responsive
================ */
@media screen and (max-width: 1024px) {
	.contact_area {
		padding-top: 8.4rem;
		padding-bottom: 7.95rem;
		border-radius: 5rem 0 0 0;
	}

	.contact_ttl_wrap {
		width: 32.4rem;
	}

	.contact_ttl_wrap .en_sub {
		font-size: 1.7rem;
	}

	.contact_ttl_h3 {
		font-size: 2rem;
	}

	.contact_wrap > span {
		width: 7.76vw;
	}
}

@media screen and (max-width: 880px) {
	.contact_wrap > span {
		width: 3rem;
	}
}

@media screen and (max-width: 768px) {
	.contact_area {
		margin-top: -10rem;
	}

	.contact_wrap {
		flex-direction: column;
		row-gap: 4.9rem;
	}

	.contact_wrap > span {
		width: 5rem;
		transform: rotate(90deg);
	}

	.contact_ttl_wrap .en_sub,
	.contact_ttl_wrap .ja_ttl,
	.contact_ttl_h3 {
		text-align: center;
	}
}

@media screen and (max-width: 480px) {
	.contact_ttl_wrap {
		width: 100%;
	}

	.contact_btn {
		column-gap: 1.9rem;
	}

	.contact_btn_icon {
		width: 3.6rem;
	}
}

/* ===========================================
	footer
============================================== */
.footer {
	position: relative;
	padding-top: 6.7rem;
	padding-bottom: 5.1rem;
	overflow: hidden;
	background-color: #f7f7f7;
}

.footer::before,
.footer::after {
	position: absolute;
	width: 59.75rem;
	height: 37.65rem;
	background-position: center;
	background-size: contain;
	content: '';
}

.footer::before {
	top: -12.5rem;
	left: -12.7rem;
	background-image: url(../images/common/cloud_gray04_footer_bg01.png);
}

.footer::after {
	bottom: -10.7rem;
	right: -15.7rem;
	background-image: url(../images/common/cloud_gray04_footer_bg02.png);
}

.footer a:hover {
	opacity: 0.6;
}

.footer a[href='']:hover {
	opacity: 1;
	cursor: default;
}

.footer_wrap {
	position: relative;
	z-index: 1;
}

.footer_contact_wrap {
	align-items: flex-start;
	column-gap: 6.4rem;
}

.footer_contact_inner {
	flex-wrap: wrap;
	gap: 5rem;
	width: 63.6rem;
	padding: 5rem;
	border-radius: 1.5rem;
	box-shadow: var(--shadow);
	background-color: #fff;
}

.footer_contact_logo {
	margin-bottom: 1.75rem;
}

.footer_contact_address {
	margin-bottom: 2rem;
	font-size: 1.4rem;
	line-height: 1.57;
}

.footer_contact_btn {
	align-items: center;
}

.footer_contact_phone_icon {
	margin-right: 1.2rem;
}

.footer_contact_btn > span {
	font-weight: 500;
	font-size: 3rem;
	font-family: 'Roboto', sans-serif;
}

.footer_mail_btn {
	justify-content: center;
	align-items: center;
	position: relative;
	width: 33.8rem;
	height: 7.5rem;
	padding-right: 3.7rem;
	border-radius: 9999px;
	background-color: #333;
	color: #fff;
	font-size: 1.7rem;
}

.footer_mail_btn::before {
	position: absolute;
	top: 0;
	right: 4.1rem;
	bottom: 0;
	width: 2.2rem;
	height: 2.2rem;
	margin: auto;
	background-image: url(../images/common/icon_arrow_right_white.svg);
	background-position: center;
	background-size: contain;
	content: '';
}

.footer_mail_icon {
	margin-right: 1.5rem;
}

.footer_contents {
	width: calc(100% - 70rem);
}

.footer_nav_list_wrap {
	justify-content: space-between;
	margin-bottom: 2.2rem;
}

.footer_nav_list > li {
	font-size: 1.6rem;
	line-height: 1.68;
}

.footer_nav_list > li > a {
	padding-top: 1.3rem;
	padding-bottom: 1.3rem;
}

.footer_nav_list > li > ul > li {
	font-size: 1.5rem;
	line-height: 1.8;
}

.footer_nav_list > li > ul > li > a {
	position: relative;
	padding-top: 0.9rem;
	padding-bottom: 0.9rem;
}

.footer_nav_list > li > ul > li > a::before {
	content: '-';
}

.footer_contents .sns_link_wrap {
	column-gap: 2.6rem;
}

/*後で消す*/
/*.footer_contents .sns_link_btn + .sns_link_btn {
	margin-top: 1.5rem;
}

.footer_contents .sns_link_btn {
	display: flex;
	align-items: center;
	height: 3rem;
	padding-left: 4.4rem;
	font-size: 1.5rem;
}

.footer_contents .sns_link_btn::before {
	width: 3.5rem;
	height: 3rem;
}

.footer_contents .facebook_before::before,
.footer_contents .insta_before::before {
	font-size: 3rem;
}

.footer_contents .youtube_before::before {
	font-size: 3.5rem;
}*/
/*後で消す*/

.footer_contents .sns_link_inner > li + li {
	margin-top: 1.5rem;
}

.footer_contents .sns_link_inner > li > a {
	display: flex;
	align-items: center;
	height: 3rem;
	padding-left: 4.4rem;
	font-size: 1.5rem;
}

.footer_contents .sns_link_inner > li > a::before {
	width: 3.5rem;
	height: 3rem;
}

.footer_contents .facebook_before > a::before,
.footer_contents .insta_before > a::before {
	font-size: 3rem;
}

.footer_contents .youtube_before > a::before {
	font-size: 3.5rem;
}

.copy_area {
	justify-content: flex-end;
	align-items: flex-end;
}

.copy_wrap {
	margin-right: 2.85rem;
}

.copy {
	margin-right: 1.8rem;
}

.copy,
.pp_link {
	font-size: 1.1rem;
}

.pp_link {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.top_btn {
	flex-direction: column;
	justify-content: center;
	align-items: center;
	row-gap: 1rem;
	width: 7.6rem;
	height: 7.362rem;
	background-image: url(../images/common/top_page_btn_bg.svg);
	background-position: center;
	background-size: contain;
}

.top_btn > span {
	color: #fff;
	font-size: 1.2rem;
}

/* ============
	responsive
================ */
@media screen and (max-width: 1280px) {
	.footer_contents .sns_link_inner {
		width: 100%;
	}

	.footer_contents .sns_link_wrap {
		flex-direction: column;
		row-gap: 1.5rem;
	}
}

@media screen and (max-width: 1180px) {
	.footer_contact_inner {
		flex-direction: column;
		width: 48%;
		padding: 5rem 2.3rem;
	}

	.footer_nav_list {
		flex-wrap: wrap;
	}

	.footer_contents {
		width: calc(100% - 5rem - 48%);
	}
}

@media screen and (max-width: 1024px) {
	.footer {
		padding-top: 5rem;
		padding-bottom: 2.4rem;
	}

	.footer_contact_inner {
		row-gap: 3rem;
		width: 40rem;
	}

	.footer_contact_logo {
		margin-bottom: 1.5rem;
	}

	.contact_jawa_logo {
		width: 19.9rem;
		height: 4.267rem;
	}

	.contact_shiokaze_logo {
		width: 17.914rem;
		height: 4.993rem;
	}

	.footer_contact_address {
		margin-bottom: 1rem;
	}

	.footer_mail_icon {
		width: 2.799rem;
		height: 2.199rem;
	}

	.footer_mail_btn {
		width: 26.5rem;
		height: 6rem;
		font-size: 1.4rem;
	}

	.footer_mail_btn::before {
		right: 2.46rem;
		width: 1.742rem;
		height: 1.698rem;
	}

	.footer_contents {
		width: calc(100% - 5rem - 40rem);
	}
}

@media screen and (max-width: 960px) {
	.footer_contact_inner {
		max-width: 31.5rem;
	}

	.footer_contents {
		width: calc(100% - 5rem - 31.5rem);
	}
}

@media screen and (max-width: 840px) {
	.footer_nav_list_wrap {
		flex-direction: column;
	}

	.footer_nav_list > li > ul {
		display: flex;
		flex-wrap: wrap;
	}

	.footer_nav_list > li > ul > li {
		width: 46.3%;
	}

	.footer_nav_list > li > ul > li > a {
		padding-left: 1.5rem;
	}
}

@media screen and (max-width: 768px) {
	.footer_contact_wrap {
		flex-direction: column-reverse;
		align-items: center;
		row-gap: 6.4rem;
	}

	.footer_contact_inner,
	.footer_contents {
		max-width: 46.5rem;
		width: 100%;
	}

	.footer_contact_inner {
		align-items: center;
	}

	.footer_nav_list_wrap {
		flex-direction: row;
	}

	.footer_nav_list > li > ul {
		flex-direction: column;
	}

	.footer_nav_list > li > ul > li {
		width: 100%;
	}

	.footer_contents .sns_link_wrap {
		flex-direction: row;
	}

	.copy_area {
		margin-top: 2.7rem;
	}
}

@media screen and (max-width: 540px) {
	.footer_contents .sns_link_wrap {
		flex-direction: column;
	}

	.copy_area {
		justify-content: space-between;
	}

	.copy_wrap {
		flex-direction: column-reverse;
		row-gap: 0.95rem;
	}
}

@media screen and (max-width: 480px) {
	.footer_nav_list_wrap {
		flex-direction: column;
	}

	.footer_nav_list > li > ul {
		flex-direction: row;
	}

	.footer_nav_list > li > ul > li {
		width: 46.3%;
	}

	.footer_contact_inner {
		align-items: flex-start;
	}

	.footer_mail_btn {
		width: 100%;
	}

	.copy {
		margin-right: 0;
	}
}
