@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Sawarabi+Gothic&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
* {
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
  line-height: 1.5;
  overflow-wrap: break-word;
}

body {
  -webkit-text-size-adjust: 100%;
  margin: 0;
  padding: 0;
}

div#pages {
  margin: 0;
  padding: 0;
  background-position: inherit;
  overflow: inherit;
}

* {
  box-sizing: border-box;
}

*::before, *::after {
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6, ul, li, fieldset {
  margin: 0;
  padding: 0;
  font-size: 100%;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
}

table {
  border-collapse: collapse;
}

table[cellspacing] {
  border-collapse: separate;
}

a {
  text-decoration: none;
  cursor: pointer;
}

a:link {
  text-decoration: none;
  cursor: pointer;
}

a:hover {
  text-decoration: underline;
}

hr {
  border: 0;
  border-top: 1px solid #999;
}

i {
  font-style: normal;
}

li {
  list-style: none;
}

nobr {
  white-space: normal;
}

input[type=text], input[type=password] {
  -webkit-appearance: none;
  -webkit-border-radius: 0px;
  border: 1px solid #ccc;
}

input[type=submit], input[type=button] {
  -webkit-appearance: none;
  -webkit-border-radius: 0px;
}

textarea {
  -webkit-appearance: none;
  -webkit-border-radius: 0px;
  border: 1px solid #ccc;
}

select {
  -webkit-appearance: none;
  -webkit-border-radius: 0px;
  border: 1px solid #ccc;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

:root {
  --font-size: 1.6rem; /* ページの標準文字サイズ */
  --font-family: -apple-system, BlinkMacSystemFont, "Sawarabi Gothic", "Noto Sans JP", "Hiragino Sans", Meiryo, "sans-serif";
  --bg-color: #fff; /* ページ全体の背景色 */
  --main-color: #014099; /* ページのメインカラー */
  --main-text-color: #fff; /* ページメインカラー上の文字色 */
  --sub-color: #FABE00; /* ページのサブカラー */
  --sub-light-color: #FDE28C; /* ページのサブカラーの透明（薄い背景用） */
  --accent-color1: #826403; /* ページのアクセントカラー1 */
  --accent-color2: #400181; /* ページのアクセントカラー2 */
  --text-color: #000; /* ページ全体の文字色 */
  --link-color: #000; /* ページ全体のリンクの文字色 */
  --sp-link-color: #000; /* モバイル閲覧時のページ全体のリンクの文字色 */
  --border-color: #b3b3b3; /* 線の色 */
  --hover-opacity: 0.8;
  --box-shadow: 0 0px 7px #ccc;
}

.bgColor {
  background: var(--bg-color);
  color: var(--main-color);
}

.mainBgColor {
  background: var(--main-color);
  color: var(--main-text-color);
}

.subBgColor {
  background: var(--sub-color);
  color: var(--main-color);
}

.subLightBgColor {
  background: var(--sub-light-color);
  color: var(--main-color);
}

html {
  scroll-behavior: smooth;
}

p {
  margin: 0;
  line-height: 1.75;
  min-height: 1.75em;
}

@media (min-width: 960.1px) {
  a {
    color: var(--link-color);
  }
}
@media (max-width: 960px) {
  a {
    color: var(--sp-link-color);
  }
}

.align-left {
  text-align: left;
}

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

.align-right {
  text-align: right;
}

.mainColor {
  background: var(--main-color);
}

.subColor {
  background: var(--sub-color);
}

@media (max-width: 960px) {
  .PC {
    display: none !important;
  }
  .PCflex {
    display: none !important;
  }
  .SP {
    display: block !important;
  }
  .SPflex {
    display: flex !important;
  }
}
@media (min-width: 960.1px) {
  .PC {
    display: block !important;
  }
  .PCflex {
    display: flex !important;
  }
  .SP {
    display: none !important;
  }
  .SPflex {
    display: none !important;
  }
}
@media (max-width: 1280px) {
  .PCGnav {
    display: none !important;
  }
  .SPGnav {
    display: block !important;
  }
}
@media (min-width: 1280.1px) {
  .PCGnav {
    display: block !important;
  }
  .PC.wide {
    display: none !important;
  }
  .SPGnav {
    display: none !important;
  }
}
.mainContent .mt0 {
  margin-top: 0;
}
.mainContent .mb0 {
  margin-bottom: 0;
}

a.fancybox {
  text-decoration: none;
}
a.fancybox img {
  cursor: zoom-in;
}
a.fancybox::after {
  display: block;
  border: 1px solid #444;
  width: 200px;
  margin: 20px auto 0;
  color: #444;
  font-size: 1.2rem;
}
@media (min-width: 960.1px) {
  a.fancybox::after {
    content: "画像クリックで拡大します";
  }
}
@media (max-width: 960px) {
  a.fancybox {
    pointer-events: none;
  }
  a.fancybox::after {
    content: "ピンチで拡大してご覧ください";
  }
}

#fancybox-wrap,
#fancybox-wrap * {
  box-sizing: content-box;
}

body > img[src*="/cgi-bin/acc/"] {
  position: absolute;
  top: 0;
  right: 0;
}

body {
  background: var(--bg-color);
  color: var(--text-color);
  font-family: var(--font-family);
}

.wrap_root {
  padding-bottom: 100px;
}

.mainContent, .footer {
  font-size: var(--font-size);
  word-break: break-all;
}

.pageParts {
  padding: 30px 0;
}

.inner {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
}
@media (max-width: 1520px) {
  .inner {
    padding: 0 30px;
  }
}
@media (max-width: 960px) {
  .inner {
    padding: 0 10px;
  }
}

.fixedPageTopNav a {
  display: block;
  height: 44px;
  background: var(--sub-color);
  color: #fff;
  line-height: 24px;
  font-weight: 700;
  padding: 10px 20px;
  border-radius: 10px;
}
.fixedPageTopNav a::after {
  content: "";
  position: relative;
  display: inline-block;
  margin-left: 10px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: #fff;
}
.fixedPageTopNav a {
  position: fixed;
  bottom: 20px;
  right: 30px;
  width: 126px;
  font-size: 1.4rem;
}
.fixedPageTopNav a::after {
  width: 12px;
  height: 10.3923048454px;
}

input[type=text], input[type=password],
input[type=submit], input[type=button],
textarea, select {
  font-family: var(--font-family);
  font-size: var(--font-size);
}

#wpadminbar {
  position: absolute;
}

body.open { /* ハンバーガーメニューを開いた時のbodyにかけるシャドウ */ }
@media (max-width: 960px) {
  body.open {
    position: relative;
  }
  body.open::after {
    content: "";
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
  }
}

a:hover {
  text-decoration: none;
}

#header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background: var(--bg-color);
  color: var(--main-color);
  font-size: var(--font-size);
  z-index: 99;
}
#header .headerInner {
  display: flex;
  height: 80px;
  padding: 0 30px;
}
@media (max-width: 960px) {
  #header .headerInner {
    height: 50px;
    padding: 0 10px;
  }
}
#header .headerInner h1 {
  display: flex;
  align-items: center;
  gap: 20px;
}
#header .headerInner h1 img {
  height: 45px;
}
#header .headerInner h1 a {
  font-size: 3rem;
  display: flex;
  height: 80px;
  justify-content: center;
  align-items: center;
}
#header .headerInner h1 a img {
  height: 45px;
}
@media (max-width: 1280px) {
  #header .headerInner h1 a img {
    height: 30px;
  }
}
#header .headerInner h1 a strong {
  font-size: 1.4rem;
  color: var(--main-color);
  margin-right: 8px;
}
@media (max-width: 1280px) {
  #header .headerInner h1 a strong {
    font-size: 1.2rem;
  }
}
@media (max-width: 960px) {
  #header .headerInner h1 {
    gap: 12px;
  }
  #header .headerInner h1 img {
    height: 30px;
  }
  #header .headerInner h1 a {
    font-size: 2rem;
  }
  #header .headerInner h1 a img {
    height: 30px;
  }
}
#header .headerInner .hamburger {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  background: var(--main-color);
  color: var(--main-text-color);
}
#header .headerInner .hamburger::before {
  content: "";
  position: absolute;
  top: 35px;
  left: 10px;
  width: 30px;
  height: 2px;
  background: var(--main-text-color);
  transition: all 0.3s;
}
#header .headerInner .hamburger::after {
  content: "";
  position: absolute;
  bottom: 24px;
  left: 10px;
  width: 30px;
  height: 2px;
  background: var(--main-text-color);
  transition: all 0.3s;
  box-shadow: 0 -10px 0 var(--main-text-color);
}
@media (max-width: 960px) {
  #header .headerInner .hamburger {
    display: block;
  }
}
#header .headerInner .hamburger.open::before {
  top: 24px;
  left: 12px;
  width: 25.8px;
  height: 2.5px;
  transform: rotate(45deg);
}
#header .headerInner .hamburger.open::after {
  bottom: 23.5px;
  left: 12px;
  width: 25.8px;
  height: 2.5px;
  transform: rotate(-45deg);
  box-shadow: none;
}
@media (min-width: 960.1px) {
  #header .headerInner .headerNav {
    margin-left: auto;
  }
  #header .headerInner .headerNav .globalMenuOuter {
    display: block !important;
    overflow: visible !important;
  }
  #header .headerInner .headerNav ul.globalMenu {
    display: flex;
    min-height: 80px;
    gap: 0 20px;
  }
  #header .headerInner .headerNav ul.globalMenu > li {
    position: relative;
    display: flex;
    align-items: center;
  }
  #header .headerInner .headerNav ul.globalMenu > li a {
    position: relative;
    display: flex;
    font-size: var(--font-size);
    align-items: center;
    font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
  }
  #header .headerInner .headerNav ul.globalMenu > li:not(.snsIcon) a:hover::after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--main-color);
  }
}
@media (max-width: 960px) {
  #header .headerInner .headerNav .globalMenuOuter {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: auto;
  }
  #header .headerInner .headerNav ul.globalMenu {
    position: relative;
    background: var(--bg-color);
    max-height: calc(100vh - 50px);
    padding: 20px;
    overflow-y: scroll;
    z-index: 90;
  }
  #header .headerInner .headerNav ul.globalMenu > li {
    position: relative;
  }
  #header .headerInner .headerNav ul.globalMenu > li > a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 10px;
    font-size: calc(var(--font-size) * 1.125);
    padding: 12px 0;
    border-bottom: 1px solid var(--border-color);
  }
  #header .headerInner .headerNav ul.globalMenu > li:has(.subMenu) > a::after {
    content: "";
    position: absolute;
    top: calc(50% - 2px);
    right: 10px;
    width: 12px;
    height: 6px;
    background: var(--main-color);
    aspect-ratio: 2/1;
    clip-path: polygon(50% 75%, 95% 0%, 100% 20%, 50% 100%, 0 20%, 5% 0);
  }
  #header .headerInner .headerNav ul.globalMenu ul.subMenu {
    display: none;
    background: var(--bg-color);
    border-bottom: 1px solid var(--border-color);
    padding: 20px 20px;
  }
  #header .headerInner .headerNav ul.globalMenu ul.subMenu a {
    display: block;
  }
  #header .headerInner .headerNav ul.globalMenu ul.subMenu > li:not(:last-child) {
    padding-bottom: 1em;
  }
  #header .headerInner .headerNav ul.globalMenu ul.subMenu > li:has(.selectMenu) .selectMenu {
    background: transparent;
    border: var(--border-color) 1px solid;
    border-radius: 8px;
  }
  #header .headerInner .headerNav ul.globalMenu ul.subMenu > li:has(.selectMenu) .selectMenu span {
    position: relative;
    display: block;
    line-height: 40px;
    padding: 0 2.5em 0 1em;
    border-radius: 8px 8px 0 0;
    cursor: pointer;
  }
  #header .headerInner .headerNav ul.globalMenu ul.subMenu > li:has(.selectMenu) .selectMenu span::after {
    content: "";
    position: absolute;
    top: calc(50% - 2px);
    right: 10px;
    width: 12px;
    height: 6px;
    background: var(--main-color);
    clip-path: polygon(50% 75%, 95% 0%, 100% 20%, 50% 100%, 0 20%, 5% 0);
    z-index: 1;
  }
  #header .headerInner .headerNav ul.globalMenu ul.subMenu > li:has(.selectMenu) .selectMenu span.on {
    background: #efefef;
  }
  #header .headerInner .headerNav ul.globalMenu ul.subMenu > li:has(.selectMenu) .selectMenu ul {
    display: none;
  }
  #header .headerInner .headerNav ul.globalMenu ul.subMenu > li:has(.selectMenu) .selectMenu ul.on {
    display: block;
  }
  #header .headerInner .headerNav ul.globalMenu ul.subMenu > li:has(.selectMenu) .selectMenu ul li {
    padding: 0 1em 0 1em;
    margin: 10px 0;
  }
  #header .headerInner .headerNav ul.globalMenu ul.subMenu {
    /*            > li:has(> select) {
                  position: relative;
                  &::after {
                    content: "";
                    position: absolute;
                    top: calc(50% - 3px);
                    right: 10px;
                    width: 12px;
                    height: 6px;
                    background: var(--main-color);
                    clip-path: polygon(50% 75%, 95% 0%, 100% 20%, 50% 100%, 0 20%, 5% 0);
                    z-index: 1;
                  }
                  select {
                    position: relative;
                    height: 40px;
                    padding: 0 2.5em 0 1em;
                    background: transparent;
                    border-color: var(--border-color);
                    border-radius: 8px;
                    z-index: 2;
                  }
                }*/
  }
}
@media (min-width: 960.1px) {
  #header .headerInner .snsIcon {
    display: flex;
    align-items: center;
  }
}
#header .headerInner .snsIcon ul {
  flex-basis: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
#header .headerInner .snsIcon ul li:first-child {
  margin-right: 3px;
}
#header .headerInner .snsIcon ul img {
  width: 27px;
  height: 24px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 960px) {
  #header .headerInner .snsIcon ul {
    justify-content: center;
    gap: 20px;
    padding-top: 20px;
  }
}

#footer .content {
  padding: 50px 0;
}
#footer .content > div {
  display: flex;
  justify-content: center;
  gap: 100px;
}
@media (max-width: 960px) {
  #footer .content > div {
    gap: 40px;
  }
}
#footer .logo {
  padding-bottom: 40px;
}
#footer .logo img {
  width: 270px;
}
#footer .banners {
  padding-bottom: 40px;
}
#footer .banners img {
  width: 200px;
  height: 60px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 960px) {
  #footer .banners img {
    width: 120px;
  }
}
#footer .otherLink {
  padding-bottom: 20px;
}
#footer .otherLink a {
  position: relative;
  display: inline-block;
}
#footer .otherLink a:hover::after {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--main-color);
}

.scrollNav a {
  position: fixed;
  right: 5px;
  width: 140px;
  transition: all 0.3s;
  z-index: 10;
}
@media (min-width: 960.1px) {
  .scrollNav a {
    bottom: -95px;
  }
  .scrollNav a:hover {
    bottom: -50px !important;
  }
}
@media (max-width: 960px) {
  .scrollNav a {
    width: 80px;
    bottom: -30px;
  }
}

.mv {
  position: relative;
  background: url("../images/mv_38sangiingin.jpg") no-repeat center top/cover;
  height: calc(100vh - 80px);
  overflow: hidden;
}
.mv > .inner {
  height: 100%;
}
@media (min-width: 2000px) {
  .mv > .inner {
    max-width: 1900px;
  }
}
.mv .banners {
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 2;
}
.mv .banners ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mv .banners ul li img {
  max-width: 280px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
@media (max-width: 960px) {
  .mv {
    background: url("../images/mv.webp") no-repeat center top/cover;
  }
}
.mv .hiradokouta-x {
  padding-top: 10%;
}
.mv .hiradokouta-x figure {
  position: relative;
  width: 60%;
}
.mv .hiradokouta-x figure img:last-child {
  position: absolute;
  bottom: -80px;
  right: -90px;
}
.mv .hiradokouta-x p {
  font-size: 3.8rem;
  line-height: 1.25;
  font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 700;
  color: var(--main-color);
  margin-top: 18px;
  text-shadow: 1px 1px 0 #fff;
}
@media (min-width: 960.1px) and (max-width: 1200px) {
  .mv .hiradokouta-x figure img:last-child {
    width: 100px;
    bottom: -60px;
    right: -50px;
  }
  .mv .hiradokouta-x p {
    font-size: 2.8rem;
  }
}
.mv .hiradokouta-y {
  padding: 4% 0 0 4%;
}
.mv .hiradokouta-y figure img:first-child {
  height: calc(100vh - 180px);
}
.mv .hiradokouta-y p {
  position: relative;
  left: -12px;
  font-size: 2.2rem;
  line-height: 1.25;
  font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 700;
  color: var(--main-color);
  margin-top: 5px;
  writing-mode: vertical-rl;
  text-shadow: 1px 1px 0 #fff;
}
@media (min-height: 680px) {
  .mv .hiradokouta-y p br {
    display: none;
  }
}
.mv .copy {
  position: absolute;
  right: 2%;
  bottom: -3%;
  width: 55%;
  max-width: 1200px;
  height: 50%;
}
@media (min-width: 1200.1px) {
  .mv .copy {
    right: 22%;
  }
}
@media (min-width: 1600.1px) {
  .mv .copy {
    right: 27%;
  }
}
@media (min-width: 1800.1px) and (max-height: 900px) {
  .mv .copy {
    bottom: -10%;
  }
}
.mv .copy img {
  width: 78%;
  height: 88%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center bottom;
     object-position: center bottom;
}
@media (min-width: 1800.1px) and (max-height: 900px) {
  .mv .copy img {
    height: 78%;
  }
}
@media (max-width: 960px) {
  .mv {
    background-position: 72% 0%;
    height: calc(100svh - 50px);
  }
  .mv .hiradokouta-y {
    padding: 20px 0 0 0;
  }
  .mv .hiradokouta-y figure {
    position: relative;
  }
  .mv .hiradokouta-y figure img:first-child {
    height: 55vh;
  }
}
@media (max-width: 960px) and (min-width: 480px) and (max-height: 600px) {
  .mv .hiradokouta-y {
    padding: 2% 0 0 10%;
  }
  .mv .hiradokouta-y figure img:first-child {
    height: 65vh;
  }
}
@media (max-width: 960px) and (min-height: 480.1px) {
  .mv .copy {
    right: 0;
    bottom: 0;
    width: 90%;
    text-align: right;
  }
  .mv .copy img {
    width: 83%;
    height: 97%;
    margin-right: 7%;
  }
}

.profile {
  position: relative;
  background: url("../images/profile_bg.webp") no-repeat center center/cover;
  overflow: hidden;
}
.profile h2 {
  text-align: center;
  font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 700;
}
.profile h2 span {
  position: relative;
  display: inline-block;
  font-size: 5.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--main-color);
  z-index: 2;
}
.profile h2 span::before {
  content: "";
  position: absolute;
  left: -30px;
  bottom: 0px;
  width: calc(100% + 35px);
  height: 10px;
  background: var(--sub-color);
  z-index: -1;
}
.profile h2 span::after {
  content: "";
  position: absolute;
  left: calc(100% + 5px);
  bottom: 0;
  width: 30px;
  height: 37px;
  background: var(--sub-color);
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
  z-index: -1;
}
.profile h2 i {
  position: relative;
  top: -5px;
  display: block;
  font-size: 3.6rem;
  line-height: 1;
  letter-spacing: 1.2em;
  padding-left: 1.2em;
  text-transform: uppercase;
  color: var(--main-color);
  opacity: 0.25;
  transform: skewX(143deg) scaleY(80%);
}
@media (min-width: 960.1px) and (max-width: 1200px) {
  .profile h2 span {
    font-size: 4rem;
  }
  .profile h2 i {
    font-size: 2.8rem;
  }
}
@media (max-width: 960px) {
  .profile h2 span {
    font-size: 2.8rem;
  }
  .profile h2 span::before {
    width: calc(100% + 40px);
    height: 5px;
  }
  .profile h2 span::after {
    left: calc(100% + 10px);
    width: 20px;
    height: 24px;
  }
  .profile h2 i {
    font-size: 2rem;
  }
}
@media (min-width: 960.1px) {
  .profile .contents {
    display: flex;
  }
  .profile .contents .leftColumn {
    flex-basis: 58%;
    padding-top: 190px;
    padding-bottom: 300px;
  }
}
@media (min-width: 960.1px) and (min-width: 960.1px) and (max-width: 1200px) {
  .profile .contents .leftColumn {
    padding-top: 120px;
  }
}
@media (min-width: 960.1px) {
  .profile .contents .rightColumn {
    flex-basis: 42%;
  }
}
@media (max-width: 960px) {
  .profile .contents .leftColumn {
    padding: 100px 0;
  }
  .profile .contents .rightColumn {
    display: none;
  }
}
.profile .textBox {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0px 0px 23px 6px rgba(0, 0, 0, 0.03);
  padding: 40px;
  margin-top: 60px;
}
.profile .textBox h3 {
  position: relative;
  font-size: 2.8rem;
  letter-spacing: 0.06em;
  font-style: italic;
  z-index: 2;
}
.profile .textBox h3 span {
  color: var(--main-color);
}
.profile .textBox h3::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 12px;
  background: var(--sub-light-color);
  z-index: -1;
}
.profile .textBox table {
  display: block;
  font-size: 2rem;
  text-align: left;
  margin-top: 20px;
}
.profile .textBox table tbody, .profile .textBox table tr, .profile .textBox table th, .profile .textBox table td, .profile .textBox table thead, .profile .textBox table tfoot {
  display: block;
}
.profile .textBox table.history tr {
  display: flex;
  padding: 5px 0;
  min-height: 40px;
}
.profile .textBox table.history tr th {
  flex: 0 0 120px;
  order: -1;
  font-style: italic;
}
.profile .textBox table.history tr::before {
  content: "";
  position: relative;
  top: 6px;
  display: inline-block;
  flex: 0 0 2px;
  width: 2px;
  height: 20px;
  margin-left: 10px;
  margin-right: 20px;
  background: var(--sub-color);
}
@media (max-width: 960px) {
  .profile .textBox table.history tr::before {
    top: 4px;
  }
}
.profile .textBox table.topic tr {
  display: flex;
  padding: 5px 0;
  min-height: 40px;
}
.profile .textBox table.topic tr th {
  flex: 0 0 120px;
  order: -1;
  height: 34px;
  background: linear-gradient(315deg, var(--sub-color), var(--sub-light-color));
  border-radius: 17px;
  margin-right: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.profile .textBox table.topic tr td {
  display: flex;
  align-items: center;
}
.profile .textBox table.topic tr td i {
  display: block;
}
@media (min-width: 960.1px) {
  .profile .textBox table.topic tr td i {
    display: inline-block;
  }
  .profile .textBox table.topic tr td i:not(:last-child)::after {
    content: "、";
  }
}
@media (max-width: 960px) {
  .profile .textBox {
    padding: 6%;
  }
  .profile .textBox table {
    font-size: 1.6rem;
  }
  .profile .textBox table.history tr th {
    flex: 0 0 95px;
  }
  .profile .textBox table.topic tr th {
    flex: 0 0 95px;
    height: 30px;
  }
}
.profile .hiradoRun {
  position: relative;
  height: 100%;
}
.profile .hiradoRun img {
  position: absolute;
  bottom: 30px;
  left: -50px;
  width: auto;
  max-width: none;
  height: 976px;
  z-index: 2;
  filter: drop-shadow(20px 0 0 color-mix(in srgb, var(--main-color) 45%, transparent)) drop-shadow(20px 0 0 color-mix(in srgb, var(--main-color) 37%, transparent)) drop-shadow(20px 0 0 color-mix(in srgb, var(--main-color) 29%, transparent)) drop-shadow(20px 0 0 color-mix(in srgb, var(--main-color) 21%, transparent)) drop-shadow(20px 0 0 color-mix(in srgb, var(--main-color) 15%, transparent));
}

.policy {
  position: relative;
  background-size: auto 180%;
  background: linear-gradient(rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.75)), url("../images/policy_bg.webp") no-repeat center bottom;
  overflow: hidden;
}
.policy h2 {
  text-align: center;
  font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 700;
}
.policy h2 span {
  position: relative;
  display: inline-block;
  font-size: 5.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--main-color);
  z-index: 2;
}
.policy h2 span::before {
  content: "";
  position: absolute;
  left: -30px;
  bottom: 0px;
  width: calc(100% + 35px);
  height: 10px;
  background: var(--sub-color);
  z-index: -1;
}
.policy h2 span::after {
  content: "";
  position: absolute;
  left: calc(100% + 5px);
  bottom: 0;
  width: 30px;
  height: 37px;
  background: var(--sub-color);
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
  z-index: -1;
}
.policy h2 i {
  position: relative;
  top: -5px;
  display: block;
  font-size: 3.6rem;
  line-height: 1;
  letter-spacing: 1.2em;
  padding-left: 1.2em;
  text-transform: uppercase;
  color: var(--main-color);
  opacity: 0.25;
  transform: skewX(143deg) scaleY(80%);
}
@media (min-width: 960.1px) and (max-width: 1200px) {
  .policy h2 span {
    font-size: 4rem;
  }
  .policy h2 i {
    font-size: 2.8rem;
  }
}
@media (max-width: 960px) {
  .policy h2 span {
    font-size: 2.8rem;
  }
  .policy h2 span::before {
    width: calc(100% + 40px);
    height: 5px;
  }
  .policy h2 span::after {
    left: calc(100% + 10px);
    width: 20px;
    height: 24px;
  }
  .policy h2 i {
    font-size: 2rem;
  }
}
.policy::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #02A0D5;
  z-index: -1;
}
.policy .contents {
  padding-top: 120px;
  padding-bottom: 100px;
}
@media (max-width: 960px) {
  .policy .contents {
    padding-top: 100px;
    padding-bottom: 40px;
  }
}
.policy .policyBox {
  padding-top: 60px;
}
.policy .policyBox .policyItem {
  padding-bottom: 40px;
}
@media (min-width: 960.1px) {
  .policy .policyBox .policyItem {
    display: flex;
    gap: 50px;
    margin-bottom: -20px;
    padding-bottom: 0;
  }
}
@media (min-width: 960.1px) and (min-width: 960.1px) and (max-width: 1200px) {
  .policy .policyBox .policyItem {
    gap: 20px;
    margin-bottom: 0;
  }
}
.policy .policyBox .policyItem .circle {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26%;
  height: 26%;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.policy .policyBox .policyItem .circle p {
  text-align: center;
  font-size: 5rem;
  font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 700;
  letter-spacing: 0.1em;
  padding-left: 0.1em;
  white-space: nowrap;
}
@media (max-width: 960px) {
  .policy .policyBox .policyItem .circle {
    width: 50%;
    height: 50%;
    max-width: 250px;
    margin: 0 auto 10px;
  }
  .policy .policyBox .policyItem .circle p {
    font-size: 3rem;
  }
}
.policy .policyBox .policyItem .textBox {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.policy .policyBox .policyItem .textBox h3 {
  font-size: 2.6rem;
  padding-bottom: 10px;
}
@media (min-width: 960.1px) and (max-width: 1200px) {
  .policy .policyBox .policyItem .textBox h3 {
    font-size: 2rem;
    padding-bottom: 0;
  }
}
@media (max-width: 960px) {
  .policy .policyBox .policyItem .textBox h3 {
    font-size: 2rem;
  }
}
.policy .policyBox .policyItem .textBox h3 span {
  position: relative;
  top: 2px;
  display: inline-block;
  font-size: 123%;
  padding: 0 1px;
  text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff;
}
.policy .policyBox .policyItem .textBox ol.discNumber {
  counter-reset: discNumber;
  margin-left: 4.2em;
}
.policy .policyBox .policyItem .textBox ol.discNumber > li {
  position: relative;
  font-size: 2rem;
  margin-top: 20px;
}
@media (min-width: 960.1px) and (max-width: 1200px) {
  .policy .policyBox .policyItem .textBox ol.discNumber > li {
    font-size: 1.6rem;
  }
}
@media (max-width: 960px) {
  .policy .policyBox .policyItem .textBox ol.discNumber > li {
    font-size: 1.6rem;
  }
}
.policy .policyBox .policyItem .textBox ol.discNumber > li::before {
  content: counter(discNumber);
  counter-increment: discNumber;
  position: absolute;
  top: 4px;
  left: -2em;
  width: 1.5em;
  height: 1.5em;
  background: #333;
  color: #fff;
  font-size: 80%;
  font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 700;
  border-radius: 50%;
  text-align: center;
}
.policy .policyBox .item1 .circle {
  background: rgba(242, 245, 250, 0.5);
  border: 5px solid rgba(1, 64, 153, 0.1);
  color: var(--main-color);
}
.policy .policyBox .item1 .textBox h3 {
  color: var(--main-color);
}
.policy .policyBox .item1 .textBox ol.discNumber > li::before {
  background: var(--main-color);
}
.policy .policyBox .item2 .circle {
  background: rgba(255, 252, 242, 0.5);
  border: 5px solid rgba(250, 190, 0, 0.1);
  color: var(--accent-color1);
}
.policy .policyBox .item2 .textBox h3 {
  color: var(--accent-color1);
}
.policy .policyBox .item2 .textBox ol.discNumber > li::before {
  background: var(--accent-color1);
}
.policy .policyBox .item3 .circle {
  background: rgba(246, 242, 250, 0.5);
  border: 5px solid rgba(76, 1, 153, 0.1);
  color: var(--accent-color2);
}
.policy .policyBox .item3 .textBox h3 {
  color: var(--accent-color2);
}
.policy .policyBox .item3 .textBox ol.discNumber > li::before {
  background: var(--accent-color2);
}
.policy .policyBox .reverse {
  flex-direction: row-reverse;
}

.sns {
  position: relative;
  background: var(--main-color);
  color: var(--main-text-color);
  overflow: hidden;
}
.sns h2 {
  text-align: center;
  font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 700;
}
.sns h2 span {
  position: relative;
  display: inline-block;
  font-size: 5.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--main-color);
  z-index: 2;
}
.sns h2 span::before {
  content: "";
  position: absolute;
  left: -30px;
  bottom: 0px;
  width: calc(100% + 35px);
  height: 10px;
  background: var(--sub-color);
  z-index: -1;
}
.sns h2 span::after {
  content: "";
  position: absolute;
  left: calc(100% + 5px);
  bottom: 0;
  width: 30px;
  height: 37px;
  background: var(--sub-color);
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
  z-index: -1;
}
.sns h2 i {
  position: relative;
  top: -5px;
  display: block;
  font-size: 3.6rem;
  line-height: 1;
  letter-spacing: 1.2em;
  padding-left: 1.2em;
  text-transform: uppercase;
  color: var(--main-color);
  opacity: 0.25;
  transform: skewX(143deg) scaleY(80%);
}
@media (min-width: 960.1px) and (max-width: 1200px) {
  .sns h2 span {
    font-size: 4rem;
  }
  .sns h2 i {
    font-size: 2.8rem;
  }
}
@media (max-width: 960px) {
  .sns h2 span {
    font-size: 2.8rem;
  }
  .sns h2 span::before {
    width: calc(100% + 40px);
    height: 5px;
  }
  .sns h2 span::after {
    left: calc(100% + 10px);
    width: 20px;
    height: 24px;
  }
  .sns h2 i {
    font-size: 2rem;
  }
}
.sns h2 span {
  color: var(--main-text-color);
}
.sns h2 i {
  color: var(--main-text-color);
}
@media (min-width: 960.1px) {
  .sns .contents {
    display: flex;
  }
  .sns .contents .leftColumn {
    flex-basis: 58%;
    padding-top: 120px;
    padding-bottom: 100px;
  }
}
@media (min-width: 960.1px) and (min-width: 960.1px) and (max-width: 1200px) {
  .sns .contents .leftColumn {
    padding-bottom: 45px;
  }
}
@media (min-width: 960.1px) {
  .sns .contents .rightColumn {
    position: relative;
    flex-basis: 42%;
    order: 1;
  }
}
@media (max-width: 960px) {
  .sns .contents .leftColumn {
    position: relative;
    padding: 100px 0 50px;
    z-index: 2;
  }
}
.sns .textBox .widgetArea {
  margin-top: 8%;
  aspect-ratio: 777/400;
}
@media (max-width: 960px) {
  .sns .textBox .widgetArea {
    aspect-ratio: auto;
    min-height: 400px;
    margin: 10% auto 0;
    max-width: 640px;
  }
}
@media (max-width: 960px) and (max-width: 780px) {
  .sns .textBox .widgetArea {
    margin: 8% auto 0;
  }
}
@media (max-width: 960px) {
  .sns .textBox .snsBox {
    margin-top: 200px;
  }
}
.sns .textBox .snsBox p {
  text-align: center;
  font-size: 2.4rem;
  margin: 8% auto 6%;
}
@media (max-width: 960px) {
  .sns .textBox .snsBox p {
    font-size: 1.6rem;
  }
}
@media (min-width: 960.1px) {
  .sns .textBox .snsBox .snsIcon {
    display: flex;
    align-items: center;
  }
}
.sns .textBox .snsBox .snsIcon ul {
  flex-basis: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.sns .textBox .snsBox .snsIcon ul li:first-child {
  margin-right: 3px;
}
.sns .textBox .snsBox .snsIcon ul img {
  width: 27px;
  height: 24px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 960px) {
  .sns .textBox .snsBox .snsIcon ul {
    justify-content: center;
    gap: 20px;
    padding-top: 20px;
  }
}
.sns .textBox .snsBox .snsIcon ul {
  gap: 50px;
}
@media (max-width: 960px) {
  .sns .textBox .snsBox .snsIcon ul {
    gap: 30px;
    padding-top: 0;
    margin: 0 20px;
  }
}
@media (min-width: 960.1px) {
  .sns .textBox .snsBox .snsIcon ul a {
    display: block;
    width: 79px;
    height: 70px;
    overflow: hidden;
    transition: all 0.3s;
  }
  .sns .textBox .snsBox .snsIcon ul a:hover {
    transform: scale(1.5, 1.5);
  }
}
@media (max-width: 960px) {
  .sns .textBox .snsBox .snsIcon ul span > img:last-child {
    display: none;
  }
}
.sns .textBox .snsBox .snsIcon ul img {
  width: 79px;
  height: 70px;
}
.sns .textBox .snsBox .snsIcon ul img[src*="x.svg"] {
  filter: invert(1);
}
.sns .hiradoHand {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.sns .hiradoHand img.figure {
  position: absolute;
  top: 20%;
  left: -7%;
  width: 123%;
  max-width: none;
  height: auto;
  z-index: 1;
}
@media (min-width: 960.1px) and (max-width: 1200px) {
  .sns .hiradoHand img.figure {
    left: auto;
    right: -12%;
  }
}
@media (max-width: 960px) {
  .sns .hiradoHand img.figure {
    width: auto;
    height: 100%;
    padding-top: 150px;
    top: 0;
    left: auto;
    right: -20%;
  }
}
.sns .hiradoHand img.message {
  position: absolute;
  top: 24%;
  left: 50px;
  width: 197px;
  z-index: 2;
}
@media (min-width: 960.1px) and (max-width: 1200px) {
  .sns .hiradoHand img.message {
    top: 22%;
    left: auto;
    right: 54%;
    width: 40%;
  }
}
@media (max-width: 960px) {
  .sns .hiradoHand img.message {
    top: 190px;
    left: auto;
    right: 290px;
    width: 130px;
  }
}
@media (max-width: 960px) and (max-width: 540px) {
  .sns .hiradoHand img.message {
    top: 160px;
    right: 40%;
  }
}

#manga {
  position: relative;
}
#manga .contents {
  display: flex;
  padding: 70px 0;
}
#manga .contents h2 {
  text-align: center;
  font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 700;
}
#manga .contents h2 span {
  position: relative;
  display: inline-block;
  font-size: 5.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--main-color);
  z-index: 2;
}
#manga .contents h2 span::before {
  content: "";
  position: absolute;
  left: -30px;
  bottom: 0px;
  width: calc(100% + 35px);
  height: 10px;
  background: var(--sub-color);
  z-index: -1;
}
#manga .contents h2 span::after {
  content: "";
  position: absolute;
  left: calc(100% + 5px);
  bottom: 0;
  width: 30px;
  height: 37px;
  background: var(--sub-color);
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
  z-index: -1;
}
#manga .contents h2 i {
  position: relative;
  top: -5px;
  display: block;
  font-size: 3.6rem;
  line-height: 1;
  letter-spacing: 1.2em;
  padding-left: 1.2em;
  text-transform: uppercase;
  color: var(--main-color);
  opacity: 0.25;
  transform: skewX(143deg) scaleY(80%);
}
@media (min-width: 960.1px) and (max-width: 1200px) {
  #manga .contents h2 span {
    font-size: 4rem;
  }
  #manga .contents h2 i {
    font-size: 2.8rem;
  }
}
@media (max-width: 960px) {
  #manga .contents h2 span {
    font-size: 2.8rem;
  }
  #manga .contents h2 span::before {
    width: calc(100% + 40px);
    height: 5px;
  }
  #manga .contents h2 span::after {
    left: calc(100% + 10px);
    width: 20px;
    height: 24px;
  }
  #manga .contents h2 i {
    font-size: 2rem;
  }
}
#manga .contents h2 {
  color: var(--main-color);
  padding-bottom: 80px;
}
@media (min-width: 960.1px) {
  #manga .contents h2 {
    padding-top: 50px;
  }
}
#manga .contents h2 span b {
  position: absolute;
  top: 1.7em;
  left: 0;
  width: 100%;
  font-size: 70%;
  font-weight: 700;
}
#manga .contents figure {
  flex-basis: 40%;
  text-align: center;
}
#manga .contents figure img {
  max-width: 300px;
  box-shadow: 10px 10px 0 var(--sub-color);
}
#manga .contents .textBox {
  position: relative;
  flex-basis: 60%;
}
#manga .contents .textBox .mangaList li {
  max-width: 500px;
  margin: 0 auto 10px;
}
#manga .contents .textBox .mangaList li a {
  display: block;
  background: var(--sub-color);
  color: var(--main-color);
  font-size: 2rem;
  padding: 3px 30px;
  border-radius: 10px;
}
@media (max-width: 960px) {
  #manga .contents {
    display: block;
  }
  #manga .contents figure {
    padding: 0 0 50px;
  }
  #manga .contents figure img {
    max-height: 300px;
  }
}

#photo {
  position: relative;
  background: var(--sub-color);
}
#photo .contents {
  padding: 100px 8%;
}
@media (max-width: 960px) {
  #photo .contents {
    padding: 100px 0;
  }
}
#photo .contents h2 {
  text-align: center;
  font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 700;
}
#photo .contents h2 span {
  position: relative;
  display: inline-block;
  font-size: 5.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--main-color);
  z-index: 2;
}
#photo .contents h2 span::before {
  content: "";
  position: absolute;
  left: -30px;
  bottom: 0px;
  width: calc(100% + 35px);
  height: 10px;
  background: var(--sub-color);
  z-index: -1;
}
#photo .contents h2 span::after {
  content: "";
  position: absolute;
  left: calc(100% + 5px);
  bottom: 0;
  width: 30px;
  height: 37px;
  background: var(--sub-color);
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
  z-index: -1;
}
#photo .contents h2 i {
  position: relative;
  top: -5px;
  display: block;
  font-size: 3.6rem;
  line-height: 1;
  letter-spacing: 1.2em;
  padding-left: 1.2em;
  text-transform: uppercase;
  color: var(--main-color);
  opacity: 0.25;
  transform: skewX(143deg) scaleY(80%);
}
@media (min-width: 960.1px) and (max-width: 1200px) {
  #photo .contents h2 span {
    font-size: 4rem;
  }
  #photo .contents h2 i {
    font-size: 2.8rem;
  }
}
@media (max-width: 960px) {
  #photo .contents h2 span {
    font-size: 2.8rem;
  }
  #photo .contents h2 span::before {
    width: calc(100% + 40px);
    height: 5px;
  }
  #photo .contents h2 span::after {
    left: calc(100% + 10px);
    width: 20px;
    height: 24px;
  }
  #photo .contents h2 i {
    font-size: 2rem;
  }
}
#photo .contents h2 span {
  color: var(--main-color);
}
#photo .contents h2 span::before, #photo .contents h2 span::after {
  background: #fff;
}
#photo .contents h2 i {
  color: var(--main-color);
}
#photo .contents .photoList {
  display: flex;
  padding: 4% 4% 6%;
  gap: 2%;
}
#photo .contents .photoList > li {
  flex-basis: 32%;
}
#photo .contents .photoList > li img {
  aspect-ratio: 16/10;
  -o-object-fit: cover;
     object-fit: cover;
}
#photo .contents .galleryMore {
  text-align: center;
  margin-top: 30px;
}
#photo .contents .galleryMore a {
  display: inline-block;
  background: var(--main-color);
  color: #fff;
  font-size: 1.8rem;
  padding: 3px 30px;
  border-radius: 10px;
}

.access {
  position: relative;
  background: var(--main-color);
  color: var(--main-text-color);
  overflow: hidden;
}
.access .contents {
  padding: 100px 8%;
}
.access h2 {
  text-align: center;
  font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 700;
}
.access h2 span {
  position: relative;
  display: inline-block;
  font-size: 5.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--main-color);
  z-index: 2;
}
.access h2 span::before {
  content: "";
  position: absolute;
  left: -30px;
  bottom: 0px;
  width: calc(100% + 35px);
  height: 10px;
  background: var(--sub-color);
  z-index: -1;
}
.access h2 span::after {
  content: "";
  position: absolute;
  left: calc(100% + 5px);
  bottom: 0;
  width: 30px;
  height: 37px;
  background: var(--sub-color);
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
  z-index: -1;
}
.access h2 i {
  position: relative;
  top: -5px;
  display: block;
  font-size: 3.6rem;
  line-height: 1;
  letter-spacing: 1.2em;
  padding-left: 1.2em;
  text-transform: uppercase;
  color: var(--main-color);
  opacity: 0.25;
  transform: skewX(143deg) scaleY(80%);
}
@media (min-width: 960.1px) and (max-width: 1200px) {
  .access h2 span {
    font-size: 4rem;
  }
  .access h2 i {
    font-size: 2.8rem;
  }
}
@media (max-width: 960px) {
  .access h2 span {
    font-size: 2.8rem;
  }
  .access h2 span::before {
    width: calc(100% + 40px);
    height: 5px;
  }
  .access h2 span::after {
    left: calc(100% + 10px);
    width: 20px;
    height: 24px;
  }
  .access h2 i {
    font-size: 2rem;
  }
}
.access h2 span {
  color: var(--main-text-color);
}
.access h2 i {
  color: var(--main-text-color);
}
.access .accessItem {
  display: flex;
  max-width: 840px;
  margin: 2rem auto 0;
  padding: 4%;
  gap: 10px;
  background: var(--bg-color);
  border-radius: 10px;
}
@media (max-width: 960px) {
  .access .accessItem {
    flex-direction: column-reverse;
  }
}
.access .accessItem .textBox {
  min-width: 210px;
}
.access .accessItem .textBox h3 {
  color: var(--accent-color2);
  font-size: 2rem;
  margin-bottom: 1em;
}
.access .accessItem .textBox p {
  color: var(--text-color);
  font-size: 1.6rem;
  margin-bottom: 0;
}
.access .accessItem .gmap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
.access .accessItem .gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.sub {
  background: url("../images/bg.png");
  min-height: calc(100vh - 80px - 386.6px);
}
@media (max-width: 960px) {
  .sub {
    min-height: calc(100vh - 50px - 386.6px);
  }
}
.sub .contents {
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
  padding: 100px 0;
}
.sub .contents h3 {
  font-size: 3rem;
  margin-bottom: 1.5em;
  text-align: center;
}
@media (max-width: 960px) {
  .sub .contents h3 {
    font-size: 2.4rem;
  }
}
.sub .contents p {
  font-size: 1.6rem;
  margin-bottom: 1.75em;
}
@media (max-width: 960px) {
  .sub .contents p {
    font-size: 1.5rem;
  }
}

.privacy-policy .contents h3 span:first-child {
  margin-right: 1em;
}
@media (max-width: 960px) {
  .privacy-policy .contents h3 span {
    display: inline-block;
  }
  .privacy-policy .contents h3 span:first-child {
    margin-right: 0;
  }
}
.privacy-policy .contents h4 {
  font-size: 2rem;
  margin-bottom: 0.8em;
}
@media (max-width: 960px) {
  .privacy-policy .contents h4 {
    font-size: 1.7rem;
  }
}
.privacy-policy .contents p {
  text-indent: 1em;
}

.contact .hidden-fields-container,
.volunteer .hidden-fields-container {
  border: 0;
}
.contact .contents .wp-block-separator,
.volunteer .contents .wp-block-separator {
  border-top: 1px solid var(--border-color);
  margin: 50px 0 30px;
}
.contact .contents form p.submitButton,
.volunteer .contents form p.submitButton {
  text-align: center;
  margin-top: 50px;
  margin-bottom: 10px;
}
.contact .contents form input[type=text], .contact .contents form input[type=email], .contact .contents form input[type=tel], .contact .contents form input[type=zip],
.volunteer .contents form input[type=text],
.volunteer .contents form input[type=email],
.volunteer .contents form input[type=tel],
.volunteer .contents form input[type=zip] {
  font-size: 1.8rem;
  width: 100%;
  max-width: 500px;
  padding: 0px 8px;
  line-height: 32px;
  border: 1px solid var(--border-color);
}
@media (max-width: 960px) {
  .contact .contents form input[type=text], .contact .contents form input[type=email], .contact .contents form input[type=tel], .contact .contents form input[type=zip],
  .volunteer .contents form input[type=text],
  .volunteer .contents form input[type=email],
  .volunteer .contents form input[type=tel],
  .volunteer .contents form input[type=zip] {
    font-size: 1.6rem;
  }
}
.contact .contents form select,
.volunteer .contents form select {
  position: relative;
  background: transparent;
  z-index: 2;
  font-size: 1.8rem;
  padding: 0 25px 0 8px;
  line-height: 32px;
  border: 1px solid var(--border-color);
}
@media (max-width: 960px) {
  .contact .contents form select,
  .volunteer .contents form select {
    font-size: 1.6rem;
  }
}
.contact .contents form span[data-name=your-pref],
.contact .contents form span[data-name=pref],
.volunteer .contents form span[data-name=your-pref],
.volunteer .contents form span[data-name=pref] {
  position: relative;
  display: inline-block;
  background: #fff;
}
.contact .contents form span[data-name=your-pref]::before,
.contact .contents form span[data-name=pref]::before,
.volunteer .contents form span[data-name=your-pref]::before,
.volunteer .contents form span[data-name=pref]::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 17px;
  height: 100%;
  background: #eee;
  border: 1px solid var(--border-color);
}
.contact .contents form span[data-name=your-pref]::after,
.contact .contents form span[data-name=pref]::after,
.volunteer .contents form span[data-name=your-pref]::after,
.volunteer .contents form span[data-name=pref]::after {
  content: "";
  position: absolute;
  top: 13px;
  right: 3px;
  width: 10px;
  height: 8px;
  background: #999;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.contact .contents form span.full_name,
.volunteer .contents form span.full_name {
  display: flex;
  gap: 0.6rem;
}
.contact .contents form textarea,
.volunteer .contents form textarea {
  font-size: 1.8rem;
  width: 100%;
  padding: 3px 8px;
  border: 1px solid var(--border-color);
}
@media (max-width: 960px) {
  .contact .contents form textarea,
  .volunteer .contents form textarea {
    font-size: 1.6rem;
  }
}
.contact .contents form input[type=submit],
.volunteer .contents form input[type=submit] {
  font-size: 1.8rem;
  width: 170px;
  padding: 8px 0;
  border-radius: 12px;
  box-shadow: 3px 2px 0 var(--sub-color);
  background: var(--main-color);
  color: var(--main-text-color);
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: all 0.2s ease-in;
}
.contact .contents form input[type=submit]:hover,
.volunteer .contents form input[type=submit]:hover {
  opacity: var(--hover-opacity);
  box-shadow: 0px 0px 0 var(--sub-color);
  transform: translate(3px, 2px);
}
.contact .contents form .wpcf7-spinner,
.volunteer .contents form .wpcf7-spinner {
  position: absolute;
}
.contact .contents form .wpcf7-response-output,
.volunteer .contents form .wpcf7-response-output {
  font-size: 1.6rem;
  background: #fff;
}

@media (max-width: 782px) {
  #wpadminbar {
    display: none;
  }
  html {
    margin-top: 0 !important;
  }
}
@media print {
  .scrollNav {
    display: none;
  }
}
.mvManga {
  position: absolute;
  bottom: 5px;
  left: 5%;
  width: 90%;
  height: 80px;
  background: var(--main-color);
  justify-content: center;
  align-items: center;
  gap: 3%;
}
.mvManga img {
  height: 70px;
  border: 1px solid #fff;
  margin: 5px;
}
.mvManga .mangaSub p {
  font-size: 1.3rem;
  line-height: 1.25;
  color: #fff;
}
.mvManga .mangaSub ul {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 7px;
}
.mvManga .mangaSub ul a {
  font-size: 1.3rem;
  color: #fff;
}

.mvBanners {
  background: var(--sub-color);
  margin-top: -30px;
  z-index: 1;
  position: relative;
}
.mvBanners ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 auto;
  padding-bottom: 20px;
}
.mvBanners ul li img {
  max-width: 280px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

@media (max-height: 480px) {
  .mvManga,
  .mvbBanners {
    display: none !important;
  }
}
@media (max-width: 960px) {
  .mv .copy.mangaIn {
    height: 60%;
    max-width: 380px;
  }
  .mv .copy.mangaIn img {
    -o-object-position: center top;
       object-position: center top;
  }
}
@media (max-width: 960px) and (min-height: 480px) {
  .mv .copy.mangaIn {
    max-width: 75%;
    text-align: left;
  }
  .mv .copy.mangaIn img {
    width: 48%;
    margin-right: 5%;
  }
}
@media (max-width: 960px) and (min-height: 640px) {
  .mv .copy.mangaIn {
    max-width: 75%;
  }
  .mv .copy.mangaIn img {
    width: 65%;
  }
}
@media (max-width: 960px) and (min-height: 768px) {
  .mv .copy.mangaIn {
    max-width: 70%;
  }
  .mv .copy.mangaIn img {
    width: 95%;
  }
}
@media (max-width: 600px) and (min-height: 768px) {
  .mv .copy.mangaIn {
    max-width: 80%;
    height: 44%;
  }
}
@media (max-width: 490px) and (max-height: 800px) {
  .mv .copy.mangaIn {
    height: 42%;
    max-width: 65%;
  }
  .mv .copy.mangaIn img {
    width: 95%;
  }
}
@media (max-width: 490px) and (max-height: 700px) {
  .mv .copy.mangaIn {
    height: 60%;
    max-width: 65%;
  }
}
.headerNav .manga {
  background: #fff;
  justify-content: center;
  align-items: top;
  gap: 15px;
  padding: 20px 20px;
  border-top: 1px solid var(--border-color);
  margin-top: 20px;
}
.headerNav .manga img {
  border: 1px solid #fff;
  width: 70px;
}
.headerNav .manga .mangaSub p {
  font-size: 1.3rem;
  line-height: 1.25;
}
.headerNav .manga .mangaSub ul {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 7px;
}
.headerNav .manga .mangaSub ul a {
  font-size: 1.3rem;
}

body > .manga {
  position: fixed;
  bottom: 5px;
  left: 5px;
  height: 120px;
  background: var(--main-color);
  padding: 10px 20px 10px 10px;
  z-index: 2;
  align-items: center;
  gap: 15px;
  border-radius: 0 40px 0 0;
}
body > .manga img {
  border: 1px solid #fff;
  height: 100px;
}
body > .manga .mangaSub p {
  font-size: 1.6rem;
  line-height: 1.25;
  color: #fff;
  margin-bottom: 10px;
  white-space: nowrap;
}
body > .manga .mangaSub ul {
  display: flex;
  justify-content: space-around;
}
body > .manga .mangaSub li {
  text-align: center;
  font-size: 1.6rem;
}
body > .manga .mangaSub li a {
  position: relative;
  display: inline-block;
  color: #fff;
}
body > .manga .mangaSub li a:hover::after {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--main-color);
}

.gallery {
  background: #ddd;
  padding-top: 0.4vw;
  padding-bottom: 0.4vw;
}
.gallery .wp-block-gallery.is-layout-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.4vw 0.4%;
  padding-bottom: 0.4vw;
}
.gallery .wp-block-image {
  aspect-ratio: 4/3;
  flex: 0 0 24.7%;
  background: #fff;
  overflow: hidden;
}
.gallery .wp-block-image img {
  position: relative;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
  transition: all 0.3s;
}
.gallery .wp-block-image img:hover {
  transform: scale(1.1, 1.1);
}
.gallery .wp-block-gallery.is-layout-flex.wp-block-gallery-1 .wp-block-image img {
  -o-object-fit: contain;
     object-fit: contain;
}

#stampMore, #stampClose {
  text-align: center;
  font-size: 18px;
  background: #fff;
  padding: 20px 0;
}
#stampMore > span, #stampClose > span {
  background: var(--main-color);
  color: #fff;
  padding: 5px 10px;
  display: inline-block;
  border-radius: 10px;
  cursor: pointer;
}

.attention {
  display: none;
  position: absolute;
  top: calc(100% + 5px);
  left: 30%;
  width: 70%;
  font-size: 12px;
  background: #fff;
  border: 2px solid #ccc;
  border-radius: 12px;
  padding: 3px 10px;
  color: #000;
}
@media (max-width: 960px) {
  .attention {
    display: block;
    top: auto;
    bottom: 50px;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
@media (max-width: 960px) and (max-height: 600px) {
  .attention {
    display: none;
  }
}
@media (min-width: 960.1px) {
  .attention::after {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 20%;
    width: 17px;
    height: 26px;
    background: #ccc;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  }
}

.sub.activitys .contents {
  max-width: 1280px;
}
.sub.activitys .contents .archive__report__list {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 40px;
  background-color: #fff;
  padding: 20px 5%;
}
@media (max-width: 960px) {
  .sub.activitys .contents .archive__report__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
  }
}
.sub.activitys .contents .archive__report__list .archive__report__list__item img {
  border-radius: 15px;
  border: 1px solid #ddd;
  box-sizing: border-box;
  height: auto;
  width: 100%;
}
.sub.activitys .contents .archive__report__list .archive__report__list__item__title {
  border-bottom: 2px solid #ddd;
  font-size: 20px;
  font-weight: 700;
  padding-bottom: 16px;
  margin-top: 16px;
}
.sub.activitys .contents .archive__report__list .archive__report__list__item__text {
  display: flex;
  margin-top: 16px;
}
.sub.activitys .contents .archive__report__list .archive__report__list__item__text__tag {
  background-color: #494949;
  border-radius: 2px;
  color: #fff;
  display: block;
  font-size: 16px;
  font-weight: 500;
  padding: 2px 10px 4px;
}
.sub.activitys .contents .archive__report__list .archive__report__list__item__text__date {
  color: #494949;
  font-size: 16px;
  font-weight: 700;
  margin-left: 10px;
}

.top__activity {
  margin-top: 40px;
  display: flex;
  padding: 4%;
  align-items: center;
  gap: 0 20px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
}
.top__activity .archive__report__list {
  max-width: 30%;
  flex-basis: 30%;
  flex-grow: 0;
  flex-shrink: 0;
}
.top__activity .archive__report__list__item__text__date {
  font-size: 1.6rem;
  color: var(--main-color);
}
.top__activity .archive__report__list__item__title {
  font-size: 2.4rem;
  text-align: left;
  color: var(--main-color);
}
@media (max-width: 960px) {
  .top__activity .archive__report__list__item__title {
    font-size: 1.8rem;
  }
}
.top__activity .activityMore {
  margin-top: 50px;
  text-align: right;
}
@media (max-width: 960px) {
  .top__activity .activityMore {
    margin-top: 30px;
  }
}
.top__activity .activityMore a {
  background-color: var(--main-color);
  color: #ddd;
  display: inline-block;
  font-size: 1.8rem;
  padding: 3px 28px;
  border-radius: 10px;
}
@media (max-width: 960px) {
  .top__activity .activityMore a {
    font-size: 1.6rem;
    padding: 3px 20px;
  }
}/*# sourceMappingURL=style.css.map */