@charset "UTF-8";

/* reset 
========================================== */

* {
-webkit-box-sizing:border-box;
box-sizing:border-box
}
:before {
-webkit-box-sizing:border-box;
box-sizing:border-box
}
:after {
-webkit-box-sizing:border-box;
box-sizing:border-box
}
applet,
body,
caption,
dd,
div,
dl,
dt,
form,
h1,
h2,
h3,
h4,
h5,
h6,
html,
iframe,
label,
li,
object,
ol,
p,
span,
table,
tbody,
td,
tfoot,
th,
thead,
tr,
ul {
margin:0;
padding:0;
border:0;
outline:0;
font-size:16px;
vertical-align:baseline;
font-weight:normal
}
a,
h1,
h2,
h3,
h4,
h5,
h6,
li,
p,
td,
th {
-webkit-font-smoothing:antialiased
}
a {
text-decoration:none
}
img {
pointer-events:none
}
ol,
ul {
list-style:none
}
table {
border-collapse:collapse;
border-spacing:0
}
input[type=button],
input[type=email],
input[type=password],
input[type=radio],
input[type=submit],
input[type=tel],
input[type=text],
select,
textarea {
border-radius:0;
-webkit-box-sizing:content-box;
-webkit-appearance:button;
border:none;
-webkit-box-sizing:border-box;
box-sizing:border-box;
/*cursor:pointer;*/
}
input[type=button]::-webkit-search-decoration,
input[type=email]::-webkit-search-decoration,
input[type=password]::-webkit-search-decoration,
input[type=radio]::-webkit-search-decoration,
input[type=submit]::-webkit-search-decoration,
input[type=tel]::-webkit-search-decoration,
input[type=text]::-webkit-search-decoration,
select::-webkit-search-decoration,
textarea::-webkit-search-decoration {
display:none
}
input[type=button]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=radio]:focus,
input[type=submit]:focus,
input[type=tel]:focus,
input[type=text]:focus,
select:focus,
textarea:focus {
outline-offset:-2px;
outline:none
}
select {
-webkit-appearance:none;
-moz-appearance:none;
appearance:none
}
select::-ms-expand {
display:none
}
button {
background-color:transparent;
border:none;
cursor:pointer;
outline:none;
padding:0;
-webkit-appearance:none;
-moz-appearance:none;
appearance:none
}
* {
font-family:"Noto Sans JP",sans-serif;
font-weight:400;
font-style:normal;
/*color:#30332e;*/
letter-spacing:0;
line-height:1
}
html {
scroll-behavior:smooth
}
body {
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
background-color:#fff;
width:max(100%,1280px)
}

a,
img {
display:block;
color:#30332e;
}
.fadein {
opacity:0;
-webkit-transition:opacity 0.5s;
transition:opacity 0.5s
}
.fadein.init {
opacity:1
}
.spVisible {
display:none
}

.spInvisible {
display:block
}


/* PC・SP切り替え
======================================= */

.sp_only,
.img_sp,
.br_sp,
.sp_br {
	display:none !important;
}


/* body
========================================== */

body {
	color: #000;
	margin: 80px auto 0;
	padding: 0 0 0 0;
	position:relative;
	overflow-x: hidden;
	text-align:justify;
	font-style: normal;
	font-weight: normal; /* 400 */
	font-feature-settings: "palt"; /* 自動カーニング */
}


/* font
========================================== */

.jp,
body {
	font-family: "Noto Sans JP", sans-serif;
}
.serif {
	font-family: "Noto Serif JP", serif;
}
.en {
	font-family: Poppins, sans-serif;
}
.en_serif {
	font-family: "minion-pro-display", serif;
}
.en_lato {
	font-family: Lato;
}

.palt_none{
	font-feature-settings: none; /* 自動カーニング解除 */
}

/* コンテンツ共通
========================================== */

a {text-decoration:none;}
a:hover {text-decoration:underline;}

img,
video {
max-width: auto;
height: auto;
}


/* ボタン共通
========================================== */


/* pagenavi
========================================== */

.wp-pagenavi{
	margin: 0 auto;
	padding: 0 0;
	text-align:center;
	z-index:200px;
}

.wp-pagenavi .pages{
	display:none;
}

.wp-pagenavi .previouspostslink{
	margin-right: 20px;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing:1px;
	color:#282828;
}

.wp-pagenavi .page-numbers,
.wp-pagenavi .page{
	margin: 0 15px;
	padding: 0 0;
	position:relative;
	text-align:center;
	display:inline-block;
	vertical-align:middle;
	background: #ededed;
	width: 32px;
	height: 32px;
	color: #444;
	font-size: 15px;
	line-height: 32px;
	letter-spacing:0px;
	font-style: normal;
	display:inline-block;
	vertical-align:middle;
	border:1px solid #ededed;
	border-bottom:0px;
	text-decoration:none;
}
.wp-pagenavi .page:hover,
.wp-pagenavi .current{
	margin: 0 15px;
	padding: 0 0;
	background: #3B4043;
	width: 32px;
	height: 32px;
	font-size: 15px;
	text-align: center;
	line-height: 32px;
	font-weight:normal;
	letter-spacing:0px;
	font-style: normal;
	display:inline-block;
	vertical-align:middle;
	background-color:#fff;
	border:1px solid #888;
	border-bottom:0px;
	text-decoration:none;
}

.wp-pagenavi .nextpostslink{
	margin-left: 20px;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing:1px;
	color:#282828;
}

ul.page_nav{
	margin: 0 0 0px;
	padding: 0 0;
	position:relative;
	text-align:center;
	letter-spacing:-.4em;
}

ul.page_nav li{
	margin: 0 20px;
	padding: 0 0;
	position:relative;
	text-align:center;
	display:inline-block;
	vertical-align:top;
	letter-spacing:normal;
}

ul.page_nav li a{
	margin: 0 0;
	padding: 6px 10px;
	font-size: 15px;
	letter-spacing: normal;
	line-height: 2.0;
	text-align: center;
	color: #222;
	background-color:#eee;
	border:1px solid #eee;
}

ul.page_nav li a:hover{
	background-color:#fff;
	border:1px solid #888;
	text-decoration:none;
}

ul.page_nav li a.stay{
	background-color:#fff;
	border:1px solid #888;
}


/* header
========================================== */


header {
position:fixed;
top:0;
left:0;
width:100%;
z-index:99
}
header.open nav {
left:0
}
header.open nav .main_menu .background {
bottom:-20px
}
header.open .header_wrap .menu_btn_wrap .hamburger_wrap .hamburger div:first-child {
-webkit-transform:rotate(45deg) translate(8px,6px);
transform:rotate(45deg) translate(8px,6px)
}

header.open .header_wrap .menu_btn_wrap .hamburger_wrap .hamburger div:nth-child(2) {
opacity:0
}
header.open .header_wrap .menu_btn_wrap .hamburger_wrap .hamburger div:last-child {
-webkit-transform:rotate(-45deg) translate(7px,-5px);
transform:rotate(-45deg) translate(7px,-5px)
}

header.tel_open .tel_nav {
left:0
}
header.tel_open .tel_nav .main_menu .background {
bottom:-20px
}
header.tel_open .header_wrap .menu_btn_wrap .tel_wrap .tel {
opacity:0
}
header.tel_open .header_wrap .menu_btn_wrap .tel_wrap .close {
opacity:1
}
header .header_wrap {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
position:relative;
padding-left:50px;
padding-right:45px;
width:100%;
height:80px;
background-color:#ffffff;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center;
-webkit-box-shadow:0 3px 6px rgba(0,0,0,0.2);
box-shadow:0 3px 6px rgba(0,0,0,0.2)
}

header .header_wrap .logo {
width:234px
}

header .header_wrap .logo img {
width:234px
}
header .header_wrap .squirrel {
position:absolute;
margin-left:auto;
margin-right:auto;
top:-125px;
left:0;
right:0;
width:107px;
height:112px;
-webkit-transition:top 0.5s;
transition:top 0.5s
}

header .header_wrap .squirrel.init {
top:10px;
}
header .header_wrap .squirrel img {
width:100%
}
header .header_wrap .menu_btn_wrap {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
width:135px;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center
}

header .header_wrap .menu_btn_wrap .instagram_wrap {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
position:relative;
width:40px;
height:40px;
-webkit-box-pack:center;
-ms-flex-pack:center;
justify-content:center;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center;
cursor:pointer
}

header .header_wrap .menu_btn_wrap .instagram_wrap .instagram {
width:28px;
height:28px;
-webkit-transition:opacity 0.3s;
transition:opacity 0.3s
}

header .header_wrap .menu_btn_wrap .instagram_wrap .instagram img {
width:100%;
height:100%;
-o-object-fit:cover;
object-fit:cover;
pointer-events:auto
}
header .header_wrap .menu_btn_wrap .tel_wrap {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
position:relative;
width:40px;
height:40px;
-webkit-box-pack:center;
-ms-flex-pack:center;
justify-content:center;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center;
cursor:pointer
}

header .header_wrap .menu_btn_wrap .tel_wrap .tel {
width:28px;
height:28px;
-webkit-transition:opacity 0.3s;
transition:opacity 0.3s
}

header .header_wrap .menu_btn_wrap .tel_wrap .tel img {
width:100%;
height:100%;
-o-object-fit:cover;
object-fit:cover;
pointer-events:auto
}
header .header_wrap .menu_btn_wrap .tel_wrap .close {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
position:absolute;
margin:auto;
top:0;
left:0;
right:0;
bottom:0;
width:30px;
height:20px;
-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-direction:column;
flex-direction:column;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center;
-webkit-transition:opacity 0.3s;
transition:opacity 0.3s;
opacity:0
}

header .header_wrap .menu_btn_wrap .tel_wrap .close div {
width:100%;
height:2px;
background-color:#30332e
}
header .header_wrap .menu_btn_wrap .tel_wrap .close div:first-child {
-webkit-transform:rotate(45deg) translate(8px,6px);
transform:rotate(45deg) translate(8px,6px)
}

header .header_wrap .menu_btn_wrap .tel_wrap .close div:last-child {
-webkit-transform:rotate(-45deg) translate(7px,-5px);
transform:rotate(-45deg) translate(7px,-5px)
}

header .header_wrap .menu_btn_wrap .hamburger_wrap {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
width:40px;
height:40px;
-webkit-box-pack:center;
-ms-flex-pack:center;
justify-content:center;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center;
cursor:pointer
}

header .header_wrap .menu_btn_wrap .hamburger_wrap .hamburger {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
width:30px;
height:20px;
-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-direction:column;
flex-direction:column;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center
}

header .header_wrap .menu_btn_wrap .hamburger_wrap .hamburger div {
width:100%;
height:2px;
background-color:#30332e;
-webkit-transition:opacity 0.3s,-webkit-transform 0.3s;
transition:opacity 0.3s,-webkit-transform 0.3s;
transition:transform 0.3s,opacity 0.3s;
transition:transform 0.3s,opacity 0.3s,-webkit-transform 0.3s
}
header nav {
position:absolute;
padding:40px 20px 20px 32px;
top:0;
left:-320px;
width:320px;
height:100vh;
background-color:#f4f4f4;
-webkit-transition:left 0.3s;
transition:left 0.3s
}
header nav.active .nav_wrap .plus:after {
opacity:0
}
header nav .main_menu {
width:100%;
height:100%;
overflow-y:scroll
}
header nav .main_menu .nav_wrap .link {
position:relative
}
header nav .main_menu .nav_wrap .link a {
font-size:15px;
font-family:"source-han-sans-jp-variable",sans-serif;
font-variation-settings:"wght" 500;
letter-spacing:0.05em;
line-height:40px;
cursor:pointer
}
header nav .main_menu .nav_wrap .link a:hover {
text-decoration:underline;
text-decoration-thickness:2px;
text-underline-offset:5px
}
header nav .main_menu .nav_wrap .link .plus {
position:absolute;
top:0;
right:0;
width:40px;
height:40px;
background-color:#ffffff;
cursor:pointer
}
header nav .main_menu .nav_wrap .link .plus:before {
content:"";
display:block;
position:absolute;
margin:auto;
top:0;
left:0;
right:0;
bottom:0;
width:18px;
height:2px;
background-color:#30332e
}
header nav .main_menu .nav_wrap .link .plus:after {
content:"";
display:block;
position:absolute;
margin:auto;
top:0;
left:0;
right:0;
bottom:0;
width:2px;
height:18px;
background-color:#30332e;
-webkit-transition:opacity 0.3s;
transition:opacity 0.3s
}
header nav .main_menu .nav_wrap .link .introduce {
display:none;
margin-top:10px;
margin-bottom:10px;
padding-left:10px
}
header nav .main_menu .nav_wrap .link .introduce a {
margin-top:15px;
font-size:14px;
font-family:"source-han-sans-jp-variable",sans-serif;
font-variation-settings:"wght" 500;
letter-spacing:0.05em;
line-height:1.2;
cursor:pointer
}
header nav .main_menu .nav_wrap .link .introduce a:first-child {
margin-top:0
}
header nav .main_menu .under_link {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
margin-top:30px;
padding-top:30px;
padding-bottom:30px;
width:228px;
border-top:solid 1px rgba(48,51,46,0.2);
border-bottom:solid 1px rgba(48,51,46,0.2);
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between;
-webkit-box-align:start;
-ms-flex-align:start;
align-items:flex-start
}
header nav .main_menu .under_link .block {
width:48%
}
header nav .main_menu .under_link .block a {
margin-top:20px;
font-size:12px;
font-family:"source-han-sans-jp-variable",sans-serif;
font-variation-settings:"wght" 400;
letter-spacing:0.05em;
line-height:1.2;
cursor:pointer
}
header nav .main_menu .under_link .block a:first-child {
margin-top:0
}
header nav .main_menu .under_link .block a:hover {
text-decoration:underline;
text-decoration-thickness:1px;
text-underline-offset:3px
}
header nav .main_menu .company_name {
margin-top:30px
}
header nav .main_menu .company_name img {
width:200px
}
header nav .main_menu .company_name p {
margin-top:10px;
font-size:10px;
font-family:"proxima-nova",sans-serif;
font-weight:500;
letter-spacing:0.05em
}
header nav .background {
position:absolute;
right:15px;
bottom:-110px;
width:110px;
height:auto;
-webkit-transition:bottom 1s;
transition:bottom 1s
}

header .tel_nav {
position:absolute;
padding:40px 20px 20px 32px;
top:0;
left:-320px;
width:320px;
height:100vh;
background-color:#f4f4f4;
-webkit-transition:left 0.3s;
transition:left 0.3s
}

header .tel_nav .main_menu {
width:100%;
height:100%;
overflow-y:scroll
}
header .tel_nav .main_menu .nav_wrap {
padding-bottom:30px;
width:228px;
border-bottom:solid 1px rgba(48,51,46,0.2)
}

header .tel_nav .main_menu .nav_wrap .link {
position:relative;
margin-top:20px
}
header .tel_nav .main_menu .nav_wrap .link:first-child {
margin-top:0
}
header .tel_nav .main_menu .nav_wrap .link p {
font-size:12px;
font-family:"source-han-sans-jp-variable",sans-serif;
font-variation-settings:"wght" 500;
letter-spacing:0.05em;
line-height:25px
}
header .tel_nav .main_menu .nav_wrap .link a {
font-size:16px;
font-family:"source-han-sans-jp-variable",sans-serif;
font-variation-settings:"wght" 500;
letter-spacing:0.05em;
line-height:25px;
cursor:pointer
}
header .tel_nav .main_menu .nav_wrap .link a:hover {
text-decoration:underline;
text-decoration-thickness:2px;
text-underline-offset:5px
}
header .tel_nav .main_menu .company_name {
margin-top:30px
}
header .tel_nav .main_menu .company_name img {
width:150px
}
header .tel_nav .main_menu .company_name p {
margin-top:10px;
font-size:10px;
font-family:"proxima-nova",sans-serif;
font-weight:500;
letter-spacing:0.05em
}
header .tel_nav .background {
position:absolute;
right:15px;
bottom:-110px;
width:110px;
height:auto;
-webkit-transition:bottom 0.5s;
transition:bottom 0.5s
}




/* globalnavi
========================================== */




/* footer
========================================== */




footer {

}

footer .footer_wrap {
padding-top:60px;
padding-bottom:0;
background-color:#fff;
}

footer .footer_wrap h2{
	margin: 0 auto 30px;
	padding: 0 0 0;
	position: relative;
	text-align:center;
font-weight: 700;
font-size: 22px;
line-height: 2.4;
}

footer .footer_wrap .footer_nav {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
margin-left:auto;
margin-right:auto;
margin-bottom:80px;
width:900px;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between;
-webkit-box-align:start;
-ms-flex-align:start;
align-items:flex-start;
-ms-flex-wrap:wrap;
flex-wrap:wrap
}

footer .footer_wrap .footer_nav .block {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
position:relative;
margin-bottom:20px;
width:286px;
height:120px;
-webkit-box-pack:center;
-ms-flex-pack:center;
justify-content:center;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center
}

footer .footer_wrap .footer_nav .block:nth-child(-n+3) {

}

footer .footer_wrap .footer_nav .block:last-child {

}

footer .footer_wrap .footer_nav .block .img_wrap {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:0
}
footer .footer_wrap .footer_nav .block .img_wrap img {
width:100%;
height:100%;
filter: brightness(50%);
}
footer .footer_wrap .footer_nav a:hover{
text-decoration:none;
}
footer .footer_wrap .footer_nav a:hover .img_wrap img {
width:100%;
height:100%;
filter: brightness(80%);
}
footer .footer_wrap .footer_nav .block .text {
position:relative;
z-index:1
}
footer .footer_wrap .footer_nav .block .text .p_1 {
font-size:12px;

color:#ffffff;
letter-spacing:0.05em;
text-align:center
}

footer .footer_wrap .footer_nav .block .text .p_2 {
margin-top:8px;
font-size:18px;
font-weight:600;
font-style:normal;
color:#ffffff;
letter-spacing:0.08em;
text-align:center
}

.copyright_wrap{
	margin: 0 auto;
	padding: 60px 0;
	position: relative;
	text-align:center;
	background-color:#e9eae7;
}

.copyright_inner{
	margin: 0 auto 20px;
	padding: 0 0;
	position: relative;
	text-align:center;
	display: flex;
	align-items:stretch;
	justify-content:center;
}

.copyright_inner h3{
	margin: 0 0;
	padding: 0 0;
	position: relative;
	text-align:center;
}
.copyright_inner h3 img{
	width:400px;
	height:auto;
}

.copyright_inner p{
	margin: 0 0;
	padding: 20px 50px 0 50px;
	position: relative;
	text-align:justify;
font-weight: 500;
font-size: 15px;
line-height: 1.8;
letter-spacing:0.05em;
}

.copyright_inner p a{
	margin: 0 0 0 0;
	padding: 5px 0;
	position: absolute;
	bottom:15px;
	right:50px;
	text-align:center;
font-weight: 500;
font-size: 15px;
line-height: 15px;
letter-spacing:0.05em;
color:#fff;
background-color:#555;
display:block;
width:95px;
}
.copyright_inner p a:hover{
	text-decoration:none;
}

ul.f_nav{
	margin: 0 0 0;
	padding: 25px 0 0;
	position: relative;
	text-align:justify;
display: flex;
align-items:stretch;
justify-content:space-between;
flex-wrap:wrap;
width:235px;
}

ul.f_nav li{
	margin: 0 0 15px;
	padding: 0;
	position: relative;
}

ul.f_nav li a{
	width:auto;
	margin: 0 0;
	padding: 0 0 ;
	display: block;
}

ul.f_nav li:nth-last-child(1) a,
ul.f_nav li:nth-last-child(2) a{
	width:auto;
	margin: 0 0;
	padding: 5px 12px ;
	display: block;

font-weight: 500;
font-size: 14px;
line-height: 14px;
letter-spacing:0.01em;
background-color:#fff;
}

ul.f_nav li a:hover{
text-decoration:none;
}

.copyright_wrap small{
	margin: 0 0;
	padding: 0 0 0 0;
	position: relative;
	text-align:center;
font-weight: 500;
font-size: 14px;
line-height: 14px;
letter-spacing:0.05em;
}
span.ERR {color:red;}