@charset "UTF-8";
@keyframes line_animation {
  from {
    stroke-dashoffset: 3286px;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    z-index: -1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
/* reset */
html {
  overflow-y: scroll;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

a {
  box-sizing: border-box;
}

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

section,
figure,
aside,
header,
footer,
main,
nav {
  display: block;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
}

table {
  border-collapse: collapse;
}

caption,
th {
  text-align: left;
}

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

object,
embed {
  vertical-align: top;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

img,
abbr,
acronym,
fieldset {
  border: 0;
}

li {
  list-style-type: none;
}

img {
  vertical-align: bottom;
}

hr {
  clear: both;
}

/* --------------------------------------------------------
  01share style
  -------------------------------------------------------- */
.tal {
  text-align: left;
}

.tar {
  text-align: right;
}

.tac {
  text-align: center;
}

.fwb {
  font-weight: bold;
}

.fwn {
  font-weight: normal;
}

/*CSS Rollover*/
a.cssRoll img {
  opacity: 1;
}

a:hover.cssRoll img {
  opacity: 0.6;
}

body {
  font-weight: normal;
  line-height: 1.7;
  color: #373737;
}

a:link {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a:active {
  text-decoration: none;
}

figure {
  display: block;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
}

em {
  font-weight: bold;
}

@media screen and (min-width: 1101px) and (min-width: 1101px) {
  .wrapin {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) and (min-width: 1101px) and (max-width: 1400px) {
  .wrapin {
    padding: 0 30px;
    box-sizing: content-box;
  }
}
@media screen and (min-width: 1101px) and (min-width: 768px) and (max-width: 1100px) {
  .wrapin {
    padding: 0 30px;
    box-sizing: content-box;
  }
}
@media screen and (max-width: 1100px) {
  .wrapin-sp {
    padding: 0 20px;
  }
}

@font-face {
  font-family: "MiSansThai";
  font-style: normal;
  font-weight: 500;
  src: url("/common/fonts/MiSansThai/ttf/MiSansThai-Normal.ttf") format("truetype"), url("/common/fonts/MiSansThai/woff/MiSansThai-Normal.woff") format("woff");
}
@font-face {
  font-family: "MiSansThai";
  font-style: normal;
  font-weight: 600;
  src: url("/common/fonts/MiSansThai/ttf/MiSansThai-Semibold.ttf") format("truetype"), url("/common/fonts/MiSansThai/woff/MiSansThai-Semibold.woff") format("woff");
}
@font-face {
  font-family: "SnellRoundhand";
  font-style: normal;
  font-weight: 600;
  src: url("/common/fonts/SnellRoundhand/ttf/SnellBT-Bold.ttf") format("truetype"), url("/common/fonts/SnellRoundhand/woff/SnellBT-Bold.woff") format("woff");
}
/* ---------------------------
module
--------------------------- */
#wrapper {
  position: relative;
  overflow: hidden;
}
html {
  height: 100vh;
  line-height: 2;
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  html {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  html {
    font-size: 14px;
  }
}
@media screen and (max-width: 1100px) {
  html {
    font-size: 14px;
  }
}

body {
  overflow-x: hidden;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  color: #333333;
  -webkit-text-size-adjust: 100%;
  line-height: 1.7;
  background: #3e3a34 url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
img {
  max-width: 100%;
  height: auto;
}

a:not([href^="tel:"]) {
  transition: 0.2s;
}
a:not([href^="tel:"]):hover img {
  opacity: 0.85;
}

a[href^="tel:"] {
  cursor: default;
}

a#about.anchor {
  display: block;
  padding-top: 70px;
  margin-top: -70px;
}
a#works.anchor {
  display: block;
  padding-top: 230px;
  margin-top: -230px;
}
a#service.anchor {
  display: block;
  padding-top: 30px;
  margin-top: -30px;
}
a#pricing.anchor {
  display: block;
  padding-top: 15px;
  margin-top: -15px;
}

@media screen and (min-width: 768px) {
  .pcOnly {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .pcOnly {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .spOnly {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .spOnly {
    display: block;
  }
}

@media screen and (min-width: 1101px) {
  input {
    font-weight: 400;
  }
}
input[type=button], input[type=submit] {
  -webkit-appearance: none;
}

/* ---------------------------
l-wrap
--------------------------- */
@media screen and (min-width: 1101px) {
  .l-wrap {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-700 {
    max-width: 780px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-710 {
    max-width: 790px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-780 {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-800 {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-900 {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-920 {
    max-width: 999px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-960 {
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-980 {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1000 {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1030 {
    max-width: 1110px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1085 {
    max-width: 1165px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1100 {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1160 {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1120 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1140 {
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1200 {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1260 {
    max-width: 1340px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1275 {
    max-width: 1355px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1300 {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1330 {
    max-width: 1410px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1440 {
    max-width: 1518px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1470 {
    max-width: 1550px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 1101px) {
  .l-wrap-1600 {
    max-width: 1680px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (max-width: 1100px) {
  .l-wrap-sp {
    padding: 0 20px;
  }
}

.l-footer {
  text-align: center;
  color: #fff;
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding: 20px 0;
  }
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding: 20px 0;
  }
}

.cookie-consent {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  bottom: 0;
  width: 100%;
  font-size: 16px;
  line-height: 1.8;
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
  padding: 2rem;
  box-sizing: border-box;
  visibility: hidden;
  z-index: 101;
}
@media screen and (max-width: 767px) {
  .cookie-consent {
    flex-direction: column;
    padding: 2rem 2rem 3rem;
  }
}
.cookie-flex {
  display: flex;
}
@media screen and (max-width: 767px) {
  .cookie-flex {
    align-items: center;
    gap: 1rem;
  }
}
.cookie-agree, .cookie-reject {
  color: #3E3A34;
  background: #EBDC00;
  padding: 0.5rem 4rem;
  border-radius: 50vw;
  border: 1px solid #EBDC00;
}
.cookie-agree:hover, .cookie-reject:hover {
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .cookie-agree, .cookie-reject {
    padding: 0.5rem 3rem;
  }
}
.cookie-agree {
  margin-left: 5rem;
}
@media screen and (max-width: 767px) {
  .cookie-agree {
    margin-left: 0;
  }
}
.cookie-reject {
  margin-left: 2rem;
}
@media screen and (max-width: 767px) {
  .cookie-reject {
    margin-left: 0;
  }
}
.cookie-text a {
  color: #fff;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .cookie-text {
    font-feature-settings: "palt";
    letter-spacing: 1px;
    margin-bottom: 1em;
  }
}

.l-header {
  transform: translate3d(0, 0, 0);
  position: fixed;
  top: -1px;
  width: 100%;
  z-index: 998;
}
.l-header__inner {
  max-width: 90%;
  margin-inline: auto;
}
@media screen and (min-width: 1101px) {
  .l-header__inner {
    padding: 32px 0;
  }
}
@media screen and (max-width: 1100px) {
  .l-header__inner {
    padding: 18px 0 15px 0;
    min-height: auto;
  }
}
.l-header__head {
  display: flex;
  justify-content: space-between;
}
.l-header__head a {
  color: #fff;
}
@media screen and (min-width: 1101px) {
  .l-header__head {
    width: 100%;
  }
}
@media screen and (max-width: 1100px) {
  .l-header__head {
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (max-width: 1100px) {
  .l-header__logo img {
    max-width: 91px;
  }
}
.l-header__gnav__logo {
  transition: all 0.9s;
  opacity: 0;
  display: none;
}
.l-header__gnav__animal {
  transition: all 0.9s;
  opacity: 0;
  display: none;
}
.l-header__gnav__links {
  transition: all 0.9s;
  opacity: 0;
  display: none;
}
@media screen and (max-width: 767px) {
  .l-header__gnav {
    position: fixed;
    top: 0;
    left: 100%;
    width: 306px;
    height: 100vh;
    max-height: 720px;
    background: #EBDC00 url(/common/img/base/noise3.png);
    background-repeat: repeat;
    background-size: auto;
    transition: all 0.35s;
    z-index: 999;
    border-radius: 10px 0 0 10px;
  }
  .l-header__gnav--active {
    position: fixed;
    display: block;
    opacity: 1;
    visibility: visible;
    left: calc(100% - 306px);
    z-index: 998;
  }
  .l-header__gnav--active .l-header__gnav__logo {
    transition: all 0.3s;
    opacity: 1;
    display: block;
    position: absolute;
    top: 20px;
    left: 21px;
  }
  .l-header__gnav--active .l-header__gnav__animal {
    transition: all 0.3s;
    opacity: 1;
    display: block;
    position: absolute;
    top: 8%;
    right: -33%;
  }
  .l-header__gnav--active .l-header__gnav__lang {
    transition: all 0.3s;
    opacity: 1;
    display: block;
    position: absolute;
    top: 80%;
    right: 8%;
  }
  .l-header__gnav--active .l-header__gnav__lang figure {
    margin-bottom: 27px;
  }
  .l-header__gnav--active .l-header__gnav__links {
    transition: all 0.3s;
    opacity: 1;
    display: block;
    position: absolute;
    top: 58.4%;
    right: 8%;
  }
  .l-header__gnav--active .l-header__gnav__links figure {
    margin-bottom: 27px;
  }
  .l-header__gnav--active .l-header__gnav__links ul {
    border-bottom: solid #fff 1px;
    padding-bottom: 7px;
    margin-bottom: 24px;
  }
  .l-header__gnav--active .l-header__gnav__links ul li {
    text-align: center;
  }
  .l-header__gnav--active .l-header__gnav__links ul li:not(:last-child) {
    margin-bottom: 20px;
  }
  .l-header__gnav--active .l-header__gnav__links ul li.link-active {
    position: relative;
  }
  .l-header__gnav--active .l-header__gnav__links ul li.link-active::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 29px;
    height: 29px;
    border-radius: 50%;
    border: solid 1px #fff;
  }
}
@media screen and (min-width: 1101px) {
  .l-header__lang {
    min-width: 105px;
  }
}
@media screen and (max-width: 767px) {
  .l-header__lang {
    min-width: 130px;
    display: flex;
    justify-content: space-between;
  }
}
.l-header__lang__links {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .l-header__lang__links {
    width: 100px;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .l-header__lang__links {
    min-width: 86px;
    align-items: center;
  }
}
.l-header__lang__links li.link-active {
  position: relative;
}
.l-header__lang__links li.link-active::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 35px;
  height: 35px;
  border-radius: 50%;
  border: solid 1px #EBDC00;
}
@media screen and (min-width: 1101px) {
  .l-header__humberger {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .l-header__humberger {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-header__humberger {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    box-shadow: 3px 2px 1px #000;
    cursor: pointer;
    pointer-events: auto;
    z-index: 999;
  }
  .l-header__humberger__lines {
    position: relative;
  }
  .l-header__humberger__lines .line {
    position: absolute;
    display: block;
    width: 12px;
    height: 2px;
    background-color: #fff;
    left: 50%;
    transform: translateX(-50%);
    transition: 0.35s;
  }
  .l-header__humberger__lines .line:nth-child(1) {
    top: 13px;
  }
  .l-header__humberger__lines .line:nth-child(2) {
    top: 17px;
  }
  .l-header__humberger__lines .line:nth-child(3) {
    top: 21px;
  }
  .l-header__humberger--active .l-header__humberger__lines .line:first-child {
    transform: translateX(-50%) rotate(135deg);
    top: 17.5px;
  }
  .l-header__humberger--active .l-header__humberger__lines .line:nth-child(2) {
    transform: scaleX(0);
  }
  .l-header__humberger--active .l-header__humberger__lines .line:nth-child(3) {
    transform: translateX(-50%) rotate(-135deg);
    top: 17.5px;
  }
}

.header-border {
  max-width: 90%;
  margin-inline: auto;
  border-bottom: solid 1px #fff;
}
@media screen and (min-width: 1101px) {
  .header-border {
    margin-top: 92px;
  }
}
@media screen and (max-width: 1100px) {
  .header-border {
    margin-top: 69px;
  }
}

@media screen and (min-width: 1101px) {
  .l-gnav {
    min-width: 750px;
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .l-gnav {
    min-width: 530px;
  }
}
@media screen and (max-width: 767px) {
  .l-gnav {
    position: absolute;
    content: "";
    top: 56%;
    left: 7%;
  }
}
@media screen and (min-width: 768px) {
  .l-gnav ul {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1101px) {
  .l-gnav ul li {
    position: relative;
  }
  .l-gnav ul li::after {
    content: "";
    bottom: 0px;
    left: 0;
    position: absolute;
    width: 0%;
    height: 1px;
    background-color: #fff;
    transition: all 0.25s;
  }
  .l-gnav ul li:hover::after {
    width: 100%;
    transition: all 0.25s;
  }
}
@media screen and (min-width: 768px) {
  .l-gnav ul li {
    font-size: 1rem;
    letter-spacing: 2px;
  }
}
@media screen and (max-width: 767px) {
  .l-gnav ul li {
    font-size: 1.4rem;
    letter-spacing: 1px;
  }
  .l-gnav ul li a {
    color: #3E3A34;
  }
  .l-gnav ul li:not(:last-child) {
    margin-bottom: 19px;
  }
}

/* ---------------------------
c-btn
--------------------------- */
.c-btn {
  font-size: 1rem;
  display: inline-block;
  text-align: center;
  position: relative;
  border-radius: 30px;
  font-weight: 400;
}
@media screen and (min-width: 1101px) {
  .c-btn {
    padding: 8px 65px;
  }
}
@media screen and (max-width: 1100px) {
  .c-btn {
    max-width: 303px;
    padding: 8px 50px;
  }
}
.jp .c-btn {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .c-btn {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
.c-btn--yel {
  border: solid 1px #EBDC00;
  background-color: #EBDC00;
  color: #3E3A34;
}
.c-btn--yel:hover {
  background-color: #3E3A34;
  color: #EBDC00;
  border: solid 1px #3E3A34;
}
.c-btn--bk {
  border: solid 1px #3E3A34;
  background-color: #3E3A34;
  color: #fff;
}
.c-btn--bk:hover {
  background-color: #fff;
  color: #3E3A34;
  border: solid 1px #3E3A34;
}

/* ---------------------------
c-h
--------------------------- */
.c-h {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 1101px) {
  .c-h {
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 1101px) {
  .c-h--center {
    justify-content: center;
  }
}
@media screen and (max-width: 1100px) {
  .c-h--center {
    text-align: center;
  }
}
.c-h--heading {
  position: relative;
  text-transform: uppercase;
}
@media screen and (min-width: 1101px) {
  .c-h--heading {
    font-size: 3rem;
    letter-spacing: 0.4rem;
  }
}
@media screen and (max-width: 1100px) {
  .c-h--heading {
    font-size: 2rem;
    letter-spacing: 1.4px;
  }
}
@media screen and (min-width: 1101px) {
  .c-h--body {
    font-size: 1.6rem;
    line-height: 0;
    letter-spacing: 0px;
    font-weight: 300;
  }
}
@media screen and (max-width: 1100px) {
  .c-h--body {
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: 1.1px;
  }
}
.jp .c-h--body {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 1101px) {
  .jp .c-h--body {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1100px) {
  .jp .c-h--body {
    font-size: 1rem;
  }
}
.th .c-h--body {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 1101px) {
  .c-h--body.right {
    padding-left: 67px;
    padding-top: 24px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .c-h--body.right {
    padding-left: 25px;
    top: 15px;
  }
}
.c-h02--center {
  text-align: center;
}
.c-h02--heading {
  text-transform: uppercase;
}
@media screen and (min-width: 1101px) {
  .c-h02--heading {
    font-size: 3.125rem;
    letter-spacing: 5px;
    line-height: 1;
  }
}
@media screen and (max-width: 1100px) {
  .c-h02--heading {
    font-size: 2.1rem;
    letter-spacing: 0.7px;
    line-height: 1;
  }
}
@media screen and (min-width: 1101px) {
  .c-h02--body {
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0px;
    font-weight: 300;
    margin-top: 25px;
  }
}
@media screen and (max-width: 1100px) {
  .c-h02--body {
    font-size: 1rem;
    line-height: 2;
    letter-spacing: 1.1px;
    margin-top: 10px;
  }
}
.jp .c-h02--body {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 1101px) {
  .jp .c-h02--body {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1100px) {
  .jp .c-h02--body {
    font-size: 1rem;
  }
}
.th .c-h02--body {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
.c-h--center {
  text-align: center;
}
.c-h03 {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 1101px) {
  .c-h03 {
    display: flex;
    align-items: center;
  }
}
.c-h03--heading {
  text-transform: uppercase;
}
@media screen and (min-width: 1101px) {
  .c-h03--heading {
    font-size: 3rem;
    letter-spacing: 0.4rem;
  }
}
@media screen and (max-width: 1100px) {
  .c-h03--heading {
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 1.4px;
  }
}
@media screen and (min-width: 1401px) {
  .c-h03--body {
    font-size: 1.6rem;
    line-height: 1.2;
    letter-spacing: 0px;
    font-weight: 300;
  }
}
@media screen and (min-width: 1101px) and (max-width: 1400px) {
  .c-h03--body {
    font-size: 1.2rem;
    line-height: 1.2;
    letter-spacing: 0px;
    font-weight: 300;
  }
}
@media screen and (max-width: 1100px) {
  .c-h03--body {
    display: block;
    font-size: 1.145rem;
    margin-top: 17px;
    letter-spacing: 0px;
    line-height: 1.2;
  }
}
.jp .c-h03--body {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 1101px) {
  .jp .c-h03--body {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1100px) {
  .jp .c-h03--body {
    font-size: 1rem;
  }
}
.th .c-h03--body {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 1101px) {
  .c-h03--body.right {
    padding-left: 25px;
    top: 15px;
  }
}
.c-h04 {
  text-transform: uppercase;
}
@media screen and (min-width: 1101px) {
  .c-h04 {
    font-size: 3.125rem;
    letter-spacing: 5px;
    line-height: 1;
  }
}
@media screen and (max-width: 1100px) {
  .c-h04 {
    position: relative;
    font-size: 2.1rem;
    letter-spacing: 0.7px;
    line-height: 1;
  }
}
@media screen and (max-width: 1100px) and (max-width: 1100px) {
  .c-h04 span {
    color: #fff;
    position: absolute;
    content: "";
    top: 0;
    right: 0;
  }
}
.c-h--center {
  text-align: center;
}
.c-h05__head {
  text-transform: uppercase;
}
@media screen and (min-width: 1101px) {
  .c-h05__head {
    font-size: 3.125rem;
    letter-spacing: 5px;
    line-height: 1;
  }
}
@media screen and (max-width: 1100px) {
  .c-h05__head {
    position: relative;
    font-size: 2.1rem;
    letter-spacing: 0.7px;
    line-height: 1;
  }
}
@media screen and (min-width: 1101px) {
  .c-h05__sentence {
    font-size: 1rem;
    letter-spacing: 0px;
    line-height: 1;
    margin-top: 15px;
  }
}
@media screen and (max-width: 1100px) {
  .c-h05__sentence {
    font-size: 1.145rem;
    letter-spacing: 0px;
    line-height: 1.2;
    margin-top: 6px;
  }
}
.jp .c-h05__sentence {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .c-h05__sentence {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 1101px) {
  .c-h05__tel {
    font-size: 1.5rem;
    letter-spacing: 1px;
    line-height: 1;
    margin-top: 19px;
  }
}
@media screen and (max-width: 1100px) {
  .c-h05__tel {
    font-weight: bold;
    color: #3E3A34;
    font-size: 1.145rem;
    letter-spacing: 1px;
    line-height: 1.2;
    margin-top: 16px;
  }
}

/* ---------------------------
c-sentence
--------------------------- */
@media screen and (min-width: 1101px) {
  .c-sentence {
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.8px;
  }
}
@media screen and (max-width: 1100px) {
  .c-sentence {
    line-height: 1.3;
    letter-spacing: 0.8px;
  }
}
.jp .c-sentence {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
}
.th .c-sentence {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.3px;
}

.c-cat {
  color: #fff;
  border: solid 1px #EBDC00;
  border-radius: 50px;
}
@media screen and (min-width: 1101px) {
  .c-cat {
    margin-top: 0;
    font-size: 0.75rem;
    letter-spacing: 0.8px;
    padding: 1px 7px;
  }
}
@media screen and (max-width: 1100px) {
  .c-cat {
    font-size: 0.85rem;
    letter-spacing: 0.8px;
    padding: 1px 7px;
  }
}

.c-cat02 {
  color: #fff;
  border: solid 1px #EBDC00;
}
@media screen and (min-width: 768px) {
  .c-cat02 {
    border-radius: 50px;
    margin-top: 0;
    font-size: 1rem;
    letter-spacing: 0.8px;
    padding: 2px 22px;
  }
}
@media screen and (max-width: 767px) {
  .c-cat02 {
    border-radius: 50px;
    margin-top: 0;
    font-size: 1rem;
    letter-spacing: 0.8px;
    padding: 2px 22px;
  }
}

.c-label {
  border: solid 2px #3E3A34;
  background-color: #EBDC00;
}
@media screen and (min-width: 768px) {
  .c-label {
    border-radius: 90px;
    max-width: 701px;
    width: 701px;
    padding: 18px 0 28px 0;
  }
}
@media screen and (max-width: 767px) {
  .c-label {
    border-radius: 20px;
    max-width: 339px;
    padding: 7px 28px 20px 28px;
  }
}
.c-label h3 {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-label h3 {
    font-size: 1.6rem;
    letter-spacing: -0.8px;
    padding-top: 5px;
  }
}
@media screen and (max-width: 767px) {
  .c-label h3 {
    font-size: 1.6rem;
    letter-spacing: -1.1px;
    padding-top: 5px;
  }
}
.jp .c-label h3 {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .c-label h3 {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-label p {
    max-width: 440px;
    margin-inline: auto;
    letter-spacing: 0.8px;
    line-height: 1.2;
    padding-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .c-label p {
    font-size: 1.145rem;
    letter-spacing: 0.6px;
    line-height: 1.24;
    padding-top: 4px;
  }
}
.jp .c-label p {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}
.th .c-label p {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.3px;
}

.u-c-bk {
  color: #333333 !important;
}
.u-c-gy {
  color: #686868 !important;
}
.u-c-wh {
  color: #fff !important;
}
.u-c-c1 {
  color: #EBDC00 !important;
}
.u-c-c2 {
  color: #3E3A34 !important;
}

/* ---------------------------
u-display
--------------------------- */
@media screen and (min-width: 1101px) {
  .u-display--pc {
    display: block;
  }
}
@media screen and (max-width: 1100px) {
  .u-display--pc {
    display: none;
  }
}
@media screen and (min-width: 1101px) {
  .u-display--tb {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .u-display--tb {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .u-display--tb {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .u-display--sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .u-display--sp {
    display: block;
  }
}

/* ---------------------------
m
--------------------------- */
.u-valign-t {
  vertical-align: top !important;
}

.u-valign-m {
  vertical-align: middle !important;
}

.u-valign-b {
  vertical-align: bottom !important;
}

@media screen and (min-width: 1101px) {
  .u-mt-1 {
    margin-top: 8px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mt-1 {
    margin-top: 8px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mb-1 {
    margin-bottom: 8px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mb-1 {
    margin-bottom: 8px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pt-1 {
    padding-top: 8px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pt-1 {
    padding-top: 8px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pb-1 {
    padding-bottom: 8px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pb-1 {
    padding-bottom: 8px;
  }
}

@media screen and (min-width: 1101px) {
  .u-p-1 {
    padding: 8px;
  }
}
@media screen and (max-width: 1100px) {
  .u-p-1 {
    padding: 8px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mt-2 {
    margin-top: 16px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mt-2 {
    margin-top: 16px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mb-2 {
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mb-2 {
    margin-bottom: 16px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pt-2 {
    padding-top: 16px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pt-2 {
    padding-top: 16px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pb-2 {
    padding-bottom: 16px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pb-2 {
    padding-bottom: 16px;
  }
}

@media screen and (min-width: 1101px) {
  .u-p-2 {
    padding: 16px;
  }
}
@media screen and (max-width: 1100px) {
  .u-p-2 {
    padding: 16px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mt-3 {
    margin-top: 24px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mt-3 {
    margin-top: 24px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mb-3 {
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mb-3 {
    margin-bottom: 24px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pt-3 {
    padding-top: 24px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pt-3 {
    padding-top: 24px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pb-3 {
    padding-bottom: 24px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pb-3 {
    padding-bottom: 24px;
  }
}

@media screen and (min-width: 1101px) {
  .u-p-3 {
    padding: 24px;
  }
}
@media screen and (max-width: 1100px) {
  .u-p-3 {
    padding: 24px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mt-4 {
    margin-top: 40px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mt-4 {
    margin-top: 28px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mb-4 {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mb-4 {
    margin-bottom: 28px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pt-4 {
    padding-top: 40px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pt-4 {
    padding-top: 28px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pb-4 {
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pb-4 {
    padding-bottom: 28px;
  }
}

@media screen and (min-width: 1101px) {
  .u-p-4 {
    padding: 40px;
  }
}
@media screen and (max-width: 1100px) {
  .u-p-4 {
    padding: 28px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mt-5 {
    margin-top: 64px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mt-5 {
    margin-top: 44.8px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mb-5 {
    margin-bottom: 64px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mb-5 {
    margin-bottom: 44.8px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pt-5 {
    padding-top: 64px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pt-5 {
    padding-top: 44.8px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pb-5 {
    padding-bottom: 64px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pb-5 {
    padding-bottom: 44.8px;
  }
}

@media screen and (min-width: 1101px) {
  .u-p-5 {
    padding: 64px;
  }
}
@media screen and (max-width: 1100px) {
  .u-p-5 {
    padding: 44.8px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mt-6 {
    margin-top: 104px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mt-6 {
    margin-top: 52px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mb-6 {
    margin-bottom: 104px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mb-6 {
    margin-bottom: 52px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pt-6 {
    padding-top: 104px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pt-6 {
    padding-top: 52px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pb-6 {
    padding-bottom: 104px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pb-6 {
    padding-bottom: 52px;
  }
}

@media screen and (min-width: 1101px) {
  .u-p-6 {
    padding: 104px;
  }
}
@media screen and (max-width: 1100px) {
  .u-p-6 {
    padding: 52px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mt-7 {
    margin-top: 136px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mt-7 {
    margin-top: 68px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mb-7 {
    margin-bottom: 136px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mb-7 {
    margin-bottom: 68px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pt-7 {
    padding-top: 136px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pt-7 {
    padding-top: 68px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pb-7 {
    padding-bottom: 136px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pb-7 {
    padding-bottom: 68px;
  }
}

@media screen and (min-width: 1101px) {
  .u-p-7 {
    padding: 136px;
  }
}
@media screen and (max-width: 1100px) {
  .u-p-7 {
    padding: 68px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mt-8 {
    margin-top: 184px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mt-8 {
    margin-top: 92px;
  }
}

@media screen and (min-width: 1101px) {
  .u-mb-8 {
    margin-bottom: 184px;
  }
}
@media screen and (max-width: 1100px) {
  .u-mb-8 {
    margin-bottom: 92px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pt-8 {
    padding-top: 184px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pt-8 {
    padding-top: 92px;
  }
}

@media screen and (min-width: 1101px) {
  .u-pb-8 {
    padding-bottom: 184px;
  }
}
@media screen and (max-width: 1100px) {
  .u-pb-8 {
    padding-bottom: 92px;
  }
}

@media screen and (min-width: 1101px) {
  .u-p-8 {
    padding: 184px;
  }
}
@media screen and (max-width: 1100px) {
  .u-p-8 {
    padding: 92px;
  }
}

/* ---------------------------
text
--------------------------- */
.u-fwb {
  font-weight: bold !important;
}

.u-fwm {
  font-weight: 500 !important;
}

.u-align-r {
  text-align: right !important;
}

.u-align-c {
  text-align: center !important;
}

.u-align-l {
  text-align: left !important;
}

.u-lh200 {
  line-height: 2 !important;
}

.u-uline {
  text-decoration: underline !important;
}

.u-ff02 {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
}

@media screen and (min-width: 1101px) {
  .u-text-10 {
    font-size: calc(10 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-10 {
    font-size: calc(10 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-11 {
    font-size: calc(11 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-11 {
    font-size: calc(11 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-12 {
    font-size: calc(12 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-12 {
    font-size: calc(12 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-13 {
    font-size: calc(13 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-13 {
    font-size: calc(13 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-14 {
    font-size: calc(14 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-14 {
    font-size: calc(14 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-15 {
    font-size: calc(15 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-15 {
    font-size: calc(15 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-16 {
    font-size: calc(16 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-16 {
    font-size: calc(16 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-17 {
    font-size: calc(17 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-17 {
    font-size: calc(17 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-18 {
    font-size: calc(18 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-18 {
    font-size: calc(18 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-19 {
    font-size: calc(19 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-19 {
    font-size: calc(19 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-20 {
    font-size: calc(20 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-20 {
    font-size: calc(20 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-21 {
    font-size: calc(21 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-21 {
    font-size: calc(21 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-22 {
    font-size: calc(22 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-22 {
    font-size: calc(22 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-23 {
    font-size: calc(23 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-23 {
    font-size: calc(23 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-24 {
    font-size: calc(24 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-24 {
    font-size: calc(24 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-25 {
    font-size: calc(25 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-25 {
    font-size: calc(25 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-26 {
    font-size: calc(26 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-26 {
    font-size: calc(26 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-27 {
    font-size: calc(27 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-27 {
    font-size: calc(27 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-28 {
    font-size: calc(28 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-28 {
    font-size: calc(28 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-29 {
    font-size: calc(29 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-29 {
    font-size: calc(29 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-30 {
    font-size: calc(30 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-30 {
    font-size: calc(30 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-31 {
    font-size: calc(31 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-31 {
    font-size: calc(31 * 0.06rem) !important;
  }
}

@media screen and (min-width: 1101px) {
  .u-text-32 {
    font-size: calc(32 * 0.0625rem) !important;
  }
}
@media screen and (max-width: 1100px) {
  .u-text-32 {
    font-size: calc(32 * 0.06rem) !important;
  }
}

.u-bg-bk {
  background: #3E3A34 url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
.u-bg-yel {
  background: #EBDC00 url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
.u-bg-wh {
  background: #fff url(/common/img/base/noise5.png);
  background-repeat: repeat;
  background-size: auto;
}
.u-bg-c1 {
  background-color: #EBDC00;
}
.u-bg-c2 {
  background-color: #3E3A34;
}

.p-column {
  width: 100%;
  display: flex;
}
@media screen and (min-width: 1101px) {
  .p-column {
    justify-content: space-around;
  }
  .p-column .w-thirds {
    width: 33%;
  }
  .p-column .w-fourth {
    width: 33%;
  }
}
@media screen and (max-width: 1100px) {
  .p-column {
    flex-direction: column;
  }
  .p-column .w-thirds {
    width: 100%;
  }
  .p-column div:not(:first-child) {
    margin-top: 25px;
  }
}

.p-works {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1101px) {
  .p-works {
    margin-top: -138px;
  }
}
@media screen and (max-width: 1100px) {
  .p-works {
    margin-top: -115px;
  }
}
@media screen and (min-width: 1101px) {
  .p-works__slider {
    max-width: 95%;
    margin-left: auto;
    padding-top: 5.5%;
  }
}
@media screen and (max-width: 1100px) {
  .p-works__slider {
    padding-top: 9.5%;
  }
}
.p-works__body {
  position: relative;
}
@media screen and (min-width: 1101px) {
  .p-works__body {
    border-radius: 20px 20px 0 0;
  }
}
@media screen and (max-width: 1100px) {
  .p-works__body {
    border-radius: 10px 10px 0 0;
  }
}

.p-title {
  background: #EBDC00 url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
@media screen and (min-width: 1101px) {
  .p-title {
    max-width: 1520px;
    padding: 30px 55px 18px 55px;
    border-radius: 18px 18px 0 0;
  }
}
@media screen and (max-width: 1100px) {
  .p-title {
    min-height: 90px;
    max-width: 385px;
    padding: 14px 22px 12px 22px;
    border-radius: 10px 10px 0 0;
  }
  .p-title--sp {
    padding: 4px 22px 9px 22px;
  }
}

.p-title02 {
  position: relative;
  max-width: 47%;
  padding: 55px 0px 0px 8.5%;
  border-radius: 20px 20px 0 0;
}
.p-title02--bgyel {
  background: #EBDC00 url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
@media screen and (max-width: 767px) {
  .p-title02--bgyel {
    width: 100%;
  }
}
.p-title02--bgyel::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: -25px;
  width: 25px;
  height: 25px;
  background: #EBDC00 url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
.p-title02--bgyel::after {
  content: "";
  position: absolute;
  bottom: 9px;
  right: -25px;
  width: 25px;
  height: 25px;
  border-radius: 0 0 0 20px;
  background: #3e3a34 url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
.p-title02--bgwh {
  background: #fafafa url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
.p-title02--bgwh::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: -25px;
  width: 25px;
  height: 25px;
  background: #fafafa url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
.p-title02--bgwh::after {
  content: "";
  position: absolute;
  bottom: 9px;
  right: -25px;
  width: 25px;
  height: 25px;
  border-radius: 0 0 0 20px;
  background: #3e3a34 url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}

.p-title03 {
  background: #EBDC00 url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
@media screen and (min-width: 768px) {
  .p-title03 {
    max-width: 636px;
    padding: 15px 55px 10px 55px;
    border-radius: 20px 20px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .p-title03 {
    max-width: 202px;
    padding: 9px 0;
    border-radius: 10px 10px 0 0;
  }
}

.p-title04 {
  width: 100%;
  clip-path: polygon(0% 8.032%, 0% 8.032%, 0.016% 6.729%, 0.064% 5.493%, 0.14% 4.341%, 0.241% 3.288%, 0.366% 2.353%, 0.512% 1.55%, 0.676% 0.897%, 0.855% 0.409%, 1.047% 0.105%, 1.25% 0%, 45.969% 0%, 45.969% 0%, 46.172% 0.105%, 46.364% 0.409%, 46.543% 0.897%, 46.707% 1.55%, 46.853% 2.353%, 46.978% 3.288%, 47.079% 4.341%, 47.155% 5.493%, 47.202% 6.729%, 47.219% 8.032%, 47.219% 50.602%, 47.219% 50.602%, 47.235% 51.905%, 47.282% 53.141%, 47.358% 54.294%, 47.46% 55.346%, 47.585% 56.282%, 47.731% 57.085%, 47.894% 57.738%, 48.074% 58.225%, 48.266% 58.529%, 48.469% 58.635%, 98.75% 58.635%, 98.75% 58.635%, 98.953% 58.74%, 99.145% 59.044%, 99.325% 59.531%, 99.488% 60.184%, 99.634% 60.987%, 99.759% 61.923%, 99.861% 62.975%, 99.936% 64.128%, 99.984% 65.364%, 100% 66.667%, 100% 100%, 0% 100%, 0% 8.032%);
}
.p-title04--bgyel {
  background: #EBDC00 url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
.p-title04--bgwh {
  background: #fafafa url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
@media screen and (min-width: 1101px) {
  .p-title04 {
    height: 250px;
    padding: 65px 0px 0px 8.5%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-title04 {
    height: 200px;
    padding: 65px 0px 0px 8.5%;
  }
}
@media screen and (max-width: 767px) {
  .p-title04 {
    height: 120px;
    padding: 21px 0px 0 30px;
    border-radius: 10px 10px 0 0;
  }
}

.p-title05 {
  width: 100%;
}
.p-title05--bgyel {
  background: #EBDC00 url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
.p-title05--bgwh {
  background: #fafafa url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
@media screen and (min-width: 768px) {
  .p-title05 {
    height: 270px;
    padding: 54px 0px 0px 5%;
    clip-path: polygon(0% 7.273%, 0% 7.273%, 0.016% 6.093%, 0.064% 4.974%, 0.14% 3.93%, 0.241% 2.978%, 0.366% 2.13%, 0.512% 1.403%, 0.676% 0.812%, 0.855% 0.371%, 1.047% 0.095%, 1.25% 0%, 45.594% 0%, 45.594% 0%, 45.797% 0.095%, 45.989% 0.371%, 46.168% 0.812%, 46.332% 1.403%, 46.478% 2.13%, 46.603% 2.978%, 46.704% 3.93%, 46.78% 4.974%, 46.827% 6.093%, 46.844% 7.273%, 46.844% 45.818%, 46.844% 45.818%, 46.86% 46.998%, 46.907% 48.117%, 46.983% 49.16%, 47.085% 50.113%, 47.21% 50.961%, 47.356% 51.688%, 47.519% 52.279%, 47.699% 52.72%, 47.891% 52.996%, 48.094% 53.091%, 98.75% 53.091%, 98.75% 53.091%, 98.953% 53.186%, 99.145% 53.462%, 99.325% 53.903%, 99.488% 54.494%, 99.634% 55.221%, 99.759% 56.068%, 99.861% 57.021%, 99.936% 58.065%, 99.984% 59.184%, 100% 60.364%, 100% 100%, 0% 100%, 0% 7.273%);
  }
}
@media screen and (max-width: 767px) {
  .p-title05 {
    height: 120px;
    clip-path: polygon(0% 6.189%, 0% 6.189%, 0.031% 5.186%, 0.119% 4.235%, 0.26% 3.348%, 0.45% 2.538%, 0.683% 1.818%, 0.955% 1.202%, 1.261% 0.7%, 1.595% 0.327%, 1.954% 0.095%, 2.332% 0.016%, 41.983% 0.292%, 41.983% 0.292%, 42.359% 0.376%, 42.716% 0.611%, 43.049% 0.987%, 43.353% 1.489%, 43.623% 2.106%, 43.855% 2.825%, 44.044% 3.633%, 44.184% 4.517%, 44.272% 5.466%, 44.302% 6.465%, 44.302% 21.283%, 44.302% 21.283%, 44.333% 22.286%, 44.421% 23.237%, 44.563% 24.124%, 44.752% 24.933%, 44.985% 25.653%, 45.257% 26.27%, 45.562% 26.771%, 45.896% 27.145%, 46.255% 27.377%, 46.633% 27.456%, 97.67% 27.173%, 97.67% 27.173%, 98.047% 27.252%, 98.406% 27.485%, 98.74% 27.858%, 99.046% 28.36%, 99.317% 28.977%, 99.55% 29.696%, 99.74% 30.506%, 99.881% 31.393%, 99.969% 32.344%, 100% 33.346%, 100% 100%, 0% 97.531%, 0% 6.189%);
    padding: 21px 0px 0 20px;
  }
}

@media screen and (min-width: 768px) {
  .p-slider__item {
    max-width: 420px;
  }
}
@media screen and (max-width: 767px) {
  .p-slider__item {
    max-width: auto;
  }
}
.p-slider__ttl {
  color: #fff;
}
@media screen and (min-width: 1101px) {
  .p-slider__ttl {
    margin-top: 22px;
    font-size: 1rem;
    letter-spacing: 0.3px;
  }
}
@media screen and (max-width: 1100px) {
  .p-slider__ttl {
    margin-top: 33px;
    font-size: 1rem;
    letter-spacing: 1.3px;
  }
}
.p-slider__cats {
  display: flex;
}
@media screen and (min-width: 1101px) {
  .p-slider__cats {
    margin-top: 2px;
  }
}
@media screen and (max-width: 1100px) {
  .p-slider__cats {
    margin-top: 7px;
  }
}
@media screen and (min-width: 1101px) {
  .p-slider__cat:not(:last-child) {
    margin-right: 6px;
  }
}
@media screen and (max-width: 1100px) {
  .p-slider__cat:not(:last-child) {
    margin-right: 6px;
  }
}
.p-slider__sentence {
  color: #fff;
  line-height: 1.2;
}
@media screen and (min-width: 1101px) {
  .p-slider__sentence {
    max-width: 99%;
    margin-top: 15px;
    font-size: 1rem;
    letter-spacing: 0.8px;
  }
}
@media screen and (max-width: 1100px) {
  .p-slider__sentence {
    max-width: 100%;
    margin-top: 13px;
    font-size: 1.15rem;
    letter-spacing: 0.7px;
  }
}
.jp .p-slider__sentence {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}
.th .p-slider__sentence {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.3px;
}
.p-slider__dots {
  text-align: center;
}
@media screen and (min-width: 1101px) {
  .p-slider__dots {
    max-width: 85%;
    margin-top: 15px;
  }
}
@media screen and (max-width: 1100px) {
  .p-slider__dots {
    max-width: 85%;
    margin-top: 2px;
  }
}
.p-slider__dots .swiper-pagination-bullet {
  background-color: transparent;
  border: solid 1px #EBDC00;
  border-radius: 100%;
  cursor: pointer;
}
@media screen and (min-width: 1101px) {
  .p-slider__dots .swiper-pagination-bullet {
    margin: 0 6px !important;
    width: 17px;
    height: 17px;
  }
}
@media screen and (max-width: 1100px) {
  .p-slider__dots .swiper-pagination-bullet {
    margin: 0 4px !important;
    width: 9px;
    height: 9px;
  }
}
.p-slider__dots .swiper-pagination-bullet-active {
  background: #EBDC00;
}
.p-slider__arrow {
  border: none;
  background-repeat: no-repeat;
  cursor: pointer;
}
.p-slider__arrow--prev {
  transition: all 0.5s;
  background: url(/common/img/slider/img_slider_l--hover.webp);
}
.p-slider__arrow--prev:hover {
  background: url(/common/img/slider/img_slider_l.webp);
}
@media screen and (min-width: 768px) {
  .p-slider__arrow--prev:hover {
    width: 50px;
    height: 50px;
    background-size: contain;
    background-repeat: no-repeat;
  }
}
@media screen and (max-width: 767px) {
  .p-slider__arrow--prev:hover {
    background-repeat: no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-slider__arrow--prev {
    width: 50px;
    height: 50px;
    background-size: contain;
    background-repeat: no-repeat;
  }
}
@media screen and (max-width: 767px) {
  .p-slider__arrow--prev {
    background-repeat: no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
  }
}
.p-slider__arrow--next {
  transition: all 0.5s;
  background: url(/common/img/slider/img_slider_r--hover.webp);
}
.p-slider__arrow--next:hover {
  background: url(/common/img/slider/img_slider_r.webp);
}
@media screen and (min-width: 768px) {
  .p-slider__arrow--next:hover {
    width: 50px;
    height: 50px;
    background-size: contain;
    background-repeat: no-repeat;
  }
}
@media screen and (max-width: 767px) {
  .p-slider__arrow--next:hover {
    background-repeat: no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-slider__arrow--next {
    width: 50px;
    height: 50px;
    background-size: contain;
    background-repeat: no-repeat;
  }
}
@media screen and (max-width: 767px) {
  .p-slider__arrow--next {
    background-repeat: no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
  }
}
.p-slider__controller.arrow {
  display: flex;
  justify-content: space-between;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 1101px) {
  .p-slider__controller.arrow {
    width: 96%;
    max-width: 1440px;
    margin-inline: auto;
    top: 28%;
  }
}
@media screen and (max-width: 1100px) {
  .p-slider__controller.arrow {
    width: 100%;
    max-width: 385px;
    margin-inline: auto;
    top: 22%;
  }
}
.p-slider__controller.dot {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 1101px) {
  .p-slider__controller.dot {
    width: 90%;
    margin-top: 25px;
    max-width: 1440px;
    margin-inline: auto;
  }
}
@media screen and (max-width: 1100px) {
  .p-slider__controller.dot {
    width: 100%;
    margin-top: 10%;
    max-width: 385px;
    margin-inline: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-slider02 {
    overflow: visible !important;
  }
}
@media screen and (min-width: 768px) {
  .p-slider02__items {
    justify-content: space-between;
    margin-top: 0.8%;
  }
}
@media screen and (min-width: 768px) {
  .p-slider02__item {
    max-width: 356px;
    min-height: 183px;
  }
  .p-slider02__item:not(:last-child) {
    border-right: solid 1px #fff;
  }
}
@media screen and (max-width: 1100px) {
  .p-slider02__item {
    margin-inline: auto;
  }
}
@media screen and (min-width: 1101px) {
  .p-slider02__controller {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  .p-slider02__controller {
    display: block;
    position: absolute;
    content: "";
    left: 50%;
    transform: translateX(-50%);
    bottom: -18px;
  }
}
@media screen and (max-width: 1100px) {
  .p-slider02__dots {
    width: 44px;
  }
  .p-slider02__dots .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    border: solid 1px #fff;
    border-radius: 50%;
    opacity: 1;
    background-color: transparent;
  }
  .p-slider02__dots .swiper-pagination-bullet:not(:last-child) {
    margin: 0 5px 0 0 !important;
  }
  .p-slider02__dots .swiper-pagination-bullet:last-child {
    margin: 0 !important;
  }
  .p-slider02__dots .swiper-pagination-bullet-active {
    background-color: #fff;
  }
}

.p-tab {
  max-width: 1600px;
  margin-inline: auto;
}
.p-tab__inner {
  position: relative;
}
@media screen and (min-width: 1101px) {
  .p-tab__inner {
    max-width: 1461px;
    margin-right: auto;
  }
}
.p-tab__head {
  z-index: 99;
}
@media screen and (min-width: 1101px) {
  .p-tab__head {
    position: absolute;
    padding-bottom: 16px;
    border-bottom: solid 1px #000;
    width: 43%;
    top: -3px;
    right: 8%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-tab__head {
    max-width: 385px;
    margin-inline: auto;
    margin-bottom: 30px;
    padding-top: 4%;
    padding-bottom: 3.5%;
    border-bottom: solid 1px #000;
  }
}
@media screen and (max-width: 767px) {
  .p-tab__head {
    max-width: 385px;
    margin-inline: auto;
    padding-top: 8%;
    padding-bottom: 6.5%;
    border-bottom: solid 1px #000;
  }
}
@media screen and (min-width: 1101px) {
  .p-tab__head ul {
    max-width: 679px;
    margin-inline: auto;
    justify-content: space-between;
    gap: 1rem;
  }
}
@media screen and (max-width: 1100px) {
  .p-tab__head ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 350px;
    margin-inline: auto;
    width: 100%;
  }
}
.p-tab__head li {
  transition: all 0.3s;
}
@media screen and (min-width: 1101px) {
  .p-tab__head li {
    cursor: pointer;
    max-width: -moz-fit-content;
    max-width: fit-content;
    text-align: center;
  }
}
@media screen and (max-width: 1100px) {
  .p-tab__head li {
    max-width: 160px;
    text-align: center;
    width: 45% !important;
    font-size: 1.145rem;
  }
  .p-tab__head li:nth-child(n+3) {
    margin-top: 15px;
  }
}
.jp .p-tab__head li {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .p-tab__head li {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
}
.p-tab__head .swiper-slide-thumb-active {
  font-weight: bold;
  transition: all 0.3s;
}
.jp .p-tab__head .swiper-slide-thumb-active, .th .p-tab__head .swiper-slide-thumb-active {
  font-weight: bold;
}
.p-tab__body {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-tab__body {
    padding-bottom: 250px;
  }
}
.p-tab__body::after {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .p-tab__body::after {
    content: "";
    background: url(/common/img/animal/img_animal_03.webp);
    background-size: contain;
    aspect-ratio: 907/414;
  }
}
@media screen and (min-width: 1401px) {
  .p-tab__body::after {
    bottom: -18%;
    right: -10%;
    width: 53%;
  }
}
@media screen and (min-width: 1101px) and (max-width: 1400px) {
  .p-tab__body::after {
    bottom: -11pc;
    right: -11%;
    width: 46%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-tab__body::after {
    bottom: -19pc;
    right: -13%;
    width: 75%;
  }
}
@media screen and (max-width: 767px) {
  .p-tab__body::after {
    content: url(/common/img/animal/img_animal_03--sp.webp);
    bottom: -2%;
    right: -14%;
  }
}
.p-tab__item {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-tab__item {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .p-tab__img {
    width: 43%;
  }
}
@media screen and (max-width: 767px) {
  .p-tab__img {
    display: none;
  }
}
.p-tab__img img {
  border-radius: 0 20px 20px 0;
}
@media screen and (min-width: 1101px) {
  .p-tab__text {
    width: 43%;
    position: absolute;
    top: 12%;
    right: 8%;
  }
  .jp .p-tab__text {
    top: 15%;
  }
}
@media screen and (max-width: 1100px) {
  .p-tab__text {
    max-width: 383px;
    width: 100%;
    margin-inline: auto;
    margin-top: 10%;
  }
}
@media screen and (max-width: 767px) {
  .p-tab__text {
    padding: 0 30px;
  }
}
.p-tab__text h3 {
  max-width: -moz-fit-content;
  max-width: fit-content;
  padding-bottom: 2px;
  display: inline;
  background: linear-gradient(transparent 90%, #EBDC00 0%);
}
@media screen and (min-width: 1101px) {
  .p-tab__text h3 {
    font-size: 1.5rem;
    letter-spacing: 0.15px;
  }
}
@media screen and (max-width: 1100px) {
  .p-tab__text h3 {
    font-size: 1.5rem;
    letter-spacing: -0.4px;
    line-height: 1.2;
  }
}
.jp .p-tab__text h3 {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .p-tab__text h3 {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 1101px) {
  .p-tab__text p {
    margin-top: 36px;
    letter-spacing: 0.8px;
    line-height: 1.5rem;
  }
}
@media screen and (max-width: 1100px) {
  .p-tab__text p {
    margin-top: 13px;
    letter-spacing: 0.8px;
    line-height: 1.45rem;
  }
}
.jp .p-tab__text p {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .p-tab__text p {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.3px;
}
@media screen and (min-width: 768px) {
  .p-tab__btn {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-tab__btn {
    margin-top: 13%;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}

.p-tab02 {
  position: relative;
  height: 100%;
}
.p-tab02__head {
  display: flex;
  align-items: center;
  border: 1px solid #3E3A34;
  background-color: #EBDC00;
  position: absolute;
  height: 100%;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-tab02__head {
    font-size: 1.6rem;
    letter-spacing: -0.6px;
    font-weight: 500;
    padding: 32px 0;
    justify-content: space-between;
    flex-direction: column;
    width: 77px;
  }
}
@media screen and (max-width: 767px) {
  .p-tab02__head {
    width: 33.33%;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.1;
    padding: 0 10px;
    justify-content: flex-start;
    flex-direction: row;
    height: 44px;
    text-align: center;
  }
}
.th .p-tab02__head {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-tab02__head span.ver {
    writing-mode: sideways-lr;
  }
}
.p-tab02__head.active {
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-tab02__head.active {
    border-right: none;
  }
}
@media screen and (max-width: 767px) {
  .p-tab02__head.active {
    border-bottom: none;
  }
}
@media screen and (min-width: 768px) {
  .p-tab02__head.head01 {
    border-radius: 20px 0 0 20px;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-tab02__head.head01 {
    border-top-left-radius: 15px;
    border-right: none;
  }
}
@media screen and (min-width: 768px) {
  .p-tab02__head.head02 {
    left: 77px;
    border-left: none;
    border-right: none;
    transition: 0.6s;
  }
  .p-tab02__head.head02.active {
    transform: translateX(0);
    transition: 0.6s;
  }
}
@media screen and (min-width: 1101px) {
  .p-tab02__head.head02 {
    transform: translateX(calc(47.5rem + (1vw - 11.01px) * 90.1804));
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-tab02__head.head02 {
    transform: translateX(calc(32.8571429rem + (1vw - 7.68px) * 90.3614));
  }
}
@media screen and (min-width: 1601px) {
  .p-tab02__head.head02 {
    transform: translateX(1210px);
  }
}
@media screen and (max-width: 767px) {
  .p-tab02__head.head02 {
    left: 33.33%;
    border-right: none;
  }
}
@media screen and (min-width: 768px) {
  .p-tab02__head.head02.active {
    border-left: none;
  }
}
@media screen and (min-width: 768px) {
  .p-tab02:has(.head03.active) .p-tab02__head.head02 {
    transform: translateX(0);
  }
}
@media screen and (min-width: 768px) {
  .p-tab02__head.head03 {
    left: 154px;
    transition: 0.6s;
  }
  .p-tab02__head.head03.active {
    transform: translateX(0);
    transition: 0.6s;
  }
}
@media screen and (min-width: 1101px) {
  .p-tab02__head.head03 {
    transform: translateX(calc(47.5rem + (1vw - 11.01px) * 90.1804));
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-tab02__head.head03 {
    transform: translateX(calc(32.8571429rem + (1vw - 7.68px) * 90.3614));
  }
}
@media screen and (min-width: 1601px) {
  .p-tab02__head.head03 {
    transform: translateX(1210px);
  }
}
@media screen and (max-width: 767px) {
  .p-tab02__head.head03 {
    left: 66.66%;
    border-top-right-radius: 15px;
  }
}
.p-tab02__body {
  border: 1px solid #3E3A34;
  background-color: #fff;
  z-index: 1;
  position: absolute;
  overflow-y: scroll;
}
@media screen and (min-width: 768px) {
  .p-tab02__body {
    padding: 32px 36px;
    border-left: none;
    height: 100%;
  }
}
@media screen and (min-width: 1101px) {
  .p-tab02__body {
    width: calc(47.5rem + (1vw - 11.01px) * 90.1804);
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-tab02__body {
    width: calc(32.8571429rem + (1vw - 7.68px) * 90.3614);
  }
}
@media screen and (min-width: 1601px) {
  .p-tab02__body {
    width: 1210px;
  }
}
@media screen and (max-width: 767px) {
  .p-tab02__body {
    padding: 2rem 15px;
    border-top: none;
    height: 36.9rem;
    top: 44px;
    display: none;
  }
  .p-tab02__body.active {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .p-tab02__body.body01 {
    left: 77px;
  }
}
@media screen and (min-width: 768px) {
  .p-tab02__body.body02 {
    border-right: none;
    left: 154px;
    transition: 0.6s;
  }
  .p-tab02__body.body02.active {
    transform: translateX(0);
    transition: 0.6s;
  }
}
@media screen and (min-width: 1101px) {
  .p-tab02__body.body02 {
    transform: translateX(calc(47.5rem + (1vw - 11.01px) * 90.1804));
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-tab02__body.body02 {
    transform: translateX(calc(32.8571429rem + (1vw - 7.68px) * 90.3614));
  }
}
@media screen and (min-width: 1601px) {
  .p-tab02__body.body02 {
    transform: translateX(1210px);
  }
}
@media screen and (min-width: 768px) {
  .p-tab02:has(.head03.active) .p-tab02__body.body02 {
    transform: translateX(0);
  }
}
@media screen and (min-width: 768px) {
  .p-tab02__body.body03 {
    left: 231px;
    transition: 0.6s;
  }
  .p-tab02__body.body03.active {
    transform: translateX(0);
    transition: 0.6s;
  }
}
@media screen and (min-width: 1101px) {
  .p-tab02__body.body03 {
    transform: translateX(calc(47.5rem + (1vw - 11.01px) * 90.1804));
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-tab02__body.body03 {
    transform: translateX(calc(32.8571429rem + (1vw - 7.68px) * 90.3614));
  }
}
@media screen and (min-width: 1601px) {
  .p-tab02__body.body03 {
    transform: translateX(1210px);
  }
}
@media screen and (min-width: 768px) {
  .p-tab02__items {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-tab02__items {
    max-width: 384px;
  }
}
@media screen and (min-width: 768px) {
  .p-tab02__items.price {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-tab02__item {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-tab02__item + .p-tab02__item {
    padding-top: 32px;
  }
}
@media screen and (max-width: 767px) {
  .p-tab02__item + .p-tab02__item {
    padding-top: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-tab02__item h3 {
    font-size: 1.375rem;
    letter-spacing: -0.6px;
  }
}
@media screen and (max-width: 767px) {
  .p-tab02__item h3 {
    font-size: 1.36rem;
    font-weight: 600 !important;
  }
}
.jp .p-tab02__item h3 {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .p-tab02__item h3 {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-tab02__text {
    margin-top: 16px;
  }
}
@media screen and (max-width: 767px) {
  .p-tab02__text {
    margin-top: 10px;
  }
}
@media screen and (min-width: 768px) {
  .p-tab02__text p {
    letter-spacing: 0.9px;
    line-height: 1.3;
  }
}
@media screen and (max-width: 767px) {
  .p-tab02__text p {
    font-size: 1.145rem;
    letter-spacing: 0.8px;
    line-height: 1.2;
  }
}
.jp .p-tab02__text p {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}
.th .p-tab02__text p {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.3px;
}
.p-tab02__price {
  display: flex;
  justify-content: flex-start;
}
@media screen and (min-width: 768px) {
  .p-tab02__price {
    margin-top: 8px;
    flex-wrap: wrap;
    gap: 0.3rem 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-tab02__price {
    margin-top: 8px;
    flex-direction: column;
    gap: 5px;
  }
}
.p-tab02__price p {
  letter-spacing: 0.9px;
}
@media screen and (min-width: 768px) {
  .p-tab02__price p {
    line-height: 1.3;
  }
}
@media screen and (max-width: 767px) {
  .p-tab02__price p {
    font-size: 1.145rem;
    line-height: 1.3;
  }
}
.jp .p-tab02__price p {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.5px;
}
.th .p-tab02__price p {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
  letter-spacing: 0.3px;
}

.p-mv__inner {
  text-align: center;
}
@media screen and (min-width: 1101px) {
  .p-mv__inner {
    padding-top: 100px;
    max-width: 757px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-mv__inner {
    width: 756px;
    margin-inline: auto;
    padding-inline: 15px;
  }
}
@media screen and (max-width: 767px) {
  .p-mv__inner {
    padding: 0 15px;
  }
}
@media screen and (min-width: 1101px) {
  .p-mv__h {
    padding-top: 2vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-mv__h {
    padding-top: 12vw;
  }
  .p-mv__h img {
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-mv__h {
    padding-top: 28.7%;
  }
  .p-mv__h img {
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-mv__spflex {
    margin-top: 20%;
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__copy {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-mv__copy {
    margin-top: 20px;
    width: 60%;
    text-align: left;
    padding-left: 7px;
  }
}
@media screen and (min-width: 768px) {
  .p-mv__circle {
    margin-top: 11%;
  }
}
@media screen and (max-width: 767px) {
  .p-mv__circle {
    width: 27%;
  }
}
.p-mv__bottom {
  width: 100%;
  border-radius: 20px 20px 0 0;
}
@media screen and (min-width: 768px) {
  .p-mv__bottom {
    margin-top: 75px;
    min-height: 204px;
  }
}
@media screen and (max-width: 767px) {
  .p-mv__bottom {
    margin-top: 22px;
    min-height: 160px;
  }
}

@keyframes rotateAnim {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  } /* ここを0degにしてしまうと、180度の地点で逆方向の回転になるので注意 */
}
@media screen and (min-width: 1101px) {
  .animetion01 {
    transition: 1.5s ease-in-out;
    animation: animetion01 3s ease-in-out infinite alternate;
  }
}
@media screen and (max-width: 1100px) {
  .animetion01 {
    transition: 1.5s ease-in-out;
    animation: animetion01 3s ease-in-out infinite alternate;
  }
}

@keyframes animetion01 {
  0% {
    transform: translate(0, 0) rotate(-7deg);
  }
  50% {
    transform: translate(0, -10px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(7deg);
  }
}
.p-circle {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: solid 1px #fff;
}
@media screen and (min-width: 1101px) {
  .p-circle {
    width: 112px;
    height: 112px;
    margin: 20px auto;
  }
}
@media screen and (max-width: 1100px) {
  .p-circle {
    width: 110px;
    height: 110px;
    margin: 0px auto;
  }
}
.p-circle:hover .p-circle__arrow::before {
  left: 15%;
}
.p-circle:hover .p-circle__arrow::after {
  right: -15%;
}
.p-circle__inner {
  position: relative;
  width: 5px; /* この親要素自体は1文字が収まる程度の小さいサイズ */
  height: 5px;
  border-radius: 50%;
  animation: rotateAnim 11s linear infinite; /* 円形テキストを回転 */
}
.p-circle__arrow {
  position: absolute;
}
@media screen and (min-width: 1101px) {
  .p-circle__arrow {
    width: 36px;
    height: 7px;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 1100px) {
  .p-circle__arrow {
    width: 22px;
    height: 7px;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.p-circle__arrow::before {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 0%;
  width: 100%;
  height: 1px;
  background: #EBDC00;
  transition: all 0.3s;
}
.p-circle__arrow::after {
  content: "";
  position: absolute;
  transition: all 0.3s;
  background: #EBDC00;
}
@media screen and (min-width: 1101px) {
  .p-circle__arrow::after {
    bottom: -4px;
    right: 0;
    width: 11px;
    height: 1px;
    transform: rotate(40deg);
  }
}
@media screen and (max-width: 1100px) {
  .p-circle__arrow::after {
    bottom: -5px;
    right: -3px;
    width: 8px;
    height: 1px;
    transform: rotate(60deg);
  }
}
.p-circle__txt {
  color: #fff;
}
@media screen and (min-width: 1101px) {
  .p-circle__txt {
    font-size: 0.8rem;
  }
}
@media screen and (max-width: 1100px) {
  .p-circle__txt {
    font-size: 0.8rem;
  }
}
.p-circle__txt span {
  position: absolute;
  inset: 0; /* topとleftとbottomとrightをまとめて指定 */
  font-weight: 400;
}

.p-card {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-card {
    min-height: 140px;
    max-width: 355px;
    margin-top: 8%;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .p-card {
    max-width: 390px;
    margin-top: 2%;
    min-height: 124px;
    justify-content: space-around;
  }
}
@media screen and (min-width: 1101px) {
  .p-card__img {
    max-width: 129px;
  }
}
@media screen and (max-width: 1100px) {
  .p-card__img {
    max-width: 105px;
  }
}
@media screen and (min-width: 768px) {
  .p-card__text {
    max-width: 210px;
    margin-left: 8px;
    width: 60%;
  }
}
@media screen and (max-width: 767px) {
  .p-card__text {
    max-width: 265px;
    padding-left: 10px;
    margin-top: 15px;
  }
}
@media screen and (min-width: 1101px) {
  .p-card__text h3 {
    font-size: 1rem;
    letter-spacing: 0.8px;
  }
}
@media screen and (max-width: 1100px) {
  .p-card__text h3 {
    font-size: 1.2rem;
    letter-spacing: 0.4px;
  }
}
.p-card__text p {
  line-height: 1.2;
  letter-spacing: 0.7px;
}
@media screen and (min-width: 1101px) {
  .p-card__text p {
    font-size: 0.875rem;
    margin-top: 20px;
  }
  .jp .p-card__text p {
    width: 180px;
  }
}
@media screen and (max-width: 1100px) {
  .p-card__text p {
    font-size: 1rem;
    margin-top: 8px;
  }
}
.jp .p-card__text p {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}
.th .p-card__text p {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.3px;
}
.p-card02 {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-card02 {
    justify-content: flex-start;
    gap: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-card02 {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .p-card02__img {
    max-width: 12.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-card02__img {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .p-card02__text {
    max-width: 270px;
    margin-top: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-card02__text {
    max-width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-card02__text {
    padding-left: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p-card02__text h3 {
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .p-card02__text h3 {
    font-size: 1.5rem;
    letter-spacing: 0.7px;
  }
}
.jp .p-card02__text h3 {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .p-card02__text h3 {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
.p-card02__text p {
  line-height: 1.25;
}
@media screen and (min-width: 768px) {
  .p-card02__text p {
    margin-top: 8px;
    letter-spacing: 0.9px;
  }
}
@media screen and (max-width: 767px) {
  .p-card02__text p {
    margin-top: 4px;
    font-size: 1.145rem;
    letter-spacing: 0.8px;
  }
}
.jp .p-card02__text p {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}
.th .p-card02__text p {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.3px;
}
@media screen and (min-width: 768px) {
  .p-card03 {
    display: flex;
    width: 100%;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  .p-card03__img {
    max-width: 430px;
  }
}
@media screen and (max-width: 767px) {
  .p-card03__img {
    max-width: 212px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-card03__text {
    max-width: 449px;
    margin-top: 10.8%;
    margin-left: 38px;
  }
  .jp .p-card03__text.support {
    max-width: 360px;
  }
}
.p-card03__text .num {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-card03__text .num {
    letter-spacing: 1px;
    margin-left: 9px;
  }
}
@media screen and (max-width: 767px) {
  .p-card03__text .num {
    font-size: 0.9rem;
    margin-left: 3px;
  }
}
.p-card03__text .num::before {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: solid 1px #3E3A34;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .p-card03__text .num::before {
    width: 31px;
    height: 31px;
  }
}
@media screen and (max-width: 767px) {
  .p-card03__text .num::before {
    width: 20px;
    height: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-card03__text h3 {
    font-size: 1.6rem;
    margin-top: 10px;
    letter-spacing: -0.5px;
  }
}
@media screen and (max-width: 767px) {
  .p-card03__text h3 {
    font-size: 1.4rem;
    margin-top: 0;
    letter-spacing: 0.4px;
  }
}
.jp .p-card03__text h3 {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .p-card03__text h3 {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
.p-card03__text p {
  letter-spacing: 0.8px;
}
@media screen and (min-width: 768px) {
  .p-card03__text p {
    margin-top: 10px;
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) {
  .p-card03__text p {
    margin-top: 7px;
    line-height: 1.6;
  }
}
.jp .p-card03__text p {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}
.th .p-card03__text p {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.3px;
}
@media screen and (min-width: 768px) {
  .p-card03--reverse.p-card03 {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 768px) {
  .p-card03--reverse .p-card03__text {
    text-align: right;
    margin-right: 38px;
    margin-left: 0;
  }
  .jp .p-card03--reverse .p-card03__text {
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  .p-card03--reverse .p-card03__text .num {
    left: 90%;
  }
  .jp .p-card03--reverse .p-card03__text .num {
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-card04 {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .p-card04__h {
    margin-top: 9%;
  }
}
@media screen and (max-width: 767px) {
  .p-card04__h {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-card04__h h3 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-card04__h h3 {
    font-size: 1.5rem;
  }
}
.jp .p-card04__h h3 {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .p-card04__h h3 {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-card04__cat {
    margin-top: 2px;
  }
}
.jp .p-card04__cat {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .p-card04__cat {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-card04__img {
    width: 240px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-team__item:nth-child(n+6) .p-card04__img img {
    width: 77.6%;
  }
}
.p-card04__text {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-card04__text {
    max-width: 348px;
    margin-inline: auto;
    margin-top: 19px;
  }
}
@media screen and (max-width: 767px) {
  .p-card04__text {
    margin-top: 19px;
  }
}
.p-card04__text p {
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-card04__text p {
    font-size: 0.815rem;
    letter-spacing: 1.7px;
  }
}
@media screen and (max-width: 767px) {
  .p-card04__text p {
    font-size: 13px;
    letter-spacing: 1.8px;
  }
}
.p-card04__text p:nth-child(n+2) {
  margin-top: 10px;
}
.jp .p-card04__text p {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .p-card04__text p {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
  letter-spacing: 0.3px;
}

.p-about {
  position: relative;
  max-width: 100%;
}
@media screen and (min-width: 1401px) {
  .p-about {
    padding-bottom: 300px;
  }
}
@media screen and (min-width: 1101px) and (max-width: 1400px) {
  .p-about {
    padding-bottom: 17%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-about {
    padding-bottom: 20%;
  }
}
@media screen and (max-width: 767px) {
  .p-about {
    margin-inline: auto;
    padding-top: 27.5%;
    padding-bottom: 250px;
  }
}
.p-about__h {
  text-align: center;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .p-about__h {
    padding-top: 8.5%;
  }
}
.p-about__copy {
  text-align: center;
}
@media screen and (min-width: 1101px) {
  .p-about__copy {
    margin-top: 50px;
  }
}
@media screen and (max-width: 1100px) {
  .p-about__copy {
    margin-top: 20px;
    max-width: 330px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1101px) {
  .p-about__copy p {
    font-size: 1.6rem;
    line-height: 0;
    letter-spacing: 0.4px;
  }
}
@media screen and (max-width: 1100px) {
  .p-about__copy p {
    font-size: 1.145rem;
    line-height: 1.2;
    letter-spacing: 0.9px;
  }
}
.jp .p-about__copy {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 1101px) {
  .jp .p-about__copy {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1100px) {
  .jp .p-about__copy {
    font-size: 1rem;
  }
}
.th .p-about__copy {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
.p-about__sentence {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
@media screen and (min-width: 1401px) {
  .p-about__sentence {
    margin-top: 105px;
  }
}
@media screen and (min-width: 1101px) and (max-width: 1400px) {
  .p-about__sentence {
    max-width: 78%;
    margin-top: 70px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-about__sentence {
    max-width: 78%;
    margin-top: 70px;
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-about__sentence {
    max-width: 382px;
    margin-top: 70px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1101px) {
  .p-about__sentence p {
    line-height: 2;
  }
}
@media screen and (max-width: 1100px) {
  .p-about__sentence p {
    font-size: 1.145rem;
    line-height: 1.65;
    letter-spacing: -0.4px;
  }
}
.jp .p-about__sentence p {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .p-about__sentence p {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.3px;
}
.p-about__animal {
  position: absolute;
  content: "";
}
@media screen and (min-width: 1401px) {
  .p-about__animal {
    top: 0%;
    right: -7%;
  }
}
@media screen and (min-width: 1101px) and (max-width: 1400px) {
  .p-about__animal {
    max-width: 700px;
    top: -6%;
    right: -19%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-about__animal {
    max-width: 500px;
    top: -3.5%;
    right: -18%;
  }
}
@media screen and (max-width: 767px) {
  .p-about__animal {
    max-width: 400px;
    top: -4.5%;
    right: -170px;
  }
}
.p-about__animal02 {
  position: absolute;
  content: "";
}
@media screen and (min-width: 1401px) {
  .p-about__animal02 {
    bottom: 21%;
    left: 6%;
  }
}
@media screen and (min-width: 1101px) and (max-width: 1400px) {
  .p-about__animal02 {
    bottom: 21%;
    left: 0%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-about__animal02 {
    max-width: 150px;
    bottom: 15%;
    left: -3%;
  }
}
@media screen and (max-width: 767px) {
  .p-about__animal02 {
    max-width: 150px;
    bottom: 13%;
    left: 6%;
  }
}

.p-service {
  position: relative;
  z-index: 3;
}
@media screen and (min-width: 1101px) {
  .p-service {
    margin-top: 3.9%;
  }
}
@media screen and (max-width: 1100px) {
  .p-service {
    margin-top: 9.4%;
  }
}
@media screen and (min-width: 1101px) {
  .p-service__body {
    width: 100%;
    border-radius: 20px 20px 0 0;
    padding-top: 5.1%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-service__body {
    padding-bottom: 15%;
  }
}
@media screen and (max-width: 767px) {
  .p-service__head {
    min-height: 90px;
  }
}

.p-advantage__relative {
  position: relative;
  max-width: 1600px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-advantage__relative {
    padding-top: 10.7%;
    border-radius: 0 0 20px 20px;
    padding-bottom: 8%;
  }
}
@media screen and (max-width: 767px) {
  .p-advantage__relative {
    padding-top: 12%;
    padding-bottom: 21%;
    border-radius: 0 0 10px 10px;
  }
}
.p-advantage__relative::after {
  content: "";
  position: absolute;
  background: #EBDC00 url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
}
@media screen and (min-width: 768px) {
  .p-advantage__relative::after {
    width: 81px;
    height: 83%;
    top: 11%;
    left: 0;
    border-radius: 0 20px 20px 0;
  }
}
@media screen and (min-width: 1101px) and (max-width: 1400px) {
  .p-advantage__relative::after {
    width: 50px;
    height: 83%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-advantage__relative::after {
    width: 50px;
    height: 80%;
  }
}
@media screen and (max-width: 767px) {
  .p-advantage__relative::after {
    width: 23px;
    height: 95%;
    top: 14px;
    left: 0;
    border-radius: 0 9px 9px 0;
  }
}
@media screen and (min-width: 1101px) {
  .p-advantage__inner {
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-advantage__inner {
    padding: 0 40px 0 90px;
  }
}
@media screen and (max-width: 767px) {
  .p-advantage__inner {
    max-width: 385px;
    margin-inline: auto;
  }
}
.p-advantage__items {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-advantage__items {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    margin: 6% auto 0;
    gap: 0 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-advantage__items {
    flex-direction: column;
  }
}
.p-advantage__items.on-anime .p-advantage__item {
  animation-name: fade-in;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: linear;
}
.p-advantage__items.on-anime .p-advantage__item:nth-child(1) {
  animation-delay: 0.2s;
}
.p-advantage__items.on-anime .p-advantage__item:nth-child(2) {
  animation-delay: 0.4s;
}
.p-advantage__items.on-anime .p-advantage__item:nth-child(3) {
  animation-delay: 0.6s;
}
.p-advantage__items.on-anime .p-advantage__item:nth-child(4) {
  animation-delay: 0.8s;
}
@media screen and (max-width: 767px) {
  .p-advantage__h {
    padding-left: 33px;
  }
}
.p-advantage__item {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .p-advantage__item {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 550px;
  }
}
@media screen and (max-width: 767px) {
  .p-advantage__item {
    max-width: 310px;
    margin-inline: auto;
    margin-top: 12px;
  }
}
@media screen and (min-width: 1401px) {
  .p-advantage__item:nth-child(n+3) {
    margin-top: 65px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-advantage__item:nth-child(n+3) {
    margin-top: 30px;
  }
}

@media screen and (min-width: 768px) {
  .p-workflow {
    padding-top: 9%;
  }
}
@media screen and (max-width: 767px) {
  .p-workflow {
    padding-top: 21.5%;
  }
}
@media screen and (min-width: 768px) {
  .p-workflow__h {
    margin-bottom: 65px;
  }
}
@media screen and (max-width: 767px) {
  .p-workflow__h {
    margin-bottom: 25px;
  }
}
@media screen and (min-width: 768px) {
  .p-workflow__inner {
    max-width: 1520px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-workflow__inner {
    max-width: 90%;
    margin-inline: auto;
  }
}
.p-workflow__content {
  position: relative;
  overflow-x: hidden;
}
@media screen and (min-width: 768px) {
  .p-workflow__content {
    border-radius: 20px;
    padding-bottom: 8.2%;
  }
}
@media screen and (max-width: 767px) {
  .p-workflow__content {
    padding-inline: 15px;
    border-radius: 10px;
    padding-bottom: 0.5%;
  }
}
@media screen and (min-width: 768px) {
  .p-workflow__items {
    max-width: 930px;
    margin-inline: auto;
    padding-top: 75px;
  }
}
@media screen and (max-width: 767px) {
  .p-workflow__items {
    max-width: 276px;
    margin-inline: auto;
    padding-top: 38px;
  }
}
@media screen and (min-width: 768px) {
  .p-workflow__item:nth-child(n+2) {
    margin-top: -35px;
  }
}
@media screen and (max-width: 767px) {
  .p-workflow__item:nth-child(n+2) {
    margin-top: 35px;
  }
}
.p-workflow__label {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-workflow__label {
    margin-top: 6.8%;
  }
}
@media screen and (max-width: 767px) {
  .p-workflow__label {
    margin-top: 11%;
  }
}
@media screen and (min-width: 1401px) {
  .p-workflow__animal {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-workflow__animal {
    width: 43%;
    display: block;
    margin-top: -8%;
  }
}
@media screen and (max-width: 767px) {
  .p-workflow__animal {
    display: block;
    margin-top: 3%;
  }
}

.p-pricing {
  max-width: 1600px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-pricing {
    margin-top: 6.5%;
  }
}
@media screen and (max-width: 767px) {
  .p-pricing {
    margin-top: 18%;
  }
}
.p-pricing__h {
  position: relative;
  z-index: 0;
}
.p-pricing__body {
  position: relative;
  z-index: 0;
  border-radius: 0 0 20px 20px;
}
@media screen and (min-width: 768px) {
  .p-pricing__body {
    width: 100%;
    margin-top: -55px;
    padding-bottom: 5%;
  }
}
@media screen and (max-width: 767px) {
  .p-pricing__body {
    margin-top: -10px;
    padding: 0 15px;
  }
}
.p-pricing__tab {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-pricing__tab {
    max-width: 1440px;
    width: 90%;
    margin-right: 0;
    margin-left: auto;
    height: 46rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pricing__tab {
    height: 40rem;
  }
}

@media screen and (min-width: 768px) {
  .p-team {
    margin-top: 85px;
  }
}
@media screen and (max-width: 767px) {
  .p-team {
    margin-top: 20%;
  }
}
.p-team__body {
  margin-top: -1px;
}
@media screen and (min-width: 768px) {
  .p-team__body {
    min-height: 1327px;
    border-radius: 0 20px 20px 20px;
    padding-bottom: 30px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-team__body {
    padding-inline: 30px;
    padding-bottom: 8%;
  }
}
@media screen and (max-width: 767px) {
  .p-team__body {
    border-radius: 0 10px 10px 10px;
    padding-bottom: 12%;
  }
}
.p-team__items {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-team__items {
    max-width: 1232px;
    width: 100%;
    margin-inline: auto;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0 5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-team__items {
    justify-content: space-evenly;
  }
}
@media screen and (max-width: 767px) {
  .p-team__items {
    max-width: 310px;
    margin-inline: auto;
    width: 100%;
    flex-direction: column;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .p-team__item {
    width: 28.25%;
    margin-top: 6.8%;
  }
  .p-team__item:nth-child(n+4) {
    margin-top: 8%;
  }
}
@media screen and (max-width: 767px) {
  .p-team__item {
    margin-top: 12%;
  }
  .p-team__item:nth-child(n+2) {
    margin-top: 8%;
  }
}

@media screen and (min-width: 768px) {
  .p-faq {
    margin-top: 3%;
  }
}
@media screen and (max-width: 767px) {
  .p-faq {
    margin-top: 46px;
  }
}
.p-faq__content {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-faq__content {
    min-height: 820px;
    padding: 6% 0;
    border-radius: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__content {
    padding: 9% 0;
    border-radius: 10px;
  }
}
@media screen and (min-width: 768px) {
  .p-faq__inner {
    max-width: 750px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-faq__inner {
    max-width: 60%;
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__inner {
    max-width: 390px;
    margin-inline: auto;
    padding: 0 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-faq__accordion {
    margin-top: 51px;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__accordion {
    margin-top: 19px;
  }
}
@media screen and (min-width: 768px) {
  .p-faq__accordion:nth-child(n+3) {
    margin-top: 25px;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__accordion:nth-child(n+3) {
    margin-top: 23px;
  }
}
@media screen and (min-width: 1401px) {
  .p-faq__animal01 {
    position: absolute;
    top: 18%;
    left: -9%;
  }
}
@media screen and (min-width: 1101px) and (max-width: 1400px) {
  .p-faq__animal01 {
    position: absolute;
    top: 18%;
    left: -25%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-faq__animal01 {
    position: absolute;
    width: 50%;
    top: 18%;
    left: -25%;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__animal01 {
    display: none;
  }
}
@media screen and (min-width: 1401px) {
  .p-faq__animal02 {
    position: absolute;
    top: 62%;
    right: 0%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-faq__animal02 {
    position: absolute;
    top: 62%;
    right: -7%;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__animal02 {
    margin-left: 9px;
    margin-top: 22px;
    width: 58%;
  }
}

.p-accordion__h {
  background-color: #EBDC00;
}
@media screen and (min-width: 768px) {
  .p-accordion__h {
    padding: 9px 30px 9px 55px;
    border-radius: 40px;
    letter-spacing: 0.5px;
  }
}
@media screen and (max-width: 767px) {
  .p-accordion__h {
    padding: 13px 44px 10px;
    border-radius: 40px;
    letter-spacing: 0.5px;
  }
}
.p-accordion__h h3 {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-accordion__h h3 {
    letter-spacing: 0.5px;
  }
}
@media screen and (max-width: 767px) {
  .p-accordion__h h3 {
    letter-spacing: 0px;
  }
}
.jp .p-accordion__h h3 {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .p-accordion__h h3 {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
.p-accordion__h h3::before {
  content: url(/common/img/faq/img_icon_question.webp);
  position: absolute;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .p-accordion__h h3::before {
    top: 40%;
    left: -34px;
    width: 30px;
    height: 32px;
  }
}
@media screen and (max-width: 767px) {
  .p-accordion__h h3::before {
    top: 7%;
    scale: 0.8;
    left: -28px;
    width: 22px;
    height: 24px;
  }
}
.p-accordion__h h3::after {
  content: url(/common/img/faq/img_icon_01.svg);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .p-accordion__h h3::after {
    right: -4px;
    width: 24px;
    height: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-accordion__h h3::after {
    right: -20px;
    width: 24px;
    height: 24px;
  }
}
.p-accordion__body {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-accordion__body {
    padding: 17px 63px 0 53px;
  }
}
@media screen and (max-width: 767px) {
  .p-accordion__body {
    padding: 11px 25px 0 37px;
  }
}
.p-accordion__body.active::before {
  transition: all 0.5s;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .p-accordion__body.active::before {
    top: 10px;
  }
  .jp .p-accordion__body.active::before {
    top: 12px;
  }
  .th .p-accordion__body.active::before {
    top: 9px;
  }
}
@media screen and (max-width: 767px) {
  .p-accordion__body.active::before {
    top: 4px;
  }
  .jp .p-accordion__body.active::before {
    top: 6px;
  }
  .th .p-accordion__body.active::before {
    top: 2px;
  }
}
.p-accordion__body::before {
  position: absolute;
  transition: all 0.5s;
  content: url(/common/img/faq/img_icon_answer.webp);
  top: -10px;
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .p-accordion__body::before {
    left: 15px;
    width: 26px;
    height: 32px;
  }
}
@media screen and (max-width: 767px) {
  .p-accordion__body::before {
    left: 9px;
    scale: 0.8;
    width: 22px;
    height: 24px;
  }
}
.p-accordion__body p {
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .p-accordion__body p {
    letter-spacing: 0.8px;
  }
}
@media screen and (max-width: 767px) {
  .p-accordion__body p {
    letter-spacing: 0;
  }
}
.p-accordion__body p:nth-child(2) {
  font-size: 85%;
}
.jp .p-accordion__body p {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}
.th .p-accordion__body p {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.3px;
}

.js-accordion__trigger--active h3::after {
  content: url(/common/img/faq/img_icon_02.svg);
}

@media screen and (min-width: 768px) {
  .p-global {
    margin-top: 4.7%;
  }
}
@media screen and (max-width: 767px) {
  .p-global {
    margin-top: 14%;
  }
}
.p-global__head {
  position: relative;
}
.p-global__copy {
  position: absolute;
  content: "";
  font-weight: 300;
}
@media screen and (min-width: 1401px) {
  .p-global__copy {
    width: 100%;
    top: 52%;
    right: 0;
    padding: 4% 0 0 8.5%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-global__copy {
    width: 48%;
    top: 52%;
    left: 0;
    padding: 4% 0 0 8.5%;
  }
}
@media screen and (max-width: 767px) {
  .p-global__copy {
    width: 100%;
    top: 73px;
    left: 8%;
  }
}
@media screen and (min-width: 1101px) {
  .p-global__copy p {
    font-size: 24px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-global__copy p {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .p-global__copy p {
    color: #3E3A34;
    font-size: 16px;
    line-height: 1;
  }
}
.jp .p-global__copy p {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 1101px) {
  .jp .p-global__copy p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1100px) {
  .jp .p-global__copy p {
    font-size: 1rem;
    line-height: 1.3;
  }
}
.th .p-global__copy p {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
.p-global__body {
  padding-inline: 30px;
}
@media screen and (min-width: 768px) {
  .p-global__body {
    margin-top: -9px;
    padding-top: 2.5%;
    padding-bottom: 9.5%;
    border-radius: 0 0 20px 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-global__body {
    margin-top: -4%;
    padding-top: 1%;
    padding-bottom: 9%;
    border-radius: 0 0 10px 10px;
  }
}
@media screen and (min-width: 768px) {
  .p-global__items {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .p-global__items {
    width: 80%;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-global__items:nth-child(n+2) {
    margin-top: 3.8%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-global__items--2col {
    max-width: 70%;
    margin-inline: auto;
  }
  .p-global__items--2col .p-global__item {
    max-width: 48%;
  }
}
@media screen and (max-width: 767px) {
  .p-global__items--2col {
    margin-top: 19px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-global__items--3col .p-global__item {
    max-width: 32%;
  }
}
@media screen and (min-width: 1401px) {
  .p-global__item {
    max-width: 330px;
  }
}
@media screen and (max-width: 767px) {
  .p-global__item {
    margin-top: 19px;
  }
}

@media screen and (min-width: 768px) {
  .p-contact {
    margin-top: 4.7%;
  }
}
@media screen and (max-width: 767px) {
  .p-contact {
    margin-top: 9%;
  }
}
@media screen and (min-width: 768px) {
  .p-contact__inner {
    max-width: 1438px;
    margin-inline: auto;
    width: 96%;
    border-radius: 20px;
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__inner {
    margin: 0 23px;
    padding: 0px 11px 10px 11px;
    border-radius: 10px;
  }
}
.p-contact__h {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-contact__h {
    padding-top: 7.7%;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__h {
    padding-top: 9%;
  }
}
@media screen and (min-width: 768px) {
  .p-contact__form {
    max-width: 940px;
    margin-inline: auto;
    margin-top: 5.7%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-contact__form {
    max-width: 80%;
    margin-inline: auto;
    margin-top: 5.7%;
  }
}
@media screen and (min-width: 768px) {
  .p-contact__access {
    max-width: 1100px;
    margin-inline: auto;
    margin-top: 6.2%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-contact__access {
    max-width: 90%;
    margin-inline: auto;
    margin-top: 6.2%;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__access {
    max-width: 368px;
    margin-inline: auto;
    margin-top: 6.2%;
  }
}
.p-contact p a {
  cursor: pointer;
  color: #373737;
}

@media screen and (min-width: 768px) {
  .p-form {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-form {
    margin-top: 14%;
  }
}
@media screen and (min-width: 768px) {
  .p-form__table {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-form__table {
    margin-inline: auto;
  }
}
.p-form__table tr {
  display: flex;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-form__table tr {
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .p-form__table tr {
    flex-direction: column;
  }
  .p-form__table tr:not(:last-child) {
    margin-bottom: 25px;
  }
}
.p-form__table th {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-form__table th {
    padding-top: 4px;
    width: 300px;
    line-height: 1.2;
    margin-top: 5px;
    margin-bottom: 32px;
  }
}
@media screen and (max-width: 767px) {
  .p-form__table th {
    width: 100%;
    margin-bottom: 8px;
  }
}
.jp .p-form__table th {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .p-form__table th {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
.p-form__table th span {
  font-size: 12px;
  height: 21px;
}
@media screen and (min-width: 768px) {
  .p-form__table th span {
    padding: 4px 14px 2px;
    border-radius: 50px;
    margin-top: 2px;
  }
  .jp .p-form__table th span {
    padding: 5px 14px 1px;
  }
  .th .p-form__table th span {
    padding: 3.5px 14px 2.5px;
  }
}
@media screen and (max-width: 767px) {
  .p-form__table th span {
    padding: 0px 14px;
    border-radius: 50px;
    margin-right: 13px;
  }
}
.p-form__table th .must {
  background-color: #000;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-form__table th .must {
    margin-right: 38px;
  }
}
.p-form__table th .optional {
  background-color: #fff;
  color: #000;
}
@media screen and (min-width: 768px) {
  .p-form__table th .optional {
    margin-right: 48px;
  }
}
@media screen and (min-width: 768px) {
  .p-form__table td {
    width: 600px;
    margin-bottom: 32px;
  }
}
.p-form__table td input {
  height: 40px;
  padding: 10px;
}
@media screen and (min-width: 1401px) {
  .p-form__table td input {
    width: 600px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-form__table td input {
    width: 74%;
  }
}
@media screen and (max-width: 767px) {
  .p-form__table td input {
    max-width: 360px;
    width: 100%;
  }
}
.p-form__table td input .size-100p {
  width: 100%;
}
.p-form__table td textarea {
  padding: 10px;
  height: 119px;
}
@media screen and (min-width: 1401px) {
  .p-form__table td textarea {
    width: 600px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-form__table td textarea {
    width: 74%;
  }
}
@media screen and (max-width: 767px) {
  .p-form__table td textarea {
    max-width: 360px;
    width: 100%;
  }
}
.p-form__table td textarea .size-100p {
  width: 100%;
}
.p-form__checkbox .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 1401px) {
  .p-form__checkbox .wpcf7-checkbox {
    width: 600px;
    margin-top: 10px;
  }
  .jp .p-form__checkbox .wpcf7-checkbox {
    margin-top: 5px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-form__checkbox .wpcf7-checkbox {
    width: 74%;
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-form__checkbox .wpcf7-checkbox {
    justify-content: space-between;
    max-width: 360px;
    width: 80%;
    margin-top: 10px;
  }
}
.p-form__checkbox .wpcf7-list-item {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .p-form__checkbox .wpcf7-list-item {
    margin-right: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-form__checkbox .wpcf7-list-item {
    max-width: 80%;
  }
}
@media screen and (min-width: 768px) {
  .p-form__checkbox .wpcf7-list-item:nth-child(n+4) {
    margin-top: 11px;
  }
  .th .p-form__checkbox .wpcf7-list-item:nth-child(n+4) {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-form__checkbox .wpcf7-list-item:nth-child(n+3) {
    margin-top: 11px;
  }
}
@media screen and (max-width: 767px) {
  .p-form__checkbox .wpcf7-list-item:nth-child(n+2) {
    margin-top: 11px;
  }
}
.p-form__checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
}
.p-form__checkbox .wpcf7-list-item input[type=checkbox] {
  border-radius: 0;
}
@media screen and (min-width: 768px) {
  .p-form__checkbox .wpcf7-list-item input[type=checkbox] {
    width: 16px;
    height: 16px;
    margin-right: 5px;
  }
}
@media screen and (max-width: 767px) {
  .p-form__checkbox .wpcf7-list-item input[type=checkbox] {
    width: 16px;
    height: 16px;
    margin-right: 5px;
  }
}
@media screen and (min-width: 768px) {
  .p-form__checkbox .wpcf7-list-item-label {
    display: block;
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .p-form__checkbox .wpcf7-list-item-label {
    display: block;
    font-size: 14px;
  }
}
.jp .p-form__checkbox .wpcf7-list-item-label {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  padding-top: 3px;
}
.th .p-form__checkbox .wpcf7-list-item-label {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
.p-form .wpcf7-turnstile {
  text-align: center;
}
.p-form__btns {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-form__btns {
    margin-top: 2%;
  }
}
@media screen and (max-width: 767px) {
  .p-form__btns {
    margin-top: 12%;
  }
}
.p-form__btnitems {
  display: flex;
  width: 100%;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-form__btnitems {
    flex-direction: row;
    gap: 50px;
  }
}
@media screen and (max-width: 767px) {
  .p-form__btnitems {
    flex-direction: column;
    gap: 20px;
  }
}
.p-form__btnitem input {
  cursor: pointer;
  border: none;
}
@media screen and (min-width: 768px) {
  .p-form__btnitem .wpcf7-spinner {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-form__btnitem .wpcf7-spinner {
    display: none;
  }
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0px !important;
}

.p-access {
  width: 100%;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-access {
    position: relative;
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .p-access__l {
    width: 38%;
  }
}
@media screen and (max-width: 767px) {
  .p-access__l {
    margin-top: 23%;
    max-width: 255px;
  }
}
@media screen and (min-width: 768px) {
  .p-access__l h3 {
    letter-spacing: 1px;
  }
}
@media screen and (max-width: 767px) {
  .p-access__l h3 {
    letter-spacing: 2px;
  }
}
@media screen and (min-width: 768px) {
  .p-access__r {
    width: 62%;
  }
}
@media screen and (max-width: 767px) {
  .p-access__r {
    margin-top: 10%;
  }
}
@media screen and (min-width: 768px) {
  .p-access__r iframe {
    width: 100%;
    height: 302px;
  }
}
@media screen and (max-width: 767px) {
  .p-access__r iframe {
    width: 100%;
    max-width: 361px;
    height: 208px;
  }
}
@media screen and (min-width: 768px) {
  .p-access__text {
    margin-top: 16%;
  }
}
@media screen and (max-width: 767px) {
  .p-access__text {
    margin-top: 6%;
  }
}
@media screen and (min-width: 768px) {
  .p-access__text p {
    line-height: 1.6;
  }
}
@media screen and (max-width: 767px) {
  .p-access__text p {
    line-height: 1.4;
  }
}
@media screen and (min-width: 768px) {
  .p-access__text p:not(:first-child) {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-access__text p:not(:first-child) {
    margin-top: 9%;
  }
}
.th .p-access__text p {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
}
.p-access__sns {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-access__sns {
    margin-top: 15%;
  }
}
@media screen and (max-width: 767px) {
  .p-access__sns {
    margin-top: 6%;
  }
}
@media screen and (min-width: 768px) {
  .p-access__sns figure {
    margin-right: 7px;
  }
}
@media screen and (max-width: 767px) {
  .p-access__sns figure {
    margin-right: 7px;
  }
}
@media screen and (min-width: 768px) {
  .p-access__animal01 {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-access__animal01 {
    position: absolute;
    top: 0;
    right: -21%;
  }
}

.p-loading {
  position: fixed;
  background: #3E3A34 url(/common/img/base/noise3.png);
  background-repeat: repeat;
  background-size: auto;
  width: 100%;
  height: 100vh;
  z-index: 999;
  opacity: 1;
}
.p-loading.off {
  animation: fade-out 1s ease-in-out forwards;
}
.p-loading__svg {
  margin-inline: auto;
}
.p-loading__svg svg {
  opacity: 1;
}
@media screen and (min-width: 1101px) {
  .p-loading__svg {
    width: 100%;
    max-width: 756px;
    margin-top: 93px;
    padding-top: calc(100px + 2vw);
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-loading__svg {
    width: 100%;
    max-width: 756px;
    margin-top: 69px;
    padding-top: 11.8vw;
    padding-inline: 15px;
  }
}
@media screen and (max-width: 767px) {
  .p-loading__svg {
    width: 212px;
    margin-top: 69px;
    padding-top: 27vw;
    margin-inline: auto;
  }
}

@media screen and (min-width: 1101px) {
  .p-svg__mask {
    width: 100%;
    max-width: 756px;
    height: 100px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-svg__mask {
    width: 100%;
    max-width: 756px;
    height: 100px;
  }
}
@media screen and (max-width: 767px) {
  .p-svg__mask {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .p-svg__mask--sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-svg__mask--sp {
    display: block;
    width: 100%;
    max-width: 212px;
    height: 316px;
  }
}

.p-svg__path {
  fill: none;
  stroke: #fff;
  stroke-width: 10;
  stroke-miterlimit: 4;
  stroke-dasharray: 3286px;
  stroke-dashoffset: 3286px;
}
.p-svg__path.on-anime {
  animation: line_animation 1.4s linear forwards;
}

.p-thanks__inner {
  text-align: center;
}
@media screen and (min-width: 1101px) {
  .p-thanks__inner {
    padding-top: 30px;
    max-width: 757px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-thanks__inner {
    width: 756px;
    margin-inline: auto;
    padding-inline: 15px;
  }
}
@media screen and (max-width: 767px) {
  .p-thanks__inner {
    padding: 0 15px;
  }
}
@media screen and (min-width: 768px) {
  .p-thanks__text {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-thanks__text {
    margin: 20px auto;
    width: 95%;
    text-align: center;
    padding-left: 7px;
  }
}
.p-thanks__title {
  font-family: "SnellRoundhand", sans-serif;
  font-weight: 600;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-thanks__title {
    font-size: 60px;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-thanks__title {
    font-size: 42px;
    margin-bottom: 1rem;
  }
}
.p-thanks__btn {
  margin-top: 3rem;
}

@media screen and (min-width: 1101px) {
  .p-privacy__inner {
    padding-top: 80px;
    max-width: 757px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-privacy__inner {
    width: 756px;
    margin-inline: auto;
    padding-inline: 15px;
  }
}
@media screen and (max-width: 767px) {
  .p-privacy__inner {
    padding: 0 15px;
  }
}
.p-privacy__title {
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-privacy__title {
    font-size: 36px;
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-privacy__title {
    font-size: 24px;
    margin-bottom: 1rem;
  }
}
.jp .p-privacy__title {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .p-privacy__title {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
.p-privacy__subtitle {
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-privacy__subtitle {
    font-size: 24px;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-privacy__subtitle {
    font-size: 20px;
    margin-bottom: 1rem;
  }
}
.jp .p-privacy__subtitle {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
}
.th .p-privacy__subtitle {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-privacy p {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-privacy p {
    margin: 20px auto;
    width: 95%;
    text-align: center;
    padding-left: 7px;
  }
}
.th .p-privacy p.c-sentence {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
}
.p-privacy p.company a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.th .p-privacy p.company {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
}

body#cat-recruit.jp {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}
body#cat-recruit.th {
  font-family: "IBM Plex Sans Thai Looped", sans-serif;
  font-weight: 400;
}
body#cat-recruit .header-border {
  border-bottom: none;
}

.c-mv {
  position: relative;
}
.c-mv__imageArea {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-mv__imageArea {
    width: 100%;
    height: auto;
  }
}
.c-mv__imageArea img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-mv__imageArea img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.c-mv__inner {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: -moz-max-content;
  width: max-content;
}
.th .c-mv__inner {
  top: 50%;
  width: 62%;
}
.c-mv__h {
  color: #fff;
  font-size: 3rem;
  font-weight: 600;
}
.th .c-mv__h {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
  line-height: 1.3;
}
.c-mv__h span {
  display: block;
  font-size: 45%;
  letter-spacing: 3px;
}

@media screen and (min-width: 768px) {
  .p-recruit {
    padding: 5rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit {
    padding-top: 21.5%;
  }
}
@media screen and (min-width: 768px) {
  .p-recruit__h {
    margin-bottom: 65px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit__h {
    margin-bottom: 25px;
  }
}
.p-recruit__inner {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-recruit__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit__inner {
    max-width: 90%;
    margin-inline: auto;
  }
}
.p-recruit__content {
  position: relative;
  overflow-x: hidden;
}
@media screen and (min-width: 768px) {
  .p-recruit__content {
    border-radius: 20px;
    padding: 4rem 7rem 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit__content {
    padding-inline: 15px;
    border-radius: 10px;
    padding: 1rem;
  }
}
.p-recruit__content h2, .p-recruit__content h3, .p-recruit__content p {
  font-feature-settings: "palt";
}
.p-recruit__content h2, .p-recruit__content h3 {
  letter-spacing: 2px;
}
.th .p-recruit__content h2, .th .p-recruit__content h3 {
  font-family: "MiSansThai", sans-serif;
  font-weight: 500;
  letter-spacing: 1px;
}
.p-recruit__content h2 + p, .p-recruit__content h3 + p {
  padding-top: 1rem;
}
.p-recruit__content h2 {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.6;
  padding: 14px 22px;
  background-color: #eee;
}
.p-recruit__content h2 + h3 {
  margin-top: 1rem;
}
.p-recruit__content h3 {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.6;
  position: relative;
  padding-left: 40px;
}
.p-recruit__content h3::before {
  content: "";
  background-image: linear-gradient(90deg, #3bb6cf, #ffe84c 50%, #f2927a);
  display: block;
  width: 24px;
  height: 2px;
  position: absolute;
  top: 15px;
  left: 0;
}
.p-recruit__content p {
  font-size: 1.05rem;
  line-height: 1.9;
  letter-spacing: 1.5px;
}
.th .p-recruit__content p {
  letter-spacing: 0.3px;
}
.p-recruit__content p a {
  color: #333;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.p-recruit__content p a:hover {
  color: #f00;
  opacity: 0.6;
}
.p-recruit__content p b {
  display: block;
}
.p-recruit__content p + h2 {
  margin-top: 3rem;
}
.p-recruit__content p + h3 {
  margin-top: 2rem;
}
.p-recruit__content p + p {
  margin-top: 1rem;
}
.p-recruit__content figure {
  margin: 2rem 0 3rem;
}
.p-recruit__content figure img {
  border-radius: 20px;
}
.p-recruit__content figure figcaption {
  text-align: center;
  font-size: 90%;
  font-weight: 600;
  margin-top: 0.5rem;
}
@media screen and (min-width: 1401px) {
  .p-recruit__animal {
    position: absolute;
    content: "";
    bottom: -3rem;
    right: 4%;
    width: 21rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-recruit__animal {
    width: 43%;
    display: block;
    margin-top: -8%;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit__animal {
    display: block;
    margin-top: 3%;
  }
}

/* ---------------------------
js-accordion
--------------------------- */
.js-accordion__trigger {
  cursor: pointer;
}
.js-accordion__target {
  display: none;
}