html {
	scroll-behavior: smooth;
	margin: 0px;
	padding: 0px;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Montserrat',sans-serif;
}
p {
	margin: 0;
	padding: 0;
	font-size: 15px;
	color: #000;
	letter-spacing: 0.05em;
	font-weight: 400;
}

li {
	list-style-type: none;
}

img {
	width: 100%;
}

a img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}

a {
	text-decoration: none;
}
p strong {
	font-weight: 600;
}


a:hover {
	text-decoration: none;
}

a:hover img,
input.btn:hover {
	opacity: 0.8;
	-ms-filter: "alpha( opacity=70 )";
}

.under_line  {
	margin-top: 2px;
	padding-top: 0px;
	text-align: right;
	clear: both;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
}
.------------------------------------bottom-navi-menu {
}
.bottom-navi-c {
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 800;
	border-top-width: 1px;
	border-top-style: solid;
	display: block;
	width: 100%;
	background-color: #000000;
}
.bottom-navi-c-button {
	margin: 0px;
	display: block;
	padding: 0%;
	height: 50px;
}
.bottom-navi-c-button li {
	margin: 0px;
	width: 20%;
	float: left;
	padding-top: 1%;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	height: auto;
	text-align: center;
}
.bottom-navi-c-button li a img  {
	width: auto;
	text-align: center;
	height: 35px;
	margin: 0%;
	padding-top: 5px;
	padding-right: 0%;
	padding-bottom: 0%;
	padding-left: 0%;
}
.------------------------------------bottom-navi-menu {
}
.bottom-navi-i {
	position: fixed;
	z-index: 800;
	display: block;
	width: 90%;
	padding-top: 0%;
	padding-right: 5%;
	padding-bottom: 0%;
	padding-left: 5%;
	bottom: 0px;
	margin-bottom: 1%;
}
.bottom-navi-i-button {
	margin: 0px;
	display: block;
	padding: 0%;
	width: 40%;
	float: left;
}
.bottom-navi-i-button li {
	width: 40px;
	float: left;
	height: 40px;
	text-align: center;
	background-color: #333;
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 0px;
	margin-left: 0px;
	border-radius: 90px;
	padding-top: 2%;
	padding-right: 2%;
	padding-bottom: 2%;
	padding-left: 2%;
}
.bottom-navi-i-button li a img  {
	width: 30px;
	text-align: center;
	margin: auto;
	height: 30px;
	padding: 5px;
}
.bottom-navi-right {
	float: right;
	color: #333;
	width: auto;
	padding-top: 1%;
	padding-right: 2%;
	padding-bottom: 1%;
	padding-left: 2%;
	height: auto;
}

.bottom-navi-right a img   {
	text-align: center;
	margin: 0%;
	background-color: #333;
	border-radius: 45px;
	height: 40px;
	padding: 5px;
	width: auto;
}
.------------------------------------ {
}
.info_botton-color {
	width: 78%;
	height: 46px;
	padding: 0%;
	float: left;
	margin-top: 0px;
	margin-right: 2%;
	margin-bottom: 0px;
	margin-left: 0px;
}
.wrap  a .info_botton-color{
	font-size: 15px;
	text-transform: uppercase;
	color: #FFFFFF;
	transition: all 0.3s ease 0s;
	cursor: pointer;
	outline: none;
	letter-spacing: 2.5px;
	line-height: 30px;
	width: 100%;
	height: 100%;
	background-size: auto;
	background-position: center center;
	background-color: #9C895C;
	padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 10px;
	padding-left: 20px;
	margin: 0px;
	border-radius: 10px;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	box-shadow: 0px 4px 10px rgba(156,137,92,0.4);
  }
.wrap a .info_botton-color:hover {
	box-shadow: 0px 15px 20px rgba(102,102,102,0.4);
	transform: translateY(-7px);
}
.------------------------------------ {
}

.img_botton {
	width: 20%;
	height: 50px;
	margin: 0px;
	float: left;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
}

.wrap  a .img_botton{
	transition: all 0.3s ease 0s;
	cursor: pointer;
	outline: none;
	width: 100%;
	height: 50px;
	background-size: auto;
	margin: 0px;
	background-color: #9C895C;
	border-radius: 10px;
	padding: 0px;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	box-shadow: 0px 4px 10px rgba(156,137,92,0.4);
  }


.wrap a .img_botton:hover {
	box-shadow: 0px 15px 20px rgba(102,102,102,0.4);
	transform: translateY(-7px);
}
.img_botton .wrap a .img_botton img {
	height: 60%;
	width: auto;
	padding: 0%;
	margin-top: 0%;
	margin-right: 0%;
	margin-bottom: 0%;
	margin-left: 0%;
}

.------------------------------------botton {
}

.info_botton {
	width: 100%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	height: 50px;
	padding-top: 3%;
	padding-right: 0%;
	padding-bottom: 3%;
	padding-left: 0%;
}

.wrap  a .info_botton{
	font-size: 15px;
	text-transform: uppercase;
	color: #FFFFFF;
	transition: all 0.3s ease 0s;
	cursor: pointer;
	outline: none;
	letter-spacing: 2.5px;
	line-height: 35px;
	width: 100%;
	height: 100%;
	background-size: auto;
	background-position: center center;
	background-color: #333333;
	padding-top: 5px;
	padding-right: 20px;
	padding-bottom: 5px;
	padding-left: 20px;
	margin: 0px;
  }

.wrap a .info_botton:hover {
	box-shadow: 0px 15px 20px rgba(102,102,102,0.4);
	transform: translateY(-7px);
}

.------------------------------------ {
}

/* ==============================
   テーマ切替（色管理）
   ============================== */

.theme-dark{
    --sidebar-bg:#333;
    --sidebar-text:#ffffff;
    --main-bg:#ffffff;
    --main-text:#333;
    --name-color:#fff; /* 右縦名前色 */
}

/* 例：反転テーマ */
.theme-light{
    --sidebar-bg:#ffffff;
    --sidebar-text:#000000;
    --main-bg:#000000;
    --main-text:#ffffff;
    --name-color:#ffffff;
}

/* ============================== */

.card{
    display:flex;
    width:100vw;
    min-height:100vh;
}

/* ===== 右メイン ===== */

.main{
    flex:1;
    background:var(--main-bg);
    color:var(--main-text);
    position:relative;
    display:flex;
    flex-direction:column;
}

.sidebar{
	width: 50px;
	background: var(--sidebar-bg);
	color: var(--sidebar-text);
	display: flex;
	justify-content: center;
}

.sidebar-inner{
  height:60vh;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
}

/* ここは縦書きにしない */
.vertical-wrap{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:20px;
}

/* 各文字を縦書きにする */
.company-name,
.company-url{
  writing-mode: vertical-rl;
  text-orientation: mixed;
  text-align:center;
}

.company-name{
  font-size:14px;
  letter-spacing:2px;
}

.company-url{
  font-size:10px;
  letter-spacing:1px;
}

/* 線は縦線 */
.divider{
  width:1px;
  height:60px;
  background:var(--sidebar-text);
}

/* URL */
.company-url{
  font-size:10px;
  letter-spacing:1px;
}

/* 写真 */
.photo-area{
	height: 50vh;
	background-image: url(../images/profile-img.jpg);
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
}

/* 右縦名前 */
.name-vertical{
	position: absolute;
	right: 0px;
	top: 10px;
	writing-mode: vertical-rl;
	font-size: 45px;
	letter-spacing: 6px;
	font-weight: normal;
	color: var(--name-color);
	font-family: "Radley", serif;
}

/* 下部連絡先 */
.contact-area{
	flex: 1;
	background: var(--sidebar-bg);
	color: var(--sidebar-text);
	padding-top: 30px;
	padding-right: 30px;
	padding-bottom: 0px;
	padding-left: 0px;
}

.contact-list{
    list-style:none;
}

.contact-list li{
    display:flex;
    align-items:center;
    margin-bottom:18px;
    font-size:14px;
}

.contact-list img{
    width:20px;
    height:20px;
    margin-right:12px;
}
