@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700|Open+Sans:400,700&display=swap");
body {
  font-family: 'Noto Sans JP', 'Open Sans',-apple-system, "Roboto", "Helvetica Neue", "Droid Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "Osaka", "MS PGothic", arial, sans-serif;
  line-height: 1.75;
  background: #FFFFFF;
  color: #333333;
}

header {
  width: 100vw;
  height: 120px;
  margin: 0 auto;
  padding: 0 72px;
  background-color: #B72E23;
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
  list-style-type: none;
  z-index: 99 !important;
}

@media screen and (max-width: 1150px) {
  header {
    padding: 0 20px;
  }
  header .menu .menu_item {
    display: none;
  }
}

header a {
  text-decoration: none;
}

header .logo .title .local {
  margin-top: 36px;
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
}

header .logo .title .sub {
  margin-top: 8px;
  font-size: 16px;
  line-height: 1;
}

header .logo a {
  display: flex;
  color: #FFFFFF;
}

header .logo-img {
  width: 80px;
  height: 80px;
  border-radius: 40px;
  margin: 20px 16px 20px 0px;
}

header .menu {
  display: flex;
}

header .menu_item {
  font-size: 14px;
  font-weight: 700;
  border-top: 2px solid #FFFFFF;
  color: #FFFFFF;
  margin: 48px 16px 0 0;
  padding: 8px;
  line-height: 1;
}

header .bogo-language-switcher {
  background-color: #fff;
  padding: 16px;
  z-index: 99;
  position: absolute;
  border-radius: 4px;
  display: none;
  box-shadow: 0px 0px 62px -33px #333333;
  width: 160px;
  box-sizing: border-box;
  margin: 4px -4px;
}

header .bogo-language-switcher {
  background-color: #fff;
  padding: 16px;
  z-index: 99;
  position: absolute;
  border-radius: 4px;
  display: none;
  box-shadow: 0px 0px 62px -33px #333333;
  width: 160px;
  box-sizing: border-box;
  margin: 4px -4px;
}

header .bogo-language-switcher ul li {
  padding: 8px;
  font-size: 14px;
}

header .bogo-language-switcher .current {
  display: none;
}

header .language {
  margin-top: 46px;
  width: 150px;
  height: 24px;
  font-size: 12px;
  border-radius: 4px;
  padding: 4px 8px;
  font-weight: 700;
  color: #333333;
  background-color: #FFFFFF;
  line-height: 24px;
  position: relative;
  cursor: pointer;
}

header .language::after {
  content: "";
  display: block;
  position: absolute;
  top: 11px;
  left: 92%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top: 10px solid #333333;
  border-bottom-width: 0;
}

header .humburger {
  width: 25px;
  height: 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: auto 0;
  cursor: pointer;
  display: none;
}

header .hum-3 {
  width: 25px;
  height: 2px;
  border-radius: 2px;
  background-color: #fff;
  display: inline-block;
  margin-bottom: 0px;
}

header .hum {
  width: 25px;
  height: 2px;
  border-radius: 2px;
  margin-bottom: 4px;
  background-color: #fff;
  display: inline-block;
}

@media screen and (max-width: 750px) {
  header {
    width: 100%;
    height: 54px;
    margin: 0 auto 0 auto;
    padding: 0 20px;
    position: fixed;
  }
  header .logo-img {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    margin: 14px 0px 0px 0px;
  }
  header .menu {
    width: 100vw;
    height: auto;
    background: #B72E23;
    position: fixed;
    top: 54px;
    left: 0;
    display: none;
  }
  header .menu .menu_item {
    display: block;
    padding: 8px;
    text-align: center;
    width: 100%;
  }
  header .logo .title .local {
    margin-top: 14px;
    margin-left: 8px;
    font-weight: 700;
    font-size: 11px;
    line-height: 1;
  }
  header .logo .title .sub {
    margin-top: 4px;
    margin-left: 8px;
    font-size: 10px;
    line-height: 1;
  }
  header .logo a {
    display: flex;
    color: #FFFFFF;
  }
  header .humburger {
    display: flex;
  }
  header .language {
    margin: 32px auto;
  }
}

/*------------------------------------*\
    Main
\*------------------------------------*/
main {
  margin: 0 72px;
}

main p {
  margin: 40px auto;
  max-width: 944px;
  font-size: 16px;
}

main strong {
  font-weight: 700;
}

main ul {
  margin: auto;
  max-width: 944px;
  font-size: 16px;
}

main ol {
  margin: auto;
  max-width: 944px;
  font-size: 16px;
 list-style: decimal;
 padding:5px 0 5px 35px;
}

main table {
  margin: auto;
  max-width: 944px;
  font-size: 16px;
}

main table td {
  padding: 8px;
}

main .wp-block-gallery {
  max-width: 592px;
  margin: 0 auto;
}

main .wp-block-gallery ul .blocks-gallery-grid {
  margin: 0 auto;
}

main h2 {
  display: flex;
  align-items: center;
  font-weight: 700;
  font-size: 32px;
  color: #B72E23;
  margin: 120px 0 40px;
}

main h2:before, main h2:after {
  content: "";
  height: 2px;
  flex-grow: 1;
  background-color: #B72E23;
}

main h2:before {
  margin-right: 30px;
}

main h2:after {
  margin-left: 30px;
}

main figure.wp-block-embed-youtube.is-type-video {
  position: relative;
  width: 50%;
  height: 0;
  padding-bottom: 28.125%;
  margin: 0 auto;
}

main figure.wp-block-embed.is-type-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 750px) {
  main h2 {
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: 18px;
    color: #B72E23;
    margin: 160px 0 40px;
  }
  main h2:before, main h2:after {
    content: "";
    height: 2px;
    flex-grow: 1;
    background-color: #B72E23;
  }
  main h2:before {
    margin-right: 4px;
  }
  main h2:after {
    margin-left: 4px;
  }
  main figure.wp-block-embed-youtube.is-type-video {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    margin: 0 auto;
  }
}

hr {
  border: 1px solid #B72E23;
}

.model3d {
  margin: auto;
  text-align: center;
  margin: 80px 0;
}

@media screen and (max-width: 750px) {
  main {
    overflow: hidden;
    margin: 0px 5vw;
    padding-top: 54px;
    text-align: justify;
  }
  .model3d {
    margin: 80px 0;
  }
  .model3d iframe {
    width: 339px !important;
    height: 320px !important;
  }
}

/*------------------------------------*\
  Button
\*------------------------------------*/
.button {
  border-radius: 8px;
  padding: 31px 0 33px;
  font-weight: 700;
  color: #FFFFFF;
  display: block;
  text-align: center;
  font-size: 24px;
  text-decoration: none;
  max-width: 848px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
  margin: 0 auto;
}

.button-red {
  background: #B72E23;
}

.button-black {
  background: #333333;
}

.button-pad {
  margin: 80px auto 0;
}

@media screen and (max-width: 750px) {
  .button {
    border-radius: 8px;
    line-height: 75px;
    padding: 0;
    font-weight: 700;
    color: #FFFFFF;
    display: block;
    text-align: center;
    font-size: 16px;
    text-decoration: none;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
    margin: 0 auto;
  }
}

.post-list {
  display: flex;
  margin: 0 auto;
  overflow: scroll;
}

.post-omoide {
  width: 33%;
  margin: 0 8px;
  padding: 16px;
  border: 1px solid #333333;
  border-radius: 8px;
  box-sizing: border-box;
  min-width: 368px;
}



@media screen and (max-width: 750px) {
  .post-omoide {
    margin: 0px 8px 32px;
  }
}

/*------------------------------------*\
  Footer
\*------------------------------------*/
footer {
  margin: 123px 72px 100px;
  font-size: 12px;
}

footer .copyright {
  margin-top: 43px;
}

@media screen and (max-width: 750px) {
  .post-omoide {
    margin: 32px 8px;
  }
  footer {
    margin: 123px 5vw 100px;
    font-size: 12px;
  }
}

header .active {
  display: block;
}

.details-model3d-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-evenly;
}

.model3d-item {
  width: 560px;
}

.model3d-title {
  font-weight: 700;
  font-size: 24px;
  padding: 22px 0;
  line-height: 32px;
}

.details-omoide-list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  margin-bottom: 32px;
  justify-content: space-around;
}

.omoide-item {
  min-width: 300px;
  width: calc(33.333333% - 16px);
  margin: 8px;
  padding: 16px;
  border: 1px solid #333333;
  border-radius: 8px;
  box-sizing: border-box;
}

@media screen and (max-width: 750px) {
  .model3d-item {
    width: 100%;
  }
  .model3d-item iframe {
    width: 95vw;
  }
  .model3d-title {
    font-size: 16px;
  }
  .details-omoide-list .omoide-item {
    width: 95vw;
    min-width: 0px;
  }
}
