@charset "utf-8";
/*****STANDART CSS******/ :root {
  --view-size: 1584;
  --color-primary: #79282c;
}
@media screen and (max-width: 768px) {
  :root {
    --view-size: 375;
  }
}
@media screen and (min-width: 768px) {}
.f-copper {
  font-family: copperplate, serif;
}
.f-chiaro {
  font-family: fot-chiaro-std, sans-serif;
}
body {
  font-size: 16px;
  overflow: hidden;
  font-family: 'Noto Serif JP', serif;
}
body.fixed {
  position: fixed;
  width: 100%;
}
button {
  cursor: pointer;
}
img {
  width: 100%;
  height: auto;
}
p, a, li, dt, dd, th, td, .f-go, input, ::placeholder {
  font-weight: normal;
  font-style: normal;
  letter-spacing: 0.05em;
  font-size: 16px;
}
p {
  line-height: 1.66;
}
h1, h2, h3, h4 {
  font-family: 'Noto Serif JP', serif;
  font-weight: bold;
  font-style: normal;
  letter-spacing: 0.05em;
}
.bold {
  font-weight: bold;
}
.block {
  display: block;
}
.inlineBlock {
  display: inline-block;
}
.fs-14 {
  font-size: 14px;
}
.headerNav > li > a, .fs-16 {
  font-size: 16px;
}
.fs-18 {
  font-size: 18px;
}
.fs-20 {
  font-size: 20px;
}
.fs-22 {
  font-size: 22px;
}
.fs-24 {
  font-size: 24px;
}
.fs-26 {
  font-size: 26px;
}
.fs-28 {
  font-size: 28px;
}
.fs-32 {
  font-size: 32px;
}
.fs-40 {
  font-size: 40px;
}
.fs-50 {
  font-size: 50px;
}
.fs-75 {
  font-size: 75px;
}
.fc-blue {
  color: var(--color-primary);
}
.alignC {
  text-align: center;
}
.box980 {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
.sec_price .box980 {
  width: 84%;
}
.box1200 {
  width: 84%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width:768px) {
  .only_sp767 {
    display: none;
  }
}
@media screen and (min-width:1200px) {
  .only_sp1200 {
    display: none;
  }
}
.wrap {
  position: relative;
}
.secHead {
  background: center center url("../img/head_bg.webp") no-repeat;
  padding: 90px 0;
}
.secHead .headWrapper {
  display: flex;
  width: 92%;
  max-width: 1584px;
  margin: 0 auto;
  background-image: url("../img/head_photos_r.webp");
  background-size: 55% auto;
  background-position: right center;
  background-repeat: no-repeat;
}
.secHead .headWrapperLeft {
  width: 50%;
}
.secHead .headWrapper .headLead {
  font-size: min(calc(70 / var(--view-size) * 100vw), 70px);
  font-weight: 700;
  letter-spacing: -1px;
  line-height: 1.2;
  color: var(--color-primary);
  margin-bottom: min(calc(25 / var(--view-size) * 100vw), 25px);
}
.secHead .headWrapper .maisen_cb_logo {
  max-width: min(calc(565 / var(--view-size) * 100vw), 565px);
  margin-bottom: min(calc(25 / var(--view-size) * 100vw), 25px);
}
.secHead .headWrapper h1 {
  max-width: min(calc(674 / var(--view-size) * 100vw), 674px);
  margin-bottom: min(calc(40 / var(--view-size) * 100vw), 40px);
}
.secHead .headWrapper .headText {
  font-size: min(calc(20 / var(--view-size) * 100vw), 20px);
  font-weight: 600;
}
.secHead .headWrapper .headPhotos {
  display: none;
}
@media screen and (max-width: 767px) {
  .secHead {
    padding: 40px 0 40px;
  }
  .secHead .headWrapper {
    flex-wrap: wrap;
    background-image: none;
  }
  .secHead .headWrapperLeft {
    width: 100%;
  }
  .secHead .headWrapper .headLead {
    font-size: min(calc(34 / var(--view-size) * 100vw), 34px);
  }
  .secHead .headWrapper .headText {
    font-size: min(calc(17 / var(--view-size) * 100vw), 17px);
    margin-bottom: 1em;
  }
  .secHead .headWrapper .headText br {
    display: none;
  }
  .secHead .headWrapper .headPhotos {
    display: block;
  }
}
@media screen and (min-width:1021px) {
  .only_sp1020 {
    display: none;
  }
}
.secReason {
  padding: 95px 0;
}
@media screen and (max-width: 767px) {
  .secReason {
    padding-bottom: 0;
  }
}
.secReason .reasonIn {
  width: 92%;
  max-width: 1584px;
  margin: 0 auto;
}
.secReason .reasonIn .reasonHead {
  margin-bottom: 70px;
}
.secReason .reasonIn .reasonHead h2 {
  text-align: center;
  padding-bottom: 80px;
  background: center bottom / auto 100px url("../img/reason_headbg.png") no-repeat;
}
.secReason .reasonIn .reasonHead h2 .textIn {
  display: inline-block;
}
.secReason .reasonIn .reasonHead h2 .row01 {
  font-size: 24px;
  text-align: center;
  display: block;
}
.secReason .reasonIn .reasonHead h2 .row02 {
  font-size: 91px;
  text-align: center;
  display: block;
  position: relative;
}
.secReason .reasonIn .reasonHead h2 .row02::before {
  content: "";
  display: table-cell;
  width: 105%;
  height: 28px;
  background: left top / auto 100% url("../img/head_slash.png") repeat-x;
  position: absolute;
  left: 50%;
  bottom: -0.1em;
  transform: translateX(-50%);
}
.secReason .reasonIn .reasonHead h2 .row02 .slashIn {
  position: relative;
}
.reasonList {
  text-align: center;
  font-size: 0;
  margin-bottom: 9vw;
}
.reasonList .reasonBox {
  display: inline-block;
  width: 470px;
  margin-right: 87px;
  vertical-align: top;
}
.reasonList .reasonBox:nth-last-child(1) {
  margin-right: 0;
}
.reasonList .reasonBox .boxHead {
  position: relative;
  height: 378px;
  margin-bottom: 20px;
}
.reasonList .reasonBox:nth-child(1) .boxHead::before {
  content: "";
  display: block;
  width: 100%;
  height: 378px;
  background: center / auto 100% url("../img/reason01.jpg") no-repeat;
  border-radius: 62px;
}
.reasonList .reasonBox:nth-child(2) .boxHead::before {
  content: "";
  display: block;
  width: 100%;
  height: 378px;
  background: center / auto 100% url("../img/reason02r.jpg") no-repeat;
  border-radius: 62px;
}
.reasonList .reasonBox:nth-child(3) .boxHead::before {
  content: "";
  display: block;
  width: 100%;
  height: 378px;
  background: center / auto 100% url("../img/reason03.jpg") no-repeat;
  border-radius: 62px;
}
.reasonList .reasonBox .boxHead .info {
  position: absolute;
  right: 0;
  top: 0;
  width: 154px;
  height: 100%;
}
.reasonList .reasonBox .boxHead .info .balloon {
  display: table-cell;
  width: 122px;
  height: 122px;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%) translateY(-60%);
  background-color: var(--color-primary);
  border-radius: 50%;
}
.reasonList .reasonBox .boxHead .info .balloon::before {
  content: "";
  display: table-cell;
  width: 32px;
  height: 28px;
  border-top: 28px solid var(--color-primary);
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(80%);
  box-sizing: border-box;
}
.reasonList .reasonBox .boxHead .info .balloon p {
  display: block;
  font-size: 24px;
  font-weight: bold;
  color: #FFF;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 100%;
  text-align: center;
}
.reasonList .reasonBox .boxHead .texts {
  position: absolute;
  top: 90px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
}
.texts p {
  display: flex;
  flex-direction: row-reverse; /* ← 右から左に並べる */
  justify-content: center;
  gap: 0.3em;
}
.texts p > span {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 24px;
  font-weight: bold;
  color: var(--color-primary);
  background-color: #fff;
  padding: 0.2em;
}
.texts p > span > span {
  display: block; /* ← ネストされたspanも縦並びにする */
}
.reasonList .reasonBox .boxHead .numBox {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  transform: translateX(-50%);
}
.reasonList .reasonBox .boxHead .numBox p:nth-child(1) {
  font-size: 30px;
  color: #FFF;
  text-align: center;
  line-height: 20px;
  transform: scaleY(80%);
  transform-origin: 0 100%;
  position: relative;
  top: 10px;
}
.reasonList .reasonBox .boxHead .numBox p:nth-child(2) {
  font-size: 112px;
  color: #FFF;
  text-align: center;
  line-height: 1.0;
  transform: scaleY(80%);
  transform-origin: 0;
}
.reasonList .reasonBox .boxBottom {}
.reasonList .reasonBox .boxBottom h3 {
  font-size: 28px;
  line-height: 1.3;
  font-weight: bold;
  color: var(--color-primary);
  margin-bottom: 0.5em;
}
.reasonList .reasonBox .boxBottom p {
  font-size: 16px;
  font-weight: bold;
  color: var(--color-primary);
  margin-bottom: 0.5em;
}
@media screen and (max-width: 1684px) {
  .reasonList .reasonBox {
    display: inline-block;
    width: 32%;
    margin-right: 2%;
    vertical-align: top;
  }
}
@media screen and (max-width: 880px) {
  .reasonList .reasonBox {
    display: block;
    width: 100%;
    max-width: 470px;
    margin-right: 0;
    vertical-align: top;
    margin: 0 auto 70px;
  }
  .reasonList .reasonBox:nth-last-child(1) {
    margin-right: auto;
  }
  .reasonList .reasonBox .boxHead .info {
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
  .reasonList .reasonBox .boxHead .numBox {
    position: absolute;
    left: 0;
    bottom: 0;
    width: auto;
    transform: translateX(15px) translateY(22px);
  }
  .reasonList .reasonBox .boxHead .info .balloon {
    left: auto;
    right: 0;
    top: 0;
    transform: translateX(0) translateY(-60%);
    background-color: var(--color-primary);
    border-radius: 50%;
  }
  .reasonList .reasonBox .boxHead .texts {
    position: absolute;
    top: 90px;
    left: auto;
    right: 0;
    transform: translateX(0);
    width: 122px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .secReason .reasonIn .reasonHead h2 .row01 {
    font-size: 4.3vw;
  }
  .secReason .reasonIn .reasonHead h2 .row02 {
    font-size: 11.5vw;
  }
  .secReason .reasonIn .reasonHead h2 .row02::before {
    height: 4vw;
    background: left top / auto 100% url("../img/head_slash.png") repeat-x;
  }
  .secReason .reasonIn .reasonHead h2 {
    padding-bottom: 11vw;
    background: center bottom / auto 13vw url("../img/reason_headbg.png") no-repeat;
  }
  .reasonList .reasonBox {
    max-width: 100%;
    margin: 0 auto 16vw;
  }
  .reasonList .reasonBox .boxHead {
    height: 71.4vw;
    margin-bottom: 4vw;
  }
  .reasonList .reasonBox:nth-child(1) .boxHead::before {
    border-radius: 6.6vw;
  }
  .reasonList .reasonBox:nth-child(1) .boxHead::before {
    background: center / 100% auto url("../img/reason01.jpg") no-repeat;
    height: 71.4vw;
  }
  .reasonList .reasonBox:nth-child(2) .boxHead::before {
    background: center / 100% auto url("../img/reason02.jpg") no-repeat;
    height: 71.4vw;
    border-radius: 6.6vw;
  }
  .reasonList .reasonBox:nth-child(3) .boxHead::before {
    background: center / 100% auto url("../img/reason03.jpg") no-repeat;
    height: 71.4vw;
    border-radius: 6.6vw;
  }
  .reasonList .reasonBox .boxHead .info .balloon {
    width: 26.1vw;
    height: 26.1vw;
  }
  .reasonList .reasonBox .boxHead .info .balloon::before {
    width: 6.6vw;
    height: 5.8vw;
    border-top: 5.8vw solid var(--color-primary);
    border-left: 3.3vw solid transparent;
    border-right: 3.3vw solid transparent;
    transform: translateX(-50%) translateY(80%);
  }
  .reasonList .reasonBox .boxHead .info .balloon p {
    font-size: 5.2vw;
  }
  .reasonList .reasonBox .boxHead .texts {
    top: 20.1vw;
    width: 26.1vw;
  }
  .texts p > span {
    font-size: 5.1vw;
  }
  .reasonList .reasonBox .boxHead .numBox {
    position: absolute;
    left: 0;
    bottom: 0;
    width: auto;
    transform: translateX(4vw) translateY(4vw);
  }
  .reasonList .reasonBox .boxHead .numBox p:nth-child(1) {
    font-size: 8vw;
    line-height: 6vw;
    top: 3vw;
  }
  .reasonList .reasonBox .boxHead .numBox p:nth-child(2) {
    font-size: 29.8vw;
  }
  .secReason .reasonIn .reasonHead {
    margin-bottom: 18vw;
  }
  .reasonList .reasonBox .boxBottom h3 {
    font-size: 7.2vw;
  }
  .reasonList .reasonBox .boxBottom p {
    font-size: 4.2vw;
    font-weight: bold;
    color: var(--color-primary);
    margin-bottom: 0.5em;
  }
}
.secTitle {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.secTitle h2 {
  display: inline-block;
}
.secTitle h2 .text {
  display: block;
  font-size: 46px;
  font-weight: 900;
  color: #FFF;
  line-height: 80px;
  height: 80px;
  background-color: var(--color-primary);
  padding: 0 25px;
}
.secTitle h2::before {
  content: "";
  display: table-cell;
  width: 25px;
  height: 80px;
  background: left top / auto 100% url("../img/group_left.png") no-repeat;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateX(-99%);
}
.secTitle h2::after {
  content: "";
  display: table-cell;
  width: 25px;
  height: 80px;
  background: right top / auto 100% url("../img/group_right.png") no-repeat;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateX(99%);
}
.serviceListWrap {
  width: 92%;
  max-width: 1292px;
  margin: 0 auto;
  padding-top: 155px;
}
.serviceListWrap ul {
  font-size: 0;
}
.serviceListWrap ul li {
  width: 48%;
  position: relative;
  border: 1px solid var(--color-primary);
  border-radius: 24px;
  display: inline-block;
  margin-bottom: 100px;
}
.serviceListWrap ul li:nth-child(2n - 1) {
  margin-right: 4%;
}
.serviceListWrap ul li::before {
  content: "";
  display: block;
  padding-top: 52%;
}
.serviceListWrap ul li:nth-child(1) {
  background: center center / 100% auto url("../img/service01r.jpg") no-repeat;
}
.serviceListWrap ul li:nth-child(2) {
  background: center center / 100% auto url("../img/service02r.jpg") no-repeat;
}
.serviceListWrap ul li:nth-child(3) {
  background: center center / 100% auto url("../img/service03r.jpg") no-repeat;
}
.serviceListWrap ul li:nth-child(4) {
  background: center center / 100% auto url("../img/service04r.jpg") no-repeat;
}
.serviceListWrap ul li .text {
  font-size: 28px;
  font-weight: bold;
  color: var(--color-primary);
  display: table-cell;
  width: 163px;
  height: 163px;
  line-height: 161px;
  vertical-align: middle;
  text-align: center;
  border-radius: 50%;
  border: 1px solid var(--color-primary);
  position: absolute;
  left: 0;
  top: 0;
  transform: translateX(-26%) translateY(-55%);
  background-color: #ffff7f;
}
@media screen and (max-width: 1100px) {
  .secGroup .cont {
    width: 92%;
    margin: 0 auto;
    padding: 53px 4%;
  }
  .secGroup .listWrap {
    text-align: center;
  }
  .secGroup .listWrap .checkList {
    font-size: 0;
    width: auto;
    margin: 0 auto;
    display: inline-block;
  }
  .secGroup .checkList li {
    display: block;
    width: 100%;
  }
  .secGroup .cont .logos li:nth-child(1) {
    margin-right: 30px;
  }
  .secGroup .cont .logos {
    text-align: center;
    margin-bottom: 30px;
  }
  .secGroup .cont .middleText {
    display: block;
  }
  .secGroup .cont .middleText .text {
    background-color: var(--color-primary);
    line-height: 1.3;
    height: auto;
    display: block;
    text-align: center;
    padding: 15px 30px;
    border-radius: 6px;
  }
  .secGroup .cont .middleText .text01 {
    display: block;
    text-align: center;
    font-size: 30px;
    line-height: 1.3;
    font-weight: bold;
    color: #FFF;
  }
  .secGroup .cont .middleText .text02 {
    display: block;
    text-align: center;
    font-size: 24px;
    line-height: 1.3;
    font-weight: bold;
    color: #FFF;
    padding: 0 15px;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .secGroup {
    padding: 8vw 0;
  }
  .secTitle {
    position: static;
    transform: translateX(0) translateY(0);
    width: 92vw;
    padding: 0 6vw;
    margin: 0 auto 6vw;
  }
  .secTitle h2 {
    display: block;
  }
  .secTitle h2 .text {
    font-size: 8vw;
    line-height: 21vw;
    height: 21vw;
    background-color: var(--color-primary);
    padding: 0;
    text-align: center;
  }
  .secTitle h2::before {
    width: 6vw;
    height: 21vw;
    background: left top / auto 100% url("../img/group_left.png") no-repeat;
    position: absolute;
    left: 0;
    top: 0;
    transform: translateX(0);
  }
  .secTitle h2::after {
    width: 6vw;
    height: 21vw;
    background: right top / auto 100% url("../img/group_right.png") no-repeat;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(0);
  }
  .secGroup .cont .logos li:nth-child(1) img {
    width: 28.8vw;
    height: auto;
  }
  .secGroup .cont .logos li:nth-child(2) img {
    width: 44.5vw;
    height: auto;
  }
  .secGroup .cont .logos li:nth-child(1) {
    margin-right: 4vw;
  }
  .secGroup .cont .logos {
    text-align: center;
    margin-bottom: 4vw;
  }
  .secGroup .cont .middleText .text {
    padding: 3vw 0;
    border-radius: 2vw;
  }
  .secGroup .cont .middleText .text01 {
    font-size: 6.4vw;
  }
  .secGroup .cont .middleText .text02 {
    font-size: 4.3vw;
  }
  .secGroup .listWrap {
    padding: 5vw 0 0;
  }
  .secGroup .checkList li {
    padding-left: 8vw;
    font-size: 4.2vw;
    line-height: 2.2;
  }
  .secGroup .checkList li .mark {
    width: 6vw;
    height: 6vw;
  }
  .secGroup .cont {
    width: 92%;
    margin: 0 auto;
    padding: 6vw 4%;
  }
  .serviceListWrap {
    padding-top: 11vw;
  }
  .serviceListWrap ul li {
    width: 100%;
    border-radius: 4vw;
    display: block;
    margin-bottom: 8vw;
  }
  .serviceListWrap ul li:nth-child(2n-1) {
    margin-right: 0;
  }
  .serviceListWrap ul li .text {
    font-size: 6.1vw;
    width: 26.6vw;
    height: 26.6vw;
    line-height: 26.6vw;
    left: 50%;
    top: 0;
    transform: translateX(-50%) translateY(-15%);
    background-color: #ffff7f;
  }
  .serviceListWrap ul li:nth-child(3) .text {
    font-size: 5.2vw;
    letter-spacing: -0.1em;
  }
  .serviceListWrap ul li:nth-child(4) .text {
    font-size: 5.2vw;
    letter-spacing: -0.1em;
  }
}
.secInfo {
  padding: min(calc(70 / var(--view-size) * 100vw), 70px) 0;
  position: relative;
  background-color: var(--color-primary);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .secInfo {
    padding: min(calc(40 / var(--view-size) * 100vw), 70px) 0;
  }
}
.secInfo .cont {
  width: 92%;
  max-width: 1382px;
  margin: 0 auto;
}
.secInfo .cont .contIn {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .secInfo .cont .contIn {
    display: block;
  }
}
.secInfo .cont .contIn .left {
  width: 47%;
}
.secInfo .cont .contIn .right {
  width: 47%;
}
@media screen and (max-width: 767px) {
  .secInfo .cont .contIn .left, .secInfo .cont .contIn .right {
    width: 100%;
  }
}
.secInfo .cont .contIn .right .map {
  border-radius: 20px;
  overflow: hidden;
}
.secInfo .cont .contIn .right .map iframe {
  width: 100%;
  height: 394px;
}
@media screen and (max-width: 767px) {
  .secInfo .cont .contIn .right .map iframe {
    height: 60vw;
  }
}
.secInfo .info_date {
  margin-bottom: min(calc(27 / var(--view-size) * 100vw), 27px);
}
.secInfo .info_place {
  font-size: min(calc(29 / var(--view-size) * 100vw), 29px);
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: min(calc(20 / var(--view-size) * 100vw), 20px);
}
.secInfo .info_address {
  font-size: min(calc(17 / var(--view-size) * 100vw), 17px);
  margin-bottom: min(calc(34 / var(--view-size) * 100vw), 34px);
}
.info_row {
  display: flex;
  justify-content: space-between;
}
.info_row_left {
  width: 65%;
}
.info_row_right {
  width: 29%;
}
@media screen and (max-width: 767px) {
  .info_row {
    display: block;
  }
  .info_row_left, .info_row_right {
    width: 100%;
  }
  .info_row_right {
    display: none;
    text-align: center;
    margin-bottom: 30px;
  }
  .info_row_right img {
    width: 80%;
    height: auto;
  }
}
.secInfo .btn {
  margin-bottom: 24px;
}
.secInfo .btn a {
  font-size: 28px;
  font-weight: bold;
  color: #000;
  display: block;
  text-align: center;
  background-image: url("../img/btn_arrow.svg");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: 48px 6px;
  background-color: #fcee21;
  border-radius: 6px;
  line-height: 100px;
  height: 100px;
  width: 100%;
  padding: 0 0.8em;
  box-shadow: 0 4px 0 #807b0f;
}
.secInfo .linkList {
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .secInfo .linkList {
    margin-bottom: 40px;
  }
}
.secInfo .linkList li {
  margin-bottom: 15px;
}
.secInfo .linkList li::before {
  content: "＞ ";
  font-size: 21px;
  font-weight: bold;
  color: #fff;
}
.secInfo .linkList li a {
  font-size: 21px;
  font-weight: bold;
  color: #fff;
  text-decoration: underline;
}
.bnrArea {
  margin-bottom: 60px;
}
.bnrArea .bnr {
  width: 92%;
  max-width: 584px;
  padding: 19px 24px;
  border-radius: 12px;
  margin: 0 auto;
  background-color: var(--color-primary);
}
.bnrArea .bnr .date {
  font-size: 0;
  color: transparent;
  position: relative;
  background: center top / 100% auto url("../img/bnr_date_white.png") no-repeat;
  margin-bottom: 15px;
}
.bnrArea .bnr .time {
  display: block;
  background-color: #ffff7f;
  border-radius: 6px;
}
.bnrArea .bnr .time .text {
  display: block;
  text-align: center;
  line-height: 32px;
  height: 32px;
  font-size: 18px;
  font-weight: bold;
  color: var(--color-primary);
}
.bnrArea .bnr .date::before {
  content: "";
  display: block;
  padding-top: 91%;
}
.bnrArea .bnr > .left {
  width: 150px;
  display: inline-block;
  vertical-align: top;
}
.bnrArea .bnr > .right {
  display: inline-block;
  vertical-align: top;
  padding-left: 40px;
  box-sizing: border-box;
}
.bnrArea .bnr > .right .btn {
  margin-bottom: 24px;
}
.bnrArea .bnr > .right .btn a {
  font-size: 28px;
  font-weight: bold;
  color: #FFF;
  display: block;
  text-align: center;
  background-color: #f38f1e;
  border-radius: 6px;
  line-height: 100px;
  height: 100px;
  width: 100%;
  padding: 0 0.8em;
  box-shadow: 0 4px 0 #8a4f02;
}
.bnrArea .bnr > .right .linkList {
  padding-left: 20px;
}
.bnrArea .bnr > .right .linkList li {
  margin-bottom: 12px;
}
.bnrArea .bnr > .right .linkList li::before {
  content: "＞ ";
  font-size: 21px;
  font-weight: bold;
  color: #FFF;
}
.bnrArea .bnr > .right .linkList li a {
  font-size: 21px;
  font-weight: bold;
  color: #FFF;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .bnrArea {
    padding: 0 4vw;
  }
  .bnrArea .bnr {
    padding: 8vw 4vw 6vw;
    border-radius: 4vw;
  }
  .bnrArea .bnr > .left {
    width: 60%;
    display: block;
    margin: 0 auto 5vw;
  }
  .bnrArea .bnr .date {
    background: center top / 100% auto url("../img/bnr_date_sp_white.png") no-repeat;
    margin-bottom: 0;
  }
  .bnrArea .bnr .date::before {
    content: "";
    display: block;
    padding-top: 58%;
  }
  .bnrArea .bnr .time .text {
    line-height: 8vw;
    height: 8vw;
    font-size: 4vw;
  }
  .bnrArea .bnr > .right {
    display: block;
    padding-left: 0;
    width: 100%;
  }
  .bnrArea .bnr > .right .btn {
    margin-bottom: 4vw;
  }
  .bnrArea .bnr > .right .btn a {
    font-size: 6.2vw;
    border-radius: 3vw;
    line-height: 21vw;
    height: 21vw;
    width: 100%;
    padding: 0;
  }
  .bnrArea .bnr > .right .linkList {
    padding-left: 0;
  }
  .bnrArea .bnr > .right .linkList li {
    margin-bottom: 3vw;
  }
  .bnrArea .bnr > .right .linkList li:nth-last-child(1) {
    margin-bottom: 0;
  }
  .bnrArea .bnr > .right .linkList li a {
    font-size: 5.6vw;
  }
  .secInfo .logos {}
  .secInfo .logos ul {
    font-size: 0;
    text-align: center;
  }
  .secInfo .logos ul li {
    display: inline-block;
  }
  .secInfo .logos ul li:nth-child(1) {
    margin-right: 4vw;
  }
  .secInfo .logos ul li:nth-child(1) img {
    width: 30vw;
  }
  .secInfo .logos ul li:nth-child(2) img {
    width: 46.6vw;
  }
}
footer {
  background-color: var(--color-primary);
  padding: 0;
}
footer p {
  text-align: center;
  line-height: 1.0;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  padding: 12px 0;
}
@media screen and (max-width: 767px) {
  footer p {
    font-size: 3.4vw;
  }
}
@media screen and (min-width: 768px) {
  .fixBtn {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .fixBtn {
    background-color: var(--color-primary);
    padding: 4vw 0;
    text-align: center;
    position: fixed;
    left: 0;
    bottom: -100%;
    width: 100%;
    transition: 0.3s all ease;
    z-index: 999;
  }
  .scrolled .fixBtn {
    bottom: 0;
  }
  .fixBtn .btn {
    display: inline-block;
  }
  .fixBtn .btn a {
    display: block;
    background-color: #f38f1e;
    border-radius: 7px;
    box-shadow: 0 1vw 0 #8a4f02;
  }
  .fixBtn .btn a .text {
    display: block;
    font-size: 5.6vw;
    font-weight: bold;
    color: #FFF;
    line-height: 13vw;
    height: 13vw;
    padding: 0 1em;
  }
}
.shisyoku {
  padding: min(calc(90 / var(--view-size) * 100vw), 90px) min(calc(20 / var(--view-size) * 100vw), 20px) min(calc(70 / var(--view-size) * 100vw), 70px);
  background: url("../img/shisyoku_bg.webp") no-repeat;
  background-size: cover;
}
.shisyoku h2 {
  margin: 0 auto min(calc(70 / var(--view-size) * 100vw), 70px);
  width: 90%;
  max-width: 836px;
}
.shisyoku h3 {
  margin: 0 auto min(calc(50 / var(--view-size) * 100vw), 50px);
  text-align: center;
  color: var(--color-primary);
  font-size: min(calc(40 / var(--view-size) * 100vw), 40px);
}
.shisyoku_pc {
  max-width: 1584px;
  margin: 0 auto;
}
.shisyoku_sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .shisyoku {
    padding: min(calc(40 / var(--view-size) * 100vw), 40px) min(calc(20 / var(--view-size) * 100vw), 20px) min(calc(40 / var(--view-size) * 100vw), 40px);
  }
  .shisyoku h2 {
    margin-bottom: min(calc(30 / var(--view-size) * 100vw), 30px);
  }
  .shisyoku_pc {
    display: none;
  }
  .shisyoku_sp {
    display: block;
  }
}
.banner {
  padding: min(calc(80 / var(--view-size) * 100vw), 80px) min(calc(20 / var(--view-size) * 100vw), 20px) min(calc(60 / var(--view-size) * 100vw), 70px);
}
.scene_pc {
  max-width: 1584px;
  margin: 0 auto min(calc(80 / var(--view-size) * 100vw), 80px);
}
.scene_sp {
  display: none;
}
.scene p {
  text-align: center;
  font-size: min(calc(32 / var(--view-size) * 100vw), 32px);
  font-weight: 500;
  margin-bottom: min(calc(60 / var(--view-size) * 100vw), 60px);
}
@media screen and (max-width: 767px) {
  .scene {
    padding: min(calc(40 / var(--view-size) * 100vw), 40px) min(calc(20 / var(--view-size) * 100vw), 20px) min(calc(40 / var(--view-size) * 100vw), 40px);
  }
  .scene_pc {
    display: none;
  }
  .scene_sp {
    display: block;
    margin-bottom: min(calc(30 / var(--view-size) * 100vw), 30px);
  }
  .scene p {
    font-size: min(calc(20 / var(--view-size) * 100vw), 20px);
  }
  .scene p br {
    display: none;
  }
}
.banner {
  padding: min(calc(70 / var(--view-size) * 100vw), 80px) min(calc(20 / var(--view-size) * 100vw), 20px) min(calc(45 / var(--view-size) * 100vw), 45px);
}
.banner_pc {
  max-width: 890px;
  margin: 0 auto min(calc(70 / var(--view-size) * 100vw), 70px);
}
.banner_sp {
  display: none;
}
.banner_logo {
  max-width: 676px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.banner_logo a {
  display: block;
}
.banner_logo a:first-of-type {
  width: 227px;
}
.banner_logo a:last-of-type {
  width: 387px;
}
@media screen and (max-width: 767px) {
  .banner {
    padding: min(calc(30 / var(--view-size) * 100vw), 40px) min(calc(20 / var(--view-size) * 100vw), 20px) min(calc(20 / var(--view-size) * 100vw), 20px);
  }
  .banner_pc {
    display: none;
  }
  .banner_sp {
    display: block;
    margin-bottom: min(calc(30 / var(--view-size) * 100vw), 30px);
  }
  .banner_logo a:first-of-type {
    width: 118px;
  }
  .banner_logo a:last-of-type {
    width: 185px;
  }
}