@charset "UTF-8";
/* ▼▼▼ reset ▼▼▼ */
*,
*::before,
*::after,
*::marker {
  box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin-block-start: 0;
  margin-block-end: 0;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section, menu,
time, mark, audio, video, source {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

ul.nodisc li {
  list-style-type: none !important;
}

body {
  min-height: 100vh;
  line-height: 1.5;
  background: url(../img/common/bg.jpg) repeat-y;
}

h1, h2, h3, h4, button, input, label {
  line-height: 1.5;
}

img, picture {
  max-width: 100%;
  height: auto;
  display: block;
}

input, button, textarea, select {
  font-family: inherit;
  font-size: inherit;
}

textarea:not([rows]) {
  min-height: 10em;
}

:target {
  scroll-margin-block: 5ex;
}

a {
  text-decoration: none;
}
a:hover {
  opacity: 0.8;
  text-decoration: none;
}

li {
  list-style: none;
}

/* ▲▲▲ reset ▲▲▲ */
.pc {
  display: block;
}

.sp {
  display: none;
}

body {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #303030;
}
body.active {
  overflow: hidden;
}

h1 {
  position: relative;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
h1 a {
  position: absolute;
  top: 0px;
  font-size: 1.2em;
  color: #303030;
  display: inline;
  width: 176px;
  pxadding-top: 10px;
}

.top-page-header h1 a {
  background-size: cover;
}

.scrolled {
  background-color: #FFF;
  box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.2);
}
.scrolled h1 a {
  background: url() no-repeat;
  background-size: cover;
}

.child-page-header {
  background-color: #FFF;
}
.child-page-header h1 a {
  background: url(../img/common/logo.png) no-repeat;
  background-size: cover;
}

h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 3.375em;
  font-weight: bold;
}

h3 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2em;
  font-weight: bold;
  line-height: 1.5;
}

h4 {
  font-size: 1.75em;
  font-weight: bold;
}

p {
  font-size: 0.9375em;
  line-height: 1.8;
}

.f32 {
  font-size: 2em;
}

.f24 {
  font-size: 1.5em;
}

.f21 {
  font-size: 1.3125em;
}

.f18 {
  font-size: 1.125em;
}

.f14 {
  font-size: 0.875em;
}

.zen {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 62px;
  z-index: 10;
  background-color: #FFF;
}
header nav {
  justify-content: space-between;
  padding: 1em 2.5em;
}
header nav ul.header_menu {
  gap: 2.5em;
  height: 26px;
  align-items: center;
}
header nav ul.header_menu li.parent a.parent_a {
  color: #000;
  font-size: 0.92em;
  letter-spacing: 1px;
}
header.top-page-header nav ul.header_menu li.parent a.parent_a {
  color: #303030;
  font-weight: 600;
}
header.scrolled nav ul.header_menu li.parent a.parent_a {
  color: #000;
  font-weight: 400;
}
header.scrolled nav .header_menu_wrap .menu_btn span::before, header.scrolled nav .header_menu_wrap .menu_btn span::after {
  background-color: #003387;
}
header.scrolled nav .header_menu_wrap .menu_btn.active span::before, header.scrolled nav .header_menu_wrap .menu_btn.active span::after {
  background-color: #303030;
}

.child-page {
  mxargin-top: 80px;
}

.section_inner {
  position: relative;
  width: calc(100% - 32px);
  max-width: 980px;
  margin: 0 auto;
  z-index: 1;
}

.flex_wrap {
  display: flex;
}

.fade_in {
  opacity: 0;
  transform: translate(0, 0);
  transition: all 0.8s;
}
.fade_in.fade_in_left {
  transform: translate(-80px, 0);
}
.fade_in.fade_in_right {
  transform: translate(40px, 0);
}
.fade_in.fade_in_up {
  transform: translate(0, -40px);
}
.fade_in.fade_in_bottom {
  transform: translate(0, 30px);
}
.fade_in.active {
  opacity: 1;
  transform: translate(0, 0);
}

.btn_wrap {
  margin-top: 1.8em;
  text-align: center;
}
.btn_wrap a {
  position: relative;
  display: block;
  width: 80%;
  color: #303030;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1em;
  font-weight: bold;
  border: 2px solid #303030;
  padding: 0.55em 0.65em;
  margin: 0 auto;
}
.btn_wrap a::after {
  content: "";
  position: absolute;
  top: calc(50% - 8px);
  bottom: 0;
  right: 14px;
  width: 10px;
  height: 16px;
  background: url(../img/common/arrow_k.png) no-repeat;
  background-size: cover;
}
.btn_wrap a:hover {
  opacity: 0.7;
  background: #FFF;
  text-decoration: none;
}
.btn_wrap a:hover::after {
  bxackground: url(../img/common/arrow_k.png) no-repeat;
  bxackground-size: cover;
}

.btn_wrap_b {
  margin-top: 1.8em;
  text-align: center;
}
.btn_wrap_b a {
  position: relative;
  display: block;
  width: 80%;
  color: #FFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1em;
  font-weight: bold;
  border: 2px solid #303030;
  background-color: #303030;
  padding: 0.65em 0.65em;
  margin: 0 auto;
  letter-spacing: 1px;
}
.btn_wrap_b a::after {
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  bottom: 0;
  right: 24px;
  width: 12px;
  height: 20px;
  background: url(../img/common/arrow_w.png) no-repeat;
  background-size: cover;
}
.btn_wrap_b a:hover {
  opacity: 0.7;
  bxackground: #FFF;
  text-decoration: none;
}
.btn_wrap_b a:hover::after {
  bxackground: url(../img/common/arrow_k.png) no-repeat;
  bxackground-size: cover;
}

.btn_wrap_c {
  margin-top: 0.8em;
  text-align: center;
}
.btn_wrap_c a {
  position: relative;
  display: block;
  width: 92%;
  color: #303030;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.8em;
  font-weight: bold;
  border: 1px solid #303030;
  padding: 0.45em 0.65em;
  margin: 0 auto;
}
.btn_wrap_c a::after {
  content: "";
  position: absolute;
  top: calc(50% - 5px);
  bottom: 0;
  right: 6px;
  width: 6px;
  height: 10px;
  background: url(../img/common/arrow_k.png) no-repeat;
  background-size: cover;
}
.btn_wrap_c a:hover {
  opacity: 0.7;
  background: #FFF;
  text-decoration: none;
}
.btn_wrap_c a:hover::after {
  bxackground: url(../img/common/arrow_k.png) no-repeat;
  bxackground-size: cover;
}

#contact {
  position: relative;
  background: url(../img/common/contact_bg.jpg) no-repeat;
  background-size: cover;
  padding: 3.75em 0;
}
#contact .section_inner {
  text-align: center;
}
#contact .section_inner .ttl_wrap {
  color: #FFF;
  margin-bottom: 1.8em;
}
#contact .section_inner .ttl_wrap h3 {
  font-size: 1.125em;
}
#contact .section_inner .ttl_wrap h2 {
  letter-spacing: 0.1em;
}
#contact .section_inner .contact_wrap {
  background: #FFF;
  padding: 2.5em 3em;
}
#contact .section_inner .contact_wrap p.f18 {
  font-weight: 500;
  margin-bottom: 2em;
}
#contact .section_inner .contact_wrap .flex_wrap {
  align-items: flex-start;
  gap: 2.5em;
}
#contact .section_inner .contact_wrap .flex_wrap .text {
  width: 50%;
  text-align: left;
}
#contact .section_inner .contact_wrap .flex_wrap .text p.flex_wrap {
  align-items: center;
  color: #303030;
  font-size: 1.5em;
  gap: 0;
}
#contact .section_inner .contact_wrap .flex_wrap .text p.flex_wrap a {
  color: #F39005;
  font-size: 2em;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.1em;
  margin-left: 0.25em;
}
#contact .section_inner .contact_wrap .flex_wrap .text p.flex_wrap a:hover {
  text-decoration: none;
}
#contact .section_inner .contact_wrap .flex_wrap .text p.time {
  font-size: 0.875em;
}
#contact .section_inner .contact_wrap .flex_wrap .btn_wrap {
  width: 50%;
}
#contact .section_inner .contact_wrap .flex_wrap .btn_wrap a {
  letter-spacing: 0.1em;
}

footer {
  width: 980px;
  margin: 0 auto;
  background-color: #FFF;
  padding: 7.5em 0 2.5em;
}
footer .footer_inner {
  gap: 10%;
  position: relative;
  width: 980px;
  margin: 0 auto;
  padding: 0 2em 1em;
}
footer .footer_inner .logo {
  width: 100%;
  min-width: 252px;
  padding-bottom: 2em;
  text-align: center;
}
footer .footer_inner .logo a {
  display: inline-block;
  margin-bottom: 2em;
}
footer .footer_inner .logo a img {
  width: 180px;
}
footer .footer_inner .logo p {
  color: #303030;
  font-size: 1.4em;
  font-weight: 900;
  text-align: start;
}
footer .footer_inner .logo p:last-child {
  color: #000;
  font-size: 0.75em;
  font-weight: normal;
  margin-top: 0.8em;
}
footer .footer_inner .footer_menu {
  width: 100%;
}
footer .footer_inner .footer_menu .footer_menu_parent_wrap ul {
  gap: 2.6em;
  border-top: none;
}
footer .footer_inner .footer_menu .footer_menu_parent_wrap ul li a {
  display: block;
  color: #303030;
  font-size: 2em;
  font-weight: 500;
  padding: 0.2em 0;
}
footer .footer_inner .footer_menu .footer_menu_item_wrap:not(:last-child) {
  margin-bottom: 1.875em;
}
footer .footer_inner .footer_menu .footer_menu_item_wrap a.footer_menu_item_parent {
  display: block;
  color: #303030;
  font-size: 0.9375em;
  font-weight: 500;
  margin-bottom: 0.5em;
}
footer .footer_inner .footer_menu .footer_menu_item_wrap .footer_menu_item_box {
  gap: 1.25em;
}
footer .footer_inner .footer_menu .footer_menu_item_wrap .footer_menu_item_box ul {
  width: calc(50% - 0.625em);
}
footer .footer_inner .footer_menu .footer_menu_item_wrap .footer_menu_item_box ul li {
  margin-bottom: 0.25em;
}
footer .footer_inner .footer_menu .footer_menu_item_wrap .footer_menu_item_box ul li a {
  color: #000;
  font-size: 0.8125em;
}
footer .footer_inner .footer_menu .copyright {
  cxolor: rgba(0, 0, 0, 0.5);
  font-size: 0.5em;
  font-weight: 400;
  border-top: none;
  padding-top: 8em;
  text-align: center;
  letter-spacing: 0.5px;
}
footer .page_top {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  right: 30px;
  bottom: 20px;
  height: 34px;
  width: 34px;
  border-radius: 4px;
  background: #303030;
  transform: rotate(45deg);
  z-index: 10;
}
footer .page_top img {
  width: 22px;
  height: auto;
  transform: rotate(-45deg);
}

.child-page #child_page_ttl {
  color: #FFF;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  background: #303030;
  padding: 2em 1em;
}
.child-page #child_page_ttl h2 {
  margin-bottom: 0.5em;
}
.child-page #child_page_ttl h2 span {
  position: relative;
}
.child-page #child_page_ttl h2 span::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: calc(50% - 29px);
  background-color: #FFF;
  width: 58px;
  height: 1px;
}

#cmn_box1 .section_inner .fw_text {
  margin: 7.5em 0 0;
}
#cmn_box1 .section_inner .fw_text p.mt1 {
  margin-top: 2em;
}

#photo_list {
  margin-top: 2.4em;
}
#photo_list ul {
  display: flex;
  flex-wrap: wrap;
  jxustify-content: space-between;
  gap: 16px;
}
#photo_list ul li {
  flex: 1 1 calc(50% - 8px);
}
#photo_list ul li.wide {
  flex: 1 1 100%;
}/*# sourceMappingURL=common.css.map */