@font-face {
    font-family: 'Magna';
    src: url('fonts/magna.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'MagnaGC';
    src: url('fonts/magnaGC.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'MagnaS';
    src: url('fonts/magnaS.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'whistle';
    src: url('fonts/whistle.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

body {
  background-image:
  repeating-linear-gradient(
    90deg,
    #ececec ,
    #ececec 4px,
    transparent 1px,
    transparent 32px
  ),
  repeating-linear-gradient(
    0deg,
    #ececec ,
    #ececec 4px,
    #d8d8d8f8 1px,
    #d8d8d8f8 32px
  );

    margin: 0;
    padding: 20px;

    font-family: "M PLUS 1 Code", monospace;
    color: #444444;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;

min-height: 100vh;
}

.title {
  text-align: center;
  padding: 20px;
  margin: 0;
}

.title img {
  width: 40vw;
  min-width: 300px;
  max-width: 600px;
  filter: drop-shadow(10px 10px 10px #616161c3);
}

.subtitle {
  text-align: center;
  padding: 20px;
  margin: 0;
}

.subtitle img {
  height: 10vw;
  max-height: 100px;
  min-height: 60px;
  filter: drop-shadow(10px 10px 10px #616161c3);
}

h1 {
    text-align: center;
}

.container {
    max-width: 1200px;
    margin: auto;
    background-color: transparent;
    padding: 0;
    padding-bottom: 20px;
    border-radius: 0;
    box-shadow: none;
}

.tab-content-area {
    background-color: rgba(255, 255, 255, 0.9);
    padding: 20px;
    border-radius: 0px 24px 24px 24px;
    filter: drop-shadow(10px 10px 10px #616161c3);

    box-shadow:
      6px 6px 10px 0px #274a9066,
      -2px -2px 10px 0px #fdfeff,
      inset 2px 2px 1px #feffdf,
      inset -2px -2px 1px #adadad;

}

/* 入力エリアのスタイル (変更なし) */
#input-text {
    width: 100%;
    padding: 15px;
    font-size: 16px;
    line-height: 1.5;
    border: 1px solid #ccc;
    box-sizing: border-box;
    resize: vertical;
    border-radius: 20px;
}

/* 比較エリアのレイアウト変更点 */
.font-comparison-area {
    gap: 20px;
}

.sample-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;
}

.font-preview-item {
    width: 100%;
    max-width: 100%;
    border: 3px solid #ddd;
    border-radius: 15px;
    padding: 15px;
    margin-top: 20px;
    /* margin-bottom: 20px; */
    box-sizing: border-box;
}

.header-and-button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.header-and-button h3 {
    margin: 0;
    font-size: 1.2em;
}

.font-sample {
    min-height: 30px;
    padding: 10px;
    /* border: 1px solid #eee; */
    background-color: #ffffff;
    white-space: pre-wrap;
    font-size: 24px;
    line-height: 1.5;
    border-radius: 20px;
}

.download-btn {
    display: inline-block;
    padding: 10px 15px;
    background-color: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 15px;
    transition: background-color 0.2s;

    box-shadow:
      6px 6px 10px 0px #274a9066,
      -2px -2px 10px 0px #fdfeff,
      inset 2px 2px 1px #feffdf,
      inset -2px -2px 1px #adadad;
}

.download-btn:hover {
    background-color: #0056b3;
}

.home {
  text-align: center;
  padding: 20px;
  margin: 0;
}

.home a {
    display:inline-block;
}

.home img {
  height: 15vw;
  min-width: 30px;
  max-height: 130px;
  filter: drop-shadow(10px 10px 10px #616161c3);
}

.sample {
    text-align: center;
    filter: drop-shadow( 5px 5px 10px #999);
    flex: 0 0 auto;
    width: 300px;
    text-align: center;
}

.sample img {
    display: block;
    max-height: 160px;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.tabs {
    display: flex;
    border-bottom: none;
    top: 0;
    left: 0;
    width: 100%;
}

.tab-button {
    padding: 10px 15px;
    cursor: pointer;
    border: none;
    border-bottom: none;
    background-color: #b8b8b8;
    font-size: 24px;
    font-weight: bold;
    outline: none;
    transition: background-color 0.3s;
    margin-right: 5px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;

    box-shadow:
    6px 6px 10px 0px #274a9066,
    -2px -2px 10px 0px #fdfeff,
    inset 2px 2px 1px #feffdf,
    inset -2px -2px 1px #c7b17f;
}

.tab-button:hover {
    background-color: #ddd;
}

.tab-button.active {
    /* background-color: white; */
    background-image: linear-gradient(135deg, #ffe95b, #ffc82f);
    border-color: #ccc;
    position: relative;
    z-index: 0;
    /* border-bottom: 2px solid white; */
    margin-bottom: -2px;
    /* color: #007bff; */

  box-shadow:
    6px 6px 10px 0px #274a9066,
    -2px -2px 10px 0px #fdfeff,
    inset 2px 2px 1px #feffdf,
    inset -2px -2px 1px #dba31f;
}

.tab-pane.hidden {
    display: none;
}

#sample-tab {
    padding: 30px 0px;
}

.kiyaku {
    padding: 0px 20px;
}

h2, .OK, .NG {
    padding: 10px 20px;
    border-radius: 40px;
    border: 3px solid #ddd;
}

h2 {
    background-color: #dcdcdc;
    margin-top: 0px;
    padding-bottom: 10px;
}

.OK {
    color: #009b00;
}

.NG {
    color: #b31200;
}

ul {
    padding-left: 40px;
}

@media screen and (max-width: 800px) {
   body {
    padding: 4px;
    font-size: 0.9em;
   }

   .tab-content-area {
    padding: 12px;
   }

   .font-preview-item {
    margin-top: 8px;
   }

   .font-sample {
    font-size: 0.9em;
   }

   .kiyaku {
    padding: 0px;
   }
}
