  @charset "utf-8";
/****************************************
		1. 基本設定 
*****************************************/

/*
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 3.3.0
build: 3167
　↓YUI3 CSS Reset　ブラウザー固有のスタイルをリセットします↓　*/
body,div,dl,dt,dd,
ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,
input,textarea,p,blockquote,th,td {
	margin:0;
	padding:0;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}

/*
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 3.3.0
build: 3167
↓YUI3 CSS Fonts　フォントサイズを相対指定する↓*/


/*---↓リンクに対する共通設定↓---*/
*{
	margin:0;
	padding:0;
	line-height:1.5;
	list-style:none;
}
/*アンダーtopボタン*/
.pagetop {
	position: fixed;
	bottom: -200px;
	right: 20px;
	z-index:9999;
}
.pagetop a {
	display: block;
	width: 86px;
	height: 110px;
}

img{
	border:none;
}
a, a:link,/*未訪問のリンクを指定*/
a:visited,/*訪問済みのリンクを指定*/
a:hover,/*マウスオーバーした時のリンク部分を指定*/
a:active,/*クリック時のリンク部分を指定*/
a{
	text-decoration:none;
}
body{	
	overflow-x:hidden;
}
/* clearfix
----------------------------------------------------*/
.clearfix{ /zoom: 1; }
.clearfix:after{ content: ''; display: block; clear: both; }
/* box-sizing
----------------------------------------------------*/
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
/*送信ボタン*/
input[type="submit"] {
  -webkit-appearance: none;
}
input[type="reset"] {
  -webkit-appearance: none;
}

/*----------------------------------------------------
	共通
----------------------------------------------------*/
/* スクロールバーの有無によるズレ対策 */
#wrapper{
	width:auto;
	padding-left:230px;
}

header{
    width: 230px;
	background: #FFF;
	border-right: 2px solid #f7f7f7;
	min-height: 100vh;
    height: 100vh;
    z-index: 100;
    padding: 16px 16px 40px;
    position: fixed;
    overflow-y: auto !important;
    overflow-x: hidden;
	-ms-overflow-style: none;    /* IE, Edge 対応 */
    scrollbar-width: none;       /* Firefox 対応 */
}

header::-webkit-scrollbar {  /* Chrome, Safari 対応 */
        display:none;
    }


h1{
	width:210px;
}


.ul--reset {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.vertical-menu {
  text-transform: uppercase;
  width: 230px;
}

.vertical-menu-wrapper {
  max-width: 230px;
  margin: 30px auto;
  display: flex;
  position: relative;
}



/* ベースリセット */
.ul--reset {
  list-style: none;
  margin: 0;
  padding: 0;
}

.vertical-menu {
  width: 220px;
  font-family: 'Segoe UI', sans-serif;
}

.vertical-menu-item {
  position: relative;
  margin: 8px 0;
}

.link--inverse-menu {
  display: block;
  padding: 12px 16px;
  color: #fff;
  text-decoration: none;
  background-color: #2c3e50;
  border-radius: 6px;
  transition: all 0.3s ease;
  box-shadow: inset 0 0 0 2px #CCC;
}

/* ホバー時のエフェクト */
.link--inverse-menu:hover {
  background-color: #c26471;
  color: #ffffff;
  transform: translateX(5px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}


.sns {
  list-style: none;
  display: flex;
  gap: 30px; /* アイコン同士の間隔 */
  padding: 0;
  margin: 0 0 20px 0;
  justify-content: center; /* 中央揃え（必要に応じて変更） */
  align-items: center;
}

.sns li {
  display: inline-block;
}

.sns a img {
  width: 50px;
  height: 50px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.sns a:hover img {
  transform: scale(1.1); /* ホバー時に拡大 */
  opacity: 0.8; /* 少し透過でエフェクト */
}



ul.side_banner{
	width: 193px;
	height: auto;
}

ul.side_banner li{
	margin-bottom: 10px;
}

header .address{
	margin-top:30px;
	font-size:80%;
	line-height:1.8;
	color:#535353;
}
header .address a{
  display: block;
  width: fit-content;
  margin: 5px auto 15px;
  background: #535353;
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
}



footer{
	width: 100%;
	height: 400px;
	position: relative;
	background: #f2f2f2;
}
 
.nav-menu {
	position: relative;
	top: 30px;
	margin-right: 30px; /* 上:30px 右:50px 下:0 左:0（→右寄せ＋下に移動） */
  	justify-content: flex-end; /* ← 右寄せにするポイント */
  	display: flex; /* 横並びにする */
  	gap: 30px; /* 項目間の余白 */
    font-family: 'Arial', sans-serif;
	}

.nav-menu li a {
  text-decoration: none;      
  color: #000;   
  font-size: 77%;
  letter-spacing: 2px;        
}

.nav-menu li a:hover {
	color: #c26471;
} 

.nav-menu li {
  list-style: none; /* デフォルトの箇条書きマークを消す */
  position: relative;
  padding-left: 1.3em; /* 矢印分のスペースを確保 */
}

.nav-menu li::before {
  content: "▶"; /* 矢印のマーク */
  position: absolute;
  left: 0;
  top: 5px;
  font-size: 0.75em; /* ← 少し小さめに調整 */
  color: #333; /* 矢印の色 */
  line-height: 1.5em;
}




.nav-menu a::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #c26471; /* 好きなカラーに変更可 */
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease;
}

.nav-menu a:hover {
  color: #c26471;
  transform: scale(1.05);
}

.nav-menu a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}




 
h3.footer_logo{
	width: 300px;
	height: 136px;
	position: absolute;
	right: 20px;
	bottom: 50px;	
}

.footer__nav__backtop {
    display: block;
    height: 44px;
    left: calc(50% - 37px);
    position: absolute;
    top: 320px;
    width: 75px
}

.footer__nav__backtop:before {
    background-color: #535353;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.footer__nav__backtop:after {
    border-color: #535353;
    border-style: solid;
    border-width: 2px 0 0 2px;
    content: "";
    display: block;
    height: 51px;
    left: calc(50% - 25.5px);
    pointer-events: none;
    position: absolute;
    top: 18px;
    transform: translate(0) rotate(45deg);
    width: 51px
}

  
/*-- コピーライト --*/


p.copy{
	font-size: 77%;
	color: #535353;
	letter-spacing: 2px;
	position: absolute;
	right: 35px;
	bottom: 5px;	
}
