h1,
h2,
p {
  margin: 0;
}

body {
  background-color: #ac834a;
  color: #000;
  font-size: 10pt;
  line-height: 1.5;
  margin: 0;
  width: 100%;
}

h1 {
  line-height: 20px;
}

h2 {
  font-size: 18px;
  font-weight: normal;
  margin-bottom: 20px;
}

iframe {
  vertical-align: bottom;
  width: 100%;
}

iframe[name="menu"] {
  height: 110px;
}

iframe[name="top"] {
  height: calc(100vh - 150px);
}

iframe[name="item"] {
  height: 40px;
}

.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.br-mb {
  display: none;
}

.br-sp {
  display: none;
}

.menu-bg {
  position: relative;
  background-image: url(image/fivef_09.jpg);
  background-repeat: repeat-y;
  height: 84px;
}

.menu-bg a {
  display: inline-block;
  margin-left: 674px;
  margin-top: 40px;
}

.menu h1 {
  margin-top: 3px;
  margin-left: 60px;
  height: 22px;
}

.top-main {
  padding: 20px 26px 0;
  margin-left: 50px;
  width: 650px;
  background: #fff;
}

.hr {
  width: 100%;
}

section img {
  object-fit: contain;
  vertical-align: bottom;
  height: 100%;
  width: 100%;
}

.title {
  font-size: 25px;
  font-weight: bold;
  margin-bottom: 10px;
  text-align: center;
}

.subtitle {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}

.button {
  text-align: center;
}

.button a {
  display: inline-block;
}

.button img {
  width: 100%;
  max-width: 180px;
}

/* .btn {
  display: inline-block;
  max-width: 180px;
  text-align: center;
  font-size: 16px;
  text-decoration: none;
  font-weight: bold;
  padding: 10px 24px;
  border-radius: 4px;
}

.btn-img {
  display: inline-block;
  text-decoration: none;
  padding: 10px;
  border-radius: 4px;
}

.btn-img img {
  width: 100px;
}

.orange {
  color: #000;
  background-color: #ffa300;
  border-bottom: 4px solid #d37800;
}

.black {
  color: #fff;
  background-color: #232f3e;
  border-bottom: 4px solid #000;
}

.btn:active,
.btn-img:active {
  transform: translateY(4px);
  border-bottom: none;
  margin-bottom: 4px;
} */

.tu-section .subtitle {
  color: #ff0000;
}

.tu-section .title {
  color: #993300;
}

.tu-img01 {
  display: block;
  margin: 0 auto;
  width: 70%;
}

.tu-box01 {
  text-align: center;
  width: calc(100% / 3);
}

.tu-img02 {
  width: 100%;
  height: 110px;
}

.tu-img03 {
  display: block;
  margin: 0 auto;
  width: 90%;
}

.tu-box02 {
  width: 49%;
}

.tu-box02:first-child {
  margin-right: 2%;
}

.tu-img04 {
  width: 100%;
  height: 280px;
}

.tu-box02 .button {
  margin-top: 10px;
}

summary {
  cursor: pointer;
  font-weight: bold;
}

summary:focus {
  outline: none;
}

.per-section .title {
  color: #000;
}

.per-text {
  width: 50%;
}

.per-img01 {
  width: 20%;
}

.per-img02 {
  width: 30%;
}

.per-section .button {
  margin-top: 10px;
}

.mm-section .subtitle {
  color: #339966;
}

.mm-section .title {
  color: #33cccc;
}

.mm-text01 {
  width: 80%;
}

.mm-img01 {
  width: 20%;
}

.mm-img02,
.mm-img03 {
  width: 45%;
}

.mm-img04 {
  width: 20%;
}

.mm-text02 {
  /* width: 40%; */
  align-self: center;
}

.mm-section .button {
  align-self: center;
}

.rr-section .title {
  color: #808000;
}

.rr-img01 {
  width: 65%;
}

.rr-text {
  width: 35%;
}

.rr-img02 {
  width: 80%;
}

.rr-box {
  margin-top: 20px;
  text-align: center;
  width: 30%;
}

.rr-box > img {
  width: 100%;
  height: 25vw;
}

.zc-text {
  text-align: center;
}

.zc-section .title {
  color: #ff0000;
}

.zc-img01,
.zc-img02 {
  width: 40%;
}

.zc-img03 {
  width: 100%;
}

.zc-section .button {
  margin-bottom: 10px;
}

.mw-img01,
.fw-img01 {
  width: 37%;
}

.mw-text01,
.fw-text01 {
  width: 60%;
  padding-left: 3%;
}

.mw-section .subtitle {
  color: #ff0000;
}

.mw-section .title {
  color: #008000;
  font-size: 20px;
}

.mw-text01 .mw-img02 {
  width: 50%;
  object-fit: contain;
}

.mw-section .button,
.fw-section .button {
  margin-top: 10px;
}

.fw-box {
  margin-bottom: 20px;
}

.fw-section .subtitle {
  color: #000080;
  font-size: 14px;
}

.fw-section .title {
  color: #ff0000;
  font-size: 20px;
}

.fw-img02,
.fw-img03,
.fw-img04 {
  width: 20%;
}

.fw-arrow {
  align-self: center;
  color: #fe0000;
  font-size: 36px;
  font-weight: bold;
  margin: 0 10px;
}

.fw-section .button {
  margin-top: 10px;
}

.tw-flex {
  justify-content: flex-start;
  margin-top: -20px;
}

.tw-section .subtitle {
  align-self: flex-end;
  color: #ff0000;
  font-size: 13px;
}

.tw-logo03 {
  margin-left: 8%;
  width: 10%;
}

.tw-box01 {
  text-align: center;
  width: 30%;
}

.tw-box01 .tw-logo01 {
  width: 100%;
}

.tw-box02 {
  text-align: center;
  width: 50%;
}

.tw-box02 p {
  text-align: left;
}

.tw-img01 {
  width: 20%;
}

.tw-img02 {
  width: 80%;
}

.tw-img03 {
  width: 20%;
}

.tw-box03,
.tw-box04 {
  width: 49%;
}

.tw-box04 {
  margin-left: 2%;
}

.tw-img04,
.tw-img05,
.tw-img06,
.tw-img07 {
  width: 100%;
}

.tw-box05 {
  margin-top: 20px;
  text-align: center;
  width: 23%;
}

.tw-box05:not(:nth-child(4n)) {
  margin-right: calc(8% / 3);
}

.tw-box05 > img {
  width: 100%;
  height: 25vw;
}

.tw-box05 .button {
  margin-top: 10px;
}

.mb-section .subtitle {
  color: #ff0000;
}

.mb-logo01 {
  margin-left: 30%;
  width: 20%;
}
.mb-logo02 {
  margin-left: 10px;
  width: 15%;
}
.mb-img01 {
  margin-left: auto;
  width: 15%;
}

.mb-img02 {
  align-self: flex-start;
  width: 55%;
}

.mb-text {
  margin-left: 3%;
  width: 42%;
}

.mb-text .mb-icon {
  width: 20px;
}

.mb-box01 {
  text-align: center;
  width: 72%;
}

.mb-box01 .mb-img03 {
  width: 100%;
}

.mb-box02 {
  margin-left: 3%;
  width: 25%;
}

.mb-box02 .mb-img04,
.mb-box02 .mb-img05 {
  width: 100%;
}

.pc-text01 {
  width: 78%;
}

.pc-section .subtitle {
  color: #ff0000;
  text-align: left;
}

.pc-section .title {
  color: #7030a0;
  text-align: left;
}

.pc-img01 {
  margin-left: 2%;
  width: 20%;
}

.pc-text02 {
  width: 50%;
}

.pc-img02 {
  width: 50%;
}

.pc-section .button {
  margin-top: 10px;
}

.lcr-box01 {
  align-self: center;
  width: 25%;
}

.lcr-box01 .lcr-img01,
.lcr-box01 .lcr-img02 {
  width: 100%;
}

.lcr-box01 .lcr-img01 {
  margin-bottom: 20px;
}

.lcr-box02 {
  margin-left: 3%;
  width: 72%;
}

.lcr-section .title {
  align-self: center;
  color: #1f497d;
  font-size: 20px;
}

.lcr-logo01 {
  margin-left: 2%;
  width: 24%;
}

.lcr-section .subtitle {
  color: #1f497d;
  font-size: 14px;
  text-align: right;
}

.lcr-box03 {
  margin-left: auto;
  width: 50%;
  text-align: center;
}

.lcr-box03 .lcr-logo02 {
  width: 60%;
}

.pp-box01 {
  text-align: center;
  width: 30%;
}

.pp-box01 .pp-logo01 {
  width: 80%;
}

.pp-box01 p {
  text-align: left;
}

.pp-box02 {
  margin-left: 3%;
  width: 67%;
}

.pp-section .subtitle {
  color: #1f497d;
  font-size: 15px;
  margin-right: auto;
}

.pp-box02 .pp-allin15-01 {
  width: 30%;
}

.pp-box02 .pp-allin15-02 {
  width: 50%;
  margin-left: 3%;
}

.puzzlecube .flex:first-child {
  justify-content: flex-start;
}

.puzzlecube .pp-subtitle {
  margin-right: 3%;
}

.puzzlecube .flex:not(:first-child) {
  justify-content: space-between;
}

.pp-box03 {
  margin-top: 20px;
  text-align: center;
  width: 30%;
}

.pp-box03 .pp-puzzlecube01 {
  width: 40%;
}

.pp-box03 .pp-puzzlecube02 {
  height: 120px;
  width: 60%;
}

.pp-box03 .pp-greatminds {
  width: 50%;
}

.fantasticwirepuzzle {
  width: 65%;
}

.pp-box04 {
  text-align: center;
  width: 46%;
}

.pp-box04 .pp-fantasticwirepuzzles01 {
  width: 20%;
  max-height: 143px;
}

.pp-box04 .pp-fantasticwirepuzzles02 {
  width: 50%;
}

.pp-matchboxpuzzle {
  width: 100%;
}

.matchboxpuzzle table {
  border-collapse: collapse;
  margin-top: 20px;
  width: 49%;
}

.matchboxpuzzle table:first-child {
  margin-right: 2%;
}

.matchboxpuzzle table td {
  border: solid 1px black;
  padding: 0 5px;
}

.pp-section .title {
  color: #ff0000;
  font-size: 18px;
}

.pp-thepuzzlingobscurities-01 {
  width: 30%;
}

.pp-thepuzzlingobscurities-02 {
  width: 65%;
}

.pp-box02.thepuzzlingobscurities .button {
  margin-top: 10px;
}

.tt-logo {
  align-self: flex-start;
  width: 40%;
}

.tt-text01 {
  margin-left: 1%;
  width: 59%;
}

.tt-img {
  align-self: flex-start;
  width: 25%;
}

.tt-text02 {
  text-align: center;
  width: 50%;
}

.tt-pattern01 {
  width: 100%;
}

.tt-pattern {
  width: calc(100% / 6);
}

.tt-section .button {
  margin-top: 10px;
}

.bt-section .title {
  color: #00b050;
}

.bt-img01 {
  width: 30%;
}

.bt-img02 {
  width: 60%;
}

.js-section .title {
  color: #984807;
}

.js-img {
  display: block;
  margin: 0 auto;
  width: 55%;
}

.sp-section .title {
  color: #215968;
}

.sp-img01 {
  width: 40%;
}

.sp-img02 {
  width: 30%;
}

.sp-img03 {
  width: 80%;
}

.tn-section .flex {
  justify-content: flex-start;
}

.tn-box01 {
  width: 35%;
}

.tn-logo,
.tn-img01 {
  width: 100%;
}

.tn-img02 {
  width: 65%;
}

.tn-box02 {
  margin-top: 20px;
  text-align: center;
  width: 18%;
}

.tn-box02:not(:nth-child(5n)) {
  margin-right: calc(10% / 4);
}

.tn-box02 > img {
  width: 100%;
  height: 120px;
}

.gf-section .title {
  color: #ff0000;
}

.gf-section .subtitle {
  color: #008000;
}

.gf-box:not(:last-child) {
  margin-right: calc(8% / 3);
}

.gf-box {
  margin-top: 20px;
  text-align: center;
  width: 23%;
}

.gf-box img {
  max-height: 320px;
}

.gf-box .button {
  margin-top: 10px;
}

@media screen and (max-width: 800px) {
  body,
  .menu-bg {
    background-size: contain;
  }

  .menu-bg a {
    position: absolute;
    top: 0;
    right: 7%;
  }

  .menu h1 {
    margin-left: 7%;
    max-width: 260px;
    width: 50%;
  }

  .menu h1 img {
    width: 100%;
  }

  .top-main {
    margin-left: 6.2vw;
    padding: 20px 4vw 0;
    width: 80vw;
  }
}

@media screen and (max-width: 700px) {
  .br-mb {
    display: block;
  }

  .per-text {
    width: 100%;
  }

  .per-img01,
  .per-img02 {
    width: 50%;
    height: 200px;
    margin: 10px 0;
  }

  .mm-text01 {
    width: 100%;
  }

  .mm-img02,
  .mm-img03 {
    width: 40%;
  }

  .mw-img01,
  .fw-img01 {
    display: none;
  }

  .mw-text01,
  .fw-text01 {
    width: 100%;
    padding-left: 0;
  }

  .mw-section .br-mb,
  .fw-section .br-mb {
    width: 60%;
    margin: 10px auto;
  }

  .fw-section .flex > p {
    margin: 0;
  }

  .tw-logo03 {
    margin-left: 6%;
  }

  .tw-logo02 {
    width: 100%;
  }

  .tw-box01 {
    text-align: center;
    width: 50%;
  }

  .tw-img01 {
    order: 3;
    width: 40%;
  }

  .tw-img03 {
    order: 4;
    width: 30%;
  }

  .tw-img02 {
    order: 5;
    width: 100%;
  }

  .tw-box05:not(:nth-child(4n)) {
    margin-right: 0;
  }
  .tw-box05:not(:nth-child(3n)) {
    margin-right: calc(10% / 2);
  }
  .tw-box05 {
    width: 30%;
  }

  .pc-text01 {
    width: 100%;
  }

  .pc-img01 {
    margin-left: 0;
    margin-top: 10px;
    width: 30%;
  }

  .lcr-box01 {
    display: flex;
    align-items: center;
    justify-content: space-around;
    width: 100%;
  }

  .lcr-box01 .lcr-img01 {
    width: 30%;
  }

  .lcr-box01 .lcr-img02 {
    width: 40%;
  }

  .lcr-box02 {
    margin-left: 0;
    order: -1;
    width: 100%;
  }

  .pp-box01 {
    width: 40%;
  }

  .pp-box02 {
    width: 57%;
  }

  .tn-box02:not(:nth-child(5n)) {
    margin-right: 0;
  }
  .tn-box02:not(:nth-child(4n)) {
    margin-right: calc(8% / 3);
  }

  .tn-box02 {
    width: 23%;
  }

  .gf-box:not(:last-child) {
    margin-right: 0;
  }

  .gf-box {
    width: 50%;
  }

  .gf-box img {
    max-height: 300px;
  }
}

@media screen and (max-width: 480px) {
  .br-sp {
    display: block;
  }
  .subtitle {
    font-size: 14px;
  }

  .title {
    font-size: 22px;
  }

  .tu-img01 {
    width: 100%;
  }

  .tu-box01 {
    text-align: center;
    width: 50%;
  }

  .tu-box02 {
    width: 100%;
  }

  .tu-box02:first-child {
    margin-right: 0;
  }

  .tu-img04 {
    height: auto;
  }

  .per-img01,
  .per-img02 {
    width: 100%;
    max-height: 200px;
  }

  .br-mb {
    display: block;
  }

  .mm-img04 {
    width: 30%;
  }

  .mm-text02 {
    width: 100%;
    text-align: center;
  }

  .rr-img01 {
    margin: 10px 0;
    width: 100%;
  }

  .rr-text {
    display: flex;
    width: 100%;
  }

  .rr-text p,
  .rr-img02 {
    width: 50%;
  }

  .rr-img02 {
    max-width: 250px;
  }

  .rr-box {
    width: 49%;
  }

  .rr-box > img {
    height: 45vw;
  }

  .zc-img01,
  .zc-img02 {
    width: 50%;
  }

  .mw-section .br-mb {
    width: 50%;
  }
  .mw-section .br-mb,
  .fw-section .br-mb {
    width: 50%;
  }

  .mw-text01 .mw-text02 {
    width: 100%;
  }

  .tw-section .subtitle {
    width: 100%;
  }

  .tw-logo03 {
    margin-left: auto;
    order: -1;
  }

  .tw-box01 {
    width: 80%;
  }

  .tw-box02 {
    width: 100%;
  }

  .tw-img01,
  .tw-img03 {
    width: 50%;
  }

  .tw-box03,
  .tw-box04 {
    margin: 0;
    width: 100%;
  }

  .tw-box03 {
    margin-bottom: 10px;
  }

  .tw-box05:not(:nth-child(3n)) {
    margin-right: 0;
  }

  .tw-box05:not(:nth-child(2n)) {
    margin-right: 2%;
  }

  .tw-box05 {
    width: 49%;
  }

  .tw-box05 > img {
    height: 35vw;
  }

  .mb-img02 {
    width: 100%;
  }

  .mb-text {
    margin-left: 0;
    margin: 10px 0;
    width: 100%;
  }

  .mb-box01 {
    width: 100%;
  }

  .mb-box02 {
    display: flex;
    margin-left: 0;
    margin: 10px 0;
    width: 100%;
  }

  .mb-box02 .mb-img04,
  .mb-box02 .mb-img05 {
    width: 50%;
  }

  .pc-img01 {
    width: 40%;
  }

  .pc-text02 {
    width: 100%;
  }

  .pc-img02 {
    width: 60%;
  }

  .pp-box01 {
    width: 80%;
    margin-bottom: 10px;
  }

  .pp-box02 {
    margin-left: 0;
    width: 100%;
  }

  .pp-box03 {
    width: 48%;
  }

  .fantasticwirepuzzle {
    width: 100%;
  }

  .pp-box04 {
    width: 48%;
  }

  .matchboxpuzzle table:first-child {
    margin-right: 0;
    margin-top: 20px;
  }

  .matchboxpuzzle table {
    margin-top: 0;
    width: 100%;
  }

  .matchboxpuzzle table td:first-child {
    width: 40px;
  }

  .pp-thepuzzlingobscurities-01 {
    width: 50%;
  }
  .pp-thepuzzlingobscurities-02 {
    width: 80%;
  }

  .tt-logo {
    width: 80%;
  }

  .tt-text01 {
    margin-left: 0;
    margin: 10px 0;
    width: 100%;
  }

  .tt-text02 {
    order: -1;
    width: 100%;
  }

  .tt-img {
    width: 40%;
  }

  .tn-box02:not(:nth-child(4n)) {
    margin-right: 0;
  }

  .tn-box02:not(:nth-child(3n)) {
    margin-right: calc(10% / 2);
  }

  .tn-box02 {
    width: 30%;
  }

  .gf-box img {
    max-height: 200px;
  }
}
