a[target="new"]:after, a[target="_blank"]:after, a[target="_new"]:after, a.open-in-new:after {
  font-family: "Hobonichi-Icons";
  content: "\e914";
  margin-left: 0.2em; }

a[target="new"].no-icon:after, a[target="_blank"].no-icon:after, a[target="_new"].no-icon:after, a.open-in-new.no-icon:after {
  content: none; }

#header:after {
  bottom: -47px; }

.content:after {
  bottom: -47px; }

@media (max-width: 600px) {
  body * {
    box-sizing: border-box; }
  .opc a:hover, .opc a:active {
    opacity: 1; }
    .opc a:hover img, .opc a:active img {
      opacity: 1; }
  img {
    vertical-align: top; }
  .photo {
    margin: 20px auto; }
  #wrapper {
    width: 100%; }
  #header {
    background-size: contain;
    padding-bottom: 0;
    margin-bottom: 40px; }
    #header > * {
      padding-left: 20px;
      padding-right: 20px; }
    #header img {
      max-width: 100%; }
    #header h1 {
      margin-top: 20px; }
      #header h1.en {
        margin-bottom: 20px; }
    #header #hobo,
    #header #series {
      padding: 10px 20px; }
    #header #yodogawa {
      margin-top: 20px;
      padding-bottom: 20px; }
    #header #yodogawa_en {
      background: url(../images/yodogawa_en_2021b_sp.png) no-repeat center top;
      background-size: contain;
      width: 87.5%;
      padding-top: 43.75%;
      margin: auto; }
      #header #yodogawa_en img {
        display: none; }
    #header #i18n ul {
      margin: 20px auto; }
    #header:after {
      content: "";
      background: url(../images/bg_col_btm.png) no-repeat left top;
      background-size: contain;
      position: relative;
      width: 100%;
      height: 30px;
      bottom: -30px; }
  .content {
    background-size: contain;
    margin: 40px auto; }
    .content > * {
      padding-left: 20px;
      padding-right: 20px; }
    .content img {
      max-width: 100%; }
    .content:before {
      content: "";
      background: url(../images/bg_col_top.png) no-repeat left bottom;
      background-size: contain;
      position: relative;
      width: 100%;
      height: 30px;
      top: -30px; }
    .content:after {
      content: "";
      background: url(../images/bg_col_btm.png) no-repeat left top;
      background-size: contain;
      position: relative;
      width: 100%;
      height: 30px;
      bottom: -30px; }
    .content .section {
      padding: 20px; }
      .content .section:first-child {
        padding-top: 0; }
    .content .column {
      width: 100%;
      padding: 10px; }
      .content .column > table > tbody > tr > th {
        display: block;
        font-size: 14px;
        padding-right: 5px;
        padding-bottom: 0;
        width: 100%; }
      .content .column > table > tbody > tr > td {
        width: 100%;
        border-top: 0 none transparent;
        display: block;
        font-size: 14px;
        padding-top: 0; }
      .content .column > table table > tbody > tr > th {
        font-size: 12px;
        width: 60px; }
  #footer {
    background-size: contain;
    margin-top: 40px;
    padding-bottom: 40px; }
    #footer > * {
      padding-left: 20px;
      padding-right: 20px; }
    #footer .home {
      margin: 20px auto; }
    #footer:before {
      content: "";
      background: url(../images/bg_col_top.png) no-repeat left bottom;
      background-size: contain;
      position: relative;
      width: 100%;
      height: 30px;
      top: -30px; }
  #banner {
    width: 100%;
    margin: 0;
    padding-top: 0;
    padding-bottom: 20px; }
    #banner p {
      margin: 0; }
  #map {
    width: 95vw;
    height: auto;
    min-height: 400px;
    padding-bottom: 40px; }
    #map img {
      width: 100%; } }
