/* layout.css — Header, footer, page header, breadcrumb, page inner */

/*--------------- header -----------------*/
header {
background: #000;
width: 200px;
height:100vh;
padding: 20px 10px;
position: fixed;
top: 0;
border-right: 1px solid rgb(202 202 202 / 21%);
}
header .site-logo {
    width: 140px;
    margin: 20px auto;
}
header h1 img,
header .site-logo img {
width: 160px;
height: auto;
display: block;
margin: 0 auto 40px;
}
nav li a {
display: block;
margin-bottom: 20px;
text-transform: uppercase;
text-align: center;
}
.header-nav a {
    color: #fff;
}
.menu_btn{
display:none;
}
.sns_hd_area.flex {
    justify-content: center;
}


/*--------------- main -----------------*/
main,
footer{
width: calc(100% - 200px);
margin-left: 200px;
}
footer {
    background: #000;
    padding: 20px;
}
.sns_hd_area li a {
font-size: 28px;
margin: 0 10px 0 0;
padding: 5px
}
nav li a:hover,
.sns_hd_area li a:hover {
color: #b37b95;
}

/*--------------- footer -----------------*/
.sns_area {
    padding: 40px 40px 100px;
    border-bottom: solid 1px #fff;
}
.sns_area li {
width: 30%;
margin: 0 1%;
}
.sns_area ul {
max-width: 920px;
margin: 0 auto;
 justify-content: center;
}
.sns_area li a {
	background: #fff;
	padding: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-align: center;
}
.sns_area li a i {
	font-size: 22px;
	line-height: 1;
}
.sns_area li a:hover {
	background: #e7e7e7;
}
.footer_logo {
    width: 200px;
    margin: 80px auto 40px;
}

.footer_copy {
display: block;
text-align: center;
font-size: 12px;
    padding: 4px 4px 30px;
color:#fff;
background: #000;
}

.footer_nav {
}
li.footer-nav-item a {
    color: #fff;
    padding: 20px 4px;
    margin-bottom: 1px;
    display: block;
    transition: color 0.2s ease;
}
li.footer-nav-item a:hover,
li.footer-nav-item a:focus-visible {
    color: #b37b95;
}
/* Keep the separator "|" white even when the link text changes color */
li.footer-nav-item a:hover:after,
li.footer-nav-item a:focus-visible:after {
    color: #fff;
}
ul.footer-nav-list.flex {
    justify-content: center;
}
li.footer-nav-item a:after {
    content: "|";
    padding: 0 10px;
}
li.footer-nav-item:last-child a:after {
    content: "";
    padding: 0;
}

/*--------------- page -----------------*/
.page_inner_box {
width: calc(100% - 40px);
max-width: 800px;
margin: 0 auto 80px;
}
/* パンくずリスト */
.breadcrumb {
	/* Default layout matches `.page_inner` (800px). Horizontal padding is intentionally 0. */
	box-sizing: border-box;
	width: calc(100% - 40px);
	max-width: var(--breadcrumb-max-width, 800px);
	margin: 0 auto;
	padding: 10px 0 var(--breadcrumb-pad-bottom, 24px);
	font-size: 12px;
	line-height: 1.6;
}
.breadcrumb--wide {
	--breadcrumb-max-width: 1260px;
}
.breadcrumb--flow {
	width: 80%;
	max-width: none;
}
.breadcrumb ol {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.breadcrumb ol li {
	white-space: nowrap;
}
.breadcrumb ol li + li::before {
content: ">";
margin: 0 6px;
color: #555;
}
.breadcrumb ol li a {
color: #888;
text-decoration: none;
display: inline;
margin-bottom: 0;
text-transform: none;
text-align: left;
}
.breadcrumb ol li a:hover {
text-decoration: underline;
}
.breadcrumb ol li span {
	color: #333;
}

.page_inner {
padding: 0 40px 40px;
margin: 0 auto 40px;
width: calc(100% - 40px);
max-width: 800px;
}
.about_newborn h3,
.page_inner_box>h3 {
font-size: 20px;
letter-spacing: 1px;
text-transform: uppercase;
margin: 140px 0 60px;
text-align: center;
line-height: 1;
}
.about_newborn h3 span,
.page_inner_box h3 span {
font-size: 12px;
}
.plan_list_inner.page_inner ol li {
    list-style: auto;
}
.plan_list_inner.page_inner ol{
  padding-left: 2em;
}

/* ====================================================
   Page Hero + Breadcrumb (Unified)
   ==================================================== */
.page_hd {
  box-sizing: border-box;
  width: calc(100% - 40px);
  max-width: var(--breadcrumb-max-width, 800px);
  margin: 36px auto 14px;
  text-align: left;
}

.page_hd h1 {
  margin: 0;
  font-size: 36px;
  font-family: var(--font-en);
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1.2;
  letter-spacing: .12em;
  text-align: left;
  color: #333;
}

.page_hd h1 > span {
  display: inline-block;
  margin-top: 40px;
  font-size: 24px;
  font-family: var(--font-jp-serif);
  font-weight: 400;
  text-transform: none;
  letter-spacing: .06em;
  line-height: 1.7;
  color: #333;
  white-space: nowrap;
}
.page_hd h1 span[lang="en"] {
  text-transform: uppercase;
  word-break: keep-all;
  overflow-wrap: normal;
}

.breadcrumb {
  box-sizing: border-box;
  width: calc(100% - 40px);
  max-width: var(--breadcrumb-max-width, 800px);
  margin: 0 auto 48px;
  padding: 0 20px;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: .03em;
  color: #555;
}

.breadcrumb ol li + li::before {
  content: ">";
  margin: 0 6px;
  color: #aaa;
}

.breadcrumb ol li a,
.breadcrumb ol li span {
  color: #555;
  text-decoration: none;
}

.breadcrumb ol li a:hover {
  color: #666;
  text-decoration: underline;
}

.page_about .about_sectionTitle {
  margin: 52px 0 36px;
}
