@charset "utf-8";
/* 
Theme Name: genova_tpl
File: style.css
Author: Genova Design
Author URL: https://genova.co.jp/
Description: Genova 2021 Wordpress template
Version: 1.0
*/


/*-----------------------------------------------------------
■ 1 Html
-----------------------------------------------------------*/

/*--------------------------------------
	general
--------------------------------------*/
:root {
	--color-primary: #9DCA70;

}

/*reset*/
html {
	color: #000;
	background: #FFF
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
figure,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
	margin: 0;
	padding: 0
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

fieldset,
img {
	border: 0
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
	font-weight: normal
}

ol,
ul {
	list-style: none
}

caption,
th {
	text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal
}

q:before,
q:after {
	content: ''
}

abbr,
acronym {
	border: 0;
	font-variant: normal
}

sup {
	vertical-align: text-top
}

sub {
	vertical-align: text-bottom
}

input,
textarea,
select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	*font-size: 100%
}

legend {
	color: #000
}

#yui3-css-stamp.cssreset {
	display: none
}

html {
	font-size: 62.5%;
}

.fnt-montserrat {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

.fnt-zenkaku-medium {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 500;
	font-style: normal;
}

.fnt-zenkaku-bold {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 700;
	font-style: normal;
}

.fnt-zen-maru-medium {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-style: normal;
}

.fnt-zen-maru-bold {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
}

.fnt-lato {
	font-family: "Lato", sans-serif;
	font-weight: 700;
	font-style: normal;
}


body {
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	letter-spacing: 1px;
	line-height: 32px;
	color: #524F45;
	background: #f8f6ef;
	-webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

a {
	/* vertical-align: middle; */
	text-decoration: none;
	color: #333;
	-moz-transition-duration: 0.7s;
	-o-transition-duration: 0.7s;
	-webkit-transition-duration: 0.7s;
	transition-duration: 0.7s;
}

a[href^="tel:"] {
	pointer-events: none;
	cursor: text;
}

a:focus,
*:focus {
	outline: none;
}

a img {
	transition: all .3s ease;
}

a:hover img {
	opacity: 0.8;
}

img {
	width: auto;
	max-width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

p {
	margin-bottom: 20px;
}

p:last-child {
	margin-bottom: 0;
}

table {
	width: 100%;
}

strong {
	font-weight: bold;
}


@media screen and (max-width: 767px) {
	body {
		font-size: 15px;
		letter-spacing: 1px;
		line-height: 1.9;
	}

	a[href^="tel:"] {
		pointer-events: auto;
		cursor: pointer;
	}

	.auto_height {
		height: auto !important;
	}


}


/*--------------------------------------
	icons
--------------------------------------*/

@font-face {
	font-family: 'icomoon';
	src: url('./libs/icomoon/icomoon.eot');
	src: url('../libs/icomoon/icomoon.eot#iefix') format('embedded-opentype'),
		url('./libs/icomoon/icomoon.ttf') format('truetype'),
		url('./libs/icomoon/icomoon.woff') format('woff'),
		url('./libs/icomoon/icomoon.svg#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
}





[class*='icon-']:not([class*='eicon-']):not([class*='elementor-icon-'])::before {
	display: inline-block;
	font-family: 'icomoon';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: baseline;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-home::before {
	content: "\e90b";
}

.icon-blog::before {
	content: "\e900";
}

.icon-category::before {
	content: "\e901";
}

.icon-check::before {
	content: "\e902";
}

.icon-checked::before {
	content: "\e903";
}

.icon-down::before {
	content: "\e904";
}

.icon-facebook::before {
	content: "\e905";
}

.icon-google::before {
	content: "\e906";
}

.icon-line::before {
	content: "\e907";
}

.icon-twitter::before {
	content: "\e908";
}

.icon-arrow02::before {
	content: "\e909";
}

.icon-arrow01::before {
	content: "\e910";
}

.icon-search::before {
	content: "\e911";
}

.icon-tag::before {
	content: "\e912";
}

.icon-checkbox-unchecked::before {
	content: "\ea53";
}

.icon-checkbox-checked::before {
	content: "\ea52";
}

.radio-unchecked::before {
	content: "\ea56";
}

.radio-checked::before {
	content: "\ea54";
}

.radio-checked2::before {
	content: "\ea55";
}


/*--------------------------------------
	shortcuts
--------------------------------------*/

/*margin */
.mb0 {
	margin-bottom: 0px !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb55 {
	margin-bottom: 55px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb65 {
	margin-bottom: 65px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.mb75 {
	margin-bottom: 75px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mb85 {
	margin-bottom: 85px !important;
}

.mb90 {
	margin-bottom: 90px !important;
}

.mb95 {
	margin-bottom: 95px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

/* float */
.fr {
	float: right !important;
}

.fl {
	float: left !important;
}

/* clear */
.clearfix {
	*zoom: 1;
}

.clearfix::after {
	content: "";
	display: table;
	clear: both;
}

.cl {
	clear: both !important;
}

/* text indent */
.textHide {
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

/* text-align */
.tac {
	text-align: center !important;
}

.tar {
	text-align: right !important;
}

.tal {
	text-align: left !important;
}

/* font-weight */
.fb {
	font-weight: bold !important;
}

.half {
	display: inline-block;
}

/*Pc/sp change*/
.sp {
	display: none;
}

.mb {
	display: none;
}

@media screen and (max-width: 767px) {

	.pc {
		display: none !important;
	}

	.sp {
		display: block !important;
	}
}

@media screen and (max-width: 480px) {

	.mb {
		display: block;
	}

	.pcm {
		display: none;
	}

}


/*--------------------------------------
	container / wrapper
--------------------------------------*/

.container {
	width: 100%;
	max-width: 1140px;
	padding: 0 30px;
	margin: 0 auto;
}

.container::after {
	content: "";
	display: block;
	clear: both;
}

#wrapper {
	height: 100%;
}

@media (max-width: 767px) {

	.container {
		padding: 0 20px;
	}

}


/*--------------------------------------
	text color
--------------------------------------*/

.txt_color {
	color: #94C789;
}

.txt_link {
	vertical-align: top;
	text-decoration: underline !important;
	font-weight: bold;
	color: #94C789 !important;
}

.txt_link:hover {
	text-decoration: none !important;
}

.catch_title {
	text-align: center;
	font-size: 22px;
	line-height: 1.6;
	letter-spacing: 0.15em;
	color: #FFAEA2;
}


/*-----------------------------------------------------------
■ 2 Header
-----------------------------------------------------------*/
.bnr__ft,
.ftbtn-fix-shared p,
#footer p,
#header p {
	margin-bottom: 0;
}

/*--------------------------------------
	general
--------------------------------------*/

#header .header_menu {
	line-height: 90px;
}

#header .header_menu .g_nav {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	padding: 0px 0px 0 0px;
	flex-wrap: wrap;
	justify-content: center;
	gap: 33px 0;
}

#header .header_menu .g_nav>li {
	position: relative;
	width: 88px;
}

#header .header_menu .g_nav>li>a,
#header .header_menu .g_nav>li>span {
	display: flex;
	align-items: center;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	font-size: 14px;
	padding: 0;
	letter-spacing: 0.05em;
	-moz-transition-duration: 0.7s;
	-o-transition-duration: 0.7s;
	-webkit-transition-duration: 0.7s;
	transition-duration: 0.7s;
	position: relative;
	flex-direction: column;
	justify-content: center;
	color: #524F45;
}

#header .header_menu .g_nav>li>a:hover,
#header .header_menu .g_nav>li>span:hover {
	opacity: .7;
}



#header .header_menu .g_nav>li>span.parent::before,
#header .header_menu .g_nav>li>a::before {
	content: "";
	background: #A29F9E;
	height: 1px;
	position: absolute;
	top: 72px;
	right: 0;
	left: 0;
	margin: 0 auto;
	opacity: 0;
	visibility: hidden;
	display: none;
}

#header .header_menu .g_nav>li.hover>span.parent::before,
#header .header_menu .g_nav>li.active>a::before,
#header .header_menu .g_nav>li>a:hover::before,
#header .header_menu .g_nav>li.active>span.parent::before,
#header .header_menu .g_nav>li>span:hover::before {
	opacity: 0;
	visibility: hidden;
}


.home #header .header_menu .g_nav>li>span {}

body.home #header .header_menu .g_nav>li>a,
body.home #header .header_menu .g_nav>li>span {}

body.has-nav #header .header_menu .g_nav>li>a,
body.has-nav #header .header_menu .g_nav>li>span {
	/*	color: #fff;*/
}

#header .header_menu .g_nav>li>a:hover small,
#header .header_menu .g_nav>li>span:hover small {
	opacity: 1;
	visibility: visible;
}

#header .header_menu .g_nav>li>a>span,
#header .header_menu .g_nav>li>span>span {
	display: block;
	margin: 0 auto;
	line-height: 1.3;
	padding-top: 7px;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 500;
	font-style: normal;
}



#header .header_menu .g_nav>li small {
	font-size: 8px;
	font-family: "Lato", sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	line-height: 1;
	padding-top: 4px;
}



#header .header_menu .g_nav li .icon {
	display: block;
	line-height: 1;
	margin: 0 auto;
}

#header .header_menu .g_nav li .icon-1 {
	width: 44px;
}

#header .header_menu .g_nav li .icon-2 {
	width: 45px;
}

#header .header_menu .g_nav li .icon-3 {
	width: 40px;
}

#header .header_menu .g_nav li .icon-4 {
	width: 46px;
}

#header .header_menu .g_nav li .icon-5 {
	width: 52px;
}



#header .header_menu .g_nav>li.active>a::before,
#header .header_menu .g_nav>li>a:hover::before {
	opacity: 0;
	visibility: hidden;
}



#header .header_menu .g_nav>li>a sub,
#header .header_menu .g_nav>li>span sub {
	font-size: 10px;
	line-height: 1.2;
	display: block;
	letter-spacing: 0.1em;
	padding-top: 10px;
}

#header .header_menu .g_nav>li>span:hover+dl,
#header .header_menu .g_nav>li>span ul:hover {
	pointer-events: auto;
	filter: progid: DXImageTransform.Microsoft.Alpha(enabled=false);
	opacity: 1;
}

#header .header_menu .g_nav>li>span:hover {
	position: relative;
}

#header .header_menu .g_nav>li dl {
	pointer-events: none;
	position: absolute;
	top: -12px;
	left: 100%;
	display: block;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-moz-transition-duration: 0.6s;
	-o-transition-duration: 0.6s;
	-webkit-transition-duration: 0.6s;
	transition-duration: 0.6s;
	filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=0);
	opacity: 0;
	z-index: 99;
	overflow: hidden;
	padding-left: 50px;
}


#header .header_menu .g_nav>li dl::before {
	content: "";
}

#header .header_menu .g_nav>li dl::after {
	content: "";
}

#header .header_menu .g_nav>li dl dt {
	max-width: 1080px;
	margin: 0 auto 10px;
	font-size: 20px;
	line-height: 1.2;
	display: none;
}

#header .header_menu .g_nav>li dl ul {
	max-width: 1080px;
	margin: 0 auto;
	text-align: left;
	width: 260px;
	background: #fff;
	box-sizing: border-box;
	padding: 14px 19px;
	border-radius: 10px;
}

#header .header_menu .g_nav>li dl li {
	display: block;
	margin-right: 0;
	line-height: 1.3;
	position: relative;
	border-bottom: 1px dashed var(--color-primary);
	padding-left: 12px;
}

#header .header_menu .g_nav>li dl li:hover {}

#header .header_menu .g_nav>li dl li:before {
	content: "";
	background: url("./img/top/arow01.png") no-repeat center;
	background-size: 100% auto;
	width: 5px;
	height: 8px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

#header .header_menu .g_nav>li dl li a:hover {
	color: var(--color-primary);
}

#header .header_menu .g_nav>li dl li:last-child {
	margin-right: 0;
	border-bottom: none;
}

#header .header_menu .g_nav>li dl li a {
	color: #524F45;
	vertical-align: top;
	position: relative;
	font-size: 15px;
	font-weight: 500;
	display: block;
	padding: 14px 0 14px 0px;
	text-align: left;
}

#header .header_menu .g_nav>li dl li a::before {
	content: "";
	width: 7px;
	height: 12px;
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
}

/*
#header .header_menu .g_nav>li dl a:hover {
    opacity: 1;
    color: #FD9B01;
}
*/

#header .header_menu .g_nav>li dl:hover {
	pointer-events: auto;
	filter: progid: DXImageTransform.Microsoft.Alpha(enabled=false);
	opacity: 1;
}

@media screen and (min-width: 768px) {
	#header .header_menu .g_nav>li dl {
		pointer-events: none;
	}

	#header .header_menu .g_nav>li.active>a::before,
	#header .header_menu .g_nav>li>a:hover::before {
		opacity: 1;
		visibility: visible;
	}

}

.cameraContent.cameracurrent {
	z-index: 9;
}



@media screen and (min-width: 768px) and (max-height: 700px) {
	#header .header_menu .g_nav {
		gap: 15px 0;
	}
}

@media screen and (max-width: 767px) {
	#header {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 999;
		transition: all .4s ease;

	}

	#header::after {
		content: "";
		background: #f8f6ef;
		width: 100%;
		height: 65px;
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
		opacity: 0;
		visibility: hidden;
	}

	.has-nav #header::after {
		opacity: 1;
		visibility: visible;
	}


	/* logo */



	#header .header_logo img {
		width: 100%;
		max-width: 100%;
	}

	#header .header_logo a:hover {
		text-decoration: none;
	}

	#header .toggleMenu {
		display: block;
	}

	.toggleMenu {
		width: 65px;
		height: 65px;
		text-align: left;
		cursor: pointer;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 999;
		padding: 0;
		background: var(--color-primary);
		border-bottom-left-radius: 20px;
	}

	.home .toggleMenu {}

	.has-nav .toggleMenu {}

	.home .toggleMenu {}

	.toggleMenu .menu-trigger {
		display: block;
	}

	.toggleMenu.active .menu-trigger {}

	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
		width: 100%;
		height: 3px;
		border-radius: 10px;
		position: absolute;
	}

	.menu-trigger span {
		background-color: #fff;
	}

	.toggleMenu.active .menu-trigger span {
		background-color: #fff;
	}

	.menu-trigger {
		position: relative;
		width: 30px;
		height: 23px;
		margin: 20px auto;
	}

	.menu-trigger::before {
		content: "MENU";
		position: absolute;
		top: -21px;
		left: -11px;
		right: 0;
		letter-spacing: 0.05em;
		font-size: 12px;
		width: 50px;
		text-align: center;
		line-height: 1;
		display: none;
	}

	.toggleMenu.active .menu-trigger::before {
		content: "CLOSE";

	}


	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}

	.menu-trigger span:nth-of-type(2) {
		top: 10px;
	}

	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
		width: 60%;
	}

	.toggleMenu.active .menu-trigger span:nth-of-type(1) {
		-webkit-transform: translateY(10px) rotate(-45deg);
		transform: translateY(10px) rotate(-45deg);
	}

	.toggleMenu.active .menu-trigger span:nth-of-type(2) {
		opacity: 0;
	}

	.toggleMenu.active .menu-trigger span:nth-of-type(3) {
		-webkit-transform: translateY(-10px) rotate(45deg);
		transform: translateY(-10px) rotate(45deg);
		width: 100%;
	}

	#header .right_box,
	#header .g_nav {
		display: none;
	}

	#header .header_menu {
		top: 0 !important;
		bottom: 0;
		left: 0;
		opacity: 0;
		visibility: hidden;
		transition: all 0.4s ease;
		overflow: auto;
		padding-bottom: 0px;
		z-index: 998;
		width: 100%;
		position: fixed;
		right: 0;
		background: #f8f9e7;
	}

	#header .header_menu .mn-inside {
		padding: 0 20px 20vw;
	}

	body #header .header_menu::before {
		content: "";
		background: #f8f9e7;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		height: 65px;
		z-index: 2;
	}




	.nav-Opened #header .header_menu {
		opacity: 1;
		visibility: visible;
	}

	#header .btnmenu {
		margin: 0 auto 5px;
		width: 75vw;
		text-align: center;
	}


	.toggleMenu.active+.header_menu {
		opacity: 1 !important;
		visibility: visible !important;
	}

	#header .header_menu .g_nav {
		display: block;
		text-align: center;
	}

	#header .headerMenu-wrap {
		margin: 100px 20px 59px;
	}

	#header .header_menu .g_nav {

		background: #fff;
		border-radius: 20px;
	}

	#header .header_menu .g_nav>li {
		position: relative;
		border-left: none;
		margin-left: 0;
		text-align: center;
		width: 100%;
		border-top: 1px solid #CCCCCC;
	}

	#header .header_menu .g_nav>li+li {}

	#header .header_menu .g_nav>li>a,
	#header .header_menu .g_nav>li>span {
		width: 100%;
		padding: 23px 50px 23px 90px;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
		height: auto;
		color: #524F45;
		font-size: 16px;
		letter-spacing: 0.05em;
		line-height: 1;
		text-align: left;
	}

	#header .header_menu .g_nav li .icon {
		position: absolute;
		top: 50%;
		left: 25px;
		transform: translateY(-50%);
	}

	#header .header_menu .g_nav>li>a,
	#header .header_menu .g_nav>li>span {
		font-size: 16px;
	}

	#header .header_menu .g_nav>li>a small {

		padding-top: 10px;
		font-size: 8px;
	}

	#header .header_menu .g_nav>li dl::before {
		display: none;
	}

	#header .header_menu .g_nav>li dl {
		margin-left: 0;
		left: 0;
	}

	#header .header_menu .g_nav>li dl li:last-child {
		border-bottom: none;
	}

	#header .header_menu .g_nav>li dl ul {
		padding: 0 0 20px;
		margin: 0 50px;
		width: auto;
	}

	body #header .header_menu .g_nav>li span.parent a,
	body.has-nav #header .header_menu .g_nav>li>a,
	body.has-nav #header .header_menu .g_nav>li>span {}

	#header .header_menu .g_nav>li.hover>span.parent::before,
	#header .header_menu .g_nav>li.active>a::before,
	#header .header_menu .g_nav>li>a:hover::before,
	#header .header_menu .g_nav>li.active>span.parent::before,
	#header .header_menu .g_nav>li>span:hover::before {
		display: none;
	}


	#header .header_menu .g_nav>li>a span,
	#header .header_menu .g_nav>li>span span {
		margin: 0;
		transition: all .5s ease;
		padding-top: 0;
	}

	#header .header_menu .g_nav>li small {
		padding-top: 10px;
	}

	#header .header_menu .g_nav>li:first-child {
		border-top: none;
	}

	/* #header .header_menu .g_nav > li:first-child a sub {
		font-size: 17px;
		padding-left: 30px;
		display: block;
		margin: 0;
	} */
	#header .header_menu .g_nav>li:first-child a span {
		padding-top: 0;
	}

	#header .header_menu .g_nav>li:first-child a:before {
		top: 23px;
		left: 20px;
		margin-left: 0;
	}

	#header .header_menu .g_nav>li.parent>a {}

	#header .header_menu .g_nav>li>a:hover,
	#header .header_menu .g_nav>li>span:hover,
	#header .header_menu .g_nav>li.active>a {
		/*        color: #967928;*/
		opacity: 1;
	}

	body.home #header .header_menu .g_nav>li>a,
	body.home #header .header_menu .g_nav>li>span {}

	body.home #header .header_menu .g_nav>li.active>a,
	body.home #header .header_menu .g_nav>li>a:hover {}

	.has-nav #header .header_menu .g_nav>li>a,
	.has-nav #header .header_menu .g_nav>li>span {
		/*        color: #967928;*/
	}

	.has-nav #header .header_menu .g_nav>li.active>a,
	.has-nav #header .header_menu .g_nav>li>a:hover {
		/*        color: #967928;*/
	}

	#header .header_menu .g_nav>li>span:after {
		content: "+";
		position: absolute;
		top: 31px;
		right: 0;
		width: 16px;
		height: 16px;
		color: #fff;
		margin-top: -9px;
	}

	#header .header_menu .g_nav>li.hover>span:after {
		-moz-transform: rotate(135deg);
		-ms-transform: rotate(135deg);
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
		margin-top: 0;
		right: 0;
		top: 25px;
	}

	#header .header_menu .g_nav>li>a sub,
	#header .header_menu .g_nav>li>span sub {
		margin: -2px 0 0 8px;
		vertical-align: middle;
		bottom: 0;
		color: #fff;
		padding-top: 0;
		font-size: 10px;
		display: none;
	}

	#header .header_menu .g_nav>li dl {
		position: relative;
		top: 0;
		background: none;
		padding: 0;
		width: 100%;
		box-shadow: none;
	}

	#header .header_menu .g_nav>li dl::after {
		background: none;
		box-shadow: none;
	}

	#header .header_menu .g_nav>li dl li:before {}


	#header .header_menu .g_nav>li dt {
		display: none;
	}

	#header .header_menu .g_nav>li ul {
		position: inherit;
		display: none;
		top: 0;
		padding: 0;
	}



	#header .header_menu .g_nav>li ul li a {}

	#header .header_menu .g_nav>li ul li a::before {}

	#header .header_menu .g_nav>li dl a:hover {
		color: #333;
	}

	#header .header_menu .g_nav>li ul li a:hover {
		text-decoration: none;
		background: #ddd;
		/*    color: #fff;*/
	}

	#header .header_menu .g_nav>li.hover ul {
		display: block;
		filter: progid: DXImageTransform.Microsoft.Alpha(enabled=false);
		opacity: 1;
	}

	/*スマホ時サブメニューが消える現象を回避*/
	#header .header_menu .g_nav>li>span {
		position: relative;
	}

	#header .header_menu .g_nav>li.hover>span+dl,
	#header .header_menu .g_nav>li>span:hover+dl {
		pointer-events: auto;
		opacity: 1;
	}

	#header .block-bot li {
		width: 220px;
		margin: 0 auto 25px;
		line-height: 1;
	}


}

@media screen and (max-width: 360px) {
	#header .header_menu .g_nav>li dl ul {
		margin: 0 20px;
	}
}

body.nav-Opened,
body.nav-Opened *,
body.nav-Opened *:hover,
body.nav-Opened *:focus,
body.nav-Opened *:active {
	touch-action: none !important;
	pointer-events: none !important;
}

body.nav-Opened #ft-fixed,
body.nav-Opened #ft-fixed *,
body.nav-Opened .toggleMenu,
body.nav-Opened .header_menu,
body.nav-Opened .header_menu *,
body.nav-Opened .header_logo,
body.nav-Opened .header_logo * {
	touch-action: auto !important;
	pointer-events: visible !important;
}

body.nav-Opened {
	overflow: hidden !important;
	-webkit-overflow-scrolling: touch !important;
	touch-action: none !important;
	pointer-events: none !important;
}

body.nav-Opened .header_logo {}

#header:after {
	content: "";
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0;
	visibility: hidden;
	background-color: rgba(244, 239, 233, 0.96);

}

body.nav-Opened #header:after {
	opacity: 1;
	visibility: visible;
}

/*=============================================
 * hamburger
 *=============================================*/

.hamburger {
	color: #000;
	position: relative;
	height: 50px;
}

.hamburger:after {
	content: "menu";
	position: absolute;
	bottom: 1px;
	left: 0;
	width: 100%;
	text-align: center;
	letter-spacing: 0;
	font-size: 9px;
	font-weight: 700;
	line-height: 1.5;
}

.hamburger span,
.hamburger span:before,
.hamburger span:after {
	width: 39px;
	height: 3px;
	background: #03273b;
	border-radius: 5px;
}

.hamburger span {
	top: 19px;
	right: 0;
	left: 0;
	margin: auto;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.075s;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger span:before,
.hamburger span:after {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	transition: 0.15s ease;
}

.hamburger span:before {
	top: -10px;
	transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}

.hamburger span:after {
	bottom: -10px;
	transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.navOpen .hamburger:after {
	content: "close";
}

.navOpen .hamburger span,
.navOpen .hamburger span:before,
.navOpen .hamburger span:after {
	width: 28px;
}

.navOpen .hamburger span {
	transform: rotate(45deg);
	transition-delay: 0.12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.navOpen .hamburger span:before {
	top: 0;
	opacity: 0;
	transition: top 0.075s ease, opacity 0.075s 0.12s ease;
	-webkit-transition: top 0.075s ease, opacity 0.075s 0.12s ease;
	-moz-transition: top 0.075s ease, opacity 0.075s 0.12s ease;
	-ms-transition: top 0.075s ease, opacity 0.075s 0.12s ease;
	-o-transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}

.navOpen .hamburger span:after {
	bottom: 0;
	transform: rotate(-90deg);
	transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/* iPhone X */

@media only screen and (min-device-width: 375px) and (min-device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait) {
	#footer:after {}

	#ft_fixed {
		bottom: calc(env(safe-area-inset-bottom) - 0px);
	}

	#pagetop {}
}


/* iPhone XR */

@media only screen and (min-device-width: 414px) and (min-device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait) {
	#footer:after {}

	#ft_fixed {
		bottom: calc(env(safe-area-inset-bottom) - 0px);
	}

	#pagetop {}
}


/* iPhone 11 */

@media only screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2),
only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3),
only screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) {
	#footer:after {}

	#ft_fixed {
		bottom: calc(env(safe-area-inset-bottom) - 0px);
	}

	#pagetop {}
}

@media only screen and (min-width: 500px) {
	#footer:after {}
}


/*-----------------------------------------------------------
■ 3 Footer
-----------------------------------------------------------*/
*:after,
*:before {
	pointer-events: none;
}

.img-parallax {
	clip: rect(0, auto, auto, 0);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}

.img-object {
	position: relative;
}

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

ol {
	list-style: decimal;
	margin-left: 20px;
}

.txt_center,
.txt-center {
	text-align: center;
}

/*=============================================
 * text vertical
 *=============================================*/
.bd_none {
	border: none !important;
}

/*================index==============*/
.txt-vertical {
	cursor: vertical-text;
	writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-moz-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	text-orientation: upright;
	word-wrap: break-word;
}

.txt-vertical .txt-latin {
	cursor: vertical-text;
	direction: rtl;
	writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-moz-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	text-orientation: sideways-right;
	-o-text-orientation: sideways-right;
	-ms-text-orientation: upright;
	-ms-text-orientation: sideways-right;
	-moz-text-orientation: sideways-right;
	-webkit-text-orientation: sideways-right;
}

@media screen and (min-width: 768px) {
	.txt-vertical1 {
		cursor: vertical-text;
		writing-mode: vertical-rl;
		-o-writing-mode: vertical-rl;
		-ms-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-moz-writing-mode: vertical-rl;
		-webkit-writing-mode: vertical-rl;
		text-orientation: upright;
		word-wrap: break-word;
	}

	.txt-vertical1 .txt-latin {
		cursor: vertical-text;
		direction: rtl;
		writing-mode: vertical-rl;
		-o-writing-mode: vertical-rl;
		-ms-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-moz-writing-mode: vertical-rl;
		-webkit-writing-mode: vertical-rl;
		text-orientation: sideways-right;
		-o-text-orientation: sideways-right;
		-ms-text-orientation: upright;
		-ms-text-orientation: sideways-right;
		-moz-text-orientation: sideways-right;
		-webkit-text-orientation: sideways-right;
	}

	.object-fit-cover-pc {
		position: relative;
	}

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

.d__flex {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

img {
	vertical-align: middle;
	height: auto;
}

#wrapper {
	padding-top: 0px !important;
}

@media screen and (min-width: 767px) {
	#wrapper {
		padding-top: 0px !important;
	}
}

body #wrapper {}

body #wrapper {
	position: relative;
	overflow: hidden;
}




.wrap {
	max-width: 948px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

#main {
	position: relative;
	z-index: 2;
}






@media (min-height: 1500px) {
	#main {
		min-height: 1237px;
	}
}




/*-----------------------------------------------------------
■ 3 Other Common Elements
-----------------------------------------------------------*/

/*--------------------------------------
	conversion section
--------------------------------------*/

.conversion {
	padding: 53px 0 61px;
	text-align: center;
	background: #ccc;
	background-size: cover;
}

.conversion .conversion__title {
	margin-bottom: 25px;
	font-size: 34px;
	letter-spacing: 0.15em;
	line-height: 1.6;
	color: #fff;
}

.conversion .conversion__text {
	margin-top: 30px;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 2;
	color: #fff;
}

.conversion .conversion__list {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

.conversion .conversion__list li+li {
	margin-left: 1%;
}


@media screen and (max-width: 767px) {

	.conversion .conversion__title {
		font-size: 28px;
	}

	.conversion .conversion__list {
		max-width: 535px;
		margin: 0 auto;
	}

	.conversion .conversion__list {
		-webkit-flex-direction: column;
		flex-direction: column;
	}

	.conversion .conversion__list li+li {
		margin-top: 10px;
		margin-left: 0%;
	}

}

/*-----------------------------------------------------------
■ 4 Elementor overwrite
-----------------------------------------------------------*/

.elementor-column-gap-default>.elementor-row>.elementor-column>.elementor-element-populated {
	padding: 0 !important;
}

.elementor img {
	width: auto !important;
}

.elementor-image-box-wrapper {
	display: block !important;
}

.elementor-widget-image-box .elementor-image-box-content {
	text-align: left !important;
}

.elementor-image-box-title {
	padding: 10px 20px;
	margin-bottom: 20px;
	overflow: hidden;
	font-size: 18px;
	line-height: 1.4;
	color: #fff;
	background: #3dc2b7;
}

.elementor-image-box-img {
	float: right;
	display: block !important;
	width: 30% !important;
	margin: 0 0 10px 20px !important;
	text-align: center;
	text-align: right;
}

.img_l .elementor-image-box-img {
	float: left;
	margin: 0 20px 10px 0 !important;
}

.auto_width .elementor-image-box-img {
	width: auto !important;
}

.elementor-widget-image .elementor-image>a,
.elementor-widget-image .elementor-image figure>a {
	display: inline-block !important;
}

.elementor-widget-image .elementor-image>a:hover img,
.elementor-widget-image .elementor-image figure>a:hover img {
	opacity: 0.8 !important;
}

.elementor-slideshow__header {
	width: calc(100% - 50px) !important;
	padding-left: 0em !important;
	padding-right: 0em !important;
}

.elementor-text-editor ul {
	list-style: inside;
}

@media screen and (max-width: 767px) {

	.elementor-image-box-img,
	.img_l .elementor-image-box-img {
		float: none;
		width: 100% !important;
		margin: 0 auto 20px !important;
		text-align: center;
	}

}


.home p {
	margin-bottom: 0;
}



.slick-dots {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	width: 100%;
}

.slick-dots li {
	width: 10px;
	height: 12px;
	margin: 0 10px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}

.slick-dots li button {
	width: 100%;
	height: 100%;
	line-height: 0;
	font-size: 0;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	background: #fff;
}

.slick-dots li.slick-active button {
	background: #07B2DC;
}

@media screen and (min-width: 768px) {
	.slick-dots {
		width: 100%;
	}

	.slick-dots li {
		width: 70px;
		height: 2px;
		margin: 0;
	}

	.slick-dots li button {
		line-height: 0;
		font-size: 0;
		background: #fff;
		border: none;
		border-radius: 0%;
	}
}







.elementor-section.elementor-section-boxed>.elementor-container {
	max-width: 100% !important;
}

.elementor-column-gap-default>.elementor-column>.elementor-element-populated {
	padding: 0;
}

/*TOP*/

.ob-img {
	background-size: cover;
	background-position: center center;
	position: relative;
}

.ob-img img {
	-o-object-fit: cover;
	object-fit: cover;
	width: 100% !important;
	height: 100% !important;
}

@media screen and (min-width: 768px) {
	.ob-img img {
		position: absolute;
		top: 0px;
		left: 0px;
		right: 0px;
		bottom: 0px;
	}
}


.contactFrame {
	position: relative;
	z-index: 2;
	padding: 100px 0 72px;
}

.contactFrame::before {
	content: "";
	background: url("./img/top/contact_bg.png") no-repeat top center;
	background-size: cover;
	height: 372px;
	width: 100%;
	position: absolute;
	top: 9px;
	left: 0;
	right: 0;
	z-index: -1;
}

.contactFrame .wrap {
	position: relative;
	z-index: 2;
}

.contactFrame h2 {
	font-size: 34px;
	font-weight: 500;
	text-align: center;
	color: #fff;
	margin-bottom: 47px;
	letter-spacing: 2px;
}

.contactFrame .deco-1 {
	position: absolute;
	z-index: 3;
	width: 105px;
	top: -102px;
	left: 56px;
}

.contactFrame .deco-2 {
	position: absolute;
	right: 67px;
	top: -23px;
	width: 107px;
	z-index: 3;
}

.contactFrame .contactFrame__content {
	position: relative;
	z-index: 2;
}

.contactFrame .contactFrame__content ul {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

.contactFrame .contactFrame__content ul li {
	width: 460px;
}

.contactFrame .contactFrame__content ul a {
	background-color: #fff;
	position: relative;
	display: block;
	width: 100%;
	line-height: 1;
}

.contactFrame .contactFrame__content ul .contact__mail a {
	padding: 34px 0;
	transition: all 0.3s ease;
}

.contactFrame .contactFrame__content ul .contact__mail a:hover {
	opacity: 0.6;
}

.contactFrame .contactFrame__content ul .contact__mail a::before {
	content: "";
	background: url("./img/top/icon_mail02.png") no-repeat center;
	background-size: 100% auto;
	width: 56px;
	height: 56px;
	position: absolute;
	top: 50%;
	left: 36px;
	margin-top: -28px;
}

.contactFrame .contactFrame__content ul .contact__mail a::after {
	content: "";
	background: url("./img/top/icon_square.png") no-repeat center;
	background-size: 100% auto;
	width: 13px;
	height: 13px;
	position: absolute;
	bottom: 11px;
	right: 10px;
}

.contactFrame .contactFrame__content ul .contact__mail dl {
	text-align: center;
	padding-left: 73px;
	letter-spacing: 2px;
}

.contactFrame .contactFrame__content ul .contact__mail dl dt {
	font-size: 29px;
	font-weight: 500;
	margin-bottom: 16px;
}

.contactFrame .contactFrame__content ul .contact__mail dl dd {
	font-size: 15px;
	font-weight: 500;
}

.contactFrame .contactFrame__content ul .contact__tel a {
	margin-bottom: 0;
	padding: 26px 0 36px;
}

.contactFrame .contactFrame__content ul .contact__tel a .ttl {
	font-size: 41px;
	padding-left: 132px;
	letter-spacing: 3px;
	margin-bottom: 12px;
}

.contactFrame .contactFrame__content ul .contact__tel a .ttl::before {
	content: "";
	background: url("./img/top/icon_tel02.png") no-repeat center;
	background-size: 100% auto;
	position: absolute;
	width: 56px;
	height: 56px;
	top: 36px;
	left: 37px;
}

.contactFrame .contactFrame__content ul .contact__tel a .text {
	padding-left: 65px;
	text-align: center;
	font-weight: 500;
	font-size: 15px;
	letter-spacing: 0px;
}

@media screen and (min-width: 768px) and (max-width: 1299px) {

	.contactFrame {
		padding: 60px 20px 40px;
	}

	.contactFrame::before {
		height: 100%;
		width: 100%;
		top: 9px;
		left: 0;
	}



	.contactFrame h2 {
		font-size: 32px;
		margin-bottom: 30px;
		letter-spacing: 2px;
		line-height: 1.5;
	}

	.contactFrame h2 br {
		display: block;
	}

	.contactFrame .deco-1 {
		width: 72px;
		top: -40px;
		left: 0;
	}

	.contactFrame .deco-2 {
		right: 0;
		width: 83px;
		top: 20px;
	}


	.contactFrame .contactFrame__content ul {
		display: flex;
		justify-content: space-between;
		gap: 20px;
	}

	.contactFrame .contactFrame__content ul li {
		width: 50%;
	}

	.contactFrame .contactFrame__content ul a {}

	.contactFrame .contactFrame__content ul .contact__mail a {
		padding: 25px 0;
	}


	.contactFrame .contactFrame__content ul .contact__mail a::before {
		width: 38px;
		height: 38px;
		position: absolute;
		top: 50%;
		left: 11px;
		margin-top: -18px;
	}

	.contactFrame .contactFrame__content ul .contact__mail a::after {
		content: "";
		background: url("./img/top/icon_square.png") no-repeat center;
		background-size: 100% auto;
		width: 13px;
		height: 13px;
		position: absolute;
		bottom: 11px;
		right: 10px;
	}

	.contactFrame .contactFrame__content ul .contact__mail dl {
		padding-left: 35px;
		letter-spacing: 1px;
	}

	.contactFrame .contactFrame__content ul .contact__mail dl dt {
		font-size: 21px;
		margin-bottom: 11px;
	}

	.contactFrame .contactFrame__content ul .contact__mail dl dd {
		font-size: 14px;
	}

	.contactFrame .contactFrame__content ul .contact__tel a {
		margin-bottom: 0;
		padding: 19px 0 21px;
	}

	.contactFrame .contactFrame__content ul .contact__tel a .ttl {
		font-size: 30px;
		padding-left: 64px;
		letter-spacing: 3px;
		margin-bottom: 12px;
	}

	.contactFrame .contactFrame__content ul .contact__tel a .ttl::before {
		width: 38px;
		height: 38px;
		top: 16px;
		left: 17px;
	}

	.contactFrame .contactFrame__content ul .contact__tel a .text {
		padding-left: 12px;
		font-size: 14px;
	}

}

@media screen and (min-width: 768px) and (max-width: 999px) {
	.contactFrame .contactFrame__content ul .contact__tel a .text {
		padding-left: 12px;
		font-size: 11px;
	}

	.contactFrame .contactFrame__content ul .contact__mail dl dt {
		font-size: 19px;
	}

	.contactFrame .contactFrame__content ul .contact__tel a .ttl {
		font-size: 26px;
		padding-left: 26px;
		text-align: center;
	}

	.contactFrame .contactFrame__content ul .contact__mail a {
		padding: 24px 0;
	}

	.contactFrame .contactFrame__content ul .contact__mail dl dd {
		font-size: 11px;
	}
}


@media screen and (min-width: 1000px) and (max-width: 1299px) {
	.contactFrame .contactFrame__content ul .contact__tel a .ttl {
		padding-left: 23px;
		text-align: center;
	}

	.contactFrame .contactFrame__content ul .contact__tel a .ttl::before {
		top: 50%;
		left: 30px;
		transform: translateY(-50%);
	}

	.contactFrame .contactFrame__content ul .contact__mail a::before {
		left: 30px;
	}
}


@media screen and (max-width: 767px) {

	.contactFrame {
		padding: 77px 0 28px;
	}

	.header_menu .contactFrame {
		padding-bottom: 15vw;
	}

	.contactFrame::before {
		height: auto;
		top: 19px;
		background: url("./img/top/contact_bg_sp.png") no-repeat top center;
		background-size: cover;
		bottom: 0;
	}



	.contactFrame h2 {
		font-size: 25px;
		line-height: 1.3;
		margin-bottom: 17px;
		letter-spacing: 0.05em;
	}

	.contactFrame .deco-1 {
		width: 55px;
		top: -95px;
		left: 40px;
	}

	.contactFrame .deco-2 {
		right: 52px;
		top: -37px;
		width: 56px;
		line-height: 1;
	}

	.contactFrame .contactFrame__content ul {
		gap: 7px;
		margin-left: 8vw;
		margin-right: 8vw;
		flex-wrap: wrap;
	}

	.contactFrame .contactFrame__content ul li {
		width: 100%;
	}

	.contactFrame .contactFrame__content ul .contact__mail a {
		padding: 23px 0;
	}

	.contactFrame .contactFrame__content ul .contact__mail a::before {
		width: 38px;
		height: 38px;
		left: 24px;
		margin-top: -19px;
	}

	.contactFrame .contactFrame__content ul .contact__mail a::after {
		width: 9px;
		height: 9px;
		bottom: 11px;
		right: 8px;
	}

	.contactFrame .contactFrame__content ul .contact__mail dl {
		padding-left: 42px;
		letter-spacing: 1px;
	}

	.contactFrame .contactFrame__content ul .contact__mail dl dt {
		font-size: 22px;
		margin-bottom: 10px;
	}

	.contactFrame .contactFrame__content ul .contact__mail dl dd {
		font-size: 13px;
	}

	.contactFrame .contactFrame__content ul .contact__tel a {
		padding: 18px 0 19px;
	}

	.contactFrame .contactFrame__content ul .contact__tel a .ttl {
		font-size: 30px;
		padding-left: 33px;
		letter-spacing: 0.08em;
		margin-bottom: 10px !important;
		text-align: center;
	}

	.contactFrame .contactFrame__content ul .contact__tel a .ttl::before {
		width: 38px;
		height: 38px;
		top: 15px;
		left: 25px;
	}

	.contactFrame .contactFrame__content ul .contact__tel a .text {
		padding-left: 4px;
		font-size: 14px;
	}
}

@media screen and (max-width: 345px) {

	.contactFrame .deco-1 {
		left: 20px;
	}

	.contactFrame .deco-2 {
		right: 20px;
	}

	.contactFrame .contactFrame__content ul .contact__tel a .ttl::before,
	.contactFrame .contactFrame__content ul .contact__mail a::before {
		left: 8px;
		width: 30px;
		height: 30px;
	}

	.contactFrame .contactFrame__content ul .contact__tel a .ttl {
		font-size: 27px;
		padding-left: 16px;
		margin-bottom: 7px;
	}

	.contactFrame .contactFrame__content ul .contact__mail dl {
		padding-left: 30px;
	}

	.contactFrame .contactFrame__content ul .contact__mail dl dd,
	.contactFrame .contactFrame__content ul .contact__tel a .text {
		font-size: 12px;
	}

	.contactFrame .contactFrame__content ul .contact__mail a {
		padding: 15px 0;
	}

	.contactFrame .contactFrame__content ul .contact__tel a {
		padding: 13px 0 16px;
	}
}


#footer {
	background-color: #FFFFFF;
	padding: 63px 0 0;
}

#footer .set1 {
	padding-bottom: 95px;
}

#footer .set1 .wrap {
	display: flex;
	max-width: 928px;
}

#footer .footer__logo {
	width: 127px;
	margin-right: 91px;
}

#footer .footer__info {
	padding-top: 5px;
	width: 402px;
}

#footer .footer__info dl {
	display: flex;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0;
}

#footer .footer__info dl dt {
	font-weight: 700;
	width: 82px;
}

#footer .footer__info dl+dl {
	margin-top: 0;
}

#footer .footer__menu {
	width: 160px;
}

#footer .footer__menu p {
	color: var(--color-primary);
	font-size: 24px;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 20px;
}

#footer .footer__menu ul li a {
	display: block;
	position: relative;
	font-size: 14px;
	transition: all 0.4s ease;
	padding-left: 15px;
	line-height: 1.9;
}

#footer .footer__menu ul li a::before {
	content: "";
	background: url("./img/top/arow01.png") no-repeat center;
	background-size: 100% auto;
	width: 5px;
	height: 8px;
	position: absolute;
	top: 11px;
	left: 3px;
}

#footer .footer__menu ul li a:hover {
	text-decoration-line: underline!important;
	text-underline-offset: 3px;
}

#footer .footer__menu ul li+li {
	margin-top: 5px;
}

#footer .set2 {
	background: #A19C8A;
	padding: 14px 0;
	color: #fff;
	font-size: 12px;
	line-height: 1;
}

#footer .set2 .wrap {
	display: flex;
	justify-content: space-between;
	padding: 0 0 0 15px;
	letter-spacing: 0;
}

#footer .set2 .sitemap a {
	color: #fff;
}

#footer .set2 .sitemap a:hover {
	text-decoration-line: underline!important;
	text-underline-offset: 3px;
}

#footer .set2 address {
	text-align: right;
}

@media screen and (min-width: 768px) and (max-width: 1299px) {

	#footer {
		padding: 63px 0 0;
	}

	#footer .set1 {
		padding-bottom: 48px;
		padding-right: 20px;
	}

	#footer .set1 .wrap {
		gap: 20px;
		justify-content: space-between;
	}

	#footer .footer__logo {
		width: 17%;
		margin-right: 0;
		max-width: 127px;
	}

	#footer .footer__info {
		padding-top: 5px;
		width: 295px;
	}

	#footer .footer__info dl {
		font-size: 14px;
	}

	#footer .footer__info dl dt {
		width: 76px;
	}



	#footer .footer__menu {
		width: auto;
	}

	#footer .footer__menu p {
		font-size: 24px;
		margin-bottom: 20px;
	}

	#footer .footer__menu ul li a {
		font-size: 14px;
		padding-left: 15px;
		line-height: 1.9;
	}

	#footer .footer__menu ul li a::before {
		width: 5px;
		height: 8px;
		position: absolute;
		top: 11px;
		left: 3px;
	}


	#footer .footer__menu ul li+li {
		margin-top: 5px;
	}

	#footer .set2 {
		padding: 14px 20px;
	}

	#footer .set2 .wrap {

		padding: 0 0 0 15px;


	}

	.bnr__top {
		bottom: 50px;
		right: 12px;
		width: 40px;
		height: 40px;

	}
}


@media screen and (max-width: 767px) {
	#footer {
		padding: 10vw 0 0;
	}

	#footer .set1 {
		padding-bottom: 12vw;
		padding-left: 11vw;
		padding-right: 11vw;
	}

	#footer .set1 .wrap {
		display: block;
	}

	#footer .footer__logo {
		width: 106px;
		margin: 0 auto 11vw;
	}

	#footer .footer__info {
		padding-top: 0;
		width: 100%;
		margin-bottom: 8vw;
	}

	#footer .footer__info dl dt {
		width: 80px;
	}

	#footer .footer__menu {
		width: 100%;
	}

	#footer .footer__menu p {
		margin-bottom: 20px;
	}

	#footer .set2 {
		padding: 26px 5vw 22vw;
	}

	#footer .set2 .wrap {
		padding: 0 0 0 15px;
	}
}

.bnr__top {
	position: fixed;
	bottom: 52px;
	right: 20px;
	z-index: 999;
	width: 50px;
	height: 50px;
	opacity: 0;
	visibility: hidden;
	cursor: pointer;
	transition: all .3s ease;
}
.bnr__top:hover {
	opacity: 0.6;
}
.has-nav .bnr__top {
	opacity: 1;
	visibility: visible;
}

@media screen and (max-width: 767px) {
	.bnr__top {
		display: none;
	}
.bnr__top:hover {
	opacity:1;
}
}

#ft-fixed {
	position: fixed;
	bottom: 10px;
	left: 0;
	right: 0;
	z-index: 996;
	display: none;
}

#ft-fixed .ftbtn-fix-shared {
	display: flex;
	justify-content: space-between;
	gap: 5px;
	padding-left: 5px;
	padding-right: 5px;
}

@media screen and (max-width: 767px) {
	#ft-fixed {
		display: block;
	}
}

.header__fixed-contact,
.header__fixed-tel {
	width: 204px;
}

.header__fixed-contact a,
.header__fixed-tel a {
	line-height: 1;
	background: #FF995E;
	border-radius: 200px;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 48px;
	position: relative;
	transition: all 0.4s ease;
}

.header__fixed-contact a::before,
.header__fixed-tel a::before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.header__fixed-tel a {
	font-size: 20px;
	padding-left: 27px;
	letter-spacing: 2px;
}

.header__fixed-tel a::before {
	background: url("./img/top/icon_tel01.png") no-repeat;
	background-size: 100% auto;
	width: 22px;
	height: 22px;
	left: 20px;
}

.header__fixed-contact a {
	font-size: 14px;
	padding-left: 10px;
}

.header__fixed-contact a::before {
	background: url("./img/top/icon_mail01.png") no-repeat;
	background-size: 100% auto;
	width: 17px;
	height: 17px;
	left: 17px;
}

.header__fixed-contact a::after {
	content: "";
	background: url("./img/top/icon_square.png") no-repeat;
	background-size: 100% auto;
	position: absolute;
	width: 6px;
	height: 6px;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	filter: brightness(0) invert(1);
}

.header__fixed-contact a:hover {
	opacity: 0.6;
}

.header__fixed {
	position: fixed;
	top: 20px;
	right: 21px;
	z-index: 12;
	display: flex;
	gap: 9px;
}

@media screen and (max-width: 767px) {
	.header__fixed {
		display: none;
	}
}

.header__nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 155px;
	height: 100%;
	background-color: #fff;
	z-index: 234;
}

.header__nav .inside {
	padding: 27px 0 0;
}

.header__nav .logo {
	width: 108px;
	margin: 0 auto 0px;
	padding-bottom: 37px;
}

.header__nav .contactFrame {
	display: none;
}

@media screen and (max-width: 767px) {
	.header__nav {
		position: relative;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
		background-color: transparent;
	}

	.header__nav .inside {
		padding: 0;
	}

	.header__nav .logo {
		display: none;
	}

	.header__nav .contactFrame {
		display: block;
	}
}

@media screen and (max-width: 767px) {
	#header .logo {
		width: 245px;
		position: fixed;
		top: 14px;
		left: 18px;
		z-index: 999;
	}
}

@media screen and (max-width: 360px) {
	#header .logo {
		width: 215px;
		top: 17px;
		left: 15px;
	}
}



@media screen and (min-width: 768px) and (max-height: 700px) {
	.header__nav .inside {
		padding: 14px 0 0;
	}

	.header__nav .logo {
		width: 80px;
		padding-bottom: 17px;
	}
}

a {
	text-decoration: none!important;
}