@charset "utf-8";
/*----------------------------------------------
	.l_all
---------------------------------------------*/
#top .l_all {
	overflow: hidden;
}
/*----------------------------------------------
	.l_wrap
---------------------------------------------*/
.l_wrap {
	width: 1060px;
	margin: auto;
}
.l_md_wrap {
	width: 950px;
	margin: auto;
}
.l_sm_wrap {
	width: 700px;
	margin: auto;
}
@media screen and (max-width: 1280px) {
	.l_wrap,
	.l_md_wrap {
		width: 95%;
	}
}
@media screen and (max-width: 768px) {
	.l_sm_wrap {
		width: 95%;
	}
}
/*----------------------------------------------
	.l_fix
---------------------------------------------*/
.l_fix {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	font-size: 1.2em;
	font-weight: 600;
}
.l_fix_link {
	width: calc(100% / 3);
	text-align: center;
}
.l_fix_tel a,
.l_fix_web a {
	display: block;
	padding: 0.8em 0 0.7em;
	background: linear-gradient(135deg, var(--grad-color));
	color: #fff;
	text-decoration: none;
}
.l_fix_tel .c_icon {
	transform: translateY(2px);
}
.l_fix_web .c_icon {
	transform: translateY(3px);
}
.l_fix_time {
	background: #fff;
	border: 2px solid var(--main-color);
	color: var(--main-color);
}
@media screen and (max-width: 640px) {
	.l_fix {
		display: block;
	}
}
/*----------------------------------------------
	.l_header
---------------------------------------------*/
.l_header {
	display: flex;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100%;
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	justify-content: space-between;
	transition: all 0.3s ease;
}
.l_header_right {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	font-weight: bold;
}
.l_header_contact {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 10px 20px 5px;
	background: linear-gradient(180deg, var(--grad-color));
	color: #fff;
	font-size: 0.7em;
	line-height: 1.2em;
}
.l_header_tel {
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	font-size: 2.2em;
	font-weight: 400;
}
.l_header_web {
	font-size: 1.4em;
	font-weight: 600;
}
.l_header_tel a,
.l_header_web a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px;
	color: #fff;
	text-decoration: none;
}
/*  .l_logo
---------------------------------------------*/
.l_logo {
	display: flex;
	align-items: center;
	width: 365px;
	max-width: 30%;
	margin-left: 20px;
	font-size: 2em;
}

/*  .l_nav
---------------------------------------------*/
.l_nav {
	height: 100%;
}
.l_nav_list {
	display: flex;
	align-items: center;
	height: 100%;
	font-size: 0.9em;
}
.l_nav_list > li {
	position: relative;
	height: 100%;
	margin-right: 20px;
}
.l_nav_list > li a {
	position: relative;
	display: flex;
	align-items: center;
	text-decoration: none;
	height: 100%;
	color: var(--bk-color);
	transition: 0.4s;
}
.l_nav_list > li > a::after {
	position: absolute;
	top: 20px;
	right: 0;
	left: 0;
	opacity: 0;
	content: "";
	width: 6px;
	height: 6px;
	background-color: var(--main-color);
	border-radius: 3px;
	margin: auto;
	transition: 0.4s;
}
.l_nav_list > li a:hover,
.l_nav_list > li.current > a {
	color: var(--key-color);
}
.l_nav_list > li > a:hover::after,
.l_nav_list > li.current > a::after {
	opacity: 1;
}
.l_nav_child {
	position: absolute;
	top: 100%;
	right: -100%;
	left: -100%;
	z-index: 11;
	opacity: 0;
	display: none;
	width: 120px;
	margin: auto;
	background: rgba(255, 255, 255, 0.9);
	transition: 0.4s;
}
.l_nav_child li {
	position: relative;
}
.l_nav_child li:not(:last-child)::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	width: 20px;
	height: 1px;
	margin: auto;
	background: var(--main-color);
}
.l_nav_child a {
	padding: 0.5em 0.2em;
}
.l_nav_list > li:hover .l_nav_child {
	display: flex;
	flex-direction: column;
	align-items: center;
	opacity: 1;
}
.drawer-menu-sp-item {
	display: none;
}
.menu-checkbox {
	display: none;
}
@media (max-width: 1280px) {
	.l_header_contact {
		padding: 10px 10px 0;
	}
	/*  .l_nav
	---------------------------------------------*/
	.l_nav_list > li {
		margin-right: 10px;
	}
}
@media (max-width: 1024px) {
	.l_header_contact {
		flex-direction: row;
		margin-right: 80px;
		padding: 14px 0 14px 10px;
	}
	.l_header_tel {
		border-right: 1px solid rgba(255, 255, 255, 0.4);
		border-bottom: none;
	}
	/*  .l_nav
	---------------------------------------------*/
	.l_nav_list,
	.l_nav_list > li,
	.l_nav_list > li a {
		align-items: start;
		height: auto;
	}
	.l_nav_list {
		width: 200px;
		margin: auto;
		flex-direction: column;
		font-size: 1.2em;
	}
	.l_nav_list a {
		display: inline-block !important;
		color: #fff !important;
	}
	.l_nav_list > li > a::after {
		content: none;
	}
	.l_nav_list > li:hover .l_nav_child {
		display: block;
	}
	.l_nav_child {
		position: static;
		opacity: 1;
		display: block;
		background: none;
	}
	.l_nav_child li {
		margin-top: 10px;
	}
	.l_nav_child li::before {
		content: "- ";
		color: #fff;
	}
	.l_nav_child li::after {
		content: none !important;
	}
	.l_nav_child li a {
		padding: 0;
	}
	.drawer-menu {
		position: fixed;
		top: 0;
		right: 0;
		height: 100vh;
		width: 100%;
		transform: translateX(100%);
		transition: all 0.5s ease-in-out 0s;
		z-index: 20;
	}
	.drawer-menu::after {
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		content: "";
		width: 100%;
		height: 100%;
		opacity: 0.95;
		background: linear-gradient(180deg, var(--grad-color));
	}
	.drawer-menu-list {
		margin-top: 100px;
	}
	.drawer-menu-sp-item {
		display: block;
	}
	.drawer-menu-item-link {
		display: block;
		color: #fff;
		margin-top: 20px;
	}
	.menu-checkbox:checked ~ .drawer-menu {
		transform: translateX(0);
	}
	.drawer-icon {
		cursor: pointer;
		position: fixed;
		top: 34px;
		right: 60px;
		justify-content: center;
		align-items: center;
		z-index: 9999;
		background-color: #fff;
	}
	.drawer-icon span,
	.drawer-icon span:before,
	.drawer-icon span:after {
		content: "";
		display: block;
		height: 3px;
		width: 40px;
		border-radius: 3px;
		background-color: var(--main-color);
		position: absolute;
		transition: all 0.5s ease-in-out 0s;
	}
	.drawer-icon span::before {
		bottom: 10px;
	}
	.drawer-icon span::after {
		top: 10px;
	}

	/* .menu-checkbox:checked ~ .drawer-icon {
		background-color: #3584bb;
	}

	.menu-checkbox:checked ~ .drawer-icon span {
		background-color: rgba(255, 255, 255, 0);
	} */

	.menu-checkbox:checked ~ .drawer-icon span::before {
		bottom: 0;
		transform: rotate(-30deg);
		background: #fff;
	}
	.menu-checkbox:checked ~ .drawer-icon span::after {
		top: 0;
		transform: rotate(30deg);
		background: #fff;
	}
	.menu-background {
		display: none;
		position: fixed;
		z-index: 10;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #000;
		opacity: 0;
		transition: all 0.5s ease-in-out 0s;
	}
	.menu-checkbox:checked ~ .menu-background {
		display: block;
		opacity: 0.3;
	}
}
@media (max-width: 768px) {
	.l_header_contact {
		padding-left: 0;
	}
	.l_header_contact_ttl {
		display: none;
	}
}
@media (max-width: 640px) {
	.l_header {
		padding: 10px 0;
	}
	.l_header_contact {
		display: none;
	}
	/*  .l_logo
	---------------------------------------------*/
	.l_logo {
		max-width: 67%;
		margin-left: 10px;
	}
	/*  .l_nav
	---------------------------------------------*/
	.drawer-menu-list {
		margin-top: 40px;
	}
	.drawer-icon {
		top: 30px;
		right: 43px;
	}
	.drawer-icon span,
	.drawer-icon span:before,
	.drawer-icon span:after {
		height: 3px;
		width: 30px;
	}
	.l_nav_list {
		font-size: 1em;
	}
}
/*----------------------------------------------
	.l_pagettl
---------------------------------------------*/
.l_pagettl {
	position: relative;
	padding: 60px 0 50px;
	font-weight: 600;
	text-align: center;
}
.l_pagettl::before,
.l_pagettl::after {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
}
.l_pagettl::before {
	z-index: -1;
	opacity: 0.75;
	background: linear-gradient(90deg, var(--grad-color));
}
.l_pagettl::after {
	z-index: -2;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
.l_pagettl_en {
	font-size: 1.1em;
	color: var(--key-color);
}
.l_pagettl_ttl {
	font-size: 1.8em;
	color: #fff;
}
@media (max-width: 640px) {
	.l_pagettl {
		padding: 30px 0 20px;
	}
}
/*----------------------------------------------
	.l_breadcrumb
---------------------------------------------*/
.l_breadcrumb_links {
	padding: 1em 0;
	font-size: 0.8em;
}
.l_breadcrumb_links > span {
	margin: 0 0.5em;
}
/*----------------------------------------------
	.l_main_cont
---------------------------------------------*/
.l_main_cont {
	width: calc(100% - 315px);
}
@media (max-width: 1024px) {
	.l_main_cont {
		width: calc(100% - 260px);
	}
}
@media (max-width: 768px) {
	.l_main_cont {
		width: 100%;
	}
}
/*----------------------------------------------
	.l_side_cont
---------------------------------------------*/
.l_side_cont {
	width: 255px;
}
.l_side_box {
	margin-bottom: 40px;
}
.l_side_box .c_blog_bnr a {
	padding: 30px 30px 15px;
	background: url(../images/logomark.png) no-repeat right 30px bottom / auto
			100%,
		url(../images/blog_bg.jpg) no-repeat 0 0 / 100% 100%;
	font-size: 0.8em;
	text-align: left;
	line-height: 1.4em;
}
.l_side_box .c_blog_bnr a .c_icon_circle {
	transform: scale(0.8);
}
.l_side_box .c_blog_bnr a .c_ttl_type01 {
	font-size: 1.8em;
}
.l_side_ttl {
	margin-bottom: 10px;
	padding: 0.7em 0.8em 0.5em;
	background: var(--key-color);
	border-radius: 8px;
	color: #fff;
}
.l_side_list a {
	display: inline-block;
	padding: 5px 0 5px 10px;
	color: var(--bk-color);
}
.l_side_list a:hover {
	text-decoration: none;
}
@media (max-width: 1024px) {
	.l_side_cont {
		width: 240px;
	}
}
@media (max-width: 768px) {
	.l_side_cont {
		width: 300px;
		max-width: 100%;
		margin: 40px auto 0;
	}
	.l_side_box {
		margin-bottom: 20px;
	}
	.l_side_box .c_blog_bnr a {
		line-height: 1.8em;
	}
}
/*----------------------------------------------
	.l_pagetop　必要なら復活
---------------------------------------------*/
/* .l_pagetop {
    position: fixed;
    right: 10px;
    bottom: 10px;
}
.l_pagetop a {
    display: block;
    background: #fff;
    padding: .7em .7em .5em;
    font-size: 1.4rem;
    color: #222;
    text-align: center;
    text-decoration: none;
    line-height: 1.2;
    transition: all .2s ease;
}
.l_pagetop a:hover {
    color: #222;
    opacity: .5;
}
@media (max-width: 1280px) {
    .l_pagetop a  {
      font-size: calc(14px + ((1vw - 12.6px)*(16/10)));
    }
}
@media (max-width: 768px) {
    .l_pagetop {
        position: static;
    }
    .l_pagetop a {
        background: #222;
        border-bottom: 1px solid #000;
        padding: 1em;
        font-size: 1.2rem;
        color: #fff;
    }
    .l_pagetop a:hover {
        color: #fff;
    }
} */
/*----------------------------------------------
	.l_footer
---------------------------------------------*/
.l_footer {
	background: rgba(var(--key-rgb-color), 0.1);
	padding: 60px 0;
}
.l_footer_left,
.l_footer_right {
	width: 50%;
}
/*  .l_footer_left
---------------------------------------------*/
.l_footer_info {
	margin: 30px 0 0 82px;
}
.l_footer_logo {
	width: 70%;
}
.l_footer_tel_ttl,
.l_footer_tel_num,
.l_footer_tel a {
	color: var(--main-color);
	text-decoration: none;
}
.l_footer_tel_ttl {
	font-size: 0.9em;
}
.l_footer_tel_num {
	margin: 0 10px;
	font-size: 1.8em;
}
.l_footer_book {
	display: inline-block;
	margin-left: 15px;
	padding: 0.1em 0.2em 0 0.5em;
	background: linear-gradient(180deg, var(--grad-color));
	border-radius: 5px;
	color: #fff;
	font-weight: 600;
	letter-spacing: 0.3em;
}
.l_footer_time {
	margin: 20px 0;
	font-size: 0.9em;
}
.l_footer_link a {
	display: flex;
	width: 400px;
	max-width: 100%;
	padding: 0.7em 0.5em 0.5em;
	background: #fff;
	border-radius: 5px;
	color: var(--bk-color);
	text-decoration: none;
	transition: 0.4s;
}
.l_footer_link a:hover {
	opacity: 0.6;
}
.l_footer_link_ttl {
	font-size: 0.9em;
}
.l_footer_link_logo {
	width: 64px;
	margin: 0 5px;
	transform: translateY(-2px);
}
/*  .l_footer_right
---------------------------------------------*/
.l_footer_nav a {
	font-size: 0.9em;
	color: var(--bk-color);
	text-decoration: none;
	transition: 0.4s;
}
.l_footer_nav a:hover {
	color: var(--key-color);
}
.l_footer_nav_cont:not(:last-child) {
	margin-right: 60px;
}
.l_footer_link_ttl {
	font-weight: 600;
}
.l_footer_sche {
	margin: 40px 0;
}
/*  .l_copyright
---------------------------------------------*/
.l_copyright {
	font-size: 0.8em;
	text-align: right;
}
@media (max-width: 1024px) {
	/*  .l_footer_left
	---------------------------------------------*/
	.l_footer_info {
		margin: 30px 0 0 0;
	}
	/*  .l_footer_right
	---------------------------------------------*/
	.l_footer_nav_cont:not(:last-child) {
		margin-right: 30px;
	}
}
@media (max-width: 768px) {
	.l_footer {
		padding: 30px 0;
	}
	/*  .l_footer_left
	---------------------------------------------*/
	.l_footer_left {
		width: 360px !important;
	}
	.l_footer_logo {
		width: 40%;
		min-width: 260px;
	}
	.l_footer_info {
		margin: 20px 0 0 0;
	}
	.l_footer_time {
		margin-top: 10px;
	}
	/*  .l_footer_right
	---------------------------------------------*/
	.l_footer_nav {
		display: none !important;
	}
	.l_footer_sche {
		margin: 0 0 20px;
	}
}
@media (max-width: 640px) {
	.l_footer {
		padding-bottom: 80px;
	}
	/*  .l_footer_left
	---------------------------------------------*/
	.l_footer_left {
		width: 100% !important;
	}
	.l_footer_logo {
		width: 100%;
	}
	.l_footer_add,
	.l_footer_tel,
	.l_footer_time {
		width: 310px;
		margin-inline: auto;
	}
	.l_footer_book {
		margin: 10px 0 0;
	}
	.l_footer_link a {
		margin-inline: auto;
	}
}
