@import url('https://fonts.googleapis.com/css2?family=Baskervville:ital,wght@0,400..700;1,400..700&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Poppins:wght@400;500;600;700&display=swap');

/* ===========================
 1) Design Tokens
=========================== */
:root{

}


/* ===========================
 2) Minimal Reset
=========================== */
*,
*::before,
*::after{ box-sizing: border-box; }

html{ -webkit-text-size-adjust: 100%; }
html{scroll-behavior: smooth;}

body,div,dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,
p,blockquote,table,th,td {margin: 0; padding: 0;}
ul,dl,ol {text-indent: 0;}
li {list-style: none;}
table {border-collapse: collapse; border-spacing: 0; font-size: inherit;}
em{font-style:normal;}

body{
color: #282828;
margin: 0 auto;
padding: 0 0 0 0;
position:relative;
text-align:justify;
font-style: normal;
font-weight: normal; /* 400 */
line-height:1.75;
font-family: "Noto Sans JP", sans-serif;
/*font-feature-settings: "palt";自動カーニング */
text-rendering: optimizeLegibility;
overflow-x: hidden;
}

img, svg, video, canvas{
max-width: 100%;
height: auto;
display: block;
border: 0;
margin:0 auto;
}

a{
color: inherit;
/*text-decoration: underline;*/
text-underline-offset: .18em;
}

a:hover{ text-decoration-thickness: 2px; }

:focus{ outline: none; }
:focus-visible{
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}

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


/* ===========================
 3) Utilities
=========================== */

@media screen and (min-width: 768px) {
.sp{
display:none !important;
}
.mb_50{margin-bottom:50px!important;}
}
@media screen and (max-width: 767px) {
.pc{
display:none;
}
.sp_block{
display:block !important;
}
.mb_50{margin-bottom:30px!important;}
}

/* ===========================
 4) Layout / Components
=========================== */
/* PC用CSS */
@media screen and (min-width: 768px) {
/* Layout */

.container{
width: min(1140px, 100% - 40px);
margin-inline: auto;
position: relative;
}

.section{
margin: 0 0 50px;
padding: 0 0;
position:relative;
}

/* header */
header.site-header{
margin: 0 0;
padding: 0 0 0 0;
position:fixed;
top:0px;
left:0;
text-align:center;
height: 100px;
width: 100%;
z-index:100;
background-color: #fff;
}
.head_img_white header.site-header,
.index header.site-header,
.sp-opened header.site-header{
background-color: rgb(255 255 255 / 0%);
}
header h1{
position:absolute;
top:42px;
left:40px;
text-align:left;
}
header h1 img{
filter: invert(100%);
}
.sp-opened header h1 img{
filter: unset;
}
.head_img_white header h1 img,
.index header h1 img{
filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.5));
}
.btn_menu{
margin: 0 auto 0;
padding: 0 0 0 0;
position:fixed;
top:0px;
right:0;
width:100px;
height:100px;
text-align:center;
cursor: pointer;
background-color:#282828;
display: flex;
align-items:center;
justify-content:center;
z-index:100;
}
.btn_menu span img{
margin-bottom:10px;
display:inline-block;
}
.btn_menu span{
text-align:center;
font-family: "Baskervville", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
font-size: 13px;
line-height: 13px;
letter-spacing: 0.1em;
color: #fff;
}

/* h_nav */

.h_nav{
position:fixed;
top:35px;
right:140px;
}
.h_nav-list{
margin: 0 0;
padding: 0;
position:relative;
display: flex;
align-items:stretch;
justify-content:flex-start;
}
.h_nav-list li{
margin-left:25px;
}
.h_nav-list li a{
font-weight: bold;
font-size: 22px;
line-height: 22px;
letter-spacing: 0.0em;
color: #fff;
}
.h_nav-list li:hover{
transition : 0.3s;
transform: scale(1.3);
}
.h_nav-list li i{
filter: invert(100%);
}
.sp-opened .h_nav-list li i{
filter: unset;
}
.head_img_white .h_nav-list li i
.index .h_nav-list li i{
filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.5));
}
/* g_nav */
.g_nav{
margin: 0;
padding: 0;
position:relative;
}
/* fadeInPageアニメーション */
@keyframes fadeInPage {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@-webkit-keyframes fadeInPage {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

#drawernav{
position:fixed;
top:0px;
left:0;
width: 100%;
z-index: 99;
background: transparent;
backdrop-filter: blur(0px);
--webkit-backdrop-filter: blur(0px);
background-color: rgba(95, 90, 85, 1.0);
display:none;
}
#humberger{
padding: 0 0 0 0;
position:fixed;
top:0px;
right:0;
cursor:pointer;
background-color:#282828;
z-index:100;
display:none;
}
body.drawer-opened #humberger{
display:block;
}
body.drawer-opened .btn_menu{
display:none;
}

#overlay{
z-index:-1;
opacity: 0;
background: #000;
left: 0;
top: 0;
width: 100%;
height: 100%;
position: fixed;
display:none;
}

/* ドロワー開放時のスタイル */

body.drawer-opened #drawernav{
animation: fadeInPage 0.5s ease 0.5s 1 normal;
-webkit-animation: fadeInPage 0.5s ease 0.1s 1 normal;
animation-fill-mode: forwards;
opacity: 0;
display:block;
}
body.drawer-opened #overlay{}

.nav_wrap{
overflow-y: auto;
overflow-x: hidden;
margin:0 auto;
padding: 0 0;
zoom: 1;
position: relative;
-webkit-overflow-scrolling: touch;
width: min(1140px, 100% - 40px);
margin-inline: auto;
}
.nav_inner{
margin:0 auto;
padding: 180px 0 80px 0;
position: relative;
display: flex;
align-items:stretch;
justify-content:space-between;
border-bottom:1px solid #fff;
}

ul.g_nav-list{
margin: 0 2vw 0 0;
padding: 0 0 0 0;
position:relative;
text-align:left;
width:auto;
}
ul.g_nav-list li{
margin: 0 0 ;
padding: 0 0px;
position:relative;
text-align:left;
}
ul.g_nav-list li h4{
margin: 0 0 25px;
padding: 0 0px;
position:relative;
font-family: "Poppins", sans-serif;
font-weight: 400;
font-style: normal;
letter-spacing:0.05em;
font-size: 34px;
line-height: 34px;
text-align: left;
color: #fff;
}
ul.g_nav-list li a{
font-weight: 500;
font-size: 14px;
line-height: 2.2;
text-align: left;
color: #fff;
text-decoration:none;
letter-spacing:0.05em;
white-space:nowrap;
}
ul.g_nav-list li a:hover{
transition : 0.3s;
text-decoration: underline;
text-underline-offset: .4em;
text-decoration-thickness: 1px; 
}
ul.g_nav-list li.h4_list_open{
display:block!important;
}

ul.g_nav_box-list{
margin: 0 0;
padding: 0 0px;
position:relative;
text-align:left;
width:420px;
display: flex;
align-items:stretch;
justify-content:space-between;
flex-wrap:wrap;
}
ul.g_nav_box-list li{
margin: 0 0 15px;
padding: 0 0px;
position:relative;
text-align:left;
width:48%;
}
ul.g_nav_box-list li a{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:center;
max-width:200px;
height:170px;
background-color:#f0eee6;
display: flex;
align-items:center;
justify-content:center;
text-decoration:none;
}
ul.g_nav_box-list li a small{
margin-bottom:10px;
display: block;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
letter-spacing:0.05em;
font-size: 13px;
line-height: 13px;
color:#9b8c82;
text-align: center;
}
ul.g_nav_box-list li a em{
font-weight: 600;
font-style: normal;
letter-spacing:0.05em;
font-size: 18px;
line-height: 18px;
color:#282828;
text-align: center;
}
ul.g_nav_box-list li a::before {
content: "";
position: absolute;
top:10px;
right:10px;
width: 15px;
height: 15px;
background-image: url("../images/base/arr.svg");
background-repeat: no-repeat;
background-position: right top;
background-size:auto;
}
ul.g_nav_box-list li a:hover{
transition : 0.3s;
filter: brightness(80%);
}
ul.g_nav-sub_list{
margin: 10px 0 0;
padding: 0 0px;
position:relative;
text-align:right;
display: flex;
align-items:center;
justify-content:flex-end;
}
ul.g_nav-sub_list li{
margin: 0 0 0 20px;
padding: 0 0px;
position:relative;
text-align:right;
}
ul.g_nav-sub_list li a{
padding: 10px 0px;
font-weight: 500;
font-style: normal;
letter-spacing:0.05em;
font-size: 12px;
line-height: 12px;
color:#fff;
text-decoration:none;
}
ul.g_nav-sub_list li a:hover{
transition : 0.3s;
text-decoration: underline;
text-underline-offset: .4em;
text-decoration-thickness: 1px; 
}


/* h2h3h4 */
h2.primary_tit{
margin: 0 auto 50px;
padding: 0 0 0;
position: relative;
text-align:left;
}
h2.primary_tit em{
margin: 0 0;
padding: 0 10px 0 0;
position: relative;
text-align:center;
font-family: Poppins;
font-weight: 400;
font-size: 50px;
letter-spacing: 0.02em;
line-height: 1.5;
}
h2.primary_tit small{
text-align:left;
font-weight: 500;
font-size: 15px;
letter-spacing: 0.05em;
}
h2.primary_tit b{
margin: 10px 0 0;
padding: 0 0;
position: relative;
text-align:left;
font-weight: 400;
font-style: normal;
font-size: 16px;
line-height: 2.0;
letter-spacing: 0.05em;
display:block;
}

h3.h3_heading{
margin: 0 auto 40px;
padding: 0 0 0;
position: relative;
text-align:left;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: normal;
font-size: 25px;
letter-spacing: 0.05em;
line-height: 1.8;
}
h4.h4_heading{
margin: 0 auto 50px;
padding: 0 0 30px;
position: relative;
text-align:left;
font-weight: 400;
font-style: normal;
font-size: 30px;
line-height: 30px;
letter-spacing: 0.20em;
border-bottom:1px solid #ccc;
}
h4.h4_heading small{
font-size: 24px;
letter-spacing: 0.05em;
}


/* Buttons */
.btn_more{
margin: 0 0;
padding: 0 0 0 0;
position:relative;
text-align:right;
}
.btn_more a{
margin: 0 auto;
padding: 20px 0px 20px;
position:relative;
font-family: "Baskervville", serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: italic;
font-size: 12px;
letter-spacing: 0.05em;
line-height: 12px;
text-align: left;
color: #282828;
width: 200px;
border-bottom: 1px solid #aaa;
display:inline-block;
transition-duration: .2s;
box-sizing: border-box;
background-color: transparent;
text-decoration:none;
}
.btn_more a::before {
content: "";
position: absolute;
top:15px;
right:10px;
width: 15px;
height: 15px;
background-image: url("../images/base/arr.svg");
background-repeat: no-repeat;
background-position: right top;
background-size:auto;
transition-duration: .2s;
}
.btn_more a:hover::before {
transform: scale(1.7);
}
.btn_more a:hover{
transition : 0.3s;
border-bottom:1px solid #333;
}

/* contact_section */
section.contact_section{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:center;
}
ul.contact_section_list{
margin: 0 auto 0px;
padding: 0 0px;
position:relative;
text-align:center;
display: flex;
align-items:stretch;
justify-content:space-between;
}
ul.contact_section_list li{
margin: 0 0 0;
padding: 0 0px;
position:relative;
text-align:center;
width:33.3333%;
height:350px;
}
ul.contact_section_list li a{
height:350px;
text-decoration: none;
background-color:#f7f5f0;
display: flex;
align-items:center;
justify-content:center;
}
ul.contact_section_list li a small{
display: block;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
letter-spacing:0.05em;
font-size: 13px;
line-height: 13px;
color:#9b8c82;
text-align: center;
}
ul.contact_section_list li a em{
margin-top:20px;
margin-bottom:40px;
display: block;
font-weight: 500;
font-style: normal;
letter-spacing:0.05em;
font-size: 25px;
line-height: 25px;
color:#282828;
text-align: center;
position:relative;
}
ul.contact_section_list li a em::before {
content: "";
position: absolute;
top:5px;
right:-40px;
width: 20px;
height: 20px;
background-image: url("../images/base/arr.svg");
background-repeat: no-repeat;
background-position: right top;
background-size:20px auto;
transition-duration: .2s;
}
ul.contact_section_list li a:hover em::before {
transform: scale(1.7);
}
ul.contact_section_list li a b{
display: block;
font-weight: 400;
font-style: normal;
letter-spacing:0.05em;
font-size: 15px;
line-height: 2.0;
color:#282828;
text-align: center;
}
ul.contact_section_list li a:hover{
text-decoration: none;
}
ul.contact_section_list li:nth-child(2) a{
background-color:#f0eee6;
}

/* Footer */
.site-footer{
margin: 0 auto 0;
padding: 80px 0 80px;
position:relative;
background-color: #5f5a55;
}
.footer-inner{
margin: 0 auto 0;
padding: 0 0 80px;
position:relative;
display: flex;
align-items:stretch;
justify-content:space-between;
border-bottom:1px solid #fff;
}
.f_info_block{
margin: 0 0;
padding: 0 0px;
position:relative;
text-align:left;
}
.f_info_block h3{
margin: 0 0 70px;
padding: 0 0px;
position:relative;
text-align: left;
}
ul.f_company-list{
margin: 0 0;
padding: 0 0px;
position:relative;
text-align: left;
}
ul.f_company-list li{
margin: 0 0 20px;
padding: 0 0px;
position:relative;
font-weight: 400;
font-size: 16px;
letter-spacing: 0.05em;
line-height: 2.2;
text-align: left;
color: #fff;
white-space:nowrap;
}
ul.f_company-list li small{
margin: 0 0;
display:block;
font-size: 13px;
line-height: 13px;
}
ul.f_company-list li a{
font-weight: 400;
font-size: 16px;
letter-spacing: 0.05em;
line-height: 2.2;
text-align: left;
color: #fff;
text-decoration:none;
}
ul.f_company-list li a i{
font-size: 10px;
margin-left:5px;
line-height: 2.5;
vertical-align:top;
}
nav.f_nav{
margin: 0 0;
padding: 0 0px;
position:relative;
text-align:left;
display: flex;
align-items:stretch;
justify-content:flex-end;
}
ul.f_nav-list{
margin: 0 0 80px 5vw;
padding: 0 0px;
position:relative;
text-align:left;
}
ul.f_nav-list li{
margin: 0 0 ;
padding: 0 0px;
position:relative;
text-align:left;

}
ul.f_nav-list li h4{
margin: 0 0 20px;
padding: 0 0px;
position:relative;
text-align:left;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 17px;
line-height: 17px;
color: #fff;
letter-spacing:0.10em;
}
ul.f_nav-list li a{
font-weight: 400;
font-size: 14px;
line-height: 2.2;
text-align: left;
color: #fff;
letter-spacing:0.10em;
text-decoration:none;
display:block;
}
ul.f_nav-list li a:hover{
/*transition : 0.3s;*/
text-decoration: underline;
text-underline-offset: .4em;
text-decoration-thickness: 1px; 
}

ul.f_sns-list{
position:absolute;
bottom:0px;
right:10px;
text-align:right;
display: flex;
align-items:stretch;
justify-content:flex-end;
}
ul.f_sns-list li{
margin: 0 0 0 30px;
padding: 0 0px;
position:relative;
}
ul.f_sns-list li a{
font-weight: bold;
font-size: 24px;
line-height: 24px;
letter-spacing: 0.0em;
color: #fff;
}
ul.f_sns-list li:hover{
transition : 0.2s;
transform: scale(1.3);
}

.f_copy{
margin: 10px auto 0;
padding: 0 0px;

position:relative;
}
.f_copy small{
margin: 0 0;
padding: 0 0px;
position:absolute;
top:10px;
left:0;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 12px;
line-height: 12px;
text-align: left;
color: #fff;
letter-spacing: 0.10em;
}

ul.f_info_link{
margin: 0 0;
padding: 0 0px;
position:relative;
text-align:left;
display: flex;
align-items:stretch;
justify-content:flex-end;
}
ul.f_info_link li{
margin: 0 0 0 20px;
padding: 0 0px;
position:relative;
}
ul.f_info_link li a{
font-weight: 400;
font-size: 12px;
line-height: 2.0;
text-align: left;
color: #fff;
letter-spacing:0.10em;
text-decoration:none;
}
ul.f_info_link li a:hover{
/*transition : 0.3s;*/
text-decoration: underline;
text-underline-offset: .4em;
text-decoration-thickness: 1px; 
}

.fix_bnr_wrap{
position:fixed;
bottom:0px;
right:0px;
width:340px;
z-index:10;
}
.fix_bnr_wrap .fix_bnr{
position:absolute;
bottom:0;
right:0px;
}
.fix_bnr_wrap .fix_bnr a{
margin: 0 0;
padding: 0 0px;
position:relative;
font-weight: 400;
font-size: 16px;
line-height: 16px;
text-align: center;
color: #fff;
letter-spacing:0.10em;
background-color:#90bb20;
display:block;
cursor:pointer;
z-index:1;
text-decoration:none;
width:340px;
height:55px;
display: flex;
align-items:center;
justify-content:center;
}
.fix_bnr_wrap .fix_bnr a i{
font-size: 20px;
margin-right:5px;
}
.fix_bnr_wrap .fix_bnr a:hover{
filter: saturate(200%);
text-decoration: none;
}
.fix_bnr_box{
position:relative;
margin-bottom:55px;
}
.fix_bnr_trigger {
position:absolute;
top:-22px;
right:0;
width:30px;
height:22px;
cursor: pointer;
transform: rotate(180deg);
}
.fix_bnr_open {
position:relative;
display:none;
}
.fix_bnr_trigger.open_trigger{
transform: rotate(0deg);
}

.backtotop{
position:fixed;
bottom:10px;
right:10px;
display:none;
}
.backtotop a{
font-weight: normal;
font-size: 14px;
letter-spacing: 0.1em;
line-height: 14px;
text-align: center;
color: #f1f1f2;
text-decoration:none;
}
.backtotop a:hover{
text-decoration: underline;
text-underline-offset: .4em;
text-decoration-thickness: 2px; 
}

/* パンくずリスト */
section.pankuzu{
margin: 0 auto 50px;
padding: 0 0 0;
position: relative;
text-align:left;
}
ul.pankuzu_list{
margin: 0 0 0 0;
padding: 0 0;
position:relative;
text-align:left;
display: flex;
align-items:stretch;
justify-content:flex-start;
}
ul.pankuzu_list li{
margin: 0 0 0 30px;
padding: 0 0;
position:relative;
text-align:left;
font-weight: 400;
font-style: normal;
letter-spacing:0.01em;
font-size: 13px;
line-height: 13px;
text-align: left;
color: #999;
}
ul.pankuzu_list li:nth-child(1){
margin: 0 0 0 0;
}
ul.pankuzu_list li:nth-child(1):before{
display:none;
}
ul.pankuzu_list li:nth-child(1) a{
font-family: "Poppins", sans-serif;
}
ul.pankuzu_list li:before {
position: absolute;
top: calc(50% - 0px);
left: -20px;
width: 10px;
height: 1px;
content: '';
background-color: #999;
}
ul.pankuzu_list li a{
margin: 0 0 0 0;
padding: 0 0;
position:relative;
text-align:left;
font-weight: 500;
font-style: normal;
letter-spacing:0.01em;
font-size: 13px;
line-height: 13px;
text-align: left;
color: #282828;
text-decoration:none;
}
ul.pankuzu_list li a:hover{
transition : 0.3s;
text-decoration: underline;
text-underline-offset: .4em;
text-decoration-thickness: 1px; 
}

}

/* ===========================
 4) Layout / Components
=========================== */
/* スマホ用CSS */
@media screen and (max-width: 767px) {
/* Layout */

main#main{
overflow: hidden;
}
.container{
width: auto;
margin-inline: auto;
position: relative;
margin:0 30px;
}

.section{
margin: 0 0 30px;
padding: 0 0;
position:relative;
}

/* header */
header.site-header{
margin: 0 0;
padding: 0 0 0 0;
position:fixed;
top:0px;
left:0;
text-align:center;
height: 70px;
width: 100%;
z-index:100;
background-color: #fff;
}
.head_img_white header.site-header,
.index header.site-header{
background-color: rgb(255 255 255 / 0%);
}
header h1{
position:absolute;
top:30px;
left:25px;
text-align:left;
}
header h1 img{
width:150px;
filter: invert(100%);
}
.sp-opened header h1 img{
filter: unset;
}
.head_img_white header h1 img,
.index header h1 img{
filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.5));
}
.btn_menu{
margin: 0 auto 0;
padding: 0 0 0 0;
position:fixed;
top:0px;
right:0;
width:70px;
height:70px;
text-align:center;
cursor: pointer;
background-color:#282828;
display: flex;
align-items:center;
justify-content:center;
z-index:100;
}
.btn_menu img{
margin-bottom:7px;
display:inline-block;
width:35px;
}
.btn_menu span{
text-align:center;
font-family: "Baskervville", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
font-size: 10px;
line-height: 10px;
letter-spacing: 0.1em;
color: #fff;
}

/* h_nav */

header.site-header .h_nav{
display:none;
}

.h_nav{
margin: 0;
padding: 0;
position:relative;
}
.h_nav-list{
margin: 0 20px 20px;
padding: 0;
position:relative;
display: flex;
align-items:stretch;
justify-content:flex-start;
}
.h_nav-list li{
margin-right:20px;
}
.h_nav-list li a{
font-weight: bold;
font-size: 25px;
line-height: 25px;
letter-spacing: 0.0em;
color: #fff;
}

/* g_nav */

.g_nav{
margin: 0;
padding: 0;
position:relative;
}

/* fadeInPageアニメーション */
@keyframes fadeInPage {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@-webkit-keyframes fadeInPage {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

#drawernav{
position:fixed;
top:0px;
left:0;
width: 100%;
z-index: 99;
background: transparent;
backdrop-filter: blur(0px);
--webkit-backdrop-filter: blur(0px);
background-color: rgba(95, 90, 85, 1.0);
display:none;
}

#humberger{
padding: 0 0 0 0;
position:fixed;
top:0px;
right:0;
cursor:pointer;
background-color:#282828;
z-index:100;
display:none;
}
body.drawer-opened #humberger{
display:block;
width:70px;
}
body.drawer-opened .btn_menu{
display:none;
}
body.drawer-opened header.site-header{
background-color: rgba(95, 90, 85, 1.0);
}
#overlay{
z-index:-1;
opacity: 0;
background: #000;
left: 0;
top: 0;
width: 100%;
height: 100%;
position: fixed;
display:none;
}

/* ドロワー開放時のスタイル */

body.drawer-opened #drawernav{
animation: fadeInPage 0.5s ease 0.5s 1 normal;
-webkit-animation: fadeInPage 0.5s ease 0.1s 1 normal;
animation-fill-mode: forwards;
opacity: 0;
display:block;
}
body.drawer-opened #overlay{}

.nav_wrap{
overflow-y: auto;
overflow-x: hidden;
margin:0 auto;
padding: 0 0;
zoom: 1;
position: relative;
-webkit-overflow-scrolling: touch;
width: auto;
margin-inline: auto;
}
.nav_inner{
margin:0 30px;
padding: 80px 0 30px 0;
position: relative;
border-bottom:1px solid #fff;
}
ul.g_nav-list{
margin: 0 20px 30px;
padding: 0 0 0 0;
position:relative;
text-align:left;
width:auto;
}
ul.g_nav-list li{
margin: 0 0 ;
padding: 0 0px;
position:relative;
text-align:left;
line-height: 1.5;
}
ul.g_nav-list li h4{
margin: 0 0 10px;
padding: 0 0px;
position:relative;
font-family: "Poppins", sans-serif;
font-weight: 400;
font-style: normal;
letter-spacing:0.05em;
font-size: 25px;
line-height: 25px;
text-align: left;
color: #fff;
}
ul.g_nav-list li a{
font-weight: 500;
font-size: 13px;
line-height: 1.5!important;
text-align: left;
color: #fff;
text-decoration:none;
letter-spacing:0.05em;
white-space:nowrap;
}
ul.g_nav-list li h4.h4_toggle{
cursor:pointer;
}
ul.g_nav-list li h4.h4_toggle::before {
content: "";
position: absolute;
top:5px;
left:140px;
width: 15px;
height: 15px;
background-image: url("../images/base/sp_plus.svg");
background-repeat: no-repeat;
background-position: center center;
background-size:auto 15px;
}
ul.g_nav-list li h4.h4_open_trigger::before{
background-image: url("../images/base/sp_minus.svg");
}
ul.g_nav-list li.h4_list_open{
display:none;
}

ul.g_nav_box-list{
margin: 0 0;
padding: 0 0px;
position:relative;
text-align:left;
width:auto;
display: flex;
align-items:stretch;
justify-content:space-between;
flex-wrap:wrap;
}
ul.g_nav_box-list li{
margin: 0 0 5px;
padding: 0 0px;
position:relative;
text-align:left;
width:49.4%;
}
ul.g_nav_box-list li:nth-child(3){
margin: 0 0 0;
padding: 0 0px;
position:relative;
text-align:center;
width:100%;
}
ul.g_nav_box-list li a{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:center;
height:50px;
background-color:#f0eee6;
display: flex;
align-items:center;
justify-content:center;
text-decoration:none;
}
ul.g_nav_box-list li a small{
margin-bottom:10px;
display: block;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
letter-spacing:0.05em;
font-size: 13px;
line-height: 13px;
color:#9b8c82;
text-align: center;
display:none;
}
ul.g_nav_box-list li a em{
font-weight: 600;
font-style: normal;
letter-spacing:0.05em;
font-size: 15px;
line-height: 15px;
color:#282828;
text-align: center;
}
ul.g_nav_box-list li a::before {
content: "";
position: absolute;
top:8px;
right:8px;
width: 12px;
height: 12px;
background-image: url("../images/base/arr.svg");
background-repeat: no-repeat;
background-position: right top;
background-size:12px auto;
}
ul.g_nav_box-list li a:hover{
transition : 0.3s;
filter: brightness(80%);
}
ul.g_nav-sub_list{
margin: 10px 30px 0;
padding: 0 0px 20px;
position:relative;
text-align:left;
display: flex;
align-items:center;
justify-content:flex-start;
}
ul.g_nav-sub_list li{
margin: 0 20px 0 0;
padding: 0 0px;
position:relative;
text-align:left;
}
ul.g_nav-sub_list li a{
padding: 5x 0px;
font-weight: 500;
font-style: normal;
letter-spacing:0.05em;
font-size: 12px;
line-height: 12px;
color:#fff;
text-decoration:none;
}

/* h2h3h4 */
h2.primary_tit{
margin: 0 auto 20px;
padding: 0 0 0;
position: relative;
text-align:left;
}
h2.primary_tit em{
margin: 0 0;
padding: 0 5px 0 0;
position: relative;
text-align:center;
font-family: Poppins;
font-weight: 400;
font-size: 38px;
letter-spacing: 0.02em;
line-height: 1.5;
}
h2.primary_tit small{
text-align:left;
font-weight: 500;
font-size: 12px;
letter-spacing: 0.05em;
}
h2.primary_tit b{
margin: 10px 0 0;
padding: 0 0;
position: relative;
text-align:left;
font-weight: 400;
font-style: normal;
font-size: 13px;
line-height: 1.8;
letter-spacing: 0.05em;
display:block;
}
h3.h3_heading{
margin: 0 auto 25px;
padding: 0 0 0;
position: relative;
text-align:left;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: normal;
font-size: 18px;
letter-spacing: 0.05em;
line-height: 1.6;
}
h4.h4_heading{
margin: 0 auto 30px;
padding: 0 0 15px;
position: relative;
text-align:left;
font-weight: 400;
font-style: normal;
font-size: 20px;
line-height: 20px;
letter-spacing: 0.20em;
border-bottom:1px solid #ccc;
}
h4.h4_heading small{
font-size: 14px;
letter-spacing: 0.05em;
}

/* Buttons */
.btn_more{
margin: 0 0;
padding: 0 0 0 0;
position:relative;
text-align:right;
z-index:10;
}
.btn_more a{
margin: 0 auto;
padding: 20px 0px 20px;
position:relative;
font-family: "Baskervville", serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: italic;
font-size: 11px;
letter-spacing: 0.05em;
line-height: 11px;
text-align: left;
color: #282828;
width: 150px;
border-bottom: 1px solid #aaa;
display:inline-block;
transition-duration: .2s;
box-sizing: border-box;
background-color: transparent;
text-decoration:none;
}
.btn_more a::before {
content: "";
position: absolute;
top:18px;
right:5px;
width: 15px;
height: 15px;
background-image: url("../images/base/arr.svg");
background-repeat: no-repeat;
background-position: right top;
background-size:auto;
transition-duration: .2s;
}

/* contact_section */
section.contact_section{
margin: 0 auto;
padding: 0 0px;
position:relative;
text-align:center;
}
ul.contact_section_list{
margin: 0 auto 0px;
padding: 0 0px;
position:relative;
text-align:center;
}
ul.contact_section_list li{
margin: 0 0 0;
padding: 0 0px;
position:relative;
text-align:center;
width:100%;
height:140px;
}
ul.contact_section_list li a{
padding: 0 30px;
height:140px;
text-decoration: none;
background-color:#f7f5f0;
display: flex;
align-items:center;
justify-content:flex-start;
}
ul.contact_section_list li a small{
display: block;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
letter-spacing:0.05em;
font-size: 12px;
line-height: 12px;
color:#9b8c82;
text-align: left;
}
ul.contact_section_list li a em{
margin-top:10px;
margin-bottom:15px;
display: block;
font-weight: 500;
font-style: normal;
letter-spacing:0.05em;
font-size: 20px;
line-height: 20px;
color:#282828;
text-align: left;
position:relative;
}
ul.contact_section_list li a span::before {
content: "";
position: absolute;
top:55px;
right:30px;
width: 15px;
height: 15px;
background-image: url("../images/base/arr.svg");
background-repeat: no-repeat;
background-position: right top;
background-size:15px auto;
}
ul.contact_section_list li a b{
display: block;
font-weight: 400;
font-style: normal;
letter-spacing:0.01em;
font-size: 13px;
line-height: 13px;
color:#282828;
text-align: left;
}
ul.contact_section_list li a b br{
display:none;
}
ul.contact_section_list li:nth-child(2) a{
background-color:#f0eee6;
}
/* Footer */
.site-footer{
margin: 0 auto 0;
padding: 50px 0 50px;
position:relative;
background-color: #5f5a55;
}
.footer-inner{
margin: 0 30px 0;
padding: 0 0 20px;
position:relative;
border-bottom:1px solid #fff;
}
.f_info_block{
margin: 0 0 30px;
padding: 0 0px;
position:relative;
text-align:left;
}
.f_info_block h3{
margin: 0 0 25px;
padding: 0 0px;
position:relative;
text-align: left;
}
.f_info_block h3 img{
width:270px;
}
ul.f_company-list{
margin: 0 0;
padding: 0 0px;
position:relative;
text-align: left;
}
ul.f_company-list li{
margin: 0 0 15px;
padding: 0 0px;
position:relative;
font-weight: 400;
font-size: 14px;
letter-spacing: 0.05em;
line-height: 2.2;
text-align: left;
color: #fff;
white-space:nowrap;
}
ul.f_company-list li small{
margin: 0 0;
display:block;
font-size: 12px;
line-height: 12px;
}
ul.f_company-list li a{
font-weight: 400;
font-size: 14px;
letter-spacing: 0.05em;
line-height: 2.2;
text-align: left;
color: #fff;
text-decoration:none;
}
ul.f_company-list li a i{
font-size: 10px;
margin-left:5px;
line-height: 2.0;
vertical-align:top;
}
nav.f_nav{
margin: 0 0;
padding: 0 0px;
position:relative;
text-align:left;
}
ul.f_nav-list{
margin: 0 0 80px 5vw;
padding: 0 0px;
position:relative;
text-align:left;
display: none;
}
ul.f_nav-list li{
margin: 0 0 ;
padding: 0 0px;
position:relative;
text-align:left;

}
ul.f_nav-list li h4{
margin: 0 0 20px;
padding: 0 0px;
position:relative;
text-align:left;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 17px;
line-height: 17px;
color: #fff;
letter-spacing:0.10em;
}
ul.f_nav-list li a{
font-weight: 400;
font-size: 14px;
line-height: 2.2;
text-align: left;
color: #fff;
letter-spacing:0.10em;
text-decoration:none;
display:block;
}
ul.f_nav-list li a:hover{
transition : 0.3s;
text-decoration: underline;
text-underline-offset: .4em;
text-decoration-thickness: 1px; 
}

ul.f_sns-list{
margin: 0 0 0;
padding: 0 0px;
position:relative;
text-align:left;
display: flex;
align-items:stretch;
justify-content:flex-start;
}
ul.f_sns-list li{
margin: 0 20px 0 0;
padding: 0 0px;
position:relative;
}
ul.f_sns-list li a{
font-weight: bold;
font-size: 24px;
line-height: 24px;
letter-spacing: 0.0em;
color: #fff;
}

.f_copy{
margin: 10px 30px 0;
padding: 0 0px;
position:relative;
text-align:left;
}
.f_copy small{
margin: 0 0 0;
padding: 0 0px;
position:relative;
text-align:left;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 12px;
line-height: 12px;
text-align: left;
color: #fff;
letter-spacing: 0.10em;
}

ul.f_info_link{
margin: 0 0;
padding: 0 0px;
position:relative;
text-align:left;
display: flex;
align-items:stretch;
justify-content:flex-start;
}
ul.f_info_link li{
margin: 0 20px 0 0;
padding: 0 0px;
position:relative;
}
ul.f_info_link li a{
font-weight: 400;
font-size: 12px;
line-height: 2.0;
text-align: left;
color: #fff;
letter-spacing:0.10em;
text-decoration:none;
}
ul.f_info_link li a:hover{
transition : 0.3s;
text-decoration: underline;
text-underline-offset: .4em;
text-decoration-thickness: 1px; 
}

.fix_bnr_wrap{
position:fixed;
bottom:0px;
right:0px;
width:200px;
z-index:10;
}
.fix_bnr_wrap .fix_bnr{
position:absolute;
bottom:0;
right:0px;
}
.fix_bnr_wrap .fix_bnr a{
margin: 0 0;
padding: 0 0px;
position:relative;
font-weight: 400;
font-size: 13px;
line-height: 13px;
text-align: center;
color: #fff;
letter-spacing:0.05em;
background-color:#90bb20;
display:block;
cursor:pointer;
z-index:1;
text-decoration:none;
width:200px;
height:35px;
display: flex;
align-items:center;
justify-content:center;
}
.fix_bnr_wrap .fix_bnr a i{
font-size: 15px;
margin-right:5px;
}
.fix_bnr_box{
position:relative;
margin-bottom:35px;
}
.fix_bnr_trigger {
position:absolute;
top:-22px;
right:0;
width:30px;
height:22px;
cursor: pointer;
transform: rotate(180deg);
}
.fix_bnr_open {
position:relative;
display:none;
}
.fix_bnr_trigger.open_trigger{
transform: rotate(0deg);
}

.backtotop{
position:fixed;
bottom:10px;
right:10px;
display:none;
}
.backtotop a{
font-weight: normal;
font-size: 14px;
letter-spacing: 0.1em;
line-height: 14px;
text-align: center;
color: #f1f1f2;
text-decoration:none;
}
.backtotop a:hover{
text-decoration: underline;
text-underline-offset: .4em;
text-decoration-thickness: 2px; 
}

/* パンくずリスト */
section.pankuzu{
margin: 0 auto 40px;
padding: 0 0 0;
position: relative;
text-align:left;
}
ul.pankuzu_list{
margin: 0 0 0 0;
padding: 0 0;
position:relative;
text-align:left;
display: flex;
align-items:stretch;
justify-content:flex-start;
}
ul.pankuzu_list li{
margin: 0 0 0 20px;
padding: 0 0;
position:relative;
text-align:left;
font-weight: 400;
font-style: normal;
letter-spacing:0.01em;
font-size: 12px;
line-height: 14px;
text-align: left;
color: #999;
}
ul.pankuzu_list li:nth-child(1){
margin: 0 0 0 0;
}
ul.pankuzu_list li:nth-child(1):before{
display:none;
}
ul.pankuzu_list li:nth-child(1) a{
font-family: "Poppins", sans-serif;
}
ul.pankuzu_list li:before {
position: absolute;
top: 7px;
left: -12px;
width: 5px;
height: 1px;
content: '';
background-color: #999;
}
ul.pankuzu_list li a{
margin: 0 0 0 0;
padding: 0 0;
position:relative;
text-align:left;
font-weight: 500;
font-style: normal;
letter-spacing:0.01em;
font-size: 12px;
line-height: 14px;
text-align: left;
color: #282828;
text-decoration:none;
}

}

/* フォント読み込み */
@import url('https://fonts.googleapis.com/css2?family=Baskervville:ital@0;1&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

