@charset "UTF-8";
/*
* base
*/
/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

RESET CSS

html5doctor.com Reset Stylesheet

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

body {
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:after, blockquote:before, q:after, q:before {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: 700;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

* {
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-optical-sizing: auto;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  min-height: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
}
@media screen and (max-width: 768px) {
  html {
    scroll-padding-top: 80px;
  }
}

body {
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  color: #222222;
  font-size: 1rem;
  font-size: 1.25rem;
  height: 100%;
  min-height: 100dvh;
  background-color: #fff;
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: normal;
}

li {
  list-style-type: none;
}

dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

p {
  margin: 0 0;
  padding: 0;
}

img {
  border: 0;
  line-height: 0;
  vertical-align: middle;
}

hr {
  display: none;
}

table {
  margin: 0;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
  margin: 0;
}

td {
  margin: 0;
}

em {
  font-weight: bold;
  font-style: normal;
}

form {
  margin: 0;
  padding: 0;
}

label {
  margin: 0;
  padding: 0;
}

input.btn {
  margin: 0 0.5em;
  padding: 0 1em;
}

html {
  height: 100%;
}

a {
  outline: none;
}

p {
  line-height: 1;
}

img {
  max-width: 100%;
  height: auto;
}

a,
a:link,
a:visited {
  color: #0079d7;
  text-decoration: none;
}

a:active,
a:hover {
  color: #0079d7;
  text-decoration: none;
}

a:hover {
  color: #0079d7;
  text-decoration: none;
}

@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
div#wrapper {
  width: 100%;
  min-height: 100%;
  height: auto !important;
  height: 100%;
  margin: 0px auto;
  padding: 0;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  div#wrapper {
    margin-bottom: auto;
    padding: 0;
  }
}
@media screen and (max-width: 480px) {
  div#wrapper {
    margin-bottom: auto;
  }
}

.sp-i {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp-i {
    display: block;
  }
}

.pc-i {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc-i {
    display: none;
  }
}

.tab-i {
  display: none;
}
@media screen and (max-width: 768px) {
  .tab-i {
    display: block;
  }
}

.tab-sp-i {
  display: none;
}
@media screen and (max-width: 768px) {
  .tab-sp-i {
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .tab-sp-i {
    display: block;
  }
}

.pc-tab-i {
  display: block;
}
@media screen and (max-width: 480px) {
  .pc-tab-i {
    display: none;
  }
}

/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

margin

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
.marT0 {
  margin-top: 0px !important;
}

.marR0 {
  margin-right: 0px !important;
}

.marB0 {
  margin-bottom: 0px !important;
}

.marL0 {
  margin-left: 0px !important;
}

.padT0 {
  padding-top: 0px !important;
}

.padR0 {
  padding-right: 0px !important;
}

.padB0 {
  padding-bottom: 0px !important;
}

.padL0 {
  padding-left: 0px !important;
}

.marT5 {
  margin-top: 5px !important;
}

.marR5 {
  margin-right: 5px !important;
}

.marB5 {
  margin-bottom: 5px !important;
}

.marL5 {
  margin-left: 5px !important;
}

.padT5 {
  padding-top: 5px !important;
}

.padR5 {
  padding-right: 5px !important;
}

.padB5 {
  padding-bottom: 5px !important;
}

.padL5 {
  padding-left: 5px !important;
}

.marT10 {
  margin-top: 10px !important;
}

.marR10 {
  margin-right: 10px !important;
}

.marB10 {
  margin-bottom: 10px !important;
}

.marL10 {
  margin-left: 10px !important;
}

.padT10 {
  padding-top: 10px !important;
}

.padR10 {
  padding-right: 10px !important;
}

.padB10 {
  padding-bottom: 10px !important;
}

.padL10 {
  padding-left: 10px !important;
}

.marT15 {
  margin-top: 15px !important;
}

.marR15 {
  margin-right: 15px !important;
}

.marB15 {
  margin-bottom: 15px !important;
}

.marL15 {
  margin-left: 15px !important;
}

.padT15 {
  padding-top: 15px !important;
}

.padR15 {
  padding-right: 15px !important;
}

.padB15 {
  padding-bottom: 15px !important;
}

.padL15 {
  padding-left: 15px !important;
}

.marT20 {
  margin-top: 20px !important;
}

.marR20 {
  margin-right: 20px !important;
}

.marB20 {
  margin-bottom: 20px !important;
}

.marL20 {
  margin-left: 20px !important;
}

.padT20 {
  padding-top: 20px !important;
}

.padR20 {
  padding-right: 20px !important;
}

.padB20 {
  padding-bottom: 20px !important;
}

.padL20 {
  padding-left: 20px !important;
}

.marT25 {
  margin-top: 25px !important;
}

.marR25 {
  margin-right: 25px !important;
}

.marB25 {
  margin-bottom: 25px !important;
}

.marL25 {
  margin-left: 25px !important;
}

.padT25 {
  padding-top: 25px !important;
}

.padR25 {
  padding-right: 25px !important;
}

.padB25 {
  padding-bottom: 25px !important;
}

.padL25 {
  padding-left: 25px !important;
}

.marT30 {
  margin-top: 30px !important;
}

.marR30 {
  margin-right: 30px !important;
}

.marB30 {
  margin-bottom: 30px !important;
}

.marL30 {
  margin-left: 30px !important;
}

.padT30 {
  padding-top: 30px !important;
}

.padR30 {
  padding-right: 30px !important;
}

.padB30 {
  padding-bottom: 30px !important;
}

.padL30 {
  padding-left: 30px !important;
}

.marT35 {
  margin-top: 35px !important;
}

.marR35 {
  margin-right: 35px !important;
}

.marB35 {
  margin-bottom: 35px !important;
}

.marL35 {
  margin-left: 35px !important;
}

.padT35 {
  padding-top: 35px !important;
}

.padR35 {
  padding-right: 35px !important;
}

.padB35 {
  padding-bottom: 35px !important;
}

.padL35 {
  padding-left: 35px !important;
}

.marT40 {
  margin-top: 40px !important;
}

.marR40 {
  margin-right: 40px !important;
}

.marB40 {
  margin-bottom: 40px !important;
}

.marL40 {
  margin-left: 40px !important;
}

.padT40 {
  padding-top: 40px !important;
}

.padR40 {
  padding-right: 40px !important;
}

.padB40 {
  padding-bottom: 40px !important;
}

.padL40 {
  padding-left: 40px !important;
}

.marT45 {
  margin-top: 45px !important;
}

.marR45 {
  margin-right: 45px !important;
}

.marB45 {
  margin-bottom: 45px !important;
}

.marL45 {
  margin-left: 45px !important;
}

.padT45 {
  padding-top: 45px !important;
}

.padR45 {
  padding-right: 45px !important;
}

.padB45 {
  padding-bottom: 45px !important;
}

.padL45 {
  padding-left: 45px !important;
}

.marT50 {
  margin-top: 50px !important;
}

.marR50 {
  margin-right: 50px !important;
}

.marB50 {
  margin-bottom: 50px !important;
}

.marL50 {
  margin-left: 50px !important;
}

.padT50 {
  padding-top: 50px !important;
}

.padR50 {
  padding-right: 50px !important;
}

.padB50 {
  padding-bottom: 50px !important;
}

.padL50 {
  padding-left: 50px !important;
}

.marT55 {
  margin-top: 55px !important;
}

.marR55 {
  margin-right: 55px !important;
}

.marB55 {
  margin-bottom: 55px !important;
}

.marL55 {
  margin-left: 55px !important;
}

.padT55 {
  padding-top: 55px !important;
}

.padR55 {
  padding-right: 55px !important;
}

.padB55 {
  padding-bottom: 55px !important;
}

.padL55 {
  padding-left: 55px !important;
}

.marT60 {
  margin-top: 60px !important;
}

.marR60 {
  margin-right: 60px !important;
}

.marB60 {
  margin-bottom: 60px !important;
}

.marL60 {
  margin-left: 60px !important;
}

.padT60 {
  padding-top: 60px !important;
}

.padR60 {
  padding-right: 60px !important;
}

.padB60 {
  padding-bottom: 60px !important;
}

.padL60 {
  padding-left: 60px !important;
}

.marT65 {
  margin-top: 65px !important;
}

.marR65 {
  margin-right: 65px !important;
}

.marB65 {
  margin-bottom: 65px !important;
}

.marL65 {
  margin-left: 65px !important;
}

.padT65 {
  padding-top: 65px !important;
}

.padR65 {
  padding-right: 65px !important;
}

.padB65 {
  padding-bottom: 65px !important;
}

.padL65 {
  padding-left: 65px !important;
}

.marT70 {
  margin-top: 70px !important;
}

.marR70 {
  margin-right: 70px !important;
}

.marB70 {
  margin-bottom: 70px !important;
}

.marL70 {
  margin-left: 70px !important;
}

.padT70 {
  padding-top: 70px !important;
}

.padR70 {
  padding-right: 70px !important;
}

.padB70 {
  padding-bottom: 70px !important;
}

.padL70 {
  padding-left: 70px !important;
}

.marT75 {
  margin-top: 75px !important;
}

.marR75 {
  margin-right: 75px !important;
}

.marB75 {
  margin-bottom: 75px !important;
}

.marL75 {
  margin-left: 75px !important;
}

.padT75 {
  padding-top: 75px !important;
}

.padR75 {
  padding-right: 75px !important;
}

.padB75 {
  padding-bottom: 75px !important;
}

.padL75 {
  padding-left: 75px !important;
}

.marT80 {
  margin-top: 80px !important;
}

.marR80 {
  margin-right: 80px !important;
}

.marB80 {
  margin-bottom: 80px !important;
}

.marL80 {
  margin-left: 80px !important;
}

.padT80 {
  padding-top: 80px !important;
}

.padR80 {
  padding-right: 80px !important;
}

.padB80 {
  padding-bottom: 80px !important;
}

.padL80 {
  padding-left: 80px !important;
}

.marT85 {
  margin-top: 85px !important;
}

.marR85 {
  margin-right: 85px !important;
}

.marB85 {
  margin-bottom: 85px !important;
}

.marL85 {
  margin-left: 85px !important;
}

.padT85 {
  padding-top: 85px !important;
}

.padR85 {
  padding-right: 85px !important;
}

.padB85 {
  padding-bottom: 85px !important;
}

.padL85 {
  padding-left: 85px !important;
}

.marT90 {
  margin-top: 90px !important;
}

.marR90 {
  margin-right: 90px !important;
}

.marB90 {
  margin-bottom: 90px !important;
}

.marL90 {
  margin-left: 90px !important;
}

.padT90 {
  padding-top: 90px !important;
}

.padR90 {
  padding-right: 90px !important;
}

.padB90 {
  padding-bottom: 90px !important;
}

.padL90 {
  padding-left: 90px !important;
}

.marT95 {
  margin-top: 95px !important;
}

.marR95 {
  margin-right: 95px !important;
}

.marB95 {
  margin-bottom: 95px !important;
}

.marL95 {
  margin-left: 95px !important;
}

.padT95 {
  padding-top: 95px !important;
}

.padR95 {
  padding-right: 95px !important;
}

.padB95 {
  padding-bottom: 95px !important;
}

.padL95 {
  padding-left: 95px !important;
}

.marT100 {
  margin-top: 100px !important;
}

.marR100 {
  margin-right: 100px !important;
}

.marB100 {
  margin-bottom: 100px !important;
}

.marL100 {
  margin-left: 100px !important;
}

.padT100 {
  padding-top: 100px !important;
}

.padR100 {
  padding-right: 100px !important;
}

.padB100 {
  padding-bottom: 100px !important;
}

.padL100 {
  padding-left: 100px !important;
}

/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

font-weigh

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
.fontWB {
  font-weight: bold !important;
}

.fontWN {
  font-weight: normal !important;
}

.fontUL {
  text-decoration: underline !important;
}

/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

揃え位置・インデント clearfix

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
.alignC {
  text-align: center !important;
}

.alignL {
  text-align: left !important;
}

.alignR {
  text-align: right !important;
}

.alignJ {
  text-align: justify;
}

.textIndent {
  margin-left: 1.3em !important;
  text-indent: -1.3em !important;
}

.textIndentNsp {
  margin-left: 1em !important;
  text-indent: -1em !important;
}

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

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/*
* layout
*/
#header {
  width: 100%;
  padding: 40px 3vw 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
}
#header .header-logo-wrap .read-text {
  color: white;
  display: inline-block;
  font-size: 1.14vw;
  margin-bottom: 16px;
}
#header .header-logo {
  width: 19vw;
  display: flex;
  align-items: center;
}

#under #header .header-logo-wrap .read-text {
  color: black;
  display: inline-block;
  font-size: 1.14vw;
  margin-bottom: 16px;
}

@media screen and (max-width: 768px) {
  #header {
    width: 100%;
    padding: 20px 2vw 0;
  }
  #header .header-logo-wrap .read-text {
    font-size: clamp(1.14vw, 14px, 2.7vw);
    margin-bottom: 8px;
  }
  #header .header-logo {
    width: 42vw;
  }
  #under #header .header-logo-wrap .read-text {
    font-size: clamp(1.14vw, 14px, 2.7vw);
    margin-bottom: 8px;
  }
}
@media screen and (max-width: 480px) {
  #header {
    width: 100%;
    padding: 20px 2vw 0;
  }
  #header .header-logo-wrap .read-text {
    font-size: clamp(1.14vw, 14px, 2.7vw);
    margin-bottom: 8px;
  }
  #header .header-logo {
    width: 42vw;
  }
}
.menu-button {
  display: none;
}

@media screen and (max-width: 768px) {
  .menu-button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 6px;
    width: 56px;
    height: 56px;
    background: transparent;
    border: none;
  }
  .menu-button__line,
  .menu-button::before,
  .menu-button::after {
    content: "";
    width: 28px;
    height: 2px;
    background-color: #333333;
    transition: transform 0.3s, opacity 0.3s;
  }
  .menu-button.is-opened .menu-button__line {
    opacity: 0;
  }
  .menu-button.is-opened::before {
    transform: translateY(8px) rotate(45deg);
  }
  .menu-button.is-opened::after {
    transform: translateY(-8px) rotate(-45deg);
  }
}
#spMenuBtn {
  padding-top: 0px;
  position: fixed;
  top: 19vw;
  right: 23px;
  display: none;
  z-index: 1002;
  text-align: center;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  #spMenuBtn {
    width: 50px;
    height: 50px;
    padding-top: 0px;
    position: fixed;
    top: 11vw;
    right: 10px;
    display: block;
    z-index: 1002;
    text-align: center;
    cursor: pointer;
    background-color: #fff;
    border-radius: 50%;
  }
}
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}

.menu-trigger {
  position: relative;
  top: 16px;
  width: 30px;
  height: 20px;
}

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #000;
  border-radius: 0px;
}

.menu-trigger span:nth-of-type(1) {
  top: 0px;
}

.menu-trigger span:nth-of-type(2) {
  top: 9px;
}

.menu-trigger span:nth-of-type(3) {
  bottom: 0px;
}

.menu-trigger.active {
  height: 20px;
}

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(0px) rotate(-45deg);
  transform: translateY(6px) rotate(-45deg);
  animation: none;
}

.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
  animation: none;
}

.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-13px) rotate(45deg);
  transform: translateY(-13px) rotate(45deg);
  animation: none;
  width: 100%;
  left: 0%;
}

@keyframes trigger {
  0% {
    width: 0%;
  }
  30% {
    width: 100%;
  }
  100% {
    width: 100%;
  }
}
@media (min-width: 897px) {
  #spMenuBtn {
    width: 95px;
    height: 95px;
    padding-top: 0px;
    position: fixed;
    top: 30px;
    right: 23px;
    display: none;
    z-index: 1002;
    text-align: center;
    cursor: pointer;
  }
  #spMenuBtn .menu-trigger {
    position: relative;
    top: 28px;
    width: 64px;
    height: 36px;
  }
  #spMenuBtn .menu-trigger.active {
    top: 34px;
  }
  #spMenuBtn .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 6px;
    background-color: #fff;
    border-radius: 0px;
  }
  #spMenuBtn .menu-trigger span:nth-of-type(1) {
    top: 0px;
  }
  #spMenuBtn .menu-trigger span:nth-of-type(2) {
    top: 15px;
  }
  #spMenuBtn .menu-trigger span:nth-of-type(3) {
    bottom: 0px;
  }
  #spMenuBtn .menu-trigger.active {
    height: 30px;
  }
  #spMenuBtn .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(0px) rotate(-45deg);
    transform: translateY(6px) rotate(-45deg);
    animation: none;
  }
  #spMenuBtn .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
    animation: none;
  }
  #spMenuBtn .menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-18px) rotate(45deg);
    transform: translateY(-18px) rotate(45deg);
    animation: none;
    width: 100%;
    left: 0%;
  }
}
footer {
  width: 100%;
  margin: 0px auto 0;
  display: block;
  padding: 5.2vw 0 3.125vw;
  position: relative;
  color: #fff;
  position: sticky;
  top: 100%;
  background: #bd0016;
  background: linear-gradient(0deg, rgb(189, 0, 22) 0%, rgb(25, 115, 148) 100%);
}

.footer-cnt {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.copyright {
  font-size: clamp(12px, 0.9375vw, 20px);
  color: #f6ecc6;
  margin-left: 5vw;
  line-height: 1.5;
}

#floatingGoTop {
  position: fixed;
  right: 4.16vw;
  bottom: 4.7vw;
  z-index: 1002;
  cursor: pointer;
  display: none;
  width: clamp(50px, 3.645vw, 68px);
  height: clamp(50px, 3.645vw, 68px);
  border-radius: 50%;
  background: #bd0016;
  border: 1px solid #fff;
  z-index: 10000;
}
#floatingGoTop::before, #floatingGoTop::after {
  content: "";
  position: absolute;
  top: 30%;
  left: calc(50% - 2px);
  width: 4px;
  height: 1.5vw;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: 50% 2px;
}
#floatingGoTop::before {
  transform: rotate(45deg);
}
#floatingGoTop::after {
  transform: rotate(-45deg);
}

section {
  padding: 0;
}

.cnt {
  width: clamp(786px, 88vw, 1200px);
  margin-inline: auto;
}

.cnt-inner {
  width: 100%;
}

main section:last-child {
  margin-bottom: 120px;
}

#under main {
  padding-top: 12.5vw;
}

@media screen and (max-width: 768px) {
  .cnt {
    width: 100%;
    padding: 0 7vw;
  }
  main section:last-child {
    margin-bottom: 80px;
  }
  #under main {
    padding-top: 17.5vw;
  }
}
@media screen and (max-width: 480px) {
  main section:last-child {
    margin-bottom: 60px;
  }
  #under main {
    padding-top: 25.5vw;
  }
}
#gnav {
  height: 3.64vw;
  border-radius: 35px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  gap: 2vw;
  padding: 0 1.5vw;
}
#gnav ul {
  display: flex;
  align-items: center;
  gap: 2vw;
}
#gnav ul li a {
  font-size: clamp(11px, 1.2vw, 24px);
  color: #272727;
}
#gnav ul.sns {
  gap: 1vw;
}
#gnav ul.sns img {
  height: 1.5vw;
}

#fixed-btn-base {
  position: fixed;
  z-index: 1;
  top: 18vh;
  right: 0%;
}
#fixed-btn-base ul li {
  margin-bottom: 1vw;
}
#fixed-btn-base ul li.fixed-btn a {
  padding: 1vw 1.5vw 1vw 1vw;
  border-radius: 20px 0 0 20px;
  writing-mode: vertical-rl;
  font-size: clamp(12px, 1vw, 20px);
  font-weight: bold;
  color: white;
  display: block;
}
#fixed-btn-base ul li.fixed-btn.event-btn a {
  background: #bd0016;
}
#fixed-btn-base ul li.fixed-btn.contact-btn a {
  background: #555555;
}

@media screen and (max-width: 768px) {
  #gnav {
    height: 9.1vw;
    border-radius: 35px;
    gap: 0;
    padding: 0 2.5vw;
  }
  #gnav ul {
    display: none;
    align-items: center;
    gap: 2.6vw;
  }
  #gnav ul li a {
    color: #272727;
    font-weight: bold;
  }
  #gnav ul.sns {
    display: flex;
    gap: 2vw;
  }
  #gnav ul.sns img {
    height: 4.42vw;
  }
  #fixed-btn-base {
    top: 24vh;
  }
  #fixed-btn-base ul li {
    margin-bottom: 2vw;
  }
  #fixed-btn-base ul li.fixed-btn a {
    padding: 1.5vw 1.5vw 1.5vw 1vw;
    border-radius: 2.6vw 0 0 2.6vw;
    font-size: clamp(14px, 3.125vw, 24px);
  }
}
@media screen and (max-width: 480px) {
  #gnav {
    height: 12.1vw;
    border-radius: 25px;
    padding: 0 2.5vw;
  }
  #gnav ul {
    display: none;
    align-items: center;
    gap: 2.6vw;
  }
  #gnav ul li a {
    color: #272727;
    font-weight: bold;
  }
  #gnav ul.sns {
    display: flex;
    gap: 3vw;
  }
  #gnav ul.sns img {
    height: 5.42vw;
  }
  #fixed-btn-base {
    top: 14vh;
    right: auto;
    left: calc(100vw - (14px + 2.5vw));
  }
  #fixed-btn-base ul li {
    margin-bottom: 2vw;
  }
  #fixed-btn-base ul li.fixed-btn a {
    padding: 1.5vw 1.5vw 1.5vw 1vw;
    border-radius: 2.6vw 0 0 2.6vw;
    font-size: clamp(14px, 3.125vw, 24px);
  }
}
#gnav-sp-wrap {
  transform: translateX(100vw);
  transition: 0.3s;
  opacity: 0;
  height: 100vh;
  overflow-y: scroll;
}
#gnav-sp-wrap.is-opened {
  transform: translateX(0vw);
  opacity: 1;
}
#gnav-sp-wrap #menuButtonSp {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #fff;
  border: 1px solid rgba(34, 34, 34, 0.1333333333);
}

.gnav-sp-wrap {
  position: fixed;
  width: 100vw;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(189, 0, 22, 0.9);
  z-index: 5;
  padding-top: 60px;
}
.gnav-sp-wrap nav.gnav-sp {
  width: 90vw;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
}
.gnav-sp-wrap nav.gnav-sp ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  padding: 1em;
}
.gnav-sp-wrap nav.gnav-sp ul li a img {
  width: 30px;
  filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(18deg) brightness(104%) contrast(104%);
}
.gnav-sp-wrap nav.gnav-sp ul.sns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

/*
* module
*/
/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

.btn-area {
  display: flex;
  justify-content: center;
  padding-top: 50px;
  margin-bottom: 0px;
}
@media screen and (max-width: 768px) {
  .btn-area {
    padding-top: 75px;
  }
}
.btn-area.left {
  justify-content: flex-start;
}
.btn-area.p-t-75 {
  padding-top: 75px;
}

a.btn {
  min-width: 100px;
  border-radius: 16px;
  padding: 3px 12px;
  text-align: center;
  display: inline-block;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #bd0016;
  position: relative;
  z-index: 0;
  transition: opacity 0.3s;
  font-size: 1.5rem;
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  line-height: 1;
}
a.btn:hover {
  opacity: 0.8;
}

@media screen and (max-width: 480px) {
  a.btn {
    font-size: 1.25rem;
  }
}
a.btn-b {
  letter-spacing: 0.2em;
  min-width: 770px;
  height: 220px;
  color: #fff;
  background: #80a2b0;
  transition: opacity 0.3s;
  font-size: 22px;
  font-size: 2.2rem;
  padding-top: 64px;
  text-align: center;
  font-weight: normal;
}
a.btn-b span {
  font-size: 20px;
  font-size: 2rem;
  font-family: "Cormorant Garamond", serif;
  display: block;
  margin-bottom: 20px;
}
a.btn-b:hover {
  opacity: 0.8;
}

@media screen and (max-width: 768px) {
  a.btn-b {
    display: block;
    letter-spacing: 0.2em;
    min-width: 335px;
    height: 217px;
    color: #fff;
    background: #80a2b0;
    transition: opacity 0.3s;
    font-size: 20px;
    font-size: 2rem;
    padding-top: 75px;
    text-align: center;
  }
  a.btn-b span {
    font-size: 18px;
    font-size: 1.8rem;
    font-family: "Cormorant Garamond", serif;
    display: block;
    margin-bottom: 20px;
    font-weight: 600;
  }
  a.btn-b:hover {
    opacity: 0.8;
  }
}
.btn-send-wrap {
  display: flex;
  justify-content: center;
  padding-top: 50px;
  margin-bottom: 0px;
}
@media screen and (max-width: 768px) {
  .btn-send-wrap {
    padding-top: 50px;
  }
}
.btn-send-wrap.left {
  justify-content: flex-start;
}
.btn-send-wrap.p-t-75 {
  padding-top: 75px;
}
.btn-send-wrap input[type=submit].btn-send {
  cursor: pointer;
  width: 300px;
  max-width: 300px;
  height: 60px;
  line-height: 60px;
  border-radius: 10px;
  text-align: center;
  display: inline-block;
  color: #fff;
  background: #bd0016;
  position: relative;
  z-index: 0;
  transition: opacity 0.3s;
  letter-spacing: 0.1em;
  border: none;
  padding: 0;
  font-size: 14px;
  font-size: 1.4rem;
}
.btn-send-wrap input[type=submit].btn-send:hover {
  opacity: 0.8;
}

/**************************************
	見出し
**************************************/
.ttl {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #bd0016;
  font-size: 2.5rem;
  font-size: clamp(24px, 2.08vw, 40px);
  margin-inline: auto;
  margin-bottom: 2vw;
  display: flex;
  align-items: center;
  position: relative;
  gap: 24px;
}
.ttl::before, .ttl::after {
  content: "";
  flex-grow: 1;
  height: 40px;
  background: linear-gradient(0deg, #fff 0%, #fff 20%, #bd0016 20%, #bd0016 25%, #fff 25%, #fff 30%, #bd0016 30%, #bd0016 35%, #fff 35%, #fff 40%, #bd0016 40%, #bd0016 45%, #fff 45%, #fff 50%, #bd0016 50%, #bd0016 55%, #fff 55%, #fff 60%, #bd0016 60%, #bd0016 65%, #fff 65%, #fff 100%);
}
.ttl.font-jp {
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif !important;
}

@media screen and (max-width: 768px) {
  .ttl {
    margin-bottom: 10px;
    gap: 14px;
  }
  .ttl::before, .ttl::after {
    transform: translateY(3px);
    content: "";
    flex-grow: 1;
    height: 80px;
  }
}
@media screen and (max-width: 480px) {
  .ttl {
    margin-bottom: 10px;
    gap: 4px;
  }
  .ttl::before, .ttl::after {
    height: 60px;
  }
}
.ttl2 {
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-style: normal;
  color: #bd0016;
  font-size: 3.75rem;
  font-size: clamp(24px, 3.125vw, 60px);
  margin-inline: auto;
  margin-bottom: 2.5vw;
  display: flex;
  align-items: center;
  position: relative;
  gap: 24px;
}
.ttl2::after {
  content: "";
  flex-grow: 1;
  height: 60px;
  background: linear-gradient(0deg, #fff 0%, #fff 20%, #bd0016 20%, #bd0016 25%, #fff 25%, #fff 30%, #bd0016 30%, #bd0016 35%, #fff 35%, #fff 40%, #bd0016 40%, #bd0016 45%, #fff 45%, #fff 50%, #bd0016 50%, #bd0016 55%, #fff 55%, #fff 60%, #bd0016 60%, #bd0016 65%, #fff 65%, #fff 100%);
}
.ttl2.font-jp {
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif !important;
}

.ttl-post {
  font-size: clamp(24px, 2.08vw, 44px);
  color: #bd0016;
  margin-bottom: 1vw;
  font-weight: 600;
  line-height: 1.4;
}

.ttl-sub {
  font-size: clamp(20px, 1.8vw, 30px);
  color: #bd0016;
  margin-bottom: 4vw;
  font-weight: 600;
  line-height: 1.1 !important;
}

.ttl3 {
  font-style: normal;
  color: #bd0016;
  font-size: clamp(20px, 1.56vw, 30px);
  font-weight: bold;
  margin-inline: auto;
  margin-bottom: 2.5vw;
  display: flex;
  align-items: center;
  position: relative;
  gap: 24px;
}
.ttl3::after {
  content: "";
  flex-grow: 1;
  height: 40px;
  background: linear-gradient(0deg, #fff 0%, #fff 20%, #bd0016 20%, #bd0016 25%, #fff 25%, #fff 30%, #bd0016 30%, #bd0016 35%, #fff 35%, #fff 40%, #bd0016 40%, #bd0016 45%, #fff 45%, #fff 50%, #bd0016 50%, #bd0016 55%, #fff 55%, #fff 60%, #bd0016 60%, #bd0016 65%, #fff 65%, #fff 100%);
}
.ttl3 span {
  font-size: clamp(16px, 1.08vw, 24px);
}

@media screen and (max-width: 768px) {
  .ttl3 {
    gap: 6px;
    font-size: clamp(15px, 4vw, 20px);
  }
  .ttl3 span {
    font-size: clamp(12px, 3.46vw, 16px);
  }
}
/************************************
form
*************************************/
/*
reset
***********************/
button,
option,
select,
textarea,
input[type=button],
input[type=submit],
input[type=number],
input[type=email],
input[type=tel],
input[type=date],
input[type=text],
input[type=select],
input[type=option],
input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  border-radius: 0;
  border: none;
  outline: 0;
  margin: 0;
}

/* デフォルトのradio、checkboxは非表示 */
/* for firefox */
select {
  text-indent: 0.01px;
  text-overflow: "";
}

/* for ie10 ie11 ie系のプルダウンの矢印を消す ie9は非対応 */
select::-ms-expand {
  display: none;
}

/*
input[type="text"] textarea
input[type="●●●"] 適宜追加
*/
textarea,
select,
input[type=number],
input[type=text],
input[type=email],
input[type=tel],
input[type=date] {
  padding: 4px 10px;
  font-size: 14px;
  font-size: 1.4rem;
  border: 1px solid #7a7a7a;
  border-radius: 4px;
}

textarea {
  height: 100px; /* お好みの高さに */
}

/* フォーカス時の色変更 */
textarea:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=text]:focus {
  border: 1px solid #333;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

input[type=submit],
input[type=button] {
  width: 100%;
  height: 44px;
  padding: 10px 20px;
  display: block;
  position: relative;
  background: #111;
  color: #fff;
  text-align: center;
  border: 1px solid #111;
  cursor: pointer;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
  color: #ccc;
  font-size: clamp(16px, 1.08vw, 24px);
}

.dlTable.dlform {
  margin-top: 2em;
  width: 100%;
}
.dlTable.dlform dt {
  font-size: clamp(16px, 1.08vw, 24px);
  width: 220px;
}
.dlTable.dlform dd {
  width: calc(100% - 220px);
}
.dlTable.dlform .formBoxzip1 {
  width: 3em;
}
.dlTable.dlform .formBoxzip2 {
  width: 4em;
}
.dlTable.dlform select.formBoxPref {
  margin-top: 1em;
  display: block;
  width: 180px;
}
.dlTable.dlform .address-form {
  margin-top: 1em;
}
.dlTable.dlform .formBox500 {
  width: 100%;
}
.dlTable.dlform .form-txtarea-L {
  width: 100%;
  height: 300px;
}

@media screen and (max-width: 768px) {
  .dlTable.dlform .formBox500 {
    width: 100%;
  }
  dt {
    width: 100%;
  }
  dd {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  .dlTable.dlform dt {
    width: 100%;
  }
  .dlTable.dlform dd {
    width: 100%;
  }
}
#searchAddress {
  border-radius: 3px;
  background: #f8f8f8;
  border: #a6a6a6 1px solid;
  text-align: center;
  padding: 5px;
  cursor: pointer;
  margin-left: 20px;
}
@media screen and (max-width: 480px) {
  #searchAddress {
    margin-left: 0;
    display: block;
    margin: 10px 0;
  }
}

.wpcf7-form-control.wpcf7-radio {
  display: block;
}

span.wpcf7-list-item {
  position: relative;
  flex-basis: auto;
  display: block;
}
input[type=radio] {
  position: absolute;
  opacity: 0;
}

.wpcf7-list-item-label {
  /*項目の色や文字サイズ*/
  color: #222222;
  cursor: pointer;
  font-size: clamp(16px, 1.08vw, 24px);
}

.wpcf7-list-item-label:before {
  content: "";
  background: #fff;
  border-radius: 100%;
  border: 1px solid #888888;
  display: inline-block;
  width: 1.4em;
  height: 1.4em;
  position: relative;
  top: -0.2em;
  margin-right: 14px;
  vertical-align: middle;
  cursor: pointer;
  text-align: center;
  -webkit-transition: all 250ms ease;
  transition: all 250ms ease;
}

input[type=radio]:checked + .wpcf7-list-item-label:before {
  background-color: #bd0016;
  box-shadow: inset 0 0 0 2px #fff;
}

@media screen and (max-width: 768px) {
  .wpcf7-form-control.wpcf7-radio {
    display: block;
  }
}
.wpcf7-form-control.wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
}

span.wpcf7-list-item {
  position: relative;
  margin: 0 40px 0 0 !important; /*項目ごとの余白を調整*/
}

input[type=checkbox] {
  position: absolute;
  opacity: 0; /*既存のチェックボックスを見えなくする*/
}

.wpcf7-checkbox .wpcf7-list-item-label:before {
  /*ラジオボックス・チェックボックスの枠*/
  content: "";
  border: 1px solid #8e8e8e;
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  position: relative;
  top: -3px;
  margin-right: 20px;
  vertical-align: middle;
  cursor: pointer;
  text-align: center;
}

.wpcf7-checkbox .wpcf7-list-item-label:after {
  border-right: 6px solid #790000;
  border-bottom: 3px solid #790000;
  content: "";
  display: block;
  height: 20px;
  left: 7px;
  margin-top: -2px;
  position: absolute;
  top: 10%;
  transform: rotate(45deg) translate3d(0, 2px, 0) scale3d(0.7, 0.7, 1);
  transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
  width: 12px;
  opacity: 0;
}

input[type=checkbox]:checked + .wpcf7-list-item-label:after {
  /*チェックアイコン*/
  content: "";
  opacity: 1;
  transform: rotate(45deg) scale3d(1, 1, 1);
}

.wpcf7-acceptance .wpcf7-list-item-label::before {
  content: "";
  border: 1px solid #666;
  display: inline-block;
  width: 20px;
  height: 20px;
  position: relative;
  top: -3px;
  margin-right: 20px;
  vertical-align: middle;
  cursor: pointer;
  text-align: center;
  border-radius: 0;
}

.wpcf7-acceptance .wpcf7-list-item-label:after {
  border-right: 6px solid #790000;
  border-bottom: 3px solid #790000;
  content: "";
  display: block;
  height: 20px;
  left: 7px;
  margin-top: -2px;
  position: absolute;
  top: 10%;
  transform: rotate(45deg) translate3d(0, 2px, 0) scale3d(0.7, 0.7, 1);
  transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
  width: 12px;
  opacity: 0;
}

@media screen and (max-width: 480px) {
  .wpcf7-form-control.wpcf7-radio {
    display: block;
  }
}
.last-checkBox {
  margin-top: 2em;
}
.last-checkBox .wpcf7-list-item-label {
  font-size: 14px;
  font-size: 1.4rem;
}

/*
* pages
*/
.main-slider-area {
  width: 100%;
  position: relative;
}

#sec-main-visual {
  width: 100%;
  height: 100%;
  clip-path: inset(0% 0% 0% 0%);
}

.sec-01 {
  padding-top: 120px;
}
.sec-01 .cnt-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sec-01 .cnt-inner .img-area {
  width: 42%;
  text-align: center;
}
.sec-01 .cnt-inner .img-area img {
  max-width: 380px;
  width: 80%;
}
.sec-01 .cnt-inner .text-area {
  width: 54%;
}
.sec-01 .cnt-inner .text-area p {
  line-height: 2;
  font-size: 1.25rem;
}

@media screen and (max-width: 768px) {
  .sec-01 {
    padding-top: 80px;
  }
  .sec-01 .cnt-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .sec-01 .cnt-inner .img-area {
    width: 42%;
    text-align: center;
  }
  .sec-01 .cnt-inner .img-area img {
    max-width: 380px;
    width: 100%;
  }
  .sec-01 .cnt-inner .text-area {
    width: 54%;
  }
  .sec-01 .cnt-inner .text-area p {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 480px) {
  .sec-01 {
    padding-top: 40px;
  }
  .sec-01 .cnt-inner {
    display: block;
  }
  .sec-01 .cnt-inner .img-area {
    margin-bottom: 20px;
    width: 100%;
    text-align: center;
  }
  .sec-01 .cnt-inner .img-area img {
    max-width: 70%;
    width: 100%;
  }
  .sec-01 .cnt-inner .text-area {
    width: 100%;
  }
  .sec-01 .cnt-inner .text-area p {
    font-size: 1rem;
  }
}
.sec-02 {
  padding-top: 120px;
}
.sec-02 ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8%;
}
.sec-02 ul li {
  width: 46%;
}
.sec-02 ul li a {
  transition: 0.4s all;
  display: inline-block;
}
.sec-02 ul li a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 768px) {
  .sec-02 {
    padding-top: 80px;
  }
  .sec-02 ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8%;
  }
  .sec-02 ul li {
    width: 46%;
  }
}
@media screen and (max-width: 480px) {
  .sec-02 {
    padding-top: 40px;
  }
  .sec-02 ul {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }
  .sec-02 ul li {
    width: 100%;
  }
}
.sec-03 {
  padding-top: 70px;
}
.sec-03 .cnt-inner {
  display: flex;
  gap: 16%;
}
.sec-03 .cnt-inner .newstopic-area {
  width: 42%;
}
.sec-03 .cnt-inner .event-area {
  width: 42%;
}
.sec-03 .cnt-inner ul li {
  margin-bottom: 20px;
}
.sec-03 .cnt-inner ul li a {
  color: #222222;
  display: flex block;
  font-size: 1.25rem;
  transition: 0.3s;
}
.sec-03 .cnt-inner ul li a .day {
  margin-right: 1em;
  line-height: 1.5;
}
.sec-03 .cnt-inner ul li a .entry-title {
  line-height: 1.5;
}
.sec-03 .cnt-inner ul li a:hover {
  color: #bd0016;
}

@media screen and (max-width: 768px) {
  .sec-03 {
    padding-top: 30px;
  }
  .sec-03 .cnt-inner {
    display: flex;
    gap: 16%;
  }
  .sec-03 .cnt-inner .newstopic-area {
    width: 42%;
  }
  .sec-03 .cnt-inner .event-area {
    width: 42%;
  }
  .sec-03 .cnt-inner ul li {
    margin-bottom: 20px;
  }
  .sec-03 .cnt-inner ul li a {
    color: #222222;
    display: block;
    font-size: 1.25rem;
    transition: 0.4s;
  }
  .sec-03 .cnt-inner ul li a .day {
    margin-right: 1em;
    line-height: 1.5;
  }
  .sec-03 .cnt-inner ul li a .entry-title {
    line-height: 1.5;
  }
  .sec-03 .cnt-inner ul li a:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 480px) {
  .sec-03 {
    padding-top: 30px;
  }
  .sec-03 .cnt-inner {
    display: block;
  }
  .sec-03 .cnt-inner .newstopic-area {
    width: 100%;
  }
  .sec-03 .cnt-inner .event-area {
    width: 100%;
  }
  .sec-03 .cnt-inner ul li {
    margin-bottom: 20px;
  }
  .sec-03 .cnt-inner ul li a {
    color: #222222;
    display: block;
    font-size: 0.9375rem;
    transition: 0.4s;
  }
  .sec-03 .cnt-inner ul li a .day {
    margin-right: 1em;
    line-height: 1.5;
  }
  .sec-03 .cnt-inner ul li a .entry-title {
    line-height: 1.5;
  }
  .sec-03 .cnt-inner ul li a:hover {
    opacity: 0.8;
  }
  .sec-03 .cnt-inner .alignR {
    text-align: center !important;
  }
}
.sec-04 {
  padding-top: 70px;
}
.sec-04 .member-bnr-list li {
  margin-bottom: 58px;
}
.sec-04 .member-bnr-list li a {
  display: inline-block;
  transition: 0.4s all;
}
.sec-04 .member-bnr-list li a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 768px) {
  .sec-04 {
    padding-top: 30px;
  }
  .sec-04 .member-bnr-list li {
    margin-bottom: 28px;
  }
}
@media screen and (max-width: 480px) {
  .sec-04 {
    padding-top: 30px;
  }
  .sec-04 .member-bnr-list li {
    margin-bottom: 20px;
  }
}
.sec-05 .cnt {
  padding-top: 130px;
  position: relative;
}
.sec-05 .cnt::before {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(3px);
  content: "";
  height: 100px;
  width: 100%;
  background: #ffffff;
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 45%, rgb(189, 0, 22) 46%, rgb(255, 255, 255) 47%, rgb(255, 255, 255) 48%, rgb(189, 0, 22) 49%, rgb(255, 255, 255) 50%, rgb(255, 255, 255) 51%, rgb(189, 0, 22) 52%, rgb(255, 255, 255) 53%, rgb(255, 255, 255) 54%, rgb(189, 0, 22) 55%, rgb(255, 255, 255) 56%, rgb(255, 255, 255) 57%, rgb(189, 0, 22) 58%, rgb(255, 255, 255) 59%, rgb(255, 255, 255) 100%);
}

.link-bnr-list {
  display: grid;
  gap: 40px 70px;
  grid-template-columns: 1fr 1fr 1fr;
}
.link-bnr-list li a {
  transition: 0.4s all;
}
.link-bnr-list li a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 768px) {
  .sec-05 .cnt {
    padding-top: 100px;
  }
  .sec-05 .cnt::before {
    content: "";
    height: 80px;
  }
  .link-bnr-list {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 480px) {
  .sec-05 .cnt {
    padding-top: 66px;
  }
  .sec-05 .cnt::before {
    content: "";
    height: 60px;
  }
  .link-bnr-list {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
    justify-items: center;
  }
}
/**************************************
	汎用
**************************************/
.mainVis {
  margin-bottom: 100px;
}
.mainVis img {
  width: 100%;
}

.is-provider-youtube > div {
  aspect-ratio: 16/9;
  max-width: 100%;
}
.is-provider-youtube > div iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.link-text a {
  text-decoration: none;
  color: #222222;
  transition: 0.3s;
}
.link-text a:hover {
  opacity: 0.8;
}

/**************************************
POST-contents
**************************************/
.post-contents .post-entry-list li {
  border-bottom: 1px solid #8e8e8e;
  margin-bottom: 2.5vw;
}
.post-contents .post-entry-list li a {
  text-decoration: none;
  color: #222222;
  display: flex block;
  gap: 2vw;
  font-size: clamp(16px, 1.08vw, 24px);
  padding-bottom: 1vw;
  padding-left: 2vw;
  transition: 0.3s;
}
.post-contents .post-entry-list li a:hover {
  color: #bd0016;
}
.post-contents .post-entry-list li a .day {
  line-height: 1.5;
}
.post-contents .post-entry-list li a p {
  line-height: 1.5;
}

@media screen and (max-width: 480px) {
  .post-contents .post-entry-list li {
    border-bottom: 1px solid #8e8e8e;
    margin-bottom: 2.5vw;
  }
  .post-contents .post-entry-list li a {
    text-decoration: none;
    color: #222222;
    display: block;
    gap: 2vw;
    font-size: clamp(16px, 1.08vw, 24px);
    padding-bottom: 4vw;
    padding-left: 2vw;
  }
  .post-contents .post-entry-list li a span {
    display: block;
    margin-bottom: 8px;
  }
}
.post-detail-contents {
  font-size: clamp(16px, 1.08vw, 24px);
}
.post-detail-contents figure {
  margin-bottom: 2em;
}
.post-detail-contents p {
  margin-bottom: 2em;
  line-height: 2;
}
.post-detail-contents .wp-block-image a {
  transition: 0.4s;
}
.post-detail-contents .wp-block-image a:hover {
  opacity: 0.7;
}
.post-detail-contents .wp-block-table table td,
.post-detail-contents .wp-block-table table th {
  border: 1px solid #8e8e8e;
  line-height: 1.5;
  padding: 0.4em;
  font-size: clamp(16px, 1.08vw, 24px);
}
.post-detail-contents .wp-block-heading:not(:first-of-type) {
  padding-top: 1.2vw;
}
.post-detail-contents h2 {
  font-size: clamp(24px, 1.7vw, 33px);
  margin-bottom: 1.2vw;
  line-height: 1.8;
}
.post-detail-contents h3 {
  font-size: clamp(20px, 1.8vw, 30px);
  margin-bottom: 1.2vw;
  line-height: 1.8;
}
.post-detail-contents .wp-block-list li {
  list-style: disc;
  margin-left: 1em;
  line-height: 1.8;
}

@media screen and (max-width: 480px) {
  .post-detail-contents {
    font-size: clamp(16px, 1.08vw, 24px);
  }
  .post-detail-contents .wp-block-columns figure {
    margin-bottom: 0;
  }
  .post-detail-contents p {
    margin-bottom: 1.5em;
    line-height: 2;
  }
  .post-detail-contents .wp-block-table table td,
  .post-detail-contents .wp-block-table table th {
    display: block;
    border: 1px solid #8e8e8e;
    line-height: 1.5;
    padding: 0.4em;
    font-size: clamp(16px, 1.08vw, 24px);
  }
  .post-detail-contents .wp-block-heading:not(:first-of-type) {
    padding-top: 1.8vw;
  }
  .post-detail-contents h2 {
    font-size: clamp(20px, 1.5vw, 26px);
    margin-bottom: 1.8vw;
  }
  .post-detail-contents h3 {
    font-size: clamp(16px, 1.08vw, 24px);
    margin-bottom: 1.8vw;
  }
}
/**************************************
	PASTEVENT
**************************************/
.past-event p {
  line-height: 2;
  font-size: clamp(16px, 1.08vw, 24px);
}

.past-event-list {
  margin-top: 100px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.past-event-list li {
  width: 100%;
}
.past-event-list li a {
  display: block;
  transition: all 0.4s;
}
.past-event-list li a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 768px) {
  .past-event-list {
    margin-top: 60px;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
  }
  .past-event-list li {
    width: 100%;
  }
  .past-event-list li a {
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .past-event-list {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }
  .past-event-list li {
    width: 100%;
  }
  .past-event-list li a {
    display: block;
  }
}
/**************************************
	MEMBER
**************************************/
.member-cnt .member-nav {
  margin-bottom: 100px;
}
.member-cnt .member-nav nav ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 34px;
}
.member-cnt .member-nav nav ul li a {
  display: block;
  border-radius: 10px;
  border: 1px solid #222;
  font-size: clamp(16px, 1.08vw, 24px);
  color: #222222;
  padding: 20px 0;
  text-align: center;
}
.member-cnt .member-nav nav ul li.member-nav-long a {
  display: block;
  border-radius: 10px;
  border: 1px solid #222;
  font-size: clamp(16px, 1.08vw, 24px);
  color: #222222;
  padding: 10px 0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .member-cnt .member-nav {
    margin-bottom: 40px;
  }
  .member-cnt .member-nav nav ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
  }
  .member-cnt .member-nav nav ul li a {
    display: block;
    border-radius: 10px;
    border: 1px solid #222;
    font-size: clamp(16px, 1.08vw, 24px);
    color: #222222;
    padding: 20px 0;
    text-align: center;
  }
  .member-cnt .member-nav nav ul li.member-nav-long a {
    display: block;
    border-radius: 10px;
    border: 1px solid #222;
    font-size: clamp(16px, 1.08vw, 24px);
    color: #222222;
    padding: 10px 0;
    text-align: center;
  }
}
@media screen and (max-width: 480px) {
  .member-cnt .member-nav {
    margin-bottom: 40px;
  }
  .member-cnt .member-nav nav ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .member-cnt .member-nav nav ul li a {
    display: block;
    border-radius: 10px;
    border: 1px solid #222;
    font-size: clamp(16px, 1.08vw, 24px);
    color: #222222;
    padding: 20px 0;
    text-align: center;
  }
  .member-cnt .member-nav nav ul li.member-nav-long a {
    display: block;
    border-radius: 10px;
    border: 1px solid #222;
    font-size: clamp(16px, 1.08vw, 24px);
    color: #222222;
    padding: 10px 0;
    text-align: center;
  }
}
/**************************************
about
**************************************/
.sec-about {
  position: relative;
  overflow: hidden;
  padding-bottom: 200px;
}
.sec-about .about-deco {
  position: absolute;
  width: clamp(750px, 50.2vw, 1500px);
  height: 100%;
  right: -8vw;
  top: 20.6vw;
}
.sec-about .about-deco img {
  width: 100%;
}

.about-cnt p {
  line-height: 1.8;
  font-size: clamp(16px, 1.08vw, 24px);
}

.about-logo img {
  margin-bottom: 5.2vw;
}

@media screen and (max-width: 768px) {
  .sec-about {
    position: relative;
    overflow: hidden;
    padding-bottom: 100px;
  }
  .sec-about .about-deco {
    position: absolute;
    width: clamp(330px, 10.2vw, 390px);
    height: 100%;
    right: -6vw;
    top: 23.6vw;
  }
  .sec-about .about-deco img {
    width: 100%;
  }
  .about-cnt p {
    line-height: 1.8;
    font-size: clamp(16px, 1.08vw, 24px);
  }
  .about-logo img {
    margin-bottom: 5.2vw;
  }
}
@media screen and (max-width: 480px) {
  .sec-about {
    position: relative;
    overflow: hidden;
    padding-bottom: 30px;
  }
  .sec-about .about-deco {
    position: absolute;
    width: clamp(230px, 10.2vw, 390px);
    height: 100%;
    right: -16vw;
    top: 19.6vw;
  }
  .sec-about .about-deco img {
    width: 100%;
  }
  .about-cnt p {
    line-height: 1.8;
    font-size: clamp(16px, 1.08vw, 24px);
  }
  .about-logo img {
    margin-bottom: 5.2vw;
  }
}
.mission-ttl {
  font-size: clamp(44px, 3.125vw, 60px);
}

.about-mission {
  padding-top: 3.6vw;
}
.about-mission dl {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 3vw;
}
.about-mission dl dt {
  font-size: clamp(44px, 3.125vw, 60px);
  font-weight: 700;
  color: #bd0016;
  width: 12.6vw;
}
.about-mission dl dd {
  width: calc(100% - 12.6vw);
}
.about-mission dl dd p {
  font-size: clamp(20px, 1.8vw, 30px);
  line-height: 1.5;
  margin-bottom: 1em;
}
.about-mission dl dd p.mission-read {
  font-size: clamp(28px, 2.6vw, 50px);
}

@media screen and (max-width: 768px) {
  .mission-ttl {
    font-size: clamp(24px, 3.125vw, 60px);
  }
  .mission-ttl span {
    transform: translateY(4px);
  }
  .about-mission {
    padding-top: 3.6vw;
  }
  .about-mission dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 3vw;
  }
  .about-mission dl dt {
    font-size: clamp(24px, 3.125vw, 60px);
    font-weight: 700;
    color: #bd0016;
    width: 30vw;
  }
  .about-mission dl dd {
    width: calc(100% - 30vw);
  }
  .about-mission dl dd p {
    font-size: clamp(16px, 1.8vw, 30px);
    line-height: 1.5;
    margin-bottom: 1em;
  }
  .about-mission dl dd p.mission-read {
    font-size: clamp(24px, 2.6vw, 50px);
  }
}
.profile-text-area {
  padding: 60px 0;
}
.profile-text-area p {
  font-size: clamp(16px, 1.08vw, 24px);
  line-height: 1.5;
  margin-bottom: 1em;
}

@media screen and (max-width: 480px) {
  .profile-text-area {
    padding: 20px 0;
  }
}
.profile-logo-base {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 100px;
}
.profile-logo-base .profile-logo {
  width: 35%;
}
.profile-logo-base .profile-text {
  width: 52%;
}
.profile-logo-base .profile-text h3 {
  font-size: clamp(16px, 1.08vw, 24px);
  font-weight: bold;
  letter-spacing: 0.08em;
  margin-bottom: 20px;
  border-bottom: 1px solid #bd0016;
  padding-bottom: 10px;
}
.profile-logo-base .profile-text p {
  font-size: clamp(16px, 1.08vw, 24px);
  line-height: 1.8;
}

@media screen and (max-width: 480px) {
  .profile-logo-base {
    display: block;
    margin-bottom: 40px;
  }
  .profile-logo-base .profile-logo {
    width: 90%;
    margin: 0 auto 40px;
  }
  .profile-logo-base .profile-text {
    width: 100%;
  }
}
.tsujimura-base {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.tsujimura-base .text-area {
  width: 60%;
}
.tsujimura-base .text-area h3 {
  font-size: clamp(16px, 1.08vw, 24px);
  font-weight: bold;
  letter-spacing: 0.08em;
  margin-bottom: 20px;
  border-bottom: 1px solid #bd0016;
  padding-bottom: 10px;
}
.tsujimura-base .text-area p {
  font-size: clamp(16px, 1.08vw, 24px);
  line-height: 1.8;
  margin-bottom: 2em;
}
.tsujimura-base .img-area {
  width: 35%;
}
.tsujimura-base .img-area img {
  margin-bottom: 20px;
}

@media screen and (max-width: 480px) {
  .tsujimura-base {
    display: block;
  }
  .tsujimura-base .text-area {
    width: 100%;
  }
  .tsujimura-base .text-area h3 {
    font-size: clamp(16px, 1.08vw, 24px);
    font-weight: bold;
    letter-spacing: 0.08em;
    margin-bottom: 20px;
    border-bottom: 1px solid #bd0016;
    padding-bottom: 10px;
  }
  .tsujimura-base .text-area p {
    font-size: clamp(16px, 1.08vw, 24px);
    line-height: 1.8;
    margin-bottom: 1em;
  }
  .tsujimura-base .img-area {
    width: 100%;
  }
  .tsujimura-base .img-area img {
    margin-bottom: 20px;
  }
}
.socialcontribution-area {
  padding: 100px 0;
}
.socialcontribution-area h3 {
  font-size: clamp(24px, 2vw, 40px);
  font-weight: bold;
  letter-spacing: 0.08em;
  margin-bottom: 24px;
}
.socialcontribution-area p {
  font-size: clamp(16px, 1.08vw, 24px);
  line-height: 1.8;
}
.socialcontribution-area .isp-area {
  padding: 30px 0;
}
.socialcontribution-area .isp-area p {
  margin-bottom: 20px;
}
.socialcontribution-area .isp-area a {
  text-decoration: underline;
  color: #222222;
}

@media screen and (max-width: 480px) {
  .socialcontribution-area {
    padding: 30px 0;
  }
  .socialcontribution-area h3 {
    font-size: clamp(24px, 2vw, 40px);
    font-weight: bold;
    letter-spacing: 0.08em;
    margin-bottom: 24px;
  }
  .socialcontribution-area p {
    font-size: clamp(16px, 1.08vw, 24px);
    line-height: 1.8;
  }
  .socialcontribution-area .isp-area {
    padding: 20px 0;
  }
}
.history-base {
  padding-bottom: 40px;
  position: relative;
}
.history-base .line-l {
  width: 2px;
  background-color: #bd0016;
  height: calc(100% - 40px);
  position: absolute;
  left: 364px;
  top: 30px;
}
.history-base .history-box {
  padding-left: 80px;
  display: flex;
  padding-bottom: 80px;
}
.history-base .history-box.inheri {
  padding-bottom: 40px;
}
.history-base .history-box:last-child {
  padding-bottom: 0;
}
.history-base .history-box dt {
  width: 470px;
  color: #bd0016;
  display: flex;
  align-items: center;
}
.history-base .history-box dt .year-month {
  display: none;
}
.history-base .history-box dt .years {
  width: 130px;
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #bd0016;
  font-size: 2.5rem;
  font-size: clamp(24px, 3.125vw, 60px);
}
.history-base .history-box dt .month {
  padding-left: 40px;
  width: 120px;
  font-size: clamp(20px, 1.2vw, 24px);
}
.history-base .history-box dt .decoline {
  padding-left: 20px;
}
.history-base .history-box dt .decoline .circle {
  width: 30px;
  height: 30px;
  display: block;
  border-radius: 50%;
  background-color: #bd0016;
}
.history-base .history-box dd {
  width: 720px;
}
.history-base .history-box dd p {
  font-size: clamp(16px, 1.08vw, 24px);
  line-height: 1.8;
}
.history-base .history-box dd p a {
  color: #222222;
  transition: 0.4s;
  display: inline-block;
}
.history-base .history-box dd p a:hover {
  transform: translateX(8px);
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .history-base {
    padding-bottom: 100px;
    position: relative;
  }
  .history-base .line-l {
    width: 2px;
    background-color: #bd0016;
    height: calc(100% - 160px);
    position: absolute;
    left: calc(7vw + 23.8%);
    top: 40px;
  }
  .history-base .history-box {
    width: 100%;
    padding-left: 0px;
    display: flex;
    padding-bottom: 80px;
  }
  .history-base .history-box.inheri {
    padding-bottom: 40px;
  }
  .history-base .history-box:last-child {
    padding-bottom: 0;
  }
  .history-base .history-box dt {
    width: 33%;
    color: #bd0016;
    display: flex;
    align-items: center;
  }
  .history-base .history-box dt .years {
    width: 30%;
    font-family: "Barlow", sans-serif;
    font-weight: 700;
    font-style: normal;
    color: #bd0016;
    font-size: 2.5rem;
    font-size: clamp(24px, 3.125vw, 60px);
  }
  .history-base .history-box dt .month {
    padding-left: 10px;
    width: 50%;
    font-size: clamp(18px, 1.2vw, 24px);
  }
  .history-base .history-box dt .decoline {
    padding-left: 0px;
    width: 20%;
  }
  .history-base .history-box dt .decoline .circle {
    width: 20px;
    height: 20px;
    display: block;
    border-radius: 50%;
    background-color: #bd0016;
  }
  .history-base .history-box dd {
    width: 67%;
  }
  .history-base .history-box dd p {
    font-size: clamp(16px, 1.08vw, 24px);
    line-height: 1.8;
  }
}
@media screen and (max-width: 480px) {
  .history-base {
    position: relative;
    padding-bottom: 100px;
  }
  .history-base .line-l {
    width: 2px;
    background-color: #bd0016;
    height: calc(100% - 192px);
    position: absolute;
    left: calc(7vw + 24.5%);
    top: 40px;
  }
  .history-base .history-box {
    width: 100%;
    padding-left: 0px;
    display: flex;
    padding-bottom: 40px;
  }
  .history-base .history-box.inheri {
    padding-bottom: 20px;
  }
  .history-base .history-box:last-child {
    padding-bottom: 0;
  }
  .history-base .history-box dt {
    width: 33%;
    color: #bd0016;
    display: flex;
    justify-content: space-between;
    align-items: start;
  }
  .history-base .history-box dt .year-month {
    text-align: right;
    width: 70%;
    display: block;
    font-size: clamp(15px, 1.2vw, 18px);
  }
  .history-base .history-box dt .year-month span {
    display: block;
    font-family: "Barlow", sans-serif;
    font-weight: 700;
    font-style: normal;
    color: #bd0016;
    font-size: clamp(32px, 2.125vw, 60px);
  }
  .history-base .history-box dt .years {
    display: none;
  }
  .history-base .history-box dt .month {
    display: none;
  }
  .history-base .history-box dt .decoline {
    padding-left: 0px;
    width: 20%;
  }
  .history-base .history-box dt .decoline .circle {
    margin-top: 32px;
    width: 15px;
    height: 15px;
    display: block;
    border-radius: 50%;
    background-color: #bd0016;
  }
  .history-base .history-box dt .decoline .circle.sp-nomt {
    margin-top: 0;
  }
  .history-base .history-box dd {
    width: 67%;
    padding-top: 28px;
  }
  .history-base .history-box dd.sp-nopt {
    padding-top: 0;
  }
  .history-base .history-box dd p {
    font-size: clamp(16px, 1.08vw, 24px);
    line-height: 1.8;
  }
}
.member-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 73px;
  margin-bottom: 100px;
}
.member-list li a {
  color: #222222;
}
.member-list li a .member-photo {
  margin-bottom: 20px;
}
.member-list li a .member-photo img {
  width: 100%;
}
.member-list li a .member-text-area {
  font-size: clamp(16px, 1.08vw, 24px);
}
.member-list li a .member-text-area .name-area {
  font-weight: bold;
  margin-bottom: 10px;
  letter-spacing: 0.08em;
}
.member-list li a .member-text-area .name-area span {
  margin-top: 8px;
  display: block;
  font-weight: normal;
  font-size: clamp(14px, 0.83vw, 16px);
}
.member-list li a .member-text-area .name-sub {
  margin-bottom: 10px;
  font-size: clamp(14px, 0.885vw, 17px);
}
.member-list li a .member-text-area .icon-area span {
  font-size: clamp(15px, 1.04vw, 20px);
  display: inline-block;
  padding: 2px 10px;
  background-color: #bd0016;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.08em;
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
  .member-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    margin-bottom: 40px;
  }
  .member-list li a {
    color: #222222;
  }
  .member-list li a .member-photo {
    margin-bottom: 20px;
  }
  .member-list li a .member-text-area {
    font-size: clamp(16px, 1.08vw, 24px);
  }
  .member-list li a .member-text-area .name-area {
    font-weight: bold;
    margin-bottom: 10px;
    letter-spacing: 0.08em;
  }
  .member-list li a .member-text-area .name-area span {
    margin-top: 8px;
    display: block;
    font-weight: normal;
    font-size: clamp(14px, 0.83vw, 16px);
  }
  .member-list li a .member-text-area .name-sub {
    margin-bottom: 10px;
    font-size: clamp(14px, 0.885vw, 17px);
  }
  .member-list li a .member-text-area .icon-area span {
    font-size: clamp(15px, 1.04vw, 20px);
    display: inline-block;
    padding: 2px 10px;
    background-color: #bd0016;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.08em;
  }
}
@media screen and (max-width: 480px) {
  .member-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 40px;
  }
  .member-list li a {
    color: #222222;
  }
  .member-list li a .member-photo {
    margin-bottom: 20px;
  }
  .member-list li a .member-text-area {
    font-size: clamp(16px, 1.08vw, 24px);
  }
  .member-list li a .member-text-area .name-area {
    font-weight: bold;
    margin-bottom: 10px;
    letter-spacing: 0.08em;
  }
  .member-list li a .member-text-area .name-area span {
    margin-top: 8px;
    display: block;
    font-weight: normal;
    font-size: clamp(14px, 0.83vw, 16px);
  }
  .member-list li a .member-text-area .name-sub {
    margin-bottom: 10px;
    font-size: clamp(14px, 0.885vw, 17px);
  }
  .member-list li a .member-text-area .icon-area span {
    font-size: clamp(15px, 1.04vw, 20px);
    display: inline-block;
    padding: 2px 10px;
    background-color: #bd0016;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.08em;
  }
}
.artist-wrap {
  display: flex;
  gap: 10%;
}
.artist-wrap .artist-ph-area {
  width: 35%;
}
.artist-wrap .artist-ph-area img {
  width: 100%;
  margin-bottom: 5.2vw;
}
.artist-wrap .artist-ph-area p {
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-style: italic;
  font-size: clamp(45px, 3.95vw, 76px);
  color: #bd0016;
  line-height: 1;
}
.artist-wrap .artist-text-area {
  width: 55%;
  color: #222222;
}
.artist-wrap .artist-text-area p {
  line-height: 1.5;
}
.artist-wrap .artist-text-area .artist-name {
  font-size: clamp(24px, 1.7vw, 33px);
}
.artist-wrap .artist-text-area .artist-name span {
  font-size: clamp(16px, 1.14vw, 22px);
}
.artist-wrap .artist-text-area .artist-name-en {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: italic;
  font-size: clamp(45px, 3.95vw, 76px);
  color: #bd0016;
}
.artist-wrap .artist-bio .wp-block-heading:not(:first-of-type) {
  padding-top: 1.2vw;
}
.artist-wrap .artist-bio h2 {
  font-size: clamp(24px, 1.7vw, 33px);
  margin-bottom: 1.2vw;
  line-height: 1.8;
}
.artist-wrap .artist-bio h3 {
  font-size: clamp(20px, 1.8vw, 30px);
  margin-bottom: 1.2vw;
  line-height: 1.8;
}
.artist-wrap .artist-bio p {
  line-height: 2;
  font-size: clamp(16px, 1.08vw, 24px);
}
.artist-wrap .artist-bio a {
  color: #bd0016;
  transition: 0.4s;
}
.artist-wrap .artist-bio a:hover {
  opacity: 0.8;
}
.artist-wrap .artist-bio img {
  margin-bottom: 1.4vw;
}
.artist-wrap .artist-bio .wp-block-table table td,
.artist-wrap .artist-bio .wp-block-table table th {
  border: 1px solid #8e8e8e;
  line-height: 1.5;
  padding: 0.4em;
  font-size: clamp(16px, 1.08vw, 24px);
}

@media screen and (max-width: 480px) {
  .artist-wrap {
    display: block;
    gap: 10%;
  }
  .artist-wrap .artist-ph-area {
    width: 100%;
  }
  .artist-wrap .artist-ph-area img {
    margin-bottom: 2.2vw;
    width: 100%;
  }
  .artist-wrap .artist-ph-area p {
    display: none;
  }
  .artist-wrap .artist-text-area {
    width: 100%;
    color: #222222;
  }
  .artist-wrap .artist-text-area p {
    line-height: 1.5;
  }
  .artist-wrap .artist-text-area .artist-name {
    font-size: clamp(24px, 1.7vw, 33px);
  }
  .artist-wrap .artist-text-area .artist-name span {
    font-size: clamp(16px, 1.14vw, 22px);
  }
  .artist-wrap .artist-text-area .artist-name-en {
    font-family: "Barlow", sans-serif;
    font-weight: 400;
    font-style: italic;
    font-size: clamp(24px, 3.95vw, 76px);
    color: #bd0016;
  }
  .artist-wrap .artist-bio .wp-block-heading:not(:first-of-type) {
    padding-top: 1.8vw;
  }
  .artist-wrap .artist-bio h2 {
    font-size: clamp(20px, 1.5vw, 26px);
    margin-bottom: 1.8vw;
  }
  .artist-wrap .artist-bio h3 {
    font-size: clamp(16px, 1.08vw, 24px);
    margin-bottom: 1.8vw;
  }
  .artist-wrap .artist-bio p {
    line-height: 2;
    font-size: clamp(16px, 1.08vw, 24px);
  }
  .artist-wrap .artist-bio a {
    color: #bd0016;
  }
  .artist-wrap .artist-bio .wp-block-table td,
  .artist-wrap .artist-bio .wp-block-table th {
    display: block;
    border: 1px solid #8e8e8e;
    line-height: 1.5;
    padding: 0.4em;
    font-size: clamp(16px, 1.08vw, 24px);
  }
}
/**************************************
	CONTACT
**************************************/
#contact-form p {
  line-height: 2;
  font-size: clamp(16px, 1.08vw, 24px);
}
#contact-form .rule-base {
  margin: 100px 0;
  border-radius: 50px;
  border: 1px solid #bd0016;
  padding: 8px 20px;
}
#contact-form .rule-base dl {
  display: flex;
  align-items: center;
}
#contact-form .rule-base dl dt {
  border-right: 1px solid #bd0016;
  width: 22%;
  text-align: center;
  font-weight: bold;
}
#contact-form .rule-base dl dd {
  width: 78%;
  padding-left: 80px;
}
#contact-form .form-info-box {
  background-color: #f8f8f8;
  padding: 40px;
  border-radius: 20px;
  margin-bottom: 40px;
}
#contact-form .form-info-box ul li {
  display: flex;
  gap: 8px;
}
#contact-form .form-info-box ul li p {
  line-height: 1.8;
}
#contact-form .form-info-box ul li span {
  line-height: 1.8;
}
#contact-form .est {
  color: #bd0016;
}

@media screen and (max-width: 768px) {
  #contact-form p {
    line-height: 2;
  }
  #contact-form .rule-base {
    margin: 30px 0;
    border-radius: 20px;
    border: 1px solid #bd0016;
    padding: 10px 20px;
  }
  #contact-form .rule-base dl {
    display: block;
  }
  #contact-form .rule-base dl dt {
    border-right: none;
    border-bottom: 1px solid #bd0016;
    padding-bottom: 10px;
    width: 100%;
    text-align: center;
    font-weight: bold;
  }
  #contact-form .rule-base dl dd {
    padding-top: 10px;
    width: 100%;
    padding-left: 0px;
  }
}
@media screen and (max-width: 480px) {
  #contact-form p {
    line-height: 2;
  }
  #contact-form .rule-base {
    margin: 30px 0;
    border-radius: 20px;
    border: 1px solid #bd0016;
    padding: 10px 20px;
  }
  #contact-form .rule-base dl {
    display: block;
  }
  #contact-form .rule-base dl dt {
    border-right: none;
    border-bottom: 1px solid #bd0016;
    padding-bottom: 10px;
    width: 100%;
    text-align: center;
    font-weight: bold;
  }
  #contact-form .rule-base dl dd {
    padding-top: 10px;
    width: 100%;
    padding-left: 0px;
  }
}
.dlTable {
  width: 100%;
}

.dlTable.dlform {
  margin-top: 2em;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.dlTable.dlform dt {
  font-size: clamp(16px, 1.08vw, 24px);
  letter-spacing: 0.1em;
  width: 200px;
  padding: 20px 0;
  display: flex;
  align-items: center;
  font-weight: bold;
}
.dlTable.dlform dt span {
  color: #bd0016;
}
.dlTable.dlform dd {
  padding: 20px 0;
  font-size: clamp(16px, 1.08vw, 24px);
  width: calc(100% - 200px);
}

@media screen and (max-width: 768px) {
  .dlTable.dlform {
    margin-top: 2em;
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .dlTable.dlform dt {
    font-size: clamp(16px, 1.08vw, 24px);
    letter-spacing: 0.1em;
    width: 200px;
    padding: 20px 0;
    display: flex;
    align-items: center;
  }
  .dlTable.dlform dt span {
    color: #bd0016;
  }
  .dlTable.dlform dd {
    padding: 20px 0;
    font-size: clamp(16px, 1.08vw, 24px);
    width: 100%;
  }
}
/**************************************
	keyframes
**************************************/
/**************************************
	ページナビゲーション
**************************************/
/*wp-pagenavi base*/
.wp-pagenavi {
  clear: both;
  text-align: center;
  margin-bottom: 40px;
}

.wp-pagenavi a,
.wp-pagenavi span {
  color: #333;
  background-color: #ebebeb;
  border: solid 1px #e0e0d2;
  border-radius: 5px;
  padding: 8px 15px !important;
  padding: 0px 15px !important;
  margin: 0 2px;
  white-space: nowrap;
  -moz-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none;
  height: 40px;
  line-height: 40px;
  display: inline-block;
}
.wp-pagenavi a img,
.wp-pagenavi span img {
  height: 60%;
  transform: translateY(-2px);
}

.wp-pagenavi a:hover {
  color: #fff;
  background-color: #999;
  border-color: #999 !important;
}

.wp-pagenavi span.current {
  color: #fff;
  background-color: #000;
  border-color: #000 !important;
  font-weight: bold;
}

.wp-pagenavi .pages {
  display: none;
}

#wp-pagenaviWrap {
  margin-top: 60px;
}

#pageNavHome {
  display: none;
}

#pageNavList {
  width: 100%;
  display: flex;
  justify-content: center;
  padding-top: 60px;
  margin-bottom: 20px;
}

#pageNavList > div {
  text-align: center;
  font-size: 1.2rem;
  font-size: 1.4vw;
  margin: 0 4px;
  line-height: 30px;
}

#pageNavList > div a {
  text-decoration: none;
  width: 130px;
  height: 30px;
  color: #000;
  display: block;
  box-sizing: border-box;
}
#pageNavList > div a img {
  height: 100%;
}

#pageNavList > div.btn-backPage a {
  text-decoration: none;
  width: 130px;
  height: 30px;
  color: #000;
  width: 100%;
  display: flex block;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  font-family: "Barlow", sans-serif;
  font-weight: bold;
}

@media screen and (max-width: 896px) {
  .wp-pagenavi {
    width: 100%;
    background: #ebebeb;
    display: flex;
    justify-content: space-between;
  }
  .wp-pagenavi .first {
    display: none;
  }
  .wp-pagenavi .last {
    display: none;
  }
  .wp-pagenavi .extend {
    display: none;
  }
  .wp-pagenavi .page {
    display: none;
  }
  .wp-pagenavi .current {
    display: none;
  }
  #wp-pagenaviWrap {
    position: relative;
    background: #fff;
    width: 100%;
    height: 45px;
    line-height: 45px;
  }
  .wp-pagenavi a.previouspostslink {
    display: block;
    width: 33%;
    height: 45px;
    padding: 0px 0px !important;
    margin: 0 0px;
    border-radius: 0px;
    border: none;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    background-color: transparent;
  }
  .wp-pagenavi a.nextpostslink {
    display: block;
    width: 33%;
    height: 45px;
    padding: 0px 0px !important;
    margin: 0 0px;
    border-radius: 0px;
    border: none;
    box-sizing: border-box;
    position: absolute;
    right: 0;
    background-color: transparent;
  }
  #pageNavHome {
    display: block;
    position: absolute;
    width: 34%;
    top: 0;
    left: 33%;
    font-size: 5vw;
    font-family: "Barlow", sans-serif;
    font-weight: bold;
  }
  #pageNavHome a {
    text-align: center;
    display: block;
    width: 100%;
    height: 45px;
    padding: 0px 0px;
    margin: 0 0px;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    border-radius: 0px;
    border: none;
    text-decoration: none;
    color: #000;
  }
  #pageNavList {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 30px;
    margin-bottom: 0px;
  }
  #pageNavList > div {
    width: 33%;
    text-align: center;
    font-size: 1.2rem;
    font-size: 5vw;
    margin: 0 0px;
  }
  #pageNavList > div:nth-child(2) {
    width: 34%;
    box-sizing: border-box;
  }
  #pageNavList > div a {
    text-decoration: none;
    width: 100%;
    height: 30px;
    color: #666;
    display: block;
    border-radius: 0px;
    box-sizing: border-box;
  }
}
.form-info-box {
  margin-bottom: 0px;
}
.form-info-box p {
  line-height: 1.8;
}

/* =========================================== */
/* thanks
/* =========================================== */
.thanks-cnt-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 480px) {
  .thanks-cnt-wrap {
    display: block;
  }
}
.thanks-cnt-wrap > div:first-child {
  width: 140px;
}
@media screen and (max-width: 480px) {
  .thanks-cnt-wrap > div:first-child {
    width: 100%;
    margin-bottom: 20px;
  }
}
.thanks-cnt-wrap > div:last-child {
  width: calc(100% - 180px);
}
.thanks-cnt-wrap > div:last-child p {
  line-height: 2.5;
}
@media screen and (max-width: 480px) {
  .thanks-cnt-wrap > div:last-child {
    width: 100%;
  }
}

.thanks-list li {
  margin-bottom: 60px;
}
.thanks-list li h3 {
  margin-bottom: 30px;
}
.thanks-list li p {
  line-height: 1.8;
  margin-bottom: 20px;
}

.thanks-list-2 {
  display: flex;
  flex-wrap: wrap;
}
.thanks-list-2 li {
  line-height: 1.8;
  margin-right: 30px;
}/*# sourceMappingURL=style.css.map */