@charset "utf-8";
/*
Theme Name: atozSunfish
Auther: atoz service
*/
/*** Google Fontsを利用する ***/
@import url('https://fonts.googleapis.com/css?family=Raleway&display=swap');
/********** 変数 **********/
:root {
  --header-pc-min-width: 100px;
  --header-pc-max-width: 220px;
  --logo-pc-min-height: 100px;
  --menubar-pc-height: 90px; /* pcメニュー個別の高さ */
  --menubar-font-size: 16px; /* 文字サイズ */
  --menubar-sp-height: 80px; /* pcメニュー個別の高さ */
}

/********** cssのリセット **********/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,
blockquote,pre,abbr,address,cite,code,del,dfn,em,img,
ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,
ol,ul,li,fieldset,form,label,legend,table,caption,
tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,
figcaption,figure,footer,header,hgroup,menu,nav,section,
summary,time,mark,audio,video {
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0;
  outline: 0;
  background: transparent;
}
body {
  line-height: 1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
  display: block;
}
nav ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
a {
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}
ins {
  text-decoration: none;
  color: #000;
  background-color: #ff9;
}
mark {
  font-weight: bold;
  font-style: italic;
  color: #000;
  background-color: #ff9;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  cursor: help;
  border-bottom: 1px dotted;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
hr {
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #ccc;
}

/********** Google Material icons **********/
.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* 推奨サイズ */
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  text-transform: none;
  /* WebKitブラウザサポート */
  -webkit-font-smoothing: antialiased;
  /* Chrome、Safariサポート */
  text-rendering: optimizeLegibility;
  /* Firefoxサポート */
  -moz-osx-font-smoothing: grayscale;
  /* IEサポート */
  font-feature-settings: 'liga';
}
/* アイコンサイズ */
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-20 { font-size: 20px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-30 { font-size: 30px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }
/* 背景が明るいとき用のアイコン色 */
.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); }
.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); }
/* 背景が暗いとき用のアイコン色 */
.material-icons.md-light { color: rgba(255, 255, 255, 1); }
.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); }

/********** サイト全体の基準となるCSS **********/
html {
  font-size: var(--primary-font-size); /* 文字サイズ */
}
body {
  min-height: 100vh;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 100vh;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; /* フォント */
  line-height: 2; /* 行間 */
  margin: 0;
  padding: 0;
  color: whitesmoke; /* 全体の文字色 */
  overflow-y: hidden; /* スクロールバー非表示 */
}
/*見出しを全て太字で表示 + 文字色を黒に*/
h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  color: #000;
}
img {
  max-width: 100%;
  height: auto;
}
/** スクロールバー **/
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  border-radius: 8px;
  box-shadow: inset 0 0 6px rgba(102,102,102,0.7);
}
::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background-color: rgba(153,153,153,0.5);
  box-shadow: 0 0 0 1px rgba(51,51,51,0.7);
}

#sidebar {height: 0px; }
body {background-color: darkslategray; }

/********** コンテンツのサイズ指定 **********/
.header-inner,
.container,
.footer-inner {
  box-sizing: border-box;
  max-width: 100vw;
}
/**/
.container {
  min-height: inherit;
  height: calc(100vh - 2em);
}
@media screen and (max-width: 480px) {
  .sunfish-toppage {
    background-color: #87995A;
    min-height: inherit;
    height: calc(100vh - 2em);
  }
}

/*sunfish-nav*/
.header-sunfish-nav-wrap {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 100;
  width: var(--header-pc-min-width);
  height: 100%;
  border-right: 1px solid whitesmoke;
  transition: width 1s 0s;
}
.header-sunfish-nav-wrap:hover {
  width: var(--header-pc-max-width);
  background-color: rgba(51, 51, 51, 0.7);
}
.custom-logo-link {
  display: flex;
  color: whitesmoke;
  text-decoration: none;
}
.custom-logo-link .custom-logo {
  width: var(--header-pc-min-width);
  height: var(--logo-pc-min-height);
}
.custom-logo-link .sitetitle-logo {
  font-family: 'Raleway';
  font-size: 110%;
  line-height: 1.8em;
  display: none;
  opacity: 0;
  width: 0%;
  align-self: center;
}
.sunfish-nav {
  font-size: 0;
}
.sunfish-nav ul {
  width: 100%;
}
.sunfish-nav .sunfish-menu-item {
  font-size: 1rem;
  position: relative;
}
.sunfish-nav .sunfish-menu-item4 {
  display: none;
}
.sunfish-nav .sunfish-linkmenu {
  display: flex;
  width: 100%;
  height: var(--menubar-pc-height);
  text-decoration: none;
  color: whitesmoke;
  border-bottom: 1px solid whitesmoke;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.sunfish-nav .sunfish-menu-item1 .sunfish-linkmenu{
  border-top: 1px solid whitesmoke;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
}
.sunfish-nav .sunfish-menu-icon {
  display: flex;
  justify-content: center;
  align-items: center;
}
.sunfish-nav .sunfish-menu-icon i {
  width: var(--header-pc-min-width);
  display: block;
  text-align: center;
  align-self: center;
}
.sunfish-nav .sunfish-menu-title {
  font-family: 'Raleway';
  font-size: 110%;
  opacity: 0;
  width: 0%;
  display: none;
  align-self: center;
}
.sunfish-nav .sunfish-textmenu {
  display: flex;
  width: 100%;
  height: var(--menubar-pc-height);
  color: whitesmoke;
}
.sunfish-nav .sunfish-textmenu-hover {
  display: none;
  opacity: 0;
  padding-left: 0.2em;
}
.sunfish-nav .sunfish-menu-email {
  width: var(--header-pc-min-width);
}
/* ホバー時 */
.header-sunfish-nav-wrap:hover .sunfish-nav .sunfish-menu-title {
  display: block; /* 表示させる */
  animation-duration: 0.2s;
  animation-delay: 1s; /* menuが開いた後に開始 */
  animation-name: menu-open-title;
  animation-fill-mode: forwards;
}
.header-sunfish-nav-wrap:hover .custom-logo-link .sitetitle-logo {
  display: block;
  animation-duration: 0.2s;
  animation-delay: 1s; /* menuが開いた後に開始 */
  animation-name: menu-open-title;
  animation-fill-mode: forwards;
}
@keyframes menu-open-title {
  from {
    opacity: 0;
    width: 0%;
  }
  to {
    opacity: 1;
    width: var(--header-pc-max-width) - var(--header-pc-min-width);
  }
}
.header-sunfish-nav-wrap:hover .sunfish-nav .sunfish-menu-icon i {
  width: var(--header-pc-min-width);
  display: block;
}
.sunfish-nav .sunfish-linkmenu:hover {
  background-color: #87995A;
}
.header-sunfish-nav-wrap:hover .sunfish-nav .sunfish-textmenu-hover {
  display: block;
  width: var(--header-pc-max-width);
  transform: translateY(-1em);
  animation-duration: 0.2s;
  animation-delay: 1s;
  animation-name: sunfish-menu-text-visible;
  animation-fill-mode: forwards;
}
@keyframes sunfish-menu-text-visible {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.header-sunfish-nav-wrap:hover .sunfish-nav .sunfish-menu-email {
  width: var(--header-pc-min-width);
}
@media screen and (max-width: 768px){
  .header-sunfish-nav-wrap {
    width: 100vw;
    height: var(--menubar-sp-height);
    border-right: none;
    display: flex;
  }
  .header-sunfish-nav-wrap:hover {
    width: 100vw;
    background-color: transparent;
  }
  .custom-logo-link .custom-logo {
    width: var(--menubar-sp-height);
    height: var(--menubar-sp-height);
    margin: 0;
    padding-left: 0.5em;
    line-height: 1em;
  }
  .header-sunfish-nav-wrap:hover .custom-logo-link .sitetitle-logo {
    display: none;
    animation: none;
  }
  .sunfish-nav {
    width: 70%;
    width: calc(100vw - 80px - 0.5em);
    width: calc(100vw - var(--menubar-sp-height) - 0.5em);
  }
  .sunfish-nav ul {
    display: flex;
    justify-content: space-around;
  }
  .sunfish-nav .sunfish-menu-item4 {
    display: block;
  }
  .sunfish-nav .sunfish-menu-item5 {
    display: none;
  }
  .sunfish-nav .sunfish-linkmenu {
    border-bottom: none;
    height: 100%;
    display: flex;
    flex-flow: column;
  }
  .sunfish-nav .sunfish-menu-item1 .sunfish-linkmenu {
    border-top: none;
  }
  .sunfish-nav .sunfish-menu-icon i {
    width: 2em;
    padding-top: 0.6em;
  }
  .sunfish-nav .sunfish-menu-title {
    opacity: 1;
    display: block;
    font-size: 85%;
    width: auto;
    transform: translateY(-0.3em);
  }
  .header-sunfish-nav-wrap:hover .sunfish-nav .sunfish-menu-title {
    opacity: 1;
    display: block;
    font-size: 85%;
    width: auto;
    transform: translateY(-0.3em);
  }
  .header-sunfish-nav-wrap:hover .sunfish-nav .sunfish-menu-icon i {
    width: 2em;
  }
  .sunfish-nav .sunfish-linkmenu:hover {
    background-color: transparent;
  }
}
.contents {
  min-height: inherit;
  padding: 2% 3% 20px 15%;
  position: fixed;
  top: 0;
  height: calc(100vh - 2em);
  max-width: 100%;
  overflow-y: scroll;
  width: 100%;
  box-sizing: border-box;
  animation: openpage 1s 0s 1 forwards;
}
@keyframes openpage {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.sidebar {
}

@media screen and (max-width: 768px) {
  .contents,
  .sidebar {
    float: none;
    margin-right: 0;
  }
  .contents {
    padding: 0 3%;
    margin-bottom: 1.5rem;
    top: var(--menubar-sp-height);
    height: calc(100% - 80px - 3em);
    height: calc(100% - var(--menubar-sp-height) - 3em);
    bottom: 0;
  }
}
@media screen and (max-width: 480px) {
  html {
    font-size: 15px;
  }
  .contents {
    margin-bottom: 1rem;
    overflow-x: hidden;
  }
}

/***** サイトタイトル *****/
.site-title-wrap {
  text-align: left;
  display: none; /*非表示化*/
}
	
/*タイトルを文字列にする場合*/
.site-title a {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  display: inline-block;
  text-decoration: none;
  color: #000;
}
/***** ヘッダーメニュー *****/
.header-inner {
  position: relative;
}
.navbutton {
  display: none;
}
.header-nav-wrap {
  position: absolute;
  right: 0;
  margin-left: 230px;
  /*タイトル分の余白をあけておく*/
  z-index: 999;
}
.header-nav {
  font-size: 0;
}
.header-nav li {
  font-size: 1rem;
  display: inline-block;
  margin-right: 1rem;
}
.header-nav li a {
  font-weight: bold;
  display: block;
  text-decoration: none;
  color: #000;
}
.header-nav li a:hover {
  opacity: .6;
}
@media screen and (max-width: 768px) {
  .site-title a img {
    height: 40px;
  }
  .navbutton {
    font-size: 2rem;
    position: absolute;
    z-index: 999;
    right: 1.25rem;
    display: block;
    cursor: pointer;
    border: 0;
    background-color: transparent;
  }
  .navbutton:focus {
    outline: 0;
  }
  .header-nav-wrap {
    z-index: 999;
    top: 86px;
    /*ヘッダーの高さと合わせる*/
    right: auto;
    left: 0;
    display: none;
    width: 100%;
    margin-left: 0;
    transform: none;
    background-color: #03162f;
  }
  .header-nav li {
    display: block;
    margin-right: 0;
  }
  .header-nav li a {
    position: relative;
    padding: .8rem 1.25rem;
    color: #fff;
    border-bottom: 1px solid #888;
  }
  .header-nav li a:after {
    font-family: 'Material Icons';
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: 1.25rem;
    display: block;
    content: 'keyboard_arrow_right';
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 480px) {
  .site-title a {
    font-size: 2rem;
  } 
  .site-title a img {
    height: 32px;
  }
  .navbutton {
    right: .8rem;
  } 
  .header-nav-wrap {
    top: 62px;
  }
  .header-nav li a {
    padding: .8rem;
  } 
  .header-nav li a:after {
    right: .8rem;
  }
}
/***** フッターメニュー *****/
.footer {
/*  background-color: #23282d;*/
  position: fixed;
  bottom: 0;
  width: 100vw;
  height: 2em;
}
.footer-nav,
.copyright {
  text-align: right;
  padding-right: 1.5em;
}
.copyright {
  font-family: 'Raleway';
}
.footer-nav {
  font-size: 0;
  margin-bottom: 3rem;
}
.footer-nav li {
  font-size: 1rem;
  display: inline-block;
  margin-right: 1.5rem;
}
.footer-nav li a {
  text-decoration: none;
  color: #fff;
}
.footer-nav li a:hover {
  opacity: .6;
}
.copyright p {
  font-size: 1rem;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .footer-nav {
    margin-bottom: 1.5rem;
  }
  .footer-nav ul {
    text-align: left;
  }
  .footer-nav li {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 1rem;
    text-align: center;
  }
  .footer-nav li:nth-of-type(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 480px) {
  .copyright {
    padding-right: 0.5em;
  }
}
/***** サイドバー *****/
.sidebar-wrapper {
  margin-bottom: 2rem;
} 
.sidebar-title {
  font-size: 1.1rem;
  box-sizing: border-box;
  margin: 0 0 1.2rem;
  padding: .5rem;
  color: #000;
  border-bottom: 4px solid #03162f;
}
/*デフォルトウィジェット*/
.widget_recent_entries ul,
.widget_meta ul,
.widget_recent_comments ul,
.widget_pages ul,
.widget_meta ul,
.widget_categories ul,
.widget_archive ul,
.widget_nav_menu ul,
.calendar_wrap,
.tagcloud {
  list-style: none;
}
.widget_recent_entries li,
.widget_meta li,
.widget_recent_comments li,
.widget_pages li,
.widget_meta li,
.widget_archive li,
.widget_nav_menu li {
  position: relative;
  margin-bottom: .5rem;
}
.widget_recent_entries a,
.widget_meta a,
.widget_recent_comments a,
.widget_pages a,
.widget_meta a,
.widget_categories a,
.widget_archive a,
.widget_nav_menu a {
  text-decoration: none;
  color: #333;
}
.sidebar-wrapper a:hover {
  opacity: .6;
}
/*カテゴリウィジェット*/
.widget_categories li {
  display: block;
  margin-bottom: .5rem;
}
.widget_categories li a {
  font-size: .95rem;
  position: relative;
  display: block;
  padding: .9rem .6rem .9rem 2rem;
  color: #fff;
  background-color: #03162f;
}
.widget_categories li a::before {
  font-family: 'Material Icons';
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: .6rem;
  content: 'label';
  transform: translateY(-50%);
  color: #fff;
}
.widget_categories .children {
  margin-bottom: .5rem;
  padding: 0;
  padding-left: 1rem;
  background-color: #415671;
}
.widget_categories .children li {
  margin-bottom: 0;
}
.widget_categories .children li a {
  font-size: .9rem;
  background-color: transparent;
}
.widget_categories .children li a::before {
  position: absolute;
  top: 50%;
  left: .6rem;
  content: '∟';
  transform: translateY(-50%);
  color: #fff;
}
/*カテゴリウィジェットとアーカイブウィジェットのドロップダウン表示*/
.widget_categories .screen-reader-text {
  display: none;
}
.widget_archive .screen-reader-text {
  position: relative;
  display: block;
  height: 0;
  text-indent: -9999999px;
}
.widget_categories form {
  position: relative;
}
.widget_categories form::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  content: '▼';
  transform: translateY(-50%);
  pointer-events: none;
}
.widget_categories .postform,
.widget_archive select {
  font-size: .95rem;
  width: 100%;
  padding: 4px 10px;
  cursor: pointer;
  border: 1px solid #e0e3ef;
  border-radius: 0;
  background-color: #f4f5f9;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.widget_archive label::after {
  position: absolute;
  top: .5rem;
  right: 1rem;
  content: '▼';
  text-indent: 0;
  pointer-events: none;
}
/*タグウィジェット*/
.tagcloud a {
  font-size: .9rem !important;
  line-height: 1;
  position: relative;
  display: inline-block;
  margin-bottom: .5rem;
  padding: .2rem .5rem;
  text-decoration: none;
  color: #03162f;
  border: 1px solid #000;
  background-color: #fff;
}
/*メニューウィジェット*/
.widget_nav_menu li a {
  font-size: 1rem;
  font-weight: bold;
  position: relative;
  padding-left: 1.3rem;
  color: #333;
}
.widget_nav_menu li a::before {
  font-family: 'Material Icons';
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: 0;
  content: 'keyboard_arrow_right';
  transform: translateY(-50%);
  color: #03162f;
}
/*最近の投稿*/
.widget_recent_entries li {
  padding-bottom: .5rem;
  border-bottom: 1px solid #ddd;
}
.widget_recent_entries li a:before {
  font-family: 'Material Icons';
  font-weight: bold;
  font-weight: 900;
  position: absolute;
  left: 5px;
  content: 'edit';
  color: #000;
}
.widget_recent_entries li a {
  display: block;
  margin-bottom: .3rem;
  padding-left: 1.6rem;
}
.widget_recent_entries .post-date {
  font-size: .8rem;
  display: block;
}
/*カレンダーウィジェット*/
.calendar_wrap {
  padding: 1rem;
  border: 1px solid #ddd;
}
.calendar_wrap table {
  width: 100%;
}
.calendar_wrap tbody {
  text-align: center;
}
.calendar_wrap caption {
  font-weight: bold;
  margin-bottom: 1rem;
}
.calendar_wrap td {
  padding: .3rem 0;
}
.calendar_wrap tfoot td {
  padding-top: .7rem;
}
.calendar_wrap tfoot td:last-child {
  text-align: right;
}
/***** index *****/
.article-list {
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid #ddd;
}
.article-list:hover {
  background-color: #eee;
}
.article-list a {
  display: block;
  text-decoration: none;
  color: whitesmoke;
}
.article-list a:after {
  display: block;
  clear: both;
  content: '';
}
.article-list .img-wrap {
  position: relative;
  float: left;
  line-height: 1;
}
.article-list .img-wrap img {
  width: 240px;
  height: 160px;
  object-fit: cover;
}
.article-list .img-wrap .cat-data {
  font-size: .75rem;
  position: absolute;
  top: 0;
  right: 0;
  padding: .3rem .5rem;
  color: #fff;
  background-color: #03162f;
}
.article-list .text {
  margin-left: 260px;
}
.article-list .text h2 {
  font-size: 1.15rem;
  margin-bottom: .5rem;
}
.article-list .text .article-date,
.article-list .text .article-author {
  font-size: .75rem;
  font-weight: bold;
  display: inline-block;
  margin-bottom: .5rem;
  color: #888;
}
.article-list .text .article-date {
  margin-right: .5rem;
}
.article-list .text .article-author i {
  margin-right: .3rem;
}
.article-list .text p {
  font-size: .8125rem;
  line-height: 1.7;
}
@media screen and (max-width: 480px) {
  .article-list {
    padding: .5rem;
  }
  .article-list .img-wrap img {
    width: 132px;
    height: 88px;
  }
  .article-list .img-wrap .cat-data {
    font-size: .6rem;
  }
  .article-list .text {
    margin-left: 140px;
    padding: 0;
  }
  .article-list .text h2 {
    font-size: 1rem;
    margin-bottom: 0;
  }
  .article-list .text p {
    display: none;
  }
  .article-list .text .article-date,
  .article-list .text .article-author {
    font-size: .625rem;
    margin-bottom: 0;
  } 
  .article-list .text .article-date {
    margin-right: .2rem;
  }
}
/***** ページネーション *****/
.pagination {
  margin: 2rem 0;
  text-align: center;
}
.pagination ul {
  font-size: 0;
}
.pagination ul li {
  font-size: 1rem;
  display: inline-block;
  margin-right: .5rem;
}
.pagination ul li:last-child {
  border: 0;
}
.pagination ul li a,
.pagination .current {
  display: block;
  padding: .5rem .8rem;
  border: 1px solid #ccc;
}
.pagination ul li .prev,
.pagination ul li .next {
  border: 0;
}
.pagination ul li a {
  text-decoration: none;
  color: #333;
}
.pagination ul li a:hover {
  opacity: .6;
}
.pagination .current {
  color: #fff;
  background-color: #03162f;
}
/***** 投稿ページ *****/
.article-content {
  margin-bottom: 2rem;
}
.article-content .article-info {
  margin-bottom: .5rem;
}
.article-content .cat-data a {
  font-size: .8rem;
  margin-right: .5rem;
  padding: .1rem .5rem;
  text-decoration: none;
  color: #fff;
  background-color: #03162f;
}
.article-content .article-info .article-date,
.article-content .article-info .article-author {
  font-size: .8rem;
  display: inline-block;
  margin-right: .5rem;
  color: #888;
}
.article-content .article-info .article-author i {
  margin-right: .3rem;
}
.article-content p,
.article-content b,
.article-content table,
.article-content ul,
.article-content ol {
  font-size: 1rem;
  line-height: 1.7;
  letter-spacing: 1px;
}
.article-content p,
.article-content img,
.article-content table,
.article-content ul,
.article-content ol {
  margin-bottom: 2rem;
}
.article-content h1 {
  font-size: 1.9rem;
  margin: 0 0 2rem;
  letter-spacing: 1px;
}
.article-content h2 {
  font-size: 1.7rem;
  margin: 3rem 0 2rem;
  padding: .4rem 0;
  letter-spacing: 1px;
  border-bottom: solid 5px #03162f;
}
.article-content h3 {
  font-size: 1.5rem;
  margin: 2.5rem 0 1.8rem;
  padding: 0 1rem;
  letter-spacing: 1px;
  border-left: solid 7px #415671;
  background: transparent;
}
.article-content h4 {
  font-size: 1.3rem;
  margin: 2rem 0 1rem;
  letter-spacing: 1px;
}
.article-content h5 {
  font-size: 1.1rem;
  margin: 0 0 .3rem;
  letter-spacing: 1px;
}
.article-content .article-img {
  margin-bottom: 2rem;
}
.article-content .article-img img {
  display: block;
  margin: 0 auto;
}
.article-content ul {
  margin-left: 2rem;
  list-style: disc;
}
.article-content ol {
  margin-left: 2rem;
  list-style: decimal;
}
.article-content table {
  border-collapse: collapse;
}
.article-content th,
.article-content td {
  padding: .6rem;
  vertical-align: middle;
  border: 1px solid #ddd;
}
.article-content figure {
  max-width: 100%;
}
.article-tag {
  text-align: right;
}
.article-tag ul {
  font-size: 0;
  margin-bottom: 0;
}
.article-tag ul li {
  font-size: .9rem;
  display: inline-block;
  margin-right: .5rem;
  vertical-align: middle;
}
.article-tag ul li:last-child {
  margin-right: 0;
}
.article-tag ul li a {
  padding: .2rem .5rem;
  text-decoration: none;
  color: #000;
  border: 1px solid #000;
}
.article-tag ul li a:hover {
  opacity: .6;
}
@media screen and (max-width: 480px) {
  .article-content h1 {
    font-size: 1.6rem;
  }
  .article-content h2 {
    font-size: 1.4rem;
  }
  .article-content h3 {
    font-size: 1.3rem;
  } 
  .article-content h4 {
    font-size: 1.2rem;
  }
}

/*** 背景画像 ***/
.container-bg-image {
  min-height: 100vh;
  width: 100vw;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
}
.container-bg-image-child {
  width: 100%;
  height: 100%;
  position: absolute;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  left: 0;
  top: 0;
}
.bg-loading {
  visibility: hidden;
}
.bg-image-is-show {
  animation: fadeIn 3s linear;
  animation-fill-mode: forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  100% {
    opacity: 1;
    transform: scale(1.05);
  }
}
.bg-image-is-keep {
  animation: zoomUp 3s linear;
  animation-fill-mode: forwards;
}
@keyframes zoomUp {
  0% {
    opacity: 1;
    transform: scale(1.05);
  }
  100% {
    opacity: 1;
    transform: scale(1.1);
  }
}
.bg-image-is-hide {
  animation: fadeOut 3s;
  animation-fill-mode: forwards;
}
@keyframes fadeOut {
  0% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(1.1);
  }
}
/*** frontpage ***/
/* startroll */
.startroll {
  background: #87995A;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  min-height: 100vh;
  -weblit-animation: startbg 9s 0s;
  animation: startbg 9s 0s;
}
@keyframes startbg {
  0% {
    opacity: 1;
  }
  67% { /*6s*/
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.startroll .start-logo img {
  opacity: 0;
  position: absolute;
  width: 240px;
  height: 240px;
  animation: startFadeOut 8s 0s 1 ease-out both;
  top: 10vh;
  left: 40%;
  left: -webkit-calc(50% - 120px);
  left: calc(50% - 120px);
  /* 画面幅の半分 - ロゴ画像の半分 */
}
.startroll .start-company-name {
  position: absolute;
  width: 500px;
  height: 40px;
  font-family: 'Raleway'; /* フォント指定 */
  letter-spacing: 0.3em;
  font-size: 120%;
  text-align: center;
  animation: startFadeOut 8s 0s 1 ease-out both;
/*  animation: lift 10s 0s 1 ease-out both;*/
  top: 40vh;
  top: -webkit-calc(10vh + 240px - 20px);
  top: calc(10vh + 240px - 20px);
  /* ロゴ画像のbottom - ロゴ画像透過部分の調整 */
  left: 32vw;
  left: -webkit-calc(50% - 250px + 0.2em);
  left: calc(50% - 250px + 0.2em);
  /* 画面幅の半分 - 社名の半分 + 社名のバランスによるズレ調整 */
}
@keyframes startFadeOut {
  0% {
    opacity: 0;
  }
  10% { /*0.8s*/
    opacity: 1;
  }
  69% { /*5.5s*/
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.startroll .start-description {
  opacity: 0;
  position: absolute;
  width: 500px;
  text-align: center;
  animation: startSlideIn 8s 0s 1 ease-out both;
  top: 58vh;
  top: -webkit-calc(10vh + 240px - 20px + 40px + 50px);
  top: calc(10vh + 240px - 20px + 40px + 50px);
  /* 社名のbottom + 余白の調整 */
  left: 34vw;
  left: calc(50% - 250px + 0.2em);
  /* 画面幅の半分 - アピールの半分 + 全体のバランス調整 */
}
@keyframes startSlideIn {
  0% {
    opacity: 0;
  }
  13% { /*1s*/
    opacity: 0;
    transform: translateY(700%);
  }
  50% { /*4s*/
    opacity: 1;
    transform: translateY(0%);
  }
  69% { /*5.5s*/
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@media screen and (max-width: 768px) {
  .startroll .start-logo img {
    left: 30%;
    left: -webkit-calc(50% - 120px);
    left: calc(50% - 120px);
  }
}
@media screen and (max-width: 480px) {
  .startroll {
    animation: none;
    opacity: 1;
  }
  .startroll .start-logo img {
    opacity: 1;
    width: 180px;
    height: 180px;
    top: 13vh;
    left: 28%;
    left: -webkit-calc(50% - 90px);
    left: calc(50% - 90px);
  }
  .startroll .start-company-name {
    opacity: 1;
    top: 37vh;
    top: -webkit-calc(13vh + 180px - 10px);
    top: calc(13vh + 180px - 10px);
  }
  @keyframes startFadeOut {
    0% {
      opacity: 0;
    }
    10% { /*0.8s*/
      opacity: 1;
    }
    100% {
      opacity: 1;
    }
  }
  .startroll .start-description {
    opacity: 1;
    top: 49vh;
    top: -webkit-calc(13vh + 180px - 10px + 40px + 50px);
    top: calc(13vh + 180px - 10px + 40px + 50px);
  }
  @keyframes startFadeIn {
    0% {
      opacity: 0;
    }
    13% {
      opacity: 0;
      transform: translateY(700%);
    }
    50% {
      opacity: 1;
      transform: translateY(0%);
    }
    100% {
      opacity: 1;
    }
  }
}

/*** カテゴリーページ共通 ***/
.article-on-translucent-sheet {
  background-color: rgba(0,0,0,0.2);
  height: 100%;
}
.category-description {
  width: 100%;
}
/*** タイトル ***/
.sunfish-top {
  width: 100%;
  font-family: 'Raleway';
  border-bottom-width: 1.5px;
  border-bottom-style: solid;
  border-bottom-color: #C1DB81;
  display: flex;
  align-items: baseline; /* 子要素：テキストのベースライン揃え */
  color: #DB9B81; /* 文字色 */
  letter-spacing: 0.5em; /* 文字の間隔 */
  margin-bottom: 5em;
}
.sunfish-title {
  font-size: 300%; /* 文字サイズ */
  width: 70%;
  padding: 0;
  margin-bottom: 0;
}
.sunfish-subtitle {
  font-size: 130%; /* 文字サイズ */
  width: 30%;
  margin-bottom: 0;
  text-align: right;
  font-weight: normal;
  color: #DB9B81; /* 文字色 */
  letter-spacing: 0.3em;
}
@media screen and (max-width: 768px){
  .sunfish-top {
    margin-bottom: 3em;
  }
  .sunfish-title {
    width: 60%;
  }
  .sunfish-subtitle {
    width: 40%;
  }
}
@media screen and (max-width: 480px) {
  .sunfish-top {
    font-size: 80%;
    margin-bottom: 2em;
  }
  .sunfish-subtitle {
    letter-spacing: 3px;
  }
}

/*** company ***/
.category-company .category-description {
  word-break: keep-all; /* 折り返し */
}
.category-company .single-list-wrap {
  display: flex;
  margin-top: 2em;
}
.category-company .single-list {
  width: 50%;
  padding: 0 0.5em;
  border-left: 2px solid #DB9B81;
  color: whitesmoke;
}
.category-company .article-img-wrap {
  height: auto;
  padding: 0 0.5em;
  display: flex;
}
.category-company .article-img-wrap img {
  width: 25%;
  height: auto;
  align-self: flex-start;
}
.category-company .single-title {
  color: whitesmoke;
  font-weight: normal;
  font-size: 130%;
  align-self: center;
  padding: 0 0.5em 0 1em;
}
.category-company .single-text {
}
.category-company table {
  font-size: 85%;
}
.category-company td:nth-child(odd) {
  width: 35%;
}
.category-company td:nth-child(odd)::before {
  content: " -";
}
.category-company td:nth-child(even) {
  width: 65%;
  padding-left: 1em;
}
@media screen and (max-width: 768px){
  .category-company .single-list-wrap {
    flex-flow: column;
  }
  .category-company .single-list {
    width: 100%;
    padding: 0;
    margin: 0.5em;
  }
  .category-company .article-img-wrap {
    padding: 0 1em;
  }
  .category-company .single-text {
    padding: 0 1em;
  }
  .category-company td:nth-child(odd) {
    width: 30%;
  }
  .category-company td:nth-child(even) {
    width: 70%;
  }
}
@media screen and (max-width: 480px){
  .category-company .single-list {
    border-left: none;
    flex-flow: column;
  }
  .category-company .article-img-wrap {
    width: 100%;
    border-left: 1.5px solid #DB9B81;
    display: flex;
  }
  .category-company .article-img-wrap img {
    width: 25%;
    padding: 0.5em;
  }
  .category-company .single-title {
    width: 70%;
    margin: 0;
    text-align: center;
    font-size: 130%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .category-company .single-text {
    width: 95%;
  }
  .category-company .single-text p {
    width: 100%;
    margin: 0.5em 0 0;
  }
  .category-company .single-text table {
    
  }
}
/*** works ***/
.category-works .category-single-list {
/*  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;*/
  position: relative;
}
.category-works .category-single-list3 { /*800pxより大きい時（jsによる構成変更）*/
  display: flex;
  justify-content: space-around;
}
.category-works .category-single-list3 .single-list-wrap { /*800pxより大きい時*/
  display: flex;
  flex-flow: column;
  width: 32%;
}
.category-works .category-single-list2 { /*600pxより大きく800px以下*/
  display: flex;
  justify-content: space-around;
}
.category-works .category-single-list2 .single-list-wrap { /*600pxより大きく800px以下*/
  display: flex;
  flex-flow: column;
  width: 48%;
}
.category-works .single-list {  
  display: block;
  margin-bottom: 1em;
}
.category-works .article-title-wrap {
  border-left-color: #DB9B81;
  border-left-style: solid;
  border-left-width: 1.5px;
}
.category-works .single-title {
  display: inline-block;
  font-weight: normal;
  font-size: 110%;
  color: #DB9B81;
  transform: translate(1.6em, 0em);
}
.category-works .article-trigger-button {
  padding: 0;
  margin: 0;
  cursor: pointer;
  transform: translate(0em, -2em);
}
.category-works .article-trigger-button i {
  color: gainsboro;
}
.category-works .article-trigger-button .icon-text-is-hide {
  color: gainsboro;
}
.category-works .article-trigger-button .icon-text-is-show {
  color: silver;
}
.category-works .works-buttom-ver-hide {
  font-family: 'Material Icons';
  content: 'arrow_drop_down';
}
.category-works .works-buttom-ver-show {
  font-family: 'Material Icons';
  content: 'arrow_drop_up';
}
.category-works .single-text {
  position: relative;
  cursor: pointer;
  transform: translateY(-2em);
}
.works-text-is-hide {
  max-height: 5em; /*隠した後の高さ*/
  overflow: hidden;
  transition: 1s;
  border-bottom: 1px solid #999999;
}
.works-text-is-show {
  max-height: 500px;
  transition: 1s;
  border-bottom: 1px solid #999999;
}
.category-works .works-text-is-hide::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 4em;/*グラデーショで隠す高さ*/
  background: -ms-linear-gradient(top, rgba(102,102,102,0) 0%, rgba(102,102,102,0.7) 50%, #666666 100%);
  background: -webkit-linear-gradient(top, rgba(102,102,102,0) 0%, rgba(102,102,102,0.7) 50%, #666666 100%);
  background: linear-gradient(top, rgba(102,102,102,0) 0%, rgba(102,102,102,0.7) 50%, #666666 100%);
}
.works-text-is-show works-text-is-hide::before {
  background: none;
}
@media screen and (max-width: 480px) {
  .article-trigger-button {
    display: none;
  }
  .works-text-is-hide {
    max-height: 500px;
  }
  .category-works .single-title {
    transform: translate(0,0);
    margin-left: 1em;
  }
  .category-works .single-text {
    transform: translate(0,0);
    cursor: default;
  }
  .category-works .works-text-is-hide::before {
    background: transparent;
  }
}
/*** contact ***/
.contact-address {
  font-size: 120%;
}