@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}
* {
  font-family: -apple-system, "BlinkMacSystemFont", "Helvetica Neue", Helvetica,
    "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ",
    Meiryo, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #d9534f;
  --orange: #fd7e14;
  --yellow: #f0ad4e;
  --green: #4bbf73;
  --teal: #20c997;
  --cyan: #1f9bcf;
  --white: #fff;
  --gray: #919aa1;
  --gray-dark: #343a40;
  --gray-light: #e6e6e6;
  --primary: #1a1a1a;
  --secondary: #fff;
  --success: #4bbf73;
  --info: #1f9bcf;
  --warning: #f0ad4e;
  --danger: #d9534f;
  --light: #fff;
  --dark: #343a40;

  --size-1: 0.25rem;
  --size-2: 0.5rem;
  --size-3: 1rem;
  --size-4: 1.5rem;
  --size-5: 3rem;
}

/* index/main */

main {
  width: 100%;
  height: 300px;
  text-align: center;
}

main img.mainLogo {
  width: 300px;
  position: relative;
  z-index: 12;
  margin: 75px auto 0 auto;
}

div.topimg {
  /*後で画像を貰った時に再度設定 */
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300px;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 5;
}

div.topimg > div {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

div.topimg > div:nth-child(1) {
  background-image: url("../image/topimg1.jpg");
  animation: slide01 24s infinite;
}
div.topimg > div:nth-child(2) {
  background-image: url("../image/topimg2.jpg");
  animation: slide02 24s infinite;
}
div.topimg > div:nth-child(3) {
  background-image: url("../image/topimg3.jpg");
  animation: slide03 24s infinite;
}
@keyframes slide01 {
  0% {
    opacity: 1;
  }
  30% {
    opacity: 1;
  }
  40% {
    opacity: 0;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes slide02 {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  70% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes slide03 {
  0% {
    opacity: 0;
  }
  60% {
    opacity: 0;
  }
  70% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* footer */

div#footer {
  background: var(--gray-dark);
  color: var(--white);
  padding: var(--size-3);
}

div#footer p {
  margin: 0;
}

/* 汎用content */
h2 {
  font-size: 1.25rem;
  color: var(--info);
  position: relative;
  padding-bottom: var(--size-3);
  margin: 1rem auto;
}
h2 span {
  font-size: 70%;
  color: #343a40;
  margin-left: var(--size-2);
}

h2::before {
  content: "";
  display: block;
  background: var(--gray-light);
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
}
h2::after {
  content: "";
  display: block;
  background: var(--info);
  width: 120px;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
}

h3 {
  font-size: 1.25rem;
  color: var(--dark);
  padding-bottom: var(--size-1);
  margin: 1rem auto;
  border-left: solid 15px var(--info);
  padding-left: var(--size-2);
  padding-bottom: 0;
  line-height: var(--size-5);
}

h4 {
  font-size: 1rem;
  color: var(--dark);
  padding-bottom: var(--size-1);
  margin: 1rem auto;
}

/* nav */
nav.navbar {
  border: 0 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
}

nav > img {
  width: 120px;
}

/* nav//indexページ用 */

body.index nav img {
  display: none;
}

/* navPC固定ここから */
body:not(.index) nav.navbar {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}
div.nav_below {
  margin-top: 110px;
}
/* navPC固定ここまで */

/* section */

.section_body {
  padding: var(--size-4);
}

.section_body p {
  text-indent: var(--size-3);
}
.section_body dl {
  flex-wrap: wrap;
}
.section_body dl * {
  word-break: break-all;
  margin-bottom: var(--size-2);
  padding-bottom: var(--size-2);
  border-bottom: solid 1px var(--gray-light);
}

.section_body dl dt {
  width: 6rem;
}
.section_body dl dd {
  width: calc(100% - 6rem);
}

/* section//細かいパーツ */
button.guidebook {
  font-size: 125%;
  border-radius: 5px;
}

/* blog用 */
#sidebar > div {
  margin-bottom: var(--size-5);
}

#sidebar ul {
  list-style: none;
  padding-left: var(--size-3);
}
#sidebar ul li {
  margin-bottom: var(--size-2);
}

div.blog_wrap {
  margin-bottom: var(--size-5);
  padding-bottom: var(--size-5);
  position: relative;
}

div.blog_wrap::before {
  content: "";
  display: block;
  background: var(--gray-light);
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: 0;
  right: 0;
}
div.blog_wrap::after {
  content: "";
  display: block;
  background: var(--info);
  width: 240px;
  height: 3px;
  position: absolute;
  bottom: 0;
  right: 0;
}

div.blog_wrap:last-child {
  border-bottom: 0px;
}

div.blog_body img {
  max-width: 100%;
}

p.date {
  text-align: right;
}
p.blog_footer a {
  color: var(--info);
}

div.spbar div a {
  display: inline-block;
  width: 100%;
  height: 100%;
}

div.spbar div a i.fa-home {
  margin-left: -3px;
}

/* admin */
body.admin nav {
  background-color: var(--gray) !important;
}

body.admin div.card {
  max-width: 640px;
  margin: auto;
}

ul.admin_menu {
  list-style: none;
}

ul.admin_menu li a {
  display: inline-block;
  width: 100%;
  height: 100%;
}

/* 会社一覧 */
table#admin_company_link td:nth-child(3) {
  width: 200px;
}
table#admin_company_link td:nth-child(3) img {
  width: 100%;
}
table#admin_company_link td:last-child {
  text-align: center;
  width: 14rem;
}

table#admin_company_link .bg-new {
  background-color: var(--gray-light);
}

/* news */
table#admin_news_list td {
  vertical-align: middle;
}

table#admin_news_list td:nth-child(1) {
  width: 8rem;
}

table#admin_news_list td:last-child {
  text-align: center;
  width: 14rem;
}

table#admin_news_list .bg-new {
  background-color: var(--gray-light);
}

/* top */

table#admin_top td:nth-child(1) {
  width: 5rem;
}
table#admin_top td:nth-child(3) {
  width: 6rem;
  text-align: center;
}
table#admin_top td img {
  width: 100%;
}
table#admin_top .bg-new {
  background-color: var(--gray-light);
}

/* movie */

table#admin_movie td:nth-child(1) {
  width: 5rem;
}
table#admin_movie td:nth-child(2) {
  text-align: center;
}
table#admin_movie td:nth-child(2) p {
  text-align: left;
}
table#admin_movie td:nth-child(3) {
  width: 14rem;
  text-align: center;
}

table#admin_movie .bg-new {
  background-color: var(--gray-light);
}

/* blog_list */
table#admin_blog_list td {
  vertical-align: middle;
}

table#admin_blog_list td:nth-child(1) {
  width: 8rem;
}

table#admin_blog_list td:last-child {
  text-align: center;
  width: 14rem;
}

table#admin_blog_list .bg-new {
  background-color: var(--gray-light);
}

/* blog */

body.admin div#admin_blog_add.card,
body.admin div#admin_blog_add div.card {
  max-width: 900px;
}

div.note-editable {
  height: 30rem;
}
