/* -------------------------------------------general */
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: none;
  text-align: justify;
  text-justify: inter-ideograph; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 0;
  height: 100%;
  font-size: 80%;
  overflow-wrap: break-word;
  background: #111;
  color: #fff;
  display: flex;
  flex-flow: column;
  min-height: 100vh; }

#content {
  flex: 1; }

a {
  transition: all 0.1s ease-in;
  -webkit-transition: all 0.1s ease-in;
  border: none;
  outline: none;
  color: #fff;
  text-decoration: none; }

a:hover {
  opacity: 0.7; }

.clearfix:after {
  content: "";
  clear: both;
  display: block; }

hr {
  width: 80%;
  margin: 0 auto;
  border: 1px solid #d0d0d0; }

.PC_br {
  display: block; }

.SP_br {
  display: none; }

p.back_to_TOP a {
  text-decoration: underline; }

p.back_to_TOP a:hover {
  text-decoration: none; }

.fadein {
  opacity: 0;
  -webkit-transform: translate(0, 45px);
          transform: translate(0, 45px);
  -webkit-transition: all 400ms;
  transition: all 400ms; }

.fadein.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0); }

/* -------------------------------------------header */
#PC_only {
  display: block; }

#SP_only {
  display: none; }

#PC_only {
  width: 100%;
  background: rgba(255, 255, 255, 0.9);
  z-index: 1; }
  #PC_only nav {
    height: 100px;
    padding: 0 48px; }
    #PC_only nav ul {
      list-style: none;
      display: flex;
      justify-content: flex-start; }
      #PC_only nav ul li {
        line-height: 100px;
        margin: 0 0 0 40px; }
      #PC_only nav ul li.logo {
        margin: 0 auto 0 0; }
        #PC_only nav ul li.logo a img {
          height: 28px;
          margin: 38px 0 0 0;
          display: block; }

/* -------------------------------------------index = home */
#home {
  position: relative;
  z-index: 0; }
  #home section.welcome {
    padding: 160px 0;
    color: #fff;
    width: 100vw;
    height: 70vh;
    background: url("../images/bg.jpg") center;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center; }
    #home section.welcome .box {
      width: 60%;
      height: auto; }
      #home section.welcome .box h1 {
        font-size: 180%;
        position: relative;
        padding: 1rem 2rem;
        background: #fff;
        color: #111;
        text-align: center; }
      #home section.welcome .box h1:before {
        position: absolute;
        top: -7px;
        left: -7px;
        width: 100%;
        height: 100%;
        content: '';
        border: 1px solid #fff; }
      #home section.welcome .box p {
        font-size: 130%;
        margin: 24px 0 0 0; }
  #home section.coffee_series {
    padding: 40px 0; }
    #home section.coffee_series .centering {
      width: 90%;
      margin: 0 auto; }
      #home section.coffee_series .centering ul {
        list-style: none;
        display: flex;
        justify-content: space-around; }
        #home section.coffee_series .centering ul li {
          width: 49%; }
          #home section.coffee_series .centering ul li a.linkbox {
            display: block; }
            #home section.coffee_series .centering ul li a.linkbox .box {
              background: #333;
              padding: 24px; }
              #home section.coffee_series .centering ul li a.linkbox .box img {
                width: 100%; }
              #home section.coffee_series .centering ul li a.linkbox .box h2 {
                margin: 8px 0 0 0; }
                #home section.coffee_series .centering ul li a.linkbox .box h2 span.date {
                  font-size: 60%;
                  font-weight: normal; }
              #home section.coffee_series .centering ul li a.linkbox .box h3 {
                margin: 8px 0 0 0; }
              #home section.coffee_series .centering ul li a.linkbox .box p {
                margin: 8px 0 0 0; }
          #home section.coffee_series .centering ul li a.noevent {
            pointer-events: none; }

/* -------------------------------------------404 */
#sorry_404_page .centering {
  width: 80%;
  margin: 0 auto;
  padding: 160px 0; }
  #sorry_404_page .centering h3 {
    font-size: 180%; }
  #sorry_404_page .centering p {
    margin: 16px 0 0 0; }
  #sorry_404_page .centering table {
    margin: 8px 0 0 0; }
    #sorry_404_page .centering table tr {
      line-height: 2;
      background: #fff; }
      #sorry_404_page .centering table tr th {
        padding: 16px; }
      #sorry_404_page .centering table tr td {
        padding: 16px; }

/* -------------------------------------------footer */
section.footer_content {
  padding: 80px 0;
  font-size: 80%; }
  section.footer_content .centering {
    width: 90%;
    margin: 0 auto; }
    section.footer_content .centering a {
      width: 100px;
      display: block;
      margin: 0 auto; }
      section.footer_content .centering a img {
        width: 100%; }
    section.footer_content .centering p {
      text-align: center;
      margin: 8px 0; }
