/*common*/
body{
font-family: 'Noto Serif JP', sans-serif;
font-feature-settings:"palt";
background:#f6faf2;
}
a,a:hover,a:visited{
text-decoration:none;
color:#fff;
display:block;
}
a:hover{
opacity:0.6;
}
img{
width:100%;
max-width:100%;
}
.pc{
display:block;
}
.sp{
display:none;
}

/*pc*/
/*---------- header ----------*/
header{
}
header .h_top{
display:flex;
justify-content:space-between;
align-items:center;
padding:40px 50px 30px;
}
h1{
width:30%;
max-width:550px;
height:auto;
max-height:65px;
}

.h_nav{
width:32%;
display:flex;
justify-content:space-between;
align-items:center;
}
.h_subnav{
width:23%;
}
.h_subnav li{
border:1px solid #333;
font-size:12px;
}
.h_subnav li:first-child{
margin-bottom:4px;
}
.h_subnav li a{
color:#333;
text-align:center;
padding:3px;
display:block;
}
.h_contact{
width:73%;
}
.h_contact ul{
display:flex;
justify-content:space-between;
}
.h_contact li{
width:48%;
}

.h_bottom{
background:#05132c;
padding:25px;
}
.h_bottom ul{
max-width:1350px;
margin:0 auto;
display:flex;
justify-content:space-around;
}
.h_bottom li{
width:calc(100% / 7);
border-right:1px solid #fff;
text-align:center;
padding:2px 0;
}
.h_bottom li:first-child{
border-left:1px solid #fff;
}


.side_menu{
position:fixed;
top:200px;
right:0;
z-index:100;
max-width:10%;
max-width:75px;

}
.side_menu ul{
}
.side_menu li:first-child{
margin-bottom:40px;
}


/*---------- common content ----------*/
.point_border{
text-align:center;
position: relative;
margin-bottom:70px;
}
.point_border img{
width:auto;
}
.point_border:before, .point_border:after {
content: '';
position: absolute;
top: 50%;
display: inline-block;

height: 1px;
background-color:#3b5975;
}
.point_border:before {
left:0;
}
.point_border:after {
right: 0;
}

/*
.point_border span{
position:relative;
}
.point_border span:before,.point_border span:after{
content: '';
position: absolute;
top:calc(50% - 5px);
width: 10px;
height: 10px;
background-color: black;
border-radius: 50%;
}
.point_border:before, .point_border:after {
width: calc(50% - 2em);
}
.point_border span:before {
left:-2em;
}
.point_border span:after {
right:-2em;
}
*/

.page_top{
max-width:110px;
margin:70px auto 100px;
}
.fc_box{
background:#05132c;
padding:60px 0 50px;
}
.fc_box_inner{
max-width:1100px;
margin:0 auto;
display:flex;
justify-content:space-between;
}
.fc_phone{
width:30%;
}
.fc_contact{
width:65%;
}
.fc_contact ul{
display:flex;
justify-content:space-between;
}
.fc_contact li{
width:29%;
}
.fc_contact li:last-child{
width:34.5%;
}

/*---------- footer ----------*/
footer{
background:#b8b6b1;
color:#fff;
padding:50px 0 20px;
}
.footer_box{
max-width:850px;
margin:0 auto 20px;
display:flex;
justify-content:space-between;
align-items:center;
}
.f_info .company_name{
font-size:14px;
}
.f_info .address{
border-top:2px solid #fff;
border-bottom:2px solid #fff;
font-size:11px;
padding:2px 0;
margin:5px 0;
}
.f_info .license{
font-size:10px;
}
.sns_box{
display:flex;
justify-content:center;
gap:20px;
margin-bottom:25px;
}
.sns_box p{
width:25px;
}
.copylight{
text-align:center;
}


/* ================================================
tab
================================================ */
@media screen and (max-width: 1200px) {
}


/* ================================================
sp
================================================ */
@media screen and (max-width: 768px) {
.pc{
display:none;
}
.sp{
display:block;
}
/*---------- header ----------*/
header{
position:relative;
}
header .h_top{
display:flex;
justify-content:space-between;
align-items:center;
padding:5%;
height:60px;
box-sizing:border-box;
}
h1{
width:70%;
max-width:none;
max-height:none;
}

.h_nav{
display:none;
}
.h_subnav{
}
.h_subnav li{
}
.h_subnav li:first-child{
}
.h_subnav li a{
display:none;
}
.h_contact{
}
.h_contact ul{
display:none;
}
.h_contact li{
}

.h_bottom{
}
.h_bottom ul{
max-width:1350px;
margin:0 auto;
display:flex;
justify-content:space-around;
}
.h_bottom li{
width:calc(100% / 7);
border-right:1px solid #fff;
text-align:center;
padding:2px 0;
}
.h_bottom li:first-child{
border-left:1px solid #fff;
}



.sp_nav{
position:absolute;
top:0;
right:0;
}
.hamburger-container {
position: relative;
}
.hamburger-menu {
width:60px;
height:60px;
background:#05132c;
cursor: pointer;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
box-shadow: 0 8px 25px rgba(0,0,0,0.15);
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
}

.hamburger-menu:hover {
}

.hamburger-menu.active {
/*background: #ff6b6b;*/
}

.line {
width:30px;
height:3px;
background:#fff;
border-radius:3px;
transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
position:relative;
}
.line:nth-child(1) {
margin-bottom: 6px;
}
.line:nth-child(2) {
margin-bottom: 6px;
}
.hamburger-menu.active .line {
background: white;
}
.hamburger-menu.active .line:nth-child(1) {
transform: translateY(12px) rotate(45deg);
}
.hamburger-menu.active .line:nth-child(2) {
opacity: 0;
transform: translateX(-18px);
}
.hamburger-menu.active .line:nth-child(3) {
transform: translateY(-6px) rotate(-45deg);
}
.menu-text {
margin-top:5px;
font-size:16px;
color:#fff;
font-weight:500;
letter-spacing:0.5px;
transition:all 0.3s ease;
}
.hamburger-menu.active .menu-text {
color: white;
}

.menu-overlay {
position:fixed;
top:60px;
left:0;
width:100%;
height:100%;
background: rgba(0,0,0,0.8);
backdrop-filter: blur(10px);
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
z-index: 1000;
/*display: flex;*/
/*align-items: center;*/
/*justify-content: center;*/
overflow:auto;
}
.menu-overlay.active {
opacity: 1;
visibility: visible;

}

.menu-content{
background:#fff;
width:100%;
padding-bottom:10%;
}
.menu-content a{
color:#243551;
}

.sp_menu{
width:90%;
margin:0 auto 5%;
}
.menu-item {
padding: 15px 0;
border-bottom: 1px solid #eee;
cursor: pointer;
transition: all 0.2s ease;
color: #333;

/*display:flex;*/
/*justify-content:space-between;*/
/*align-items:center;*/
font-size:4.5vw;
}
.menu-item span{
float:right;
font-size:65%;
}
.menu-item:hover{
opacity:0.6;
}

.menu-item:last-child {
border-bottom:none;
}

.sp_subnav{
width:90%;
margin:0 auto 5%;
display:flex;
justify-content:space-between;
align-items:center;
}
.sp_subnav li{
border:1px solid #333;
width:48%;
text-align:center;
padding:3%;
}

.sp_contact{
display:flex;
align-items:center;
}
.sp_contact li{
width:50%;
}

.close-btn {
position:absolute;
top:20px;
right:20px;
background:none;
border:none;
font-size:24px;
cursor:pointer;
color:#999;
transition:color 0.2s ease;
}
.close-btn:hover {
color: #333;
}


/*---------- common content ----------*/
.point_border{
margin-bottom:10%;
}
.point_border img{
width:auto;
max-height:30px;
}
.point_border:before, .point_border:after {
content: '';
position: absolute;
top:50%;
display: inline-block;

height: 1px;
/*background-color: black;*/
}
.point_border:before {
left:0;
}
.point_border:after {
right: 0;
}
/*
.point_border span{
position:relative;
}
.point_border span:before,.point_border span:after{
content: '';
position: absolute;
top:calc(50% - 10px);
width: 10px;
height: 10px;
background-color: black;
border-radius: 50%;
}
.point_border:before, .point_border:after {
width: calc(50% - 2em);
}
.point_border span:before {
left:-2em;
}
.point_border span:after {
right:-2em;
}
*/

.page_top{
max-width:30%;
margin:10% auto;
}
.fc_box{
padding:10% 0;
}
.fc_box_inner{
max-width:70%;
margin:0 auto;
display:block;
}
.fc_phone{
width:100%;
margin-bottom:8%;
}
.fc_contact{
width:100%;
}
.fc_contact ul{
display:block;
justify-content:space-between;
}
.fc_contact li{
width:100%;
margin-bottom:8%;
}
.fc_contact li:last-child{
width:100%;
margin-bottom:0;
}

/*---------- footer ----------*/
footer{
padding:10% 0 5%;
}
.footer_box{
max-width:70%;
margin:0 auto 5%;
display:block;
}
.f_logo{
margin-bottom:5%;
}
.f_info{
margin-bottom:5%;
}
.f_info .company_name{
font-size:3.5vw;
}
.f_info .address{
font-size:3.1vw;
padding:2px 0;
margin:5px 0;
}
.f_info .license{
font-size:3vw;
}
.f_phone{
margin-bottom:5%;
}
.sns_box{
display:flex;
justify-content:center;
gap:10%;
margin-bottom:5%;
}
.sns_box p{
width:8%;
}
.copylight{
text-align:center;
font-size:3vw;
}
}




/*---------- nav ----------*/
/*.g_nav li:nth-child(1),*/
/*.g_nav li:nth-child(2),*/
/*.g_nav li:nth-child(3),*/
/*.g_nav li:nth-child(4),*/
.g_nav li:nth-child(5),
.g_nav li:nth-child(6),
.g_nav li:nth-child(7){
pointer-events:none;
opacity:0.6;
}
/*.h_contact li:nth-child(1),*/
.h_contact li:nth-child(2){
pointer-events:none;
opacity:0.6;
}

/*.sp_contact li:nth-child(1),*/
.sp_contact li:nth-child(2){
pointer-events:none;
opacity:0.6;
}

/*.sp_menu li:nth-child(1),*/
/*.sp_menu li:nth-child(2),*/
/*.sp_menu li:nth-child(3),*/
/*.sp_menu li:nth-child(4),*/
.sp_menu li:nth-child(5),
.sp_menu li:nth-child(6),
.sp_menu li:nth-child(7){
pointer-events:none;
opacity:0.6;
}

/*.side_menu li:nth-child(1),*/
.side_menu li:nth-child(2){
pointer-events:none;
opacity:0.6;
}

/*.excursion li:nth-child(1),*/
/*.excursion li:nth-child(2),*/
.excursion li:nth-child(3),
.excursion li:nth-child(4){
pointer-events:none;
opacity:0.6;
}

/*.fc_contact li:nth-child(1),*/
.fc_contact li:nth-child(2)/*,
.fc_contact li:nth-child(3)*/{
pointer-events:none;
opacity:0.6;
}
