@charset "UTF-8";
/*main*/
/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
* {
  margin: 0;
  padding: 0;
  text-align: left;
}

hr {
  display: none;
  line-height: 0;
  font-size: 0;
  padding: 0;
  margin: 0;
  border: none;
}

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  list-style: none;
}

address {
  font-style: normal;
}

img {
  border: none;
  width: auto;
  max-width: 100%;
  font-size: 0;
  line-height: 0;
}

table, tbody, tr, th, td {
  padding: 0;
  margin: 0;
  border: none;
  border-collapse: collapse;
}

html, body {
  width: 100%;
  height: auto;
}

html {
  font-size: 62.5%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

small {
  font-size: 100%;
}

@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
body {
  width: 100%;
  font-family: "BIZ UDPGothic", sans-serif, "游ゴシック", "メイリオ", Meiryo, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.04em;
  color: #333;
  background-color: #fff;
}
body .ff__sans {
  font-family: "BIZ UDPGothic", sans-serif;
}
body .ff__serif {
  font-family: "游明朝", Hiragino Mincho ProN, "HGS明朝E", "メイリオ", Meiryo, serif;
}
body .ff__en {
  font-family: "Reddit Sans", sans-serif;
}
body .fw__bold {
  font-weight: 700;
}
body .fw__semi {
  font-weight: 600;
}
body .fw__normal {
  font-weight: 400;
}
body .fs__txt__60 {
  font-size: 6rem;
  line-height: 1;
  letter-spacing: 0.04em;
}
body .fs__txt__40 {
  font-size: 4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
body .fs__txt__30 {
  font-size: 3rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
body .fs__txt__20 {
  font-size: 2rem;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
body .fs__txt__20__wide {
  font-size: 2rem;
  line-height: 2.5;
  letter-spacing: 0.04em;
}
body .fs__txt__20__nar {
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
}
body .fs__txt__16 {
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.1em;
}
body .fs__txt__16__nar {
  font-size: 1.6rem;
  line-height: 1.3125;
  letter-spacing: 0.1em;
}
body .fs__txt__14 {
  font-size: 1.4rem;
  line-height: 1.8571428571;
  letter-spacing: 0.1em;
}
body .fs__txt__14__nar {
  font-size: 1.4rem;
  line-height: 1.3571428571;
  letter-spacing: 0.1em;
}
body .fs__txt__13__nar {
  font-size: 1.3rem;
  line-height: 1.3846153846;
  letter-spacing: 0.1em;
}
body .fs__txt__12 {
  font-size: 1.2rem;
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
}
body .fs__txt__12__nar {
  font-size: 1.2rem;
  line-height: 1.3333333333;
  letter-spacing: 0.04em;
}
@media (max-width: 750px) {
  body .fs__txt__60 {
    font-size: 4rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
  body .fs__txt__40 {
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  body .fs__txt__30 {
    font-size: 2.2rem;
    line-height: 1.5454545455;
    letter-spacing: 0.04em;
  }
  body .fs__txt__20 {
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: 0.1em;
  }
  body .fs__txt__20__wide {
    font-size: 1.6rem;
    line-height: 2.5;
    letter-spacing: 0.04em;
  }
  body .fs__txt__20__nar {
    font-size: 1.6rem;
    line-height: 1.3125;
    letter-spacing: 0.1em;
  }
  body .fs__txt__16 {
    font-size: 1.4rem;
    line-height: 1.8571428571;
    letter-spacing: 0.1em;
  }
  body .fs__txt__16__nar {
    font-size: 1.4rem;
    line-height: 1.3571428571;
    letter-spacing: 0.1em;
  }
  body .fs__txt__14__nar {
    font-size: 1.2rem;
    line-height: 1.3333333333;
    letter-spacing: 0.1em;
  }
}
body .fs__txt__en__130 {
  font-size: 13rem;
  line-height: 0.431;
  letter-spacing: 0.04em;
  font-family: "Reddit Sans", sans-serif;
}
body .fs__txt__en__100 {
  font-size: 10rem;
  line-height: 1;
  letter-spacing: 0.04em;
  font-family: "Reddit Sans", sans-serif;
}
body .fs__txt__en__70 {
  font-size: 7rem;
  line-height: 0.714;
  letter-spacing: 0.1em;
  font-family: "Reddit Sans", sans-serif;
}
body .fs__txt__en__60 {
  font-size: 6rem;
  line-height: 1;
  letter-spacing: 0.04em;
  font-family: "Reddit Sans", sans-serif;
}
body .fs__txt__en__50 {
  font-size: 5rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Reddit Sans", sans-serif;
}
body .fs__txt__en__40 {
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0.04em;
  font-family: "Reddit Sans", sans-serif;
}
body .fs__txt__en__26 {
  font-size: 2.6rem;
  line-height: 1;
  letter-spacing: 0.04em;
  font-family: "Reddit Sans", sans-serif;
}
body .fs__txt__en__20 {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.04em;
  font-family: "Reddit Sans", sans-serif;
}
body .fs__txt__en__13 {
  font-size: 1.3rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Reddit Sans", sans-serif;
}
@media (max-width: 750px) {
  body .fs__txt__en__70 {
    font-size: 4rem;
    line-height: 1;
    letter-spacing: 0.1em;
    font-family: "Reddit Sans", sans-serif;
  }
  body .fs__txt__en__60 {
    font-size: 3rem;
    line-height: 1;
    letter-spacing: 0.04em;
    font-family: "Reddit Sans", sans-serif;
  }
  body .fs__txt__en__50 {
    font-size: 3rem;
    line-height: 1;
    letter-spacing: 0.1em;
    font-family: "Reddit Sans", sans-serif;
  }
  body .fs__txt__en__40 {
    font-size: 2.6rem;
    line-height: 1;
    letter-spacing: 0.04em;
    font-family: "Reddit Sans", sans-serif;
  }
  body .fs__txt__en__20 {
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0.04em;
    font-family: "Reddit Sans", sans-serif;
  }
  body .fs__txt__en__20 {
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    font-family: "Reddit Sans", sans-serif;
  }
}
body .dp__block {
  display: block;
}
body .dp__block__pc {
  display: block;
}
body .dp__block__sp {
  display: none;
}
body .dp__inline-block {
  display: inline-block;
}
body .dp__inline-block__pc {
  display: inline-block;
}
body .dp__inline-block__sp {
  display: none;
}
body .dp__inline {
  display: inline;
}
body .dp__inline__pc {
  display: inline;
}
body .dp__inline__sp {
  display: none;
}
body .dp__flex {
  display: flex;
}
body .dp__flex__pc {
  display: flex;
}
body .dp__flex__sp {
  display: block;
}
body .dp__grid {
  display: grid;
}
body .dp__grid__pc {
  display: grid;
}
body .dp__grid__sp {
  display: none;
}
body .dp__none {
  display: none;
}
body .dp__none__pc {
  display: none;
}
body .dp__none__sp {
  display: block;
}
@media (max-width: 750px) {
  body .dp__block__pc {
    display: none;
  }
  body .dp__block__sp {
    display: block;
  }
  body .dp__inline-block__pc {
    display: none;
  }
  body .dp__inline-block__sp {
    display: inline-block;
  }
  body .dp__inline__pc {
    display: none;
  }
  body .dp__inline__sp {
    display: inline;
  }
  body .dp__flex__pc {
    display: block;
  }
  body .dp__flex__sp {
    display: flex;
  }
  body .dp__grid {
    display: grid;
  }
  body .dp__grid__pc {
    display: none;
  }
  body .dp__grid__sp {
    display: grid;
  }
  body .dp__none {
    display: none;
  }
  body .dp__none__pc {
    display: block;
  }
  body .dp__none__sp {
    display: none;
  }
}
body .color__txt__white {
  color: #fff;
}
body .color__txt__black {
  color: #333;
}
body .color__txt__pri {
  color: #88ab1c;
}
body .color__txt__sec {
  color: #de5511;
}
body .color__txt__ter {
  color: #27b498;
}
body .color__txt__qua {
  color: #f2fadc;
}
body .color__txt__qui {
  color: #fef5dc;
}
body .color__txt__sen {
  color: #daefeb;
}
body .color__txt__sep {
  color: #f5f5f5;
}
body .color__txt__oct {
  color: #e5e4e4;
}
body .color__txt__non {
  color: #000;
}
body .color__txt__den {
  color: #000;
}
body .color__txt__blue {
  color: #1C50A1;
}
body .color__txt__light-blue {
  color: #0098D8;
}
body .color__txt__brown {
  color: #281E1C;
}
body .color__txt__light-brown {
  color: #806F6F;
}
body .color__txt__red {
  color: #CD2424;
}
body .color__bg__white {
  background-color: #fff;
}
body .color__bg__black {
  background-color: #333;
}
body .color__bg__pri {
  background-color: #88ab1c;
}
body .color__bg__sec {
  background-color: #de5511;
}
body .color__bg__ter {
  background-color: #27b498;
}
body .color__bg__qua {
  background-color: #f2fadc;
}
body .color__bg__qui {
  background-color: #fef5dc;
}
body .color__bg__sen {
  background-color: #daefeb;
}
body .color__bg__sep {
  background-color: #f5f5f5;
}
body .color__bg__oct {
  background-color: #e5e4e4;
}
body .color__bg__non {
  background-color: #000;
}
body .color__bg__den {
  background-color: #000;
}
body .color__bg__blue {
  background-color: #1C50A1;
}
body .color__bg__light-blue {
  background-color: #0098D8;
}
body .color__bg__brown {
  background-color: #281E1C;
}
body .color__bg__light-brown {
  background-color: #806F6F;
}
body .color__bg__red {
  background-color: #CD2424;
}
body .color__bg__gra__pri {
  background-color: #000;
}
body .color__bg__gra__sec {
  background-color: #000;
}
body .color__bg__gra__ter {
  background-color: #000;
}
body .anime__light {
  position: relative;
  overflow: hidden;
}
body .anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  animation: anime__light 3s ease-in-out infinite;
}
body .anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(100px);
}
body .anime__bottom-up.js--on, body .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
body .anime__opacity {
  opacity: 1;
  transition: opacity 0.2s ease 0s;
}
body .anime__opacity.js--on {
  opacity: 0.5;
}
body .anime__underline {
  text-decoration: none;
}
body .anime__underline.js--on {
  text-decoration: underline;
}
body .anime__fadein {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
body .anime__fadein.js--ing {
  opacity: 1;
}
body .anime__slidein {
  overflow: hidden;
}
body .anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
body .anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
body .anime__slidein.js--ing .slidein__wrapper {
  animation-name: slideTextX100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}
body .anime__slidein.js--ing .slidein__inner {
  animation-name: slideTextX-100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
body .img__reset {
  font-size: 0;
  line-height: 0;
}

img {
  width: 100%;
  image-rendering: -webkit-optimize-contrast;
  vertical-align: middle;
}

.sec__in__l {
  width: 100%;
  max-width: 1180px;
  min-width: 0;
  margin: 0 auto;
}

.sec__in__s {
  width: 100%;
  max-width: 960px;
  min-width: 0;
  margin: 0 auto;
}

@media screen and (min-width: 751px) and (max-width: 1180px) {
  .sec__in__l {
    padding: 0 30px;
    box-sizing: border-box;
  }
  .sec__in__s {
    padding: 0 30px;
    box-sizing: border-box;
  }
}
@media (max-width: 750px) {
  .sec__in__l {
    width: 100%;
    max-width: 100%;
  }
  .sec__in__s {
    width: 100%;
    max-width: 100%;
  }
}
.sec01 {
  padding: 178px 0 30px;
  box-sizing: border-box;
}
.sec01 .subpage__tit {
  margin: 0 0 30px;
}
.sec01 .subpage__tit h1 {
  color: var(--02, #1C50A1);
  text-align: center;
  margin: 0 0 10px;
}
.sec01 .subpage__tit p {
  text-align: center;
}
@media (max-width: 750px) {
  .sec01 {
    padding: 31.466vw 4% 8vw;
  }
}

.breadcrumb {
  background: #fff;
  border-bottom: 3px solid #F6F2F2;
  padding: 10px 0;
}
.breadcrumb ul {
  gap: 14px;
  flex-wrap: wrap;
}
.breadcrumb ul li {
  position: relative;
}
.breadcrumb ul li .fa-chevron-right {
  margin: 0 0 0 14px;
  color: #1C50A1;
}
@media (max-width: 750px) {
  .breadcrumb {
    padding: 12px 2.9333333333%;
    box-sizing: border-box;
  }
  .breadcrumb ul {
    -moz-column-gap: 14px;
         column-gap: 14px;
    row-gap: 7px;
  }
}

/*parts*/
/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#header {
  position: fixed;
  width: 100%;
  z-index: 10000;
  background: #fff;
}
#header > .dp__flex {
  justify-content: space-between;
  padding: 12px min(3.174vw, 40px);
  box-sizing: border-box;
}
#header .header__logo {
  width: 100px;
  height: 54px;
  flex-shrink: 0;
  font-size: 2em;
  font-weight: bold;
}
#header nav {
  align-items: center;
  gap: min(1.507vw, 19px);
}
#header nav .nav__inner {
  display: flex;
}
#header nav ul.main__navi {
  gap: min(1.349vw, 17px);
  justify-content: space-between;
}
#header nav ul.main__navi li {
  width: min(8.412vw, 106px);
  transform: skewX(160deg);
  border-right: 2px solid #F6F2F2;
  padding: 0 min(1.587vw, 20px) 0 0;
}
#header nav ul.main__navi li a {
  display: block;
  text-align: center;
  display: block;
  transform: skewX(-160deg);
}
#header nav ul.main__navi li a img {
  width: min(5vw, 63px);
  height: min(3.333vw, 42px);
  margin: 0 auto 5px;
}
#header nav ul.main__navi li a svg {
  width: min(5.555vw, 70px);
  fill: #1C50A1;
  transition: fill 0.2s ease;
}
#header nav ul.main__navi li a p {
  text-align: center;
  font-size: min(1.031vw, 1.3rem);
  font-style: normal;
  font-weight: 400;
  line-height: 18px; /* 138.462% */
  letter-spacing: 0.52px;
  color: #1C50A1;
  transition: color 0.2s ease;
}
#header nav ul.main__navi li:nth-of-type(2) {
  width: min(12.698vw, 160px);
}
#header nav ul.main__navi li:last-child {
  border-right: none;
}
#header nav ul.main__navi li.js--on svg {
  fill: #0098D8;
}
#header nav ul.main__navi li.js--on p {
  color: #0098D8;
}
#header nav ul.main__navi li.about svg {
  fill: #0098D8;
}
#header nav ul.main__navi li.about.js--on svg {
  fill: #1C50A1;
}
#header nav ul.header__btn__pc li {
  width: min(11.111vw, 140px);
  border-radius: 2px;
  position: relative;
}
#header nav ul.header__btn__pc li a {
  padding: min(0.476vw, 6px) min(1.031vw, 13px);
  box-sizing: border-box;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 5%;
}
#header nav ul.header__btn__pc li img {
  width: min(1.349vw, 17px);
  height: min(1.349vw, 17px);
  display: inline-block;
}
#header nav ul.header__btn__pc li p {
  display: inline-block;
  text-align: center;
  width: min(7.142vw, 90px);
  font-size: min(1.031vw, 1.3rem);
  font-style: normal;
  font-weight: 700;
  line-height: 18px; /* 138.462% */
  letter-spacing: 0.52px;
}
#header nav ul.header__btn__pc li:first-child {
  background: #1C50A1;
  color: #fff;
  border: 1px solid #1C50A1;
  margin: 0 0 4px;
}
#header nav ul.header__btn__pc li:last-child {
  background: #fff;
  color: #1C50A1;
  border: 1px solid #1C50A1;
}
#header nav ul.header__btn__pc li .lang__wrapper {
  position: absolute;
  z-index: 10;
  width: 100%;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s ease;
}
#header nav ul.header__btn__pc li .lang__wrapper.js--on {
  grid-template-rows: 1fr;
}
#header nav ul.header__btn__pc li .lang__wrapper .lang__inner {
  width: 100%;
  overflow: hidden;
}
#header nav ul.header__btn__pc li .lang__wrapper .lang__inner ul li {
  margin: 0;
  background: #fff;
  border-radius: 0;
  border-bottom: 1px solid #1C50A1;
  border-left: 1px solid #1C50A1;
  border-right: 1px solid #1C50A1;
  box-sizing: border-box;
  width: min(11.111vw, 140px);
}
#header nav ul.header__btn__pc li .lang__wrapper .lang__inner ul li:last-child {
  border-top: none;
}
#header nav ul.header__btn__pc li .lang__wrapper .lang__inner ul li a {
  padding: min(0.476vw, 6px) min(1.031vw, 13px);
  display: block;
  background: #fff;
  color: var(--02, #1C50A1);
  text-align: center;
  box-sizing: border-box;
  font-size: min(1.031vw, 1.3rem);
}
#header nav .hours__inner {
  display: none;
}
#header nav .aco__wrapper {
  display: none;
}
#header nav ul.use {
  display: none;
}
#header nav .pp {
  display: none;
}
#header nav ul.sns {
  display: none;
}
#header nav .copy {
  display: none;
}
@media (max-width: 750px) {
  #header {
    position: fixed;
    z-index: 10000;
  }
  #header > .dp__flex {
    padding: 0;
    box-sizing: border-box;
    width: 100%;
    background: #fff;
  }
  #header .header__logo {
    width: 71px;
    height: auto;
    padding: 0 4%;
  }
  #header .header__logo a {
    display: block;
    height: -moz-max-content;
    height: max-content;
  }
  #header ul.header__btn__sp {
    display: grid;
    place-content: center;
  }
  #header ul.header__btn__sp li {
    height: 100%;
    border-left: 1px solid #0098D8;
    position: relative;
  }
  #header ul.header__btn__sp li a {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: auto;
    padding: 1vw 2.666vw;
    box-sizing: border-box;
  }
  #header ul.header__btn__sp li a img {
    width: 27px;
    margin: 0 0 3px;
  }
  #header ul.header__btn__sp li a p {
    color: #1C50A1;
  }
  #header ul.header__btn__sp li .lang__wrapper {
    position: absolute;
    z-index: 10;
    width: 100%;
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s ease;
  }
  #header ul.header__btn__sp li .lang__wrapper.js--on {
    grid-template-rows: 1fr;
  }
  #header ul.header__btn__sp li .lang__wrapper .lang__inner {
    width: 100%;
    overflow: hidden;
  }
  #header ul.header__btn__sp li .lang__wrapper .lang__inner ul li {
    margin: 0;
    background: #fff;
    border-radius: 0;
    border-bottom: 1px solid #0098D8;
    border-left: 1px solid #0098D8;
    border-right: 1px solid #0098D8;
    box-sizing: border-box;
    width: 100%;
  }
  #header ul.header__btn__sp li .lang__wrapper .lang__inner ul li:first-child {
    border-top: 1px solid #0098D8;
  }
  #header ul.header__btn__sp li .lang__wrapper .lang__inner ul li:last-child {
    border-top: none;
  }
  #header ul.header__btn__sp li .lang__wrapper .lang__inner ul li a {
    padding: 8px;
    display: block;
    background: #fff;
    color: var(--02, #1C50A1);
    text-align: center;
    box-sizing: border-box;
    font-size: 1.3rem;
  }
  #header .sp__menu {
    position: relative;
    width: 60px;
  }
  #header .sp__menu a {
    position: absolute;
    color: #fff;
    width: 60px;
    height: 60px;
    background: #0098D8;
    display: grid;
    place-content: center;
  }
  #header .sp__menu a .fa-bars {
    width: 28px;
    height: 33px;
    opacity: 1;
    z-index: 100;
  }
  #header .sp__menu a .fa-xmark {
    width: 32px;
    height: 43px;
    opacity: 0;
    z-index: 100;
  }
  #header .sp__menu.js--on a .fa-bars {
    opacity: 0;
  }
  #header .sp__menu.js--on a .fa-xmark {
    opacity: 1;
  }
  #header nav {
    overflow-y: auto;
    position: fixed;
    flex-direction: column;
    background: #F6F2F2;
    width: 100%;
    top: -200vh;
    left: 0;
    height: 100vh;
    z-index: -1;
    transition: top 0.5s ease-in-out;
  }
  #header nav.js--on {
    top: 0;
  }
  #header nav .nav__inner {
    overflow-y: scroll;
    height: 100vh;
    padding: 20.5333333333% 6.6666666667% 6.6666666667%;
    box-sizing: border-box;
    flex-direction: column;
  }
  #header nav ul.main__navi {
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 0 5.066vw;
  }
  #header nav ul.main__navi li {
    border-right: none;
    transform: skewX(0);
    background: #fff;
    width: 49%;
    padding: 0;
    border-radius: 3px;
  }
  #header nav ul.main__navi li a {
    width: 100%;
    transform: skewX(0);
    padding: 8.125%;
    box-sizing: border-box;
  }
  #header nav ul.main__navi li a img {
    width: 28.125%;
    height: auto;
  }
  #header nav ul.main__navi li a svg {
    width: 28.125%;
  }
  #header nav ul.main__navi li a p {
    font-size: 1.3rem;
  }
  #header nav ul.main__navi li:nth-of-type(2) {
    width: 49%;
  }
  #header nav ul.main__navi li:nth-of-type(1) a svg {
    width: 21.866vw;
  }
  #header nav ul.main__navi li:nth-of-type(2) a svg {
    width: 16vw;
  }
  #header nav ul.main__navi li:nth-of-type(3) a svg {
    width: 16.8vw;
  }
  #header nav ul.main__navi li:nth-of-type(4) a svg {
    width: 12vw;
  }
  #header nav ul.main__navi li:nth-of-type(5) a svg {
    width: 9.066vw;
  }
  #header nav ul.header__btn__pc li {
    display: none;
  }
  #header nav .hours__inner {
    background: #fff;
    width: 100%;
    margin: 0 auto 6.1333333333%;
    position: relative;
    display: block;
    border-radius: 3px;
  }
  #header nav .hours__inner > .dp__flex {
    border-bottom: 1px solid #1C50A1;
  }
  #header nav .hours__inner .hours__tit {
    width: 24.666vw;
    background: #1C50A1;
    color: #fff;
    padding: 2.133vw;
    box-sizing: border-box;
    display: grid;
    place-content: center;
    border-radius: 3px 0 0 0;
  }
  #header nav .hours__inner .hours__tit img {
    width: 6.666vw;
    height: 6.666vw;
    display: block;
    text-align: center;
    margin: 0 auto;
  }
  #header nav .hours__inner ul {
    padding: 2.666vw 3.3vw;
    box-sizing: border-box;
  }
  #header nav .hours__inner ul dl {
    gap: 2.2vw;
  }
  #header nav .hours__inner ul dl dt {
    width: 5.2em;
  }
  #header nav .hours__inner ul dl dd {
    width: 9.2em;
    text-align: right;
  }
  #header nav .hours__inner .caution {
    text-align: center;
    padding: 16px 0;
  }
  #header nav .aco__wrapper {
    display: block;
  }
  #header nav .aco {
    width: 100%;
    border-top: 1px solid #806F6F;
    font-size: 1.4rem;
    overflow: hidden;
    box-sizing: border-box;
  }
  #header nav .aco:last-child {
    border-bottom: 1px solid #806F6F;
  }
  #header nav .aco .wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s ease;
  }
  #header nav .aco .wrapper.js--on {
    grid-template-rows: 1fr;
  }
  #header nav .aco .inner {
    overflow: hidden;
  }
  #header nav .aco .aco__tit {
    font-size: 1.4rem;
  }
  #header nav .aco .aco__tit a {
    padding: 2.6666666667% 3.6923076923%;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
  }
  #header nav .aco .aco__tit a .fa-plus {
    display: block;
  }
  #header nav .aco .aco__tit a .fa-minus {
    display: none;
  }
  #header nav .aco .aco__tit a.js--on .fa-plus {
    display: none;
  }
  #header nav .aco .aco__tit a.js--on .fa-minus {
    display: block;
  }
  #header nav .aco ul {
    font-size: 1.4rem;
    box-sizing: border-box;
  }
  #header nav .aco ul li a {
    display: block;
    padding: 2.6666666667% 3.6923076923%;
    border-top: 1px solid #806F6F;
  }
  #header nav .aco svg {
    margin: 0 0 0 1.5384615385%;
  }
  #header nav ul.use {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 10px;
    padding: 5.3333333333% 0;
    margin: 0 0 41px;
  }
  #header nav ul.use li {
    gap: 30px;
  }
  #header nav ul.sns {
    display: flex;
    justify-content: center;
    gap: 3.3846153846%;
  }
  #header nav ul.sns li {
    width: 13.8461538462%;
  }
  #header nav .copy {
    display: block;
    text-align: center;
    padding: 6.4% 0;
  }
  #header nav .copy small {
    text-align: center;
  }
}

#modal__hours {
  position: fixed;
  width: 100vw;
  height: 100vh;
  display: none;
  z-index: 10000;
  top: 0;
  left: 0;
}
#modal__hours.js--on {
  display: block;
  background: rgba(0, 0, 0, 0.8);
  display: grid;
  place-content: center;
}
#modal__hours .modal__hours__inner {
  background: #fff;
  width: 493px;
  margin: 0 auto;
  position: relative;
  border-radius: 3px;
  overflow: hidden;
}
#modal__hours .modal__hours__inner .modal__hours__close {
  cursor: pointer;
  width: 38px;
  height: 38px;
  padding: 5px 8px 4px;
  background: #0098D8;
  color: #fff;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0px 3px;
}
#modal__hours .modal__hours__inner .modal__hours__close .fa-xmark {
  width: 38px;
  height: 38px;
}
#modal__hours .modal__hours__inner > .dp__flex {
  border-bottom: 1px solid #1C50A1;
}
#modal__hours .modal__hours__inner .hours__tit {
  background: #1C50A1;
  color: #fff;
  padding: 13px 36px;
  box-sizing: border-box;
  width: -moz-max-content;
  width: max-content;
}
#modal__hours .modal__hours__inner .hours__tit img {
  width: 41px;
  height: 41px;
  display: block;
  text-align: center;
  margin: 0 auto;
}
#modal__hours .modal__hours__inner ul {
  padding: 17px 28px;
  box-sizing: border-box;
}
#modal__hours .modal__hours__inner ul dl {
  gap: 15px;
}
#modal__hours .modal__hours__inner ul dl dt {
  width: 5em;
}
#modal__hours .modal__hours__inner ul dl dd {
  width: 9.2em;
  text-align: right;
}
#modal__hours .modal__hours__inner .caution {
  text-align: center;
  margin: 16px 0;
}
#modal__hours .modal__hours__inner a.btn {
  padding: 21px 23px;
  box-sizing: border-box;
  display: grid;
  place-content: center;
  border: 1px solid #504644;
  width: -moz-max-content;
  width: max-content;
  border-radius: 5px;
  margin: 0 auto 28px;
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
.gotop {
  opacity: 0;
  transition: opacity 0.2s ease 0s;
  position: fixed;
  width: 60px;
  aspect-ratio: 1/1;
  background: #A49A9A;
  color: #fff;
  z-index: 99;
  right: 30px;
  bottom: 35px;
  border-radius: 50%;
  border: 1px solid #fff;
}
.gotop a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.gotop .fa-chevron-up {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2.5rem;
}
.gotop.js--ing {
  opacity: 1;
}
@media (max-width: 750px) {
  .gotop {
    display: none;
  }
}

footer .sec__in__l > .dp__flex {
  justify-content: space-between;
  gap: 65px;
  padding: 74px 0 66px;
}
footer .left ul.logo {
  gap: 45px;
  margin: 0 0 20px;
}
footer .left ul.sns {
  margin: 0 0 39px;
  gap: 15px;
}
footer .left ul.sns li {
  width: 57px;
}
footer .left .hours h3 {
  margin: 0 0 6px;
}
footer .left .hours ul {
  margin: 0 0 17px;
}
footer .left .hours ul li dt {
  width: 100px;
}
footer .left .hours ul li dd {
  width: 9.2em;
  text-align: right;
}
footer .right .aco__wrapper {
  gap: 65px;
  margin: 0 0 120px;
}
footer .right .aco h3 {
  margin: 0 0 20px;
  cursor: default;
}
footer .right .aco h3 a {
  cursor: default !important;
}
footer .right .aco h3 .fa-plus {
  display: none;
}
footer .right .aco h3 .fa-minus {
  display: none;
}
footer .right .aco ul li {
  margin: 0 0 20px;
}
footer .right svg {
  margin: 0 0 0 5px;
}
footer .right ul.use {
  justify-content: flex-end;
  gap: 32px;
}
footer .address {
  padding: 27px 0;
  background: #F6F2F2;
}
footer .address .sec__in__l {
  padding: 0;
}
footer .address .sec__in__l > .dp__flex {
  justify-content: space-between;
  align-items: center;
  padding: 0;
  margin: 0 0 13px;
}
footer .address .left > .dp__flex {
  gap: 30px;
  align-items: center;
}
footer .address .koyo .dp__flex {
  align-items: center;
  gap: 5px;
}
@media screen and (min-width: 751px) and (max-width: 1180px) {
  footer .address .sec__in__l {
    padding: 0 30px;
    box-sizing: border-box;
  }
}
@media (max-width: 750px) {
  footer .sec__in__l > .dp__flex {
    flex-direction: column;
    padding: 43px 6.6666666667% 0;
    box-sizing: border-box;
  }
  footer .left {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  footer .left .hours h3 {
    text-align: center;
  }
  footer .right .aco__wrapper {
    flex-direction: column;
    gap: 0;
    margin: 0 0 23px;
  }
  footer .right .aco {
    width: 100%;
    border-top: 1px solid #806F6F;
    font-size: 1.4rem;
    overflow: hidden;
    box-sizing: border-box;
  }
  footer .right .aco:last-child {
    border-bottom: 1px solid #806F6F;
  }
  footer .right .aco .wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s ease;
  }
  footer .right .aco .wrapper.js--on {
    grid-template-rows: 1fr;
  }
  footer .right .aco .inner {
    overflow: hidden;
  }
  footer .right .aco h3 {
    font-size: 1.4rem;
    pointer-events: auto;
    cursor: pointer;
    margin: 0;
  }
  footer .right .aco h3 a {
    padding: 2.6666666667% 3.6923076923%;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
  }
  footer .right .aco h3 a .fa-plus {
    display: block;
  }
  footer .right .aco h3 a .fa-minus {
    display: none;
  }
  footer .right .aco h3 a.js--on .fa-plus {
    display: none;
  }
  footer .right .aco h3 a.js--on .fa-minus {
    display: block;
  }
  footer .right .aco ul {
    font-size: 1.4rem;
    box-sizing: border-box;
  }
  footer .right .aco ul li {
    padding: 2.6666666667% 3.6923076923%;
    border-top: 1px solid #806F6F;
    margin: 0;
  }
  footer .right .aco svg {
    margin: 0 0 0 1.5384615385%;
  }
  footer .right ul.use {
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 10px;
    margin: 0 0 37px;
  }
  footer .address .sec__in__l > .dp__flex {
    padding: 0 6.6666666667%;
    box-sizing: border-box;
    justify-content: flex-start;
    gap: 41px;
    margin: 0 0 41px;
  }
  footer .address .left > .dp__flex {
    flex-direction: column;
    gap: 10px;
  }
  footer .address .koyo .dp__flex {
    gap: 10px;
  }
  footer .address .copy {
    text-align: center;
  }
  footer .address .copy small {
    text-align: center;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#header-lang {
  position: fixed;
  width: 100%;
  z-index: 10000;
  background: #fff;
}
#header-lang > .dp__flex {
  justify-content: space-between;
  align-items: center;
  padding: 10px min(3.174vw, 40px);
  box-sizing: border-box;
}
#header-lang .header__logo {
  width: 100px;
  aspect-ratio: 100/54;
  flex-shrink: 0;
  font-size: 2em;
  font-weight: bold;
}
#header-lang nav {
  align-items: center;
  gap: min(1.507vw, 19px);
}
#header-lang nav .nav__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}
#header-lang nav .nav__inner .top__menu {
  width: 100%;
  gap: 15px;
  align-items: center;
  justify-content: flex-end;
}
#header-lang nav p.hours {
  box-sizing: border-box;
  place-content: center;
  border-radius: 3px 0 0 0;
  display: flex;
  white-space: nowrap;
  align-items: center;
  gap: 8px;
  font-size: min(2.063vw, 2.6rem);
}
#header-lang nav p.hours img {
  width: 25px;
  height: 25px;
  display: block;
  text-align: center;
  margin: 0 auto;
}
#header-lang nav p.hours span {
  font-size: min(0.952vw, 1.2rem);
}
#header-lang nav ul.main__navi {
  gap: min(0.793vw, 10px);
  justify-content: space-between;
  font-size: min(1.111vw, 1.4rem);
}
#header-lang nav ul.main__navi li {
  transform: skewX(160deg);
  border-right: 2px solid #F6F2F2;
  padding: 0 min(0.793vw, 10px) 0 0;
}
#header-lang nav ul.main__navi li a {
  display: block;
  text-align: center;
  display: block;
  white-space: nowrap;
  transform: skewX(-160deg);
}
#header-lang nav ul.main__navi li a img {
  width: min(5vw, 63px);
  height: min(3.333vw, 42px);
  margin: 0 auto 5px;
}
#header-lang nav ul.main__navi li a svg {
  width: min(5.555vw, 70px);
  fill: #1C50A1;
  transition: fill 0.2s ease;
  display: none;
}
#header-lang nav ul.main__navi li:last-child {
  border-right: none;
}
#header-lang nav ul.header__btn__pc li {
  width: min(11.111vw, 140px);
  border-radius: 2px;
  position: relative;
}
#header-lang nav ul.header__btn__pc li a {
  padding: min(0.476vw, 6px) min(1.031vw, 13px);
  box-sizing: border-box;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 5%;
}
#header-lang nav ul.header__btn__pc li img {
  width: min(1.349vw, 17px);
  height: min(1.349vw, 17px);
  display: inline-block;
}
#header-lang nav ul.header__btn__pc li p {
  display: inline-block;
  text-align: center;
  width: min(7.142vw, 90px);
  font-size: min(1.031vw, 1.3rem);
  font-style: normal;
  font-weight: 700;
  line-height: 18px; /* 138.462% */
  letter-spacing: 0.52px;
}
#header-lang nav ul.header__btn__pc li:first-child {
  background: #1C50A1;
  color: #fff;
  border: 1px solid #1C50A1;
  margin: 0 0 4px;
}
#header-lang nav ul.header__btn__pc li:last-child {
  background: #fff;
  color: #1C50A1;
  border: 1px solid #1C50A1;
}
#header-lang nav ul.header__btn__pc li .lang__wrapper {
  position: absolute;
  z-index: 10;
  width: 100%;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s ease;
}
#header-lang nav ul.header__btn__pc li .lang__wrapper.js--on {
  grid-template-rows: 1fr;
}
#header-lang nav ul.header__btn__pc li .lang__wrapper .lang__inner {
  width: 100%;
  overflow: hidden;
}
#header-lang nav ul.header__btn__pc li .lang__wrapper .lang__inner ul li {
  margin: 0;
  background: #fff;
  border-radius: 0;
  border-bottom: 1px solid #1C50A1;
  border-left: 1px solid #1C50A1;
  border-right: 1px solid #1C50A1;
  box-sizing: border-box;
  width: min(11.111vw, 140px);
}
#header-lang nav ul.header__btn__pc li .lang__wrapper .lang__inner ul li:last-child {
  border-top: none;
}
#header-lang nav ul.header__btn__pc li .lang__wrapper .lang__inner ul li a {
  padding: min(0.476vw, 6px) min(1.031vw, 13px);
  display: block;
  background: #fff;
  color: var(--02, #1C50A1);
  text-align: center;
  box-sizing: border-box;
  font-size: min(1.031vw, 1.3rem);
}
#header-lang nav ul.use {
  display: none;
}
#header-lang nav .pp {
  display: none;
}
#header-lang nav ul.sns {
  gap: 8px;
}
#header-lang nav ul.sns li {
  width: 32px;
}
#header-lang nav .copy {
  display: none;
}
@media (max-width: 750px) {
  #header-lang {
    position: fixed;
    z-index: 10000;
  }
  #header-lang > .dp__flex {
    padding: 0;
    align-items: stretch;
    box-sizing: border-box;
    width: 100%;
    background: #fff;
  }
  #header-lang .header__logo {
    width: 71px;
    height: auto;
    padding: 0 4%;
  }
  #header-lang .header__logo a {
    display: block;
    height: -moz-max-content;
    height: max-content;
  }
  #header-lang ul.header__btn__sp {
    display: grid;
    place-content: center;
  }
  #header-lang ul.header__btn__sp li {
    height: 100%;
    border-left: 1px solid #0098D8;
    position: relative;
  }
  #header-lang ul.header__btn__sp li a {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: auto;
    padding: 1vw 2.666vw;
    box-sizing: border-box;
  }
  #header-lang ul.header__btn__sp li a img {
    width: 27px;
    margin: 0 0 3px;
  }
  #header-lang ul.header__btn__sp li a p {
    color: #1C50A1;
  }
  #header-lang ul.header__btn__sp li .lang__wrapper {
    position: absolute;
    z-index: 10;
    width: 100%;
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s ease;
  }
  #header-lang ul.header__btn__sp li .lang__wrapper.js--on {
    grid-template-rows: 1fr;
  }
  #header-lang ul.header__btn__sp li .lang__wrapper .lang__inner {
    width: 100%;
    overflow: hidden;
  }
  #header-lang ul.header__btn__sp li .lang__wrapper .lang__inner ul li {
    margin: 0;
    background: #fff;
    border-radius: 0;
    border-bottom: 1px solid #0098D8;
    border-left: 1px solid #0098D8;
    border-right: 1px solid #0098D8;
    box-sizing: border-box;
    width: 100%;
  }
  #header-lang ul.header__btn__sp li .lang__wrapper .lang__inner ul li:first-child {
    border-top: 1px solid #0098D8;
  }
  #header-lang ul.header__btn__sp li .lang__wrapper .lang__inner ul li:last-child {
    border-top: none;
  }
  #header-lang ul.header__btn__sp li .lang__wrapper .lang__inner ul li a {
    padding: 8px;
    display: block;
    background: #fff;
    color: var(--02, #1C50A1);
    text-align: center;
    box-sizing: border-box;
    font-size: 1.3rem;
  }
  #header-lang .sp__menu {
    position: relative;
    width: 60px;
  }
  #header-lang .sp__menu a {
    position: absolute;
    color: #fff;
    width: 60px;
    height: 60px;
    background: #0098D8;
    display: grid;
    place-content: center;
  }
  #header-lang .sp__menu a .fa-bars {
    width: 28px;
    height: 33px;
    opacity: 1;
    z-index: 100;
  }
  #header-lang .sp__menu a .fa-xmark {
    width: 32px;
    height: 43px;
    opacity: 0;
    z-index: 100;
  }
  #header-lang .sp__menu.js--on a .fa-bars {
    opacity: 0;
  }
  #header-lang .sp__menu.js--on a .fa-xmark {
    opacity: 1;
  }
  #header-lang nav {
    overflow-y: auto;
    position: fixed;
    flex-direction: column;
    background: #F6F2F2;
    width: 100%;
    top: -200vh;
    left: 0;
    height: 100vh;
    z-index: -1;
    transition: top 0.5s ease-in-out;
  }
  #header-lang nav.js--on {
    top: 0;
  }
  #header-lang nav .nav__inner {
    overflow-y: scroll;
    height: 100vh;
    padding: 66px 0 6.6666666667%;
    box-sizing: border-box;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  #header-lang nav .nav__inner .top__menu {
    order: 2;
    flex-direction: column;
    width: 100%;
    justify-content: flex-start;
    align-items: center;
  }
  #header-lang nav p.hours {
    order: 2;
    font-size: 2.6rem;
    flex-wrap: wrap;
    row-gap: 1.6%;
    margin: 0 0 40px;
  }
  #header-lang nav p.hours img {
    margin: 0;
  }
  #header-lang nav p.hours span {
    font-size: 1.2rem;
    display: block;
    width: 100%;
    text-align: center;
  }
  #header-lang nav ul.main__navi {
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 0 5.066vw;
    order: 1;
    gap: 8px;
  }
  #header-lang nav ul.main__navi li {
    border-right: none;
    transform: skewX(0);
    background: #fff;
    width: 100%;
    padding: 0;
    border-radius: 3px;
  }
  #header-lang nav ul.main__navi li a {
    width: 100%;
    transform: skewX(0);
    padding: 18px 4% 18px 6.6666666667%;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    font-size: 1.3rem;
  }
  #header-lang nav ul.main__navi li a img {
    width: 28.125%;
    height: auto;
  }
  #header-lang nav ul.main__navi li a svg {
    display: inline-block;
    font-size: 1.5rem;
    color: #0098D8;
  }
  #header-lang nav ul.main__navi li a p {
    font-size: 1.3rem;
  }
  #header-lang nav ul.header__btn__pc li {
    display: none;
  }
  #header-lang nav ul.use {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 10px;
    padding: 5.3333333333% 0;
    margin: 0 0 41px;
  }
  #header-lang nav ul.use li {
    gap: 30px;
  }
  #header-lang nav ul.sns {
    order: 3;
    display: flex;
    justify-content: center;
    gap: 3.3846153846%;
  }
  #header-lang nav ul.sns li {
    width: 13.8461538462%;
  }
  #header-lang nav .copy {
    order: 4;
    display: block;
    text-align: center;
    padding: 6.4% 0;
  }
  #header-lang nav .copy small {
    text-align: center;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
.gotop {
  opacity: 0;
  transition: opacity 0.2s ease 0s;
  position: fixed;
  width: 60px;
  aspect-ratio: 1/1;
  background: #A49A9A;
  color: #fff;
  z-index: 99;
  right: 30px;
  bottom: 35px;
  border-radius: 50%;
  border: 1px solid #fff;
}
.gotop a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.gotop .fa-chevron-up {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2.5rem;
}
.gotop.js--ing {
  opacity: 1;
}
@media (max-width: 750px) {
  .gotop {
    display: none;
  }
}

#footer-lang {
  background: var(--01, #F6F2F2);
}
#footer-lang .sec__in__l > .dp__flex {
  justify-content: center;
  align-items: center;
  gap: 52px;
  padding: 48px 0 45px;
}
#footer-lang ul.logo {
  gap: 45px;
}
#footer-lang ul.logo li {
  width: 65px;
}
#footer-lang ul.sns {
  gap: 15px;
}
#footer-lang ul.sns li {
  width: 57px;
}
#footer-lang .address {
  padding: 27px 0;
  background: #fff;
}
#footer-lang .address .sec__in__l {
  padding: 0;
}
#footer-lang .address .sec__in__l > .dp__flex {
  justify-content: space-between;
  align-items: center;
  padding: 0;
  margin: 0 0 13px;
}
#footer-lang .address .left > .dp__flex {
  gap: 30px;
  align-items: center;
}
#footer-lang .address .left > .dp__flex p.fs__txt__14__nar {
  width: -moz-max-content;
  width: max-content;
  white-space: nowrap;
}
#footer-lang .address .left > .dp__flex p.fs__txt__13__nar {
  width: min(42.857vw, 540px);
}
#footer-lang .address .koyo .dp__flex {
  align-items: center;
  gap: 5px;
}
@media screen and (min-width: 751px) and (max-width: 1180px) {
  #footer-lang .address .sec__in__l {
    padding: 0 30px;
    box-sizing: border-box;
  }
}
@media (max-width: 750px) {
  #footer-lang .sec__in__l > .dp__flex {
    flex-direction: column;
    padding: 43px 6.6666666667% 60px;
    box-sizing: border-box;
    gap: 19px;
  }
  #footer-lang .left {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #footer-lang .left .hours h3 {
    text-align: center;
  }
  #footer-lang .right .aco__wrapper {
    flex-direction: column;
    gap: 0;
    margin: 0 0 23px;
  }
  #footer-lang .right .aco {
    width: 100%;
    border-top: 1px solid #806F6F;
    font-size: 1.4rem;
    overflow: hidden;
    box-sizing: border-box;
  }
  #footer-lang .right .aco:last-child {
    border-bottom: 1px solid #806F6F;
  }
  #footer-lang .right .aco .wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s ease;
  }
  #footer-lang .right .aco .wrapper.js--on {
    grid-template-rows: 1fr;
  }
  #footer-lang .right .aco .inner {
    overflow: hidden;
  }
  #footer-lang .right .aco h3 {
    font-size: 1.4rem;
    pointer-events: auto;
    cursor: pointer;
    margin: 0;
  }
  #footer-lang .right .aco h3 a {
    padding: 2.6666666667% 3.6923076923%;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
  }
  #footer-lang .right .aco h3 a .fa-plus {
    display: block;
  }
  #footer-lang .right .aco h3 a .fa-minus {
    display: none;
  }
  #footer-lang .right .aco h3 a.js--on .fa-plus {
    display: none;
  }
  #footer-lang .right .aco h3 a.js--on .fa-minus {
    display: block;
  }
  #footer-lang .right .aco ul {
    font-size: 1.4rem;
    box-sizing: border-box;
  }
  #footer-lang .right .aco ul li {
    padding: 2.6666666667% 3.6923076923%;
    border-top: 1px solid #806F6F;
    margin: 0;
  }
  #footer-lang .right .aco svg {
    margin: 0 0 0 1.5384615385%;
  }
  #footer-lang .right ul.use {
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 10px;
    margin: 0 0 37px;
  }
  #footer-lang .address .sec__in__l > .dp__flex {
    padding: 0 6.6666666667%;
    box-sizing: border-box;
    justify-content: flex-start;
    gap: 41px;
    margin: 0 0 41px;
  }
  #footer-lang .address .left > .dp__flex {
    flex-direction: column;
    gap: 10px;
  }
  #footer-lang .address .left > .dp__flex p.fs__txt__13__nar {
    width: 100%;
  }
  #footer-lang .address .koyo .dp__flex {
    gap: 10px;
  }
  #footer-lang .address .copy {
    text-align: center;
  }
  #footer-lang .address .copy small {
    text-align: center;
  }
}

/*page*/
/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#index {
  /* ファンシーボックス全体 */
  /* ファンシーボックスのコンテンツ領域 */
  /* メディア部分 (画像や動画) */
  /* 詳細部分 (本文やリンク) */
  /* ボタン型リンク (Instagramで見る) */
  /* 閉じるボタン (×) */
  /* 左右の投稿ナビゲーションボタン */
  /* ローディングスピナー */
  /* スライドアニメーション (ease-in-out 0.3s) */
  /* ページネーションのドット */
  /* スマホ時（768px以下）のファンシーボックス表示方法 */
}
#index img {
  vertical-align: middle;
}
@media screen and (min-width: 751px) and (max-width: 1180px) {
  #index .sec__in__l {
    padding: 0 30px;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 751px) and (max-width: 1180px) {
  #index .sec__in__s {
    padding: 0 30px;
    box-sizing: border-box;
  }
}
#index .common__layout .stit h2 {
  margin: 0 0 6px;
  font-weight: 400;
}
#index .common__layout .stit p {
  color: #281E1C;
}
#index .common__layout .btn {
  width: 290px;
  margin: 0 auto;
}
#index .common__layout .btn a {
  display: block;
  padding: 21px 0;
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
  transition: background-color 0.5s ease, color 0.5s ease;
}
#index .common__layout .btn a.js--on {
  background: #504644;
  color: #fff;
}
@media (max-width: 750px) {
  #index .common__layout .btn {
    width: 72.4637681159%;
    max-width: 100%;
  }
}
#index .sec01 {
  padding: 121px 0 64px;
  background: url(../images/index/sec01_bg_pc.jpg) no-repeat center/cover;
  overflow: hidden;
}
#index .sec01 .sec01-swiper01 {
  position: relative;
}
#index .sec01 .swiper-slide {
  width: 700px !important;
}
#index .sec01 .swiper-pagination {
  bottom: -40px;
}
#index .sec01 .swiper-pagination-bullet {
  background: #fff;
  border: 1px solid var(--02, #806F6F);
  opacity: 1;
  width: 40px;
  height: 10px;
  border-radius: 0;
  margin: 0 10px 0 0;
}
#index .sec01 .swiper-pagination-bullet-active {
  background: var(--02, #1C50A1);
}
@media (max-width: 750px) {
  #index .sec01 {
    padding: 82px 0 64px;
    background: url(../images/index/sec01_bg_sp.jpg) no-repeat center/cover;
  }
  #index .sec01 .swiper-slide {
    width: 100% !important;
  }
  #index .sec01 .swiper-pagination-bullet {
    width: 30px;
    height: 8px;
  }
}
#index .sec02 {
  padding: 45px 0;
  overflow-x: hidden;
}
#index .sec02 .sec__in__l > .dp__flex {
  justify-content: flex-start;
  gap: min(8.333vw, 105px);
}
#index .sec02 ul {
  width: 100vw;
  margin: 0 calc(50% - 50vw) 0 0;
}
#index .sec02 ul li {
  margin: 0 0 7px;
}
#index .sec02 ul li:last-child {
  margin: 0;
}
#index .sec02 ul li a {
  display: block;
  padding: 17px 22px;
  box-sizing: border-box;
  border-radius: 5px 0px 0px 5px;
  background: var(--02, #1C50A1);
  color: #fff;
}
#index .sec02 ul li a dl {
  display: flex;
  align-items: center;
  gap: 22px;
}
#index .sec02 ul li a dl dt {
  width: 107px;
}
#index .sec02 ul li a dl dd {
  width: min(39.682vw, 500px);
}
@media (max-width: 750px) {
  #index .sec02 {
    padding: 44px 0 28px 4%;
    box-sizing: border-box;
  }
  #index .sec02 .sec__in__l > .dp__flex {
    flex-direction: column;
    gap: 15px;
  }
  #index .sec02 ul {
    max-width: 100%;
    width: 100%;
  }
  #index .sec02 ul li a dl dd {
    width: 57.2222222222%;
  }
  #index .sec02 ul li a dl dd h3 {
    font-size: 1.4rem;
  }
}
#index .sec03,
#index .sec04 {
  padding: 91px 0 59px;
  overflow-x: hidden;
}
#index .sec03 .stit,
#index .sec04 .stit {
  margin: 0 0 37px;
}
#index .sec03 .swiper,
#index .sec04 .swiper {
  position: relative;
  margin: 0 40px;
  overflow: visible;
}
#index .sec03 .sec03-swiper01,
#index .sec03 .sec04-swiper01,
#index .sec04 .sec03-swiper01,
#index .sec04 .sec04-swiper01 {
  overflow: hidden;
  margin: 0 0 41px;
}
#index .sec03 .swiper-slide,
#index .sec04 .swiper-slide {
  width: 340px;
  border-radius: 5px;
  pointer-events: auto;
}
#index .sec03 .swiper-slide a,
#index .sec04 .swiper-slide a {
  display: block;
  position: relative;
  opacity: 0;
}
#index .sec03 .swiper-slide a.js--ing,
#index .sec04 .swiper-slide a.js--ing {
  opacity: 1;
}
#index .sec03 .swiper-slide a.js--ing.js--on,
#index .sec04 .swiper-slide a.js--ing.js--on {
  opacity: 0.5;
}
#index .sec03 .swiper-slide a figure,
#index .sec04 .swiper-slide a figure {
  width: 100%;
  aspect-ratio: 1/1;
  background: #fff;
  overflow: hidden;
  border-radius: 5px 5px 0 0;
  position: relative;
  z-index: 0;
}
#index .sec03 .swiper-slide a figure .bg,
#index .sec04 .swiper-slide a figure .bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  filter: blur(3px);
  z-index: -1;
  width: 100%;
  height: 100%;
  transform: scale(1.8);
  transform-origin: center;
}
#index .sec03 .swiper-slide a figure img,
#index .sec04 .swiper-slide a figure img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
#index .sec03 .swiper-slide a .txt,
#index .sec04 .swiper-slide a .txt {
  color: #fff;
  background: var(--03, #504644);
  border-radius: 0 0 5px 5px;
}
#index .sec03 .swiper-slide a .txt .cat,
#index .sec04 .swiper-slide a .txt .cat {
  background: #B85151;
  width: -moz-max-content;
  width: max-content;
  max-width: 270px;
  padding: 6px 15px;
  box-sizing: border-box;
  position: relative;
  border-radius: 0px 2px 2px 0px;
  z-index: 10;
  position: absolute;
  bottom: 140px;
}
#index .sec03 .swiper-slide a .txt .cat.pink,
#index .sec04 .swiper-slide a .txt .cat.pink {
  background: #B85151;
}
#index .sec03 .swiper-slide a .txt .cat.green,
#index .sec04 .swiper-slide a .txt .cat.green {
  background: #04865F;
}
#index .sec03 .swiper-slide a .txt .cat.orange,
#index .sec04 .swiper-slide a .txt .cat.orange {
  background: #CF4A02;
}
#index .sec03 .swiper-slide a .txt .cat.blue,
#index .sec04 .swiper-slide a .txt .cat.blue {
  background: #017DB2;
}
#index .sec03 .swiper-slide a .txt .cat.gray,
#index .sec04 .swiper-slide a .txt .cat.gray {
  background: #5C5E64;
}
@media screen and (min-width: 751px) and (max-width: 1180px) {
  #index .sec03 .swiper-slide a .txt .cat,
  #index .sec04 .swiper-slide a .txt .cat {
    max-width: 80%;
  }
}
#index .sec03 .swiper-slide a .txt > div,
#index .sec04 .swiper-slide a .txt > div {
  padding: 30px 20px 14px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
#index .sec03 .swiper-slide a .txt > div .info__tit,
#index .sec04 .swiper-slide a .txt > div .info__tit {
  height: 2.8em;
  margin: 0 0 10px;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 2.8em; /* ブラウザがサポートしていない場合 */
}
#index .sec03 .swiper-slide a .txt > div .schedule,
#index .sec04 .swiper-slide a .txt > div .schedule {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  max-height: 1.8em; /* ブラウザがサポートしていない場合 */
}
#index .sec03 .swiper-slide a .txt .update,
#index .sec04 .swiper-slide a .txt .update {
  text-align: right;
  background: #806F6F;
  padding: 9px;
  box-sizing: border-box;
  border-radius: 0 0 5px 5px;
}
#index .sec03 .swiper-slide:nth-child(3n+1) a,
#index .sec04 .swiper-slide:nth-child(3n+1) a {
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
}
#index .sec03 .swiper-slide:nth-child(3n+2) a,
#index .sec04 .swiper-slide:nth-child(3n+2) a {
  transition: transform 0.5s ease 0.1s, opacity 0.5s ease 0.1s;
}
#index .sec03 .swiper-slide:nth-child(3n+3) a,
#index .sec04 .swiper-slide:nth-child(3n+3) a {
  transition: transform 0.5s ease 0.2s, opacity 0.5s ease 0.2s;
}
#index .sec03 .swiper-button-next,
#index .sec03 .swiper-button-prev,
#index .sec04 .swiper-button-next,
#index .sec04 .swiper-button-prev {
  color: #806F6F;
}
#index .sec03 .swiper-button-next.hidden,
#index .sec03 .swiper-button-prev.hidden,
#index .sec04 .swiper-button-next.hidden,
#index .sec04 .swiper-button-prev.hidden {
  display: none;
}
#index .sec03 .swiper-button-next,
#index .sec04 .swiper-button-next {
  right: -40px;
}
#index .sec03 .swiper-button-prev,
#index .sec04 .swiper-button-prev {
  left: -40px;
}
#index .sec03 .swiper-button-next::after,
#index .sec03 .swiper-button-prev::after,
#index .sec04 .swiper-button-next::after,
#index .sec04 .swiper-button-prev::after {
  content: "";
}
@media (max-width: 750px) {
  #index .sec03,
  #index .sec04 {
    padding: 50px 4% 58px;
    box-sizing: border-box;
  }
  #index .sec03 .swiper,
  #index .sec04 .swiper {
    margin: 0;
  }
  #index .sec03 .swiper-wrapper,
  #index .sec04 .swiper-wrapper {
    overflow-x: scroll;
    padding: 0 0 10px;
    gap: 13px;
    -webkit-overflow-scrolling: touch;
    overflow-y: hidden;
  }
  #index .sec03 .swiper-wrapper::-webkit-scrollbar,
  #index .sec04 .swiper-wrapper::-webkit-scrollbar {
    width: 8px;
    height: 15px;
    border: 1px solid var(--01-02, #A49A9A);
  }
  #index .sec03 .swiper-wrapper::-webkit-scrollbar:horizontal,
  #index .sec04 .swiper-wrapper::-webkit-scrollbar:horizontal {
    width: 8px;
    border: 1px solid var(--01-02, #A49A9A);
    border-radius: 2px;
  }
  #index .sec03 .swiper-wrapper::-webkit-scrollbar-thumb:horizontal,
  #index .sec04 .swiper-wrapper::-webkit-scrollbar-thumb:horizontal {
    background-color: #806F6F;
    box-shadow: 0px 2px 2px 0px rgba(210, 205, 205, 0.25) inset;
    border-radius: 4px;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    background-clip: padding-box;
  }
  #index .sec03 .swiper-slide,
  #index .sec04 .swiper-slide {
    width: 81.1594202899%;
  }
  #index .sec03 .swiper-slide a .txt .cat,
  #index .sec04 .swiper-slide a .txt .cat {
    bottom: 125px;
    max-width: 95%;
    width: auto;
  }
}
#index .sec04 {
  padding: 134px 0 50px;
  background: url(../images/index/sec04_bg_pc.svg) no-repeat top/cover;
}
#index .sec04 .stit h2 {
  margin: 0 0 10px;
}
#index .sec04 .stit p span {
  margin: 0 0 0 10px;
}
#index .sec04 .stit p img {
  width: 126px;
}
#index .sec04 .swiper-slide a:hover {
  opacity: 0.5;
}
#index .sec04 .swiper-slide a .txt .cat {
  bottom: 135px;
}
#index .sec04 .swiper-slide a .txt > div {
  padding: 30px 20px 14px;
}
#index .sec04 .swiper-slide a .txt > div .info__tit {
  height: 3.8em;
  margin: 0 0 10px;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  max-height: 3.8em; /* ブラウザがサポートしていない場合 */
}
#index .sec04 .icon {
  position: absolute;
  z-index: 10;
  top: 10px;
  right: 10px;
  width: 20px;
  height: 20px;
}
@media (max-width: 750px) {
  #index .sec04 {
    padding: 95px 4% 45px;
    background: url(../images/index/sec04_bg_sp.svg) no-repeat top/cover;
  }
}
#index .modal__insta {
  position: fixed;
  width: 100vw;
  height: 100vh;
  display: none;
  z-index: 10000;
  top: 0;
  left: 0;
}
#index .modal__insta.js--on {
  display: block;
  background: rgba(0, 0, 0, 0.8);
  display: grid;
  place-content: center;
}
#index .modal__insta .modal__insta__inner {
  background: #fff;
  border-radius: 5px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding: 30px 33px;
  box-sizing: border-box;
  overflow: hidden;
}
#index .modal__insta .modal__insta__inner .modal__insta__close {
  cursor: pointer;
  width: 38px;
  height: 38px;
  padding: 5px 8px 4px;
  background: #0098D8;
  color: #fff;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0px 3px;
}
#index .modal__insta .modal__insta__inner .modal__insta__close .fa-xmark {
  width: 38px;
  height: 38px;
}
#index .modal__insta .modal__insta__inner li.dp__flex {
  gap: 47px;
  align-items: stretch;
  flex-shrink: 0;
}
#index .modal__insta .modal__insta__inner li.dp__flex .left {
  width: 440px;
}
#index .modal__insta .modal__insta__inner li.dp__flex .left > div {
  position: relative;
}
#index .modal__insta .modal__insta__inner li.dp__flex .left > div > div {
  overflow-x: hidden;
  height: 100%;
}
#index .modal__insta .modal__insta__inner li.dp__flex .modal-swiper {
  width: 100%;
}
#index .modal__insta .modal__insta__inner li.dp__flex .swiper-slide {
  width: 440px;
  aspect-ratio: 1/1;
}
#index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next,
#index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev {
  background: #F6F2F2;
  color: #806F6F;
  border-radius: 50%;
  width: 40px;
  height: 40px;
}
#index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next .fa-chevron-right,
#index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next .fa-chevron-left,
#index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev .fa-chevron-right,
#index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev .fa-chevron-left {
  width: 1.5rem;
  height: 2.4rem;
}
#index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next {
  right: -20px;
}
#index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev {
  left: -20px;
}
#index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next::after,
#index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev::after {
  content: "";
}
#index .modal__insta .modal__insta__inner li.dp__flex .swiper-pagination {
  bottom: -40px;
}
#index .modal__insta .modal__insta__inner li.dp__flex .swiper-pagination-bullet {
  background: #fff;
  border: 1px solid var(--02, #806F6F);
  opacity: 1;
  width: 40px;
  height: 10px;
  border-radius: 0;
  margin: 0 10px 0 0;
}
#index .modal__insta .modal__insta__inner li.dp__flex .swiper-pagination-bullet-active {
  background: var(--02, #504644);
}
#index .modal__insta .modal__insta__inner li.dp__flex .right {
  width: 50%;
  min-height: 526px;
  padding: 10px 0 0;
}
#index .modal__insta .modal__insta__inner li.dp__flex .right li.dp__flex {
  gap: 0;
  align-items: center;
  margin: 0 0 25px;
}
#index .modal__insta .modal__insta__inner li.dp__flex .right div.dp__flex {
  align-items: center;
}
#index .modal__insta .modal__insta__inner li.dp__flex .right .insta__logo {
  width: 38px;
  height: 38px;
  padding: 20px 20px 20px 0;
}
#index .modal__insta .modal__insta__inner li.dp__flex .right h2 {
  width: 70%;
  text-align: left;
}
#index .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14 {
  overflow-y: scroll;
  height: 350px;
  margin: 0 0 20px;
}
#index .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14::-webkit-scrollbar {
  border: 1px solid var(--01-02, #A49A9A);
  border-radius: 2px;
}
#index .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14::-webkit-scrollbar-thumb {
  background: #806F6F;
  box-shadow: 0px 2px 2px 0px rgba(210, 205, 205, 0.25) inset;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  background-clip: padding-box;
  border-radius: 4px;
}
#index .modal__insta .modal__insta__inner li.dp__flex .right p.btn {
  width: min(23.015vw, 290px);
}
@media (max-width: 750px) {
  #index .modal__insta {
    padding: 46px 4% 15px;
    box-sizing: border-box;
  }
  #index .modal__insta.js--on {
    display: flex;
  }
  #index .modal__insta .modal__insta__inner {
    min-height: auto;
    width: 100%;
    height: -moz-max-content;
    height: max-content;
    padding: 0;
    overflow: visible;
  }
  #index .modal__insta .modal__insta__inner .modal__insta__close {
    top: -46px;
    border-radius: 3px 3px 0px 0px;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex {
    gap: 0;
    flex-direction: column;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .left {
    width: 100%;
    border-radius: 5px 5px 0 0;
    overflow: hidden;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next,
  #index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev {
    background: #F6F2F2;
    color: #806F6F;
    border-radius: 50%;
    width: 25px;
    height: 25px;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next .fa-chevron-right,
  #index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next .fa-chevron-left,
  #index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev .fa-chevron-right,
  #index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev .fa-chevron-left {
    width: 0.9rem;
    height: 1.5rem;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next {
    right: 5px;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev {
    left: 5px;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .swiper-pagination {
    bottom: -35px;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .right {
    width: 100%;
    min-height: auto;
    padding: 40px 0 0;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .right .dp__flex {
    flex-direction: row;
    margin: 0 0 17px;
    width: 100%;
    position: sticky;
    bottom: 0;
    left: 0;
    background: #fff;
    padding: 15px 0;
    justify-content: space-between;
    align-items: center;
    padding: 0 2.8985507246%;
    box-sizing: border-box;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .right .dp__flex.flex01 {
    justify-content: flex-start;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .right .insta__logo {
    padding: 10px;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .right h2 {
    width: 100%;
    padding: 0 2.8985507246% 0;
    box-sizing: border-box;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14 {
    height: 30.666vw;
    padding: 0 2.8985507246% 5.3333333333%;
    box-sizing: border-box;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14::-webkit-scrollbar {
    width: 15px;
    border: 1px solid var(--01-02, #A49A9A);
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .right p.btn {
    order: 2;
    margin: 0;
    width: 52.266vw;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .right p.prev__btn a,
  #index .modal__insta .modal__insta__inner li.dp__flex .right p.next__btn a {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .right p.prev__btn a svg,
  #index .modal__insta .modal__insta__inner li.dp__flex .right p.next__btn a svg {
    width: 1.5rem;
    height: 3rem;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .right p.prev__btn {
    order: 1;
  }
  #index .modal__insta .modal__insta__inner li.dp__flex .right p.next__btn {
    order: 3;
  }
}
#index .sec05 {
  padding: 68px 0 154px;
  background: url(../images/index/sec05_bg_pc.svg) no-repeat bottom/cover;
}
#index .sec05 .stit {
  margin: 0 0 37px;
  position: relative;
  z-index: 100;
}
#index .sec05 .stit h2 {
  text-align: center;
}
#index .sec05 .stit p {
  text-align: center;
}
#index .sec05 .sec__in__l > .dp__flex {
  align-items: flex-start;
  gap: min(2.38vw, 30px);
}
#index .sec05 .left {
  width: 54.6610169492%;
  max-width: 645px;
  padding: 116px min(3.968vw, 50px) 0;
  box-sizing: border-box;
  position: relative;
  z-index: 10;
}
#index .sec05 .left::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/index/sec05_left_bg_pc.svg) no-repeat top/100%;
  left: 0;
  top: 0;
  z-index: -1;
  padding: 0 0 150px;
}
#index .sec05 .left h3 {
  margin: -90px 0 min(3.253vw, 41px);
  text-align: center;
}
#index .sec05 .left ol > li {
  width: 100%;
  max-width: 100%;
  border-bottom: 1px solid #806F6F;
}
#index .sec05 .left ol > li a {
  width: 100%;
  gap: min(1.587vw, 20px);
  align-items: center;
  padding: min(1.349vw, 17px) 0;
  box-sizing: border-box;
  grid-template-columns: repeat(2, max-content);
}
#index .sec05 .left ol > li h4 {
  width: min(8.253vw, 104px);
  text-align: center;
  padding: min(1.111vw, 14px);
  color: #fff;
  border-radius: 3px;
  font-size: min(3.174vw, 40px);
  grid-column: 1/2;
  grid-row: 1/3;
}
#index .sec05 .left ol > li h4 span {
  margin: 0 0 0 min(0.476vw, 6px);
  font-size: min(2.063vw, 26px);
}
#index .sec05 .left ol > li h5 {
  font-size: min(1.587vw, 20px);
}
#index .sec05 .left ol > li ul {
  gap: min(0.793vw, 10px);
  flex-wrap: wrap;
  grid-column: 2/3;
}
#index .sec05 .left ol > li ul > li {
  border-radius: 2px;
  border: 1px solid var(--02, #806F6F);
  background: #fff;
  text-align: center;
  width: min(9.92vw, 125px);
  font-size: min(1.111vw, 14px);
}
#index .sec05 .left ol li:nth-of-type(1) h4 {
  background: var(--4F_01, #CF4A02);
}
#index .sec05 .left ol li:nth-of-type(1) h5 {
  color: var(--4F_02, #C24502);
}
#index .sec05 .left ol li:nth-of-type(2) h4 {
  background: var(--3F01, #04865F);
}
#index .sec05 .left ol li:nth-of-type(2) h5 {
  color: var(--3F_02, #057D57);
}
#index .sec05 .left ol li:nth-of-type(3) h4 {
  background: var(--2F01, #017DB2);
}
#index .sec05 .left ol li:nth-of-type(3) h5 {
  color: var(--2F_02, #0275A6);
}
#index .sec05 .left ol li:nth-of-type(4) h4 {
  background: var(--1F01, #CF4367);
}
#index .sec05 .left ol li:nth-of-type(4) h5 {
  color: var(--1F_02, #BF3D5E);
}
#index .sec05 .left ol li:nth-of-type(5) h4 {
  background: var(--B2F01, #5C5E64);
}
#index .sec05 .left ol li:nth-of-type(5) h5 {
  color: var(--B2F_02, #57595E);
}
#index .sec05 .right {
  width: 42.9661016949%;
  max-width: 507px;
}
#index .sec05 .right .category {
  padding: 26px min(0.396vw, 5px) 0;
  position: relative;
  z-index: 10;
  box-sizing: border-box;
  margin: 0 0 25px;
}
#index .sec05 .right .category::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/index/sec05_right_bg_top.svg) no-repeat top/100%;
  top: 0;
  left: 0;
  z-index: 0;
}
#index .sec05 .right .category::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/index/sec05_right_bg_bottom.svg) no-repeat bottom/100%;
  bottom: -5px;
  left: 0;
  z-index: 0;
}
#index .sec05 .right .right__inner {
  background: #fff;
  position: relative;
  z-index: 10;
  padding: 10px 0 42px;
  transform: translateY(-10px);
}
#index .sec05 .right h3 {
  text-align: center;
  margin: 0 0 22px;
}
#index .sec05 .right ul.dp__grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  width: 71.5976331361%;
  max-width: 363px;
  margin: 0 auto;
}
#index .sec05 .right ul.dp__grid li a {
  display: block;
  padding: min(0.873vw, 11px) min(1.031vw, 13px);
  box-sizing: border-box;
  border: 1px solid var(--02, #806F6F);
  background: var(--01, #F6F2F2);
  border-radius: 5px;
  text-align: center;
  transition: background-color 0.3s ease, color 0.3s ease;
}
#index .sec05 .right ul.dp__grid li a.js--on {
  border: 1px solid var(--03, #504644);
  background: var(--03, #504644);
  color: #fff;
}
#index .sec05 .right ul.dp__grid li a.js--on svg {
  fill: #806F6F;
}
#index .sec05 .right ul.dp__grid li a.js--on svg path {
  fill: #F6F2F2;
}
#index .sec05 .right ul.dp__grid li a svg {
  width: min(8.73vw, 110px);
  fill: #F6F2F2;
  transition: fill 0.3s ease;
}
#index .sec05 .right ul.dp__grid li a svg path {
  fill: #806F6F;
  transition: fill 0.3s ease;
}
#index .sec05 .right ul.dp__grid li a figure {
  width: min(8.73vw, 110px);
  margin: 0 auto 4px;
}
#index .sec05 .right ul.dp__grid li a h4 {
  text-align: center;
  font-size: min(1.269vw, 16px);
}
#index .sec05 .right ul.dp__grid li:first-child a.js--on svg {
  fill: #F6F2F2;
}
#index .sec05 .right ul.dp__grid li:first-child a.js--on svg path {
  fill: #806F6F;
}
#index .sec05 .right ul.dp__grid li:first-child svg {
  fill: #806F6F;
  transition: fill 0.3s ease;
}
#index .sec05 .right ul.dp__grid li:first-child svg path {
  fill: #F6F2F2;
  transition: fill 0.3s ease;
}
#index .sec05 .right ul.dp__grid li:nth-of-type(4) a.js--on svg {
  fill: #F6F2F2;
}
#index .sec05 .right ul.dp__grid li:nth-of-type(4) a.js--on svg path {
  fill: #F6F2F2;
}
#index .sec05 .right ul.dp__grid li:nth-of-type(4) a.js--on svg g.main__path path {
  fill: #F6F2F2;
}
#index .sec05 .right ul.dp__grid li:nth-of-type(4) svg {
  fill: #F6F2F2;
}
#index .sec05 .right ul.dp__grid li:nth-of-type(4) svg path {
  fill: #F6F2F2;
}
#index .sec05 .right ul.dp__grid li:nth-of-type(4) svg g.main__path path {
  fill: #806F6F;
}
#index .sec05 .right .keyword input {
  width: 100%;
  padding: min(0.793vw, 10px) 20px;
  box-sizing: border-box;
  border-radius: 3px 0 0 3px;
  border: 1px solid var(--02, #806F6F);
}
#index .sec05 .right .keyword .search__btn {
  width: min(4.285vw, 54px);
  height: auto;
  aspect-ratio: 1/1;
  background: var(--02, #806F6F);
  color: #fff;
  display: grid;
  place-content: center;
  border-radius: 0 3px 3px 0;
}
#index .sec05 .right .keyword .search__btn .fa-magnifying-glass {
  font-size: min(2.857vw, 3.6rem);
  padding: 0 9px;
  box-sizing: border-box;
}
#index .sec05 .bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  width: 100%;
}
@media (max-width: 750px) {
  #index .sec05 {
    padding: 40px 1.3333333333% 66px;
    box-sizing: border-box;
    background: url(../images/index/sec05_bg_sp.svg) no-repeat bottom/cover;
  }
  #index .sec05 .stit {
    padding: 2.7397260274%;
  }
  #index .sec05 .stit h2 {
    text-align: left;
  }
  #index .sec05 .stit p {
    text-align: left;
  }
  #index .sec05 .sec__in__l > .dp__flex {
    flex-direction: column;
    gap: 40px;
  }
  #index .sec05 .left {
    width: 100%;
    max-width: 100%;
    padding: 100px 5.4794520548% 10px;
    margin: 0 0 30px;
  }
  #index .sec05 .left::before {
    background: url(../images/index/sec05_left_bg_sp.svg) no-repeat top/100%;
    padding: 0;
  }
  #index .sec05 .left ol > li {
    width: 100%;
    max-width: 100%;
    padding: 17px 0;
  }
  #index .sec05 .left ol > li a {
    grid-template-columns: 21.5384615385% 68.846154%;
    -moz-column-gap: 9.2307692308%;
         column-gap: 9.2307692308%;
  }
  #index .sec05 .left ol > li h4 {
    width: 100%;
    font-size: 2.6rem;
    grid-row: 1;
  }
  #index .sec05 .left ol > li h4 span {
    font-size: 2rem;
  }
  #index .sec05 .left ol > li h5 {
    font-size: 1.6rem;
    grid-column: 2/3;
  }
  #index .sec05 .left ol > li ul {
    grid-column: 1/3;
    grid-row: 2;
  }
  #index .sec05 .left ol > li ul li {
    font-size: 1.3rem;
    width: 34.666vw;
  }
  #index .sec05 .right {
    width: 100%;
    max-width: 100%;
    padding: 0 2.7397260274%;
    box-sizing: border-box;
  }
  #index .sec05 .right .right__inner {
    padding: 0 3.5616438356%;
    box-sizing: border-box;
  }
  #index .sec05 .right .category {
    padding: 36px 1vw 20px;
  }
  #index .sec05 .right .category::after {
    bottom: 5px;
  }
  #index .sec05 .right ul.dp__grid {
    width: 100%;
  }
  #index .sec05 .right ul.dp__grid li a svg {
    width: 58.5987261146%;
    vertical-align: middle;
  }
  #index .sec05 .right ul.dp__grid li a figure {
    width: 58.5987261146%;
  }
  #index .sec05 .right ul.dp__grid li a h4 {
    font-size: 1.4rem;
    margin: 0 0 10px;
  }
  #index .sec05 .right .keyword input {
    font-size: 1.6rem;
  }
  #index .sec05 .right .keyword .search__btn {
    width: 54px;
    height: 54px;
  }
  #index .sec05 .right .keyword .search__btn .fa-magnifying-glass {
    font-size: 3.6rem;
  }
}
#index .sec06 {
  padding: 46px 0 71px;
  /* PC/スマホ共通: 3列2行固定レイアウト (サムネイルグリッド) */
}
#index .sec06 .sec__in__l > .dp__flex {
  justify-content: space-between;
  align-items: center;
  gap: min(10.317vw, 130px);
}
#index .sec06 .left .stit {
  margin: 0 0 50px;
}
#index .sec06 .left .stit h2 {
  margin: 0 0 11px;
}
#index .sec06 .right {
  width: 64.7457627119%;
  max-width: 764px;
}
#index .sec06 .right ul.dp__grid {
  gap: 13px;
  grid-template-columns: repeat(3, 1fr);
}
#index .sec06 .right ul.dp__grid li a img {
  border-radius: 5px;
}
#index .sec06 .right ul.dp__grid li:nth-child(3n+2) {
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0.1s;
}
#index .sec06 .right ul.dp__grid li:nth-child(3n+3) {
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0.2s;
}
#index .sec06 .thumbnail-grid {
  display: grid; /* グリッドレイアウト */
  grid-template-columns: repeat(3, 1fr);
  gap: 10px; /* アイテム間の隙間 */
  justify-content: center; /* 水平中央寄せ */
  margin: 0 auto; /* 左右中央寄せ */
  max-width: 100%; /* 画面幅を超えないように */
  /* サムネイルアイテム (枠やサイズ) */
}
#index .sec06 .thumbnail-grid .thumbnail-item {
  aspect-ratio: 1/1;
  position: relative; /* アイコンや画像の配置用 */
  overflow: hidden; /* 中身がはみ出さないように */
  border: 1px solid #ddd; /* 枠線 */
  border-radius: 8px; /* 角丸 */
  background-color: #f9f9f9; /* 背景色 */
  cursor: pointer; /* ポインタ表示 */
  transition: opacity 0.2s ease;
}
#index .sec06 .thumbnail-grid .thumbnail-item:hover {
  opacity: 0.5;
}
#index .sec06 .thumbnail-grid .thumbnail-item img.thumbnail {
  width: 100%; /* 親要素にフィット */
  height: 100%; /* 親要素にフィット */
  -o-object-fit: cover;
     object-fit: cover; /* 枠いっぱいに画像を表示 */
  display: block; /* 余白対策でblockに */
}
#index .sec06 .thumbnail-grid .thumbnail-item img.icon {
  position: absolute; /* 親要素に対して絶対配置 */
  top: 5px; /* 上端から5px */
  right: 5px; /* 右端から5px */
  width: 24px; /* アイコン幅 */
  height: 24px; /* アイコン高さ */
  background-color: transparent; /* 背景透過 */
}
@media (max-width: 750px) {
  #index .sec06 .thumbnail-grid {
    grid-template-columns: repeat(3, 1fr); /* 120px×3列 */
    grid-template-rows: repeat(3, auto);
    margin: 0 0 23px;
  }
  #index .sec06 .thumbnail-grid .thumbnail-item {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
}
@media (max-width: 750px) {
  #index .sec06 {
    padding: 50px 4%;
  }
  #index .sec06 .sec__in__l > .dp__flex {
    flex-direction: column;
    gap: 0;
  }
  #index .sec06 .left {
    width: 100%;
  }
  #index .sec06 .left .stit {
    margin: 0 0 25px;
  }
  #index .sec06 .right {
    width: 100%;
  }
  #index .sec06 .right ul.dp__grid {
    margin: 0 0 23px;
  }
}
#index .sec07 {
  padding: 77px 0 119px;
  overflow-x: hidden;
  position: relative;
}
#index .sec07 .bg__wrapper {
  position: absolute;
  z-index: 10;
  -webkit-clip-path: polygon(44% 0, 100% 0, 100% 100%, 28% 100%);
          clip-path: polygon(44% 0, 100% 0, 100% 100%, 28% 100%);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
}
#index .sec07 .bg__wrapper::before {
  content: "";
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  position: fixed;
  background: url(../images/index/sec07_bg_pc.jpg) no-repeat center/cover fixed;
}
#index .sec07 .sec__in__l {
  position: relative;
  z-index: 10;
}
#index .sec07 .sec__in__l > .dp__flex {
  justify-content: space-between;
  align-items: center;
  gap: min(3.65vw, 46px);
}
#index .sec07 .left .stit {
  margin: 0 0 52px;
}
#index .sec07 .left .btn {
  margin: 0;
}
#index .sec07 .right {
  width: 70.0847457627%;
  max-width: 827px;
}
#index .sec07 .right ul li {
  background: #fff;
  margin: 0 0 7px;
  width: 100vw;
  border-radius: 5px;
}
#index .sec07 .right ul li:last-child {
  margin: 0;
}
#index .sec07 .right ul li a {
  gap: min(1.746vw, 22px);
  padding: 17px 22px;
  align-items: center;
  box-sizing: border-box;
}
#index .sec07 .right ul li a .cat {
  background: #067D6F;
  width: 142px;
  border-radius: 2px;
  text-align: center;
  color: #fff;
  padding: 5px 10px;
  box-sizing: border-box;
}
#index .sec07 .right ul li a .cat.information {
  background: #067D6F;
}
#index .sec07 .right ul li a .cat.important {
  background: #1C50A1;
}
#index .sec07 .right ul li a .cat.news-release {
  background: #9B568C;
}
#index .sec07 .right ul li a .date {
  width: 107px;
}
#index .sec07 .right ul li a .info__tit {
  width: 38.888vw;
  max-width: 490px;
}
@media (max-width: 750px) {
  #index .sec07 {
    padding: 40px 0 51px;
  }
  #index .sec07 .bg__wrapper {
    position: absolute;
    z-index: 10;
    -webkit-clip-path: polygon(45% 0, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(45% 0, 100% 0, 100% 100%, 0% 100%);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
  }
  #index .sec07 .bg__wrapper::before {
    width: auto;
    min-width: 100%;
    height: 100vh;
    background: url(../images/index/sec07_bg_sp.jpg) no-repeat center/cover;
  }
  #index .sec07 .sec__in__l > .dp__flex {
    flex-direction: column;
    padding: 0 4%;
    box-sizing: border-box;
    gap: 0;
  }
  #index .sec07 .left {
    width: 100%;
  }
  #index .sec07 .left .stit {
    margin: 0 0 25px;
  }
  #index .sec07 .left .stit h2 {
    text-align: left;
  }
  #index .sec07 .left .stit p {
    text-align: left;
  }
  #index .sec07 .right {
    width: 100%;
  }
  #index .sec07 .right ul {
    margin: 0 0 20px;
  }
  #index .sec07 .right ul li {
    width: 100%;
  }
  #index .sec07 .right ul li a {
    flex-wrap: wrap;
    row-gap: 9px;
    justify-content: space-between;
  }
  #index .sec07 .right ul li a .cat {
    width: 43.4782608696%;
  }
  #index .sec07 .right ul li a .date {
    font-size: 1.2rem;
  }
  #index .sec07 .right ul li a .info__tit {
    width: 100%;
    font-size: 1.3rem;
  }
}
#index .sec08 {
  background: url(../images/index/sec08_bg.jpg) no-repeat center/cover;
  padding: 50px 0 54px;
}
#index .sec08 ul.big__bnr {
  justify-content: center;
  gap: 15px;
  margin: 0 0 15px;
}
#index .sec08 ul.dp__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
}
#index .sec08 ul.dp__grid li {
  max-width: 310px;
  width: 100%;
}
@media (max-width: 750px) {
  #index .sec08 {
    padding: 30px 4%;
    box-sizing: border-box;
  }
  #index .sec08 ul.big__bnr {
    flex-direction: column;
  }
  #index .sec08 ul.big__bnr li {
    max-width: 100%;
  }
  #index .sec08 ul.dp__grid {
    display: block;
  }
  #index .sec08 ul.dp__grid li {
    margin: 0 0 15px;
    width: 100%;
    max-width: 310px;
    margin: 0 auto 10px;
  }
  #index .sec08 ul.dp__grid li:last-child {
    margin: 0 auto;
  }
}
#index .fancybox {
  display: none; /* 初期状態は非表示 */
  position: fixed; /* 画面に固定 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 10001;
  padding: 20px;
  box-sizing: border-box;
  overflow: hidden; /* スクロールは内部で処理 */
}
#index .fancybox-content {
  max-width: 960px;
  display: flex;
  justify-content: space-between;
  gap: min(3.73vw, 47px);
  overflow: hidden;
  position: relative; /* スライドアニメーション用にrelative */
  background: #fff;
  border-radius: 5px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding: 30px 33px;
  box-sizing: border-box;
  overflow: hidden;
}
#index .fancybox-media {
  width: min(34.92vw, 440px);
  height: min(34.92vw, 440px);
  aspect-ratio: 1/1;
  flex-shrink: 0;
  position: relative;
  background-color: #000;
}
#index .fancybox-media img,
#index .fancybox-media video {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: none; /* 初期は非表示 */
  aspect-ratio: 1/1;
}
#index .fancybox-media img.active,
#index .fancybox-media video.active {
  display: block; /* アクティブ要素を表示 */
}
#index .fancybox div.dp__flex {
  align-items: center;
}
#index .fancybox .insta__logo {
  width: 38px;
  height: 38px;
  padding: 20px 20px 20px 0;
}
#index .fancybox-details {
  position: relative;
  width: 470px;
  min-height: 526px;
  padding: 0 30px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-align: left;
  white-space: pre-wrap;
  overflow-y: auto;
  overflow-x: hidden;
}
#index .fancybox-details p.fs__txt__14,
#index .post-content-full {
  overflow-y: scroll;
  overflow-x: hidden;
  height: 350px;
  margin: 0 0 20px;
  margin-bottom: 20px;
  color: #333;
  padding: 0 10px 0 0;
}
#index #postDetailsSec06 p.fs__txt__14 {
  height: 425px;
}
#index .fancybox-details p.fs__txt__14::-webkit-scrollbar {
  border: 1px solid var(--01-02, #A49A9A);
  border-radius: 2px;
}
#index .fancybox-details p.fs__txt__14::-webkit-scrollbar-thumb {
  background: #806F6F;
  box-shadow: 0px 2px 2px 0px rgba(210, 205, 205, 0.25) inset;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  background-clip: padding-box;
  border-radius: 4px;
}
#index .fancybox-details .btn {
  background: #fff;
  width: 100%;
  position: sticky;
  bottom: 0;
}
#index .fancybox-details a.instagramLink {
  width: min(23.015vw, 290px);
  margin: 0 auto;
  display: block;
  padding: 11px 0;
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
  transition: background-color 0.5s ease, color 0.5s ease;
  z-index: 10;
}
#index .fancybox-details a.instagramLink:hover {
  background: #504644 !important;
  color: #fff;
}
#index .close-fancybox {
  cursor: pointer;
  width: 38px;
  height: 38px;
  padding: 5px 8px 4px;
  background: #0098D8;
  color: #fff;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0px 3px;
}
#index .close-fancybox .fa-xmark {
  width: 38px;
  height: 38px;
}
@media (max-width: 750px) {
  #index .close-fancybox {
    top: -46px;
    border-radius: 3px 3px 0px 0px;
  }
}
#index .nav-buttons {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  pointer-events: none;
  max-width: 1060px;
  margin: 0 auto;
}
#index .nav-buttons button {
  background-color: rgba(0, 0, 0, 0);
  border: none;
  color: #fff;
  padding: 10px;
  cursor: pointer;
  pointer-events: auto;
  border-radius: 50%;
  margin: 0 10px;
  z-index: 1002;
  width: 29px;
  height: 56px;
  display: grid;
  place-content: center;
}
#index .nav-buttons button svg {
  font-size: 5.6rem;
  font-weight: 400;
}
#index .loading-spinner {
  width: 50px;
  height: 50px;
  border: 5px solid rgba(0, 0, 0, 0.1);
  border-top: 5px solid #007BFF;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  position: absolute;
  top: 45%;
  left: 45%;
  transform: translate(-50%, -50%);
}
@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
#index .slider-animation {
  transition: transform 0.3s ease-in-out;
}
#index .paginationContainerSec04 {
  position: absolute;
  bottom: -20px;
  flex-wrap: wrap;
}
#index .dot {
  width: 26px;
  height: 6px;
  margin: 0 3px;
  background-color: #fff;
  border: 1px solid #504644;
  display: inline-block;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
#index .dot.active {
  background-color: #504644;
}
@media (max-width: 750px) {
  #index .fancybox {
    padding: 46px 4% 15px;
    height: 100vh;
  }
  #index .fancybox-content {
    flex-direction: column;
    width: 100%;
    height: 90vh;
    min-height: auto;
    padding: 0;
    overflow: visible;
    gap: min(8vw, 30px);
  }
  #index .fancybox-media,
  #index .fancybox-details {
    width: 100%;
    height: 50%;
    padding: 0;
  }
  #index .fancybox-details {
    min-height: auto;
  }
  #index .fancybox-details .insta__logo {
    padding: 10px;
  }
  #index .fancybox-details p.fs__txt__14 {
    height: 62.666vw;
    padding: 0 2.8985507246% 5.3333333333%;
    margin-bottom: 0;
  }
  #index .fancybox-details .btn {
    order: 2;
    margin: 0 auto;
    width: 100%;
    position: absolute;
    bottom: 0;
  }
  #index .fancybox-details a.instagramLink {
    width: 52.266vw;
    margin: 20px auto;
  }
  #index .nav-buttons {
    width: 92%;
    top: auto;
    bottom: 17px;
    width: 100vw;
  }
  #index .nav-buttons button {
    color: #806F6F;
    position: relative;
    width: auto;
  }
  #index .nav-buttons button svg {
    font-size: 3rem;
  }
  #index .nav-buttons .nextPost {
    right: 5vw;
  }
  #index .nav-buttons .nextPost::after {
    content: "次へ";
  }
  #index .nav-buttons .prevPost {
    left: 5vw;
  }
  #index .nav-buttons .prevPost::after {
    content: "前へ";
    text-align: center;
  }
  #index #paginationContainer {
    flex-wrap: wrap;
    align-items: flex-end;
    top: 100%;
    margin-top: 0;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#shop .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 77px;
}
#shop .sec01 {
  margin: 0 0 70px;
}
#shop .sec01 .keyword {
  width: 52.8125%;
  max-width: 507px;
  justify-content: center;
  margin: 0 auto;
}
#shop .sec01 .keyword input {
  width: 100%;
  padding: min(0.793vw, 10px) 20px;
  box-sizing: border-box;
  border-radius: 3px 0 0 3px;
  border: 1px solid var(--02, #806F6F);
}
#shop .sec01 .keyword .search__btn {
  width: min(4.285vw, 54px);
  height: auto;
  aspect-ratio: 1/1;
  background: var(--02, #806F6F);
  color: #fff;
  display: grid;
  place-content: center;
  border-radius: 0 3px 3px 0;
}
#shop .sec01 .keyword .search__btn .fa-magnifying-glass {
  font-size: min(2.857vw, 3.6rem);
  padding: 0 9px;
  box-sizing: border-box;
}
@media (max-width: 750px) {
  #shop .sec01 {
    box-sizing: border-box;
    margin: 0 0 30px;
    padding: 31.466vw 4% 0;
  }
  #shop .sec01 .subpage__tit {
    margin: 0 0 60px;
  }
  #shop .sec01 .keyword {
    width: 100%;
  }
  #shop .sec01 .keyword input {
    font-size: 1.6rem;
  }
  #shop .sec01 .keyword .search__btn {
    min-width: -moz-max-content;
    min-width: max-content;
  }
  #shop .sec01 .keyword .search__btn .fa-magnifying-glass {
    font-size: 3.6rem;
  }
}
#shop .sec02 {
  border-top: 1px solid var(--02, #1C50A1);
  background: #fff;
  position: relative;
  z-index: 10;
  margin: 120px 0 0;
}
#shop .sec02.hidden {
  display: none;
}
#shop .sec02 .tabmenu {
  justify-content: center;
  gap: 14px;
  position: relative;
  z-index: 0;
  margin: -70px 0 72px;
}
#shop .sec02 .tabmenu li {
  width: 49.2708333333%;
  max-width: 473px;
}
#shop .sec02 .tabmenu li a {
  display: block;
  text-align: center;
  color: #fff;
  background: var(--02, #1C50A1);
  padding: 22px 0;
  border-top: 1px solid var(--02, #1C50A1);
  border-left: 1px solid var(--02, #1C50A1);
  border-right: 1px solid var(--02, #1C50A1);
  border-radius: 5px 5px 0px 0px;
  margin: 0 0 -2px;
  cursor: pointer;
}
#shop .sec02 .tabmenu li a.active {
  color: #1C50A1;
  background: #fff;
  pointer-events: none;
}
#shop .sec02 .tabmenu li a.js--on span {
  opacity: 0.5;
}
#shop .sec02 .tabmenu li span {
  text-align: center;
  transition: opacity 0.2s ease;
}
#shop .sec02 .cat__btn {
  width: 100%;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
}
#shop .sec02 .cat__btn li a {
  width: 174px;
  display: block;
  padding: 11px 0;
  box-sizing: border-box;
  border: 1px solid var(--02, #806F6F);
  background: var(--01, #F6F2F2);
  border-radius: 5px;
  text-align: center;
  transition: background-color 0.2s ease, color 0.2s ease;
}
#shop .sec02 .cat__btn li a.active, #shop .sec02 .cat__btn li a.js--on, #shop .sec02 .cat__btn li a:hover {
  border: 1px solid var(--03, #504644);
  background: var(--03, #504644);
  color: #fff;
}
#shop .sec02 .cat__btn li a.active svg, #shop .sec02 .cat__btn li a.js--on svg, #shop .sec02 .cat__btn li a:hover svg {
  fill: #806F6F;
}
#shop .sec02 .cat__btn li a.active svg path, #shop .sec02 .cat__btn li a.js--on svg path, #shop .sec02 .cat__btn li a:hover svg path {
  fill: #F6F2F2;
}
#shop .sec02 .cat__btn li a svg {
  width: min(8.73vw, 110px);
  fill: #F6F2F2;
  transition: fill 0.2s ease;
  vertical-align: middle;
  margin: 0 0 4px;
}
#shop .sec02 .cat__btn li a svg path {
  fill: #806F6F;
  transition: fill 0.2s ease;
}
#shop .sec02 .cat__btn li a p {
  text-align: center;
}
#shop .sec02 .cat__btn li:first-child a svg {
  fill: #806F6F;
  transition: fill 0.2s ease;
}
#shop .sec02 .cat__btn li:first-child a svg path {
  fill: #F6F2F2;
  transition: fill 0.2s ease;
}
#shop .sec02 .cat__btn li:first-child a.active svg,
#shop .sec02 .cat__btn li:first-child a.js--on svg,
#shop .sec02 .cat__btn li:first-child a:hover svg {
  fill: #F6F2F2;
}
#shop .sec02 .cat__btn li:first-child a.active svg path,
#shop .sec02 .cat__btn li:first-child a.js--on svg path,
#shop .sec02 .cat__btn li:first-child a:hover svg path {
  fill: #504644;
}
#shop .sec02 .cat__btn li:nth-of-type(4) a.active svg,
#shop .sec02 .cat__btn li:nth-of-type(4) a:hover svg {
  fill: #F6F2F2;
}
#shop .sec02 .cat__btn li:nth-of-type(4) a.active svg path,
#shop .sec02 .cat__btn li:nth-of-type(4) a:hover svg path {
  fill: #F6F2F2;
}
#shop .sec02 .cat__btn li:nth-of-type(4) a.active svg g.main__path path,
#shop .sec02 .cat__btn li:nth-of-type(4) a:hover svg g.main__path path {
  fill: #F6F2F2;
}
#shop .sec02 .cat__btn li:nth-of-type(4) a.js--on svg {
  fill: #F6F2F2;
}
#shop .sec02 .cat__btn li:nth-of-type(4) a.js--on svg path {
  fill: #F6F2F2;
}
#shop .sec02 .cat__btn li:nth-of-type(4) a.js--on svg g.main__path path {
  fill: #F6F2F2;
}
#shop .sec02 .cat__btn li:nth-of-type(4) svg {
  fill: #F6F2F2;
}
#shop .sec02 .cat__btn li:nth-of-type(4) svg path {
  fill: #F6F2F2;
}
#shop .sec02 .cat__btn li:nth-of-type(4) svg g.main__path path {
  fill: #806F6F;
}
@media (max-width: 750px) {
  #shop .sec02 {
    margin: 98px 0 0;
    padding: 0 0 30px;
  }
  #shop .sec02 .sec__in__s {
    height: 40px;
  }
  #shop .sec02 .tabmenu {
    padding: 0 4%;
    transform: translateY(-65.6px);
    box-sizing: border-box;
    margin: 0 0 40px;
  }
  #shop .sec02 .sec__in__l {
    padding: 0 6.6666666667%;
    box-sizing: border-box;
  }
  #shop .sec02 .cat__btn {
    justify-content: space-between;
    gap: 5px;
  }
  #shop .sec02 .cat__btn li {
    width: 49%;
  }
  #shop .sec02 .cat__btn li a {
    width: 100%;
  }
  #shop .sec02 .cat__btn li a svg {
    width: 57.2327044025%;
  }
}
#shop .sec03 {
  background: #fff;
  padding: 94px 0 72px;
}
#shop .sec03 .search-tit {
  margin: 0 0 40px;
  text-align: center;
  color: #504644;
}
#shop .sec03 ul.result__tit {
  justify-content: center;
  margin: 0 0 39px;
}
#shop .sec03 ul.result__tit li {
  display: none;
  text-align: center;
}
#shop .sec03 ul.result__tit li.js--on {
  display: block;
}
#shop .sec03 ul.result__tit li svg {
  width: 155px;
  height: auto;
  fill: #fff;
  transition: fill 0.2s ease;
  vertical-align: middle;
}
#shop .sec03 ul.result__tit li svg path {
  fill: #504644;
  transition: fill 0.2s ease;
}
#shop .sec03 ul.result__tit li h2 {
  text-align: center;
}
#shop .sec03 ul.result__tit li:first-child svg {
  fill: #504644;
  transition: fill 0.2s ease;
}
#shop .sec03 ul.result__tit li:first-child svg path {
  fill: #fff;
  transition: fill 0.2s ease;
}
#shop .sec03 ul.result__tit li:nth-of-type(4) svg {
  fill: #fff;
}
#shop .sec03 ul.result__tit li:nth-of-type(4) svg path {
  fill: #fff;
}
#shop .sec03 ul.result__tit li:nth-of-type(4) svg g.main__path path {
  fill: #504644;
}
#shop .sec03 ul.result__tit li.keyword h2 {
  color: var(--03, #504644);
}
#shop .sec03 ul.shop__list {
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: min(5.158vw, 65px);
       column-gap: min(5.158vw, 65px);
  row-gap: min(5.555vw, 70px);
  display: none;
}
#shop .sec03 ul.shop__list.js--on {
  display: grid;
}
#shop .sec03 ul.shop__list.hidden {
  display: none;
}
#shop .sec03 ul.shop__list li figure {
  margin: 0 0 10px;
  border-radius: 5px;
  overflow: hidden;
  border: 1px solid var(--02, #806F6F);
  border-radius: 5px;
}
#shop .sec03 ul.shop__list li figure img {
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
}
#shop .sec03 ul.shop__list li .dp__flex {
  justify-content: space-between;
  align-items: flex-end;
  margin: 0 0 10px;
}
#shop .sec03 ul.shop__list li .dp__flex .floor {
  width: 63px;
  text-align: center;
  color: #fff;
  padding: 3px 0 4px;
  box-sizing: border-box;
  border-radius: 3px;
}
#shop .sec03 ul.shop__list li .dp__flex .floor.floor4 {
  background: var(--4F_01, #CF4A02);
}
#shop .sec03 ul.shop__list li .dp__flex .floor.floor3 {
  background: var(--3F01, #04865F);
}
#shop .sec03 ul.shop__list li .dp__flex .floor.floor2 {
  background: var(--2F01, #017DB2);
}
#shop .sec03 ul.shop__list li .dp__flex .floor.floor1 {
  background: var(--1F01, #CF4367);
}
#shop .sec03 ul.shop__list li .dp__flex .floor.floorb2 {
  background: var(--B2F01, #5C5E64);
}
#shop .sec03 ul.shop__list li .dp__flex .cat01 {
  width: 125px;
  border: 1px solid var(--02, #806F6F);
  background: #FFF;
  text-align: center;
  border-radius: 2px;
  display: grid;
  place-content: center;
  padding: 4px 0 3px;
}
#shop .sec03 ul.shop__list li h3 {
  margin: 0 0 10px;
}
#shop .sec03 ul.shop__list li .cat02 {
  color: var(--02, #806F6F);
}
#shop .sec03 ul.shop__list li:nth-child(3n+2) {
  transition: transform 0.5s ease 0.1s, opacity 0.5s ease 0.1s;
}
#shop .sec03 ul.shop__list li:nth-child(3n+3) {
  transition: transform 0.5s ease 0.2s, opacity 0.5s ease 0.2s;
}
#shop .sec03 .search-tit {
  margin: 0 0 40px;
  text-align: center;
  color: #504644;
}
#shop .sec03 .no__results {
  text-align: center;
  padding: 60px 0 100px;
}
@media (max-width: 750px) {
  #shop .sec03 {
    padding: 40px 0 54px;
  }
  #shop .sec03 .sec__in__l {
    padding: 0 6.6666666667%;
    box-sizing: border-box;
  }
  #shop .sec03 .search-tit {
    margin: 0 0 20px;
  }
  #shop .sec03 ul.result__tit li {
    width: 100%;
    text-align: center;
  }
  #shop .sec03 ul.result__tit li svg {
    width: 36%;
    max-width: 155px;
  }
  #shop .sec03 ul.shop__list {
    display: none;
    flex-direction: column;
    row-gap: 50px;
  }
  #shop .sec03 ul.shop__list.js--on {
    display: flex;
  }
  #shop .sec03 ul.shop__list li .dp__flex .floor {
    font-size: 2rem;
    padding: 5px 0 4px;
  }
  #shop .sec03 ul.shop__list li .dp__flex .cat01 {
    font-size: 1.3rem;
  }
  #shop .sec03 ul.shop__list li .cat02 {
    font-size: 1.3rem;
  }
  #shop .sec03 ul.shop__list li:nth-child(3n+2) {
    transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  }
  #shop .sec03 ul.shop__list li:nth-child(3n+3) {
    transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  }
  #shop .sec03 .search-tit {
    margin: 0 0 20px;
  }
  #shop .sec03 .no__results {
    padding: 0 0 89px;
  }
}
@media (max-width: 750px) {
  #shop #article .bg__wrapper {
    padding: 0 0 56px;
  }
}
#shop #article .sec01 {
  margin: 0 0 56px;
}
#shop #article .sec01 .keyword {
  display: none;
}
#shop #article .sec02 {
  border-top: none;
  background: none;
  margin: 0;
  padding: 0 0 57px;
}
#shop #article .sec02 .dp__grid {
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  -moz-column-gap: min(5.238vw, 66px);
       column-gap: min(5.238vw, 66px);
}
#shop #article .sec02 .shop-thum {
  width: min(43.65vw, 550px);
  overflow: hidden;
  grid-column: 1;
  grid-row: 1/3;
}
#shop #article .sec02 .shop-thum img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#shop #article .sec02 .shop-thum .sec02-swiper01 {
  overflow: hidden;
  margin: 0 0 9px;
}
#shop #article .sec02 .shop-thum .sec02-swiper01 ul li {
  border-radius: 5px;
  overflow: hidden;
}
#shop #article .sec02 .shop-thum .sec02-swiper01 ul li img {
  width: min(43.65vw, 550px);
  height: min(30.158vw, 380px);
}
#shop #article .sec02 .shop-thum .sec02-swiper01 ul .swiper-pagination-bullet-active {
  background: none;
}
#shop #article .sec02 .shop-thum .swiper-thumbs {
  overflow: hidden;
}
#shop #article .sec02 .shop-thum .swiper-thumbs ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 11px;
}
#shop #article .sec02 .shop-thum .swiper-thumbs ul li {
  width: 100%;
  aspect-ratio: 130/90;
}
#shop #article .sec02 .shop-thum .swiper-thumbs ul li img {
  width: 100%;
  height: 100%;
}
#shop #article .sec02 .shop-thum .swiper-thumbs ul .swiper-slide {
  width: 100% !important;
  border-radius: 3px;
  overflow: hidden;
  cursor: pointer;
}
#shop #article .sec02 .shop-thum .swiper-thumbs ul .swiper-slide a {
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: all;
}
#shop #article .sec02 .shop-thum .swiper-thumbs ul .swiper-slide-thumb-active {
  background: none;
  box-sizing: border-box;
}
#shop #article .sec02 .shop-thum .swiper-thumbs ul .swiper-slide-thumb-active.floor4 {
  border: 4px solid var(--4F_01, #CF4A02);
}
#shop #article .sec02 .shop-thum .swiper-thumbs ul .swiper-slide-thumb-active.floor3 {
  border: 4px solid var(--4F_01, #04865F);
}
#shop #article .sec02 .shop-thum .swiper-thumbs ul .swiper-slide-thumb-active.floor2 {
  border: 4px solid var(--4F_01, #017DB2);
}
#shop #article .sec02 .shop-thum .swiper-thumbs ul .swiper-slide-thumb-active.floor1 {
  border: 4px solid var(--4F_01, #CF4367);
}
#shop #article .sec02 .shop-thum .swiper-thumbs ul .swiper-slide-thumb-active.floorb2 {
  border: 4px solid var(--4F_01, #5C5E64);
}
#shop #article .sec02 .shop-thum .dp__grid {
  grid-template-columns: repeat(4, 1fr);
  gap: min(0.873vw, 11px);
}
#shop #article .sec02 .shop-thum .dp__grid li {
  border-radius: 3px;
  overflow: hidden;
  position: relative;
}
#shop #article .sec02 .shop-tit {
  grid-column: 2;
}
#shop #article .sec02 .shop-tit .flex01 {
  margin: 0 0 9px;
  gap: 14px;
  align-items: center;
}
#shop #article .sec02 .shop-tit .flex01 .floor {
  width: 63px;
  padding: 3px 0 4px;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
  border-radius: 3px;
}
#shop #article .sec02 .shop-tit .flex01.floor4 .floor {
  background: var(--4F_01, #CF4A02);
}
#shop #article .sec02 .shop-tit .flex01.floor4 .cat01 {
  color: var(--4F_02, #C24502);
}
#shop #article .sec02 .shop-tit .flex01.floor3 .floor {
  background: var(--3F01, #04865F);
}
#shop #article .sec02 .shop-tit .flex01.floor3 .cat01 {
  color: var(--3F_02, #057D57);
}
#shop #article .sec02 .shop-tit .flex01.floor2 .floor {
  background: var(--2F01, #017DB2);
}
#shop #article .sec02 .shop-tit .flex01.floor2 .cat01 {
  color: var(--2F_02, #0275A6);
}
#shop #article .sec02 .shop-tit .flex01.floor1 .floor {
  background: var(--1F01, #CF4367);
}
#shop #article .sec02 .shop-tit .flex01.floor1 .cat01 {
  color: var(--1F_02, #BF3D5E);
}
#shop #article .sec02 .shop-tit .flex01.floorb2 .floor {
  background: var(--B2F01, #5C5E64);
}
#shop #article .sec02 .shop-tit .flex01.floorb2 .cat01 {
  color: var(--B2F_02, #57595E);
}
#shop #article .sec02 .shop-tit h2 {
  margin: 0 0 9px;
}
#shop #article .sec02 .shop-tit .flex02 {
  justify-content: space-between;
  margin: 0 0 27px;
  align-items: flex-start;
  gap: 10px;
  width: min(44.761vw, 564px);
}
#shop #article .sec02 .shop-tit .flex02 .cat02 {
  width: 125px;
  border-radius: 2px;
  border: 1px solid var(--02, #806F6F);
  background: #fff;
  text-align: center;
  padding: 2px 3px 1px;
  box-sizing: border-box;
  margin: 8px 0 0;
  flex-shrink: 0;
}
#shop #article .sec02 .shop-tit .flex02 ul.sns {
  gap: 15px;
}
#shop #article .sec02 .shop-tit .flex02 ul.sns li {
  width: min(3.809vw, 48px);
}
#shop #article .sec02 .shop-txt {
  width: min(44.761vw, 564px);
}
#shop #article .sec02 .shop-txt .hours {
  margin: 0 0 25px;
}
#shop #article .sec02 .shop-txt .hours h3 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-radius: 2px;
  background: #fff;
  width: -moz-max-content;
  width: max-content;
  padding: 6px 15px 7px 10px;
  box-sizing: border-box;
  color: var(--02, #806F6F);
  margin: 0 0 6px;
}
#shop #article .sec02 .shop-txt .hours h3 img {
  width: 17px;
  height: 17px;
  margin: 0 7px 0 0;
}
#shop #article .sec02 .shop-txt a {
  color: #1C50A1;
  text-decoration: underline;
  overflow-wrap: anywhere;
}
#shop #article .sec02 .shop-txt a:hover {
  text-decoration: none;
}
@media (max-width: 750px) {
  #shop #article .sec02 {
    padding: 0 0 35px;
  }
  #shop #article .sec02 .sec__in__l > .dp__flex {
    flex-direction: column;
  }
  #shop #article .sec02 .dp__grid {
    grid-template-columns: auto;
  }
  #shop #article .sec02 .shop-thum {
    width: 100%;
    grid-row: 2;
    grid-column: 1/3;
    margin: 0 0 40px;
  }
  #shop #article .sec02 .shop-thum .sec02-swiper01 ul li img {
    width: 100%;
    height: min(64.158vw, 380px);
  }
  #shop #article .sec02 .shop-thum .swiper-thumbs ul {
    gap: 6px;
  }
  #shop #article .sec02 .shop-tit {
    width: 100%;
    grid-row: 1;
    grid-column: 1/3;
  }
  #shop #article .sec02 .shop-tit .flex01 .floor {
    font-size: 2rem;
  }
  #shop #article .sec02 .shop-tit .flex02 {
    width: 100%;
    gap: 4.266vw;
    margin: 0 0 18px;
  }
  #shop #article .sec02 .shop-tit .flex02 .cat02 {
    font-size: 1.3rem;
    margin: 0;
  }
  #shop #article .sec02 .shop-tit .flex02 ul.sns {
    gap: 1.866vw;
    justify-content: flex-end;
    width: 100%;
  }
  #shop #article .sec02 .shop-tit .flex02 ul.sns li {
    width: 11vw;
  }
  #shop #article .sec02 .shop-txt {
    width: 100%;
    grid-row: 3;
    grid-column: 1/3;
  }
  #shop #article .sec02 .shop-txt .hours {
    margin: 0 0 20px;
  }
}
#shop #article .sec03 {
  padding: 70px 0 57px;
  overflow-x: hidden;
  margin: 0 0 40px;
  /* ファンシーボックス全体 */
  /* ファンシーボックスのコンテンツ領域 */
  /* メディア部分 (画像や動画) */
  /* 詳細部分 (本文やリンク) */
  /* ボタン型リンク (Instagramで見る) */
  /* 閉じるボタン (×) */
  /* 左右の投稿ナビゲーションボタン */
  /* ローディングスピナー */
  /* スライドアニメーション (ease-in-out 0.3s) */
  /* ページネーションのドット */
  /* スマホ時（768px以下）のファンシーボックス表示方法 */
}
#shop #article .sec03 .stit {
  margin: 0 0 37px;
}
#shop #article .sec03 .stit h2 {
  text-align: center;
}
#shop #article .sec03 .stit h2 span {
  margin: 0 0 0 9px;
  text-align: center;
}
#shop #article .sec03 .stit h2 img {
  width: 91px;
}
#shop #article .sec03 .swiper {
  position: relative;
  margin: 0 40px;
  overflow: visible;
}
#shop #article .sec03 .sec03-swiper01 {
  overflow: hidden;
  margin: 0 0 41px;
}
#shop #article .sec03 .swiper-slide {
  width: 340px;
  border-radius: 5px;
  pointer-events: auto;
}
#shop #article .sec03 .swiper-slide a {
  display: block;
  position: relative;
  opacity: 0;
}
#shop #article .sec03 .swiper-slide a.js--ing {
  opacity: 1;
}
#shop #article .sec03 .swiper-slide a.js--ing.js--on {
  opacity: 0.5;
}
#shop #article .sec03 .swiper-slide a:hover {
  opacity: 0.5;
}
#shop #article .sec03 .swiper-slide a figure {
  width: 100%;
  aspect-ratio: 1/1;
  background: #fff;
  overflow: hidden;
  border-radius: 5px 5px 0 0;
  position: relative;
  z-index: 0;
}
#shop #article .sec03 .swiper-slide a figure .bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  filter: blur(3px);
  z-index: -1;
  width: 100%;
  height: 100%;
  transform: scale(1.8);
  transform-origin: center;
}
#shop #article .sec03 .swiper-slide a figure img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
#shop #article .sec03 .swiper-slide a .txt {
  color: #fff;
  background: var(--03, #504644);
  border-radius: 0 0 5px 5px;
}
#shop #article .sec03 .swiper-slide a .txt .cat {
  background: #B85151;
  width: -moz-max-content;
  width: max-content;
  max-width: 270px;
  padding: 6px 15px;
  box-sizing: border-box;
  position: relative;
  border-radius: 0px 2px 2px 0px;
  z-index: 10;
  position: absolute;
  bottom: 140px;
}
#shop #article .sec03 .swiper-slide a .txt .cat.pink {
  background: #B85151;
}
#shop #article .sec03 .swiper-slide a .txt .cat.green {
  background: #04865F;
}
#shop #article .sec03 .swiper-slide a .txt .cat.orange {
  background: #CF4A02;
}
#shop #article .sec03 .swiper-slide a .txt .cat.blue {
  background: #017DB2;
}
#shop #article .sec03 .swiper-slide a .txt .cat.gray {
  background: #5C5E64;
}
@media screen and (min-width: 751px) and (max-width: 1180px) {
  #shop #article .sec03 .swiper-slide a .txt .cat {
    max-width: 80%;
  }
}
#shop #article .sec03 .swiper-slide a .txt > div {
  padding: 30px 20px 14px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
#shop #article .sec03 .swiper-slide a .txt > div .info__tit {
  height: 3.8em;
  margin: 0 0 10px;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  max-height: 3.8em; /* ブラウザがサポートしていない場合 */
}
#shop #article .sec03 .swiper-slide a .txt > div .schedule {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  max-height: 1.8em; /* ブラウザがサポートしていない場合 */
}
#shop #article .sec03 .swiper-slide a .txt .update {
  text-align: right;
  background: #806F6F;
  padding: 9px;
  box-sizing: border-box;
  border-radius: 0 0 5px 5px;
}
#shop #article .sec03 .icon {
  position: absolute;
  z-index: 10;
  top: 10px;
  right: 10px;
  width: 20px;
  height: 20px;
}
#shop #article .sec03 .swiper-slide:nth-child(3n+1) a {
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
}
#shop #article .sec03 .swiper-slide:nth-child(3n+2) a {
  transition: transform 0.5s ease 0.1s, opacity 0.5s ease 0.1s;
}
#shop #article .sec03 .swiper-slide:nth-child(3n+3) a {
  transition: transform 0.5s ease 0.2s, opacity 0.5s ease 0.2s;
}
#shop #article .sec03 .swiper-button-next,
#shop #article .sec03 .swiper-button-prev {
  color: #806F6F;
}
#shop #article .sec03 .swiper-button-next.hidden,
#shop #article .sec03 .swiper-button-prev.hidden {
  display: none;
}
#shop #article .sec03 .swiper-button-next {
  right: -40px;
}
#shop #article .sec03 .swiper-button-prev {
  left: -40px;
}
#shop #article .sec03 .swiper-button-next::after,
#shop #article .sec03 .swiper-button-prev::after {
  content: "";
}
#shop #article .sec03 .btn {
  width: 290px;
  margin: 0 auto;
}
#shop #article .sec03 .btn a {
  display: block;
  padding: 21px 0;
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
  transition: background-color 0.5s ease, color 0.5s ease;
}
#shop #article .sec03 .btn a.js--on {
  background: #504644;
  color: #fff;
}
#shop #article .sec03 .fancybox {
  display: none; /* 初期状態は非表示 */
  position: fixed; /* 画面に固定 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 10001;
  padding: 20px;
  box-sizing: border-box;
  overflow: hidden; /* スクロールは内部で処理 */
}
#shop #article .sec03 .fancybox-content {
  max-width: 960px;
  display: flex;
  justify-content: space-between;
  gap: min(3.73vw, 47px);
  overflow: hidden;
  position: relative; /* スライドアニメーション用にrelative */
  background: #fff;
  border-radius: 5px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding: 30px 33px;
  box-sizing: border-box;
  overflow: hidden;
}
#shop #article .sec03 .fancybox-media {
  width: min(34.92vw, 440px);
  height: min(34.92vw, 440px);
  aspect-ratio: 1/1;
  flex-shrink: 0;
  position: relative;
  background-color: #000;
}
#shop #article .sec03 .fancybox-media img,
#shop #article .sec03 .fancybox-media video {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: none; /* 初期は非表示 */
  aspect-ratio: 1/1;
}
#shop #article .sec03 .fancybox-media img.active,
#shop #article .sec03 .fancybox-media video.active {
  display: block; /* アクティブ要素を表示 */
}
#shop #article .sec03 .fancybox div.dp__flex {
  align-items: center;
}
#shop #article .sec03 .fancybox .insta__logo {
  width: 38px;
  height: 38px;
  padding: 20px 20px 20px 0;
}
#shop #article .sec03 .fancybox-details {
  position: relative;
  width: 470px;
  min-height: 526px;
  padding: 0 30px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-align: left;
  white-space: pre-wrap;
  overflow-y: auto;
  overflow-x: hidden;
}
#shop #article .sec03 .fancybox-details p.fs__txt__14,
#shop #article .sec03 .post-content-full {
  overflow-y: scroll;
  overflow-x: hidden;
  height: 350px;
  margin: 0 0 20px;
  margin-bottom: 20px;
  color: #333;
  padding: 0 10px 0 0;
}
#shop #article .sec03 #postDetailsSec06 p.fs__txt__14 {
  height: 425px;
}
#shop #article .sec03 .fancybox-details p.fs__txt__14::-webkit-scrollbar {
  border: 1px solid var(--01-02, #A49A9A);
  border-radius: 2px;
}
#shop #article .sec03 .fancybox-details p.fs__txt__14::-webkit-scrollbar-thumb {
  background: #806F6F;
  box-shadow: 0px 2px 2px 0px rgba(210, 205, 205, 0.25) inset;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  background-clip: padding-box;
  border-radius: 4px;
}
#shop #article .sec03 .fancybox-details .btn {
  background: #fff;
  width: 100%;
  position: sticky;
  bottom: 0;
}
#shop #article .sec03 .fancybox-details a.instagramLink {
  width: min(23.015vw, 290px);
  margin: 0 auto;
  display: block;
  padding: 11px 0;
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
  transition: background-color 0.5s ease, color 0.5s ease;
  z-index: 10;
}
#shop #article .sec03 .fancybox-details a.instagramLink:hover {
  background: #504644 !important;
  color: #fff;
}
#shop #article .sec03 .close-fancybox {
  cursor: pointer;
  width: 38px;
  height: 38px;
  padding: 5px 8px 4px;
  background: #0098D8;
  color: #fff;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0px 3px;
}
#shop #article .sec03 .close-fancybox .fa-xmark {
  width: 38px;
  height: 38px;
}
@media (max-width: 750px) {
  #shop #article .sec03 .close-fancybox {
    top: -46px;
    border-radius: 3px 3px 0px 0px;
  }
}
#shop #article .sec03 .nav-buttons {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  pointer-events: none;
  max-width: 1060px;
  margin: 0 auto;
}
#shop #article .sec03 .nav-buttons button {
  background-color: rgba(0, 0, 0, 0);
  border: none;
  color: #fff;
  padding: 10px;
  cursor: pointer;
  pointer-events: auto;
  border-radius: 50%;
  margin: 0 10px;
  z-index: 1002;
  width: 29px;
  height: 56px;
  display: grid;
  place-content: center;
}
#shop #article .sec03 .nav-buttons button svg {
  font-size: 5.6rem;
  font-weight: 400;
}
#shop #article .sec03 .loading-spinner {
  width: 50px;
  height: 50px;
  border: 5px solid rgba(0, 0, 0, 0.1);
  border-top: 5px solid #007BFF;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  position: absolute;
  top: 45%;
  left: 45%;
  transform: translate(-50%, -50%);
}
@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
#shop #article .sec03 .slider-animation {
  transition: transform 0.3s ease-in-out;
}
#shop #article .sec03 .paginationContainerSec04 {
  position: absolute;
  bottom: -20px;
  flex-wrap: wrap;
}
#shop #article .sec03 .dot {
  width: 26px;
  height: 6px;
  margin: 0 3px;
  background-color: #fff;
  border: 1px solid #504644;
  display: inline-block;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
#shop #article .sec03 .dot.active {
  background-color: #504644;
}
@media (max-width: 750px) {
  #shop #article .sec03 .fancybox {
    padding: 46px 4% 15px;
    height: 100vh;
  }
  #shop #article .sec03 .fancybox-content {
    flex-direction: column;
    width: 100%;
    height: 90vh;
    min-height: auto;
    padding: 0;
    overflow: visible;
    gap: min(8vw, 30px);
  }
  #shop #article .sec03 .fancybox-media,
  #shop #article .sec03 .fancybox-details {
    width: 100%;
    height: 50%;
    padding: 0;
  }
  #shop #article .sec03 .fancybox-details {
    min-height: auto;
  }
  #shop #article .sec03 .fancybox-details .insta__logo {
    padding: 10px;
  }
  #shop #article .sec03 .fancybox-details p.fs__txt__14 {
    height: 62.666vw;
    padding: 0 2.8985507246% 5.3333333333%;
    margin-bottom: 0;
  }
  #shop #article .sec03 .fancybox-details .btn {
    order: 2;
    margin: 0 auto;
    width: 100%;
    position: absolute;
    bottom: 0;
  }
  #shop #article .sec03 .fancybox-details a.instagramLink {
    width: 52.266vw;
    margin: 20px auto;
  }
  #shop #article .sec03 .nav-buttons {
    width: 92%;
    top: auto;
    bottom: 17px;
  }
  #shop #article .sec03 .nav-buttons button {
    color: #806F6F;
    position: relative;
    width: auto;
  }
  #shop #article .sec03 .nav-buttons button svg {
    font-size: 3rem;
  }
  #shop #article .sec03 .nav-buttons .nextPost::after {
    content: "次へ";
  }
  #shop #article .sec03 .nav-buttons .prevPost::after {
    content: "前へ";
    text-align: center;
  }
  #shop #article .sec03 #paginationContainer {
    flex-wrap: wrap;
    align-items: flex-end;
    top: 100%;
    margin-top: 0;
  }
}
@media (max-width: 750px) {
  #shop #article .sec03 {
    padding: 45px 4% 51px;
    margin: 0 0 30px;
    box-sizing: border-box;
  }
  #shop #article .sec03 .sec__in__l {
    padding: 0;
  }
  #shop #article .sec03 .swiper {
    margin: 0;
  }
  #shop #article .sec03 .swiper-wrapper {
    overflow-x: scroll;
    padding: 0 0 10px;
    gap: 13px;
    -webkit-overflow-scrolling: touch;
    overflow-y: hidden;
  }
  #shop #article .sec03 .swiper-wrapper::-webkit-scrollbar {
    width: 8px;
    height: 15px;
    border: 1px solid var(--01-02, #A49A9A);
  }
  #shop #article .sec03 .swiper-wrapper::-webkit-scrollbar:horizontal {
    width: 8px;
    border: 1px solid var(--01-02, #A49A9A);
    border-radius: 2px;
  }
  #shop #article .sec03 .swiper-wrapper::-webkit-scrollbar-thumb:horizontal {
    background-color: #806F6F;
    box-shadow: 0px 2px 2px 0px rgba(210, 205, 205, 0.25) inset;
    border-radius: 4px;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    background-clip: padding-box;
  }
  #shop #article .sec03 .swiper-slide {
    width: 81.1594202899%;
  }
  #shop #article .sec03 .swiper-slide a .txt .cat {
    bottom: 125px;
    max-width: 95%;
    width: auto;
  }
}
#shop #article .sec04 {
  background: #fff;
  padding: 70px 0;
  margin: 0 0 40px;
}
#shop #article .sec04 .stit h2 {
  text-align: center;
  color: var(--03, #504644);
  margin: 0 0 30px;
}
#shop #article .sec04 .box {
  margin: 0 0 60px;
}
#shop #article .sec04 .box h3 {
  border-radius: 3px;
  background: var(--02, #806F6F);
  padding: 12px 18px;
  color: #fff;
  margin: 0 0 20px;
}
#shop #article .sec04 .box ul.tag {
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
}
#shop #article .sec04 .box ul.tag li {
  border-radius: 2px;
  padding: 0 10px;
  width: -moz-max-content;
  width: max-content;
  border: 1px solid #DADADA;
  color: #DADADA;
}
#shop #article .sec04 .box ul.tag li.active {
  border: 1px solid var(--02, #806F6F);
  color: #504644;
}
#shop #article .sec04 .box > ul {
  -moz-column-gap: 76px;
       column-gap: 76px;
  row-gap: 0;
  grid-template-columns: repeat(2, 1fr);
}
#shop #article .sec04 .box > ul > li {
  border-bottom: 1px solid #806F6F;
  padding: 20px 13px;
  box-sizing: border-box;
  place-content: center;
}
#shop #article .sec04 .box > ul > li dl {
  align-items: center;
  gap: 2.5362318841%;
}
#shop #article .sec04 .box > ul > li dt {
  width: 125px;
}
#shop #article .sec04 .box > ul > li dd {
  width: 70.1086956522%;
  overflow-wrap: anywhere;
}
#shop #article .sec04 .box > ul > li dd ul {
  gap: 3.8147138965%;
}
#shop #article .sec04 .box > ul > li dd ul li {
  width: 12.2615803815%;
}
#shop #article .sec04 .box > ul > li dd a {
  color: var(--02, #1C50A1);
  text-decoration: underline;
}
#shop #article .sec04 .box > ul > li dd a:hover {
  text-decoration: none;
}
#shop #article .sec04 .box ul.payment > li {
  padding: 26px 13px;
  box-sizing: border-box;
}
#shop #article .sec04 .box ul.payment > li dt {
  width: 200px;
}
#shop #article .sec04 .box ul.payment > li dd {
  width: 97.9166666667%;
}
#shop #article .sec04 .box ul.payment > li dd ul {
  flex-wrap: wrap;
  gap: 14px;
}
#shop #article .sec04 .box ul.payment > li dd ul li {
  width: 104px;
}
@media (max-width: 750px) {
  #shop #article .sec04 {
    padding: 45px 4% 50px;
    margin: 0 0 30px;
    box-sizing: border-box;
  }
  #shop #article .sec04 .stit h3 {
    margin: 0 0 20px;
  }
  #shop #article .sec04 .box {
    margin: 0 0 50px;
  }
  #shop #article .sec04 .box h3 {
    padding: 10px 3.768115942%;
  }
  #shop #article .sec04 .box ul.tag {
    flex-direction: row;
    margin: 0 0 10px;
  }
  #shop #article .sec04 .box ul.tag li {
    padding: 3px 10px;
  }
  #shop #article .sec04 .box > ul {
    display: flex;
    flex-direction: column;
  }
  #shop #article .sec04 .box > ul > li {
    padding: 13px 10px;
  }
  #shop #article .sec04 .box > ul > li dl {
    gap: 2.666vw;
  }
  #shop #article .sec04 .box > ul > li dt {
    width: 22.133vw;
  }
  #shop #article .sec04 .box > ul > li dd {
    width: 61.866vw;
  }
  #shop #article .sec04 .box > ul > li ul li {
    width: 8.799vw;
  }
  #shop #article .sec04 .box ul.payment > li {
    padding: 20px 2.8985507246%;
    box-sizing: border-box;
  }
  #shop #article .sec04 .box ul.payment > li:first-child {
    padding: 0 2.8985507246% 20px;
  }
  #shop #article .sec04 .box ul.payment > li dl {
    flex-direction: column;
  }
  #shop #article .sec04 .box ul.payment > li dt {
    width: 100%;
  }
  #shop #article .sec04 .box ul.payment > li dd {
    width: 100%;
  }
  #shop #article .sec04 .box ul.payment > li dd ul {
    gap: 3.733vw;
  }
  #shop #article .sec04 .box ul.payment > li dd ul li {
    width: 26.133vw;
  }
  #shop #article .sec04 .box02 {
    margin: 0;
  }
}
#shop #article .sec05 {
  background: #fff;
  padding: 56px 0;
}
#shop #article .sec05 .sec__in__s > .dp__flex {
  justify-content: space-between;
  align-items: center;
  gap: min(3.174vw, 40px);
}
#shop #article .sec05 .left {
  color: var(--03, #504644);
  gap: min(2.539vw, 32px);
  align-items: center;
  white-space: nowrap;
}
#shop #article .sec05 .right {
  gap: 17px;
}
#shop #article .sec05 .right li {
  width: min(5vw, 63px);
}
#shop #article .sec05 .right li a {
  display: block;
  width: 100%;
}
@media (max-width: 750px) {
  #shop #article .sec05 {
    padding: 35px 4% 40px;
    box-sizing: border-box;
  }
  #shop #article .sec05 .sec__in__s > .dp__flex {
    flex-direction: column;
    gap: 10px;
  }
  #shop #article .sec05 .left {
    flex-direction: column;
  }
  #shop #article .sec05 .right {
    gap: 5.333vw;
  }
  #shop #article .sec05 .right li {
    width: 11.733vw;
  }
}
#shop .modal__insta {
  position: fixed;
  width: 100vw;
  height: 100vh;
  display: none;
  z-index: 10000;
  top: 0;
  left: 0;
}
#shop .modal__insta.js--on {
  display: block;
  background: rgba(0, 0, 0, 0.8);
  display: grid;
  place-content: center;
}
#shop .modal__insta .modal__insta__inner {
  background: #fff;
  border-radius: 5px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding: 30px 33px;
  box-sizing: border-box;
  overflow: hidden;
}
#shop .modal__insta .modal__insta__inner .modal__insta__close {
  cursor: pointer;
  width: 38px;
  height: 38px;
  padding: 5px 8px 4px;
  background: #0098D8;
  color: #fff;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0px 3px;
}
#shop .modal__insta .modal__insta__inner .modal__insta__close .fa-xmark {
  width: 38px;
  height: 38px;
}
#shop .modal__insta .modal__insta__inner li.dp__flex {
  gap: 47px;
  align-items: stretch;
  flex-shrink: 0;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .left {
  width: 440px;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .left > div {
  position: relative;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .left > div > div {
  overflow-x: hidden;
  height: 100%;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .modal-swiper {
  width: 100%;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .swiper-slide {
  width: 440px;
  aspect-ratio: 1/1;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next,
#shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev {
  background: #F6F2F2;
  color: #806F6F;
  border-radius: 50%;
  width: 40px;
  height: 40px;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next .fa-chevron-right,
#shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next .fa-chevron-left,
#shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev .fa-chevron-right,
#shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev .fa-chevron-left {
  width: 1.5rem;
  height: 2.4rem;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next {
  right: -20px;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev {
  left: -20px;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next::after,
#shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev::after {
  content: "";
}
#shop .modal__insta .modal__insta__inner li.dp__flex .swiper-pagination {
  bottom: -40px;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .swiper-pagination-bullet {
  background: #fff;
  border: 1px solid var(--02, #806F6F);
  opacity: 1;
  width: 40px;
  height: 10px;
  border-radius: 0;
  margin: 0 10px 0 0;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .swiper-pagination-bullet-active {
  background: var(--02, #504644);
}
#shop .modal__insta .modal__insta__inner li.dp__flex .right {
  width: 50%;
  min-height: 526px;
  padding: 10px 0 0;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .right li.dp__flex {
  gap: 0;
  align-items: center;
  margin: 0 0 25px;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .right div.dp__flex {
  align-items: center;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .right .insta__logo {
  width: 38px;
  height: 38px;
  padding: 20px;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .right h2 {
  width: 70%;
  text-align: left;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14 {
  overflow-y: scroll;
  height: 350px;
  margin: 0 0 20px;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14::-webkit-scrollbar {
  border: 1px solid var(--01-02, #A49A9A);
  border-radius: 2px;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14::-webkit-scrollbar-thumb {
  background: #806F6F;
  box-shadow: 0px 2px 2px 0px rgba(210, 205, 205, 0.25) inset;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  background-clip: padding-box;
  border-radius: 4px;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .right p.btn {
  width: 290px;
  margin: 0 auto;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .right p.btn a {
  display: block;
  padding: 21px 0;
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
  transition: background-color 0.5s ease, color 0.5s ease;
  width: min(23.015vw, 290px);
  margin: 0 auto;
}
#shop .modal__insta .modal__insta__inner li.dp__flex .right p.btn a.js--on {
  background: #504644;
  color: #fff;
}
@media (max-width: 750px) {
  #shop .modal__insta {
    padding: 46px 4% 15px;
    box-sizing: border-box;
  }
  #shop .modal__insta.js--on {
    display: flex;
  }
  #shop .modal__insta .modal__insta__inner {
    min-height: auto;
    width: 100%;
    height: -moz-max-content;
    height: max-content;
    padding: 0;
    overflow: visible;
  }
  #shop .modal__insta .modal__insta__inner .modal__insta__close {
    top: -46px;
    border-radius: 3px 3px 0px 0px;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex {
    gap: 0;
    flex-direction: column;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .left {
    width: 100%;
    border-radius: 5px 5px 0 0;
    overflow: hidden;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next,
  #shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev {
    background: #F6F2F2;
    color: #806F6F;
    border-radius: 50%;
    width: 25px;
    height: 25px;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next .fa-chevron-right,
  #shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next .fa-chevron-left,
  #shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev .fa-chevron-right,
  #shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev .fa-chevron-left {
    width: 0.9rem;
    height: 1.5rem;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next {
    right: 5px;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev {
    left: 5px;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .swiper-pagination {
    bottom: -35px;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .right {
    width: 100%;
    min-height: auto;
    padding: 40px 0 0;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .right .dp__flex {
    flex-direction: row;
    margin: 0 0 17px;
    width: 100%;
    position: sticky;
    bottom: 0;
    left: 0;
    background: #fff;
    padding: 15px 0;
    justify-content: space-between;
    align-items: center;
    padding: 0 2.8985507246%;
    box-sizing: border-box;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .right .dp__flex.flex01 {
    justify-content: flex-start;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .right .insta__logo {
    padding: 10px;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .right h2 {
    width: 100%;
    padding: 0 2.8985507246% 0;
    box-sizing: border-box;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14 {
    height: 30.666vw;
    padding: 0 2.8985507246% 5.3333333333%;
    box-sizing: border-box;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14::-webkit-scrollbar {
    width: 15px;
    border: 1px solid var(--01-02, #A49A9A);
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .right p.btn {
    order: 2;
    margin: 0;
    width: 52.266vw;
    max-width: 100%;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .right p.btn a {
    width: 100%;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .right p.prev__btn a,
  #shop .modal__insta .modal__insta__inner li.dp__flex .right p.next__btn a {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .right p.prev__btn a svg,
  #shop .modal__insta .modal__insta__inner li.dp__flex .right p.next__btn a svg {
    width: 1.5rem;
    height: 3rem;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .right p.prev__btn {
    order: 1;
  }
  #shop .modal__insta .modal__insta__inner li.dp__flex .right p.next__btn {
    order: 3;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#floor .color__floor4 {
  color: var(--4F_01, #CF4A02);
}
#floor .color__floor3 {
  color: var(--3F01, #04865F);
}
#floor .color__floor2 {
  color: var(--2F01, #017DB2);
}
#floor .color__floor1 {
  color: var(--1F01, #CF4367);
}
#floor .color__floorb2 {
  color: var(--B2F01, #5C5E64);
}
#floor .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 77px;
}
@media (max-width: 750px) {
  #floor .bg__wrapper {
    padding: 0 0 54px;
  }
}
#floor .sec01 {
  margin: 0 0 70px;
}
#floor .sec01 .keyword {
  width: 52.8125%;
  max-width: 507px;
  justify-content: center;
  margin: 0 auto;
}
#floor .sec01 .keyword input {
  width: 100%;
  padding: min(0.793vw, 10px) 20px;
  box-sizing: border-box;
  border-radius: 3px 0 0 3px;
  border: 1px solid var(--02, #806F6F);
}
#floor .sec01 .keyword .search__btn {
  width: min(4.285vw, 54px);
  height: auto;
  aspect-ratio: 1/1;
  background: var(--02, #806F6F);
  color: #fff;
  display: grid;
  place-content: center;
  border-radius: 0 3px 3px 0;
}
#floor .sec01 .keyword .search__btn .fa-magnifying-glass {
  font-size: min(2.857vw, 3.6rem);
  padding: 0 9px;
  box-sizing: border-box;
}
@media (max-width: 750px) {
  #floor .sec01 {
    box-sizing: border-box;
    margin: 0 0 30px;
    padding: 31.466vw 4% 0;
  }
  #floor .sec01 .subpage__tit {
    margin: 0 0 60px;
  }
  #floor .sec01 .keyword {
    width: 100%;
  }
  #floor .sec01 .keyword input {
    font-size: 1.6rem;
  }
  #floor .sec01 .keyword .search__btn {
    min-width: -moz-max-content;
    min-width: max-content;
  }
  #floor .sec01 .keyword .search__btn .fa-magnifying-glass {
    font-size: 3.6rem;
  }
}
#floor .sec02 {
  border-top: 1px solid var(--02, #1C50A1);
  background: #fff;
  position: relative;
  z-index: 10;
  margin: 120px 0 0;
}
#floor .sec02.hidden {
  display: none;
}
#floor .sec02 .tabmenu {
  justify-content: center;
  gap: 14px;
  position: relative;
  z-index: 0;
  margin: -70px 0 40px;
}
#floor .sec02 .tabmenu li {
  width: 49.2708333333%;
  max-width: 473px;
}
#floor .sec02 .tabmenu li a {
  display: block;
  text-align: center;
  color: #fff;
  background: var(--02, #1C50A1);
  padding: 22px 0;
  border-top: 1px solid var(--02, #1C50A1);
  border-left: 1px solid var(--02, #1C50A1);
  border-right: 1px solid var(--02, #1C50A1);
  border-radius: 5px 5px 0px 0px;
  margin: 0 0 -2px;
  cursor: pointer;
}
#floor .sec02 .tabmenu li a.active {
  color: #1C50A1;
  background: #fff;
  pointer-events: none;
}
#floor .sec02 .tabmenu li a.js--on span {
  opacity: 0.5;
}
#floor .sec02 .tabmenu li span {
  text-align: center;
  transition: opacity 0.2s ease;
}
@media (max-width: 750px) {
  #floor .sec02 {
    margin: 98px 0 0;
    padding: 0;
  }
  #floor .sec02 .sec__in__s {
    height: 40px;
  }
  #floor .sec02 .tabmenu {
    padding: 0 4%;
    transform: translateY(-65.6px);
    box-sizing: border-box;
    margin: 0 0 40px;
  }
  #floor .sec02 .sec__in__l {
    padding: 0 6.6666666667%;
    box-sizing: border-box;
  }
}
#floor .sec03 {
  background: #fff;
  padding: 94px 0 162px;
  margin: -40px 0 0;
}
#floor .sec03 .sec__in__l > .dp__flex {
  justify-content: center;
  align-items: center;
}
#floor .sec03 .left {
  width: 36.1016949153%;
  padding: 0 0 min(4.761vw, 60px);
}
#floor .sec03 .left li {
  border-radius: 3px 0px 0px 3px;
  margin: 0 0 min(2.38vw, 30px);
  cursor: pointer;
}
#floor .sec03 .left li a {
  display: block;
  padding: min(1.19vw, 15px) min(2.38vw, 30px);
  box-sizing: border-box;
  background: #fff;
  transition: color 0.2s ease, background-color 0.2s ease;
}
#floor .sec03 .left li a a.js--on {
  color: #fff;
}
#floor .sec03 .left li h2 {
  font-size: min(1.587vw, 2rem);
  align-items: center;
}
#floor .sec03 .left li h2 span.fs__txt__en__40 {
  width: min(8.253vw, 104px);
  font-size: min(3.174vw, 4rem);
}
#floor .sec03 .left li h2 span.fs__txt__en__26 {
  font-size: min(2.063vw, 2.6rem);
}
#floor .sec03 .left li:first-child {
  border-top: 1px solid #CF4A02;
  border-bottom: 1px solid #CF4A02;
  border-left: 1px solid #CF4A02;
  color: #CF4A02;
}
#floor .sec03 .left li:first-child a.js--on,
#floor .sec03 .left li:first-child a:hover {
  background: #CF4A02;
  color: #fff;
}
#floor .sec03 .left li:nth-of-type(2) {
  border-top: 1px solid var(--3F01, #04865F);
  border-bottom: 1px solid var(--3F01, #04865F);
  border-left: 1px solid var(--3F01, #04865F);
  color: #04865F;
}
#floor .sec03 .left li:nth-of-type(2) a.js--on,
#floor .sec03 .left li:nth-of-type(2) a:hover {
  background: var(--3F01, #04865F);
  color: #fff;
}
#floor .sec03 .left li:nth-of-type(3) {
  border-top: 1px solid var(--3F01, #017DB2);
  border-bottom: 1px solid var(--3F01, #017DB2);
  border-left: 1px solid var(--3F01, #017DB2);
  color: #017DB2;
}
#floor .sec03 .left li:nth-of-type(3) a.js--on,
#floor .sec03 .left li:nth-of-type(3) a:hover {
  background: var(--2F01, #017DB2);
  color: #fff;
}
#floor .sec03 .left li:nth-of-type(4) {
  border-top: 1px solid var(--3F01, #CF4367);
  border-bottom: 1px solid var(--3F01, #CF4367);
  border-left: 1px solid var(--3F01, #CF4367);
  color: #CF4367;
}
#floor .sec03 .left li:nth-of-type(4) a.js--on,
#floor .sec03 .left li:nth-of-type(4) a:hover {
  background: var(--1F01, #CF4367);
  color: #fff;
}
#floor .sec03 .left li:nth-of-type(5) {
  border-top: 1px solid var(--3F01, #5C5E64);
  border-bottom: 1px solid var(--3F01, #5C5E64);
  border-left: 1px solid var(--3F01, #5C5E64);
  color: #5C5E64;
  margin: 0;
}
#floor .sec03 .left li:nth-of-type(5) a.js--on,
#floor .sec03 .left li:nth-of-type(5) a:hover {
  background: var(--B2F01, #5C5E64);
  color: #fff;
}
#floor .sec03 .right {
  width: 64.0677966102%;
}
#floor .sec03 .right ul.map__images {
  display: grid;
  grid-template-rows: 1fr;
}
#floor .sec03 .right ul.map__images > li {
  position: relative;
  grid-area: 1/1;
  display: none;
  margin: 0 0 13px;
}
#floor .sec03 .right ul.map__images > li.js--on {
  display: block;
}
#floor .sec03 .right ul.map__images > li .map__wrapper {
  overflow: hidden;
  transform-origin: center center;
  display: block;
}
#floor .sec03 .right ul.map__images > li .map__wrapper .map__inner {
  width: 100%;
  height: auto;
  transition: transform 0.1s ease;
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transform-origin: center center;
  display: block;
}
#floor .sec03 .right ul.map__images > li .map__wrapper img {
  width: 100%;
  height: auto;
  /* transform-origin を中央に */
  transform-origin: center center;
  transition: transform 0.1s ease;
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: block;
}
#floor .sec03 .right ul.map__images > li .btn {
  position: absolute;
  top: 30px;
  right: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 11px;
}
#floor .sec03 .right ul.map__images > li .zoomin,
#floor .sec03 .right ul.map__images > li .zoomout {
  background: #F6F2F2;
  border: 1px solid #504644;
  color: #504644;
  width: 60px;
  height: 60px;
  font-size: 3.5rem;
  border-radius: 50%;
  padding: 10px 12px;
  box-sizing: border-box;
  cursor: pointer;
  display: grid;
  place-content: center;
}
#floor .sec03 .right ul.map__images > li .clickable-map {
  position: relative;
}
#floor .sec03 .right ul.map__images > li .clickable-map area {
  cursor: pointer;
}
#floor .sec03 .right ul.map__images > li .info__list {
  position: absolute;
  top: 0;
  left: 0;
}
#floor .sec03 .right ul.map__images > li .info__list .shop__info {
  display: none;
  position: absolute;
  transform: translate(50%, 50%);
  width: min(14.285vw, 180px);
  border: 1px solid #A49A9A;
  border-radius: 5px;
  z-index: 10;
  pointer-events: auto !important;
}
#floor .sec03 .right ul.map__images > li .info__list .shop__info::after {
  content: "";
  width: 36px;
  height: 21px;
  display: block;
  position: absolute;
  background: url(../images/floor/balloon_arrow.svg) no-repeat right;
  left: -35px;
  z-index: -1;
  top: 3vw;
  transform: translateY(var(--arrow-shift-y));
}
#floor .sec03 .right ul.map__images > li .info__list .shop__info .info__inner {
  position: relative;
  background: #fff;
  padding: min(1.111vw, 14px) min(1.19vw, 15px);
  border-radius: 5px;
}
#floor .sec03 .right ul.map__images > li .info__list .shop__info .shop__info__close {
  background: #806F6F;
  border-radius: 50%;
  display: grid;
  place-content: center;
  width: 34px;
  height: 34px;
  position: absolute;
  top: -20px;
  right: -17px;
  cursor: pointer;
}
#floor .sec03 .right ul.map__images > li .info__list .shop__info .shop__info__close .fa-xmark {
  color: #fff;
  font-size: 1.7rem;
}
#floor .sec03 .right ul.map__images > li .info__list .shop__info a {
  text-decoration: underline;
  font-size: min(1.269vw, 1.6rem);
}
#floor .sec03 .right ul.map__images > li .info__list #shop4-4::after,
#floor .sec03 .right ul.map__images > li .info__list #shop3-4::after,
#floor .sec03 .right ul.map__images > li .info__list #shop2-2::after {
  transform: translateY(var(--arrow-shift-y));
}
#floor .sec03 .right ul.map__images li:first-child .map__wrapper {
  border-radius: 5px;
  border: 2px solid var(--4F_01, #CF4A02);
  overflow: hidden;
}
#floor .sec03 .right ul.map__images li:nth-of-type(2) .map__wrapper {
  border-radius: 5px;
  border: 2px solid var(--3F01, #04865F);
  overflow: hidden;
}
#floor .sec03 .right ul.map__images li:nth-of-type(3) .map__wrapper {
  border-radius: 5px;
  border: 2px solid var(--2F01, #017DB2);
  overflow: hidden;
}
#floor .sec03 .right ul.map__images li:nth-of-type(4) .map__wrapper {
  border-radius: 5px;
  border: 2px solid var(--1F01, #CF4367);
  overflow: hidden;
}
#floor .sec03 .right ul.map__images li:nth-of-type(5) .map__wrapper {
  border-radius: 5px;
  border: 2px solid var(--B2F01, #5C5E64);
  overflow: hidden;
}
@media (max-width: 750px) {
  #floor .sec03 {
    padding: 40px 4% 50px;
    box-sizing: border-box;
  }
  #floor .sec03 .sec__in__l > .dp__flex {
    flex-direction: column;
  }
  #floor .sec03 .left {
    width: 100%;
    padding: 0 0 10px;
  }
  #floor .sec03 .left li {
    border-radius: 3px;
    gap: 12px;
  }
  #floor .sec03 .left li a {
    padding: 1.6% 2.3188405797%;
  }
  #floor .sec03 .left li h2 {
    width: 100%;
    font-size: 1.6rem;
    text-align: center;
  }
  #floor .sec03 .left li h2 span.fs__txt__en__40 {
    width: 20.2898550725%;
    font-size: 2.6rem;
    text-align: center;
  }
  #floor .sec03 .left li h2 span.fs__txt__en__26 {
    font-size: 2rem;
    text-align: center;
  }
  #floor .sec03 .left li:first-child {
    border: 1px solid #CF4A02;
  }
  #floor .sec03 .left li:nth-of-type(2) {
    border: 1px solid #04865F;
  }
  #floor .sec03 .left li:nth-of-type(3) {
    border: 1px solid #017DB2;
  }
  #floor .sec03 .left li:nth-of-type(4) {
    border: 1px solid #CF4367;
  }
  #floor .sec03 .left li:nth-of-type(5) {
    border: 1px solid #5C5E64;
  }
  #floor .sec03 .right {
    width: 100%;
  }
  #floor .sec03 .right ul.map__images > li .info__list .shop__info {
    width: 41.333vw;
  }
  #floor .sec03 .right ul.map__images > li .info__list .shop__info .info__inner {
    padding: 14px 15px;
    box-sizing: border-box;
  }
  #floor .sec03 .right ul.map__images > li .info__list .shop__info a {
    font-size: 1.4rem;
  }
  #floor .sec03 .right ul.map__images > li .btn {
    top: auto;
    bottom: 10px;
    right: 4.347826087%;
  }
  #floor .sec03 .right ul.map__images > li .zoomin,
  #floor .sec03 .right ul.map__images > li .zoomout {
    width: 10.666vw;
    height: 10.666vw;
  }
}
#floor .sec04 {
  background: #fff;
  padding: 0 0 77px;
}
#floor .sec04 ul.tit {
  margin: 0 0 40px;
}
#floor .sec04 ul.tit li {
  display: none;
}
#floor .sec04 ul.tit li.js--on {
  display: block;
}
#floor .sec04 ul.tit li h2 {
  text-align: center;
}
#floor .sec04 ul.tit li h2 span {
  text-align: center;
}
#floor .sec04 ul.shop__list {
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: min(5.158vw, 65px);
       column-gap: min(5.158vw, 65px);
  row-gap: min(5.555vw, 70px);
  display: none;
}
#floor .sec04 ul.shop__list.js--on {
  display: grid;
}
#floor .sec04 ul.shop__list li {
  display: block;
}
#floor .sec04 ul.shop__list li figure {
  margin: 0 0 10px;
  border-radius: 5px;
  overflow: hidden;
  border: 1px solid var(--02, #806F6F);
}
#floor .sec04 ul.shop__list li figure img {
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
}
#floor .sec04 ul.shop__list li .dp__flex {
  justify-content: space-between;
  align-items: flex-end;
  margin: 0 0 10px;
}
#floor .sec04 ul.shop__list li .dp__flex .floor {
  width: 63px;
  text-align: center;
  color: #fff;
  padding: 3px 0 4px;
  box-sizing: border-box;
  border-radius: 3px;
}
#floor .sec04 ul.shop__list li .dp__flex .floor.floor4 {
  background: var(--4F_01, #CF4A02);
}
#floor .sec04 ul.shop__list li .dp__flex .floor.floor3 {
  background: var(--3F01, #04865F);
}
#floor .sec04 ul.shop__list li .dp__flex .floor.floor2 {
  background: var(--2F01, #017DB2);
}
#floor .sec04 ul.shop__list li .dp__flex .floor.floor1 {
  background: var(--1F01, #CF4367);
}
#floor .sec04 ul.shop__list li .dp__flex .floor.floorb2 {
  background: var(--B2F01, #5C5E64);
}
#floor .sec04 ul.shop__list li .dp__flex .cat01 {
  width: 125px;
  border: 1px solid var(--02, #806F6F);
  background: #FFF;
  text-align: center;
  border-radius: 2px;
  display: grid;
  place-content: center;
  padding: 4px 0 3px;
}
#floor .sec04 ul.shop__list li h3 {
  margin: 0 0 10px;
}
#floor .sec04 ul.shop__list li .cat02 {
  color: var(--02, #806F6F);
}
#floor .sec04 ul.shop__list li:nth-child(3n+2) {
  transition: transform 0.5s ease 0.1s, opacity 0.5s ease 0.1s;
}
#floor .sec04 ul.shop__list li:nth-child(3n+3) {
  transition: transform 0.5s ease 0.2s, opacity 0.5s ease 0.2s;
}
@media (max-width: 750px) {
  #floor .sec04 {
    padding: 0 6.6666666667% 18px;
    box-sizing: border-box;
  }
  #floor .sec04 ul.tit {
    margin: 0 0 20px;
  }
  #floor .sec04 ul.tit h2 span.fs__txt__en__26 {
    font-size: 2rem;
  }
  #floor .sec04 ul.shop__list {
    flex-direction: column;
    row-gap: 50px;
  }
  #floor .sec04 ul.shop__list.js--on {
    display: flex;
  }
  #floor .sec04 ul.shop__list li .dp__flex .floor {
    font-size: 2rem;
    padding: 6px 0 4px;
  }
  #floor .sec04 ul.shop__list li .dp__flex .cat01 {
    font-size: 1.3rem;
  }
  #floor .sec04 ul.shop__list li .cat02 {
    font-size: 1.3rem;
  }
  #floor .sec04 ul.shop__list li:nth-child(3n+2) {
    transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  }
  #floor .sec04 ul.shop__list li:nth-child(3n+3) {
    transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#event .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 77px;
}
#event .sec01 {
  padding: 178px 0 20px;
}
@media (max-width: 750px) {
  #event .sec01 {
    box-sizing: border-box;
    margin: 0 0 30px;
    padding: 31.466vw 4% 0;
  }
  #event .sec01 .subpage__tit {
    margin: 0 0 60px;
  }
}
#event .sec02 {
  border-top: 1px solid var(--02, #1C50A1);
  background: #fff;
  position: relative;
  z-index: 10;
  margin: 70px 0 71px;
}
#event .sec02.hidden {
  display: none;
}
#event .sec02 .tabmenu {
  justify-content: center;
  gap: min(1.111vw, 14px);
  position: relative;
  z-index: 0;
  margin: -70px 0 72px;
}
#event .sec02 .tabmenu li {
  width: 31.875%;
  max-width: 306px;
}
#event .sec02 .tabmenu li a {
  display: block;
  text-align: center;
  color: #fff;
  background: var(--02, #1C50A1);
  padding: 22px 0 21px;
  border-top: 1px solid var(--02, #1C50A1);
  border-left: 1px solid var(--02, #1C50A1);
  border-right: 1px solid var(--02, #1C50A1);
  border-radius: 5px 5px 0px 0px;
  margin: 0 0 -2px;
  cursor: pointer;
}
#event .sec02 .tabmenu li a.active {
  color: #1C50A1;
  background: #fff;
  pointer-events: none;
  padding: 22px 0;
}
#event .sec02 .tabmenu li a.js--on span {
  opacity: 0.5;
}
#event .sec02 .tabmenu li span {
  text-align: center;
  transition: opacity 0.2s ease;
  white-space: nowrap;
}
#event .sec02 .tabmenu li img {
  width: 90px;
}
#event .sec02 .tabmenu li:nth-of-type(2) a {
  padding: 10px 0 6px;
}
@media (max-width: 750px) {
  #event .sec02 {
    margin: 116px 0 0;
    padding: 0;
  }
  #event .sec02 .sec__in__s {
    height: 40px;
  }
  #event .sec02 .tabmenu {
    width: 100%;
    padding: 0 4%;
    transform: translateY(-85.6px);
    box-sizing: border-box;
    margin: 0 0 36px;
    gap: 3.1884057971%;
  }
  #event .sec02 .tabmenu li a.active {
    padding: 22px 0 21px;
  }
  #event .sec02 .tabmenu li:nth-of-type(2) a {
    padding: 11px 0 10px;
  }
  #event .sec02 .sec__in__l {
    padding: 0 6.6666666667%;
    box-sizing: border-box;
  }
}
#event .sec03 {
  background: #fff;
  margin: -72px 0 0;
  padding: 64px 0 0;
}
#event .sec03 .btnmenu {
  justify-content: center;
  flex-wrap: wrap;
  gap: min(5.873vw, 74px);
}
#event .sec03 .btnmenu ul {
  gap: 10px;
}
#event .sec03 .btnmenu ul li {
  width: 142px;
}
#event .sec03 .btnmenu ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 16px 11px;
  box-sizing: border-box;
  border: 1px solid var(--02, #806F6F);
  background: var(--01, #F6F2F2);
  border-radius: 5px;
  transition: color 0.2s ease, background-color 0.2s ease;
}
#event .sec03 .btnmenu ul li a.active, #event .sec03 .btnmenu ul li a.js--on {
  border: 1px solid var(--03, #504644);
  background: var(--03, #504644);
  color: #fff;
}
#event .sec03 .btnmenu .select__wrapper {
  position: relative;
}
#event .sec03 .btnmenu .select__wrapper::after {
  position: absolute;
  top: 45%;
  right: 20px;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #806F6F;
  border-left: 2px solid #806F6F;
  transform: translateY(-50%) rotate(-135deg);
  pointer-events: none;
  transition: border-top 0.2s ease, border-left 0.2s ease;
}
#event .sec03 .btnmenu .select__wrapper:hover::after {
  border-top: 2px solid rgba(80, 70, 68, 0.5);
  border-left: 2px solid rgba(80, 70, 68, 0.5);
}
#event .sec03 .btnmenu .select__wrapper:hover .selectbox {
  color: rgba(80, 70, 68, 0.5);
}
#event .sec03 .btnmenu .selectbox {
  opacity: 0;
  width: 430px;
  border-radius: 5px;
  border: 1px solid var(--02, #806F6F);
  background: var(--01, #F6F2F2);
  padding: 16px 11px;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  text-align: center;
  color: var(--03, #504644);
  font-weight: normal;
}
#event .sec03 .btnmenu .selectbox option {
  text-align: center;
  color: var(--03, #504644);
  font-weight: normal;
}
#event .sec03 .btnmenu .select2-container {
  position: relative;
  width: 430px;
  border-radius: 5px;
  border: 1px solid var(--02, #806F6F);
  background: var(--01, #F6F2F2);
  box-sizing: border-box;
}
#event .sec03 .btnmenu .select2-container:after {
  position: absolute;
  top: 45%;
  right: 20px;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #806F6F;
  border-left: 2px solid #806F6F;
  transform: translateY(-50%) rotate(-135deg);
  pointer-events: none;
  transition: border-top 0.2s ease, border-left 0.2s ease;
}
#event .sec03 .btnmenu .select2-selection.select2-selection--single {
  background-color: transparent;
  border: none;
  border-radius: 0;
}
#event .sec03 .btnmenu .select2-selection__rendered {
  padding-top: 12px;
  padding-bottom: 12px;
  padding-right: 11px;
  padding-left: 11px;
  color: inherit;
  line-height: inherit;
  text-align: center;
  transition: opacity 0.2s 0s ease;
}
#event .sec03 .btnmenu .select2-selection__rendered:hover {
  opacity: 0.5;
}
#event .sec03 .btnmenu .select2-selection__arrow {
  display: none;
}
@media (max-width: 750px) {
  #event .sec03 {
    margin: 0;
    padding: 0;
  }
  #event .sec03 .btnmenu {
    padding: 0 4%;
    box-sizing: border-box;
    flex-direction: column;
    gap: 0;
  }
  #event .sec03 .btnmenu ul {
    align-items: center;
  }
  #event .sec03 .btnmenu ul li {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #event .sec03 .btnmenu ul li a {
    display: block;
    width: 100%;
    padding: 10px 2.0289855072%;
  }
  #event .sec03 .btnmenu .selectbox {
    width: 100%;
    font-size: 1.4rem;
  }
  #event .sec03 .btnmenu .selectbox option {
    font-size: 1.4rem;
  }
  #event .sec03 .btnmenu .select2-container {
    padding: 0.5em;
  }
  #event .sec03 .btnmenu .select2-selection__rendered {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
    padding-left: 0;
    font-size: 1.4rem;
  }
}
#event .sec04 {
  padding: 83px 0 59px;
  overflow-x: hidden;
  background: #fff;
}
#event .sec04 .stit {
  margin: 0 0 37px;
}
#event .sec04 .dp__grid {
  grid-template-columns: repeat(3, min(26.984vw, 340px));
  justify-content: center;
  gap: min(2.38vw, 30px);
}
#event .sec04 li {
  width: 100%;
  border-radius: 5px;
  pointer-events: auto;
}
#event .sec04 li a {
  display: block;
  position: relative;
  opacity: 0;
}
#event .sec04 li a.js--ing {
  opacity: 1;
}
#event .sec04 li a.js--ing.js--on {
  opacity: 0.5;
}
#event .sec04 li a figure {
  width: 100%;
  aspect-ratio: 1/1;
  background: #fff;
  overflow: hidden;
  border-radius: 5px 5px 0 0;
  position: relative;
  z-index: 0;
}
#event .sec04 li a figure .bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  filter: blur(3px);
  z-index: -1;
  width: 100%;
  height: 100%;
  transform: scale(1.8);
  transform-origin: center;
}
#event .sec04 li a figure img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
#event .sec04 li a .txt {
  color: #fff;
  background: var(--03, #504644);
  border-radius: 0 0 5px 5px;
}
#event .sec04 li a .txt .cat {
  background: #B85151;
  width: -moz-max-content;
  width: max-content;
  max-width: 270px;
  padding: 6px 15px;
  box-sizing: border-box;
  position: relative;
  border-radius: 0px 2px 2px 0px;
  z-index: 10;
  position: absolute;
  bottom: 140px;
}
#event .sec04 li a .txt .cat.pink {
  background: #B85151;
}
#event .sec04 li a .txt .cat.green {
  background: #04865F;
}
#event .sec04 li a .txt .cat.orange {
  background: #CF4A02;
}
#event .sec04 li a .txt .cat.blue {
  background: #017DB2;
}
#event .sec04 li a .txt .cat.gray {
  background: #5C5E64;
}
@media screen and (min-width: 751px) and (max-width: 1180px) {
  #event .sec04 li a .txt .cat {
    max-width: 80%;
  }
}
#event .sec04 li a .txt > div {
  padding: 30px 20px 14px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
#event .sec04 li a .txt > div .info__tit {
  height: 2.8em;
  margin: 0 0 10px;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 2.8em; /* ブラウザがサポートしていない場合 */
}
#event .sec04 li a .txt > div .schedule {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  max-height: 1.8em; /* ブラウザがサポートしていない場合 */
}
#event .sec04 li a .txt .update {
  text-align: right;
  background: #806F6F;
  padding: 9px;
  box-sizing: border-box;
  border-radius: 0 0 5px 5px;
}
#event .sec04 li:nth-child(3n+1) a {
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
}
#event .sec04 li:nth-child(3n+2) a {
  transition: transform 0.5s ease 0.1s, opacity 0.5s ease 0.1s;
}
#event .sec04 li:nth-child(3n+3) a {
  transition: transform 0.5s ease 0.2s, opacity 0.5s ease 0.2s;
}
#event .sec04 .btn {
  width: 290px;
  margin: 0 auto;
  padding: 50px 0 0;
}
#event .sec04 .btn a {
  display: block;
  padding: 21px 0;
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
  transition: background-color 0.5s ease, color 0.5s ease;
}
#event .sec04 .btn a.js--on {
  background: #504644;
  color: #fff;
}
#event .sec04 .not-found {
  text-align: center;
}
@media (max-width: 750px) {
  #event .sec04 {
    padding: 44px 4% 58px;
    box-sizing: border-box;
  }
  #event .sec04 .dp__grid {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
  }
  #event .sec04 li {
    width: 100%;
  }
  #event .sec04 li a .txt .cat {
    bottom: 125px;
  }
  #event .sec04 .btn {
    width: 72.4637681159%;
    max-width: 100%;
  }
}
@media (max-width: 750px) {
  #event #article .bg__wrapper {
    padding: 0 0 56px;
  }
}
#event #article .sec01 {
  margin: 0 0 56px;
}
#event #article .sec01 .keyword {
  display: none;
}
#event #article .sec03 {
  margin: -73px 0 0;
  padding: 66px 0;
}
#event #article .sec03 .tit__wrapper {
  border-bottom: 1px solid #A49A9A;
  padding: 0 0 27px;
}
#event #article .sec03 .tit__wrapper .tit__inner {
  justify-content: space-between;
  margin: 0 auto 26px;
}
#event #article .sec03 .tit__wrapper .left {
  align-items: center;
  gap: 18px;
}
#event #article .sec03 .tit__wrapper .left .cat {
  color: #fff;
  border-radius: 2px;
  background: #B85151;
  padding: 6px 15px;
  box-sizing: border-box;
}
#event #article .sec03 .tit__wrapper .right {
  gap: 27px;
}
#event #article .sec03 .tit__wrapper .right dt {
  color: var(--03, #504644);
  border-radius: 3px;
  background: var(--01, #F6F2F2);
  padding: 8px 17px;
  box-sizing: border-box;
  position: relative;
}
#event #article .sec03 .tit__wrapper .right dt::after {
  content: "";
  position: absolute;
  right: -15px;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 17px;
  background: #F6F2F2;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
#event #article .sec03 .tit__wrapper .right ul {
  gap: 9px;
}
#event #article .sec03 .tit__wrapper .right ul li {
  width: 35px;
  height: 35px;
}
#event #article .sec03 .tit__wrapper .right ul li a {
  opacity: 1;
  display: block;
}
#event #article .sec03 .tit__wrapper h2 {
  width: min(73.333vw, 924px);
  margin: 0 0 26px;
}
#event #article .sec03 .tit__wrapper dl {
  gap: 14px;
}
#event #article .sec03 .tit__wrapper dl .period {
  padding: 5px 32px;
  box-sizing: border-box;
  border-radius: 2px;
  background: var(--01, #F6F2F2);
}
#event #article .sec03 .contents__wrapper {
  padding: 43px 0 70px;
  gap: 72px;
}
#event #article .sec03 .contents__wrapper .left {
  width: 550px;
}
#event #article .sec03 .contents__wrapper .left li {
  width: 100%;
  margin: 0 0 20px;
}
#event #article .sec03 .contents__wrapper .left li:last-child {
  margin: 0;
}
#event #article .sec03 .contents__wrapper .right {
  width: 558px;
}
#event #article .sec03 .contents__wrapper .right h3 {
  margin: 0 0 30px;
}
#event #article .sec03 .contents__wrapper .right h4 {
  margin: 0 0 10px;
}
#event #article .sec03 .contents__wrapper .right p {
  margin: 0 0 30px;
}
#event #article .sec03 .contents__wrapper .right p:last-child {
  margin: 0;
}
#event #article .sec03 .contents__wrapper .right figure {
  margin: 0 0 35px;
}
#event #article .sec03 .contents__wrapper .right .blue {
  color: #1C50A1;
}
#event #article .sec03 .contents__wrapper .right ul.table li {
  width: 100%;
  border-top: 1px solid var(--01-02, #A49A9A);
  border-left: 1px solid var(--01-02, #A49A9A);
  border-right: 1px solid var(--01-02, #A49A9A);
  border-radius: 0;
}
#event #article .sec03 .contents__wrapper .right ul.table li:last-child {
  border-bottom: 1px solid var(--01-02, #A49A9A);
}
#event #article .sec03 .contents__wrapper .right ul.table li dt {
  width: 28.1362007168%;
  color: var(--04, #281E1C);
  text-align: center;
  background: var(--01, #F6F2F2);
  padding: 15px 10px;
  box-sizing: border-box;
  font-weight: normal;
  display: flex;
  align-items: center;
  justify-content: center;
}
#event #article .sec03 .contents__wrapper .right ul.table li dd {
  width: 71.8637992832%;
  padding: 15px 13px 15px 15px;
  box-sizing: border-box;
}
#event #article .sec03 .contents__wrapper .right a {
  color: #1C50A1;
  opacity: 1;
  text-decoration: underline;
}
@media (max-width: 750px) {
  #event #article .sec03 {
    padding: 0 4% 40px;
    box-sizing: border-box;
    margin: 0;
  }
  #event #article .sec03 .tit__wrapper {
    padding: 0 0 13px;
  }
  #event #article .sec03 .tit__wrapper .tit__inner {
    flex-direction: column;
    margin: 0 0 30px;
  }
  #event #article .sec03 .tit__wrapper h2 {
    width: 100%;
  }
  #event #article .sec03 .tit__wrapper .left {
    margin: 0 0 10px;
    justify-content: space-between;
  }
  #event #article .sec03 .tit__wrapper .left .cat {
    padding: 6px 4.347826087%;
  }
  #event #article .sec03 .tit__wrapper .left .update {
    font-size: 1.3rem;
  }
  #event #article .sec03 .tit__wrapper .right {
    justify-content: space-between;
    gap: 6.3768115942%;
  }
  #event #article .sec03 .tit__wrapper .right dt {
    padding: 7px 5.7971014493%;
  }
  #event #article .sec03 .tit__wrapper dl {
    gap: 2.8985507246%;
  }
  #event #article .sec03 .tit__wrapper dl .period {
    padding: 7px 5.7971014493%;
    white-space: nowrap;
    display: grid;
    place-content: center;
  }
  #event #article .sec03 .contents__wrapper {
    flex-direction: column;
    padding: 20px 0 30px;
    gap: 40px;
  }
  #event #article .sec03 .contents__wrapper .left {
    width: 100%;
  }
  #event #article .sec03 .contents__wrapper .right {
    width: 100%;
  }
  #event #article .sec03 .contents__wrapper .right .table li dl {
    flex-direction: column;
  }
  #event #article .sec03 .contents__wrapper .right .table li dl dt {
    width: 100%;
    padding: 4px 4.347826087%;
    box-sizing: border-box;
    justify-content: flex-start;
  }
  #event #article .sec03 .contents__wrapper .right .table li dl dd {
    width: 100%;
    padding: 4px 4.347826087%;
    box-sizing: border-box;
  }
}
#event #article .pagination-article ul {
  justify-content: space-between;
  align-items: center;
}
#event #article .pagination-article li {
  margin: 0 95px 0 0;
  position: relative;
}
#event #article .pagination-article li.prev,
#event #article .pagination-article li.next {
  width: 150px;
}
#event #article .pagination-article li.prev a,
#event #article .pagination-article li.next a {
  display: block;
  padding: 5px 0;
  text-align: center;
  opacity: 1;
  color: #504644;
  transition: opacity 0.2s ease;
}
#event #article .pagination-article li.prev a.js--on,
#event #article .pagination-article li.next a.js--on {
  opacity: 0.5;
}
#event #article .pagination-article li a svg:not(:host).svg-inline--fa,
#event #article .pagination-article li a svg:not(:root).svg-inline--fa {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  font-size: 2.4rem;
  color: #806F6F;
}
#event #article .pagination-article li.prev a svg:not(:host).svg-inline--fa,
#event #article .pagination-article li.prev a svg:not(:root).svg-inline--fa {
  left: 8px;
}
#event #article .pagination-article li.next a svg:not(:host).svg-inline--fa,
#event #article .pagination-article li.next a svg:not(:root).svg-inline--fa {
  right: 10px;
}
#event #article .pagination-article li:last-child {
  margin: 0;
}
@media (max-width: 750px) {
  #event #article .pagination-article ul {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  #event #article .pagination-article li {
    margin: 0 6.9565217391% 40px 0;
  }
  #event #article .pagination-article li.prev {
    order: 1;
  }
  #event #article .pagination-article li.next {
    order: 2;
    margin: 0 0 40px 0;
  }
  #event #article .pagination-article li.prev,
  #event #article .pagination-article li.next {
    width: 140px;
  }
  #event #article .pagination-article li.prev a,
  #event #article .pagination-article li.next a {
    padding: 4% 0;
  }
}
#event #article p.back a {
  display: inline-block;
  text-align: center;
  padding: 15px 38px;
  background: #fff;
  border: 1px solid var(--03, #504644);
  color: #504644;
  border-radius: 5px;
  transition: background-color 0.5s ease, color 0.5s ease;
}
#event #article p.back a.js--on {
  background: #504644;
  color: #fff;
}
#event #article p.back {
  text-align: center;
}
@media (max-width: 750px) {
  #event #article p.back a {
    padding: 13px 6.0869565217%;
  }
  #event #article p.back {
    margin: 0;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#cat .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 77px;
}
#cat .more-btn {
  width: 290px;
  margin: 0 auto;
  padding: 50px 0 0;
}
#cat .more-btn a {
  display: block;
  padding: 21px 0;
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
  transition: background-color 0.5s ease, color 0.5s ease;
}
#cat .more-btn a.js--on {
  background: #504644;
  color: #fff;
}
@media (max-width: 750px) {
  #cat .more-btn {
    width: 72.4637681159%;
    max-width: 100%;
    padding: 32px 0 0;
  }
}
#cat .sec01 {
  padding: 178px 0 20px;
}
@media (max-width: 750px) {
  #cat .sec01 {
    box-sizing: border-box;
    margin: 0 0 30px;
    padding: 31.466vw 4% 0;
  }
  #cat .sec01 .subpage__tit {
    margin: 0 0 60px;
  }
}
#cat .sec02 {
  border-top: 1px solid var(--02, #1C50A1);
  background: #fff;
  position: relative;
  z-index: 10;
  margin: 70px 0 73px;
}
#cat .sec02.hidden {
  display: none;
}
#cat .sec02 .tabmenu {
  justify-content: center;
  gap: 14px;
  position: relative;
  z-index: 0;
  margin: -70px 0 72px;
}
#cat .sec02 .tabmenu li {
  width: 31.875%;
  max-width: 306px;
}
#cat .sec02 .tabmenu li a {
  display: block;
  text-align: center;
  color: #fff;
  background: var(--02, #1C50A1);
  padding: 22px 0 21px;
  border-top: 1px solid var(--02, #1C50A1);
  border-left: 1px solid var(--02, #1C50A1);
  border-right: 1px solid var(--02, #1C50A1);
  border-radius: 5px 5px 0px 0px;
  margin: 0 0 -2px;
  cursor: pointer;
}
#cat .sec02 .tabmenu li a.active {
  color: #1C50A1;
  background: #fff;
  pointer-events: none;
}
#cat .sec02 .tabmenu li a.js--on span {
  opacity: 0.5;
}
#cat .sec02 .tabmenu li span {
  text-align: center;
  transition: opacity 0.2s ease;
  white-space: nowrap;
}
#cat .sec02 .tabmenu li img {
  width: 90px;
}
#cat .sec02 .tabmenu li:nth-of-type(2) a {
  padding: 10px 0 6px;
}
@media (max-width: 750px) {
  #cat .sec02 {
    margin: 116px 0 0;
    padding: 0 0 117px;
  }
  #cat .sec02 .sec__in__s {
    height: 40px;
  }
  #cat .sec02 .tabmenu {
    width: 100%;
    padding: 0 4%;
    transform: translateY(-86.6px);
    box-sizing: border-box;
    margin: 0 0 36px;
    gap: 3.1884057971%;
  }
  #cat .sec02 .tabmenu li a.active {
    padding: 22px 0 22.5px;
  }
  #cat .sec02 .tabmenu li:nth-of-type(2) a {
    padding: 11px 0 11px;
  }
  #cat .sec02 .sec__in__l {
    padding: 0 6.6666666667%;
    box-sizing: border-box;
  }
}
@media (max-width: 750px) {
  #cat .sec02 {
    padding: 0;
  }
}
#cat .sec03 {
  margin: -74px 0 0;
  padding: 78px 0 66px;
  background: #fff;
}
#cat .sec03 .sec__in__l > .dp__flex {
  justify-content: space-between;
  gap: 30px;
}
#cat .sec03 .info__wrapper {
  width: 850px;
}
#cat .sec03 .info__wrapper__list li {
  border-bottom: 1px solid #A49A9A;
}
#cat .sec03 .info__wrapper__list li > a {
  display: block;
  padding: 25px 0 20px;
}
#cat .sec03 .info__wrapper__list li:first-child {
  border-top: 1px solid #A49A9A;
}
#cat .sec03 .info__wrapper__list li:last-child {
  margin: 0;
}
#cat .sec03 .info__wrapper__list dl {
  padding: 0 22px;
  align-items: center;
}
@media screen and (min-width: 751px) and (max-width: 1180px) {
  #cat .sec03 .info__wrapper__list dl {
    flex-wrap: wrap;
  }
}
#cat .sec03 .info__wrapper__list dt {
  margin: 0 22px 5px 0;
  align-items: center;
}
#cat .sec03 .info__wrapper__list dt time {
  width: 125px;
}
#cat .sec03 .info__wrapper__list dt p {
  width: -moz-max-content;
  width: max-content;
  padding: 0.42em 0.93em;
  line-height: 1.5;
  margin: 0 22px 0 0;
  width: 142px;
  text-align: center;
  color: #fff;
  border-radius: 2px;
}
#cat .sec03 .info__wrapper__list dt p.information {
  background: #067D6F;
}
#cat .sec03 .info__wrapper__list dt p.important {
  background: #1C50A1;
}
#cat .sec03 .info__wrapper__list dt p.news-release {
  background: #9B568C;
}
#cat .sec03 .info__wrapper__list dd {
  margin: 0 0 5px;
}
#cat .sec03 .right {
  width: 248px;
  flex-shrink: 0;
}
#cat .sec03 .right .cat__box {
  margin: 0 0 50px;
}
#cat .sec03 .right .cat__box h2 {
  border-radius: 3px 3px 0px 0px;
  background: var(--02, #806F6F);
  color: #fff;
  padding: 8px 17px 9px 19px;
  text-align: center;
}
#cat .sec03 .right .cat__box ul {
  border-radius: 0px 0px 3px 3px;
  border: 4px solid #F6F2F2;
  overflow: hidden;
}
#cat .sec03 .right .cat__box ul li {
  border-bottom: 4px solid #F6F2F2;
}
#cat .sec03 .right .cat__box ul li a {
  display: block;
  padding: 8px 11px;
}
#cat .sec03 .right .cat__box ul li:last-child {
  border-bottom: none;
}
#cat .sec03 .right .arc__box h2 {
  border-radius: 3px 3px 0px 0px;
  background: var(--02, #806F6F);
  color: #fff;
  padding: 8px 17px 9px 19px;
  text-align: center;
}
#cat .sec03 .right .arc__box .aco {
  width: 100%;
  font-size: 1.4rem;
  overflow: hidden;
  box-sizing: border-box;
}
#cat .sec03 .right .arc__box .aco:last-child .aco__tit {
  border-bottom: 4px solid #F6F2F2;
}
#cat .sec03 .right .arc__box .aco:last-child ul li:first-child {
  border-top: none;
}
#cat .sec03 .right .arc__box .aco:last-child ul li:last-child {
  border-bottom: 4px solid #F6F2F2;
}
#cat .sec03 .right .arc__box .aco .wrapper {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s ease;
}
#cat .sec03 .right .arc__box .aco .wrapper.js--on {
  grid-template-rows: 1fr;
}
#cat .sec03 .right .arc__box .aco .inner {
  overflow: hidden;
}
#cat .sec03 .right .arc__box .aco .aco__tit {
  font-size: 1.4rem;
  border-top: 4px solid #F6F2F2;
  border-left: 4px solid #F6F2F2;
  border-right: 4px solid #F6F2F2;
}
#cat .sec03 .right .arc__box .aco .aco__tit a {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  transition: opacity 0.2s ease;
  padding: 8px 11px;
}
#cat .sec03 .right .arc__box .aco .aco__tit a:hover {
  opacity: 0.5;
}
#cat .sec03 .right .arc__box .aco .aco__tit a .fa-chevron-up {
  display: none;
  color: #806F6F;
}
#cat .sec03 .right .arc__box .aco .aco__tit a .fa-chevron-down {
  display: block;
  color: #806F6F;
}
#cat .sec03 .right .arc__box .aco .aco__tit a.js--on .fa-chevron-up {
  display: block;
}
#cat .sec03 .right .arc__box .aco .aco__tit a.js--on .fa-chevron-down {
  display: none;
}
#cat .sec03 .right .arc__box .aco ul {
  font-size: 1.4rem;
  box-sizing: border-box;
  background: #F6F2F2;
}
#cat .sec03 .right .arc__box .aco ul li {
  border-top: 4px solid #F6F2F2;
  border-left: 4px solid #F6F2F2;
  border-right: 4px solid #F6F2F2;
  background: rgba(255, 255, 255, 0.7);
  cursor: pointer;
}
#cat .sec03 .right .arc__box .aco ul li a {
  display: block;
  padding: 2.6666666667% 3.6923076923%;
}
#cat .sec03 .right .arc__box .aco svg {
  margin: 0 0 0 1.5384615385%;
}
#cat .sec03 .info__wrapper__pagination nav {
  width: 260px;
  margin: 0 auto;
}
#cat .sec03 .info__wrapper__pagination div.nav-links {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 15px;
}
#cat .sec03 .info__wrapper__pagination div.nav-links span {
  padding: 10px 5px;
  display: block;
  width: 40px;
  margin: 0 8px 0 0;
  text-align: center;
  color: #3F5B6A;
  background-color: #F1F6E4;
  border: 2px solid #F1F6E4;
  border-radius: 50px;
  flex-shrink: 0;
}
#cat .sec03 .info__wrapper__pagination div.nav-links a {
  padding: 10px 5px;
  display: block;
  width: 40px;
  margin: 0 8px 0 0;
  text-align: center;
  color: #3F5B6A;
  background-color: #F1F6E4;
  border: 2px solid #F1F6E4;
  border-radius: 50px;
  flex-shrink: 0;
}
#cat .sec03 .info__wrapper__pagination div.nav-links a.next.page-numbers:has(.fa-arrow-right-long) {
  margin: 0;
}
#cat .sec03 .info__wrapper__pagination div.nav-links a.next, #cat .sec03 .info__wrapper__pagination div.nav-links a.prev {
  background: none;
  border: none;
}
#cat .sec03 .info__wrapper__pagination div.nav-links a.next svg, #cat .sec03 .info__wrapper__pagination div.nav-links a.prev svg {
  height: 1.5em;
}
@media (max-width: 750px) {
  #cat .sec03 {
    padding: 0 4% 44px;
    margin: 0;
  }
  #cat .sec03 div.dp__flex {
    display: block;
  }
  #cat .sec03 .info__wrapper {
    max-width: 100%;
    width: 100%;
    margin: 0 0 69px;
  }
  #cat .sec03 .info__wrapper ul li {
    padding: 0;
    margin: 0;
  }
  #cat .sec03 .info__wrapper ul li a {
    display: block;
    align-items: center;
    padding: 20px 4.9275362319%;
  }
  #cat .sec03 .info__wrapper ul li .date {
    margin: 0 15px 18px 0;
    width: auto;
    display: inline-block;
  }
  #cat .sec03 .info__wrapper ul li .cat {
    padding: 6px 15px;
    margin: 0 34px 18px 0;
    width: auto;
    text-align: center;
    display: inline-block;
  }
  #cat .sec03 .info__wrapper ul li h3 {
    width: 100%;
  }
  #cat .sec03 .info__wrapper__list li {
    margin: 0 0 6.0869565217%;
    padding: 0 0 2.8985507246%;
  }
  #cat .sec03 .info__wrapper__list dl {
    padding: 0;
    flex-wrap: wrap;
  }
  #cat .sec03 .info__wrapper__list dt {
    margin: 0 0 9px;
    width: 100%;
    justify-content: space-between;
  }
  #cat .sec03 .info__wrapper__list dt time {
    text-align: right;
    margin: 0;
    font-size: 1.2rem;
  }
  #cat .sec03 .info__wrapper__list dt p {
    padding: 0.46em 0.86em;
    width: 41.1594202899%;
  }
  #cat .sec03 .info__wrapper__list dd {
    margin: 0;
  }
  #cat .sec03 .info__wrapper__list dd p {
    font-size: 1.3rem;
  }
  #cat .sec03 .right {
    width: 100%;
    box-sizing: border-box;
  }
  #cat .sec03 .right .cat__box {
    margin: 0 0 24px;
  }
  #cat .sec03 .right .cat__box h2 {
    padding: 10px 3.4782608696%;
  }
  #cat .sec03 .right .cat__box ul {
    font-size: 1.3rem;
  }
  #cat .sec03 .right .arc__box h2 {
    padding: 10px 3.4782608696%;
  }
  #cat .sec03 .right .arc__box .aco .aco__tit {
    font-size: 1.3rem;
  }
  #cat .sec03 .right .arc__box .aco ul {
    font-size: 1.3rem;
  }
  #cat .sec03 .info__wrapper__pagination nav {
    width: 75.3623188406%;
    height: auto;
    padding: 0;
    position: static;
    background: none;
    overflow-y: visible;
  }
  #cat .sec03 .info__wrapper__pagination div.nav-links {
    gap: 10px;
  }
  #cat .sec03 .info__wrapper__pagination div.nav-links span {
    width: 14.6153846154%;
    margin: 0;
    padding: 0.3em 0;
    box-sizing: border-box;
    text-align: center;
    font-size: 1.4rem;
  }
  #cat .sec03 .info__wrapper__pagination div.nav-links a {
    width: 14.6153846154%;
    margin: 0;
    padding: 0.3em 0;
    box-sizing: border-box;
    text-align: center;
    font-size: 1.4rem;
  }
}
#cat .sec03 .info__wrapper__article {
  margin: 0 0 50px;
}
#cat .sec03 .info__wrapper__article > dl {
  margin: 0 0 10px;
  align-items: center;
  border-bottom: 1px solid #ded9d9;
  padding: 0 0 41px;
}
#cat .sec03 .info__wrapper__article > dl dt {
  width: 130px;
  font-weight: bold;
  margin: 0 30px 0 0;
  color: #006934;
}
#cat .sec03 .info__wrapper__article > dl dd p {
  width: -moz-max-content;
  width: max-content;
  padding: 0.1em 1em;
  line-height: 1.5;
  text-align: center;
  color: #006934;
  font-weight: bold;
  border: 1px solid #ccc;
}
#cat .sec03 .info__wrapper__article > h3.article-tit {
  margin: 0 0 24px;
}
#cat .sec03 .info__wrapper__article #article div, #cat .sec03 .info__wrapper__article #article ul, #cat .sec03 .info__wrapper__article #article ol, #cat .sec03 .info__wrapper__article #article p, #cat .sec03 .info__wrapper__article #article figure {
  margin-bottom: 40px;
}
#cat .sec03 .info__wrapper__article #article ul {
  list-style-type: disc;
  padding: 0 0 0 25px;
}
#cat .sec03 .info__wrapper__article #article ol {
  list-style-type: decimal;
  padding: 0 0 0 25px;
}
#cat .sec03 .info__wrapper__article #article ul:has(a) li::marker,
#cat .sec03 .info__wrapper__article #article ol:has(a) li::marker {
  color: #2d8d87;
}
#cat .sec03 .info__wrapper__article #article a {
  color: #2d8d87;
  text-decoration: underline;
  text-decoration-color: #2d8d87;
}
#cat .sec03 .info__wrapper__article #article a:hover {
  text-decoration: none;
}
#cat .sec03 .info__wrapper__article #article figure {
  font-size: 0;
  line-height: 0;
}
#cat .sec03 .info__wrapper__article #article img {
  max-width: 100%;
  width: auto;
}
#cat .sec03 .info__wrapper__article #article.clear:after, #cat .sec03 .info__wrapper__article #article .clear:before {
  content: "";
  display: block;
  overflow: hidden;
  height: 0;
}
#cat .sec03 .info__wrapper__article #article.clear:after {
  clear: both;
}
#cat .sec03 .info__wrapper__article #article img.alignright {
  display: block;
  margin: 0 0 0 auto;
}
#cat .sec03 .info__wrapper__article #article img.alignleft {
  display: block;
  margin: 0 auto 0 0;
}
#cat .sec03 .info__wrapper__article #article img.aligncenter {
  display: block;
  margin: 0 auto;
}
@media (max-width: 750px) {
  #cat .sec03 .info__wrapper__article {
    margin: 0 0 6%;
  }
  #cat .sec03 .info__wrapper__article > dl {
    margin: 0 0 10px;
    padding: 0 0 30px;
  }
  #cat .sec03 .info__wrapper__article > dl dt {
    margin: 0 2.8985507246% 0 0;
    width: 31.884057971%;
  }
  #cat .sec03 .info__wrapper__article > dl dd p {
    padding: 0.2em 0.6em;
  }
  #cat .sec03 .info__wrapper__article > h3.article-tit {
    margin: 0 0 13px;
  }
  #cat .sec03 .info__wrapper__article #article div, #cat .sec03 .info__wrapper__article #article ul, #cat .sec03 .info__wrapper__article #article ol, #cat .sec03 .info__wrapper__article #article p, #cat .sec03 .info__wrapper__article #article figure {
    margin-bottom: 7%;
  }
  #cat .sec03 .info__wrapper__article #article ul {
    padding: 0 0 0 7%;
  }
  #cat .sec03 .info__wrapper__article #article ol {
    padding: 0 0 0 7%;
  }
  #cat .sec03 .info__wrapper__article #article img {
    width: 100%;
  }
  #cat .sec03 .info__wrapper__article #article iframe {
    width: 100%;
  }
}
#cat .sec03 .info__wrapper__pagination-article ul {
  justify-content: space-between;
  align-items: center;
}
#cat .sec03 .info__wrapper__pagination-article li {
  margin: 0 95px 0 0;
  position: relative;
  color: #3F5B6A;
  font-weight: bold;
}
#cat .sec03 .info__wrapper__pagination-article li.prev,
#cat .sec03 .info__wrapper__pagination-article li.next {
  width: 150px;
}
#cat .sec03 .info__wrapper__pagination-article li.prev a,
#cat .sec03 .info__wrapper__pagination-article li.next a {
  display: block;
  padding: 5px 0;
  text-align: center;
  color: #504644;
}
#cat .sec03 .info__wrapper__pagination-article li a svg:not(:host).svg-inline--fa,
#cat .sec03 .info__wrapper__pagination-article li a svg:not(:root).svg-inline--fa {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 1.9em;
}
#cat .sec03 .info__wrapper__pagination-article li.prev a svg:not(:host).svg-inline--fa,
#cat .sec03 .info__wrapper__pagination-article li.prev a svg:not(:root).svg-inline--fa {
  left: 0px;
}
#cat .sec03 .info__wrapper__pagination-article li.next a svg:not(:host).svg-inline--fa,
#cat .sec03 .info__wrapper__pagination-article li.next a svg:not(:root).svg-inline--fa {
  right: 0px;
}
#cat .sec03 .info__wrapper__pagination-article li:last-child {
  margin: 0;
}
@media (max-width: 750px) {
  #cat .sec03 .info__wrapper__pagination-article ul {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  #cat .sec03 .info__wrapper__pagination-article li {
    margin: 0 6.9565217391% 4.6376811594% 0;
  }
  #cat .sec03 .info__wrapper__pagination-article li.prev {
    order: 1;
  }
  #cat .sec03 .info__wrapper__pagination-article li.next {
    order: 2;
    margin: 0 0 4.6376811594% 0;
  }
  #cat .sec03 .info__wrapper__pagination-article li.prev,
  #cat .sec03 .info__wrapper__pagination-article li.next {
    width: 140px;
  }
  #cat .sec03 .info__wrapper__pagination-article li.prev a,
  #cat .sec03 .info__wrapper__pagination-article li.next a {
    padding: 4% 0;
  }
}
#cat .sec03 p.back a {
  display: inline-block;
  text-align: center;
  padding: 15px 38px;
  background: #F1F6E4;
  border-radius: 5px;
  color: #504644;
}
#cat .sec03 p.back {
  text-align: center;
}
@media (max-width: 750px) {
  #cat .sec03 p.back a {
    padding: 13px 12%;
  }
  #cat .sec03 p.back {
    margin: 0;
  }
}
@media (max-width: 750px) {
  #cat #article .bg__wrapper {
    padding: 0 0 56px;
  }
}
#cat #article .sec03 {
  margin: -73px 0 0;
}
#cat #article .sec03 .sec__in__l > .dp__flex {
  gap: min(8.571vw, 108px);
}
#cat #article .sec03 .info__wrapper {
  width: min(65.634vw, 827px);
}
#cat #article .sec03 .tit__wrapper {
  border-bottom: 1px solid #A49A9A;
  padding: 0 0 27px;
}
#cat #article .sec03 .tit__wrapper .tit__inner {
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto 26px;
  gap: 10px;
}
#cat #article .sec03 .tit__wrapper .left {
  align-items: center;
  gap: 18px;
}
#cat #article .sec03 .tit__wrapper .left .cat {
  color: #fff;
  border-radius: 2px;
  background: #B85151;
  padding: 6px 15px;
  box-sizing: border-box;
  min-width: 142px;
  text-align: center;
}
#cat #article .sec03 .tit__wrapper .left .cat.information {
  background: #067D6F;
}
#cat #article .sec03 .tit__wrapper .left .cat.important {
  background: #1C50A1;
}
#cat #article .sec03 .tit__wrapper .left .cat.news-release {
  background: #9B568C;
}
#cat #article .sec03 .tit__wrapper .right {
  gap: 27px;
  width: auto;
}
#cat #article .sec03 .tit__wrapper .right dt {
  color: var(--03, #504644);
  border-radius: 3px;
  background: var(--01, #F6F2F2);
  padding: 8px 17px;
  box-sizing: border-box;
  position: relative;
}
#cat #article .sec03 .tit__wrapper .right dt::after {
  content: "";
  position: absolute;
  right: -15px;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 17px;
  background: #F6F2F2;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
#cat #article .sec03 .tit__wrapper .right ul {
  gap: 9px;
}
#cat #article .sec03 .tit__wrapper .right ul li {
  width: 35px;
  height: 35px;
}
#cat #article .sec03 .tit__wrapper .right ul li a {
  opacity: 1;
  display: block;
}
#cat #article .sec03 .tit__wrapper h2 {
  width: 100%;
  margin: 0 0 26px;
}
#cat #article .sec03 .tit__wrapper dl {
  gap: 14px;
}
#cat #article .sec03 .tit__wrapper dl .period {
  padding: 5px 32px;
  box-sizing: border-box;
  border-radius: 2px;
  background: var(--01, #F6F2F2);
}
#cat #article .sec03 .contents__wrapper {
  padding: 43px 0 70px;
  gap: 72px;
}
#cat #article .sec03 .contents__wrapper h3 {
  margin: 0 0 30px;
}
#cat #article .sec03 .contents__wrapper .sbox {
  margin: 0 0 30px;
}
#cat #article .sec03 .contents__wrapper .sbox:last-child {
  margin: 0;
}
#cat #article .sec03 .contents__wrapper h4,
#cat #article .sec03 .contents__wrapper h5,
#cat #article .sec03 .contents__wrapper p,
#cat #article .sec03 .contents__wrapper ul,
#cat #article .sec03 .contents__wrapper ol {
  margin: 0 0 30px;
}
#cat #article .sec03 .contents__wrapper ul li {
  position: relative;
  padding: 0 0 0 1.2em;
  margin: 0 0 3px 0.3em;
  display: flex;
  align-items: flex-start;
}
#cat #article .sec03 .contents__wrapper ul li:last-child {
  margin: 0 0 0 0.3em;
}
#cat #article .sec03 .contents__wrapper ul li::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: #806F6F;
  border-radius: 50%;
  left: 0;
  margin: 0.7em 0 0;
}
#cat #article .sec03 .contents__wrapper ol {
  counter-reset: li;
}
#cat #article .sec03 .contents__wrapper ol li {
  position: relative;
  display: flex;
  align-items: flex-start;
  padding: 0 0 0 2em;
  margin: 0 0 3px;
}
#cat #article .sec03 .contents__wrapper ol li:last-child {
  margin: 0;
}
#cat #article .sec03 .contents__wrapper ol li::before {
  width: 22px;
  height: 22px;
  position: absolute;
  counter-increment: li;
  content: counter(li);
  background: #806F6F;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  left: 0;
  font-size: 1.4rem;
  margin: 0.3em 0 0;
}
#cat #article .sec03 .contents__wrapper figure {
  margin: 0 0 40px;
}
#cat #article .sec03 .contents__wrapper img {
  max-width: 100%;
  width: auto;
}
#cat #article .sec03 .contents__wrapper.clear:after, #cat #article .sec03 .contents__wrapper .clear:before {
  content: "";
  display: block;
  overflow: hidden;
  height: 0;
}
#cat #article .sec03 .contents__wrapper.clear:after {
  clear: both;
}
#cat #article .sec03 .contents__wrapper img.alignright {
  display: block;
  margin: 0 0 0 auto;
}
#cat #article .sec03 .contents__wrapper img.alignleft {
  display: block;
  margin: 0 auto 0 0;
}
#cat #article .sec03 .contents__wrapper img.aligncenter {
  display: block;
  margin: 0 auto;
}
#cat #article .sec03 .contents__wrapper .blue {
  color: #1C50A1;
}
#cat #article .sec03 .contents__wrapper ul.table li {
  width: 100%;
  border-top: 1px solid var(--01-02, #A49A9A);
  border-left: 1px solid var(--01-02, #A49A9A);
  border-right: 1px solid var(--01-02, #A49A9A);
  border-radius: 0;
}
#cat #article .sec03 .contents__wrapper ul.table li:last-child {
  border-bottom: 1px solid var(--01-02, #A49A9A);
}
#cat #article .sec03 .contents__wrapper ul.table li dt {
  width: 28.1362007168%;
  color: var(--04, #281E1C);
  text-align: center;
  background: var(--01, #F6F2F2);
  padding: 15px 10px;
  box-sizing: border-box;
  font-weight: normal;
  display: flex;
  align-items: center;
  justify-content: center;
}
#cat #article .sec03 .contents__wrapper ul.table li dd {
  width: 71.8637992832%;
  padding: 15px 13px 15px 15px;
  box-sizing: border-box;
}
#cat #article .sec03 .contents__wrapper a {
  color: #1C50A1;
  opacity: 1;
  text-decoration: underline;
}
@media (max-width: 750px) {
  #cat #article .sec03 {
    margin: 0;
    box-sizing: border-box;
  }
  #cat #article .sec03 .info__wrapper {
    width: 100%;
  }
  #cat #article .sec03 .tit__wrapper {
    padding: 0 0 30px;
  }
  #cat #article .sec03 .tit__wrapper .tit__inner {
    flex-direction: column;
    margin: 0 0 30px;
  }
  #cat #article .sec03 .tit__wrapper .left {
    margin: 0 0 10px;
    display: flex;
    justify-content: space-between;
  }
  #cat #article .sec03 .tit__wrapper .left .cat {
    max-width: 32.4637681159%;
    padding: 6px 4.347826087%;
  }
  #cat #article .sec03 .tit__wrapper .left .update {
    font-size: 1.3rem;
  }
  #cat #article .sec03 .tit__wrapper .right {
    justify-content: space-between;
    gap: 6.3768115942%;
  }
  #cat #article .sec03 .tit__wrapper .right dt {
    padding: 7px 5.7971014493%;
  }
  #cat #article .sec03 .tit__wrapper .right ul li a {
    padding: 0;
  }
  #cat #article .sec03 .tit__wrapper h2 {
    margin: 0;
  }
  #cat #article .sec03 .tit__wrapper dl {
    gap: 2.8985507246%;
  }
  #cat #article .sec03 .tit__wrapper dl .period {
    padding: 7px 5.7971014493%;
  }
  #cat #article .sec03 .contents__wrapper {
    flex-direction: column;
    padding: 30px 0;
    gap: 40px;
  }
  #cat #article .sec03 .contents__wrapper h3,
  #cat #article .sec03 .contents__wrapper h4,
  #cat #article .sec03 .contents__wrapper h5,
  #cat #article .sec03 .contents__wrapper p,
  #cat #article .sec03 .contents__wrapper ul,
  #cat #article .sec03 .contents__wrapper ol,
  #cat #article .sec03 .contents__wrapper figure {
    margin: 0 0 20px;
  }
  #cat #article .sec03 .contents__wrapper p.fs__txt__14 {
    font-size: 1.3rem;
  }
  #cat #article .sec03 .contents__wrapper figure.small:nth-of-type(3) {
    margin: 0 auto 20px;
  }
  #cat #article .sec03 .contents__wrapper figure.small:nth-of-type(4) {
    margin: 0 0 20px auto;
  }
  #cat #article .sec03 .contents__wrapper ol li {
    align-items: flex-start;
  }
  #cat #article .sec03 .contents__wrapper ol li::before {
    font-size: 1.3rem;
  }
  #cat #article .sec03 .contents__wrapper figure.small {
    width: 52.7536231884%;
  }
}
#cat #article .pagination-article ul {
  justify-content: space-between;
  align-items: center;
}
#cat #article .pagination-article li {
  margin: 0 95px 0 0;
  position: relative;
}
#cat #article .pagination-article li.prev,
#cat #article .pagination-article li.next {
  width: 150px;
}
#cat #article .pagination-article li.prev a,
#cat #article .pagination-article li.next a {
  display: block;
  padding: 5px 0;
  text-align: center;
  opacity: 1;
  color: #504644;
  transition: opacity 0.2s ease;
}
#cat #article .pagination-article li.prev a.js--on,
#cat #article .pagination-article li.next a.js--on {
  opacity: 0.5;
}
#cat #article .pagination-article li a svg:not(:host).svg-inline--fa,
#cat #article .pagination-article li a svg:not(:root).svg-inline--fa {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  font-size: 2.4rem;
  color: #806F6F;
}
#cat #article .pagination-article li.prev a svg:not(:host).svg-inline--fa,
#cat #article .pagination-article li.prev a svg:not(:root).svg-inline--fa {
  left: 8px;
}
#cat #article .pagination-article li.next a svg:not(:host).svg-inline--fa,
#cat #article .pagination-article li.next a svg:not(:root).svg-inline--fa {
  right: 10px;
}
#cat #article .pagination-article li:last-child {
  margin: 0;
}
@media (max-width: 750px) {
  #cat #article .pagination-article ul {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  #cat #article .pagination-article li {
    margin: 0 6.9565217391% 40px 0;
  }
  #cat #article .pagination-article li.prev {
    order: 1;
  }
  #cat #article .pagination-article li.next {
    order: 2;
    margin: 0 0 40px 0;
  }
  #cat #article .pagination-article li.prev,
  #cat #article .pagination-article li.next {
    width: 140px;
  }
  #cat #article .pagination-article li.prev a,
  #cat #article .pagination-article li.next a {
    padding: 4% 0;
  }
}
#cat #article p.back a {
  display: inline-block;
  text-align: center;
  padding: 15px 38px;
  background: #fff;
  border: 1px solid var(--03, #504644);
  border-radius: 5px;
  color: #504644;
  transition: background-color 0.5s ease, color 0.5s ease;
}
#cat #article p.back a.js--on {
  background: #504644;
  color: #fff;
}
#cat #article p.back {
  text-align: center;
}
@media (max-width: 750px) {
  #cat #article p.back a {
    padding: 13px 6.0869565217%;
  }
  #cat #article p.back {
    margin: 0;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#shopnews .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 77px;
}
#shopnews .sec01 {
  padding: 178px 0 20px;
}
@media (max-width: 750px) {
  #shopnews .sec01 {
    box-sizing: border-box;
    margin: 0 0 30px;
    padding: 31.466vw 4% 0;
  }
  #shopnews .sec01 .subpage__tit {
    margin: 0 0 60px;
  }
}
#shopnews .sec02 {
  border-top: 1px solid var(--02, #1C50A1);
  background: #fff;
  position: relative;
  z-index: 10;
  margin: 70px 0 71px;
}
#shopnews .sec02.hidden {
  display: none;
}
#shopnews .sec02 .tabmenu {
  justify-content: center;
  gap: min(1.111vw, 14px);
  position: relative;
  z-index: 0;
  margin: -70px 0 72px;
}
#shopnews .sec02 .tabmenu li {
  width: 31.875%;
  max-width: 306px;
}
#shopnews .sec02 .tabmenu li a {
  display: block;
  text-align: center;
  color: #fff;
  background: var(--02, #1C50A1);
  padding: 22px 0 21px;
  border-top: 1px solid var(--02, #1C50A1);
  border-left: 1px solid var(--02, #1C50A1);
  border-right: 1px solid var(--02, #1C50A1);
  border-radius: 5px 5px 0px 0px;
  margin: 0 0 -2px;
  cursor: pointer;
}
#shopnews .sec02 .tabmenu li a.active {
  color: #1C50A1;
  background: #fff;
  pointer-events: none;
}
#shopnews .sec02 .tabmenu li a.js--on span {
  opacity: 0.5;
}
#shopnews .sec02 .tabmenu li span {
  text-align: center;
  transition: opacity 0.2s ease;
  white-space: nowrap;
}
#shopnews .sec02 .tabmenu li img {
  width: 90px;
}
#shopnews .sec02 .tabmenu li:nth-of-type(2) a {
  padding: 10px 0 7px;
}
@media (max-width: 750px) {
  #shopnews .sec02 {
    margin: 116px 0 0;
    padding: 0;
  }
  #shopnews .sec02 .sec__in__s {
    height: 40px;
  }
  #shopnews .sec02 .tabmenu {
    width: 100%;
    padding: 0 4%;
    transform: translateY(-86.6px);
    box-sizing: border-box;
    margin: 0 0 36px;
    gap: 3.1884057971%;
  }
  #shopnews .sec02 .tabmenu li:nth-of-type(2) a {
    padding: 11px 0 12px;
  }
  #shopnews .sec02 .sec__in__l {
    padding: 0 6.6666666667%;
    box-sizing: border-box;
  }
}
#shopnews .sec03 {
  background: #fff;
  margin: -73px 0 0;
  padding: 68px 0;
}
#shopnews .sec03 .aco {
  width: 100%;
  font-size: 1.4rem;
  box-sizing: border-box;
  position: relative;
  margin: 0 0 8px;
}
#shopnews .sec03 .aco svg {
  width: 60px;
}
#shopnews .sec03 .aco .dp__flex {
  align-items: center;
}
#shopnews .sec03 .aco .fa-chevron-down,
#shopnews .sec03 .aco .fa-chevron-up {
  position: absolute;
  right: 17px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2rem !important;
  width: auto !important;
}
#shopnews .sec03 .aco .wrapper {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
}
#shopnews .sec03 .aco .wrapper .inner {
  overflow: hidden;
  transition: overflow 0.5s ease;
}
#shopnews .sec03 .aco .wrapper.js--on {
  grid-template-rows: 1fr;
}
#shopnews .sec03 .aco .aco__tit {
  font-size: 1.4rem;
  padding: 8px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  position: relative;
  border-radius: 3px;
  border: 1px solid var(--02, #806F6F);
  background: var(--01, #F6F2F2);
}
#shopnews .sec03 .aco .aco__tit .fa-chevron-down {
  display: block;
  color: #806F6F;
}
#shopnews .sec03 .aco .aco__tit .fa-chevron-up {
  display: none;
  color: #806F6F;
}
#shopnews .sec03 .aco .aco__tit.js--on .fa-chevron-down {
  display: none;
}
#shopnews .sec03 .aco .aco__tit.js--on .fa-chevron-up {
  display: block;
}
#shopnews .sec03 .aco ul.dp__flex {
  box-sizing: border-box;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 5px;
  padding: 5px 0 0;
}
#shopnews .sec03 .aco ul.dp__flex li {
  width: 24.5%;
  box-sizing: border-box;
}
#shopnews .sec03 .aco ul.dp__flex li .tab-button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.6666666667% 3.0769230769%;
  background: #fff;
  height: 100%;
  border-radius: 2px;
  box-sizing: border-box;
  text-align: center;
}
#shopnews .sec03 .aco ul.dp__flex li .tab-button.floor4 {
  border: 1px solid #CF4A02;
  color: #CF4A02;
}
#shopnews .sec03 .aco ul.dp__flex li .tab-button.floor3 {
  border: 1px solid #04865F;
  color: #04865F;
}
#shopnews .sec03 .aco ul.dp__flex li .tab-button.floor2 {
  border: 1px solid #017DB2;
  color: #017DB2;
}
#shopnews .sec03 .aco ul.dp__flex li .tab-button.floor1 {
  border: 1px solid #CF4367;
  color: #CF4367;
}
#shopnews .sec03 .aco ul.dp__flex li .tab-button.floorb2 {
  border: 1px solid #5C5E64;
  color: #5C5E64;
}
#shopnews .sec03 .aco ul.dp__flex li .tab-button.floor__none {
  color: #504644;
  border: 1px solid #806F6F;
}
#shopnews .sec03 .aco ul.dp__flex li .tab-button.active.floor4 {
  background: #CF4A02;
  color: #fff;
}
#shopnews .sec03 .aco ul.dp__flex li .tab-button.active.floor3 {
  background: #04865F;
  color: #fff;
}
#shopnews .sec03 .aco ul.dp__flex li .tab-button.active.floor2 {
  background: #017DB2;
  color: #fff;
}
#shopnews .sec03 .aco ul.dp__flex li .tab-button.active.floor1 {
  background: #CF4367;
  color: #fff;
}
#shopnews .sec03 .aco ul.dp__flex li .tab-button.active.floorb2 {
  background: #5C5E64;
  color: #fff;
}
#shopnews .sec03 .aco ul.dp__flex li .tab-button.active.floor__none {
  background: #504644;
  color: #fff;
}
@media (max-width: 750px) {
  #shopnews .sec03 {
    margin: 0;
    padding: 0 4% 40px;
  }
  #shopnews .sec03 .aco .aco__tit p {
    font-size: 1.6rem;
  }
  #shopnews .sec03 .aco .aco__tit .fa-chevron-up,
  #shopnews .sec03 .aco .aco__tit .fa-chevron-down {
    right: 2.3188405797%;
  }
  #shopnews .sec03 .aco ul.dp__flex {
    flex-direction: column;
  }
  #shopnews .sec03 .aco ul.dp__flex li {
    width: 100%;
  }
}
#shopnews .sec04 {
  background: #fff;
  padding: 0 0 72px;
  /* =========================
     カードコンテナ共通
  ========================= */
  /* =========================
     「もっと見る」ボタン
  ========================= */
  /* =========================
     ファンシーボックス(モーダル)
  ========================= */
  /* ボタン型リンク (Instagramで見る) */
  /* 左右の投稿ナビゲーションボタン */
  /* メディア切り替えボタン */
  /* スマホ時（768px以下）のファンシーボックス表示方法 */
}
#shopnews .sec04 .content-area {
  text-align: center;
  padding: 0 0 30px;
  scroll-margin-top: 150px;
}
#shopnews .sec04 .content-area p {
  text-align: center;
  border-radius: 3px;
  color: #fff;
  width: 63px;
  margin: 0 auto 6px;
  padding: 2px 0 4px;
  box-sizing: border-box;
}
#shopnews .sec04 .content-area p span {
  text-align: center;
  color: #fff;
}
#shopnews .sec04 .content-area h2 {
  text-align: center;
  color: #281E1C;
}
#shopnews .sec04 .content-area.floor4 p {
  background: #CF4A02;
}
#shopnews .sec04 .content-area.floor4 h2 {
  color: #CF4A02;
}
#shopnews .sec04 .content-area.floor3 p {
  background: #04865F;
}
#shopnews .sec04 .content-area.floor3 h2 {
  color: #04865F;
}
#shopnews .sec04 .content-area.floor2 p {
  background: #017DB2;
}
#shopnews .sec04 .content-area.floor2 h2 {
  color: #017DB2;
}
#shopnews .sec04 .content-area.floor1 p {
  background: #CF4367;
}
#shopnews .sec04 .content-area.floor1 h2 {
  color: #CF4367;
}
#shopnews .sec04 .content-area.floorb2 p {
  background: #5C5E64;
}
#shopnews .sec04 .content-area.floorb2 h2 {
  color: #5C5E64;
}
#shopnews .sec04 .card-container {
  max-width: 1180px;
  margin: 0 auto;
  display: none; /* タブ切り替え時に表示/非表示 */
  text-align: center;
}
#shopnews .sec04 .card-list {
  display: grid;
  grid-template-columns: repeat(3, min(26.984vw, 340px));
  gap: 10px;
  justify-content: center;
}
#shopnews .sec04 .card {
  width: 100%;
  border-radius: 5px;
  pointer-events: auto;
  list-style: none;
}
#shopnews .sec04 .card a {
  display: block;
  position: relative;
  opacity: 0;
}
#shopnews .sec04 .card a.js--ing {
  opacity: 1;
}
#shopnews .sec04 .card a:hover {
  opacity: 0.5;
}
#shopnews .sec04 .card a figure {
  width: 100%;
  aspect-ratio: 1/1;
  background: #fff;
  overflow: hidden;
  border-radius: 5px 5px 0 0;
  position: relative;
  z-index: 0;
}
#shopnews .sec04 .card a figure .bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  filter: blur(3px);
  z-index: -1;
  width: 100%;
  height: 100%;
  transform: scale(1.8);
  transform-origin: center;
}
#shopnews .sec04 .card a figure img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
#shopnews .sec04 .card a .txt {
  color: #fff;
  background: var(--03, #504644);
  border-radius: 0 0 5px 5px;
  position: relative;
}
#shopnews .sec04 .card a .txt .cat {
  bottom: 135px;
  background: #B85151;
  width: -moz-max-content;
  width: max-content;
  max-width: 270px;
  padding: 6px 15px;
  box-sizing: border-box;
  position: relative;
  border-radius: 0px 2px 2px 0px;
  z-index: 10;
  position: absolute;
}
#shopnews .sec04 .card a .txt .cat.pink {
  background: #B85151;
}
#shopnews .sec04 .card a .txt .cat.green {
  background: #04865F;
}
#shopnews .sec04 .card a .txt .cat.orange {
  background: #CF4A02;
}
#shopnews .sec04 .card a .txt .cat.blue {
  background: #017DB2;
}
#shopnews .sec04 .card a .txt .cat.gray {
  background: #5C5E64;
}
@media screen and (min-width: 751px) and (max-width: 1180px) {
  #shopnews .sec04 .card a .txt .cat {
    max-width: 80%;
  }
}
#shopnews .sec04 .card a .txt > div {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: 30px 20px 14px;
}
#shopnews .sec04 .card a .txt > div .info__tit {
  height: 3.8em;
  margin: 0 0 10px;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  max-height: 3.8em; /* ブラウザがサポートしていない場合 */
}
#shopnews .sec04 .card a .txt > div .schedule {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  max-height: 1.8em; /* ブラウザがサポートしていない場合 */
}
#shopnews .sec04 .card a .txt .update {
  text-align: right;
  background: #806F6F;
  padding: 9px;
  box-sizing: border-box;
  border-radius: 0 0 5px 5px;
}
#shopnews .sec04 .card:nth-child(3n+1) a {
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
}
#shopnews .sec04 .card:nth-child(3n+2) a {
  transition: transform 0.5s ease 0.1s, opacity 0.5s ease 0.1s;
}
#shopnews .sec04 .card:nth-child(3n+3) a {
  transition: transform 0.5s ease 0.2s, opacity 0.5s ease 0.2s;
}
#shopnews .sec04 .thumbnail {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px 4px 0 0;
  margin: 0;
}
#shopnews .sec04 .icon {
  position: absolute;
  z-index: 10;
  top: 10px;
  right: 10px;
  width: 20px;
  height: 20px;
}
#shopnews .sec04 .tenant-name {
  font-weight: bold;
  color: #333;
  margin: 8px 10px 5px;
  text-align: left;
  width: calc(100% - 20px);
}
#shopnews .sec04 .post-content {
  font-size: 14px;
  color: #555;
  margin: 0 10px 5px;
  text-align: left;
  width: calc(100% - 20px);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
#shopnews .sec04 .post-date {
  font-size: 12px;
  color: #999;
  margin: 0 10px 8px;
  text-align: right;
  width: calc(100% - 20px);
  margin-top: auto;
}
#shopnews .sec04 .more-button-wrap {
  width: 290px;
  margin: 0 auto;
  padding: 50px 0 0;
}
#shopnews .sec04 .more-button-wrap .more-button {
  all: unset;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  display: block;
  width: 100% !important;
  padding: 21px 0;
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
  cursor: pointer;
  transition: background-color 0.5s ease, color 0.5s ease;
}
#shopnews .sec04 .more-button-wrap .more-button.js--on {
  background: #504644;
  color: #fff;
}
@media (max-width: 750px) {
  #shopnews .sec04 .btn,
  #shopnews .sec04 .more-button-wrap {
    width: 72.4637681159%;
    max-width: 100%;
  }
}
#shopnews .sec04 .loading-spinner-more {
  display: none;
  width: 32px;
  height: 32px;
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-top: 4px solid #007BFF;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 0 auto 50px;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
#shopnews .sec04 .fancybox {
  display: none; /* 初期状態は非表示 */
  position: fixed; /* 画面に固定 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 10001;
  padding: 20px;
  box-sizing: border-box;
  overflow: hidden; /* スクロールは内部で処理 */
}
#shopnews .sec04 .fancybox-content {
  max-width: 960px;
  display: flex;
  justify-content: space-between;
  gap: min(3.73vw, 47px);
  overflow: hidden;
  position: relative; /* スライドアニメーション用にrelative */
  background: #fff;
  border-radius: 5px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding: 30px 33px;
  box-sizing: border-box;
  overflow: hidden;
}
#shopnews .sec04 .close-fancybox {
  cursor: pointer;
  width: 38px;
  height: 38px;
  padding: 5px 8px 4px;
  background: #0098D8;
  color: #fff;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0px 3px;
}
#shopnews .sec04 .close-fancybox .fa-xmark {
  width: 38px;
  height: 38px;
}
@media (max-width: 750px) {
  #shopnews .sec04 .close-fancybox {
    top: -46px;
    border-radius: 3px 3px 0px 0px;
  }
}
#shopnews .sec04 .fancybox-media {
  width: min(34.92vw, 440px);
  height: min(34.92vw, 440px);
  aspect-ratio: 1/1;
  flex-shrink: 0;
  position: relative;
  background-color: #000;
}
#shopnews .sec04 .fancybox-media img,
#shopnews .sec04 .fancybox-media video {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: none; /* 初期は非表示 */
  aspect-ratio: 1/1;
}
#shopnews .sec04 .fancybox-media img.active,
#shopnews .sec04 .fancybox-media video.active {
  display: block;
}
#shopnews .sec04 .fancybox div.dp__flex {
  align-items: center;
}
#shopnews .sec04 .fancybox .insta__logo {
  width: 38px;
  height: 38px;
  padding: 20px 20px 20px 0;
}
#shopnews .sec04 .fancybox-details {
  position: relative;
  width: 470px;
  min-height: 526px;
  padding: 0 30px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-align: left;
  white-space: pre-wrap;
  overflow-y: auto;
  overflow-x: hidden;
}
#shopnews .sec04 .fancybox-details p.fs__txt__14,
#shopnews .sec04 .post-content-full {
  overflow-y: scroll;
  overflow-x: hidden;
  height: 350px;
  margin: 0 0 20px;
  margin-bottom: 20px;
  color: #333;
  padding: 0 10px 0 0;
}
#shopnews .sec04 .fancybox-details p.fs__txt__14::-webkit-scrollbar {
  border: 1px solid var(--01-02, #A49A9A);
  border-radius: 2px;
}
#shopnews .sec04 .fancybox-details p.fs__txt__14::-webkit-scrollbar-thumb {
  background: #806F6F;
  box-shadow: 0px 2px 2px 0px rgba(210, 205, 205, 0.25) inset;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  background-clip: padding-box;
  border-radius: 4px;
}
#shopnews .sec04 .fancybox-details .btn {
  background: #fff;
  width: 100%;
  position: sticky;
  bottom: 0;
}
#shopnews .sec04 .fancybox-details a.instagramLink {
  width: min(23.015vw, 290px);
  margin: 0 auto;
  display: block;
  padding: 11px 0;
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
  transition: background-color 0.5s ease, color 0.5s ease;
  z-index: 10;
}
#shopnews .sec04 .fancybox-details a.instagramLink:hover {
  background: #504644 !important;
  color: #fff;
}
#shopnews .sec04 .tenant-name-bold {
  font-weight: bold;
  color: #333;
}
#shopnews .sec04 .post-content-full {
  font-size: 14px;
  color: #555;
  margin-bottom: 20px;
  text-align: left;
}
#shopnews .sec04 .post-date-full {
  font-size: 12px;
  color: #999;
  margin-bottom: 20px;
  text-align: right;
}
#shopnews .sec04 .nav-buttons {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  pointer-events: none;
  max-width: 1060px;
  margin: 0 auto;
}
#shopnews .sec04 .nav-buttons button {
  background-color: rgba(0, 0, 0, 0);
  border: none;
  color: #fff;
  padding: 10px;
  cursor: pointer;
  pointer-events: auto;
  border-radius: 50%;
  margin: 0 10px;
  z-index: 1002;
  width: 29px;
  height: 56px;
  display: grid;
  place-content: center;
}
#shopnews .sec04 .nav-buttons button svg {
  font-size: 5.6rem;
  font-weight: 400;
}
#shopnews .sec04 .loading-spinner {
  width: 50px;
  height: 50px;
  border: 5px solid rgba(0, 0, 0, 0.1);
  border-top: 5px solid #007BFF;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  position: absolute;
  top: 45%;
  left: 45%;
  transform: translate(-50%, -50%);
}
#shopnews .sec04 .media-nav-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(246, 242, 242, 0.7);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  color: #806F6F;
  font-size: 18px;
  line-height: 40px;
  text-align: center;
  cursor: pointer;
  z-index: 1002;
}
#shopnews .sec04 .media-prev {
  left: -20px;
}
#shopnews .sec04 .media-next {
  right: -20px;
}
#shopnews .sec04 .paginationContainer {
  display: flex;
  justify-content: center;
  bottom: -20px;
  flex-wrap: wrap;
  text-align: center;
  margin: 10px 0 0;
  gap: 6px;
}
#shopnews .sec04 .dot {
  width: 26px;
  height: 6px;
  margin: 0 3px;
  background-color: #fff;
  border: 1px solid #504644;
  display: inline-block;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
#shopnews .sec04 .dot.active {
  background-color: #504644;
}
#shopnews .sec04 .no__results {
  text-align: center;
  padding: 60px 0 100px;
}
@media (max-width: 750px) {
  #shopnews .sec04 {
    padding: 0 4% 49px;
    box-sizing: border-box;
  }
  #shopnews .sec04 .content-area {
    scroll-margin-top: 100px;
  }
  #shopnews .sec04 .content-area p {
    font-size: 2rem;
  }
  #shopnews .sec04 .content-area h2 {
    font-size: 2.2rem;
  }
  #shopnews .sec04 .card-container {
    max-width: 100%;
    padding: 0 2.8985507246%;
  }
  #shopnews .sec04 .card-list {
    display: flex;
    flex-direction: column;
  }
  #shopnews .sec04 .card {
    width: 100%;
  }
  #shopnews .sec04 .card a .txt .cat {
    width: auto;
    max-width: 95%;
  }
  #shopnews .sec04 .card-list .card:nth-child(3n+2) a {
    transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  }
  #shopnews .sec04 .card-list .card:nth-child(3n+3) a {
    transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  }
  #shopnews .sec04 .fancybox {
    padding: 46px 4% 15px;
    height: 100vh;
  }
  #shopnews .sec04 .fancybox-content {
    flex-direction: column;
    width: 100%;
    height: 90vh;
    min-height: auto;
    padding: 0;
    overflow: visible;
    gap: min(8vw, 30px);
  }
  #shopnews .sec04 .fancybox-media,
  #shopnews .sec04 .fancybox-details {
    width: 100%;
    height: 50%;
    padding: 0;
  }
  #shopnews .sec04 .fancybox-details {
    min-height: auto;
  }
  #shopnews .sec04 .fancybox-details .insta__logo {
    padding: 10px;
  }
  #shopnews .sec04 .fancybox-details p.fs__txt__14 {
    height: 62.666vw;
    padding: 0 2.8985507246% 5.3333333333%;
    margin-bottom: 0;
  }
  #shopnews .sec04 .fancybox-details .btn {
    order: 2;
    margin: 0 auto;
    width: 100%;
    position: absolute;
    bottom: 0;
  }
  #shopnews .sec04 .fancybox-details a.instagramLink {
    width: 52.266vw;
    margin: 20px auto;
  }
  #shopnews .sec04 .nav-buttons {
    width: 92%;
    top: auto;
    bottom: 17px;
  }
  #shopnews .sec04 .nav-buttons button {
    color: #806F6F;
    position: relative;
    width: auto;
  }
  #shopnews .sec04 .nav-buttons button svg {
    font-size: 3rem;
  }
  #shopnews .sec04 .nav-buttons #nextPost::after {
    content: "次へ";
  }
  #shopnews .sec04 .nav-buttons #prevPost::after {
    content: "前へ";
    text-align: center;
  }
  #shopnews .sec04 .media-nav-button {
    width: 25px;
    height: 25px;
    display: grid;
    place-content: center;
  }
  #shopnews .sec04 .media-prev {
    left: 5px;
  }
  #shopnews .sec04 .media-next {
    right: 5px;
  }
  #shopnews .sec04 #paginationContainer {
    flex-wrap: wrap;
    align-items: flex-end;
    top: 100%;
    margin-top: 0;
  }
  #shopnews .sec04 .no__results {
    padding: 0 0 89px;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#entry .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 144px;
}
@media (max-width: 750px) {
  #entry .bg__wrapper {
    padding: 0 0 59px;
  }
}
#entry .sec02 .msg {
  margin: 0 0 110px;
}
#entry .sec02 .msg p {
  text-align: center;
}
#entry .sec02 .msg p:first-child {
  margin: 0 0 17px;
}
#entry .sec02 .msg a {
  color: #1C50A1;
  text-decoration: underline;
}
#entry .sec02 ul {
  gap: 20px;
}
#entry .sec02 ul li {
  width: 100%;
  border-radius: 10px;
  border: 1px solid var(--02, #806F6F);
  padding: 40px;
  box-sizing: border-box;
  display: grid;
  align-items: end;
}
#entry .sec02 ul li h2 {
  text-align: center;
  margin: 0 0 20px;
}
#entry .sec02 ul li p {
  text-align: center;
}
#entry .sec02 ul li p a {
  width: min(31.746vw, 400px);
  margin: 0 auto;
  display: block;
  color: var(--02, #1C50A1);
  text-align: center;
  border-radius: 8px;
  border: 1px solid var(--02, #1C50A1);
  background: #fff;
  padding: 26px 23px;
  box-sizing: border-box;
  transition: color 0.5s ease, background-color 0.5s ease;
}
#entry .sec02 ul li p a.js--on {
  background: #1C50A1;
  color: #fff;
}
@media (max-width: 750px) {
  #entry .sec02 {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #entry .sec02 .msg {
    margin: 0 0 40px;
  }
  #entry .sec02 .msg p:first-child {
    margin: 0 0 20px;
  }
  #entry .sec02 ul {
    flex-direction: column;
  }
  #entry .sec02 ul li {
    padding: 30px 7.8260869565%;
  }
  #entry .sec02 ul li p a {
    width: 100%;
    margin: 0;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#event_entry .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 77px;
}
@media (max-width: 750px) {
  #event_entry .bg__wrapper {
    padding: 0 0 60px;
  }
}
#event_entry .sec02 {
  margin: 0 0 65px;
}
#event_entry .sec02 .msg {
  margin: 0 0 110px;
}
#event_entry .sec02 .msg p {
  text-align: center;
}
#event_entry .sec02 .msg p:first-child {
  margin: 0 0 17px;
}
#event_entry .sec02 .msg a {
  color: #1C50A1;
  text-decoration: underline;
}
#event_entry .sec02 ol.process {
  justify-content: center;
  gap: 95px;
}
#event_entry .sec02 ol.process li {
  width: 136px;
  position: relative;
}
#event_entry .sec02 ol.process li.active::before {
  position: absolute;
  content: "";
  bottom: -15px;
  left: 0;
  width: 100%;
  background: #0098D8;
  height: 7px;
}
#event_entry .sec02 ol.process li::after {
  content: "";
  position: absolute;
  width: 85px;
  height: 1px;
  top: 50%;
  right: -85px;
  transform: translateY(-50%);
  background: #504644;
}
#event_entry .sec02 ol.process li p {
  text-align: center;
  color: #504644;
}
#event_entry .sec02 ol.process li p:first-child {
  margin: 0 0 5px;
}
#event_entry .sec02 ol.process li:last-child::after {
  display: none;
}
@media (max-width: 750px) {
  #event_entry .sec02 {
    padding: 0 4%;
    box-sizing: border-box;
    margin: 0 0 35px;
  }
  #event_entry .sec02 .msg {
    margin: 0 0 30px;
  }
  #event_entry .sec02 ol.process {
    gap: 6.4vw;
  }
  #event_entry .sec02 ol.process li {
    width: 26.4vw;
  }
  #event_entry .sec02 ol.process li::after {
    width: 6.4vw;
    right: -6.4vw;
  }
}
#event_entry .sec03 {
  max-width: 740px;
  margin: 0 auto;
  padding: 0 20px;
}
#event_entry .sec03 .sec__in__s {
  padding: 40px 0;
  box-sizing: border-box;
  border-top: 2px solid #A49A9A;
}
#event_entry .sec03 h2 {
  color: #504644;
  margin: 0 0 15px;
}
#event_entry .sec03 h3 {
  margin: 0 0 15px;
}
#event_entry .sec03 form ul li {
  margin: 0 0 40px;
  /* WebKit系（Chrome, Safari など） */
  /* Mozilla系（Firefox 19以降） */
  /* Mozilla系（Firefox 18以前） */
  /* Microsoft系（IE10+, Edge） */
  /* チェック時の内側の丸を表現するには擬似要素を使う */
}
#event_entry .sec03 form ul li .que {
  align-items: center;
  gap: 10px;
  margin: 0 0 7px;
}
#event_entry .sec03 form ul li input,
#event_entry .sec03 form ul li textarea,
#event_entry .sec03 form ul li select {
  width: 100%;
  padding: 11px 20px;
  box-sizing: border-box;
  font-size: 1.6rem;
  box-shadow: none;
  border: none;
}
#event_entry .sec03 form ul li ::-webkit-input-placeholder {
  color: #B7B7B7; /* 任意の色に変更 */
}
#event_entry .sec03 form ul li ::-moz-placeholder {
  color: #B7B7B7;
}
#event_entry .sec03 form ul li :-moz-placeholder {
  color: #B7B7B7;
}
#event_entry .sec03 form ul li :-ms-input-placeholder {
  color: #B7B7B7;
}
#event_entry .sec03 form ul li input[type=radio] {
  width: auto;
  cursor: pointer;
  accent-color: #1C50A1;
  margin: 0 10px 0 0;
  /* デフォルトのラジオボタンスタイルを消す */
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none; /* Safariなど対応が必要な場合 */
  /* 好きなサイズに。例として 20×20px */
  width: 24px;
  height: 24px;
  /* 円形の枠線 */
  border: 2px solid #A49A9A;
  border-radius: 50%;
  /* 配置が崩れないようにベースライン合わせなど */
  vertical-align: middle;
  cursor: pointer;
  outline: none;
  margin-right: 6px; /* テキストと少し間を開ける例 */
  padding: 0;
  position: relative;
  transform: scale(1) !important;
  background: #fff;
  vertical-align: middle;
  box-sizing: border-box;
}
#event_entry .sec03 form ul li input[type=radio]:checked::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #1C50A1; /* 内側の色 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.75);
}
#event_entry .sec03 form ul li input[type=file] {
  font-size: 1.6rem;
  padding: 7px 0 0;
  display: none;
}
#event_entry .sec03 form ul li input[type=file]::file-selector-button {
  border-radius: 5px;
  border: 1px solid var(--02, #806F6F);
  background: #FFF;
  width: 246px;
  padding: 11px 20px;
  box-sizing: border-box;
  color: var(--03, #504644);
}
#event_entry .sec03 form ul li .file-label {
  font-size: 1.6rem;
  border-radius: 5px;
  border: 1px solid var(--02, #806F6F);
  background: #FFF;
  width: 246px;
  padding: 11px 20px;
  box-sizing: border-box;
  color: var(--03, #504644);
  display: inline-block;
  text-align: center;
  margin: 7px 0 0;
  transition: color 0.5s ease, background-color 0.5s ease;
}
#event_entry .sec03 form ul li .file-label:hover {
  background: #504644;
  color: #fff;
}
#event_entry .sec03 form ul li .file-label .fa-arrow-up-from-bracket {
  margin: 0 0 0 10px;
}
#event_entry .sec03 form ul li label {
  cursor: pointer;
}
#event_entry .sec03 form ul li .caution {
  padding: 7px 0 0;
}
#event_entry .sec03 form ul li .sbox {
  gap: 25px;
}
#event_entry .sec03 form ul li .sbox p {
  width: 7em;
  margin: 0 0 15px;
}
#event_entry .sec03 form ul li .sbox .btn__group {
  display: flex;
  gap: 40px;
}
#event_entry .sec03 form ul li .sbox .btn__group input {
  transform: scale(1.54);
}
#event_entry .sec03 form .tree {
  padding: 0 0 0 30px;
  border-left: 2px solid #A49A9A;
}
#event_entry .sec03 form .req,
#event_entry .sec03 form .mfp_confirm_label {
  color: #CD2424;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #CD2424;
  padding: 3px 12px;
  box-sizing: border-box;
  white-space: nowrap;
}
#event_entry .sec03 form .unit {
  display: inline-block;
  margin: 0 0 0 7px;
  vertical-align: bottom;
}
#event_entry .sec03 form .red {
  color: #CD2424;
}
#event_entry .sec03 form .blue {
  color: #1C50A1;
}
#event_entry .sec03 form .width__s {
  width: 246px;
}
#event_entry .sec03 form .width__m {
  width: 360px;
}
#event_entry .sec03 form .width__l {
  width: 580px;
}
#event_entry .sec03 form .modal__txt {
  align-items: center;
  gap: 4px;
}
#event_entry .sec03 form .que__mark {
  border: 1px solid #1C50A1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
}
#event_entry .sec03 form .form__border-bottom {
  display: block;
  border-bottom: 2px solid #A49A9A;
  margin: 0 0 51px;
}
#event_entry .sec03 form .pp {
  margin: 0 0 58px;
  /* 2. チェックされている状態を表現 */
  /* 3. 疑似要素でチェックマークを描画 */
}
#event_entry .sec03 form .pp p {
  align-items: center;
  gap: 11px;
  justify-content: center;
  margin: 0 0 6px;
}
#event_entry .sec03 form .pp label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  cursor: pointer;
}
#event_entry .sec03 form .pp input[type=checkbox] {
  -webkit-appearance: none; /* Safari, iOS Safari */
  -moz-appearance: none; /* Firefox */
  appearance: none; /* Chrome, Edge, etc. */
  /* ボックス自体の見た目を設定 */
  width: 24px;
  height: 24px;
  border: 1px solid #A49A9A;
  border-radius: 2px;
  cursor: pointer;
  vertical-align: middle;
  background: #fff;
}
#event_entry .sec03 form .pp input[type=checkbox]:checked {
  background-color: #fff;
  border-color: #fff;
  /* チェックマークを重ねたい場合は疑似要素を使う */
  position: relative;
  border: 1px solid #A49A9A;
}
#event_entry .sec03 form .pp input[type=checkbox]:checked::after {
  content: "";
  display: block;
  position: absolute;
  top: 45%;
  left: 28%;
  width: 4px;
  height: 10px;
  border-right: 3px solid #1C50A1;
  border-bottom: 3px solid #1C50A1;
  transform: rotate(45deg) translate(-50%, -50%);
}
#event_entry .sec03 form .pp a {
  color: #1C50A1;
  text-decoration: underline;
  text-align: center;
  display: block;
}
#event_entry .sec03 form .pp .pp__label {
  display: grid;
  grid-template-columns: auto auto auto auto;
  grid-template-rows: auto auto;
}
#event_entry .sec03 form .pp .pp__label span {
  width: -moz-min-content;
  width: min-content;
}
#event_entry .sec03 form .pp #pp {
  margin: 0 0 0 auto;
}
#event_entry .sec03 form .pp .mfp_err {
  grid-column: 1/5;
  white-space: initial;
}
#event_entry .sec03 form button[type=submit] {
  background: #fff;
  color: #1C50A1;
  border: 1px solid #1C50A1;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.7);
  display: block;
  margin: 0 auto;
  width: 400px;
  text-align: center;
  padding: 26px 0;
  cursor: pointer;
  text-shadow: none;
  font-family: "BIZ UDPGothic", "游ゴシック", "メイリオ", Meiryo, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, sans-serif;
  transition: color 0.5s ease, background-color 0.5s ease;
}
#event_entry .sec03 form button[type=submit]:hover {
  background: #1C50A1;
  color: #fff;
  box-shadow: none;
}
#event_entry .sec03 form div.mfp_err {
  background-image: none;
  padding: 3px 0px 5px 1em;
  font-size: 1.3rem;
  letter-spacing: 0.04em;
  line-height: 1.385;
  color: #CD2424;
  font-family: "BIZ UDPGothic", "游ゴシック", "メイリオ", Meiryo, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, sans-serif;
  position: relative;
}
#event_entry .sec03 form div.mfp_err::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1em;
}
#event_entry .sec03 form .problem {
  background: #fff;
  border: 1px solid #CD2424;
}
@media (max-width: 750px) {
  #event_entry .sec03 {
    max-width: 100%;
    padding: 0 4%;
    box-sizing: border-box;
  }
  #event_entry .sec03 form ul li .que {
    align-items: flex-start;
  }
  #event_entry .sec03 form ul li .que.lending {
    gap: 3px;
    flex-direction: column;
  }
  #event_entry .sec03 form ul li input[type=radio] {
    width: 21px;
    height: 21px;
  }
  #event_entry .sec03 form ul li .sbox .btn__group {
    flex-wrap: wrap;
    row-gap: 10px;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
  #event_entry .sec03 form ul li .sbox .btn__group label {
    margin: 0;
  }
  #event_entry .sec03 form ul li .sbox .btn__group input {
    transform: scale(1.34);
  }
  #event_entry .sec03 form .tree {
    padding: 0 0 0 3.768115942%;
  }
  #event_entry .sec03 form .width__s {
    width: 40vw;
  }
  #event_entry .sec03 form .width__m {
    width: 50.666vw;
  }
  #event_entry .sec03 form .width__l {
    width: 100%;
  }
  #event_entry .sec03 form .pp {
    margin: 0 0 50px;
  }
  #event_entry .sec03 form button[type=submit] {
    width: 100%;
  }
}
#event_entry .sec03.thanks {
  max-width: 820px;
}
#event_entry .sec03.thanks h2 {
  text-align: center;
  margin: 0 0 30px;
  color: #504644;
}
#event_entry .sec03.thanks p {
  text-align: center;
  margin: 0 0 30px;
  color: #504644;
}
#event_entry .sec03.thanks .red {
  color: #CD2424;
}
#event_entry .sec03.thanks a {
  display: block;
  width: 245px;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  text-align: center;
  padding: 21px 0;
  margin: 50px auto 0;
  transition: color 0.5s ease, background-color 0.5s ease;
}
#event_entry .sec03.thanks a:hover {
  background: #504644;
  color: #F6F2F2;
}
@media (max-width: 750px) {
  #event_entry .sec03.thanks {
    max-width: 100%;
  }
  #event_entry .sec03.thanks .sec__in__s {
    padding: 40px 0 0;
  }
  #event_entry .sec03.thanks h2 {
    margin: 0 0 15px;
  }
  #event_entry .sec03.thanks p {
    text-align: left;
  }
  #event_entry .sec03.thanks a {
    margin: 40px auto 0;
  }
}
#event_entry #mailformpro .mfp_element_all {
  max-width: 100%;
}
#event_entry #mailformpro label.mfp_checked {
  background: none;
  border: none;
  box-shadow: none;
}
#event_entry #mailformpro label.mfp_not_checked {
  border: none;
}
#event_entry #mfp_phase_confirm_inner h4 {
  display: none;
}
#event_entry #mfp_phase_confirm_inner #mfp_confirm_table {
  border-bottom: 2px solid #A49A9A;
  padding: 0 0 40px;
  margin: 0 0 50px;
  display: block;
  border-collapse: separate;
}
#event_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma,
#event_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored {
  background: none;
  display: block;
}
#event_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma th,
#event_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma td,
#event_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored th,
#event_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored td {
  border-top: none;
  display: block;
  width: 100%;
  font-size: 1.6rem;
}
#event_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma th,
#event_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored th {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  gap: 11px;
  padding: 0 0 7px;
}
#event_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma th .mfp_confirm_label,
#event_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored th .mfp_confirm_label {
  color: #CD2424;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #CD2424;
  padding: 3px 12px;
  box-sizing: border-box;
  white-space: nowrap;
  font-size: 1.3rem;
}
#event_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma td,
#event_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored td {
  padding: 0 0 40px;
}
#event_entry #mfp_phase_confirm_inner .mfp_buttons button {
  display: block;
  margin: 0 auto;
}
#event_entry #mfp_phase_confirm_inner .mfp_buttons button#mfp_button_send {
  width: 354px;
  color: #1C50A1;
  border: 1px solid #1C50A1;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.7);
  display: block;
  margin: 0 auto 50px;
  text-align: center;
  padding: 26px 0;
  cursor: pointer;
  text-shadow: none;
  transition: color 0.5s ease, background-color 0.5s ease;
}
#event_entry #mfp_phase_confirm_inner .mfp_buttons button#mfp_button_send:hover {
  background: #1C50A1;
  color: #fff;
  box-shadow: none;
}
#event_entry #mfp_phase_confirm_inner .mfp_buttons button#mfp_button_cancel {
  width: 245px;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  text-align: center;
  padding: 21px 0;
  margin: 0 auto;
  background: none;
  text-shadow: none;
  transition: color 0.5s ease, background-color 0.5s ease;
}
#event_entry #mfp_phase_confirm_inner .mfp_buttons button#mfp_button_cancel:hover {
  box-shadow: none;
  background: #504644;
  color: #F6F2F2;
}
@media (max-width: 750px) {
  #event_entry #mfp_phase_confirm_inner #mfp_confirm_table tr th {
    white-space: normal;
  }
  #event_entry #mfp_phase_confirm_inner .mfp_buttons button#mfp_button_send {
    width: 100%;
  }
}
#event_entry .modal__insta {
  position: fixed;
  width: 100vw;
  height: 100vh;
  display: none;
  z-index: 10000;
  top: 0;
  left: 0;
}
#event_entry .modal__insta.js--on {
  display: block;
  background: rgba(0, 0, 0, 0.8);
  display: grid;
  place-content: center;
}
#event_entry .modal__insta .modal__insta__inner {
  background: #fff;
  border-radius: 5px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding: 30px 33px;
  box-sizing: border-box;
  overflow: hidden;
}
#event_entry .modal__insta .modal__insta__inner .modal__insta__close {
  cursor: pointer;
  width: 38px;
  height: 38px;
  padding: 5px 8px 4px;
  background: #0098D8;
  color: #fff;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0px 3px;
}
#event_entry .modal__insta .modal__insta__inner .modal__insta__close .fa-xmark {
  width: 38px;
  height: 38px;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex {
  gap: 47px;
  align-items: stretch;
  flex-shrink: 0;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .left {
  width: 440px;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .left > div {
  position: relative;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .left > div > div {
  overflow-x: hidden;
  height: 100%;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .modal-swiper {
  width: 100%;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-slide {
  width: 440px;
  aspect-ratio: 1/1;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next,
#event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev {
  background: #F6F2F2;
  color: #806F6F;
  border-radius: 50%;
  width: 40px;
  height: 40px;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next .fa-chevron-right,
#event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next .fa-chevron-left,
#event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev .fa-chevron-right,
#event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev .fa-chevron-left {
  width: 1.5rem;
  height: 2.4rem;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next {
  right: -20px;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev {
  left: -20px;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next::after,
#event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev::after {
  content: "";
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-pagination {
  bottom: -40px;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-pagination-bullet {
  background: #fff;
  border: 1px solid var(--02, #806F6F);
  opacity: 1;
  width: 40px;
  height: 10px;
  border-radius: 0;
  margin: 0 10px 0 0;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-pagination-bullet-active {
  background: var(--02, #504644);
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .right {
  width: 50%;
  min-height: 526px;
  padding: 10px 0 0;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .right li.dp__flex {
  gap: 0;
  align-items: center;
  margin: 0 0 25px;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .right div.dp__flex {
  align-items: center;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .right .insta__logo {
  width: 38px;
  height: 38px;
  padding: 20px 20px 20px 0;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .right h2 {
  width: 70%;
  text-align: left;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14 {
  overflow-y: scroll;
  height: 350px;
  margin: 0 0 20px;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14::-webkit-scrollbar {
  border: 1px solid var(--01-02, #A49A9A);
  border-radius: 2px;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14::-webkit-scrollbar-thumb {
  background: #806F6F;
  box-shadow: 0px 2px 2px 0px rgba(210, 205, 205, 0.25) inset;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  background-clip: padding-box;
  border-radius: 4px;
}
#event_entry .modal__insta .modal__insta__inner li.dp__flex .right p.btn {
  width: min(23.015vw, 290px);
}
@media (max-width: 750px) {
  #event_entry .modal__insta {
    padding: 46px 4% 15px;
    box-sizing: border-box;
  }
  #event_entry .modal__insta.js--on {
    display: flex;
  }
  #event_entry .modal__insta .modal__insta__inner {
    min-height: auto;
    width: 100%;
    height: -moz-max-content;
    height: max-content;
    padding: 0;
    overflow: visible;
  }
  #event_entry .modal__insta .modal__insta__inner .modal__insta__close {
    top: -46px;
    border-radius: 3px 3px 0px 0px;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex {
    gap: 0;
    flex-direction: column;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .left {
    width: 100%;
    border-radius: 5px 5px 0 0;
    overflow: hidden;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next,
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev {
    background: #F6F2F2;
    color: #806F6F;
    border-radius: 50%;
    width: 25px;
    height: 25px;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next .fa-chevron-right,
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next .fa-chevron-left,
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev .fa-chevron-right,
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev .fa-chevron-left {
    width: 0.9rem;
    height: 1.5rem;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-next {
    right: 5px;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-button-prev {
    left: 5px;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .swiper-pagination {
    bottom: -35px;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .right {
    width: 100%;
    min-height: auto;
    padding: 40px 0 0;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .right .dp__flex {
    flex-direction: row;
    margin: 0 0 17px;
    width: 100%;
    position: sticky;
    bottom: 0;
    left: 0;
    background: #fff;
    padding: 15px 0;
    justify-content: space-between;
    align-items: center;
    padding: 0 2.8985507246%;
    box-sizing: border-box;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .right .dp__flex.flex01 {
    justify-content: flex-start;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .right .insta__logo {
    padding: 10px;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .right h2 {
    width: 100%;
    padding: 0 2.8985507246% 0;
    box-sizing: border-box;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14 {
    height: 30.666vw;
    padding: 0 2.8985507246% 5.3333333333%;
    box-sizing: border-box;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .right p.fs__txt__14::-webkit-scrollbar {
    width: 8px;
    height: 15px;
    border: 1px solid var(--01-02, #A49A9A);
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .right p.btn {
    order: 2;
    margin: 0;
    width: 52.266vw;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .right p.prev__btn a,
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .right p.next__btn a {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .right p.prev__btn a svg,
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .right p.next__btn a svg {
    width: 1.5rem;
    height: 3rem;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .right p.prev__btn {
    order: 1;
  }
  #event_entry .modal__insta .modal__insta__inner li.dp__flex .right p.next__btn {
    order: 3;
  }
}
#event_entry .modal__lending {
  position: fixed;
  width: 100vw;
  height: 100vh;
  display: none;
  z-index: 10000;
  top: 0;
  left: 0;
}
#event_entry .modal__lending.js--on {
  display: block;
  background: rgba(0, 0, 0, 0.8);
  display: grid;
  place-content: center;
}
#event_entry .modal__lending .modal__lending__inner {
  background: #fff;
  max-width: 960px;
  max-height: 90vh;
  margin: 0 auto;
  position: relative;
  border-radius: 3px;
  overflow: hidden;
  padding: 55px 20px 40px;
  box-sizing: border-box;
}
#event_entry .modal__lending .modal__lending__inner .modal__lending__close {
  cursor: pointer;
  width: 38px;
  height: 38px;
  padding: 5px 8px 4px;
  background: #0098D8;
  color: #fff;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0px 3px;
}
#event_entry .modal__lending .modal__lending__inner .modal__lending__close .fa-xmark {
  width: 38px;
  height: 38px;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s {
  overflow-y: auto;
  height: 100%;
  padding: 0 50px;
  box-sizing: border-box;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s::-webkit-scrollbar {
  border: 1px solid var(--01-02, #A49A9A);
  border-radius: 2px;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s::-webkit-scrollbar-thumb {
  background: #806F6F;
  box-shadow: 0px 2px 2px 0px rgba(210, 205, 205, 0.25) inset;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  background-clip: padding-box;
  border-radius: 4px;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s h2 {
  color: #1C50A1;
  margin: 0 0 22px;
  text-align: center;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s > p {
  margin: 0 0 22px;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li {
  border-top: 1px solid #1C50A1;
  padding: 22px 0;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li .dp__flex {
  justify-content: space-between;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li h3 {
  margin: 0 0 5px;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li h3.floor4 {
  color: #CF4A02;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li h3.floor3 {
  color: #057D57;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li h3.floor2 {
  color: #017DB2;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li h3.floor1 {
  color: #CF4367;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li h3.floorb2 {
  color: #57595E;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li ul.list__m {
  padding: 0 0 0 1em;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li ul.list__m li {
  padding: 0 0 5px;
  overflow-wrap: break-word;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li ul.list__m li h4 {
  margin: 0 0 5px;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li ul.list__s li {
  padding: 0 0 5px;
  overflow-wrap: break-word;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li .disc li {
  list-style: disc;
  margin: 0 0 0 1.5em;
}
#event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li figure {
  width: 183px;
}
@media (max-width: 750px) {
  #event_entry .modal__lending {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #event_entry .modal__lending .modal__lending__inner {
    max-width: 100%;
    padding: 55px 4% 40px;
    box-sizing: border-box;
  }
  #event_entry .modal__lending .modal__lending__inner .sec__in__s {
    overflow-x: hidden;
    padding: 0 4% 0 0;
  }
  #event_entry .modal__lending .modal__lending__inner .sec__in__s::-webkit-scrollbar {
    width: 15px;
    border: 1px solid var(--01-02, #A49A9A);
    border-radius: 2px;
  }
  #event_entry .modal__lending .modal__lending__inner .sec__in__s::-webkit-scrollbar-thumb {
    background-color: #806F6F;
    box-shadow: 0px 2px 2px 0px rgba(210, 205, 205, 0.25) inset;
    border-radius: 4px;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    background-clip: padding-box;
  }
  #event_entry .modal__lending .modal__lending__inner .sec__in__s > p {
    text-align: center;
  }
  #event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li .dp__flex {
    flex-direction: column;
    gap: 17px;
  }
  #event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li ul.list__m {
    padding: 0 0 0 1.4492753623%;
    box-sizing: border-box;
  }
  #event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li .disc li {
    margin: 0 0 0 2em;
  }
  #event_entry .modal__lending .modal__lending__inner .sec__in__s ul.list__l > li figure {
    margin: 0 auto;
  }
}
#event_entry .flatpickr-day.selected {
  background-color: #806F6F;
  border-radius: 50%;
  color: white;
}
#event_entry .flatpickr-day.drag-preview {
  background-color: peru;
  border-radius: 50%;
  color: white;
}
#event_entry .flatpickr-calendar.open {
  z-index: 10;
}
#event_entry .flatpickr-current-month {
  display: flex;
  align-items: center;
  justify-content: center;
}
#event_entry .flatpickr-current-month .flatpickr-monthDropdown-months {
  order: 2;
}
#event_entry .flatpickr-current-month .numInputWrapper {
  order: 1;
}
#event_entry .breadcrumb {
  background: #fff;
  border-bottom: 3px solid #F6F2F2;
  padding: 10px 0;
}
#event_entry .breadcrumb ul {
  gap: 14px;
  flex-wrap: wrap;
}
#event_entry .breadcrumb ul li {
  position: relative;
}
#event_entry .breadcrumb ul li .fa-chevron-right {
  margin: 0 0 0 14px;
  color: #1C50A1;
}
@media (max-width: 750px) {
  #event_entry .breadcrumb {
    padding: 12px 2.9333333333%;
    box-sizing: border-box;
  }
  #event_entry .breadcrumb ul {
    -moz-column-gap: 14px;
         column-gap: 14px;
    row-gap: 7px;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#first_entry .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 77px;
}
@media (max-width: 750px) {
  #first_entry .bg__wrapper {
    padding: 0 0 60px;
  }
}
#first_entry .sec02 {
  margin: 0 0 65px;
}
#first_entry .sec02 .msg {
  margin: 0 0 110px;
}
#first_entry .sec02 .msg p {
  text-align: center;
}
#first_entry .sec02 .msg p:first-child {
  margin: 0 0 17px;
}
#first_entry .sec02 .msg a {
  color: #1C50A1;
  text-decoration: underline;
}
#first_entry .sec02 ol.process {
  justify-content: center;
  gap: 95px;
}
#first_entry .sec02 ol.process li {
  width: 136px;
  position: relative;
}
#first_entry .sec02 ol.process li.active::before {
  position: absolute;
  content: "";
  bottom: -15px;
  left: 0;
  width: 100%;
  background: #0098D8;
  height: 7px;
}
#first_entry .sec02 ol.process li::after {
  content: "";
  position: absolute;
  width: 85px;
  height: 1px;
  top: 50%;
  right: -85px;
  transform: translateY(-50%);
  background: #504644;
}
#first_entry .sec02 ol.process li p {
  text-align: center;
  color: #504644;
}
#first_entry .sec02 ol.process li p:first-child {
  margin: 0 0 5px;
}
#first_entry .sec02 ol.process li:last-child::after {
  display: none;
}
@media (max-width: 750px) {
  #first_entry .sec02 {
    padding: 0 4%;
    box-sizing: border-box;
    margin: 0 0 35px;
  }
  #first_entry .sec02 .msg {
    margin: 0 0 30px;
  }
  #first_entry .sec02 ol.process {
    gap: 6.4vw;
  }
  #first_entry .sec02 ol.process li {
    width: 26.4vw;
  }
  #first_entry .sec02 ol.process li::after {
    width: 6.4vw;
    right: -6.4vw;
  }
}
#first_entry .sec03 {
  max-width: 740px;
  margin: 0 auto;
  padding: 0 20px;
}
#first_entry .sec03 .sec__in__s {
  padding: 40px 0;
  box-sizing: border-box;
  border-top: 2px solid #A49A9A;
}
#first_entry .sec03 h2 {
  color: #504644;
  margin: 0 0 15px;
}
#first_entry .sec03 h3 {
  margin: 0 0 15px;
}
#first_entry .sec03 form ul li {
  margin: 0 0 40px;
  /* WebKit系（Chrome, Safari など） */
  /* Mozilla系（Firefox 19以降） */
  /* Mozilla系（Firefox 18以前） */
  /* Microsoft系（IE10+, Edge） */
  /* チェック時の内側の丸を表現するには擬似要素を使う */
}
#first_entry .sec03 form ul li .que {
  align-items: center;
  gap: 10px;
  margin: 0 0 7px;
}
#first_entry .sec03 form ul li input,
#first_entry .sec03 form ul li textarea {
  width: 100%;
  padding: 11px 20px;
  box-sizing: border-box;
  font-size: 1.6rem;
  box-shadow: none;
  border: none;
}
#first_entry .sec03 form ul li ::-webkit-input-placeholder {
  color: #B7B7B7; /* 任意の色に変更 */
}
#first_entry .sec03 form ul li ::-moz-placeholder {
  color: #B7B7B7;
}
#first_entry .sec03 form ul li :-moz-placeholder {
  color: #B7B7B7;
}
#first_entry .sec03 form ul li :-ms-input-placeholder {
  color: #B7B7B7;
}
#first_entry .sec03 form ul li input[type=radio] {
  width: auto;
  cursor: pointer;
  accent-color: #1C50A1;
  margin: 0 10px 0 0;
  /* デフォルトのラジオボタンスタイルを消す */
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none; /* Safariなど対応が必要な場合 */
  /* 好きなサイズに。例として 20×20px */
  width: 24px;
  height: 24px;
  /* 円形の枠線 */
  border: 2px solid #A49A9A;
  border-radius: 50%;
  /* 配置が崩れないようにベースライン合わせなど */
  vertical-align: middle;
  cursor: pointer;
  outline: none;
  margin-right: 6px; /* テキストと少し間を開ける例 */
  padding: 0;
  position: relative;
  transform: scale(1) !important;
  background: #fff;
  vertical-align: middle;
  box-sizing: border-box;
}
#first_entry .sec03 form ul li input[type=radio]:checked::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #1C50A1; /* 内側の色 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.75);
}
#first_entry .sec03 form ul li input[type=file] {
  font-size: 1.6rem;
  padding: 7px 0 0;
  display: none;
}
#first_entry .sec03 form ul li input[type=file]::file-selector-button {
  border-radius: 5px;
  border: 1px solid var(--02, #806F6F);
  background: #FFF;
  width: 246px;
  padding: 11px 20px;
  box-sizing: border-box;
  color: var(--03, #504644);
}
#first_entry .sec03 form ul li .file-label {
  font-size: 1.6rem;
  border-radius: 5px;
  border: 1px solid var(--02, #806F6F);
  background: #FFF;
  width: 246px;
  padding: 11px 20px;
  box-sizing: border-box;
  color: var(--03, #504644);
  display: inline-block;
  text-align: center;
  margin: 7px 0 0;
  transition: color 0.5s ease, background-color 0.5s ease;
}
#first_entry .sec03 form ul li .file-label:hover {
  background: #504644;
  color: #fff;
}
#first_entry .sec03 form ul li .file-label .fa-arrow-up-from-bracket {
  margin: 0 0 0 10px;
}
#first_entry .sec03 form ul li label {
  cursor: pointer;
}
#first_entry .sec03 form ul li .caution {
  padding: 7px 0 0;
}
#first_entry .sec03 form ul li .sbox {
  gap: 25px;
  align-items: center;
}
#first_entry .sec03 form ul li .sbox p {
  width: 7em;
}
#first_entry .sec03 form ul li .sbox .btn__group {
  display: flex;
  gap: 40px;
}
#first_entry .sec03 form ul li .sbox .btn__group input {
  transform: scale(1.54);
}
#first_entry .sec03 form .tree {
  padding: 0 0 0 30px;
  border-left: 2px solid #A49A9A;
}
#first_entry .sec03 form .req,
#first_entry .sec03 form .mfp_confirm_label {
  color: #CD2424;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #CD2424;
  padding: 3px 12px;
  box-sizing: border-box;
  white-space: nowrap;
}
#first_entry .sec03 form .unit {
  display: inline-block;
  margin: 0 0 0 7px;
  vertical-align: bottom;
}
#first_entry .sec03 form .width__s {
  width: 246px;
}
#first_entry .sec03 form .width__m {
  width: 360px;
}
#first_entry .sec03 form .width__l {
  width: 580px;
}
#first_entry .sec03 form .form__border-bottom {
  display: block;
  border-bottom: 2px solid #A49A9A;
  margin: 0 0 51px;
}
#first_entry .sec03 form .pp {
  margin: 0 0 58px;
  /* 2. チェックされている状態を表現 */
  /* 3. 疑似要素でチェックマークを描画 */
}
#first_entry .sec03 form .pp p {
  align-items: center;
  gap: 11px;
  justify-content: center;
  margin: 0 0 6px;
}
#first_entry .sec03 form .pp label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  cursor: pointer;
}
#first_entry .sec03 form .pp input[type=checkbox] {
  -webkit-appearance: none; /* Safari, iOS Safari */
  -moz-appearance: none; /* Firefox */
  appearance: none; /* Chrome, Edge, etc. */
  /* ボックス自体の見た目を設定 */
  width: 24px;
  height: 24px;
  border: 1px solid #A49A9A;
  border-radius: 2px;
  cursor: pointer;
  vertical-align: middle;
  background: #fff;
}
#first_entry .sec03 form .pp input[type=checkbox]:checked {
  background-color: #fff;
  border-color: #fff;
  /* チェックマークを重ねたい場合は疑似要素を使う */
  position: relative;
  border: 1px solid #A49A9A;
}
#first_entry .sec03 form .pp input[type=checkbox]:checked::after {
  content: "";
  display: block;
  position: absolute;
  top: 45%;
  left: 28%;
  width: 4px;
  height: 10px;
  border-right: 3px solid #1C50A1;
  border-bottom: 3px solid #1C50A1;
  transform: rotate(45deg) translate(-50%, -50%);
}
#first_entry .sec03 form .pp a {
  color: #1C50A1;
  text-decoration: underline;
  text-align: center;
  display: block;
}
#first_entry .sec03 form .pp .pp__label {
  display: grid;
  grid-template-columns: auto auto auto auto;
  grid-template-rows: auto auto;
}
#first_entry .sec03 form .pp .pp__label span {
  width: -moz-min-content;
  width: min-content;
}
#first_entry .sec03 form .pp #pp {
  margin: 0 0 0 auto;
}
#first_entry .sec03 form .pp .mfp_err {
  grid-column: 1/5;
  white-space: initial;
}
#first_entry .sec03 form button[type=submit] {
  background: #fff;
  color: #1C50A1;
  border: 1px solid #1C50A1;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.7);
  display: block;
  margin: 0 auto;
  width: 400px;
  text-align: center;
  padding: 26px 0;
  cursor: pointer;
  text-shadow: none;
  transition: color 0.5s ease, background-color 0.5s ease;
  font-family: "BIZ UDPGothic", "游ゴシック", "メイリオ", Meiryo, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, sans-serif;
}
#first_entry .sec03 form button[type=submit]:hover {
  background: #1C50A1;
  color: #fff;
  box-shadow: none;
}
#first_entry .sec03 form div.mfp_err {
  background-image: none;
  padding: 3px 0px 5px 1em;
  font-size: 1.3rem;
  letter-spacing: 0.04em;
  line-height: 1.385;
  color: #CD2424;
  font-family: "BIZ UDPGothic", "游ゴシック", "メイリオ", Meiryo, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, sans-serif;
  position: relative;
}
#first_entry .sec03 form div.mfp_err::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1em;
}
#first_entry .sec03 form .problem {
  background: #fff;
  border: 1px solid #CD2424;
}
@media (max-width: 750px) {
  #first_entry .sec03 {
    max-width: 100%;
    padding: 0 4%;
    box-sizing: border-box;
  }
  #first_entry .sec03 form ul li .que {
    align-items: flex-start;
  }
  #first_entry .sec03 form ul li input[type=radio] {
    width: 21px;
    height: 21px;
  }
  #first_entry .sec03 form ul li .sbox .btn__group {
    flex-wrap: wrap;
    row-gap: 10px;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
  #first_entry .sec03 form ul li .sbox .btn__group label {
    margin: 0;
  }
  #first_entry .sec03 form ul li .sbox .btn__group input {
    transform: scale(1.34);
  }
  #first_entry .sec03 form .tree {
    padding: 0 0 0 3.768115942%;
  }
  #first_entry .sec03 form .width__s {
    width: 40vw;
  }
  #first_entry .sec03 form .width__m {
    width: 50.666vw;
  }
  #first_entry .sec03 form .width__l {
    width: 100%;
  }
  #first_entry .sec03 form .pp {
    margin: 0 0 50px;
  }
  #first_entry .sec03 form button[type=submit] {
    width: 100%;
  }
}
#first_entry .sec03.thanks {
  max-width: 820px;
}
#first_entry .sec03.thanks h2 {
  text-align: center;
  margin: 0 0 30px;
  color: #504644;
}
#first_entry .sec03.thanks p {
  text-align: center;
  margin: 0 0 30px;
  color: #504644;
}
#first_entry .sec03.thanks .red {
  color: #CD2424;
}
#first_entry .sec03.thanks a {
  display: block;
  width: 245px;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  text-align: center;
  padding: 21px 0;
  margin: 50px auto 0;
  transition: color 0.5s ease, background-color 0.5s ease;
}
#first_entry .sec03.thanks a:hover {
  background: #504644;
  color: #F6F2F2;
}
@media (max-width: 750px) {
  #first_entry .sec03.thanks {
    max-width: 100%;
  }
  #first_entry .sec03.thanks .sec__in__s {
    padding: 40px 0 0;
  }
  #first_entry .sec03.thanks h2 {
    margin: 0 0 15px;
  }
  #first_entry .sec03.thanks p {
    text-align: left;
  }
  #first_entry .sec03.thanks a {
    margin: 40px auto 0;
  }
}
#first_entry #mailformpro .mfp_element_all {
  max-width: 100%;
}
#first_entry #mailformpro label.mfp_checked {
  background: none;
  border: none;
  box-shadow: none;
}
#first_entry #mailformpro label.mfp_not_checked {
  border: none;
}
#first_entry #mfp_phase_confirm_inner h4 {
  display: none;
}
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table {
  border-bottom: 2px solid #A49A9A;
  padding: 0 0 40px;
  margin: 0 0 50px;
  display: block;
  border-collapse: separate;
}
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored {
  background: none;
  display: block;
}
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma th,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma td,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored th,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored td {
  border-top: none;
  display: block;
  width: 100%;
  font-size: 1.6rem;
}
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma th,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored th {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  gap: 11px;
  padding: 0 0 7px;
}
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma th .mfp_confirm_label,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored th .mfp_confirm_label {
  color: #CD2424;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #CD2424;
  padding: 3px 12px;
  box-sizing: border-box;
  white-space: nowrap;
  font-size: 1.3rem;
}
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma td,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored td {
  padding: 0 0 40px;
}
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #th_event-other_1,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #th_event-other_1 {
  margin: 25px 0 0;
}
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #td_event-odori-bisse_1,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #td_event-other_1,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #td_event-odori-bisse_1,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #td_event-other_1 {
  padding: 0 0 12px;
}
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #th_area01,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #td_area01,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #th_sales01,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #td_sales01,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #th_area02,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #td_area02,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #th_sales02,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #td_sales02,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #th_facility,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #td_facility,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #th_area01,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #td_area01,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #th_sales01,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #td_sales01,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #th_area02,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #td_area02,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #th_sales02,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #td_sales02,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #th_facility,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #td_facility {
  padding: 0 0 7px 25px;
  margin: 0 !important;
  box-sizing: border-box;
  border-left: 2px solid #A49A9A;
}
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #td_area01,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #td_sales01,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #td_area02,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #td_sales02,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #td_area01,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #td_sales01,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #td_area02,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #td_sales02 {
  padding: 0 0 40px 25px;
}
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #td_facility,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #td_facility {
  padding: 0 0 0 25px;
}
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_achroma #th_item,
#first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr.mfp_colored #th_item {
  padding: 40px 0 7px;
}
#first_entry #mfp_phase_confirm_inner .mfp_buttons button {
  display: block;
  margin: 0 auto;
}
#first_entry #mfp_phase_confirm_inner .mfp_buttons button#mfp_button_send {
  width: 354px;
  color: #1C50A1;
  border: 1px solid #1C50A1;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.7);
  display: block;
  margin: 0 auto 50px;
  text-align: center;
  padding: 26px 0;
  cursor: pointer;
  text-shadow: none;
  transition: color 0.5s ease, background-color 0.5s ease;
}
#first_entry #mfp_phase_confirm_inner .mfp_buttons button#mfp_button_send:hover {
  background: #1C50A1;
  color: #fff;
  box-shadow: none;
}
#first_entry #mfp_phase_confirm_inner .mfp_buttons button#mfp_button_cancel {
  width: 245px;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  text-align: center;
  padding: 21px 0;
  margin: 0 auto;
  background: none;
  text-shadow: none;
  transition: color 0.5s ease, background-color 0.5s ease;
}
#first_entry #mfp_phase_confirm_inner .mfp_buttons button#mfp_button_cancel:hover {
  box-shadow: none;
  background: #504644;
  color: #F6F2F2;
}
@media (max-width: 750px) {
  #first_entry #mfp_phase_confirm_inner #mfp_confirm_table tr th {
    white-space: normal;
  }
  #first_entry #mfp_phase_confirm_inner .mfp_buttons button#mfp_button_send {
    width: 100%;
  }
}
#first_entry .breadcrumb {
  background: #fff;
  border-bottom: 3px solid #F6F2F2;
  padding: 10px 0;
}
#first_entry .breadcrumb ul {
  gap: 14px;
  flex-wrap: wrap;
}
#first_entry .breadcrumb ul li {
  position: relative;
}
#first_entry .breadcrumb ul li .fa-chevron-right {
  margin: 0 0 0 14px;
  color: #1C50A1;
}
@media (max-width: 750px) {
  #first_entry .breadcrumb {
    padding: 12px 2.9333333333%;
    box-sizing: border-box;
  }
  #first_entry .breadcrumb ul {
    -moz-column-gap: 14px;
         column-gap: 14px;
    row-gap: 7px;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#recruit .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 77px;
}
#recruit .sec01 {
  padding: 178px 0 60px;
}
#recruit .sec01 .subpage__tit {
  margin: 0 0 42px;
}
#recruit .sec01 p.fs__txt__16 {
  text-align: center;
}
@media (max-width: 750px) {
  #recruit .sec01 {
    padding: 31.466vw 4% 0;
    margin: 0 0 30px;
  }
}
#recruit .sec02 {
  background: #fff;
  position: relative;
  z-index: 10;
  padding: 70px 0 0;
}
#recruit .sec02 .tabmenu {
  justify-content: center;
  gap: 14px;
  position: relative;
  z-index: 0;
  margin: -70px 0 72px;
}
#recruit .sec02 .tabmenu li {
  width: 49.2708333333%;
  max-width: 473px;
}
#recruit .sec02 .tabmenu li a {
  display: block;
  text-align: center;
  color: #fff;
  background: var(--02, #1C50A1);
  padding: 22px 0;
  border-top: 1px solid var(--02, #1C50A1);
  border-left: 1px solid var(--02, #1C50A1);
  border-right: 1px solid var(--02, #1C50A1);
  border-radius: 5px 5px 0px 0px;
  margin: 0 0 -2px;
  cursor: pointer;
}
#recruit .sec02 .tabmenu li a.active {
  color: #1C50A1;
  background: #fff;
  pointer-events: none;
}
#recruit .sec02 .tabmenu li a.js--on span {
  opacity: 0.5;
}
#recruit .sec02 .tabmenu li span {
  text-align: center;
  transition: opacity 0.2s ease;
}
#recruit .sec02 .cat__btn {
  width: 100%;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
}
#recruit .sec02 .cat__btn li a {
  width: 174px;
  display: block;
  padding: 11px 0;
  box-sizing: border-box;
  border: 1px solid var(--02, #806F6F);
  background: var(--01, #F6F2F2);
  border-radius: 5px;
  text-align: center;
  transition: background-color 0.2s ease, color 0.2s ease;
}
#recruit .sec02 .cat__btn li a.active, #recruit .sec02 .cat__btn li a.js--on, #recruit .sec02 .cat__btn li a:hover {
  border: 1px solid var(--03, #504644);
  background: var(--03, #504644);
  color: #fff;
}
#recruit .sec02 .cat__btn li a.active svg, #recruit .sec02 .cat__btn li a.js--on svg, #recruit .sec02 .cat__btn li a:hover svg {
  fill: #806F6F;
}
#recruit .sec02 .cat__btn li a.active svg path, #recruit .sec02 .cat__btn li a.js--on svg path, #recruit .sec02 .cat__btn li a:hover svg path {
  fill: #F6F2F2;
}
#recruit .sec02 .cat__btn li a svg {
  width: min(8.73vw, 110px);
  fill: #F6F2F2;
  transition: fill 0.2s ease;
  vertical-align: middle;
  margin: 0 0 4px;
}
#recruit .sec02 .cat__btn li a svg path {
  fill: #806F6F;
  transition: fill 0.2s ease;
}
#recruit .sec02 .cat__btn li a p {
  text-align: center;
}
#recruit .sec02 .cat__btn li:first-child a svg {
  fill: #806F6F;
  transition: fill 0.2s ease;
}
#recruit .sec02 .cat__btn li:first-child a svg path {
  fill: #F6F2F2;
  transition: fill 0.2s ease;
}
#recruit .sec02 .cat__btn li:first-child a.active svg,
#recruit .sec02 .cat__btn li:first-child a.js--on svg,
#recruit .sec02 .cat__btn li:first-child a:hover svg {
  fill: #F6F2F2;
}
#recruit .sec02 .cat__btn li:first-child a.active svg path,
#recruit .sec02 .cat__btn li:first-child a.js--on svg path,
#recruit .sec02 .cat__btn li:first-child a:hover svg path {
  fill: #504644;
}
#recruit .sec02 .cat__btn li:nth-of-type(4) a.active svg,
#recruit .sec02 .cat__btn li:nth-of-type(4) a:hover svg {
  fill: #F6F2F2;
}
#recruit .sec02 .cat__btn li:nth-of-type(4) a.active svg path,
#recruit .sec02 .cat__btn li:nth-of-type(4) a:hover svg path {
  fill: #F6F2F2;
}
#recruit .sec02 .cat__btn li:nth-of-type(4) a.active svg g.main__path path,
#recruit .sec02 .cat__btn li:nth-of-type(4) a:hover svg g.main__path path {
  fill: #F6F2F2;
}
#recruit .sec02 .cat__btn li:nth-of-type(4) a.js--on svg {
  fill: #F6F2F2;
}
#recruit .sec02 .cat__btn li:nth-of-type(4) a.js--on svg path {
  fill: #F6F2F2;
}
#recruit .sec02 .cat__btn li:nth-of-type(4) a.js--on svg g.main__path path {
  fill: #F6F2F2;
}
#recruit .sec02 .cat__btn li:nth-of-type(4) svg {
  fill: #F6F2F2;
}
#recruit .sec02 .cat__btn li:nth-of-type(4) svg path {
  fill: #F6F2F2;
}
#recruit .sec02 .cat__btn li:nth-of-type(4) svg g.main__path path {
  fill: #806F6F;
}
@media (max-width: 750px) {
  #recruit .sec02 {
    padding: 40px 0 30px;
  }
  #recruit .sec02 .sec__in__s {
    height: 40px;
  }
  #recruit .sec02 .tabmenu {
    padding: 0 4%;
    transform: translateY(-65.6px);
    box-sizing: border-box;
    margin: 0 0 40px;
  }
  #recruit .sec02 .sec__in__l {
    padding: 0 6.6666666667%;
    box-sizing: border-box;
  }
  #recruit .sec02 .cat__btn {
    justify-content: space-between;
    gap: 5px;
  }
  #recruit .sec02 .cat__btn li {
    width: 49%;
  }
  #recruit .sec02 .cat__btn li a {
    width: 100%;
  }
  #recruit .sec02 .cat__btn li a svg {
    width: 57.2327044025%;
  }
}
#recruit .sec03 {
  background: #fff;
  padding: 94px 0;
}
#recruit .sec03 ul.rec__list {
  max-width: 740px;
  margin: 0 auto;
  display: none;
}
#recruit .sec03 ul.rec__list.js--on {
  display: block;
}
#recruit .sec03 ul.rec__list > li {
  margin: 0 0 90px;
}
#recruit .sec03 ul.rec__list > li:last-child {
  margin: 0;
}
#recruit .sec03 ul.rec__list > li .dp__grid {
  grid-template-columns: minmax(46.031%, 580px) 140px;
  -moz-column-gap: 11px;
       column-gap: 11px;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 0 10px;
}
#recruit .sec03 ul.rec__list > li .dp__grid > .dp__flex {
  grid-column: 1;
  grid-row: 1;
  align-items: center;
  gap: 14px;
  margin: 0 0 7px;
}
#recruit .sec03 ul.rec__list > li .dp__grid > .dp__flex .floor {
  width: 63px;
  text-align: center;
  color: #fff;
  padding: 3px 0 4px;
  box-sizing: border-box;
  border-radius: 3px;
}
#recruit .sec03 ul.rec__list > li .dp__grid > .dp__flex .floor.floor4 {
  background: var(--4F_01, #CF4A02);
}
#recruit .sec03 ul.rec__list > li .dp__grid > .dp__flex .floor.floor3 {
  background: var(--3F01, #04865F);
}
#recruit .sec03 ul.rec__list > li .dp__grid > .dp__flex .floor.floor2 {
  background: var(--2F01, #017DB2);
}
#recruit .sec03 ul.rec__list > li .dp__grid > .dp__flex .floor.floor1 {
  background: var(--1F01, #CF4367);
}
#recruit .sec03 ul.rec__list > li .dp__grid > .dp__flex .floor.floorb2 {
  background: var(--B2F01, #5C5E64);
}
#recruit .sec03 ul.rec__list > li .dp__grid .cat01.floor4 {
  color: var(--4F_01, #CF4A02);
}
#recruit .sec03 ul.rec__list > li .dp__grid .cat01.floor3 {
  color: var(--3F01, #04865F);
}
#recruit .sec03 ul.rec__list > li .dp__grid .cat01.floor2 {
  color: var(--2F01, #017DB2);
}
#recruit .sec03 ul.rec__list > li .dp__grid .cat01.floor1 {
  color: var(--1F01, #CF4367);
}
#recruit .sec03 ul.rec__list > li .dp__grid .cat01.floorb2 {
  color: var(--B2F01, #5C5E64);
}
#recruit .sec03 ul.rec__list > li .dp__grid h2 {
  grid-column: 1;
  grid-row: 2;
  color: var(--03, #504644);
  margin: 0 0 7px;
}
#recruit .sec03 ul.rec__list > li .dp__grid .cat02 {
  grid-column: 1;
  grid-row: 3;
  width: 125px;
  border: 1px solid var(--02, #806F6F);
  background: #FFF;
  text-align: center;
  border-radius: 2px;
  display: grid;
  place-content: center;
  padding: 4px 0 3px;
}
#recruit .sec03 ul.rec__list > li .dp__grid figure {
  grid-column: 2;
  grid-row: 1/4;
  width: 140px;
  aspect-ratio: 1/1;
  border-radius: 5px;
  border: 1px solid #A49A9A;
  overflow: hidden;
}
#recruit .sec03 ul.rec__list > li .dp__grid figure img {
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
}
#recruit .sec03 ul.rec__list > li ul.table li {
  border-top: 1px solid var(--01-02, #A49A9A);
  border-left: 1px solid var(--01-02, #A49A9A);
  border-right: 1px solid var(--01-02, #A49A9A);
}
#recruit .sec03 ul.rec__list > li ul.table li:last-child {
  border-bottom: 1px solid var(--01-02, #A49A9A);
}
#recruit .sec03 ul.rec__list > li ul.table li dl {
  justify-content: flex-start;
  margin: 0;
}
#recruit .sec03 ul.rec__list > li ul.table li dl dt {
  width: min(13.492vw, 170px);
  text-align: center;
  background: var(--01, #F6F2F2);
  padding: 15px 10px;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}
#recruit .sec03 ul.rec__list > li ul.table li dl dd {
  width: min(44.523vw, 561px);
  padding: 15px 10px;
  box-sizing: border-box;
}
#recruit .sec03 ul.rec__list > li ul.table li dl a {
  color: var(--02, #1C50A1);
  text-decoration: underline;
}
#recruit .sec03 ul.rec__list .no-recruit {
  text-align: center;
}
#recruit .sec03 .search-tit {
  margin: 0 0 40px;
  text-align: center;
  color: #504644;
}
#recruit .sec03 .no__results {
  text-align: center;
  padding: 60px 0 100px;
}
@media (max-width: 750px) {
  #recruit .sec03 {
    padding: 30px 0 54px;
  }
  #recruit .sec03 .sec__in__l {
    padding: 0 6.6666666667%;
    box-sizing: border-box;
  }
  #recruit .sec03 ul.rec__list > li {
    margin: 0 0 60px;
  }
  #recruit .sec03 ul.rec__list > li .dp__grid {
    grid-template-columns: 67.8260869565% 28.9855072464%;
    grid-template-rows: auto;
    align-items: end;
  }
  #recruit .sec03 ul.rec__list > li .dp__grid > .dp__flex {
    grid-column: 1/3;
  }
  #recruit .sec03 ul.rec__list > li .dp__grid h2 {
    align-self: flex-start;
  }
  #recruit .sec03 ul.rec__list > li .dp__grid figure {
    width: 100%;
    grid-row: 2/4;
    align-self: flex-end;
  }
  #recruit .sec03 ul.rec__list > li > .dp__flex {
    align-items: flex-end;
  }
  #recruit .sec03 ul.rec__list > li > .dp__flex .left .floor {
    font-size: 2rem;
  }
  #recruit .sec03 ul.rec__list > li > .dp__flex .left .floor .fs__txt__en__13 {
    font-size: 1.3rem;
  }
  #recruit .sec03 ul.rec__list > li > .dp__flex .left .cat02 {
    font-size: 1.3rem;
  }
  #recruit .sec03 ul.rec__list > li > .dp__flex figure {
    width: 28.9855072464%;
  }
  #recruit .sec03 ul.rec__list > li ul.table li dl {
    flex-direction: column;
  }
  #recruit .sec03 ul.rec__list > li ul.table li dl dt,
  #recruit .sec03 ul.rec__list > li ul.table li dl dd {
    width: 100%;
    padding: 4px 4.347826087%;
    justify-content: flex-start;
    text-align: left;
    font-size: 1.4rem;
  }
  #recruit .sec03 .search-tit {
    margin: 0 0 20px;
  }
  #recruit .sec03 .no__results {
    padding: 0 0 89px;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#access .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 77px;
}
#access .sec01 {
  padding: 178px 0 60px;
}
#access .sec01 .subpage__tit {
  margin: 0 0 42px;
}
#access .sec01 p.fs__txt__16 {
  text-align: center;
}
@media (max-width: 750px) {
  #access .sec01 {
    padding: 31.466vw 4% 0;
    margin: 0 0 30px;
  }
}
#access .sec02 {
  position: relative;
  z-index: 10;
  padding: 0 0 60px;
}
#access .sec02 .cat__btn {
  width: 100%;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
}
#access .sec02 .cat__btn li a {
  width: 174px;
  display: block;
  padding: 11px 4px 9px;
  box-sizing: border-box;
  border: 1px solid var(--02, #806F6F);
  background: #fff;
  border-radius: 5px;
  text-align: center;
  transition: background-color 0.2s ease, color 0.2s ease;
}
#access .sec02 .cat__btn li a.active, #access .sec02 .cat__btn li a.js--on, #access .sec02 .cat__btn li a:hover {
  border: 1px solid var(--03, #504644);
  background: var(--03, #504644);
  color: #fff;
}
#access .sec02 .cat__btn li a.active svg, #access .sec02 .cat__btn li a.js--on svg, #access .sec02 .cat__btn li a:hover svg {
  fill: #806F6F;
}
#access .sec02 .cat__btn li a.active svg path, #access .sec02 .cat__btn li a.js--on svg path, #access .sec02 .cat__btn li a:hover svg path {
  fill: #F6F2F2;
}
#access .sec02 .cat__btn li a.active p, #access .sec02 .cat__btn li a.js--on p, #access .sec02 .cat__btn li a:hover p {
  color: #fff;
}
#access .sec02 .cat__btn li a svg {
  width: min(8.73vw, 110px);
  fill: #F6F2F2;
  transition: fill 0.2s ease;
  vertical-align: middle;
}
#access .sec02 .cat__btn li a svg path {
  fill: #806F6F;
  transition: fill 0.2s ease;
}
#access .sec02 .cat__btn li a p {
  text-align: center;
  color: #504644;
  transition: color 0.2s ease;
}
#access .sec02 .cat__btn li a .fa-chevron-down {
  color: #806F6F;
  font-size: 1.8rem;
}
@media (max-width: 750px) {
  #access .sec02 {
    padding: 0 0 30px;
  }
  #access .sec02 .sec__in__s {
    height: 40px;
  }
  #access .sec02 .tabmenu {
    padding: 0 4%;
    transform: translateY(-65.6px);
    box-sizing: border-box;
    margin: 0 0 40px;
  }
  #access .sec02 .sec__in__l {
    padding: 0 6.6666666667%;
    box-sizing: border-box;
  }
  #access .sec02 .cat__btn {
    justify-content: center;
    gap: 5px;
  }
  #access .sec02 .cat__btn li {
    width: 49%;
  }
  #access .sec02 .cat__btn li a {
    width: 100%;
    padding: 6px 3.8709677419%;
  }
  #access .sec02 .cat__btn li a svg {
    width: 57.2327044025%;
  }
  #access .sec02 .cat__btn li a .fa-chevron-down {
    font-size: 1.3rem;
  }
}
#access .common__layout {
  background: #fff;
  margin: 0 0 30px;
  scroll-margin-top: 100px;
}
#access .common__layout .stit {
  background: var(--02, #806F6F);
  padding: 6px 0;
  box-sizing: border-box;
}
#access .common__layout .stit h2 {
  color: #fff;
  align-items: center;
  gap: 4px;
}
#access .common__layout .stit h2 img {
  width: 70px;
}
#access .common__layout .wrapper {
  padding: 40px 0 60px;
  box-sizing: border-box;
}
#access .common__layout ol li {
  align-items: baseline;
  gap: 7px;
  margin: 0 0 44px;
  position: relative;
}
#access .common__layout ol li::after {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  background: url(../images/access/arrow.svg) no-repeat;
  bottom: -35px;
  left: 2em;
}
#access .common__layout ol li .num {
  background: #806F6F;
  color: #fff;
  width: 22px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  padding: 2px;
  flex-shrink: 0;
}
#access .common__layout ol li:last-child {
  margin: 0;
}
#access .common__layout ol li:last-child::after {
  display: none;
}
#access .common__layout .btn {
  width: 290px;
  margin: 0 auto;
}
#access .common__layout .btn a {
  display: block;
  padding: 21px 0;
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
  transition: background-color 0.5s ease, color 0.5s ease;
}
#access .common__layout .btn a.js--on {
  background: #504644;
  color: #fff;
}
@media (max-width: 750px) {
  #access .common__layout {
    scroll-margin-top: 80px;
  }
  #access .common__layout .stit {
    padding: 6px 4%;
  }
  #access .common__layout .stit h2 img {
    width: 15.652173913%;
  }
  #access .common__layout .wrapper {
    box-sizing: border-box;
    padding: 20px 4% 40px;
  }
  #access .common__layout ol li {
    margin: 0 0 28px;
  }
  #access .common__layout ol li::after {
    width: 16px;
    height: 16px;
    background-size: contain;
    bottom: -20px;
  }
  #access .common__layout .btn {
    width: 72.4637681159%;
    max-width: 100%;
  }
}
#access .sec03 .wrapper .info {
  margin: 0 0 15px;
}
#access .sec03 .wrapper .info dl {
  gap: 5px;
  align-items: center;
  margin: 0 0 4px;
}
#access .sec03 .wrapper .info dl:last-child {
  margin: 0;
}
#access .sec03 .wrapper .info dl dt {
  width: 5em;
  color: #806F6F;
}
#access .sec03 .wrapper iframe {
  width: 100%;
  vertical-align: middle;
  margin: 0 0 30px;
}
@media (max-width: 750px) {
  #access .sec03 .wrapper .info dl {
    align-items: baseline;
  }
  #access .sec03 .wrapper .info dl dt {
    flex-shrink: 0;
  }
  #access .sec03 .wrapper iframe {
    margin: 0 0 20px;
    aspect-ratio: 345/500;
  }
}
#access .sec04 .wrapper .sec__in__l > .dp__flex {
  gap: 36px;
  justify-content: space-between;
}
#access .sec04 .wrapper ol {
  width: 389px;
}
#access .sec04 .wrapper .right {
  gap: 9px;
  flex-wrap: wrap;
}
#access .sec04 .wrapper .right figure {
  border-radius: 5px;
  overflow: hidden;
  margin: 0 0 0 auto;
}
#access .sec04 .wrapper .right figure:first-child {
  width: 391px;
}
#access .sec04 .wrapper .right figure:last-child {
  width: 346px;
}
@media (max-width: 750px) {
  #access .sec04 .wrapper .sec__in__l > .dp__flex {
    flex-direction: column;
    gap: 20px;
  }
  #access .sec04 .wrapper ol {
    width: 100%;
  }
  #access .sec04 .wrapper .right figure:first-child {
    width: 100%;
  }
  #access .sec04 .wrapper .right figure:last-child {
    width: 100%;
  }
}
#access .sec05 .wrapper .sec__in__l > p {
  margin: 0 0 20px;
}
#access .sec05 .wrapper .info {
  margin: 0 0 15px;
}
#access .sec05 .wrapper .info dl {
  gap: 16px;
  align-items: center;
  margin: 0 0 4px;
}
#access .sec05 .wrapper .info dl:last-child {
  margin: 0;
}
#access .sec05 .wrapper .info dl dt {
  color: #806F6F;
}
#access .sec06 .wrapper > .sec__in__l > .dp__flex {
  gap: 16px;
}
#access .sec06 .wrapper .left {
  width: min(53.174vw, 670px);
}
#access .sec06 .wrapper .sbox {
  margin: 0 0 33px;
}
#access .sec06 .wrapper .sbox h3 {
  margin: 0 0 10px;
  align-items: center;
  gap: 17px;
}
#access .sec06 .wrapper .sbox h3 img {
  width: 40px;
}
#access .sec06 .wrapper .sbox .link {
  color: var(--02, #1C50A1);
  text-decoration: underline;
}
#access .sec06 .wrapper .right {
  width: min(61.764vw, 500px);
  flex-shrink: 0;
}
@media (max-width: 750px) {
  #access .sec06 .wrapper > .sec__in__l > .dp__flex {
    flex-direction: column;
    gap: 20px;
  }
  #access .sec06 .wrapper .left {
    width: 100%;
  }
  #access .sec06 .wrapper .left .sbox {
    margin: 0 0 26px;
  }
  #access .sec06 .wrapper .left .sbox:last-child {
    margin: 0;
  }
  #access .sec06 .wrapper .left .sbox h3 {
    margin: 0 0 5px;
  }
  #access .sec06 .wrapper .left .sbox h3 img {
    width: 16.231884058%;
  }
  #access .sec06 .wrapper .right {
    width: 100%;
  }
}
#access .sec07 .wrapper .sec__in__l > .dp__flex {
  gap: 36px;
  justify-content: space-between;
}
#access .sec07 .wrapper .left {
  width: 369px;
}
#access .sec07 .wrapper .left p {
  margin: 0 0 10px;
}
#access .sec07 .wrapper .left p:last-child {
  margin: 0;
}
#access .sec07 .wrapper .right {
  gap: 9px;
  flex-wrap: wrap;
}
#access .sec07 .wrapper .right figure {
  border-radius: 5px;
  overflow: hidden;
  margin: 0 0 0 auto;
}
#access .sec07 .wrapper .right figure:first-child {
  width: 391px;
}
#access .sec07 .wrapper .right figure:last-child {
  width: 346px;
}
@media (max-width: 750px) {
  #access .sec07 .wrapper .sec__in__l > .dp__flex {
    flex-direction: column;
    gap: 20px;
  }
  #access .sec07 .wrapper .left {
    width: 100%;
  }
  #access .sec07 .wrapper .left p {
    margin: 0 0 5px;
  }
  #access .sec07 .wrapper .right {
    width: 100%;
  }
  #access .sec07 .wrapper .right figure:first-child {
    width: 100%;
  }
  #access .sec07 .wrapper .right figure:last-child {
    width: 100%;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#about .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 77px;
}
#about .sec01 {
  padding: 178px 0 60px;
}
#about .sec01 .subpage__tit {
  margin: 0 0 42px;
}
#about .sec01 p.fs__txt__16 {
  text-align: center;
}
@media (max-width: 750px) {
  #about .sec01 {
    padding: 31.466vw 4% 0;
    margin: 0 0 30px;
  }
}
#about .sec02 .stit {
  position: relative;
  width: 100%;
  z-index: 0;
  box-sizing: border-box;
  padding: 42px 0;
}
#about .sec02 .stit h2 {
  color: var(--01, #0098D8);
  text-align: center;
  position: relative;
  z-index: 1;
  margin: 0 0 8px;
}
#about .sec02 .stit p {
  color: var(--02, #1C50A1);
  text-align: center;
  position: relative;
  z-index: 1;
}
#about .sec02 .stit.js--ing::before {
  animation: bgSlide 3s cubic-bezier(1, 1, 0.36, 1) forwards;
  background: #fff;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform-origin: left center;
}
@keyframes bgSlide {
  0% {
    opacity: 0;
    transform: scaleX(0) translateX(-5%);
  }
  30% {
    transform: scaleX(1) translateX(0);
  }
  100% {
    transform: scaleX(1) translateX(0);
  }
  30%, 100% {
    opacity: 1;
  }
}
#about .sec02 .wrapper {
  padding: 80px 0 142px;
  position: relative;
}
#about .sec02 .wrapper .txt {
  position: relative;
  z-index: 10;
}
#about .sec02 .wrapper .txt p {
  text-align: center;
  line-height: 2.5;
  color: var(--03, #504644);
  white-space: nowrap;
}
#about .sec02 .wrapper ul li {
  width: min(15.682vw, 248px);
  aspect-ratio: 1/1;
  position: absolute;
  opacity: 0;
  z-index: 0;
}
#about .sec02 .wrapper ul li:first-child {
  top: min(-2.142vw, -27px);
  left: min(6.507vw, 82px);
}
#about .sec02 .wrapper ul li:nth-of-type(2) {
  top: -27px;
  right: min(6.507vw, 82px);
}
#about .sec02 .wrapper ul li:nth-of-type(3) {
  top: 243px;
  left: 0;
}
#about .sec02 .wrapper ul li:nth-of-type(4) {
  top: 243px;
  right: 0;
}
#about .sec02 .wrapper ul li:nth-of-type(5) {
  top: 513px;
  left: min(6.507vw, 82px);
}
#about .sec02 .wrapper ul li:nth-of-type(6) {
  top: 513px;
  right: min(6.507vw, 82px);
}
#about .sec02 .wrapper.js--ing ul li {
  opacity: 1;
}
#about .sec02 .wrapper.js--ing ul li:nth-of-type(2) {
  transition: opacity 0.5s ease 0.3s;
}
#about .sec02 .wrapper.js--ing ul li:nth-of-type(3) {
  transition: opacity 0.5s ease 0.4s;
}
#about .sec02 .wrapper.js--ing ul li:nth-of-type(4) {
  transition: opacity 0.5s ease 0.1s;
}
#about .sec02 .wrapper.js--ing ul li:nth-of-type(5) {
  transition: opacity 0.5s ease 0.2s;
}
#about .sec02 .wrapper.js--ing ul li:nth-of-type(6) {
  transition: opacity 0.5s ease 0.5s;
}
@media (max-width: 750px) {
  #about .sec02 .stit {
    padding: 30px 4%;
    box-sizing: border-box;
  }
  #about .sec02 .stit h2 {
    font-size: 2rem;
  }
  #about .sec02 .wrapper.js--ing ul li {
    opacity: 0;
  }
  #about .sec02 .wrapper {
    position: static;
    padding: 40px 4% 60px;
    box-sizing: border-box;
  }
  #about .sec02 .wrapper .txt {
    padding: 0 0 40px;
  }
  #about .sec02 .wrapper .txt p {
    white-space: wrap;
  }
  #about .sec02 .wrapper ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
  }
  #about .sec02 .wrapper ul li {
    width: 48.115942029%;
    position: static;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
  }
  #about .sec02 .wrapper ul li:nth-of-type(2) {
    margin: 53px 0 0;
  }
  #about .sec02 .wrapper ul li:nth-of-type(3),
  #about .sec02 .wrapper ul li:nth-of-type(5) {
    margin: -53px 0 0;
  }
  #about .sec02 .wrapper ul.js--ing li {
    opacity: 1;
  }
  #about .sec02 .wrapper ul.js--ing li:nth-of-type(2) {
    transition: opacity 0.5s ease 0.3s;
  }
  #about .sec02 .wrapper ul.js--ing li:nth-of-type(3) {
    transition: opacity 0.5s ease 0.4s;
  }
  #about .sec02 .wrapper ul.js--ing li:nth-of-type(4) {
    transition: opacity 0.5s ease 0.1s;
  }
  #about .sec02 .wrapper ul.js--ing li:nth-of-type(5) {
    transition: opacity 0.5s ease 0.2s;
  }
  #about .sec02 .wrapper ul.js--ing li:nth-of-type(6) {
    transition: opacity 0.5s ease 0.5s;
  }
}
#about .sec03 {
  overflow: hidden;
}
#about .sec03 .stit {
  position: relative;
  width: 100%;
  z-index: 0;
  box-sizing: border-box;
  padding: 42px 0;
}
#about .sec03 .stit h2 {
  color: #fff;
  text-align: left;
  position: relative;
  z-index: 1;
  margin: 0 0 8px;
}
#about .sec03 .stit p {
  color: #fff;
  text-align: left;
  position: relative;
  z-index: 1;
  width: min(40.65vw, 690px);
}
#about .sec03 .stit.js--ing::before {
  animation: bgSlide 3s cubic-bezier(1, 1, 0.36, 1) forwards;
  background: var(--02, #1C50A1);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform-origin: left center;
}
@keyframes bgSlide {
  0% {
    opacity: 0;
    transform: scaleX(0) translateX(-5%);
  }
  30% {
    transform: scaleX(1) translateX(0);
  }
  100% {
    transform: scaleX(1) translateX(0);
  }
  30%, 100% {
    opacity: 1;
  }
}
#about .sec03 .wrapper {
  padding: 28px 0 0;
  position: relative;
}
#about .sec03 .wrapper figure {
  width: min(64.842vw, 616px);
  aspect-ratio: 616/917;
  position: sticky;
  flex-shrink: 0;
  padding: 0 30px 0 0;
  display: block;
}
#about .sec03 .wrapper figure img {
  border-radius: 8px;
}
#about .sec03 .wrapper .txt {
  background: #fff;
  border-radius: 8px;
  position: sticky;
  top: -132px;
  right: min(2.38vw, 60px);
  padding: min(4.315vw, 41px) 4%;
  box-sizing: border-box;
  flex-shrink: 0;
  margin: -132px 0 0;
  width: min(53.947vw, 503px);
  display: block;
  opacity: 0;
  transition: transform 0.5s ease 0.3s, opacity 0.5s ease 0.3s;
  transform: translateY(100px);
}
#about .sec03 .wrapper .txt p {
  text-align: center;
  line-height: 2.5;
  color: var(--03, #504644);
  white-space: nowrap;
}
#about .sec03 .wrapper figure.js--ing + .txt {
  opacity: 1;
  transform: translateY(0px);
}
@media (max-width: 750px) {
  #about .sec03 .stit {
    padding: 30px 4% 67px;
    box-sizing: border-box;
  }
  #about .sec03 .stit h2 {
    font-size: 2rem;
  }
  #about .sec03 .stit p {
    width: 100%;
  }
  #about .sec03 .wrapper {
    padding: 0;
  }
  #about .sec03 .wrapper .dp__flex {
    flex-direction: column;
    gap: 0;
  }
  #about .sec03 .wrapper figure {
    order: 2;
    width: 96%;
    margin: -70px auto 0 0;
    position: relative;
    padding: 0;
  }
  #about .sec03 .wrapper figure img {
    border-radius: 0px 8px 8px 0px;
  }
  #about .sec03 .wrapper .txt {
    width: 96%;
    position: relative;
    top: -50px;
    right: 0;
    margin: 0 0 0 auto;
    order: 1;
    z-index: 1;
    border-radius: 8px 0px 0px 8px;
    white-space: wrap;
    transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  }
  #about .sec03 .wrapper .txt p {
    white-space: wrap;
  }
  #about .sec03 .wrapper .txt.js--ing {
    opacity: 1;
    transform: translateY(0);
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#sitemap .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 77px;
}
#sitemap .bg__white__wrapper {
  background: #fff;
  padding: 50px 0;
}
@media (max-width: 750px) {
  #sitemap .bg__white__wrapper {
    padding: 15px 0 0;
  }
}
#sitemap .sec01 {
  padding: 178px 0 42px;
}
@media (max-width: 750px) {
  #sitemap .sec01 {
    padding: 31.466vw 4% 8vw;
  }
}
#sitemap .common__layout h2 {
  background: var(--02, #806F6F);
  padding: 16px 26px;
  color: #fff;
}
#sitemap .common__layout ul.container {
  padding: 25px 15px;
  box-sizing: border-box;
  margin: 0 0 45px;
}
#sitemap .common__layout ul.container > li {
  margin: 0 0 30px;
}
#sitemap .common__layout ul.container > li:last-child {
  margin: 0;
}
#sitemap .common__layout ul.container > li h3 {
  margin: 0 0 10px;
}
#sitemap .common__layout ul.container > li h3 a {
  gap: 6px;
  align-items: center;
  width: -moz-max-content;
  width: max-content;
}
#sitemap .common__layout ul.container > li h3 a span {
  width: 24px;
  aspect-ratio: 1/1;
  display: grid;
  place-content: center;
  border-radius: 50%;
}
#sitemap .common__layout ul.container > li h3 a span:not(.pdf, .square) {
  border: 1px solid #806F6F;
  background: #F6F2F2;
}
#sitemap .common__layout ul.container > li h3 a span:not(.pdf, .square) .fa-angle-right {
  color: #806F6F;
}
#sitemap .common__layout ul.container > li > .dp__flex {
  padding: 0 15px;
  box-sizing: border-box;
  gap: 25px;
}
#sitemap .common__layout ul.container > li > .dp__flex h4 {
  align-items: center;
}
#sitemap .common__layout ul.container > li > .dp__flex h4 .fa-angle-right {
  color: #806F6F;
  margin: 0 5px 0 0;
}
@media (max-width: 750px) {
  #sitemap .common__layout h2 {
    padding: 15px 4%;
    box-sizing: border-box;
  }
  #sitemap .common__layout ul.container {
    margin: 0 0 25px;
    padding: 25px 4%;
    box-sizing: border-box;
  }
  #sitemap .common__layout ul.container > li {
    margin: 0 0 25px;
  }
  #sitemap .common__layout ul.container > li > .dp__flex {
    flex-wrap: wrap;
    -moz-column-gap: 25px;
         column-gap: 25px;
    row-gap: 12px;
  }
  #sitemap .common__layout ul.container > li > .dp__flex h4 {
    font-size: 1.3rem;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#terms-service .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 77px;
}
#terms-service .bg__white__wrapper {
  background: #fff;
  padding: 70px 0;
}
@media (max-width: 750px) {
  #terms-service .bg__white__wrapper {
    padding: 40px 0;
  }
}
#terms-service .sec01 {
  padding: 178px 0 42px;
}
@media (max-width: 750px) {
  #terms-service .sec01 {
    padding: 31.466vw 4% 8vw;
  }
}
#terms-service .sec02 {
  padding: 0 0 30px;
}
#terms-service .sec02 ul {
  justify-content: center;
  gap: 20px;
  align-self: stretch;
}
#terms-service .sec02 ul li a {
  display: grid;
  place-content: center;
  background: #fff;
  color: var(--03, #504644);
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  padding: 24px 10px;
  width: min(30.158vw, 380px);
  height: 100%;
  box-sizing: border-box;
  transition: color 0.2s ease, background-color 0.2s ease;
}
#terms-service .sec02 ul li a.active, #terms-service .sec02 ul li a.js--on {
  background: #504644;
  color: #fff;
}
@media (max-width: 750px) {
  #terms-service .sec02 {
    padding: 0 4% 30px;
    box-sizing: border-box;
  }
  #terms-service .sec02 ul {
    flex-direction: column;
    gap: 10px;
  }
  #terms-service .sec02 ul li a {
    width: 100%;
  }
}
#terms-service .sec03 {
  padding: 0 0 70px;
}
#terms-service .sec03 .first__txt {
  margin: 0 0 70px;
}
#terms-service .sec03 .first__txt h2 {
  margin: 0 0 20px;
}
#terms-service .sec03 ol.list__l > li {
  margin: 0 0 70px;
}
#terms-service .sec03 ol.list__l > li:last-child {
  margin: 0;
}
#terms-service .sec03 ol.list__l > li h2 {
  margin: 0 0 30px;
}
#terms-service .sec03 ol.list__l > li h3 {
  margin: 0 0 15px;
}
#terms-service .sec03 ol.list__l > li > ol > li {
  margin: 0 0 30px;
}
#terms-service .sec03 ol.list__l > li > ol > li:last-child {
  margin: 0;
}
#terms-service .sec03 .link {
  color: #1C50A1;
  text-decoration: underline;
}
@media (max-width: 750px) {
  #terms-service .sec03 {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #terms-service .sec03 .first__txt {
    margin: 0 0 38px;
  }
  #terms-service .sec03 ol.list__l > li {
    margin: 0 0 38px;
  }
  #terms-service .sec03 ol.list__l > li h2 {
    margin: 0 0 10px;
  }
  #terms-service .sec03 ol.list__l > li h3 {
    margin: 0 0 5px;
  }
}
#terms-service .sec04 {
  padding: 0 0 70px;
}
#terms-service .sec04 ul {
  gap: 30px;
  justify-content: center;
}
#terms-service .sec04 ul li {
  width: 100%;
}
#terms-service .sec04 ul li a {
  display: block;
  max-width: 300px;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  text-align: center;
  padding: 24px 10px 15px;
  box-sizing: border-box;
  height: 100%;
  transition: color 0.2s ease, background-color 0.2s ease;
}
#terms-service .sec04 ul li a .fa-chevron-down {
  display: block;
  margin: 0 auto;
  padding: 11px 0 0;
  color: #A49A9A;
  transition: color 0.2s ease, background-color 0.2s ease;
}
#terms-service .sec04 ul li a.js--on {
  background: #504644;
  color: #fff;
}
#terms-service .sec04 ul li a.js--on .fa-chevron-down {
  color: #fff;
}
@media (max-width: 750px) {
  #terms-service .sec04 {
    padding: 38px 2.8985507246%;
    box-sizing: border-box;
  }
  #terms-service .sec04 ul {
    flex-direction: column;
    gap: 5px;
  }
  #terms-service .sec04 ul li a {
    width: 100%;
    min-width: 100%;
    padding: 14px 3.6923076923%;
    box-sizing: border-box;
  }
  #terms-service .sec04 ul li a .fa-chevron-down {
    padding: 6px 0 0;
  }
}
#terms-service .sec05,
#terms-service .sec06,
#terms-service .sec07 {
  scroll-margin-top: 100px;
  margin: 0 0 70px;
}
#terms-service .sec05 h4,
#terms-service .sec06 h4,
#terms-service .sec07 h4 {
  color: #fff;
  background: var(--02, #806F6F);
  padding: 13px 20px;
  box-sizing: border-box;
}
#terms-service .sec05 ol.list__l,
#terms-service .sec06 ol.list__l,
#terms-service .sec07 ol.list__l {
  padding: 25px 32px 0;
  box-sizing: border-box;
}
#terms-service .sec05 ol.list__l > li,
#terms-service .sec06 ol.list__l > li,
#terms-service .sec07 ol.list__l > li {
  margin: 0 0 50px;
}
#terms-service .sec05 ol.list__l > li h5,
#terms-service .sec06 ol.list__l > li h5,
#terms-service .sec07 ol.list__l > li h5 {
  border-radius: 3px;
  padding: 12px 20px;
  box-sizing: border-box;
  background: var(--01, #F6F2F2);
  gap: 10px;
  margin: 0 0 21px;
  align-items: center;
}
#terms-service .sec05 ol.list__l > li h5 .num,
#terms-service .sec06 ol.list__l > li h5 .num,
#terms-service .sec07 ol.list__l > li h5 .num {
  background: #806F6F;
  color: #fff;
  display: grid;
  place-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  line-height: 1;
  letter-spacing: 0;
}
#terms-service .sec05 ol.list__l > li > ol > li,
#terms-service .sec06 ol.list__l > li > ol > li,
#terms-service .sec07 ol.list__l > li > ol > li {
  list-style: auto;
  padding: 0 0 0 0.8em;
  margin: 0 0 0 1.7em;
}
#terms-service .sec05 ol.list__l > li > ol > li p,
#terms-service .sec05 ol.list__l > li > ol > li dl,
#terms-service .sec05 ol.list__l > li > ol > li dt,
#terms-service .sec06 ol.list__l > li > ol > li p,
#terms-service .sec06 ol.list__l > li > ol > li dl,
#terms-service .sec06 ol.list__l > li > ol > li dt,
#terms-service .sec07 ol.list__l > li > ol > li p,
#terms-service .sec07 ol.list__l > li > ol > li dl,
#terms-service .sec07 ol.list__l > li > ol > li dt {
  margin: 0 0 5px;
}
#terms-service .sec05 ul.disc,
#terms-service .sec06 ul.disc,
#terms-service .sec07 ul.disc {
  margin: 0 0 0 1em;
}
#terms-service .sec05 ul.disc li,
#terms-service .sec06 ul.disc li,
#terms-service .sec07 ul.disc li {
  list-style: disc;
  margin: 0 0 5px;
  word-break: break-all;
}
#terms-service .sec05 .link,
#terms-service .sec06 .link,
#terms-service .sec07 .link {
  color: #1C50A1;
  text-decoration: underline;
}
#terms-service .sec05 .caution__box,
#terms-service .sec06 .caution__box,
#terms-service .sec07 .caution__box {
  padding: 0 32px;
  box-sizing: border-box;
}
#terms-service .sec05 .caution__box dl,
#terms-service .sec06 .caution__box dl,
#terms-service .sec07 .caution__box dl {
  border-radius: 3px;
  border: 1px solid #CD2424;
  padding: 11px 26px 18px;
  box-sizing: border-box;
  color: #CD2424;
}
#terms-service .sec05 .caution__box dl dt,
#terms-service .sec06 .caution__box dl dt,
#terms-service .sec07 .caution__box dl dt {
  margin: 0 0 5px;
}
#terms-service .sec05 .caution__box ul li,
#terms-service .sec06 .caution__box ul li,
#terms-service .sec07 .caution__box ul li {
  margin: 0 0 10px;
}
#terms-service .sec05 .caution__box ul li:last-child,
#terms-service .sec06 .caution__box ul li:last-child,
#terms-service .sec07 .caution__box ul li:last-child {
  margin: 0;
}
@media (max-width: 750px) {
  #terms-service .sec05,
  #terms-service .sec06,
  #terms-service .sec07 {
    margin: 0 0 38px;
    scroll-margin-top: 80px;
  }
  #terms-service .sec05 ol.list__l,
  #terms-service .sec06 ol.list__l,
  #terms-service .sec07 ol.list__l {
    padding: 15px 4% 0;
    box-sizing: border-box;
  }
  #terms-service .sec05 ol.list__l > li,
  #terms-service .sec06 ol.list__l > li,
  #terms-service .sec07 ol.list__l > li {
    margin: 0 0 30px;
  }
  #terms-service .sec05 ol.list__l > li h5,
  #terms-service .sec06 ol.list__l > li h5,
  #terms-service .sec07 ol.list__l > li h5 {
    margin: 0 0 15px;
  }
  #terms-service .sec05 .caution__box,
  #terms-service .sec06 .caution__box,
  #terms-service .sec07 .caution__box {
    padding: 0 4%;
  }
  #terms-service .sec05 .caution__box dl,
  #terms-service .sec06 .caution__box dl,
  #terms-service .sec07 .caution__box dl {
    padding: 13px 6.1538461538%;
    box-sizing: border-box;
  }
  #terms-service .sec05 .caution__box dl dd,
  #terms-service .sec06 .caution__box dl dd,
  #terms-service .sec07 .caution__box dl dd {
    font-size: 1.3rem;
  }
}
#terms-service .sec07 {
  margin: 0;
}
#terms-service .sec07 h6 {
  margin: 0 0 10px;
  display: inline-block;
}
#terms-service .sec07 ol.list__l > li:last-child {
  margin: 0;
}
#terms-service .sec07 ol.list__l > li > ol > li {
  display: list-item !important;
  list-style: decimal;
  list-style-position: inside;
  margin: 0 0 40px;
}
#terms-service .sec07 ol.list__l > li > ol > li::marker {
  font-size: 2rem;
}
#terms-service .sec07 ol.list__l > li > ul li {
  margin: 0 0 30px;
}
#terms-service .sec07 ol.list__l > li > ul li:last-child {
  margin: 0;
}
#terms-service .sec07 ul.disc {
  padding: 0 0 0 1.6em;
  margin: 0 0 0 1.7em;
}
#terms-service .sec07 .sbox {
  border-radius: 3px;
  border: 1px solid var(--01-02, #A49A9A);
  padding: 20px 25px;
  box-sizing: border-box;
}
@media (max-width: 750px) {
  #terms-service .sec07 ol.list__l > li > ol > li {
    margin: 0 0 30px;
  }
  #terms-service .sec07 ol.list__l > li > ol > li::marker {
    font-size: 1.6rem;
  }
  #terms-service .sec07 ul.disc {
    padding: 0 0 0 0.5em;
  }
  #terms-service .sec07 .sbox {
    padding: 15px 5.7971014493%;
    box-sizing: border-box;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#terms-media .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 77px;
}
#terms-media .bg__white__wrapper {
  background: #fff;
  padding: 70px 0 93px;
}
@media (max-width: 750px) {
  #terms-media .bg__white__wrapper {
    padding: 40px 0;
  }
}
#terms-media .sec01 {
  padding: 178px 0 42px;
}
@media (max-width: 750px) {
  #terms-media .sec01 {
    padding: 31.466vw 4% 8vw;
  }
}
#terms-media .sec02 {
  padding: 0 0 30px;
}
#terms-media .sec02 ul {
  justify-content: center;
  gap: 20px;
  align-self: stretch;
}
#terms-media .sec02 ul li a {
  display: grid;
  place-content: center;
  background: #fff;
  color: var(--03, #504644);
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  padding: 24px 10px;
  width: min(30.158vw, 380px);
  height: 100%;
  box-sizing: border-box;
  transition: color 0.2s ease, background-color 0.2s ease;
}
#terms-media .sec02 ul li a.active, #terms-media .sec02 ul li a.js--on {
  background: #504644;
  color: #fff;
}
@media (max-width: 750px) {
  #terms-media .sec02 {
    padding: 0 4% 30px;
    box-sizing: border-box;
  }
  #terms-media .sec02 ul {
    flex-direction: column;
    gap: 10px;
  }
  #terms-media .sec02 ul li a {
    width: 100%;
  }
}
#terms-media .sec03 .first__txt {
  margin: 0 0 70px;
}
#terms-media .sec03 .first__txt h2 {
  margin: 0 0 20px;
}
#terms-media .sec03 ol.list__l {
  margin: 0 0 50px;
}
#terms-media .sec03 ol.list__l > li {
  margin: 0 0 50px;
}
#terms-media .sec03 ol.list__l > li:last-child {
  margin: 0;
}
#terms-media .sec03 ol.list__l > li h2 {
  margin: 0 0 15px;
}
#terms-media .sec03 ol.list__l > li h3 {
  margin: 0 0 15px;
}
#terms-media .sec03 ol.list__l > li > ol {
  list-style: decimal;
  margin: 0 0 0 1.7em;
}
#terms-media .sec03 ol.list__l > li > ol > li {
  margin: 0 0 5px;
  padding: 0 0 0 0.8em;
}
#terms-media .sec03 ol.list__l > li > ol > li:last-child {
  margin: 0;
}
#terms-media .sec03 ul.disc {
  margin: 0 0 0 1.6em;
}
#terms-media .sec03 ul.disc li {
  list-style: disc;
  margin: 0 0 5px;
  word-break: break-all;
}
#terms-media .sec03 .link {
  color: #1C50A1;
  text-decoration: underline;
}
@media (max-width: 750px) {
  #terms-media .sec03 {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #terms-media .sec03 .first__txt {
    margin: 0 0 38px;
  }
  #terms-media .sec03 .first__txt h2 {
    margin: 0 0 10px;
  }
  #terms-media .sec03 ol.list__l {
    margin: 0 0 30px;
  }
  #terms-media .sec03 ol.list__l > li {
    margin: 0 0 30px;
  }
  #terms-media .sec03 ol.list__l > li h2 {
    margin: 0 0 5px;
  }
  #terms-media .sec03 ol.list__l > li h3 {
    margin: 0 0 5px;
  }
  #terms-media .sec03 ol.list__l > li dt {
    margin: 0 0 15px;
  }
  #terms-media .sec03 ol.list__l > li > ol > li {
    padding: 0 0 0 0.3em;
  }
  #terms-media .sec03 ul.disc {
    margin: 0 0 0 0.4em;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#terms-privacy .bg__wrapper {
  background: var(--01, #F6F2F2);
  padding: 0 0 77px;
}
#terms-privacy .bg__white__wrapper {
  background: #fff;
  padding: 70px 0;
}
@media (max-width: 750px) {
  #terms-privacy .bg__white__wrapper {
    padding: 40px 0;
  }
}
#terms-privacy .sec01 {
  padding: 178px 0 42px;
}
@media (max-width: 750px) {
  #terms-privacy .sec01 {
    padding: 31.466vw 4% 8vw;
  }
}
#terms-privacy .sec02 {
  padding: 0 0 30px;
}
#terms-privacy .sec02 ul {
  justify-content: center;
  gap: 20px;
  align-self: stretch;
}
#terms-privacy .sec02 ul li a {
  display: grid;
  place-content: center;
  background: #fff;
  color: var(--03, #504644);
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  padding: 24px 10px;
  width: min(30.158vw, 380px);
  height: 100%;
  box-sizing: border-box;
  transition: color 0.2s ease, background-color 0.2s ease;
}
#terms-privacy .sec02 ul li a.active, #terms-privacy .sec02 ul li a.js--on {
  background: #504644;
  color: #fff;
}
@media (max-width: 750px) {
  #terms-privacy .sec02 {
    padding: 0 4% 30px;
    box-sizing: border-box;
  }
  #terms-privacy .sec02 ul {
    flex-direction: column;
    gap: 10px;
  }
  #terms-privacy .sec02 ul li a {
    width: 100%;
  }
}
#terms-privacy .sec03 {
  margin: 0 0 90px;
}
#terms-privacy .sec03 .first__txt {
  margin: 0 0 70px;
}
#terms-privacy .sec03 .first__txt h2 {
  margin: 0 0 20px;
}
#terms-privacy .sec03 ol.list__l {
  margin: 0 0 40px;
  list-style: decimal;
}
#terms-privacy .sec03 ol.list__l > li {
  padding: 0 0 0 0.8em;
  margin: 0 0 5px 1.7em;
}
#terms-privacy .sec03 ol.list__l > li:last-child {
  margin: 0 0 0 1.7em;
}
#terms-privacy .sec03 ol.list__l > li h2 {
  margin: 0 0 15px;
}
#terms-privacy .sec03 ol.list__l > li h3 {
  margin: 0 0 15px;
}
#terms-privacy .sec03 ol.list__l > li > ol {
  list-style: decimal;
  margin: 0 0 0 1.7em;
}
#terms-privacy .sec03 ol.list__l > li > ol > li {
  margin: 0 0 5px;
  padding: 0 0 0 0.8em;
}
#terms-privacy .sec03 ol.list__l > li > ol > li:last-child {
  margin: 0;
}
#terms-privacy .sec03 ul.disc {
  margin: 0 0 0 1.6em;
}
#terms-privacy .sec03 ul.disc li {
  list-style: disc;
  margin: 0 0 5px;
  word-break: break-all;
}
#terms-privacy .sec03 .link {
  color: #1C50A1;
  text-decoration: underline;
}
#terms-privacy .sec03 .last__txt {
  margin: 0 0 40px;
}
#terms-privacy .sec03 .signature p {
  text-align: right;
}
@media (max-width: 750px) {
  #terms-privacy .sec03 {
    padding: 0 4%;
    margin: 0 0 73px;
    box-sizing: border-box;
  }
  #terms-privacy .sec03 .first__txt {
    margin: 0 0 38px;
  }
  #terms-privacy .sec03 .first__txt h2 {
    margin: 0 0 10px;
  }
  #terms-privacy .sec03 ol.list__l {
    margin: 0 0 40px;
  }
  #terms-privacy .sec03 ol.list__l > li {
    margin: 0 0 15px 1.7em;
    padding: 0 0 0 0.5em;
  }
  #terms-privacy .sec03 ol.list__l > li h2 {
    margin: 0 0 5px;
  }
  #terms-privacy .sec03 ol.list__l > li h3 {
    margin: 0 0 5px;
  }
  #terms-privacy .sec03 ol.list__l > li dt {
    margin: 0 0 15px;
  }
  #terms-privacy .sec03 ol.list__l > li > ol > li {
    padding: 0 0 0 0.3em;
  }
  #terms-privacy .sec03 ul.disc {
    margin: 0 0 0 0.4em;
  }
}
#terms-privacy .sec04 h2 {
  margin: 0 0 20px;
}
#terms-privacy .sec04 h3 {
  margin: 0 0 15px;
}
#terms-privacy .sec04 h4 {
  margin: 0 0 5px;
}
#terms-privacy .sec04 .first__txt {
  margin: 0 0 41px;
}
#terms-privacy .sec04 ul.list__l > li {
  margin: 0 0 50px;
}
#terms-privacy .sec04 ul.list__l > li:last-child {
  margin: 0;
}
#terms-privacy .sec04 ul.list__l > li ol {
  list-style: decimal;
}
#terms-privacy .sec04 ul.list__l > li ol > li {
  padding: 0 0 0 0.8em;
  margin: 0 0 5px 1.7em;
}
#terms-privacy .sec04 ul.list__l > li ol > li p {
  margin: 0 0 5px;
}
#terms-privacy .sec04 ul.list__l > li ol > li > ol > li {
  margin: 0 0 5px;
  padding: 0;
  list-style: none;
}
#terms-privacy .sec04 .sbox {
  border-radius: 3px;
  border: 1px solid var(--01-02, #A49A9A);
  padding: 20px 25px;
  box-sizing: border-box;
}
@media (max-width: 750px) {
  #terms-privacy .sec04 {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #terms-privacy .sec04 h2 {
    margin: 0 0 10px;
  }
  #terms-privacy .sec04 h3 {
    margin: 0 0 5px;
  }
  #terms-privacy .sec04 .first__txt {
    margin: 0 0 34px;
  }
  #terms-privacy .sec04 ul.list__l > li {
    margin: 0 0 30px;
  }
  #terms-privacy .sec04 ul.list__l > li ol > li {
    margin: 0 0 15px 1.7em;
    padding: 0 0 0 0.3em;
  }
  #terms-privacy .sec04 ul.list__l > li ol > li p {
    margin: 0 0 15px;
  }
  #terms-privacy .sec04 .sbox {
    padding: 15px 5.7971014493%;
    box-sizing: border-box;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#language img {
  vertical-align: middle;
}
@media screen and (min-width: 751px) and (max-width: 1180px) {
  #language .sec__in__l {
    padding: 0 30px;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 751px) and (max-width: 1180px) {
  #language .sec__in__s {
    padding: 0 30px;
    box-sizing: border-box;
  }
}
#language .common__layout .stit h2 {
  margin: 0 0 6px;
  font-weight: 400;
}
#language .common__layout .stit p {
  color: #281E1C;
}
#language .common__layout .btn {
  width: 290px;
  margin: 0 auto;
}
#language .common__layout .btn a {
  display: block;
  padding: 21px 0;
  text-align: center;
  border-radius: 5px;
  border: 1px solid var(--03, #504644);
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
  transition: background-color 0.5s ease, color 0.5s ease;
}
#language .common__layout .btn a.js--on {
  background: #504644;
  color: #fff;
}
@media (max-width: 750px) {
  #language .common__layout .btn {
    width: 72.4637681159%;
    max-width: 100%;
  }
}
#language .sec01 {
  padding: 427px 0 0;
  background: url(../images/language/sec01_bg_pc.jpg) no-repeat center 95px/cover;
  overflow: hidden;
  position: relative;
}
#language .sec01 > .dp__flex {
  position: absolute;
  justify-content: space-between;
  width: 100%;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  max-width: 1180px;
  margin: 0 auto;
}
#language .sec01 > .dp__flex .tit {
  padding: 140px 30px 0;
  box-sizing: border-box;
}
#language .sec01 > .dp__flex .tit p {
  margin: 0 0 20px;
  font-size: min(1.587vw, 2rem);
  white-space: nowrap;
}
#language .sec01 > .dp__flex .tit h1 {
  font-size: min(5.555vw, 7rem);
  white-space: nowrap;
}
#language .sec01 > .dp__flex figure {
  width: 454px;
  aspect-ratio: 454/559;
  flex-shrink: 0;
}
#language .sec01 .sec01-swiper01 {
  position: relative;
}
#language .sec01 .swiper-wrapper {
  align-items: flex-end;
  transition-timing-function: linear;
}
#language .sec01 .swiper-slide {
  width: 372px;
}
#language .sec01 .swiper-pagination {
  bottom: -40px;
}
@media (max-width: 750px) {
  #language .sec01 {
    padding: 82px 0 64px;
    background: url(../images/language/sec01_bg_sp.jpg) no-repeat center/cover;
    aspect-ratio: 375/580;
  }
  #language .sec01 > .dp__flex {
    flex-direction: column;
    gap: 17px;
  }
  #language .sec01 > .dp__flex .tit {
    width: 55.2%;
    padding: 0 4%;
  }
  #language .sec01 > .dp__flex .tit p {
    font-size: 1.6rem;
    margin: 0 0 10px;
  }
  #language .sec01 > .dp__flex .tit h1 {
    font-size: 4rem;
  }
  #language .sec01 > .dp__flex figure {
    width: 65.6%;
  }
  #language .sec01 .sec01-swiper01 {
    height: 100%;
  }
  #language .sec01 .swiper-wrapper {
    width: 41.6vw;
    height: 100%;
    margin: 0 -4.5333333333% 0 auto;
  }
  #language .sec01 .swiper-slide {
    width: 100%;
    height: auto !important;
  }
}
#language .sec02 {
  padding: 90px 0 100px;
}
#language .sec02 p {
  text-align: center;
}
@media (max-width: 750px) {
  #language .sec02 {
    padding: 60px 6.6666666667%;
  }
}
#language .sec03 {
  position: relative;
  padding: 70px 0 37px;
  scroll-margin-top: 100px;
}
#language .sec03 .bg__wrapper {
  position: absolute;
  z-index: 10;
  -webkit-clip-path: polygon(0 17%, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 17%, 100% 0, 100% 100%, 0 100%);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
}
#language .sec03 .bg__wrapper::before {
  content: "";
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  position: fixed;
  background: url(../images/language/sec03_bg_pc.jpg) no-repeat center/cover fixed;
}
#language .sec03 .sec__in__l {
  position: relative;
  z-index: 10;
}
#language .sec03 .sec__in__l h2 {
  margin: 0 0 28px;
}
#language .sec03 > p {
  text-align: right;
  width: min(40.476vw, 510px);
  margin: 0 0 26px auto;
  position: relative;
  z-index: 10;
  padding: 0 40px 0 0;
  box-sizing: border-box;
}
#language .sec03 ul {
  background: #fff;
  border-radius: 10px 0px 0px 10px;
  padding: 49px 41px 49px 59px;
  box-sizing: border-box;
  width: min(55.555vw, 700px);
  margin: 0 0 0 auto;
  position: relative;
  z-index: 10;
}
#language .sec03 ul li {
  margin: 0 0 20px;
}
#language .sec03 ul li:last-child {
  margin: 0;
}
#language .sec03 ul li h3::first-letter {
  color: var(--02, #1C50A1);
}
@media (max-width: 750px) {
  #language .sec03 {
    margin: 0 0 90px;
    padding: 0;
  }
  #language .sec03 .bg__wrapper {
    position: absolute;
    z-index: 10;
    -webkit-clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 100%);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
    padding: 0 0 90px;
  }
  #language .sec03 .bg__wrapper::before {
    width: auto;
    min-width: 100%;
    height: 100vh;
    background: url(../images/language/sec03_bg_sp.jpg) no-repeat center/cover;
  }
  #language .sec03 .sec__in__l {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #language .sec03 > p {
    width: 100%;
    padding: 0 4%;
  }
  #language .sec03 ul {
    width: 81.8666666667%;
    padding: 30px 4.8859934853% 30px 10.4234527687%;
  }
  #language .sec03 ul li h3 {
    font-size: 2.6rem;
  }
  #language .sec03 ul li p {
    font-size: 1.4rem;
  }
}
#language .sec04 {
  background: var(--04, #281E1C);
  padding: 119px 0 124px;
  overflow: hidden;
}
#language .sec04 h2 {
  margin: 0 0 80px;
  color: #E2F7FF;
}
#language .sec04 ul li {
  justify-content: center;
  align-items: flex-start;
  margin: 0 0 105px;
}
#language .sec04 ul li .txt {
  padding: 10px 0 0;
  color: var(--04, #281E1C);
  width: min(52.38vw, 660px);
  position: relative;
}
#language .sec04 ul li .txt .belt {
  position: relative;
  padding: 24px 40px;
  box-sizing: border-box;
  margin: 0 0 25px;
  word-break: break-word;
  z-index: 0;
}
#language .sec04 ul li .txt .belt h3,
#language .sec04 ul li .txt .belt p {
  width: min(46.031vw, 580px);
  position: relative;
  z-index: 1;
}
#language .sec04 ul li .txt .belt.js--ing::before {
  animation: bgSlide 3s cubic-bezier(1, 0.22, 0.36, 1) forwards;
  background: #E2F7FF;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform-origin: left center;
}
@keyframes bgSlide {
  0% {
    opacity: 0;
    transform: scaleX(0) translateX(0);
  }
  30% {
    transform: scaleX(1) translateX(0);
  }
  100% {
    transform: scaleX(1) translateX(0);
  }
  30%, 100% {
    opacity: 1;
  }
}
#language .sec04 ul li .txt p.fs__txt__16 {
  padding: 0 40px;
  box-sizing: border-box;
}
#language .sec04 ul li figure {
  width: min(47.619vw, 600px);
  border-radius: 10px;
  overflow: hidden;
}
#language .sec04 ul li:nth-child(odd) .txt {
  order: 2;
}
#language .sec04 ul li:nth-child(odd) .txt .belt {
  margin: 0 -50vw 25px 0;
}
#language .sec04 ul li:nth-child(odd) figure {
  order: 1;
}
#language .sec04 ul li:nth-child(even) .txt {
  order: 1;
}
#language .sec04 ul li:nth-child(even) .txt .belt {
  margin: 0 0 25px -50vw;
}
#language .sec04 ul li:nth-child(even) .txt .belt h3,
#language .sec04 ul li:nth-child(even) .txt .belt p {
  margin: 0 0 0 auto;
}
#language .sec04 ul li:nth-child(even) figure {
  order: 2;
}
#language .sec04 ul li:last-child {
  margin: 0;
}
@media (max-width: 750px) {
  #language .sec04 {
    padding: 60px 0;
    overflow: visible;
    scroll-margin-top: 40px;
  }
  #language .sec04 .sec__in__l {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #language .sec04 h2 {
    margin: 0 0 30px;
  }
  #language .sec04 ul li {
    flex-direction: column;
    margin: 0 0 60px;
  }
  #language .sec04 ul li .txt {
    padding: 0;
    margin: -30px 0 0;
    z-index: 0;
    width: 100%;
  }
  #language .sec04 ul li .txt .belt {
    padding: 50px 4% 25px;
    width: 100%;
  }
  #language .sec04 ul li .txt .belt h3 {
    width: 100%;
  }
  #language .sec04 ul li .txt .belt p {
    width: 100%;
  }
  #language .sec04 ul li .txt p.fs__txt__16 {
    width: 100%;
    box-sizing: border-box;
    padding: 0 4%;
  }
  #language .sec04 ul li figure {
    width: 93.3333333333%;
    z-index: 1;
  }
  #language .sec04 ul li:nth-child(odd) .txt {
    order: 2;
  }
  #language .sec04 ul li:nth-child(odd) figure {
    order: 1;
  }
  #language .sec04 ul li:nth-child(even) .txt {
    order: 2;
  }
  #language .sec04 ul li:nth-child(even) .txt .belt {
    margin: 0 0 25px;
  }
  #language .sec04 ul li:nth-child(even) figure {
    order: 1;
    margin: 0 0 0 auto;
  }
}
#language .sec05 {
  position: relative;
}
#language .sec05 .bg__wrapper {
  position: absolute;
  z-index: 0;
  background: var(--01, #F6F2F2);
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 92%, 0% 100%);
          clip-path: polygon(0 0, 100% 0, 100% 92%, 0% 100%);
}
#language .sec05 h2 {
  text-align: center;
  position: relative;
  z-index: 10;
  padding: 120px 0 0;
  margin: 0 0 31px;
}
#language .sec05 .sec__in__s {
  position: relative;
  z-index: 1;
}
#language .sec05 .sec__in__s::before {
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  background: url(../images/language/sec05_bg_top.png) no-repeat top/contain;
  z-index: 1;
}
#language .sec05 .sec__in__s::after {
  content: "";
  top: 200px;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  background: url(../images/language/sec05_bg_middle.png) repeat-y 0 500px/contain;
  z-index: 0;
}
#language .sec05 ol {
  position: relative;
  z-index: 10;
  padding: 75px 80px 129px;
  box-sizing: border-box;
}
#language .sec05 ol li {
  padding: 17px 0;
  border-bottom: 1px solid #806F6F;
}
#language .sec05 ol li:last-child {
  border-bottom: none;
}
#language .sec05 ol li div.dp__flex {
  align-items: center;
  justify-content: space-between;
}
#language .sec05 ol li h3 {
  gap: 19px;
  align-items: center;
  margin: 0 0 10px;
}
#language .sec05 ol li h3 .floor {
  width: 104px;
  display: flex;
  align-items: baseline;
  justify-content: center;
  border-radius: 3px;
  color: #fff;
  padding: 15px;
  box-sizing: border-box;
}
#language .sec05 ol li h4 {
  margin: 0 0 10px;
}
#language .sec05 ol li:nth-of-type(1) h3 {
  color: var(--4F_02, #C24502);
}
#language .sec05 ol li:nth-of-type(1) h3 .floor {
  background: var(--4F_01, #CF4A02);
}
#language .sec05 ol li:nth-of-type(1) h4 {
  color: var(--4F_02, #C24502);
}
#language .sec05 ol li:nth-of-type(2) h3 {
  color: var(--3F_02, #057D57);
}
#language .sec05 ol li:nth-of-type(2) h3 .floor {
  background: var(--3F01, #04865F);
}
#language .sec05 ol li:nth-of-type(2) h4 {
  color: var(--3F_02, #057D57);
}
#language .sec05 ol li:nth-of-type(3) h3 {
  color: var(--2F_02, #0275A6);
}
#language .sec05 ol li:nth-of-type(3) h3 .floor {
  background: var(--2F01, #017DB2);
}
#language .sec05 ol li:nth-of-type(3) h4 {
  color: var(--2F_02, #0275A6);
}
#language .sec05 ol li:nth-of-type(4) h3 {
  color: var(--1F_02, #BF3D5E);
}
#language .sec05 ol li:nth-of-type(4) h3 .floor {
  background: var(--1F01, #CF4367);
}
#language .sec05 ol li:nth-of-type(4) h4 {
  color: var(--1F_02, #BF3D5E);
}
#language .sec05 ol li:nth-of-type(5) h3 {
  color: var(--B2F_02, #57595E);
}
#language .sec05 ol li:nth-of-type(5) h3 .floor {
  background: var(--B2F01, #5C5E64);
}
#language .sec05 ol li:nth-of-type(5) h4 {
  color: var(--B2F_02, #57595E);
}
@media (max-width: 750px) {
  #language .sec05 {
    scroll-margin-top: 40px;
  }
  #language .sec05 .bg__wrapper {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 98%, 0% 100%);
            clip-path: polygon(0 0, 100% 0, 100% 98%, 0% 100%);
  }
  #language .sec05 h2 {
    padding: 60px 0 0;
  }
  #language .sec05 .sec__in__s::after {
    top: 150px;
  }
  #language .sec05 ol {
    padding: 17px 6.6666666667% 73px;
  }
  #language .sec05 ol li h3 .floor span.fs__txt__en__26 {
    font-size: 2rem;
  }
  #language .sec05 ol li div.dp__flex {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
}
#language .sec06 {
  padding: 52px 0 0;
  scroll-margin-top: 80px;
  position: relative;
  z-index: 10;
}
#language .sec06 h2 {
  text-align: center;
  margin: 0 0 11px;
}
#language .sec06 .cat__btn {
  width: 100%;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
  margin: 0 0 25px;
  padding: 23px 0 0;
}
#language .sec06 .cat__btn li a {
  width: 174px;
  display: block;
  padding: 11px 0;
  box-sizing: border-box;
  border: 1px solid var(--02, #806F6F);
  background: var(--01, #F6F2F2);
  border-radius: 5px;
  text-align: center;
  transition: background-color 0.2s ease, color 0.2s ease;
}
#language .sec06 .cat__btn li a.active, #language .sec06 .cat__btn li a.js--on, #language .sec06 .cat__btn li a:hover {
  border: 1px solid var(--03, #504644);
  background: var(--03, #504644);
  color: #fff;
}
#language .sec06 .cat__btn li a.active svg, #language .sec06 .cat__btn li a.js--on svg, #language .sec06 .cat__btn li a:hover svg {
  fill: #806F6F;
}
#language .sec06 .cat__btn li a.active svg path, #language .sec06 .cat__btn li a.js--on svg path, #language .sec06 .cat__btn li a:hover svg path {
  fill: #F6F2F2;
}
#language .sec06 .cat__btn li a svg {
  width: min(8.73vw, 110px);
  fill: #F6F2F2;
  transition: fill 0.2s ease;
  vertical-align: middle;
  margin: 0 0 4px;
}
#language .sec06 .cat__btn li a svg path {
  fill: #806F6F;
  transition: fill 0.2s ease;
}
#language .sec06 .cat__btn li a p {
  text-align: center;
}
#language .sec06 .cat__btn li:nth-of-type(3) a.active svg,
#language .sec06 .cat__btn li:nth-of-type(3) a:hover svg {
  fill: #F6F2F2;
}
#language .sec06 .cat__btn li:nth-of-type(3) a.active svg path,
#language .sec06 .cat__btn li:nth-of-type(3) a:hover svg path {
  fill: #F6F2F2;
}
#language .sec06 .cat__btn li:nth-of-type(3) a.active svg g.main__path path,
#language .sec06 .cat__btn li:nth-of-type(3) a:hover svg g.main__path path {
  fill: #F6F2F2;
}
#language .sec06 .cat__btn li:nth-of-type(3) a.js--on svg {
  fill: #F6F2F2;
}
#language .sec06 .cat__btn li:nth-of-type(3) a.js--on svg path {
  fill: #F6F2F2;
}
#language .sec06 .cat__btn li:nth-of-type(3) a.js--on svg g.main__path path {
  fill: #F6F2F2;
}
#language .sec06 .cat__btn li:nth-of-type(3) svg {
  fill: #F6F2F2;
}
#language .sec06 .cat__btn li:nth-of-type(3) svg path {
  fill: #F6F2F2;
}
#language .sec06 .cat__btn li:nth-of-type(3) svg g.main__path path {
  fill: #806F6F;
}
#language .sec06 .bg__brown {
  background: var(--03, #504644);
  padding: 35px 0;
  scroll-margin-top: 100px;
}
#language .sec06 ul.shop__list {
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: min(3.65vw, 46px);
       column-gap: min(3.65vw, 46px);
  row-gap: min(4.761vw, 60px);
  display: none;
}
#language .sec06 ul.shop__list.js--on {
  display: grid;
}
#language .sec06 ul.shop__list li a {
  pointer-events: none;
}
#language .sec06 ul.shop__list li figure {
  margin: 0 0 10px;
  border-radius: 5px;
  overflow: hidden;
  border: 1px solid var(--02, #806F6F);
  border-radius: 5px;
}
#language .sec06 ul.shop__list li figure img {
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
}
#language .sec06 ul.shop__list li .dp__flex {
  justify-content: space-between;
  align-items: flex-end;
  margin: 0 0 10px;
  gap: 10px;
}
#language .sec06 ul.shop__list li .dp__flex .floor {
  width: 63px;
  text-align: center;
  color: #fff;
  padding: 3px 0 4px;
  box-sizing: border-box;
  border-radius: 3px;
}
#language .sec06 ul.shop__list li .dp__flex .floor.floor4 {
  background: var(--4F_01, #CF4A02);
}
#language .sec06 ul.shop__list li .dp__flex .floor.floor3 {
  background: var(--3F01, #04865F);
}
#language .sec06 ul.shop__list li .dp__flex .floor.floor2 {
  background: var(--2F01, #017DB2);
}
#language .sec06 ul.shop__list li .dp__flex .floor.floor1 {
  background: var(--1F01, #CF4367);
}
#language .sec06 ul.shop__list li .dp__flex .floor.floorb2 {
  background: var(--B2F01, #5C5E64);
}
#language .sec06 ul.shop__list li .dp__flex .cat01 {
  width: 125px;
  border: 1px solid var(--02, #806F6F);
  background: #FFF;
  text-align: center;
  border-radius: 2px;
  display: grid;
  place-content: center;
  padding: 4px 0 3px;
}
#language .sec06 ul.shop__list li h3 {
  margin: 0 0 10px;
  color: #fff;
}
#language .sec06 ul.shop__list li .cat02 {
  color: #fff;
}
#language .sec06 ul.shop__list li:nth-child(4n+2) {
  transition: transform 0.5s ease 0.1s, opacity 0.5s ease 0.1s;
}
#language .sec06 ul.shop__list li:nth-child(4n+3) {
  transition: transform 0.5s ease 0.2s, opacity 0.5s ease 0.2s;
}
#language .sec06 ul.shop__list li:nth-child(4n+4) {
  transition: transform 0.5s ease 0.3s, opacity 0.5s ease 0.3s;
}
@media (max-width: 750px) {
  #language .sec06 h2 {
    margin: 0 0 5px;
  }
  #language .sec06 .cat__btn {
    padding: 20px 7.4666666667% 0;
    box-sizing: border-box;
    justify-content: center;
    gap: 5px;
  }
  #language .sec06 .cat__btn li {
    width: 49%;
  }
  #language .sec06 .cat__btn li a {
    width: 100%;
  }
  #language .sec06 .cat__btn li a svg {
    width: 57.2327044025%;
  }
  #language .sec06 .cat__btn li a p {
    font-size: 1.3rem;
  }
  #language .sec06 .bg__brown {
    padding: 20px 4%;
    box-sizing: border-box;
    scroll-margin-top: 80px;
  }
  #language .sec06 ul.shop__list {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 50px;
    -moz-column-gap: 4.9275362319%;
         column-gap: 4.9275362319%;
  }
  #language .sec06 ul.shop__list.js--on {
    display: grid;
  }
  #language .sec06 ul.shop__list li .dp__flex {
    flex-direction: column;
    align-items: flex-start;
  }
  #language .sec06 ul.shop__list li .dp__flex .floor {
    font-size: 2rem;
    padding: 5px 0 4px;
  }
  #language .sec06 ul.shop__list li .dp__flex .cat01 {
    font-size: 1.3rem;
  }
  #language .sec06 ul.shop__list li .cat02 {
    font-size: 1.3rem;
  }
  #language .sec06 ul.shop__list li:nth-child(4n+2) {
    transition: transform 0.5s ease 0.1s, opacity 0.5s ease 0.1s;
  }
  #language .sec06 ul.shop__list li:nth-child(4n+3) {
    transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  }
  #language .sec06 ul.shop__list li:nth-child(4n+4) {
    transition: transform 0.5s ease 0.1s, opacity 0.5s ease 0.1s;
  }
}
#language .sec07 {
  padding: 168px 0 96px;
}
#language .sec07 div.dp__flex {
  gap: 58px;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 0 40px;
  box-sizing: border-box;
  margin: 0 0 90px;
}
#language .sec07 div.dp__flex .txt {
  width: min(31.746vw, 400px);
  max-width: 400px;
  margin: 0 auto;
}
#language .sec07 div.dp__flex .txt h2 {
  margin: 0 0 39px;
}
#language .sec07 div.dp__flex figure {
  width: 74 1px;
}
#language .sec07 div.dp__flex figure figcaption {
  display: none;
}
#language .sec07 .airport {
  width: min(84.92vw, 1070px);
  margin: 0 auto 60px 0;
  border-radius: 0px 10px 10px 0px;
  background: var(--01, #F6F2F2);
  position: relative;
}
#language .sec07 .airport h3.dp__flex {
  background: var(--02, #806F6F);
  color: #fff;
  padding: 19px 30px;
  box-sizing: border-box;
  justify-content: flex-start;
  align-items: center;
  gap: 28px;
  width: 71.666vw;
  max-width: 100%;
}
#language .sec07 .airport h3.dp__flex img {
  width: 82px;
  height: 48px;
}
#language .sec07 .airport .wrapper {
  width: min(50.793vw, 640px);
  padding: 40px 0 66px 60px;
  box-sizing: border-box;
}
#language .sec07 .airport .wrapper h4 {
  justify-content: flex-start;
  align-items: center;
  gap: 15px;
  border-bottom: 1px solid #806F6F;
  padding: 0 0 10px;
  margin: 0 0 10px;
}
#language .sec07 .airport .wrapper h4 img {
  width: 31px;
  height: 39px;
}
#language .sec07 .airport .wrapper ol li {
  align-items: baseline;
  gap: 7px;
  margin: 0 0 44px;
  position: relative;
}
#language .sec07 .airport .wrapper ol li::after {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  background: url(../images/access/arrow.svg) no-repeat;
  bottom: -35px;
  left: 2em;
}
#language .sec07 .airport .wrapper ol li .num {
  background: #806F6F;
  color: #fff;
  width: 22px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  padding: 2px;
  flex-shrink: 0;
  line-height: 1;
  letter-spacing: 0;
}
#language .sec07 .airport .wrapper ol li:last-child {
  margin: 0;
}
#language .sec07 .airport .wrapper ol li:last-child::after {
  display: none;
}
#language .sec07 .airport .images figure {
  position: absolute;
}
#language .sec07 .airport .images figure:first-child {
  width: min(37.395vw, 359px);
  aspect-ratio: 359/270;
  top: -39px;
  right: -149px;
}
#language .sec07 .airport .images figure:last-child {
  width: min(39.166vw, 376px);
  aspect-ratio: 376/312;
  top: 146px;
  right: -49px;
}
#language .sec07 iframe {
  width: 100%;
  aspect-ratio: 1180/500;
  vertical-align: middle;
}
@media (max-width: 750px) {
  #language .sec07 {
    padding: 60px 0 0;
    scroll-margin-top: 40px;
  }
  #language .sec07 div.dp__flex {
    flex-direction: column;
    box-sizing: border-box;
    gap: 30px;
    justify-content: flex-start;
    padding: 0;
    margin: 0 0 50px;
  }
  #language .sec07 div.dp__flex .txt {
    width: 100%;
    max-width: 100%;
    padding: 0 4%;
    box-sizing: border-box;
  }
  #language .sec07 div.dp__flex .txt h2 {
    margin: 0 0 30px;
  }
  #language .sec07 div.dp__flex figure {
    width: 96%;
    margin: 0 0 0 auto;
  }
  #language .sec07 div.dp__flex figure figcaption {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    color: var(--02, #806F6F);
    padding: 5px 5.2777777778% 0 0;
    gap: 6px;
  }
  #language .sec07 div.dp__flex figure figcaption img {
    width: 25px;
    aspect-ratio: 1/1;
  }
  #language .sec07 .airport {
    width: 96%;
    border-radius: 0px 10px 10px 0px;
    margin: 0 auto 307px 0;
  }
  #language .sec07 .airport h3.dp__flex {
    width: 100%;
    padding: 16px 4.1666666667%;
    border-radius: 0 10px 0 0;
    font-size: 2.2rem;
  }
  #language .sec07 .airport .wrapper {
    width: 100%;
    padding: 21px 4.1666666667% 118px;
  }
  #language .sec07 .airport .images figure:first-child {
    width: 264px;
    top: auto;
    bottom: -112px;
    right: 0;
  }
  #language .sec07 .airport .images figure:last-child {
    width: 276px;
    top: auto;
    bottom: -277px;
    right: 15.7333333333%;
  }
  #language .sec07 iframe {
    height: 500px;
    padding: 0 4%;
    margin: 0 0 51px;
    box-sizing: border-box;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
#header-lp {
  position: fixed;
  width: 100%;
  z-index: 10000;
  background: #fff;
}
#header-lp > .dp__flex {
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  width: 350px;
  margin: 0 0 0 auto;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.25);
}
#header-lp > .dp__flex.js--on {
  display: flex;
  margin: 0 0 0 auto;
}
#header-lp nav {
  align-items: center;
  gap: min(1.507vw, 19px);
}
#header-lp nav .nav__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  width: 100%;
  padding: 100px 50px 0;
}
#header-lp nav .nav__inner .top__menu {
  width: 100%;
  gap: 15px;
  align-items: center;
  justify-content: flex-end;
}
#header-lp nav ul.main__navi {
  font-size: min(1.111vw, 1.4rem);
  width: 100%;
  flex-wrap: wrap;
  justify-content: center;
  order: 1;
  gap: 60px;
  flex-direction: column;
  margin: 0 0 60px;
}
#header-lp nav ul.main__navi li {
  border-right: 2px solid #F6F2F2;
  width: 100%;
  border-right: none;
  background: #fff;
  padding: 0;
}
#header-lp nav ul.main__navi li a {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  color: #C45500;
}
#header-lp .menu {
  position: relative;
  width: 60px;
  margin: 0 0 0 auto;
}
#header-lp .menu a {
  position: absolute;
  color: #fff;
  width: 60px;
  height: 60px;
  background: #ED6C00;
  border-radius: 0px 0px 0px 3px;
  display: grid;
  place-content: center;
}
#header-lp .menu a .fa-bars {
  width: 28px;
  height: 33px;
  opacity: 1;
  z-index: 100;
}
#header-lp .menu a .fa-xmark {
  width: 32px;
  height: 43px;
  opacity: 0;
  z-index: 100;
}
#header-lp .menu.js--on a .fa-bars {
  opacity: 0;
}
#header-lp .menu.js--on a .fa-xmark {
  opacity: 1;
}
#header-lp nav {
  overflow-y: auto;
  position: fixed;
  flex-direction: column;
  background: #fff;
  width: 100%;
  top: 0;
  right: -400px;
  height: 100vh;
  z-index: -1;
  transition: right 0.5s ease;
}
#header-lp nav .nav__inner {
  box-sizing: border-box;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
}
#header-lp nav .nav__inner .top__menu {
  order: 2;
  flex-direction: column;
  width: 100%;
  justify-content: flex-start;
  align-items: center;
}
#header-lp nav.js--on {
  right: 0;
}
#header-lp .header__bottom {
  background: var(--01, #F6F2F2);
  width: 100%;
  align-items: center;
  justify-content: center;
  padding: 40px 0;
}
#header-lp .header__bottom a {
  display: block;
  width: 58px;
}
@media (max-width: 750px) {
  #header-lp {
    position: fixed;
    z-index: 10000;
  }
  #header-lp > .dp__flex {
    padding: 0;
    align-items: stretch;
    box-sizing: border-box;
    width: 64%;
    background: #fff;
    right: -100vw;
  }
  #header-lp nav .nav__inner {
    padding: 106px 13% 66px;
    box-sizing: border-box;
  }
  #header-lp nav ul.main__navi {
    gap: 40px;
    margin: 0;
  }
  #header-lp nav ul.main__navi li {
    width: 100%;
  }
  #header-lp nav ul.main__navi li a {
    padding: 0;
    white-space: normal;
    text-align: left;
    width: 100%;
  }
}

#footer-lp {
  background: var(--01, #F6F2F2);
}
#footer-lp .sec__in__l > .dp__flex {
  justify-content: center;
  align-items: center;
  gap: 52px;
  padding: 48px 0 45px;
}
#footer-lp ul.logo {
  gap: 45px;
}
#footer-lp ul.logo li {
  width: 65px;
}
#footer-lp ul.sns {
  gap: 15px;
}
#footer-lp ul.sns li {
  width: 57px;
}
#footer-lp .address {
  padding: 27px 0;
  background: #fff;
}
#footer-lp .address .sec__in__l {
  padding: 0;
}
#footer-lp .address .sec__in__l > .dp__flex {
  justify-content: space-between;
  align-items: center;
  padding: 0;
  margin: 0 0 13px;
}
#footer-lp .address .left > .dp__flex {
  gap: 30px;
  align-items: center;
  flex-wrap: wrap;
}
#footer-lp .address .left > .dp__flex p.fs__txt__14__nar {
  width: -moz-max-content;
  width: max-content;
  white-space: nowrap;
}
#footer-lp .address .left > .dp__flex p.fs__txt__13__nar {
  width: min(42.857vw, 540px);
}
#footer-lp .address .koyo .dp__flex {
  align-items: center;
  gap: 5px;
}
@media screen and (min-width: 751px) and (max-width: 1180px) {
  #footer-lp .address .sec__in__l {
    padding: 0 30px;
    box-sizing: border-box;
  }
}
@media (max-width: 750px) {
  #footer-lp .sec__in__l > .dp__flex {
    flex-direction: column;
    padding: 43px 6.6666666667% 60px;
    box-sizing: border-box;
    gap: 19px;
  }
  #footer-lp .left {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #footer-lp .left .hours h3 {
    text-align: center;
  }
  #footer-lp .right .aco__wrapper {
    flex-direction: column;
    gap: 0;
    margin: 0 0 23px;
  }
  #footer-lp .right .aco {
    width: 100%;
    border-top: 1px solid #806F6F;
    font-size: 1.4rem;
    overflow: hidden;
    box-sizing: border-box;
  }
  #footer-lp .right .aco .wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s ease;
  }
  #footer-lp .right .aco .wrapper.js--on {
    grid-template-rows: 1fr;
  }
  #footer-lp .right .aco .inner {
    overflow: hidden;
  }
  #footer-lp .right .aco h3 {
    font-size: 1.4rem;
    pointer-events: auto;
    cursor: pointer;
    margin: 0;
  }
  #footer-lp .right .aco h3 a {
    padding: 2.6666666667% 3.6923076923%;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
  }
  #footer-lp .right .aco h3 a .fa-plus {
    display: block;
  }
  #footer-lp .right .aco h3 a .fa-minus {
    display: none;
  }
  #footer-lp .right .aco h3 a.js--on .fa-plus {
    display: none;
  }
  #footer-lp .right .aco h3 a.js--on .fa-minus {
    display: block;
  }
  #footer-lp .right .aco ul {
    font-size: 1.4rem;
    box-sizing: border-box;
  }
  #footer-lp .right .aco ul li {
    padding: 2.6666666667% 3.6923076923%;
    border-top: 1px solid #806F6F;
    margin: 0;
  }
  #footer-lp .right .aco svg {
    margin: 0 0 0 1.5384615385%;
  }
  #footer-lp .right .aco:last-child {
    border-bottom: 1px solid #806F6F;
  }
  #footer-lp .right ul.use {
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 10px;
    margin: 0 0 37px;
  }
  #footer-lp .address .sec__in__l > .dp__flex {
    padding: 0 6.6666666667%;
    box-sizing: border-box;
    justify-content: flex-start;
    gap: 41px;
    margin: 0 0 41px;
  }
  #footer-lp .address .left > .dp__flex {
    flex-direction: column;
    gap: 10px;
  }
  #footer-lp .address .left > .dp__flex p.fs__txt__13__nar {
    width: 100%;
  }
  #footer-lp .address .koyo .dp__flex {
    gap: 10px;
  }
  #footer-lp .address .copy {
    text-align: center;
  }
  #footer-lp .address .copy small {
    text-align: center;
  }
}

/* ********************************************************************
    LP
******************************************************************** */
#lp {
  /* *****************
  common__layout
  ******************** */
}
#lp .bg__wrapper {
  background: #FFE100;
}
#lp .sec01 {
  padding: 0;
}
#lp .sec01 h1 {
  max-width: 1260px;
  margin: 0 auto;
}
@media (max-width: 750px) {
  #lp .sec01 h1 {
    max-width: 100%;
  }
}
#lp .sec02 {
  padding: 48px 0;
}
#lp .sec02 ul {
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
#lp .sec02 ul li {
  width: 372px;
}
#lp .sec02 ul li a {
  border-radius: 5px;
  background: #fff;
  color: #C45500;
  text-align: center;
  padding: 21px 0 10px;
  display: block;
}
#lp .sec02 ul li a svg {
  display: block;
  margin: 0 auto;
}
@media (max-width: 750px) {
  #lp .sec02 {
    padding: 20px 4%;
    box-sizing: border-box;
  }
  #lp .sec02 ul {
    gap: 10px;
  }
  #lp .sec02 ul li a {
    padding: 10px 0;
  }
  #lp .sec02 ul li a.js--on {
    opacity: 1;
  }
}
#lp .common__layout {
  padding: 0 0 50px;
}
#lp .common__layout .belt {
  padding: 52px 0;
}
#lp .common__layout .belt h2 {
  text-align: center;
}
#lp .common__layout .belt h2 span {
  color: #333;
  display: block;
  text-align: center;
  padding: 10px 0 0;
}
#lp .common__layout .shop__wrapper {
  padding: 30px 0 0;
}
#lp .common__layout .shop__wrapper > li {
  padding: 50px 0;
}
#lp .common__layout .shop__wrapper > li .flex01 {
  gap: 30px;
  border-bottom: 2px dotted #A49A9A;
  padding: 0 0 20px;
  margin: 0 0 20px;
  align-items: flex-start;
}
#lp .common__layout .shop__wrapper > li .flex01 a {
  flex-shrink: 0;
  width: 400px;
}
#lp .common__layout .shop__wrapper > li .flex01 a figure {
  width: 100%;
}
#lp .common__layout .shop__wrapper > li .flex03 {
  justify-content: flex-end;
  align-items: center;
  gap: 13px;
  width: -moz-max-content;
  width: max-content;
  margin: 0 0 0 auto;
}
#lp .common__layout .shop__wrapper > li .flex03 p {
  width: 63px;
  padding: 4px 14px;
  box-sizing: border-box;
  border-radius: 3px;
  text-align: center;
  color: #fff;
}
#lp .common__layout .shop__wrapper > li .flex03 p.floor4 {
  background: var(--4F_01, #CF4A02);
}
#lp .common__layout .shop__wrapper > li .flex03 p.floor3 {
  background: var(--3F01, #04865F);
}
#lp .common__layout .shop__wrapper > li .flex03 p.floor2 {
  background: var(--2F01, #017DB2);
}
#lp .common__layout .shop__wrapper > li .flex03 p.floor1 {
  background: var(--1F01, #CF4367);
}
#lp .common__layout .shop__wrapper > li .flex03 p.floorb2 {
  background: var(--B2F01, #5C5E64);
}
#lp .common__layout .shop__wrapper figure {
  width: min(31.746vw, 400px);
  border-radius: 5px;
  overflow: hidden;
}
#lp .common__layout .shop__wrapper .info {
  width: min(42.063vw, 530px);
}
#lp .common__layout .shop__wrapper .info .cat {
  margin: 0 0 10px;
  gap: 10px;
  flex-wrap: wrap;
}
#lp .common__layout .shop__wrapper .info .cat li {
  padding: 3px 10px;
  box-sizing: border-box;
  color: #1A7F8F;
  border-radius: 2px;
  border: 1px solid #1A7F8F;
  width: -moz-max-content;
  width: max-content;
}
#lp .common__layout .shop__wrapper .info dl dt {
  margin: 0 0 3px;
}
#lp .common__layout .shop__wrapper .info dl dd {
  margin: 0 0 15px;
}
#lp .common__layout .shop__wrapper .info dl dd:last-child {
  margin: 0;
}
#lp .common__layout .shop__wrapper .info .caution {
  display: block;
  padding: 7px 0 0;
}
#lp .common__layout .shop__wrapper .info .comment {
  padding: 25px 0 0;
}
#lp .common__layout .shop__wrapper span.margin-right {
  margin: 0 20px 0 0;
}
#lp .common__layout .bnr {
  padding: 50px 0 30px;
}
@media (max-width: 750px) {
  #lp .common__layout {
    padding: 0;
  }
  #lp .common__layout .belt {
    padding: 40px 4%;
    box-sizing: border-box;
  }
  #lp .common__layout .shop__wrapper {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #lp .common__layout .shop__wrapper > li {
    padding: 30px 0;
  }
  #lp .common__layout .shop__wrapper > li .flex01 {
    flex-direction: column;
    gap: 15px;
    padding: 0 0 15px;
    margin: 0 0 15px;
  }
  #lp .common__layout .shop__wrapper > li .flex01 a {
    width: 100%;
  }
  #lp .common__layout .shop__wrapper > li .flex03 {
    flex-wrap: wrap;
    gap: 5px;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
  }
  #lp .common__layout .shop__wrapper > li .flex03 p {
    font-size: 2rem;
  }
  #lp .common__layout .shop__wrapper figure {
    width: 100%;
  }
  #lp .common__layout .shop__wrapper .info {
    width: 100%;
  }
  #lp .common__layout .shop__wrapper .info dl dt {
    margin: 0;
  }
  #lp .common__layout .shop__wrapper .info dl dd {
    font-size: 1.3rem;
  }
  #lp .common__layout .shop__wrapper .info .caution {
    padding: 5px 0 0;
  }
  #lp .common__layout .shop__wrapper .info .comment dd {
    font-size: 1.4rem;
  }
  #lp .common__layout .shop__wrapper span.margin-right {
    margin: 0 15px 0 0;
  }
  #lp .common__layout .bnr {
    padding: 30px 4%;
    box-sizing: border-box;
  }
}
#lp .sec06 a {
  display: block;
}
#lp .sec06 .dp__flex {
  justify-content: center;
  gap: 21px;
}
#lp .sec06 .dp__flex a {
  width: 385px;
}
#lp .sec06 .dp__flex a figure {
  width: 100%;
}
#lp .sec06 .dp__flex > figure {
  width: 385px;
}
@media (max-width: 750px) {
  #lp .sec06 .dp__flex {
    gap: 3%;
    padding: 30px 0 0;
  }
  #lp .sec06 .dp__flex a {
    width: 111.5942028986%;
  }
  #lp .sec06 .dp__flex > figure {
    width: 111.5942028986%;
  }
}
#lp .common__layout.sec03 .belt,
#lp .common__layout.sec04 .belt,
#lp .common__layout.sec05 .belt {
  background: #FFFCE6;
}
#lp .common__layout.sec03 .belt h2,
#lp .common__layout.sec04 .belt h2,
#lp .common__layout.sec05 .belt h2 {
  color: #ED6C00;
}/*# sourceMappingURL=style.css.map */