@charset "UTF-8";
*,
::before,
::after {
 box-sizing: border-box;
 border-style: solid;
 border-width: 0;
}
html {
 line-height: 1.15;
 -webkit-text-size-adjust: 100%;
 -webkit-tap-highlight-color: transparent;
}
body {
 margin: 0;
}
main {
 display: block;
}
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
 margin: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
 font-size: inherit;
 font-weight: inherit;
 margin: 0;
}
ul,
ol {
 margin: 0;
 padding: 0;
 list-style: none;
}
dt {
 font-weight: 700;
}
dd {
 margin-left: 0;
}
hr {
 box-sizing: content-box;
 height: 0;
 overflow: visible;
 border-top-width: 1px;
 margin: 0;
 clear: both;
 color: inherit;
}
pre {
 font-family: monospace, monospace;
 font-size: inherit;
}
address {
 font-style: inherit;
}
a {
 background-color: transparent;
 text-decoration: none;
 color: inherit;
}
abbr[title] {
 text-decoration: underline dotted;
}
b,
strong {
 font-weight: bolder;
}
code,
kbd,
samp {
 font-family: monospace, monospace;
 font-size: inherit;
}
small {
 font-size: 80%;
}
sub,
sup {
 font-size: 75%;
 line-height: 0;
 position: relative;
 vertical-align: baseline;
}
sub {
 bottom: -0.25em;
}
sup {
 top: -0.5em;
}
svg,
img,
embed,
object,
iframe {
 vertical-align: bottom;
}
button,
input,
optgroup,
select,
textarea {
 -webkit-appearance: none;
 appearance: none;
 vertical-align: middle;
 color: inherit;
 font: inherit;
 background: transparent;
 padding: 0;
 margin: 0;
 border-radius: 0;
 text-align: inherit;
 text-transform: inherit;
}
[type="checkbox"] {
 -webkit-appearance: checkbox;
 appearance: checkbox;
}
[type="radio"] {
 -webkit-appearance: radio;
 appearance: radio;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
 cursor: pointer;
}
button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
 cursor: default;
}
:-moz-focusring {
 outline: auto;
}
select:disabled {
 opacity: inherit;
}
option {
 padding: 0;
}
fieldset {
 margin: 0;
 padding: 0;
 min-width: 0;
}
legend {
 padding: 0;
}
progress {
 vertical-align: baseline;
}
textarea {
 overflow: auto;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
 height: auto;
}
[type="search"] {
 outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
 -webkit-appearance: none;
}
::-webkit-file-upload-button {
 -webkit-appearance: button;
 font: inherit;
}
label[for] {
 cursor: pointer;
}
details {
 display: block;
}
summary {
 display: list-item;
}
[contenteditable]:focus {
 outline: auto;
}
table {
 border-color: inherit;
}
caption {
 text-align: left;
}
td,
th {
 vertical-align: top;
 padding: 0;
}
th {
 text-align: left;
 font-weight: 700;
}
a {
 outline: none;
 color: inherit;
 text-decoration: none;
 transition: all 0.1s ease-in-out;
}
a:active,
a:hover {
 text-decoration: none;
}
a:focus,
*:focus {
 outline: none;
}
a:hover img {
 transition: all 0.5s ease-in-out;
}
i,
em {
 font-style: normal;
}
strong {
 font-weight: bold;
}
img {
 max-width: 100%;
 height: auto;
 vertical-align: middle;
 -ms-interpolation-mode: bicubic;
}
ul li {
 list-style-type: none;
}
table {
 border-collapse: collapse;
}
.object-fit {
 object-fit: cover;
 font-family: "object-fit: cover;";
 min-height: 100%;
}
.ind {
 text-indent: 1em;
}
.object-fit {
 display: block;
 object-fit: cover;
 object-position: 50% 50%;
 font-family: "object-fit: cover;";
 width: 100%;
 height: 100%;
}
.txhd {
 display: block;
 height: 0;
 overflow: hidden;
 font-size: 1rem;
 line-height: 2;
}
.ofyh {
 overflow-y: hidden;
}
.center {
 text-align: center;
}
.left {
 text-align: left;
}
.right {
 text-align: right;
}
.center_left {
 text-align: center;
}
.pc,
.is_pc {
 display: block;
}
.sp,
.is_sp,
.is_tb {
 display: none;
}
@-ms-viewport {
 width: auto !important;
 initial-scale: 1;
}
@media only screen and (max-width: 820px) {
 .is_tb {
  display: block;
 }
}
@media only screen and (max-width: 600px) {
 .pc {
  display: none;
 }
 .sp {
  display: block;
 }
 .is_pc {
  display: none;
 }
 .is_sp {
  display: block;
 }
 .is_tb {
  display: none;
 }
 .center_left {
  text-align: left;
 }
}
@font-face {
 font-family: "urbanist";
 font-weight: 500;
 src: url("/assets/fonts/Urbanist-Medium.woff2") format("woff2");
}
@font-face {
 font-family: "urbanist";
 font-weight: 600;
 src: url("/assets/fonts/Urbanist-SemiBold.woff2") format("woff2");
}
.urbanist {
 font-family: "urbanist" !important;
 font-weight: 500;
}
:root {
 /* Colors: */
 --color-blk: #000000;
 --color-wht: #ffffff;
 --color-base: #212121;
 --color-brw: #920101;
 --color-red: #d50104;
 --color-ylw: #ddf74d;
 --color-ppl: #b04aea;
 --color-grn: #25cdc3;
 --color-grn2: #33d73a;
 --color-pnk: #f870a0;
 --color-blu: #3e9ee7;
 --color-line: #e2e2e7;
 --color-line2: #c8c8cf;
 --color-ct: #fcd0e4;
 --color-gy1: #d0d8df;
 --color-gy2: #edefeb;
 --color-gy3: #f3f3f3;
 --color-gy4: #f0f0f3;
 --color-gy5: #bac0c6;
 --color-gy6: #dfe7ee;
 --ff-urb: "urbanist", sans-serif;
}

/* ==========================================================================
    Global
========================================================================== */
html {
 font-size: 10px;
 font-size: 62.5%;
 overflow-y: scroll;
 height: 100%;
 line-height: 1;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 -ms-text-size-adjust: 100%;
 -webkit-text-size-adjust: 100%;
}
body {
 color: var(--color-base);
 font-optical-sizing: auto;
 font-weight: 400;
 font-size: 1.6rem;
 line-height: 1;
 letter-spacing: 0.02em;
 width: 100%;
 -moz-text-size-adjust: 100%;
 -webkit-text-size-adjust: 100%;
 -o-text-size-adjust: 100%;
 -ms-text-size-adjust: 100%;
 text-size-adjust: 100%;
 -ms-width: calc(100% - (100vw - 100%));
 position: relative;
 background: var(--color-wht);
}
.c-svg-sprite {
 display: none;
 width: 0;
 height: 0;
 opacity: 0;
 overflow: hidden;
}
.l-wrapper {
 display: flex;
 flex-direction: column;
 position: relative;
 min-height: 100vh;
 overflow: hidden;
}

@media screen and (max-width: 820px) {
 body {
  min-width: unset;
  font-size: clamp(1.3rem, 3.73vw, 1.4rem);
 }
}

/* header
---------------------------------------------------------------------------------*/
.l-header {
 display: flex;
 justify-content: flex-end;
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 80px;
 transition: all 0.4s ease-in-out;
}
.backlayer {
 display: block;
 position: fixed;
 top: -101vh;
 right: 0;
 width: 100%;
 height: 100vh;
 background-color: var(--color-wht);
 transition: 0.6s cubic-bezier(0.08, 0.8, 0.315, 1);
 z-index: 4;
}
.hdlogo {
 position: absolute;
 top: 30px;
 left: 20px;
 z-index: 20;
 transition: all 0.6s ease;
 z-index: 3;
}
.hdlogo a {
 display: block;
 width: 130px;
 aspect-ratio: 100 / 32;
 transition: all 0.6s ease;
}
.hdlogo a span {
 display: block;
 width: 100%;
 height: 100%;
}
.hdlogo a span svg {
 width: 100%;
 height: 100%;
 fill: var(--color-brw);
}
.hdmenu {
 position: relative;
 display: flex;
 justify-content: flex-end;
 align-items: center;
 gap: 24px;
 width: 100%;
 height: 80px;
 padding-top: 20px;
 padding-inline: 200px 100px;
 z-index: 2;
}
.hdm_loca {
 display: flex;
 margin-right: auto;
 font-size: 1.45rem;
 font-family: var(--ff-urb);
 font-weight: 600;
}
.hdm_loca_ttl {
 margin-right: 14px;
}
.hdm_loca_dot {
 margin-inline: 4px;
}
.hdm_loca_dot::before {
 content: "/";
}
.hdm_loca_item.-on {
 color: var(--color-red);
 pointer-events: none;
}
.hdm_list {
 display: flex;
 gap: 20px;
 height: 100%;
}
.hdm_item {
 display: flex;
 align-items: center;
 height: 100%;
 position: relative;
}
.hdm_item a {
 display: flex;
 align-items: center;
 position: relative;
 height: 100%;
 font-size: 1.5rem;
 font-family: var(--ff-urb);
 font-weight: 600;
}
.hdm_item a:before {
 content: " ";
 position: absolute;
 height: 1px;
 width: 0;
 left: auto;
 right: 0;
 bottom: 16px;
 background-color: var(--color-base);
 transition-duration: 0.5s;
 transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
 pointer-events: none;
 z-index: 1;
}
.hdm_contact {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 110px;
 height: 40px;
 color: var(--color-wht);
 font-size: 1.3rem;
 font-family: var(--ff-urb);
 font-weight: 600;
 border-radius: 20px;
 background-color: var(--color-base);
 transition: all 0.3s ease;
}

.hdnav {
 display: block;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 0;
 width: 100%;
 height: 100vh;
 overflow: hidden;
 transition: 120ms ease-in-out;
 z-index: 4;
 opacity: 0;
 pointer-events: none;
}
.hdnav-scroller {
 display: flex;
 align-items: center;
 justify-content: center;
 height: inherit;
 padding-block: 60px;
 padding-inline: 40px;
 min-height: 500px;
 height: 100vh;
 overflow-y: auto;
}
.hdnav_wrap {
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
 gap: 100px;
 width: 100%;
 max-width: 1160px;
 opacity: 0;
 transform: translateY(50px);
 transition: 1.2s 1s ease;
}
.hdnav_sub {
 display: flex;
 flex-flow: column;
 align-items: center;
 gap: 45px;
 width: 260px;
}
.hdnav_logo {
 width: 100%;
}
.hdnav_logo .logo {
 display: block;
 width: 260px;
 aspect-ratio: 512/292;
 background: url(../images/common/logo_ft.png) no-repeat 0 0;
 background-size: contain;
}
.hdnav_sub strong {
 margin-top: 20px;
 display: block;
 font-size: 1.5rem;
 font-weight: 800;
}
.hdnav_sub address {
 margin-top: 20px;
 display: block;
 font-size: 1.3rem;
 line-height: 1.6;
 opacity: 0.8;
}
.hdnav_main {
 flex: 1;
 display: flex;
 max-width: 560px;
}
.hdnav_list {
 display: flex;
 flex-flow: row wrap;
 justify-content: space-between;
 position: relative;
 margin-top: 30px;
 gap: 60px 60px;
}
.hdnav_item {
 width: 150px;
 display: flex;
 flex-direction: column;
 gap: 30px;
}
.hdnav_item:nth-child(3n) {
 width: 120px;
}
.hdnav_item a {
 color: var(--color-base);
 transition: all 0.2s linear;
}
.hdnav_parent {
 font-size: 1.45rem;
 font-weight: 600;
 line-height: 1;
 position: relative;
}
.hdnav_parent::before {
 content: "";
 position: absolute;
 left: -20px;
 top: 6px;
 width: 4px;
 height: 4px;
 border-radius: 100%;
 background-color: #c8c8cf;
}
.hdnav_nest {
 display: flex;
 flex-wrap: wrap;
 width: 100%;
 gap: 20px;
}
.hdnav_nest_list {
 display: flex;
 flex-wrap: wrap;
 width: 100%;
 gap: 20px;
}
.hdnav_nest_item {
 width: 100%;
}
.hdnav_nest_item a {
 display: flex;
 position: relative;
 font-size: 1.3rem;
 font-weight: 400;
 line-height: 1.4;
}
.hdnav_nest_item a:before {
 content: "";
 display: block;
 width: 10px;
 height: 1px;
 margin-top: 0.6em;
 margin-right: 5px;
 background-color: var(--color-base);
 opacity: 0.4;
}
.hdnav_second {
 font-size: 1.3rem;
 font-weight: 400;
 line-height: 1.4;
 margin-top: 20px;
}
.hdnav_item.sub .hdnav_nest {
 margin-top: 0;
}
.hdnav_item.sub .hdnav_nest_item a:before {
 content: none;
}
.hdnav_item.sub .hdnav_nest_item a {
 font-size: 1.25rem;
 letter-spacing: 0;
}

.hdbtn {
 display: flex;
 align-items: center;
 justify-content: center;
 position: fixed;
 top: 25px;
 right: 25px;
 width: 50px;
 height: 50px;
 z-index: 20;
}
.hdbtn::after {
 content: "";
 display: flex;
 align-items: center;
 justify-content: center;
 position: absolute;
 top: 0;
 left: 0;
 width: 50px;
 height: 50px;
 border-radius: 100%;
 border: 1px solid var(--color-line);
 background-color: var(--color-wht);
 transition: all 0.3s ease;
 z-index: 0;
}
.hdbtn_icon {
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 width: 22px;
 height: 14px;
 position: relative;
 z-index: 2;
}
.hdbtn_icon span {
 position: relative;
 width: 14px;
 height: 2px;
 background: var(--color-red);
 transition: all 0.3s ease;
}
.hdbtn_icon span:nth-child(1) {
 position: absolute;
 top: 0;
 right: 0;
}
.hdbtn_icon span:nth-child(3) {
 position: absolute;
 bottom: 0;
 left: 0;
}

/* -open */
.l-header.-open .backlayer {
 top: 0;
 transition: 0.6s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.hdbtn.-open .hdbtn_icon span:nth-child(1),
.hdbtn.-open .hdbtn_icon span:nth-child(3) {
 opacity: 0;
}
.l-header.-open .hdnav {
 opacity: 1;
 pointer-events: initial;
}
.l-header.-open .hdnav_wrap {
 opacity: 1;
 transform: translateY(0);
 transition: 0.6s cubic-bezier(0.08, 0.8, 0.315, 1) 0.5s;
}

/* hover */
@media screen and (min-width: 821px) {
 .hdm_item a:hover:before {
  width: 100%;
  right: auto;
  left: 0;
 }
 .hdm_contact:hover {
  background-color: var(--color-red);
 }
 .hdnav_item > a:hover em:before {
  right: auto;
  left: 0;
  width: 100%;
 }
 .hdnav_item a:hover {
  opacity: 0.6;
 }
 .hdbtn:hover::after {
  transition: all 0.2s ease;
  -webkit-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
 }
 .hdbtn:hover .hdbtn_icon span {
  width: 22px;
 }
}

@media screen and (max-width: 1000px) {
 .hdm_list {
  display: none;
 }
 .hdnav_wrap {
  gap: 120px;
 }
 .hdnav_list {
  flex-flow: column;
  margin-top: 0;
  gap: 30px 0;
 }
}

@media screen and (max-width: 820px) {
 .hdnav-scroller {
  align-items: flex-start;
  padding-top: 160px;
  padding-bottom: 120px;
 }
 .hdnav_list {
  gap: 40px;
 }
 .hdnav_parent {
  font-size: 1.8rem;
 }
 .hdnav_item {
  width: 100%;
  gap: 40px;
 }
 .hdnav_item:nth-child(3n) {
  width: 100%;
 }
 .hdnav_nest_list {
  gap: 30px;
 }
 .hdnav_nest_item a {
  font-size: 1.45rem;
 }
}

@media screen and (max-width: 600px) {
 .l-header {
  height: calc((48 / 375) * 100cqw);
 }
 .hdlogo {
  top: calc((12 / 375) * 100cqw);
  left: calc((7 / 375) * 100cqw);
 }
 .hdlogo a {
  width: calc((86 / 375) * 100cqw);
 }
 .hdmenu {
  gap: unset;
  height: calc((48 / 375) * 100cqw);
  padding-top: calc((8 / 375) * 100cqw);
  padding-inline: 100px 74px;
  z-index: 2;
 }
 .hdm_loca {
  margin-right: unset;
  font-size: min(1.8rem, 4.8cqw);
 }
 .hdm_loca_ttl {
  font-size: min(1.3rem, 3.46cqw);
 }
 .hdm_loca_dot {
  margin-inline: 6px;
 }
 .hdm_contact {
  display: none;
 }
 .hdnav-scroller {
  padding-block: 30px 90px;
  padding-inline: 5.33vw;
 }
 .hdnav_wrap {
  flex-flow: column;
  gap: 50px;
 }
 .hdnav_sub {
  gap: 20px;
  width: auto;
  align-items: flex-start;
 }
 .hdnav_logo {
  width: 60%;
 }
 .hdnav_logo .logo {
  max-width: 50cqw;
  width: 100%;
 }
 .hdnav_main {
  flex: unset;
  margin-left: 5.33vw;
  display: flex;
  max-width: 560px;
 }
 .hdnav_list {
  gap: 30px;
 }
 .hdnav_item {
  width: 100%;
  gap: 30px;
 }
 .hdnav_parent {
  font-size: min(1.8rem, 4.8cqw);
 }
 .hdnav_parent::before {
  left: -12px;
 }
 .hdnav_nest_list {
  gap: 10px 15px;
 }
 .hdnav_nest_item {
  width: auto;
 }
 .hdnav_nest_item a {
  font-size: min(1.4rem, 3.73cqw);
  line-height: 1.4;
  letter-spacing: 0;
 }
 .hdnav_nest_item a:before {
  width: 8px;
  margin-top: 0.7em;
 }
 .hdnav_second {
  font-size: min(1.3rem, 3.46cqw);
  margin-top: unset;
 }

 .hdbtn {
  top: 8px;
  right: 6px;
  width: 48px;
  height: 48px;
 }
 .hdbtn::after {
  width: 48px;
  height: 48px;
 }
 .hdbtn_icon {
  width: 20px;
  height: 12px;
 }
}

/* Layout
---------------------------------------------------------------------------------*/
.c-red {
 color: var(--color-red);
}
.c-base {
 color: var(--color-base);
}
.c-wht {
 color: var(--color-wht);
}
.c-red1:first-letter {
 color: var(--color-red);
}
.c-wht1:first-letter {
 color: var(--color-base);
}
.bg_red {
 background-color: var(--color-red) !important;
}
.bg_wht {
 background-color: var(--color-wht) !important;
}
.bg_gy3 {
 background-color: var(--color-gy3) !important;
}
.br_lb {
 border-bottom-left-radius: 120px;
}
.br_rt {
 border-top-right-radius: 120px;
}
.pt0 {
 padding-top: 0 !important;
}
.mt1 {
 margin-top: 1em;
}
.mb1 {
 margin-bottom: 1em;
}
.l-container {
 width: auto;
 margin-inline: auto;
 padding-inline: 7.35cqw;
 position: relative;
}
.l-content {
 max-width: 960px;
 margin-inline: auto;
}
.l-section + .l-section {
 margin-top: 80px;
}
.flex_wrap_col {
 display: flex;
 flex-flow: row wrap;
 gap: calc((60 / 1160) * 100cqw);
 position: relative;
}
.flex_wrap_col .col_l {
 width: calc((420 / 1160) * 100cqw);
}
.flex_wrap_col .col_r {
 width: calc((680 / 1160) * 100cqw);
}
.flex_wrap_col2 {
 display: flex;
 flex-flow: row wrap;
 gap: 10px;
 position: relative;
}
.flex_wrap_col2 .col {
 width: calc((100% - 10px) * 0.5);
}
.flex_wrap_col3 {
 display: flex;
 flex-flow: row wrap;
 gap: 10px;
 position: relative;
}
.flex_wrap_col3 .col {
 width: calc((100% - 20px) * 0.333);
}
.flex_wrap .word {
 margin-top: 2.4cqw;
 display: flex;
 flex-flow: column;
 gap: 1.38cqw;
}
.flex_wrap .word .sub {
 font-size: 1.48cqw;
 line-height: 1.8;
}
.flex_wrap .word .title {
 font-size: 2.59cqw;
 font-weight: 700;
}
.more_btn {
 display: flex;
 justify-content: flex-end;
 margin-top: 40px;
}
.more_btn_center {
 display: flex;
 justify-content: center;
 margin-top: 30px;
}
@keyframes btn-in {
 0% {
  transform: scale(1);
 }
 100% {
  transform: scale(40);
 }
}
@keyframes btn-out {
 0% {
  transform: scale(40);
 }
 30% {
  transform: scale(1);
 }
 40% {
  transform: scale(2);
 }
 50% {
  transform: scale(1);
 }
 100% {
  transform: scale(1);
 }
}
@keyframes btn-in-large {
 0% {
  transform: scale(1);
 }
 100% {
  transform: scale(60);
 }
}

.a-button {
 display: inline-block;
 min-width: 240px;
 height: 80px;
}
.a-button a {
 display: flex;
 align-items: center;
 justify-content: space-between;
 z-index: 1;
 width: 100%;
 height: 100%;
 overflow: hidden;
 padding-inline: 35px 30px;
 color: var(--color-base);
 background-color: var(--color-wht);
 border: 2px solid var(--color-line);
 font-size: 1.8rem;
 font-family: var(--ff-urb);
 font-weight: 500;
 line-height: 1.2;
 letter-spacing: 0.08em;
 border-radius: 9999rem;
 transition: all 0.2s ease;
 position: relative;
 cursor: pointer;
}
.a-button a em {
 display: block;
 position: relative;
 transition: all 0.2s ease;
 z-index: 2;
}
.a-button a span {
 width: 22px;
 height: 22px;
 margin-left: 20px;
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
 background-color: var(--color-red);
 transition: all 0.2s ease;
}
.a-button svg {
 width: 10px;
 height: 7.5px;
 fill: var(--color-wht);
 transition: all 0.4s ease;
}
.a-button.s-button {
 min-width: 110px;
 height: 48px;
}
.a-button.s-button a {
 padding-inline: 24px 14px;
 font-size: 1.3rem;
 border-radius: 24px;
}
.a-button.s-button a span {
 width: 18px;
 height: 18px;
 margin-left: 14px;
}
.a-button.s-button svg {
 width: 8px;
 height: 6px;
}
.a-button.current {
 pointer-events: none;
}
.a-button.current a {
 border-color: var(--color-gy4);
 background-color: var(--color-gy4);
}
.a-button.current a span {
 background-color: var(--color-gy5);
}
.a-button.anc svg {
 transform: rotate(90deg);
}
.c-button a {
 position: relative;
 overflow: hidden;
 width: 100%;
 display: block;
 border-radius: 10px;
 aspect-ratio: 540 / 346;
}
.c-button a figure {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 overflow: hidden;
}
.c-button a figure img {
 transition:
  transform 0.4s ease,
  opacity 0.2s ease;
}
.c-button a .word {
 position: absolute;
 bottom: 20px;
 left: 20px;
 width: calc(100% - 40px);
 height: 60px;
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 9999rem;
 background-color: var(--color-red);
 transition: all 0.2s ease;
 z-index: 2;
}
.c-button a .word .title {
 color: var(--color-wht);
 font-size: 1.6rem;
 font-weight: 600;
}
.c-button a .word span {
 position: absolute;
 top: 0;
 right: 0;
 width: 60px;
 height: 60px;
 display: flex;
 justify-content: center;
 align-items: center;
}
.c-button a svg {
 width: 12px;
 height: 9px;
 fill: var(--color-wht);
 transition: all 0.4s ease;
 z-index: 1;
}
.dot {
 display: block;
 padding: 0.25em 0 0.25em 1em;
 text-indent: -1em;
}
.ol {
 filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.2)) drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.2));
}

@media screen and (min-width: 821px) {
 .a-button a:hover {
  background-color: var(--color-gy3);
 }
 .a-button a:hover em {
  transition: all 0.4s ease;
  transform: translateX(-6px);
 }
 .a-button a:hover span {
  transition: all 0.4s ease;
  transform: translateX(6px);
 }
 .c-button a:hover span svg {
  transition: all 0.4s ease;
  transform: translateX(6px);
 }
 .c-button a:hover .word {
  background-color: var(--color-base);
  transition: all 0.2s ease;
 }
 .c-button a:hover figure img {
  transform: scale(1.1);
  transition:
   transform 0.4s ease,
   opacity 0.2s ease;
 }
}

@media screen and (max-width: 820px) {
 .l-container {
  width: auto;
  padding: 0 5.33vw;
 }
 .flex_wrap_col {
  flex-direction: column;
  gap: 40px;
  position: relative;
 }
 .flex_wrap_col .col_l {
  width: 100%;
 }
 .flex_wrap_col .col_r {
  width: 100%;
 }
 .flex_wrap_col2 .item.item_3 {
  width: calc((100% - 5%) * 0.5);
 }
 .flex_wrap .word .title {
  font-size: 3cqw;
 }
 .flex_wrap .word .sub {
  font-size: 1.9cqw;
 }
 .a-button {
  min-width: 180px;
  height: 60px;
 }
 .a-button a {
  padding-inline: 30px 20px;
  font-size: 1.5rem;
 }
 .c-button a .word {
  bottom: 15px;
  left: 10px;
  width: calc(100% - 20px);
  height: 40px;
 }
 .c-button a .word .title {
  font-size: 1.5rem;
 }
 .c-button a .word span {
  width: 40px;
  height: 40px;
 }
 .c-button a svg {
  width: 12px;
  height: 9px;
  fill: var(--color-wht);
  transition: all 0.4s ease;
  z-index: 1;
 }
}

@media screen and (max-width: 600px) {
 .br_lb {
  border-bottom-left-radius: 60px;
 }
 .br_rt {
  border-top-right-radius: 60px;
 }
 .flex_wrap_col2 .item.item_3 {
  width: 100%;
 }
 .flex_wrap .word .sub {
  font-size: clamp(11.5px, 3.46vw, 13px);
 }
 .a-button.s-button {
  min-width: 110px;
  height: 40px;
 }
 .a-button.s-button a {
  height: 40px;
  padding-inline: 15px 10px;
  font-size: min(1.35rem, 3.6vw);
  letter-spacing: 0.02em;
  border-radius: 20px;
 }
 .a-button.s-button a span {
  width: 14px;
  height: 14px;
  margin-left: 10px;
 }
 .a-button.s-button svg {
  width: 6px;
  height: 4px;
 }
 .c-button a {
  border-radius: 5px;
 }
 .c-button a .word {
  bottom: 15px;
  left: 10px;
  width: calc(100% - 20px);
  height: 40px;
 }
 .c-button a .word .title {
  font-size: clamp(1.1rem, 4vw, 1.5rem);
 }
 .c-button a .word span {
  width: 40px;
  height: 40px;
 }
 .c-button a svg {
  width: 12px;
  height: 9px;
  fill: var(--color-wht);
  transition: all 0.4s ease;
  z-index: 1;
 }
 .ol {
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2)) drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2));
 }
}

@media screen and (max-width: 340px) {
 .l-container {
  padding: 0 4vw;
 }
}

/* p-contents
---------------------------------------------------------------------------------*/
.p-contents {
 padding-block: 120px 200px;
 position: relative;
 z-index: 1;
}
.p-contents + .p-contents {
 margin-top: 0;
}
.p-section {
 max-width: 1160px;
 margin-inline: auto;
 container: psection / inline-size;
}
.p-section + .p-section {
 margin-top: 200px;
}
.p-section_middle {
 max-width: 1080px;
 margin-inline: auto;
 container: psectionm / inline-size;
}
.p-section_single {
 max-width: 880px;
 margin-inline: auto;
 container: psections / inline-size;
}
.p-section_single .block + .block {
 margin-top: 60px;
}
.p-section_narrow {
 max-width: 800px;
 margin-inline: auto;
 container: psectionn / inline-size;
}
a.txt_link {
 color: var(--color-red);
 text-decoration: underline;
}
.heading {
 display: flex;
 flex-flow: column;
 align-items: flex-start;
 gap: 24px;
}
.heading_en {
 color: var(--color-base);
 font-size: 8rem;
 font-family: var(--ff-urb);
 font-weight: 500;
 line-height: 0.9;
 position: relative;
 display: flex;
 flex-flow: column;
 gap: 0;
}
.heading_en.mid {
 font-size: 6rem;
}
.heading_en.page {
 font-size: 4rem;
}
.heading_en span:first-letter {
 color: var(--color-red);
}
.heading_jp {
 color: var(--color-base);
 font-size: 1.5rem;
 font-weight: 500;
 line-height: 1.0715;
 letter-spacing: 0.08em;
}
.block + .block {
 margin-top: 80px;
}
.block .mds {
 font-size: 2.8rem;
 font-weight: 600;
 line-height: 1.8;
 margin-bottom: 30px;
}
.block p {
 font-size: 1.5rem;
 line-height: 2;
}
.block p + p {
 margin-top: 2em;
}
.block p.small {
 font-size: 0.9em;
}
.line_txt {
 display: block;
 margin-bottom: 40px;
}
.line_txt strong {
 font-size: 2.2rem;
 font-weight: 700;
 line-height: 1.7;
 display: inline;
 background: linear-gradient(transparent 94%, #000000 6%);
}
.read_txt {
 display: block;
 margin-bottom: 60px;
 font-size: 1.5rem;
 line-height: 2;
}
.block_item {
 margin-top: 50px;
}
.block_item2 {
 margin-top: 80px;
}
.block_large {
 max-width: 920px;
 margin-top: 50px;
 margin-left: -180px;
 position: relative;
}
.p-table {
 width: 100%;
 border-top: 1px solid var(--color-line);
 position: relative;
 table-layout: fixed;
}
.p-table::after {
 content: "";
 position: absolute;
 bottom: 0;
 left: 0;
 width: 160px;
 height: 1px;
 display: block;
 background-color: var(--color-red);
}
.p-table th {
 width: 160px;
 padding-block: 20px;
 font-size: 1.5rem;
 font-weight: 500;
 border-bottom: 1px solid var(--color-line);
 position: relative;
}
.p-table th::after {
 content: "";
 position: absolute;
 top: -1px;
 left: 0;
 width: 160px;
 height: 1px;
 display: block;
 background-color: var(--color-red);
}
.p-table td {
 padding-block: 20px;
 padding-left: 40px;
 font-size: 1.5rem;
 font-weight: normal;
 border-bottom: 1px solid var(--color-line);
 line-height: 1.8;
 word-break: break-all;
}
.p-table p {
 line-height: 1.8;
}

@media screen and (min-width: 821px) {
 a.txt_link:hover {
  text-decoration: none;
 }
}

@media screen and (max-width: 820px) {
 .heading {
  gap: 20px;
 }
 .heading_en {
  font-size: 6rem;
 }
 .heading_en.mid {
  font-size: 4.8rem;
 }
 .p-section {
  max-width: unset;
 }
 .block + .block {
  margin-top: 80px;
 }
 .block .mds {
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.8;
  margin-bottom: 30px;
 }
 .block p {
  font-size: min(1.54rem, 4.1cqw);
  line-height: 2;
 }
 .block_item {
  margin-top: 30px;
 }
 .p-section_single {
  max-width: unset;
 }
 .p-section_single .block + .block {
  margin-top: 40px;
 }
 .p-section_narrow {
  max-width: unset;
 }
}

@media screen and (max-width: 600px) {
 .p-contents {
  padding-block: 40px;
 }
 .heading {
  gap: 14px;
 }
 .heading_en {
  font-size: min(4.4rem, 11.7vw);
  line-height: 0.9;
  flex-wrap: wrap;
  gap: 0 0.25em;
 }
 .heading_en.mid {
  font-size: min(4.4rem, 11.7vw);
 }
 .heading_en.page {
  font-size: clamp(3rem, 8.8vw, 3.3rem);
  font-weight: 600;
 }
 .heading_jp {
  font-size: clamp(1rem, 3.2vw, 1.2rem);
 }
 .p-section + .p-section {
  margin-top: 100px;
 }
 .block + .block {
  margin-top: 40px;
 }
 .block p {
  font-size: min(1.54rem, 4.1vw);
  line-height: 2;
 }
 .block .mds {
  font-size: min(1.9rem, 5vw);
 }
 .block .line_txt {
  margin-bottom: 30px;
 }
 .block .line_txt strong {
  font-size: 1.8rem;
 }
 .read_txt {
  margin-bottom: 30px;
 }
 .block_item {
  margin-top: 30px;
 }
 .block_item2 {
  margin-top: 50px;
 }
 .p-table::after {
  width: 110px;
 }
 .p-table th {
  width: 110px;
  padding-block: 10px;
  font-size: min(1.4rem, 3.73vw);
  line-height: 1.5;
 }
 .p-table th::after {
  width: 110px;
 }
 .p-table td {
  padding-block: 10px;
  padding-left: 8px;
  font-size: min(1.4rem, 3.73vw);
  line-height: 1.5;
 }
 .p-table p {
  line-height: 1.6;
 }
}

/* p-header
---------------------------------------------------------------------------------*/
.p-header {
 position: relative;
 overflow: hidden;
 padding-top: calc((126 / 1360) * 100cqw);
 padding-bottom: calc((60 / 1360) * 100cqw);
 height: calc((590 / 1360) * 100cqw);
}
.p-header::after {
 content: "";
 position: absolute;
 bottom: 0px;
 left: 2.2cqw;
 right: 2.2cqw;
 width: auto;
 height: 1px;
 background-color: var(--color-line);
}
.ph_wrap {
 display: flex;
 justify-content: center;
 height: 100%;
}
.ph-title {
 width: 48.52cqw;
 padding-block: 4.77cqw 0;
 padding-right: 5.88cqw;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 gap: 20px;
}
.ph-nav {
 display: flex;
 flex-wrap: wrap;
 align-items: flex-end;
 gap: 10px;
}
.ph_right {
 width: 36.76%;
 height: 100%;
 position: relative;
 display: flex;
 align-items: flex-end;
}
.ph_photo {
 width: 100%;
 aspect-ratio: 500/ 340;
 position: relative;
}
.ph_photo figure {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 z-index: 0;
 overflow: hidden;
 border-radius: 10px;
 transition: all 0.4s ease;
}
.ph-item_01 {
 position: absolute;
 top: calc((50 / 1360) * 100cqw);
 right: calc((350 / 1360) * 100cqw);
 width: calc((463 / 1360) * 100cqw);
 aspect-ratio: 1/1;
 display: block;
 opacity: 0;
}
.ph-item_02 {
 position: absolute;
 top: calc((98 / 1360) * 100cqw);
 right: calc((-35 / 1360) * 100cqw);
 width: calc((408 / 1360) * 100cqw);
 aspect-ratio: 1/1;
 display: block;
 opacity: 0;
}
.ph-item_01 span,
.ph-item_02 span {
 width: 100%;
 height: 100%;
 display: block;
}
.ph-item_01 span svg,
.ph-item_02 span svg {
 width: 100%;
 height: 100%;
 fill: var(--color-ylw);
}
body.-start .ph-item_01 {
 animation-name: phitem01;
 animation-duration: 4s;
 animation-timing-function: cubic-bezier(0.295, 0.03, 0.115, 1);
 animation-delay: 0.2s;
 animation-fill-mode: both;
}
body.-start .ph-item_02 {
 animation-name: phitem02;
 animation-duration: 4s;
 animation-timing-function: cubic-bezier(0.295, 0.03, 0.115, 1);
 animation-delay: 0.2s;
 animation-fill-mode: both;
}
@keyframes phitem01 {
 0% {
  opacity: 0;
  transform: rotate(-30deg) translate(-100%, 30%);
 }
 100% {
  opacity: 1;
  transform: rotate(0deg) translate(0, 0);
 }
}
@keyframes phitem02 {
 0% {
  opacity: 0;
  transform: rotate(-30deg) translate(200px, -100px);
 }
 100% {
  opacity: 1;
  transform: rotate(0deg) translate(0, 0);
 }
}
/* -start */
.ph-title .heading_en,
.ph-title .heading_jp,
.ph-nav {
 opacity: 0;
}
body.-start .ph-title .heading_en,
body.-start .ph-title .heading_jp {
 animation: ani_title 2s cubic-bezier(0.075, 0.82, 0.165, 1) 0.1s both;
}
body.-start .ph-title .heading_jp {
 animation-delay: 0.3s;
}
body.-start .ph-nav {
 animation: ani_nav 2s cubic-bezier(0.075, 0.82, 0.165, 1) 0.5s both;
}

@media screen and (min-width: 821px) {
 .ph-nav li a:hover span {
  transition: all 0.4s ease;
  opacity: 0.5;
 }
}

@media screen and (max-width: 820px) {
 .p-header {
  padding-top: 120px;
  padding-bottom: 40px;
  height: auto;
 }
 .ph-title {
  width: 54cqw;
  padding-block: 4.77cqw 0;
  padding-inline: 3cqw;
  gap: 8cqw;
 }
 .ph_right {
  width: 42%;
 }
}

@media screen and (max-width: 600px) {
 .p-header {
  padding-top: 140px;
  padding-bottom: 24px;
  height: auto;
 }
 .p-header::after {
  left: 0;
  right: 0;
 }
 .ph_wrap {
  flex-direction: column;
  justify-content: flex-start;
  gap: 40px;
  height: auto;
 }
 .ph-title {
  width: 100%;
  padding-block: 0;
  padding-inline: 5.33vw;
 }
 .ph-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
 }
 .ph_right {
  width: 100%;
  margin-left: 5.33vw;
 }
 .ph-item_01 {
  top: 70px;
  right: calc((96 / 375) * 100cqw);
  width: calc((127 / 375) * 100cqw);
 }
 .ph-item_02 {
  top: 80px;
  right: calc((-9 / 375) * 100cqw);
  width: calc((112 / 375) * 100cqw);
 }
}

/* bread-crumb
---------------------------------------------------------------------------------*/
.bread-crumb {
 padding-block: 50px;
}
.p-bread-crumb {
 display: flex;
 align-items: center;
 gap: 10px 28px;
 font-size: 1.3rem;
 line-height: 1.715;
}
.p-bread-crumb > li {
 position: relative;
 display: block;
}
.p-bread-crumb > li:before {
 content: "";
 position: absolute;
 top: 2px;
 right: -14px;
 display: block;
 width: 1px;
 height: 20px;
 background-color: var(--color-line);
}
.p-bread-crumb > li a {
 color: var(--color-base);
 transition: 0.2s;
 position: relative;
}
.p-bread-crumb > li span {
 opacity: 0.6;
}

@media screen and (min-width: 821px) {
 .p-bread-crumb > li a:hover {
  opacity: 0.6;
 }
}

@media screen and (max-width: 600px) {
 .bread-crumb {
  padding-block: 30px;
 }
 .p-bread-crumb {
  flex-wrap: wrap;
  font-size: min(1.35rem, 3.6vw);
 }
}

/* contact_under
---------------------------------------------------------------------------------*/
.contact_under {
 margin-inline: 20px;
 background-color: var(--color-ct);
 border-radius: 10px;
 padding-block: 140px 120px;
 position: relative;
}
.cu_wrap {
 display: flex;
 justify-content: center;
 gap: 4.42%;
}
.cu_main {
 width: 350px;
 display: flex;
 flex-direction: column;
 gap: 50px;
}
.cu_main .heading {
 align-items: center;
}
.cu_text {
 font-size: 1.5rem;
 font-weight: 500;
 line-height: 2;
}
.cu_main .more_btn {
 justify-content: center;
 margin-top: 20px;
}
.cu_main .a-button a {
 border: none;
}
.cu_photo_01 {
 position: absolute;
 top: calc((120 / 1360) * 100cqw);
 left: calc((142 / 1360) * 100cqw);
 width: calc((225 / 1360) * 100cqw);
 aspect-ratio: 225/286;
 background: url(../images/photo_cu_01.jpg) no-repeat 50% 50%;
 background-size: cover;
 border-radius: 10px;
 overflow: hidden;
}
.cu_photo_02 {
 position: absolute;
 bottom: calc((200 / 1360) * 100cqw);
 right: calc((82 / 1360) * 100cqw);
 width: calc((226 / 1360) * 100cqw);
 aspect-ratio: 264/176;
 background: url(../images/photo_cu_02.jpg) no-repeat 50% 50%;
 background-size: cover;
 border-radius: 10px;
 overflow: hidden;
}

@media screen and (min-width: 1800px) {
 .cu_photo_01 {
  top: 159px;
  left: calc((142 / 1360) * 100cqw);
  width: 298px;
 }
 .cu_photo_02 {
  bottom: 264px;
  right: calc((82 / 1360) * 100cqw);
  width: 300px;
 }
}

@media screen and (max-width: 1000px) {
 .cu_photo_01 {
  left: calc((60 / 1360) * 100cqw);
 }
 .cu_photo_02 {
  right: calc((40 / 1360) * 100cqw);
 }
}

@media screen and (max-width: 820px) {
 .contact_under {
  padding-block: 120px;
  margin-inline: 10px;
 }
 .cu_main .a-button {
  min-width: 240px;
  height: 80px;
 }
 .cu_main .a-button a {
  padding-inline: 35px 30px;
  font-size: 1.8rem;
 }
}

@media screen and (max-width: 600px) {
 .contact_under {
  padding-top: 76.26cqw;
  padding-bottom: 80px;
 }
 .cu_main {
  width: min(290px, 77.33cqw);
  gap: 40px;
 }
 .cu_text {
  font-size: min(1.4rem, 3.73cqw);
 }
 .cu_main .more_btn {
  margin-top: 10px;
 }
 .cu_photo_01 {
  top: calc((60 / 375) * 100cqw);
  left: calc((34 / 375) * 100cqw);
  width: calc((118 / 375) * 100cqw);
 }
 .cu_photo_02 {
  top: calc((128 / 375) * 100cqw);
  right: calc((17 / 375) * 100cqw);
  width: calc((148 / 375) * 100cqw);
 }
}

/* Footer
---------------------------------------------------------------------------------*/
.l-footer {
 position: relative;
}
.l-footer .p-section {
 padding-block: 136px 112px;
}
.ft_wrap {
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
 gap: 100px;
}
.ft_sub {
 display: flex;
 width: 260px;
}
.ft_logo {
 width: 100%;
}
.ft_logo .logo {
 display: block;
 width: 260px;
 aspect-ratio: 512/292;
 background: url(../images/common/logo_ft.png) no-repeat 0 0;
 background-size: contain;
}
.ftnav_main {
 display: flex;
 max-width: 560px;
}
.ftnav_list {
 display: flex;
 flex-flow: row wrap;
 justify-content: space-between;
 position: relative;
 margin-top: 30px;
 gap: 60px 60px;
}
.ftnav_item {
 width: 150px;
 display: flex;
 flex-direction: column;
 gap: 25px;
}
.ftnav_item:nth-child(3n) {
 width: 120px;
}
.ftnav_item a {
 color: var(--color-base);
 transition: all 0.2s linear;
}
.ftnav_parent {
 font-size: 1.45rem;
 font-weight: 600;
 line-height: 1;
 position: relative;
}
.ftnav_parent::before {
 content: "";
 position: absolute;
 left: -20px;
 top: 6px;
 width: 4px;
 height: 4px;
 border-radius: 100%;
 background-color: #c8c8cf;
}
.ftnav_nest {
 display: flex;
}
.ftnav_nest_list {
 display: flex;
 flex-wrap: wrap;
 width: 100%;
 gap: 15px;
}
.ftnav_nest_item {
 width: 100%;
}
.ftnav_nest_item a {
 display: flex;
 position: relative;
 font-size: 1.3rem;
 font-weight: 400;
 line-height: 1.4;
 transition: all 0.2s linear;
}
.ftnav_nest_item a:before {
 content: "";
 display: block;
 width: 10px;
 height: 1px;
 margin-top: 0.6em;
 margin-right: 5px;
 background-color: var(--color-base);
 opacity: 0.4;
}
.l-footer__pagetop {
 position: absolute;
 top: -25px;
 right: 25px;
 transform: translateY(-100%);
 cursor: pointer;
 z-index: 2;
}
.l-footer__pagetop a {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 44px;
 height: 44px;
 position: relative;
 border-radius: 100%;
 border: 1px solid var(--color-line);
 background-color: var(--color-wht);
 transition: all 0.2s linear;
}
.l-footer__pagetop a:after {
 position: absolute;
 top: 50%;
 left: 50%;
 margin-top: -3px;
 margin-left: -5px;
 content: "";
 display: block;
 width: 10px;
 height: 10px;
 border: solid 0 var(--color-red);
 border-width: 2px 0 0 2px;
 transform: rotate(45deg);
}
.ftnav-bottom {
 border-top: 1px solid var(--color-line);
 position: relative;
}
.ftnav-bottom-main {
 display: flex;
 justify-content: space-between;
 align-items: center;
 max-width: 100%;
 margin: auto;
 padding-block: 40px 70px;
 padding-inline: 30px;
}
.ftnav-bottom_list {
 display: flex;
}
.ftnb_item {
 margin-right: 28px;
}
.ftnb_item a {
 opacity: 0.8;
 font-size: 1.3rem;
}
.ft_copyright {
 color: #a7a7a7;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.2rem;
 letter-spacing: 0.02em;
}

@media screen and (min-width: 821px) {
 .l-footer__pagetop a:hover {
  transform: scale(1.1);
 }
 .ftnav_item a:hover {
  opacity: 0.6;
 }
 .l-footer__nav-sub__item a:hover {
  opacity: 1;
 }
}

@media screen and (max-width: 1040px) {
 .ft_wrap {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 80px;
 }
 .ftnav_list {
  margin-top: unset;
 }
}

@media screen and (max-width: 600px) {
 .l-footer .p-section {
  padding-block: 80px 60px;
 }
 .ft_main {
  flex-flow: column;
  gap: 40px;
 }
 .ft_sub {
  width: 100%;
  gap: 24px;
 }
 .ft_logo {
  width: 100%;
 }
 .ft_logo .logo {
  width: 180px;
 }
 .ft_wrap {
  gap: 36px;
 }
 .ftnav_main {
  flex: unset;
  margin-left: 5.33vw;
  max-width: unset;
 }
 .ftnav_list {
  gap: 25px;
 }
 .ftnav_item {
  width: 100%;
  gap: 25px;
 }
 .ftnav_item:nth-child(3n) {
  width: 100%;
 }
 .ftnav_nest_list {
  flex-wrap: wrap;
  width: unset;
  gap: 12px 24px;
 }
 .ftnav_parent {
  font-size: min(1.8rem, 4.8cqw);
 }
 .ftnav_parent::before {
  left: -12px;
 }
 .ftnav_nest_item {
  width: unset;
 }
 .ftnav_nest_item a {
  font-size: min(1.4rem, 3.73cqw);
  line-height: 1.4;
  letter-spacing: 0;
 }
 .ftnav_nest_item a:before {
  width: 8px;
  margin-top: 0.7em;
 }
 .ftnav-bottom-main {
  padding-block: 25px 40px;
  padding-inline: 5.33vw;
 }
 .l-footer__pagetop {
  top: -40px;
  right: 12px;
 }
 .l-footer__pagetop a {
  width: 36px;
  height: 36px;
 }
 .l-footer__pagetop a:after {
  margin-top: -2px;
  margin-left: -4px;
  width: 8px;
  height: 8px;
 }
 .ftnav-bottom_list {
  flex-flow: column;
  gap: 20px;
 }
 .ftnb_item {
  margin-right: 0;
 }
 .ftnb_item a {
  font-size: min(1.2rem, 3.58cqw);
 }
 .ft_copyright {
  font-size: min(1.1rem, 3.28cqw);
 }
}

/* home
---------------------------------------------------------------------------------*/
body.home .hdlogo a span svg {
 fill: var(--color-wht);
}
body.home .hdm_loca,
body.home .hdm_item a {
 color: var(--color-wht);
}
body.home .hdm_item a:before {
 background-color: var(--color-wht);
}
.top_header {
 width: 100%;
 max-width: 2400px;
 height: 100vh;
 min-height: 600px;
 margin-inline: auto;
 position: relative;
 z-index: 1;
}
.th_inner {
 position: relative;
 width: 100%;
 height: 100%;
 display: flex;
 justify-content: center;
 align-items: flex-end;
 padding-bottom: calc((90 / 1360) * 100cqw);
 container: th / inline-size;
}
.th_mv {
 display: block;
 position: absolute;
 overflow: hidden;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 z-index: 0;
}
.th_mv .swiper {
 overflow: unset;
 width: 100%;
 height: 100%;
}
.th_mv .swiper-wrapper {
 width: 100%;
 height: 100%;
 overflow: hidden;
}
.th_mv .swiper-slide {
 width: 100%;
 height: 100%;
 position: relative;
}
.th_mv .swiper-slide figure {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
.th_mv .swiper-slide figure img {
 display: block;
 position: relative;
 transform: scale(1);
 transition: 12s ease-out;
}
.th_mv .swiper-slide figure img.object-fit {
 object-position: 50% 50%;
}
.th_mv .swiper-slide.swiper-slide-active figure img {
 transform: scale(1.05);
}
.th_mv .swiper-pagination {
 position: absolute;
 bottom: 60px;
 left: 160px;
 display: flex;
 justify-content: flex-start;
 gap: 4px;
 text-align: unset;
 transition: 0.3s opacity;
 transform: translate3d(0, 0, 0);
 z-index: 10;
}
.th_mv .swiper-pagination-bullet {
 width: 20px;
 height: 4px;
 display: block;
 border-radius: 2em;
 background: var(--color-wht);
 margin: 0 !important;
 opacity: 0.5;
 transition: all 0.2s ease;
}
.th_mv .swiper-pagination-bullet-active {
 width: 40px;
 opacity: 1;
}
.th_mv .swiper-nav {
 position: absolute;
 left: 30px;
 bottom: 60px;
 width: 122px;
 display: flex;
 z-index: 3;
}
.th_mv .swiper_btn {
 width: 60px;
 height: 60px;
 margin-top: 0;
 border-radius: 100%;
 box-shadow: none;
 position: relative;
 top: unset;
 left: unset;
 right: unset;
 background: var(--color-red);
 transition: all 0.3s ease;
}
.th_mv .swiper_btn:after {
 position: absolute;
 top: 50%;
 left: 50%;
 margin-top: -5px;
 margin-left: -3px;
 content: "";
 display: block;
 width: 10px;
 height: 10px;
 border: solid 0 var(--color-wht);
 border-width: 1px 0 0 1px;
 transform: rotate(-45deg);
}
.swiper_btn.swiper-button-next:after {
 margin-left: -5px;
 transform: rotate(135deg);
}
body.-start .top_header .th_mv::after {
 opacity: 0;
}
.th_copy {
 position: relative;
 display: flex;
 flex-flow: column;
 align-items: center;
 z-index: 2;
}
.th_copy .copy_01 {
 color: var(--color-wht);
 font-size: 1.6cqw;
 font-weight: 600;
 font-family: var(--ff-urb);
}
.th_copy .copy_02 {
 width: 26.4cqw;
 height: 8.44cqw;
 margin-top: 1.47cqw;
}
.th_copy .copy_02 h1 {
 display: block;
 margin: 0 !important;
}
.th_copy .copy_02 span {
 width: 100%;
 height: 100%;
 display: block;
}
.th_copy .copy_02 svg {
 width: 100%;
 height: 100%;
 fill: var(--color-wht);
}
.th_copy .copy_03 {
 color: var(--color-wht);
 font-size: 1.8cqw;
 font-weight: 600;
 letter-spacing: 0.4em;
 margin-top: 1.47cqw;
}
.copy_mask {
 display: block;
 overflow: hidden;
}
.copy_line {
 display: block;
}
.scroll_item {
 position: absolute;
 right: 30px;
 bottom: 30px;
 display: flex;
 align-items: center;
 gap: 15px;
 writing-mode: vertical-rl;
 z-index: 2;
}
.scroll_item .word {
 color: var(--color-wht);
 font-size: 1.4rem;
 font-weight: 500;
 font-family: var(--ff-urb);
 line-height: 1.4;
 right: -1px;
 position: relative;
}
.scroll_item .bar {
 display: block;
 position: relative;
 width: 1px;
 height: 40px;
 background: var(--color-wht);
 margin-bottom: 12px;
 animation: sc_ani 2s infinite;
 animation-iteration-count: 20;
}
@keyframes sc_ani {
 0% {
  transform: scaleY(1);
  transform-origin: center bottom;
 }
 50% {
  transform: scaleY(0);
  transform-origin: center bottom;
 }
 51% {
  transform: scaleY(0);
  transform-origin: center top;
 }
 100% {
  transform: scaleY(1);
  transform-origin: center top;
 }
}

/* -start */
.th_copy .copy_01 .copy_line,
.th_copy .copy_02 .copy_line {
 opacity: 0;
 transform: translate(0, 100%);
}
body.-start .th_copy .copy_01 .copy_line,
body.-start .th_copy .copy_03 .copy_line {
 animation: copy_line 1.4s cubic-bezier(0.5, 1, 0.89, 1) 3s both;
}
body.-start .th_copy .copy_03 .copy_line {
 animation-delay: 3.4s;
}

@keyframes copy_line {
 0% {
  opacity: 0;
  transform: translate(0, 100%);
 }
 100% {
  opacity: 1;
  transform: translate(0, 0);
 }
}

@media screen and (min-width: 821px) {
 .th_mv .swiper_btn:hover {
  transform: scale(1.1);
 }
}

@media screen and (max-width: 820px) {
 .top_header {
  max-width: unset;
  min-height: unset;
 }
 .th_inner {
  padding-bottom: calc((180 / 820) * 100cqw);
 }
 .th_copy .copy_01 {
  font-size: 3.5cqw;
 }
 .th_copy .copy_02 {
  width: 42.4cqw;
  height: 14.44cqw;
  margin-top: 3cqw;
 }
 .th_copy .copy_03 {
  font-size: 2.8cqw;
  margin-top: 3cqw;
 }
}

@media screen and (max-width: 600px) {
 .top_header {
  height: 170vw;
 }
 .th_inner {
  padding-bottom: calc((80 / 375) * 100cqw);
 }
 .th_copy .copy_01 {
  font-size: min(1.6rem, 4.26cqw);
 }
 .th_copy .copy_02 {
  width: 50cqw;
  height: 16cqw;
  margin-top: 3cqw;
 }
 .th_copy .copy_03 {
  font-size: min(1.4rem, 3.73cqw);
  margin-top: 3cqw;
 }
 .scroll_item {
  right: 2vw;
  bottom: 2vw;
  gap: 3vw;
 }
 .scroll_item .word {
  font-size: min(1.2rem, 3.2vw);
  right: -2px;
 }
 .scroll_item .bar {
  height: 40px;
 }
 .th_mv .swiper-nav {
  display: none;
 }
 .th_mv .swiper-pagination {
  bottom: 42px;
  left: 0;
  justify-content: center;
 }
}

/* t_about
---------------------------------------------------------------------------------*/
.t_about {
 position: relative;
}
.t_about::before {
 content: "";
 position: absolute;
 top: -24px;
 left: 0;
 width: 100%;
 height: 25px;
 background-color: var(--color-wht);
 border-top-left-radius: 20px;
 border-top-right-radius: 20px;
 z-index: 2;
}
.t_about .l-container {
 width: 100%;
 padding-block: 200px 240px;
 padding-inline: 30px;
 position: relative;
 overflow: hidden;
}
.ta-item_01 {
 position: absolute;
 top: calc((50 / 1360) * 100cqw);
 right: calc((350 / 1360) * 100cqw);
 width: calc((463 / 1360) * 100cqw);
 aspect-ratio: 1/1;
 display: block;
 opacity: 0;
}
.ta-item_02 {
 position: absolute;
 top: calc((98 / 1360) * 100cqw);
 right: calc((-35 / 1360) * 100cqw);
 width: calc((408 / 1360) * 100cqw);
 aspect-ratio: 1/1;
 display: block;
 opacity: 0;
}
.ta-item_01 span,
.ta-item_02 span {
 width: 100%;
 height: 100%;
 display: block;
}
.ta-item_01 span svg,
.ta-item_02 span svg {
 width: 100%;
 height: 100%;
 fill: var(--color-ylw);
}
.ta-item_01.is-show {
 animation-name: phitem01;
 animation-duration: 4s;
 animation-timing-function: cubic-bezier(0.295, 0.03, 0.115, 1);
 animation-delay: 0.2s;
 animation-fill-mode: both;
}
.ta-item_02.is-show {
 animation-name: phitem02;
 animation-duration: 4s;
 animation-timing-function: cubic-bezier(0.295, 0.03, 0.115, 1);
 animation-delay: 0.2s;
 animation-fill-mode: both;
}
.ta_wrap {
 display: flex;
}
.ta_left {
 width: calc((740 / 1360) * 100cqw);
 position: relative;
}
.ta_right {
 width: calc((490 / 1360) * 100cqw);
 min-width: 380px;
 position: relative;
}
.ta_right .mds {
 font-size: 3rem;
 line-height: 1.5;
 margin-bottom: 20px;
}
.ta_right .sub {
 font-size: 1.6rem;
 font-weight: 500;
 line-height: 1.6;
 margin-block: 0 60px;
}
.photo_about_01 {
 position: relative;
 margin-top: 135px;
 width: 72.4%;
 border-radius: 10px;
 overflow: hidden;
}
.photo_about_02 {
 position: relative;
 left: -14%;
 margin-top: 180px;
 width: 45.91%;
 border-radius: 10px;
 overflow: hidden;
}
.photo_about_03 {
 position: absolute;
 bottom: calc((180 / 1360) * 100cqw);
 right: -14%;
 width: 55.1%;
 border-radius: 10px;
 overflow: hidden;
}

@media screen and (max-width: 600px) {
 .t_about .l-container {
  width: 100%;
  padding-block: 40px 100px;
  padding-inline: 5.33vw;
 }
 .ta-item_01 {
  top: calc((420 / 375) * 100cqw);
  right: calc((160 / 375) * 100cqw);
  width: calc((220 / 375) * 100cqw);
 }
 .ta-item_02 {
  top: calc((450 / 375) * 100cqw);
  right: calc((-15 / 375) * 100cqw);
  width: calc((190 / 375) * 100cqw);
 }
 .ta_wrap {
  flex-direction: column;
  gap: 15vw;
 }
 .ta_left {
  width: 100%;
  display: flex;
  flex-direction: column-reverse;
  gap: 60px;
 }
 .ta_right {
  width: 100%;
  min-width: unset;
 }
 .ta_right .mds {
  font-size: min(2.4rem, 7.16cqw);
  margin-bottom: 15px;
 }
 .ta_right .sub {
  font-size: min(1.4rem, 4.17cqw);
  margin-block: 0 40px;
 }
 .photo_about_01 {
  margin-top: 0;
  width: calc(100% + 11vw);
 }
 .photo_about_02 {
  left: -2%;
  margin-top: 100px;
  width: 40%;
 }
 .photo_about_03 {
  bottom: calc((120 / 375) * 100cqw);
  right: -2%;
  width: 45.1%;
 }
}

/* t_programs
---------------------------------------------------------------------------------*/
.t_programs {
 width: 100%;
 position: relative;
 overflow: hidden;
}
.t_programs .l-container {
 width: 100%;
 padding-inline: 30px;
}
.side-scroll {
 display: flex;
 justify-content: center;
 align-items: center;
 overflow: hidden;
}
.side-scroll-list-wrapper {
 position: relative;
 width: 100%;
 height: 600px;
 margin-top: 60px;
}
.side-scroll-list {
 position: absolute;
 top: 0;
 left: 0;
 display: flex;
 gap: 20px;
}
.side-scroll-item {
 display: flex;
 flex-flow: column;
 justify-content: space-between;
 gap: 30px;
 width: 600px;
 height: 600px;
 padding: 20px;
 padding-top: 36px;
 border-radius: 10px;
 background-color: var(--color-ppl);
 position: relative;
 overflow: hidden;
}
.tp_word {
 flex: 1;
 display: flex;
 flex-flow: column;
 justify-content: space-between;
 height: 100%;
 color: var(--color-wht);
 z-index: 2;
}
.tp_word time {
 font-size: 1.4rem;
 font-weight: 500;
 opacity: 0.7;
 display: block;
}
.tp_word a.ttl {
 font-size: 2.6rem;
 font-weight: 600;
 line-height: 1.5;
 margin-top: 10px;
 padding-right: 40px;
 display: block;
}
.tp_word a.ttl::after {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 cursor: pointer;
 z-index: 2;
}
.tp_word p {
 font-size: 1.5rem;
 font-weight: 400;
 line-height: 1.7;
 margin-top: 20px;
 padding-right: 40px;
}
.tp_photo {
 width: 100%;
 height: 340px;
 border-radius: 10px;
 position: relative;
 z-index: 1;
}
.tp_photo figure {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 overflow: hidden;
 border-radius: 10px;
}
.tp_photo figure::after {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background-color: var(--color-base);
 transition: all 0.4s ease;
 z-index: 2;
 opacity: 0;
}
.tp_photo img {
 transform: scale(1);
 transition: all 0.4s ease;
}
.tp_photo span {
 position: absolute;
 top: -60px;
 right: 0;
 width: 22px;
 height: 22px;
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
 background-color: var(--color-wht);
 transition: all 0.4s ease;
}
.tp_photo svg {
 width: 9px;
 height: 7px;
 fill: var(--color-gy1);
}
.t_programs .more_btn {
 position: absolute;
 top: -160px;
 right: 0;
 margin-top: 0;
}
.side-scroll-item.co_01,
.side-scroll-item.co_06 {
 background-color: var(--color-ppl);
}
.side-scroll-item.co_02,
.side-scroll-item.co_07 {
 background-color: var(--color-grn);
}
.side-scroll-item.co_03,
.side-scroll-item.co_08 {
 background-color: var(--color-pnk);
}
.side-scroll-item.co_04,
.side-scroll-item.co_09 {
 background-color: var(--color-blu);
}
.side-scroll-item.co_05,
.side-scroll-item.co_10 {
 background-color: var(--color-grn2);
}
.side-scroll-item.co_01 .tp_photo svg,
.side-scroll-item.co_06 .tp_photo svg {
 fill: var(--color-ppl);
}
.side-scroll-item.co_02 .tp_photo svg,
.side-scroll-item.co_07 .tp_photo svg {
 fill: var(--color-grn);
}
.side-scroll-item.co_03 .tp_photo svg,
.side-scroll-item.co_08 .tp_photo svg {
 fill: var(--color-pnk);
}
.side-scroll-item.co_04 .tp_photo svg,
.side-scroll-item.co_09 .tp_photo svg {
 fill: var(--color-blu);
}
.side-scroll-item.co_05 .tp_photo svg,
.side-scroll-item.co_10 .tp_photo svg {
 fill: var(--color-grn2);
}

@media screen and (min-width: 821px) {
 .side-scroll-item:hover .tp_photo figure::after {
  opacity: 0.4;
  transition: all 0.4s ease;
 }
 .side-scroll-item:hover .tp_photo img {
  transform: scale(1.1);
  transition: all 0.4s ease;
 }
 .side-scroll-item:hover .tp_photo span {
  transition: all 0.4s ease;
  transform: translateX(6px);
 }
}

@media screen and (max-width: 820px) {
 .t_programs .l-container {
  padding-top: 100px;
 }
}

@media screen and (max-width: 600px) {
 .t_programs .l-container {
  padding-inline: 5.33vw;
  padding-block: 30px;
 }
 .side-scroll-list-wrapper {
  position: relative;
  width: 100%;
  height: calc(100cqw + 100px);
  margin-top: 40px;
 }
 .side-scroll-list {
  gap: 10px;
 }
 .side-scroll-item {
  gap: 20px;
  width: 90cqw;
  height: 110cqw;
  padding: 10px;
  padding-top: 20px;
 }
 .tp_word time {
  font-size: min(1.3rem, 3.46vw);
 }
 .tp_word a.ttl {
  font-size: min(2rem, 5.33vw);
  margin-top: 10px;
  padding-right: unset;
 }
 .tp_word p {
  font-size: min(1.4rem, 3.73vw);
  margin-top: 20px;
  padding-right: 30px;
 }
 .tp_photo span {
  top: -36px;
 }
 .t_programs .more_btn {
  top: unset;
  bottom: -20px;
  right: 0;
  margin-top: 0;
 }
}

/* t_company
---------------------------------------------------------------------------------*/
.t_company {
 padding-block: 250px;
 margin-inline: 30px;
 position: relative;
}
.tc_flex_wrap {
 margin-top: 60px;
 display: flex;
 gap: calc((20 / 1360) * 100cqw);
}
.tc_flex_wrap .item {
 width: calc((420 / 1360) * 100cqw);
 display: flex;
 flex-direction: column;
 position: relative;
}
.tc_flex_wrap a {
 position: relative;
 overflow: hidden;
 width: 100%;
 display: block;
 aspect-ratio: 420 / 290;
 border-radius: 10px;
 overflow: hidden;
}
.tc_flex_wrap a figure {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
}
.tc_flex_wrap a figure img {
 transition: all 0.4s ease;
}
.tc_flex_wrap a span {
 position: absolute;
 bottom: calc((10 / 1360) * 100cqw);
 right: calc((10 / 1360) * 100cqw);
 width: calc((22 / 1360) * 100cqw);
 height: calc((22 / 1360) * 100cqw);
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
}
.tc_flex_wrap a span::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 display: block;
 border-radius: 100%;
 background-color: var(--color-red);
 animation: btn-out 1s ease-out forwards;
 opacity: 1;
}
.tc_flex_wrap a svg {
 width: calc((9 / 1360) * 100cqw);
 height: calc((7 / 1360) * 100cqw);
 fill: var(--color-wht);
 z-index: 1;
}
.t_company .under {
 margin-top: 20px;
 word-break: break-all;
}
.t_company h3 {
 font-size: 2rem;
 font-weight: 600;
 line-height: 1.6;
}

@keyframes btn-in {
 0% {
  opacity: 1;
  transform: scale(1);
  background-color: var(--color-red);
 }
 100% {
  opacity: 0.4;
  transform: scale(50);
  background-color: var(--color-base);
 }
}
@keyframes btn-out {
 0% {
  transform: scale(50);
 }
 30% {
  transform: scale(1);
 }
 40% {
  transform: scale(2);
 }
 50% {
  transform: scale(1);
 }
 100% {
  transform: scale(1);
 }
}

@media screen and (min-width: 821px) {
 .tc_flex_wrap a:hover figure img {
  transform: scale(1.1);
  transition: all 0.4s ease;
 }
 .tc_flex_wrap a:hover span svg {
  transition: all 0.4s ease;
  transform: translateX(6px);
 }
 .tc_flex_wrap a:hover span::before {
  animation: btn-in 0.4s ease-in forwards;
 }
}

@media screen and (max-width: 820px) {
 .t_company {
  padding-block: 120px;
  border-bottom-left-radius: 90px;
 }
}

@media screen and (max-width: 600px) {
 .t_company {
  padding-block: 120px;
  margin-inline: 5.33vw;
 }
 .tc_flex_wrap {
  flex-direction: column;
  margin-top: 40px;
  gap: calc((20 / 375) * 100cqw);
 }
 .tc_flex_wrap .item {
  width: 100%;
 }
 .tc_flex_wrap a {
  aspect-ratio: 420 / 200;
 }
 .tc_flex_wrap a span {
  bottom: 8px;
  right: 8px;
  width: 22px;
  height: 22px;
 }
 .tc_flex_wrap a svg {
  width: 9px;
  height: 7px;
 }
 .t_company .under {
  margin-top: 10px;
 }
 .t_company h3 {
  font-size: min(1.8rem, 4.8cqw);
 }
}

/* t_column
---------------------------------------------------------------------------------*/
.t_column {
 padding-block: 180px 200px;
 padding-inline: calc((80 / 1320) * 100cqw);
 border-radius: 20px;
 margin-inline: 20px;
 background-color: var(--color-ylw);
}
.tcm_wrap {
 margin-top: 60px;
 position: relative;
}
.tcm_flex_wrap {
 display: flex;
 gap: calc((40 / 1160) * 100cqw);
}
.tcm_flex_wrap .item {
 width: calc((302 / 1160) * 100cqw);
 display: flex;
 flex-direction: column;
 position: relative;
}
.tcm_flex_wrap a {
 position: relative;
 overflow: hidden;
 width: 100%;
 display: block;
 aspect-ratio: 360 / 330;
 border-radius: 10px;
 overflow: hidden;
}
.tcm_flex_wrap a figure {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
}
.tcm_flex_wrap a figure img {
 transition: all 0.4s ease;
}
.tcm_flex_wrap a span {
 position: absolute;
 bottom: calc((10 / 1360) * 100cqw);
 right: calc((10 / 1360) * 100cqw);
 width: calc((22 / 1360) * 100cqw);
 height: calc((22 / 1360) * 100cqw);
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
}
.tcm_flex_wrap a span::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 display: block;
 border-radius: 100%;
 background-color: var(--color-red);
 animation: btn-out 1s ease-out forwards;
 opacity: 1;
}
.tcm_flex_wrap a svg {
 width: calc((9 / 1360) * 100cqw);
 height: calc((7 / 1360) * 100cqw);
 fill: var(--color-wht);
 z-index: 1;
}
.t_column .under {
 margin-top: 20px;
 word-break: break-all;
}
.t_column h3 {
 font-size: 2rem;
 font-weight: 600;
 line-height: 1.6;
}
.t_column p {
 font-size: 1.4rem;
 line-height: 1.8;
 margin-top: 20px;
}
.tcm_wrap .more_btn {
 position: absolute;
 top: -140px;
 right: 0;
 margin-top: 0;
}
.tcm_wrap .more_btn .a-button a {
 border: none;
}

@media screen and (min-width: 821px) {
 .tcm_flex_wrap a:hover figure img {
  transform: scale(1.1);
  transition: all 0.4s ease;
 }
 .tcm_flex_wrap a:hover span svg {
  transition: all 0.4s ease;
  transform: translateX(6px);
 }
 .tcm_flex_wrap a:hover span::before {
  animation: btn-in 0.4s ease-in forwards;
 }
}

@media screen and (max-width: 820px) {
 .t_column {
  padding-block: 120px;
  padding-inline: calc((80 / 1320) * 100cqw);
  margin-inline: 20px;
 }
}

@media screen and (max-width: 600px) {
 .t_column {
  padding-block: 80px 60px;
  padding-inline: 5.33vw;
  border-radius: 10px;
  margin-inline: 0;
 }
 .tcm_wrap {
  margin-top: 40px;
 }
 .tcm_flex_wrap {
  flex-direction: column;
  gap: 50px;
 }
 .tcm_flex_wrap .item {
  width: 100%;
 }
 .tcm_flex_wrap a {
  aspect-ratio: 335 / 180;
 }
 .tcm_flex_wrap a span {
  bottom: 8px;
  right: 8px;
  width: 22px;
  height: 22px;
 }
 .tcm_flex_wrap a svg {
  width: 9px;
  height: 7px;
 }
 .t_column .under {
  margin-top: 10px;
 }
 .t_column h3 {
  font-size: min(2rem, 5.33cqw);
 }
 .t_column p {
  font-size: min(1.4rem, 3.73cqw);
  line-height: 1.8;
  margin-top: 10px;
 }
 .tcm_wrap .more_btn {
  position: relative;
  top: unset;
  right: unset;
  margin-top: 20px;
 }
}

/* t_partner
---------------------------------------------------------------------------------*/
.t_partner {
 padding-block: 180px 200px;
}
.tp_wrap {
 display: flex;
 gap: calc((90 / 1160) * 100cqw);
}
.tp_left {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 width: calc((470 / 1160) * 100cqw);
}
.tp_right {
 aspect-ratio: 600 / 380;
 position: relative;
 width: calc((600 / 1160) * 100cqw);
}
.tp_right figure {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 overflow: hidden;
 border-radius: 10px;
}

@media screen and (min-width: 821px) {
 .t_partner .a-button a:hover {
  color: var(--color-base);
  background-color: var(--color-wht);
 }
 .t_partner .a-button a:hover span {
  background-color: var(--color-base);
 }
 .t_partner .a-button a:hover svg {
  fill: var(--color-wht);
 }
}

@media screen and (max-width: 820px) {
 .t_partner {
  padding-block: 120px;
 }
}

@media screen and (max-width: 600px) {
 .t_partner {
  padding-block: 80px;
 }
 .tp_wrap {
  flex-direction: column;
  gap: 30px;
 }
 .tp_left {
  width: 100%;
 }
 .tp_right {
  aspect-ratio: 600 / 380;
  width: 100%;
 }
}

/* Business
---------------------------------------------------------------------------------*/
/* Business */
#business .ph-item_01 span svg,
#business .ph-item_02 span svg {
 fill: var(--color-ylw);
}
#business .ph_photo {
 aspect-ratio: 500/ 400;
}
.photo_philosophy_01 {
 position: absolute;
 top: calc((260 / 1160) * 100cqw);
 left: calc((66 / 1160) * 100cqw);
 width: calc((225 / 1160) * 100cqw);
 border-radius: 10px;
 overflow: hidden;
}
.p-operation {
 padding-block: 200px;
 border-radius: 20px;
 background-color: var(--color-gy6);
 margin-top: 200px;
}
.operation_wrap {
 display: flex;
 flex-direction: column;
 gap: 50px;
}
.operation_wrap .item {
 display: flex;
 align-items: flex-start;
 gap: 25px;
}
.operation_wrap time {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 60px;
 aspect-ratio: 1/1;
 font-size: 3rem;
 font-family: var(--ff-urb);
 font-weight: 500;
 border-radius: 100%;
 background-color: var(--color-wht);
}
.operation_wrap .op {
 flex: 1;
}
.p-engagement {
 margin-top: 200px;
}
.eng_wrap .col {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 align-items: center;
 min-height: 220px;
 padding-block: 30px 30px;
 padding-inline: 20px;
 border-radius: 10px;
 background-color: var(--color-gy6);
}
.eng_wrap time {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 60px;
 aspect-ratio: 1/1;
 color: var(--color-base);
 font-size: 3rem;
 font-family: var(--ff-urb);
 font-weight: 500;
 border-radius: 100%;
 background-color: var(--color-gy1);
}
.eng_wrap .word {
 display: flex;
 justify-content: center;
 align-items: center;
 text-align: center;
 height: 100%;
 font-size: 1.8rem;
 font-weight: 600;
 line-height: 1.6;
}
.photo_engagement_01 {
 position: absolute;
 top: calc((360 / 1160) * 100cqw);
 left: calc((-20 / 1160) * 100cqw);
 width: calc((265 / 1160) * 100cqw);
 border-radius: 10px;
 overflow: hidden;
}

@media screen and (max-width: 820px) {
 .photo_philosophy_01 {
  top: calc((-60 / 686) * 100cqw);
  left: unset;
  right: calc((30 / 686) * 100cqw);
  width: calc((180 / 686) * 100cqw);
 }
 .photo_engagement_01 {
  top: calc((-140 / 686) * 100cqw);
  left: unset;
  right: calc((2 / 686) * 100cqw);
  width: calc((240 / 686) * 100cqw);
 }
}

@media screen and (max-width: 600px) {
 .p-philosophy {
  padding-top: 60px;
 }
 .photo_philosophy_01 {
  top: calc((-70 / 375) * 100cqw);
  right: calc((10 / 375) * 100cqw);
  width: calc((120 / 375) * 100cqw);
 }
 .p-operation {
  padding-block: 100px;
  border-radius: 10px;
  margin-top: 100px;
 }
 .operation_wrap {
  gap: 30px;
 }
 .operation_wrap .item {
  gap: 12px;
 }
 .operation_wrap time {
  width: 42px;
  font-size: 2rem;
 }
 .p-engagement {
  margin-top: 100px;
 }
 .eng_wrap .col {
  gap: 10px;
  min-height: unset;
  padding-inline: 4vw;
 }
 .eng_wrap time {
  width: 42px;
  font-size: 2rem;
 }
 .eng_wrap .word {
  height: 100%;
  font-size: min(1.5rem, 4vw);
 }
 .photo_engagement_01 {
  top: calc((-140 / 686) * 100cqw);
  right: -2vw;
  width: calc((240 / 686) * 100cqw);
 }
 #business .block p {
  font-size: min(1.54rem, 4.6cqw);
 }
}

/* Company
---------------------------------------------------------------------------------*/
/* company */
#company .ph-item_01 span svg,
#company .ph-item_02 span svg {
 fill: var(--color-grn);
}
.message_logo {
 max-width: 300px;
 margin-inline: auto;
}
.message_mds {
 margin-top: 60px;
 display: flex;
 justify-content: center;
}
.message_mds span {
 font-size: 3.2rem;
 font-weight: 600;
 letter-spacing: 0.1em;
}
.message {
 padding-top: 60px;
}
.message p {
 font-size: 1.5rem;
 line-height: 2;
}
.message p + p {
 margin-top: 60px;
}

/* outline */
.partner_logo .col {
 border: 1px solid var(--color-line);
}

/* access */
.ggmap {
 margin-top: 80px;
 display: block;
 border-radius: 10px;
 overflow: hidden;
 position: relative;
}
.ggmap iframe {
 width: 100%;
}
.ggmap figure {
 width: 100%;
 height: 600px;
 display: block;
 overflow: hidden;
}

@media screen and (max-width: 600px) {
 .message_logo {
  max-width: 50%;
 }
 .message_mds {
  margin-top: 40px;
 }
 .message_mds span {
  font-size: min(2.2rem, 5.86vw);
 }
 .message {
  padding-top: 40px;
 }
 .message p {
  font-size: min(1.54rem, 4.6cqw);
  line-height: 2;
 }
 .message p + p {
  margin-top: 30px;
 }

 /* outline */

 /* access */
 .ggmap {
  margin-top: 30px;
  border-radius: 4px;
 }
 .ggmap iframe {
  width: 100%;
  height: 100vw;
 }
 .ggmap figure {
  height: 100vw;
 }
}

/* partner
---------------------------------------------------------------------------------*/
#partner .ph-item_01 span svg,
#partner .ph-item_02 span svg {
 fill: var(--color-gy1);
}
#partner .more_btn {
 justify-content: center;
}

@media screen and (max-width: 820px) {
}

@media screen and (max-width: 600px) {
}

/* programs
---------------------------------------------------------------------------------*/
#programs .ph-item_01 span svg,
#programs .ph-item_02 span svg {
 fill: var(--color-ppl);
}
.program_list {
 display: flex;
 flex-flow: row wrap;
 gap: 20px;
 margin-top: 80px;
}
.program_list .side-scroll-item {
 width: calc((100% - 20px) * 0.5);
 height: unset;
}
.program_list .tp_photo {
 height: 29.31cqw;
}
.entry_meta .meta {
 display: flex;
 align-items: center;
}
.entry_meta .cat {
 display: block;
 color: var(--color-wht);
 font-size: 1.3rem;
 font-weight: 500;
 padding: 0.6em 1em;
 margin-right: 15px;
 border-radius: 2em;
 background-color: var(--color-ppl);
}
.entry_meta time {
 font-size: 1.4rem;
 font-weight: 500;
 opacity: 0.7;
}
.entry_meta .ttl {
 font-size: 2.8rem;
 font-weight: 600;
 line-height: 1.5;
 margin-top: 20px;
 display: block;
}
.entry_body {
 margin-top: 60px;
 padding-top: 60px;
 position: relative;
}
.entry_body::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 160px;
 height: 3px;
 border-radius: 2em;
 background-color: var(--color-ppl);
}
.entry_body .block p {
 font-size: 1.6rem;
 line-height: 2;
 margin-block: 2em;
}
.entry_body h2 {
 font-size: 2.6rem;
 font-weight: 600;
 line-height: 1.5;
 margin-block: 30px;
 display: block;
}
.entry_body h3 {
 font-size: 2.3rem;
 font-weight: 600;
 line-height: 1.5;
 margin-block: 30px;
 display: block;
}
.entry_body h4 {
 font-size: 2rem;
 font-weight: 600;
 line-height: 1.5;
 margin-block: 30px;
 display: block;
}
.entry_body h5 {
 font-size: 1.8rem;
 font-weight: 600;
 line-height: 1.5;
 margin-block: 30px;
 display: block;
}
.entry_body h6 {
 font-size: 1.5rem;
 font-weight: 600;
 line-height: 1.5;
 margin-block: 30px;
 display: block;
}
.entry_body figure {
 margin-block: 3em;
}
.entry_body figure figcaption {
 padding-top: 1em;
 text-align: center;
 font-size: 1.5rem;
 line-height: 1.3;
}
.entry_body img {
 border-radius: 5px;
 max-width: 100%;
}
.entry_body .aligncenter {
 clear: both;
 display: block;
 text-align: center;
 margin-left: auto;
 margin-right: auto;
}
.entry_body iframe {
 width: 100%;
 height: 56.25cqw;
 border-radius: 5px;
}
.entry_body * + h2,
.entry_body * + h3 {
 margin-top: 120px;
}
.entry_body * + h4,
.entry_body * + h5,
.entry_body * + h6,
.entry_body * + figure,
.entry_body * + iframe {
 margin-top: 60px;
}
.entry_body .wp-caption {
 max-width: 100% !important;
 margin-inline: auto;
 margin-top: 3em;
}
.entry_body p.wp-caption-text {
 margin-block: 1em 3em;
 font-size: 1.5rem;
 text-align: center;
}

#programs.co_01 .ph-item_01 span svg,
#programs.co_01 .ph-item_02 span svg,
#programs.co_06 .ph-item_01 span svg,
#programs.co_06 .ph-item_02 span svg {
 fill: var(--color-ppl);
}
#programs.co_02 .entry_meta .cat,
#programs.co_02 .entry_body::before,
#programs.co_07 .entry_meta .cat,
#programs.co_07 .entry_body::before {
 background-color: var(--color-ppl);
}
#programs.co_02 .ph-item_01 span svg,
#programs.co_02 .ph-item_02 span svg,
#programs.co_07 .ph-item_01 span svg,
#programs.co_07 .ph-item_02 span svg {
 fill: var(--color-grn);
}
#programs.co_02 .entry_meta .cat,
#programs.co_02 .entry_body::before,
#programs.co_07 .entry_meta .cat,
#programs.co_07 .entry_body::before {
 background-color: var(--color-grn);
}
#programs.co_03 .ph-item_01 span svg,
#programs.co_03 .ph-item_02 span svg,
#programs.co_08 .ph-item_01 span svg,
#programs.co_08 .ph-item_02 span svg {
 fill: var(--color-pnk);
}
#programs.co_03 .entry_meta .cat,
#programs.co_03 .entry_body::before,
#programs.co_08 .entry_meta .cat,
#programs.co_08 .entry_body::before {
 background-color: var(--color-pnk);
}
#programs.co_04 .ph-item_01 span svg,
#programs.co_04 .ph-item_02 span svg,
#programs.co_09 .ph-item_01 span svg,
#programs.co_09 .ph-item_02 span svg {
 fill: var(--color-blu);
}
#programs.co_04 .entry_meta .cat,
#programs.co_04 .entry_body::before,
#programs.co_09 .entry_meta .cat,
#programs.co_09 .entry_body::before {
 background-color: var(--color-blu);
}
#programs.co_05 .ph-item_01 span svg,
#programs.co_05 .ph-item_02 span svg,
#programs.co_10 .ph-item_01 span svg,
#programs.co_10 .ph-item_02 span svg {
 fill: var(--color-grn2);
}
#programs.co_05 .entry_meta .cat,
#programs.co_05 .entry_body::before,
#programs.co_10 .entry_meta .cat,
#programs.co_10 .entry_body::before {
 background-color: var(--color-grn2);
}

@media screen and (max-width: 820px) {
 .program_list .tp_word a.ttl {
  font-size: 1.8rem;
  padding-right: unset;
 }
 .program_list .tp_word p {
  font-size: 1.3rem;
  margin-top: 20px;
  padding-right: 40px;
 }
 .program_list .tp_photo {
  height: 24cqw;
 }
}

@media screen and (max-width: 600px) {
 .program_list {
  flex-direction: column;
  gap: 10px;
  margin-top: 40px;
 }
 .program_list .side-scroll-item {
  width: 100%;
  gap: 20px;
 }
 .program_list .tp_word a.ttl {
  font-size: min(2rem, 5.33vw);
 }
 .program_list .tp_word p {
  font-size: min(1.4rem, 3.73vw);
  padding-right: 30px;
 }
 .program_list .tp_photo {
  height: 50vw;
 }
 .entry_meta .cat {
  font-size: min(1.3rem, 3.46vw);
 }
 .entry_meta time {
  font-size: min(1.4rem, 3.73vw);
 }
 .entry_meta .ttl {
  font-size: min(2.2rem, 5.86vw);
  margin-top: 15px;
 }
 .entry_body {
  margin-top: 30px;
  padding-top: 30px;
 }
 .entry_body::before {
  width: 30%;
  height: 2px;
 }
 .entry_body .block p {
  font-size: min(1.54rem, 4.1vw);
  line-height: 1.8;
 }
 .entry_body h2 {
  font-size: min(2rem, 5.33vw);
  margin-block: 20px;
 }
 .entry_body h3 {
  font-size: min(1.8rem, 4.8vw);
  margin-block: 20px;
 }
 .entry_body h4 {
  font-size: min(1.6rem, 4.26vw);
  margin-block: 20px;
 }
 .entry_body h5 {
  font-size: min(1.5rem, 4.26vw);
  margin-block: 20px;
 }
 .entry_body h6 {
  font-size: min(1.4rem, 3.73vw);
  margin-block: 20px;
 }
 .entry_body figure {
  margin-block: 3em;
 }
 .entry_body figure figcaption {
  padding-top: 1em;
  font-size: min(1.4rem, 3.73vw);
 }
 .entry_body .aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
 }
 .entry_body iframe {
  width: 100%;
  height: 56.25cqw;
  border-radius: 5px;
 }
 .entry_body * + h2,
 .entry_body * + h3,
 .entry_body * + h4,
 .entry_body * + h5,
 .entry_body * + h6,
 .entry_body * + figure,
 .entry_body * + iframe {
  margin-top: 40px;
 }
 .entry_body .wp-caption {
  max-width: 100%;
  margin-top: 2em;
 }
 .entry_body p.wp-caption-text {
  margin-block: 1em 2em;
  font-size: 1.3rem;
 }
}

/* page-navi */
#page-navi {
 margin-block: 120px 0;
 text-align: center;
}
.wp-pagenavi {
 display: flex;
 align-items: center;
 justify-content: center;
 flex-wrap: wrap;
}
.wp-pagenavi .current {
 display: flex;
 align-items: center;
 justify-content: center;
 min-width: 40px;
 height: 40px;
 font-size: 1.3rem;
 padding: 0.4em 10px;
 margin-inline: 2px;
 transition: 0.3s;
 border-radius: 2em;
 border: 1px solid var(--color-line2);
 background-color: var(--color-gy2);
}
.wp-pagenavi a {
 color: var(--color-base);
 display: flex;
 align-items: center;
 justify-content: center;
 min-width: 40px;
 height: 40px;
 font-size: 1.3rem;
 padding: 0.4em 10px;
 margin-inline: 3px;
 transition: 0.3s;
 border-radius: 2em;
 border: 1px solid var(--color-line2);
 background-color: var(--color-wht);
 cursor: pointer;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
 padding-inline: 16px;
}
.wp-pagenavi .backlink {
 padding-inline: 30px;
}
.wp-pagenavi .extend,
.wp-pagenavi a.page,
.wp-pagenavi span.current,
.wp-pagenavi a.first,
.wp-pagenavi a.last {
 display: none;
}
.wp-pagenavi .pages {
 order: 2;
 font-size: 1.5rem;
 text-decoration: none;
 border: 0;
 padding: 0 10px;
}
.wp-pagenavi .previouspostslink {
 order: 1;
}
.wp-pagenavi .nextpostslink {
 order: 3;
}

@media screen and (min-width: 821px) {
 .wp-pagenavi a:hover {
  background-color: var(--color-gy2);
 }
}

@media screen and (max-width: 600px) {
 #page-navi {
  margin-block: 40px 0;
  text-align: center;
 }
 .wp-pagenavi .current {
  font-size: min(1.4rem, 3.73vw);
  margin-inline: 2px;
 }
 .wp-pagenavi a {
  font-size: min(1.4rem, 3.73vw);
  margin-inline: 2px;
 }
 .wp-pagenavi .pages {
  font-size: 1.3rem;
 }
 .wp-pagenavi .backlink {
  padding-inline: 16px;
 }
}

/* columns
---------------------------------------------------------------------------------*/
#columns .ph-item_01 span svg,
#columns .ph-item_02 span svg {
 fill: var(--color-ylw);
}
.columns_wrap {
 position: relative;
 margin-top: 80px;
}
.columns_flex_wrap {
 display: flex;
 flex-flow: row wrap;
 gap: calc((20 / 1160) * 100cqw);
}
.columns_flex_wrap .item {
 width: calc((373 / 1160) * 100cqw);
 display: flex;
 flex-direction: column;
 position: relative;
 border-radius: 10px;
 background-color: var(--color-ylw);
}
.columns_flex_wrap a {
 position: relative;
 overflow: hidden;
 width: 100%;
 display: block;
 aspect-ratio: 360 / 330;
 border-radius: 10px;
 overflow: hidden;
}
.columns_flex_wrap a figure {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
}
.columns_flex_wrap a figure img {
 transition: all 0.4s ease;
}
.columns_flex_wrap a span {
 position: absolute;
 bottom: calc((10 / 1160) * 100cqw);
 right: calc((10 / 1160) * 100cqw);
 width: calc((22 / 1160) * 100cqw);
 height: calc((22 / 1160) * 100cqw);
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
}
.columns_flex_wrap a span::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 display: block;
 border-radius: 100%;
 background-color: var(--color-red);
 animation: btn-out 1s ease-out forwards;
 opacity: 1;
}
.columns_flex_wrap a svg {
 width: calc((9 / 1160) * 100cqw);
 height: calc((7 / 1160) * 100cqw);
 fill: var(--color-wht);
 z-index: 1;
}
.columns_flex_wrap .under {
 padding: calc((20 / 1160) * 100cqw);
 word-break: break-all;
}
.columns_flex_wrap h3 {
 font-size: 2rem;
 font-weight: 600;
 line-height: 1.6;
}
.columns_flex_wrap p {
 font-size: 1.4rem;
 line-height: 1.6;
 margin-top: calc((14 / 1160) * 100cqw);
 margin-bottom: 10px;
}
#columns .entry_body::before {
 background-color: var(--color-ylw);
}
.colmn_author {
 border-radius: 10px;
 background-color: var(--color-ylw);
 width: 100%;
 padding: 30px 30px;
 margin-top: 80px;
 display: block;
 overflow: hidden;
 word-wrap: break-word;
 position: relative;
}
.colmn_author_wrap {
 display: flex;
 gap: 30px;
}
.colmn_author_photo {
 width: 100px;
}
.colmn_author_photo img {
 border-radius: 100%;
}
.colmn_author_text {
 flex: 1;
}
.colmn_author_text .name {
 font-size: 1.8rem;
 font-weight: 500;
 margin-block: 20px;
}
.colmn_author_text .description {
 padding-bottom: 20px;
}
.colmn_author_text p {
 font-size: 1.4rem;
 line-height: 1.4;
 margin-top: 1em;
}
.colmn_author_text table {
 font-size: 1.4rem;
 line-height: 1.4;
 margin-top: 1em;
}
.colmn_author_text table th {
 font-weight: 400;
 white-space: nowrap;
 padding-block: 0.25em;
}
.colmn_author_text table td {
 padding-block: 0.25em;
 padding-left: 0.5em;
}

@media screen and (min-width: 821px) {
 .columns_flex_wrap a:hover figure img {
  transform: scale(1.1);
  transition: all 0.4s ease;
 }
 .columns_flex_wrap a:hover span svg {
  transition: all 0.4s ease;
  transform: translateX(6px);
 }
 .columns_flex_wrap a:hover span::before {
  animation: btn-in 0.4s ease-in forwards;
 }
}

@media screen and (max-width: 820px) {
 .columns_flex_wrap {
  gap: calc((20 / 768) * 100cqw);
 }
 .columns_flex_wrap .item {
  width: calc((100% - 20px) * 0.5);
 }
 .columns_flex_wrap a span {
  bottom: calc((10 / 686) * 100cqw);
  right: calc((10 / 686) * 100cqw);
  width: calc((22 / 686) * 100cqw);
  height: calc((22 / 686) * 100cqw);
 }
 .columns_flex_wrap a svg {
  width: calc((9 / 686) * 100cqw);
  height: calc((7 / 686) * 100cqw);
 }
 .columns_flex_wrap .under {
  padding: calc((20 / 686) * 100cqw);
 }
 .columns_flex_wrap h3 {
  font-size: 1.8rem;
 }
 .columns_flex_wrap p {
  font-size: 1.3rem;
  margin-top: calc((14 / 686) * 100cqw);
 }
}

@media screen and (max-width: 600px) {
 .columns_wrap {
  margin-top: 40px;
 }
 .columns_flex_wrap {
  flex-direction: column;
  gap: 10px;
 }
 .columns_flex_wrap .item {
  padding: 16px;
  width: 100%;
 }
 .columns_flex_wrap a {
  aspect-ratio: 335 / 180;
 }
 .columns_flex_wrap a span {
  bottom: 8px;
  right: 8px;
  width: 22px;
  height: 22px;
 }
 .columns_flex_wrap a svg {
  width: 9px;
  height: 7px;
 }
 .columns_flex_wrap .under {
  padding: 0;
  margin-top: 10px;
 }
 .columns_flex_wrap h3 {
  font-size: min(2rem, 5.33vw);
 }
 .columns_flex_wrap p {
  font-size: min(1.4rem, 3.73vw);
  line-height: 1.6;
  margin-top: 10px;
  margin-bottom: unset;
 }
 .colmn_author {
  padding: 20px;
  margin-top: 80px;
 }
 .colmn_author_wrap {
  flex-direction: column;
  align-items: center;
  gap: 20px;
 }
 .colmn_author_text .name {
  font-size: min(1.8rem, 4.8vw);
  margin-block: 0 20px;
  text-align: center;
 }
 .colmn_author_text .description {
  padding-bottom: 10px;
 }
 .colmn_author_text p {
  font-size: min(1.35rem, 3.6vw);
  line-height: 1.4;
 }
 .colmn_author_text table {
  font-size: 1.25rem;
  line-height: 1.3;
 }
}

/* contact
---------------------------------------------------------------------------------*/
#contact .ph-item_01 span svg,
#contact .ph-item_02 span svg {
 fill: var(--color-ct);
}
#contact .ph_photo {
 aspect-ratio: 500/ 400;
}
#contact .ph_photo figure.photo_01 {
 top: 0;
 left: 0;
 width: 40%;
 height: auto;
 aspect-ratio: 225 / 286;
}
#contact .ph_photo figure.photo_02 {
 top: unset;
 left: unset;
 bottom: 0;
 right: 0;
 width: 52%;
 height: auto;
 aspect-ratio: 264 / 176;
}
.flowArea {
 max-width: 240px;
 height: 140px;
 margin-inline: auto;
 text-align: center;
 border-top: 2px solid #d3d3d3;
 position: relative;
}
.flowArea::after {
 content: "";
 display: block;
 width: 0;
 height: 2px;
 position: absolute;
 top: -2px;
 left: 0;
 background: var(--color-red);
}
.flowArea .flow {
 position: absolute;
 top: 0;
 left: 0;
 transform: translate(-50%, 0);
 padding-top: 20px;
}
.flowArea .flow:nth-child(2) {
 left: 50%;
}
.flowArea .flow:nth-child(3) {
 left: unset;
 right: 0;
 transform: translate(50%, 0);
}
.flowArea .flow::after {
 content: "";
 display: block;
 width: 18px;
 height: 18px;
 position: absolute;
 top: -10px;
 left: calc(50% - 9px);
 transform: translate(0, 0);
 background-color: var(--color-wht);
 border: 3px solid #d3d3d3;
 border-radius: 100%;
}
.flow_1 .flow:nth-child(1)::after {
 border-color: var(--color-red);
 background-color: var(--color-red);
}
.flow_1 .flow:nth-child(1) .txt {
 color: var(--color-red);
}
.flow_2 .flow:nth-child(1)::after,
.flow_2 .flow:nth-child(2)::after {
 border-color: var(--color-red);
 background-color: var(--color-red);
}
.flow_2 .flow:nth-child(1) .txt,
.flow_2 .flow:nth-child(2) .txt {
 color: var(--color-red);
}
.flow_2::after {
 width: 50%;
}
.flow_3 .flow::after {
 border-color: var(--color-red);
 background-color: var(--color-red);
}
.flow_3 .flow .txt {
 color: var(--color-red);
}
.flow_3::after {
 width: 100%;
}
.flowArea .flow .txt {
 font-size: 1.5rem;
 font-weight: 600;
}
.form-input .read_txt .mds {
 font-size: 2.8rem;
 font-weight: 600;
 margin-bottom: 0.5em;
}
.form-input .read_txt p + p {
 margin-top: 1.5em;
}
.form-input .read_txt .dot {
 font-size: 1.3rem;
 line-height: 1.7;
}
.form-body {
 display: flex;
 flex-flow: column;
 border-top: 1px solid var(--color-line);
 margin-top: 70px;
}
#form .form-body > dt {
 width: 100%;
 position: relative;
 padding-block: 50px 0;
 font-size: 1.6rem;
 font-weight: 400;
 line-height: 1.8;
}
#form .form-body > dt.required:after {
 font-size: 1.2rem;
 line-height: 1;
 color: var(--color-wht);
 background: var(--color-red);
 content: "";
 display: inline-block;
 padding: 4px 10px;
 position: relative;
 word-break: break-all;
 border-radius: 2px;
 margin-left: 10px;
}
#form .form-body > dd {
 width: 100%;
 padding-block: 20px 0;
 font-weight: normal;
 line-height: 1.8;
}
#form .form-body > dt.blt {
 padding-block: 40px 0;
}
#form .form-body > dd.blb {
 padding-block: 30px 30px;
 border-bottom: 1px solid var(--color-line);
}
.form-body input[type="text"],
.form-body input[type="email"],
.form-body input[type="tel"],
.form-body input[type="date"],
.form-body select {
 font-size: 1.6rem;
 height: 54px;
 width: 100%;
 padding: 0 1em;
 border: 1px solid var(--color-line2);
 position: relative;
 border-radius: 4px;
}
.form-body input[type="text"]:focus,
.form-body input[type="email"]:focus {
 outline: 0;
}
.form-body input[type="text"].-size01,
.form-body input[type="email"].-size01 {
 width: 224px;
}
.form-body input[type="text"].-size02,
.form-body input[type="email"].-size02 {
 width: 140px;
}
.form-body input[type="text"].-error,
.form-body input[type="email"].-error {
 background: #ffe8e5;
 border-color: var(--color-red);
}
.form-body textarea {
 height: 220px;
 width: 100%;
 font-size: 1.6rem;
 padding: 0.5em 1em;
 border: 1px solid var(--color-line2);
 border-radius: 4px;
}
.form-input input[type="checkbox"] {
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 width: 0;
 height: 0;
 margin-right: 0;
}
.checkbox-field {
 display: flex;
 flex-flow: row wrap;
 gap: 20px;
 margin-right: 30px;
 margin-bottom: 20px;
}
.mw_wp_form .horizontal-item + .horizontal-item {
 margin-left: unset !important;
}
.mwform-checkbox-field input[type="checkbox"] {
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 width: 0;
 height: 0;
 margin-right: 0;
}
.mwform-checkbox-field-text {
 font-size: 1.5rem;
 position: relative;
 padding-left: 45px;
 cursor: pointer;
}
.mwform-checkbox-field-text::before {
 content: "";
 position: absolute;
 top: 50%;
 left: 0;
 transform: translateY(-50%);
 width: 30px;
 height: 30px;
 border-radius: 2px;
 background: var(--color-wht);
 border: 1px solid var(--color-line2);
}
.mwform-checkbox-field-text::after {
 content: "";
 position: absolute;
 top: 50%;
 left: 8px;
 transform: translateY(-7px) rotate(-45deg);
 width: 14px;
 height: 9px;
 border-left: 2px solid var(--color-wht);
 border-bottom: 2px solid var(--color-wht);
 opacity: 0;
}
:checked + .mwform-checkbox-field-text::before {
 background: var(--color-base);
 border: 1px solid var(--color-base);
}
:checked + .mwform-checkbox-field-text::after {
 opacity: 1;
}
.p-form__button-wrap {
 display: flex;
 justify-content: center;
 margin-top: 36px;
}
.p-form__button02 input {
 display: block;
 width: 260px;
 height: 80px;
 padding-inline: 35px;
 margin: 0 20px;
 background: var(--color-base);
 color: #fff;
 font-size: 1.8rem;
 font-weight: 600;
 letter-spacing: 0.04em;
 text-align: center;
 border-radius: 40px;
 transition: 120ms linear;
 cursor: pointer;
}
.p-form__button02 input:hover {
 background: var(--color-red);
}
.p-form__button02 input:disabled {
 pointer-events: none;
 background: #999;
 border: 1px solid #999;
}
.p-form__button03 input,
.p-form__button03 button,
.p-form__button03 a {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 260px;
 height: 80px;
 margin: 0 20px;
 background: var(--color-wht);
 border: 2px solid var(--color-base);
 color: var(--color-base);
 font-size: 1.8rem;
 font-weight: 600;
 letter-spacing: 0.04em;
 text-align: center;
 border-radius: 40px;
 transition: 120ms linear;
}
.p-form__button03 input:hover,
.p-form__button03 button:hover,
.p-form__button03 a:hover {
 background-color: var(--color-gy3);
}

.form-body input::placeholder,
.form-body textarea::placeholder {
 color: #aaa;
}
.form-body input:focus::-webkit-input-placeholder,
.form-body textarea:focus::-webkit-input-placeholder {
 color: transparent;
}
.form-body input:focus::-moz-placeholder,
.form-body textarea:focus::-moz-placeholder {
 color: transparent;
}
.form-body input:focus::-ms-input-placeholder,
.form-body textarea:focus::-ms-input-placeholder {
 color: transparent;
}
.form-body input:focus::placeholder,
.form-body textarea:focus::placeholder {
 color: transparent;
}
.form-body textarea:focus {
 outline: 0;
}
#form .privecy {
 margin-top: 80px;
 text-align: center;
 line-height: 1.6;
}
#form .p-form__agree {
 margin-top: 30px;
 text-align: center;
}
#form .p-form__button-wrap {
 margin-top: 50px;
 display: flex;
 justify-content: center;
}
#form .last-msg {
 color: var(--color-blu);
 line-height: 1.6;
 margin-bottom: 1em;
}
.error_message {
 font-size: 1.6rem;
 font-weight: 600;
 color: #00568f;
 line-height: 1.6;
 margin-bottom: 2em;
}
#form .error {
 display: block;
 color: var(--color-blk);
 font-size: 1.6rem;
 font-weight: 500;
 line-height: 1.6;
 margin-top: 1em;
 padding: 0.5em;
 background-color: var(--color-ylw);
}
.p-form_field {
 font-size: 1.5rem;
 line-height: 1.8;
 padding: 1.5em;
 margin-top: 0.5em;
}
.p-form_button {
 margin-top: 20px;
 display: flex;
 justify-content: center;
 gap: 30px;
}
.p-form_button input {
 display: block;
 width: 260px;
 height: 80px;
 background: var(--color-base);
 color: #fff;
 font-size: 1.6rem;
 font-weight: bold;
 letter-spacing: 0.02em;
 text-align: center;
 border-radius: 40px;
 transition: 120ms linear;
}
.p-form_button input.back-btn {
 background: #999;
}
.p-form_button input:disabled {
 pointer-events: none;
 background: #999;
 border: 1px solid #999;
}
.error-message-top {
 display: none;
 margin-bottom: 60px;
}
.mw_wp_form:has(.error) .error-message-top {
 display: block;
}
.form-error-message {
 display: block;
 color: var(--color-blk);
 font-size: 1.6rem;
 font-weight: 500;
 line-height: 1.6;
 padding: 1em;
 background-color: var(--color-ylw);
}

/* confirm */
.mw_wp_form_confirm .confirm-hidden {
 display: none;
}
:not(.mw_wp_form_confirm) .confirm-show {
 display: none;
}
.mw_wp_form_confirm .confirm-show {
 display: block;
}
.mw_wp_form_confirm .p-form-block01,
.mw_wp_form_confirm .p-form__agree,
#form .mw_wp_form_confirm .privecy {
 display: none;
}
#form .mw_wp_form_confirm .form-body > dt {
 padding-block: 40px 0;
}
#form .mw_wp_form_confirm .form-body > dd {
 font-size: 1.8rem;
 font-weight: 700;
 padding-bottom: 40px;
 border-bottom: 1px solid var(--color-line);
}
#form .mw_wp_form_confirm .p-form__button-wrap {
 margin-top: 80px;
}

.complete_wrap {
 width: 380px;
 margin-inline: auto;
}
.complete_wrap h2 {
 font-size: 1.8rem;
 font-weight: 600;
 margin-bottom: 40px;
 text-align: center;
}
.complete_wrap a {
 display: flex;
 justify-content: center;
 align-items: center;
 margin-inline: auto;
 width: 260px;
 height: 60px;
 background: #999;
 color: var(--color-wht);
 font-size: 1.5rem;
 font-weight: 400;
 letter-spacing: 0.02em;
 text-align: center;
 border-radius: 30px;
 transition: 120ms linear;
}

@media screen and (min-width: 821px) {
 .p-form_button input:hover {
  background-color: var(--color-blu);
 }
 .complete_wrap a:hover {
  background-color: var(--color-gy1);
 }
}

@media screen and (max-width: 600px) {
 .flowArea {
  max-width: 160px;
  height: 100px;
  margin-top: 30px;
 }
 .flowArea .flow {
  padding-top: 15px;
 }
 .flowArea .flow::after {
  border-width: 2px;
 }
 .flowArea .flow .txt {
  font-size: clamp(1.1rem, 3.58cqw, 1.2rem);
 }
 .form-input .read_txt {
  margin-bottom: 30px;
  font-size: min(1.54rem, 4.1vw);
  line-height: 1.8;
 }
 .form-input .read_txt .mds {
  font-size: min(2.4rem, 6.95cqw);
 }
 .form-input .read_txt .dot {
  font-size: min(1.2rem, 3.2vw);
  line-height: 1.7;
 }
 .form-body {
  margin-top: 30px;
 }
 #form .form-body > dt {
  width: 100%;
  padding-block: 30px 0;
  font-size: min(1.6rem, 4.26vw);
 }
 #form .form-body > dd {
  padding-block: 15px 0;
 }
 #form .form-body > dt.blt {
  padding-block: 30px 0;
 }
 #form .form-body > dd.blb {
  padding-block: 30px 20px;
 }
 .form-body textarea {
  height: 400px;
 }
 .checkbox-field {
  flex-direction: column;
  margin-right: 0;
  margin-bottom: 20px;
 }
 .checkbox-text {
  font-size: min(1.54rem, 4.1vw);
  padding-left: 35px;
 }
 .mwform-checkbox-field-text {
  font-size: min(1.54rem, 4.1vw);
 }
 .checkbox-text::before {
  width: 25px;
  height: 25px;
 }
 #form .privecy {
  margin-top: 50px;
  text-align: left;
  font-size: min(1.54rem, 4.1vw);
  line-height: 1.8;
 }
 #form .confirm {
  margin-top: 20px;
 }
 #form .send {
  margin-top: 30px;
  flex-flow: column;
  align-items: center;
  gap: 0;
 }
 #form .confirm + .send {
  margin-top: 0;
 }
 #form .last-msg {
  color: var(--color-blu);
  line-height: 1.6;
  margin-bottom: 1em;
 }
 .p-form_field {
  font-size: min(1.45rem, 4.32cqw);
 }
 .error_message {
  font-size: 1.6rem;
  font-weight: 600;
  color: #00568f;
  line-height: 1.6;
  margin-bottom: 2em;
 }
 #form .error {
  font-size: min(1.45rem, 4.32cqw);
  line-height: 1.6;
 }
 .p-form_button {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 30px;
 }
 .p-form_button input {
  display: block;
  width: 260px;
  height: 72px;
  margin: 0 20px;
  background: var(--color-blu);
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  text-align: center;
  border-radius: 36px;
  transition: 120ms linear;
 }
 .p-form__button02 input {
  display: block;
  width: 260px;
  height: 72px;
  padding-inline: 35px;
  margin: 0 20px;
  font-size: min(1.8rem, 5.21cqw);
  border-radius: 36px;
 }
 .p-form__button03 input,
 .p-form__button03 button,
 .p-form__button03 a {
  width: 260px;
  height: 72px;
  margin: 0 20px;
  font-size: min(1.8rem, 5.21cqw);
  border-radius: 36px;
 }
 .p-form_button input:disabled {
  pointer-events: none;
  background: #999;
  border: 1px solid #999;
 }
 #form .p-form__button-wrap {
  flex-direction: column;
  align-items: center;
  gap: 20px;
 }
 .form-error-message {
  font-size: min(1.45rem, 4.32cqw);
  padding: 0.6em;
 }

 /* confirm */
 #form .mw_wp_form_confirm .form-body > dt {
  padding-block: 30px 0;
 }
 #form .mw_wp_form_confirm .form-body > dd {
  font-size: min(1.6rem, 4.63cqw);
  padding-bottom: 30px;
 }
 #form .mw_wp_form_confirm .p-form__button-wrap {
  margin-top: 40px;
 }

 .complete_wrap {
  width: 100%;
 }
 .complete_wrap h2 {
  font-size: clamp(1.5rem, 4.77cqw, 1.6rem);
 }
 .complete_wrap a {
  width: 240px;
  font-size: clamp(1.3rem, 4.17cqw, 1.4rem);
 }
}

/* other
---------------------------------------------------------------------------------*/
#other .p-header {
 height: calc((430 / 1360) * 100cqw);
}
#other .ph-item_01 span svg,
#other .ph-item_02 span svg {
 fill: var(--color-gy6);
}
#other .ph_wrap .heading_en {
 font-size: min(8rem, 5.88cqw);
}
.p-other .block + .block {
 margin-top: 60px;
}
.p-other p {
 font-size: 1.4rem;
 line-height: 2;
}
.p-other p + p {
 margin-top: 1em;
}
.p-other h2 {
 font-size: 2.2rem;
 font-weight: 600;
 line-height: 1.5;
 margin-bottom: 30px;
}
.p-other h3 {
 font-size: 1.7rem;
 font-weight: 600;
 line-height: 1.5;
 margin-bottom: 20px;
}
.ot_list_01 > li + li {
 margin-top: 1em;
}
.ot_list_01 {
 margin-top: 20px;
 padding-left: 10px;
}
.ot_list_01 > li {
 position: relative;
 padding-left: 1.3em;
 text-indent: -1em;
 font-size: 1.4rem;
 line-height: 1.8;
}
.ot_list_02 {
 margin-top: 20px;
 margin-bottom: 40px;
 margin-left: 40px;
}
.ot_list_02 > li {
 position: relative;
 padding-left: 0;
 font-size: 1.4rem;
 line-height: 1.8;
}
.ot_list_02 > li + li {
 margin-top: 1em;
}
.ot_list_03 {
 margin-top: 20px;
 margin-bottom: 40px;
 margin-left: 20px;
}
.ot_list_03 > li {
 position: relative;
 padding-left: 0;
 font-size: 1.4rem;
 line-height: 1.8;
}
.ot_list_03 > li + li {
 margin-top: 1em;
}
.ot_dot {
 display: block;
 margin-left: 0.25em;
 padding-left: 1.3em;
 text-indent: -1.3em;
}
.ot_dot2 {
 display: block;
 padding-left: 1.3em;
 text-indent: -1.3em;
}
.ot_dot.ot_small {
 font-size: 1.25rem;
 line-height: 1.7;
}
.p_mark {
 float: right;
 width: 150px;
 margin-left: 20px;
 margin-bottom: 20px;
}

@media screen and (min-width: 821px) {
 .sm_item a:hover,
 .other_item a:hover {
  color: var(--color-blu);
 }
}

@media screen and (max-width: 820px) {
 #other .p-header {
  height: auto;
  min-height: 40cqw;
 }
}

@media screen and (max-width: 600px) {
 #other .ph_wrap .heading_en {
  font-size: min(4rem, 10.66cqw);
 }
 .p-other .block + .block {
  margin-top: 40px;
 }
 .p-other p {
  font-size: clamp(1.2rem, 3.88cqw, 1.3rem);
  line-height: 1.8;
 }
 .p-other h2 {
  font-size: min(1.8rem, 5.37cqw);
  margin-bottom: 40px;
 }
 .p-other h3 {
  font-size: min(1.6rem, 4.77cqw);
  margin-bottom: 12px;
 }
 .ot_list_01 {
  margin-top: 15px;
  padding-left: 0;
 }
 .ot_list_01 > li {
  font-size: clamp(1.2rem, 3.88cqw, 1.3rem);
 }
 .ot_list_02 {
  margin-top: 20px;
  margin-bottom: 20px;
  margin-left: 0;
 }
 .ot_list_02 > li {
  font-size: clamp(1.2rem, 3.88cqw, 1.3rem);
 }
 .ot_dot {
  display: block;
  margin-left: 0.25em;
  padding-left: 1.3em;
  text-indent: -1.3em;
 }
 .ot_dot2 {
  display: block;
  padding-left: 1.3em;
  text-indent: -1.3em;
 }
 .ot_dot.ot_small {
  font-size: 1.25rem;
  line-height: 1.7;
 }
 .p_mark {
  float: right;
  width: 30%;
  margin-left: 20px;
  margin-bottom: 20px;
 }
}

/* Not Found
---------------------------------------------------------------------------------*/
#notfound .p-contents {
 padding-block: 200px 160px;
}
.notfound_img {
 max-width: 260px;
 margin-inline: auto;
}
.notfound_txt {
 margin-top: 40px;
 max-width: 420px;
 margin-inline: auto;
}
.notfound_txt strong {
 font-size: 2rem;
 font-weight: 700;
 line-height: 1.6;
 text-align: center;
 display: block;
}
.notfound_txt p {
 font-size: 1.4rem;
 font-weight: 400;
 margin-top: 20px;
}
.notfound_btn {
 margin-top: 60px;
 text-align: center;
}

@media screen and (max-width: 600px) {
 #notfound .p-contents {
  padding-block: 16cqw 80px;
 }
 .notfound_img {
  max-width: unset;
  width: min(160px, 47.7cqw);
  margin-top: 80px;
 }
 .notfound_txt {
  margin-top: 40px;
  text-align: left;
 }
 .notfound_txt strong {
  font-size: min(1.8rem, 5.33cqw);
 }
 .notfound_txt p {
  font-size: min(1.3rem, 3.88cqw);
  margin-top: 20px;
 }
 .notfound_btn {
  margin-top: 40px;
 }
}

/* animation
---------------------------------------------------------------------------------*/
.p-show-elem {
 opacity: 0;
 transform: translateY(50px);
 transition: all 2s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-elem.p-rev {
 opacity: 0;
 transform: translateY(-50px);
 transition: all 2s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-elem.p-left {
 opacity: 0;
 transform: translateX(-100px);
 transition: all 3s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-elem.p-right {
 opacity: 0;
 transform: translateX(100px);
 transition: all 3s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-elem.is-show,
.p-show-elem.p-rev.is-show,
.p-show-elem.p-left.is-show,
.p-show-elem.p-right.is-show {
 opacity: 1;
 transform: translate(0, 0);
}
.p-show-elem.del2 {
 transition-delay: 0.2s;
}
.p-show-elem.del3 {
 transition-delay: 0.4s;
}
.p-show-elem.del4 {
 transition-delay: 0.6s;
}
.p-show-elem.del5 {
 transition-delay: 0.8s;
}
.p-show-elem.del6 {
 transition-delay: 1s;
}
.tc_flex_wrap .item:nth-child(2).p-show-elem,
.tcm_flex_wrap .item:nth-child(2).p-show-elem {
 transition-delay: 0.2s;
}
.tc_flex_wrap .item:nth-child(3).p-show-elem,
.tcm_flex_wrap .item:nth-child(3).p-show-elem {
 transition-delay: 0.4s;
}

@media only screen and (max-width: 767px) {
 .p-show-elem.del2,
 .p-show-elem.del3,
 .p-show-elem.del4,
 .p-show-elem.del5,
 .p-show-elem.del6 {
  transition-delay: 0.3s;
 }
}

/* p-clip */
.p-clip {
 clip-path: inset(0 100% 0 0);
 transition: all 1.4s cubic-bezier(0.76, 0, 0.24, 1) 0.1s;
 transition:
  opacity 1.5s ease,
  clip-path 1.4s cubic-bezier(0.76, 0, 0.24, 1) 0.1s,
  -webkit-clip-path 1.4s cubic-bezier(0.76, 0, 0.24, 1) 0.1s;
 opacity: 0;
}
.p-clip.is-show {
 clip-path: inset(0 0 0 0);
 opacity: 1;
}
.s_photo .p-clip {
 clip-path: inset(10% round 100px);
 transition:
  opacity 1.5s ease,
  clip-path 1s cubic-bezier(0.5, 1, 0.89, 1),
  -webkit-clip-path 1s cubic-bezier(0.5, 1, 0.89, 1);
 opacity: 0;
}
.s_photo .p-clip.is-show {
 clip-path: inset(0 round 0);
 opacity: 1;
}

/* p-show-item */
.cu_photo_01,
.cu_photo_02 {
 opacity: 0;
}
.cu_photo_01.is-show {
 animation: photo01 0.8s cubic-bezier(0.08, 0.8, 0.315, 1) 0.1s both;
}
.cu_photo_02.is-show {
 animation: photo02 0.8s cubic-bezier(0.08, 0.8, 0.315, 1) 0.1s both;
}

@keyframes photo01 {
 0% {
  opacity: 0;
  transform: translateY(-50%);
 }
 100% {
  opacity: 1;
  transform: translateY(0);
 }
}
@keyframes photo02 {
 0% {
  opacity: 0;
  transform: translateY(50%);
 }
 100% {
  opacity: 1;
  transform: translateY(0);
 }
}

@keyframes ani_opa {
 0% {
  opacity: 0;
 }
 100% {
  opacity: 1;
 }
}
@keyframes ani_title {
 0% {
  opacity: 0;
  transform: translate(-50px, 0);
 }
 100% {
  transform: translate(0, 0);
  opacity: 1;
 }
}
@keyframes ani_nav {
 0% {
  opacity: 0;
  transform: translate(50px, 0);
 }
 100% {
  transform: translate(0, 0);
  opacity: 1;
 }
}
@media screen and (max-width: 600px) {
 @keyframes ani_nav {
  0% {
   opacity: 0;
   transform: translate(-50px, 0);
  }
  100% {
   transform: translate(0, 0);
   opacity: 1;
  }
 }
}

/* p-show-item */
.heading.p-show-item .heading_en,
.heading.p-show-item .heading_jp {
 opacity: 0;
}
.heading.p-show-item.is-show .heading_en,
.heading.p-show-item.is-show .heading_jp {
 animation: ani_title 2s cubic-bezier(0.075, 0.82, 0.165, 1) 0.1s both;
}
.heading.p-show-item.is-show .heading_jp {
 animation-delay: 0.3s;
}

/* parallax */
.parallax-debug {
 display: none;
}
