@charset "utf-8";

/* リセット */
a,abbr,acronym,address,applet,b,big,blockquote,button,caption,center,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,font,footer,form,h1,h2,h3,h4,h5,h6,header,i,iframe,img,ins,kbd,label,legend,li,nav,object,ol,p,pre,q,s,samp,section,small,span,strike,strong,sub,sup,table,tbody,td,tfoot,th,thead,title,tr,tt,u,ul,var{background:transparent;border:0;margin:0;outline:0;padding:0;vertical-align:baseline}

input,select,textarea{box-sizing:border-box;font-family:Helvetica,Verdana,sans-serif;font-size:14px}

ol,ul{list-style:none}

blockquote,q{quotes:none}

ins{text-decoration:none}

del{text-decoration:line-through}

table{border-collapse:collapse;border-spacing:0}

img{border:none;vertical-align:bottom}

/* 本文 */
html {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: #e5e5e5;
}

body {
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  font-family: Helvetica, Verdana, sans-serif;
  font-size: 14px;
  line-height: 24px;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #333333;
  background-color: #e5e5e5;
  overflow-x: auto;
  overflow-y: scroll;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

::selection {
  background-color: #333333;
  color: #e5e5e5;
}

/* リンク */
a {
  cursor: pointer;
  text-decoration: underline;
  color: #333333;
}

a:link {
  color: #333333;
}

a:visited {
  color: #333333;
}

a:hover {
  color: #333333;
}

a:active {
  color: #333333;
}

/* レイアウト */
.container {
  margin-left: 60px;
  padding-top: 60px;
  padding-bottom: 60px;
}

/* 記事ページ用（PCのみ） */
@media (min-width: 769px) {
  .article-page .container {
    margin-right: 70%;
  }
}

/* ナビゲーション */
.navigation {
  margin-bottom: 60px;
  font-size: 14px;
  line-height: 24px;
}

.navigation a {
  margin-right: 24px;
}

/* 現在アクティブなナビゲーションリンク */
.navigation a[aria-current="true"] {
  pointer-events: none;
  color: #333333;
  text-decoration: none;
}

/* 見出し */
h1 {
  display: none;
}

h2 {
  font-size: 14px;
  line-height: 24px;
  font-weight: normal;
}

h3 {
  font-size: 14px;
  line-height: 24px;
  font-weight: normal;
  display: inline;
}

/* 段落 */
p {
  font-size: 14px;
  line-height: 24px;
  margin-bottom: 0;
}

/* セクション */
.section {
  margin-bottom: 24px;
}

.section-double {
  margin-bottom: 48px;
}

/* 記事 */
article,
.article {
  margin-bottom: 24px;
}

article p,
.article p {
  margin-bottom: 0;
}

.article-bt {
  width: 500px;
  border-top: 1px solid #000;
  margin: 48px 0;
  padding-top: 48px;
}

.article-bt h2 {
  font-weight: normal;
}

.section-double h2 {
  font-weight: normal;
}

/* サイズバリエーション */
.s1 {
  font-size: 12px;
  line-height: 21px;
}

.mb {
  margin-bottom: 24px;
}

/* アクセシビリティ: スクリーンリーダー用 */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* アクセシビリティ: フォーカス可視化 */
:focus {
  outline: 2px solid #333333;
  outline-offset: 2px;
}

:focus:not(:focus-visible) {
  outline: none;
}

:focus-visible {
  outline: 2px solid #333333;
  outline-offset: 2px;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .container {
    margin-left: 20px;
    margin-right: 20px;
    padding-top: 40px;
  }

  .article-bt {
    width: 100%;
  }
}

@media (max-width: 768px) and (orientation: landscape) {
  .container {
    margin-left: 15px;
    margin-right: 15px;
    padding-top: 30px;
  }
}
