* {
font-family: "Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-style: normal;
}
.en {
font-family: "Merriweather", serif;
font-optical-sizing: auto;
font-style: normal;
font-variation-settings:
"wdth" 100;
}
:root {
--main-color: #1a2d52;
--accent-color: #bb1e1e;
--sub-color: #a98e5b;
--white-color: #fff;
--text-on-accent: #ffffff;
--sns-bg: #ffffff;
--sns-border: #cccccc;
--footer-bg-color: #f5f5f5;
--footer-text-color: #333333;
--footer-heading-color: #1a2d52;
--footer-text-muted: #999999;
}
:target {
scroll-margin-top: 120px;
}
html {
scroll-behavior: smooth;
}
body {
color: var(--white-color);
background-color: var(--main-color);
line-height: 1.5;
}
body.no-scroll {
overflow: hidden;
position: fixed;
width: 100%;
}
ul,ol {
margin: 0;
list-style: none;
}
ul li,ol li {
margin-bottom: 0;
}
a {
text-decoration: none;
}
a:focus,a:active {
outline: none;
}
a:hover {
opacity: 0.8;
}
.main a {
color: #e9cf9e;
text-decoration: underline;
    text-underline-offset: 4px;
}
.page-wrap ol a,.page-wrap ul a,.page-wrap td a,.article-wrap ol a,.article-wrap ul a,.article-wrap td a {
color: var(--sub-color);
}
p {
margin-bottom: 20px;
}
.pc {display: block;}
.sp {display: none;}
.container {
max-width: 1312px;
margin: 0 auto;
padding: clamp(2.5rem, 1.952rem + 2.25vw, 3.75rem) 16px;
}
.bold {
font-weight: 600;
}
.red {
color: #f38a8a;
}
.highlight {
	background: linear-gradient(to top, #7f1b1b 40%, transparent 40%);
}
.ib {
	display: inline-block;
}
ol .highlight ,ul .highlight {
	background: linear-gradient(to top, #ffa0a0 40%, transparent 40%);
}
.text-right {
text-align: right;
}
.white-bg {
background: var(--white-color);
}
.fix-parts {
position: relative;
}
.fix-parts ul {
position: fixed;
display: flex;
align-items: stretch;
right: 0;
bottom: 0;
width: auto;
z-index: 999;
border-radius: 20px 0 0 0;
box-shadow: 5px 6px 10px #fff;
transform: translateY(120%);
opacity: 0;
pointer-events: none;     /* 非表示時はクリック無効 */
transition: transform .4s ease, opacity .3s ease;
will-change: transform;
padding-bottom: max(0px, env(safe-area-inset-bottom)); /* iOSのセーフエリア対策 */
}
.fix-parts.is-visible ul{
transform: translateY(0);
opacity: 1;
pointer-events: auto;
}
.fix-parts ul li a {
color: var(--white-color);
font-weight: 600;
opacity: 0.9;
padding: 16px 18px;
display: flex;
height: 100%;
position: relative;
}
.fix-parts ul li:first-child a {
background: var(--sub-color);
border-radius: 20px 0 0 0;
display: flex;
align-items: center;
height: 100%;
gap: 10px;
}
.fix-parts ul li:not(:first-child) a {
background: var(--main-color);
}
.icon-reserve {
width: 22px;
height: 22px;
}
.fix-parts ul li:nth-child(6) a svg {
display: none;
}
.fix-parts ul li#fixedTop a {
height: 100%;
}
.fix-parts ul li#fixedTop svg {
width: 28px;
stroke: none;
}
.fix-parts ul li:not(:first-child):not(:last-child) a::after {
content: '';
position: absolute;
right: 0;
bottom: 20%;
width: 2px;
height: 50%;
background: var(--sub-color);
}
ol.breadcrumb {
font-size: clamp(0.75rem, 0.687rem + 0.26vw, 0.875rem);
font-weight: 600;
max-width: 1312px;
margin: 0 auto;
padding: 32px 16px 0;
line-height: 1.8;
}
ol.breadcrumb > li {
display: inline;
word-break: break-all;
color: var(--sub-color);
}
ol.breadcrumb > li:not(:last-child)::after { 
content: "";
display: inline-block;
margin: 0 8px;
transform: rotate(45deg);
width: 8px;
height: 8px;
border-right: 1px solid var(--white-color);
border-top: 1px solid var(--white-color);
}
.breadcrumb > li a { 
text-decoration: underline;
color: var(--white-color);
}
.two-container {
display: flex;
max-width: 1312px;
width: 100%;
margin: auto;
gap: clamp(1.25rem, -0.972rem + 4.63vw, 2.5rem);
padding: 0 16px;
}
.two-container .page-wrap {
width: calc( 80% - clamp(1.25rem, -0.972rem + 4.63vw, 2.5rem));
}
.one-container {
max-width: 1312px;
margin: 0 auto;
padding: 0 16px;
width: 100%;
}
.wp-pagenavi {
font-family: "Merriweather", serif;
margin-top: clamp(4rem, 3.119rem + 3.61vw, 5.75rem);
font-size: 16px;
display: flex;
justify-content: center;
gap: 8px;
flex-wrap: wrap;
}
.wp-pagenavi a {
text-decoration: none;
}
.wp-pagenavi > .page,.wp-pagenavi > .current {
font-weight: 600;
padding: 4px;
border-radius: 5px;
width: 30px;
height: 30px;
display: flex;
justify-content: center;
align-items: center;
color: var(--white-color);
}
.wp-pagenavi > span.current {
color: var(--white-color);
background: var(--sub-color);
}
.wp-pagenavi > .previouspostslink,.wp-pagenavi > .extend,.wp-pagenavi > .nextpostslink,.wp-pagenavi > .last,.wp-pagenavi > .first {
font-weight: 600;
padding: 4px;
color: var(--white-color);
}
.wp-pagenavi > .previouspostslink,.wp-pagenavi > .first {
color: var(--white-color);
}
@media screen and (max-width: 768px) {
:target {
scroll-margin-top: clamp(4.5rem, 3.468rem + 4.23vw, 5.5rem);
}
.pc {display: none;}
.sp {display: block;}
.fix-parts ul {
width: 100%;
justify-content: space-between;
}
.fix-parts ul li:first-child,.fix-parts ul li:nth-child(5) {
width: calc(38% - 1px);
display: flex;
}
.fix-parts ul li:first-child a,.fix-parts ul li:nth-child(5) a {
width: 100%;
display: flex;
gap: 8px;
}
.fix-parts ul li:nth-child(6) {
width: 24%;
}
.fix-parts ul li:first-child a,.fix-parts ul li:nth-child(5) a,.fix-parts ul li:nth-child(6) a {
border-radius: 10px 10px 0 0;
background: var(--white-color);
color: var(--main-color);
display: flex;
justify-content: center;
align-items: center;
padding: 10px 0px;
line-height: 1;
}
.fix-parts ul li a > * {
color: var(--sub-color);
}
.fix-parts ul li:nth-child(5) a svg {
width: 22px;
height: 22px;
}
.fix-parts ul li:nth-child(6) a {
font-size: 12px;
flex-direction: column;
gap:6px;
}
.fix-parts ul li:nth-child(6) a svg {
display: block;
width: auto;
height: 24px;
}
.fix-parts ul li:not(:first-child):not(:last-child) a::after {
content: none;
}
.icon-reserve {
color: var(--sub-color);
width: 22px;
height: 22px;
}
.two-container {
flex-wrap: wrap;
}
}

