@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Urbanist:wght@100..900&display=swap");
*,
::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;
 }
}
.en {
 font-family: "Urbanist", "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif !important;
 font-weight: 900;
}
.min {
 font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 Pr6 W6", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", "ＭＳ Ｐ明朝", "MS PMincho", Meiryo, serif;
}
.urbanist {
 font-family: "Urbanist" !important;
}
:root {
 /* Colors: */
 --color-blk: #000000;
 --color-wht: #ffffff;
 --color-red: #d01027;
 --color-base: #1d1d1d;
 --color-btn: #2f3031;
 --color-gy1: #cccccc;
 --color-gy2: #dedada;
 --color-gy3: #eeeeee;
 --color-gy4: #fff2f4;
 --color-gy5: #f4e9ea;
 --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-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
 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: 1.4rem;
 }
}

/* header
---------------------------------------------------------------------------------*/
.l-header {
 display: flex;
 justify-content: flex-end;
 position: relative;
 width: 100%;
 height: 112px;
 padding-top: 8px;
 transition: all 0.4s ease-in-out;
}
.backlayer {
 display: block;
 position: fixed;
 top: 32px;
 right: 32px;
 width: 36px;
 height: 36px;
 border-radius: 100%;
 background-color: var(--color-gy2);
 transition: 0.6s cubic-bezier(0.08, 0.8, 0.315, 1);
 z-index: 4;
}
.hdlogo {
 position: fixed;
 top: 27px;
 left: 40px;
 z-index: 20;
 transition: all 0.2s ease;
 z-index: 5;
}
.hdlogo a {
 display: block;
 width: 214px;
}
.hdlogo a h1 {
 width: 100%;
}
.hdmenu {
 position: relative;
 display: flex;
 align-items: center;
 gap: 40px;
 height: 80px;
 padding-inline: 110px;
 z-index: 3;
}
.hdmenu_list {
 display: flex;
 gap: 26px;
 height: 100%;
}
.hdmenu_item {
 display: flex;
 align-items: center;
 height: 100%;
 position: relative;
}
.hdmenu_item > a {
 display: flex;
 align-items: center;
 position: relative;
 height: 100%;
 cursor: pointer;
 font-size: 1.65rem;
 font-family: var(--ff-urb);
 font-weight: 600;
}
.hdmenu_item > a:before {
 content: " ";
 position: absolute;
 height: 2px;
 width: 0;
 left: auto;
 right: 0;
 bottom: 16px;
 background-color: var(--color-red);
 transition-duration: 0.5s;
 transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
 pointer-events: none;
 z-index: 1;
}
.hdmenu_item.hdmenu_home {
 display: none;
}

/* hover */
@media screen and (min-width: 821px) {
 .hdmenu_item:hover > a {
  color: var(--color-red);
 }
 .hdmenu_item:hover > a:before {
  width: 100%;
  right: auto;
  left: 0;
 }
}

@media screen and (max-width: 1099px) {
 .hdmenu {
  display: none;
 }
}
.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;
 flex-wrap: wrap;
 align-items: center;
 height: inherit;
 padding-top: 110px;
 padding-bottom: 40px;
 height: 100vh;
 overflow-y: auto;
}
.hdnav-wrap {
 display: flex;
 gap: 10%;
 margin: 0 auto;
 padding: 0 60px;
 width: 100%;
 max-width: 1200px;
 opacity: 0;
 transform: translateY(50px);
 transition: 1.2s ease-out;
}
.hdnav-sub {
 display: flex;
 flex-flow: column;
 gap: 60px;
 width: 480px;
 padding-right: 60px;
 border-right: 1px solid rgba(0, 0, 0, 0.1);
}
.hdnav_logo {
 width: 100%;
}
.hdnav_logo p {
 display: block;
 aspect-ratio: 424/40;
 background: url(/assets/images/common/logo.png) no-repeat 0 0;
 background-size: contain;
}
.hdnav_logo span {
 margin-top: 20px;
 display: block;
 font-size: 1.4rem;
 line-height: 1.5;
}
.hdnav-main {
 flex: 1;
 position: relative;
 display: flex;
 justify-content: space-between;
 gap: 20px;
}
.hdnav_list {
 display: flex;
 flex-flow: column;
 gap: 40px;
 width: 100%;
}
.hdnav_item {
 font-size: 2.2rem;
 font-family: var(--ff-urb);
 font-weight: 800;
 line-height: 1;
 position: relative;
}
.hdnav_item > a {
 color: var(--color-base);
 display: inline-flex;
 align-items: center;
 position: relative;
 transition: color 120ms linear;
 white-space: nowrap;
}
.hdnav_nest {
 display: flex;
 gap: 10px;
 margin-top: 20px;
 transition: 120ms ease-in-out 100ms;
}
.hdnav_nest_list {
 display: flex;
 flex-wrap: wrap;
 width: 100%;
 gap: 0.5em;
}
.hdnav_nest_item {
 width: 100%;
}
.hdnav_nest_item a {
 color: var(--color-base);
 display: flex;
 position: relative;
 font-size: 1.4rem;
 font-weight: 400;
 line-height: 1.4;
 letter-spacing: 0.04em;
 transition: color 120ms linear;
}
.hdnav_nest_item a:before {
 content: "";
 display: block;
 width: 12px;
 height: 1px;
 margin-top: 0.6em;
 margin-right: 8px;
 background-color: var(--color-base);
 opacity: 0.4;
}

.hdbtn {
 display: flex;
 align-items: center;
 justify-content: space-between;
 position: fixed;
 top: 20px;
 right: 20px;
 width: 60px;
 height: 60px;
 border-radius: 100%;
 background-color: var(--color-base);
 transition: all 0.2s ease;
 z-index: 20;
}
.hdbtn_icon {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 60px;
 height: 60px;
 position: relative;
}
.hdbtn_icon span {
 position: absolute;
 top: calc(50% - 2px);
 left: calc(50% - 2px);
 width: 4px;
 height: 4px;
 background: var(--color-wht);
 border-radius: 100%;
 transition: 120ms ease-in-out;
}
.hdbtn_icon span:nth-child(1) {
 transform: translateX(-8px);
}
.hdbtn_icon span:nth-child(2),
.hdbtn_icon span:nth-child(4) {
 opacity: 0;
}
.hdbtn_icon span:nth-child(5) {
 transform: translateX(8px);
}

/* -scroll */
.l-header.-scroll .hdlogo {
 top: 15px;
 left: 20px;
}
.l-header.-scroll .hdlogo a {
 width: 160px;
}
.l-header.-scroll .backlayer {
 top: 22px;
}
.l-header.-scroll .hdbtn {
 top: 10px;
}

/* -open */
.l-header.-open .backlayer {
 transform: scale(100);
 transition: 0.8s ease-in-out;
}
.l-header.-open .hdlogo a svg {
 fill: var(--color-wht);
}
.hdbtn.-open .hdbtn_icon span:nth-child(1) {
 transform: translateX(-8px) translateY(-8px);
}
.hdbtn.-open .hdbtn_icon span:nth-child(2) {
 opacity: 1;
 transform: translateX(-8px) translateY(8px);
}
.hdbtn.-open .hdbtn_icon span:nth-child(4) {
 opacity: 1;
 transform: translateX(8px) translateY(-8px);
}
.hdbtn.-open .hdbtn_icon span:nth-child(5) {
 transform: translateX(8px) translateY(8px);
}
.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) {
 .hdnav_item > a:hover em:before {
  right: auto;
  left: 0;
  width: 100%;
 }
 .hdnav_item a:hover {
  opacity: 0.6;
 }
 .hdbtn:hover {
  transition: all 0.2s ease;
  -webkit-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
 }
}

@media screen and (min-width: 1500px) {
 .l-header.-open .backlayer {
  transform: scale(150);
 }
}

@media screen and (min-width: 2400px) {
 .l-header.-open .backlayer {
  transform: scale(200);
 }
}

/* @media screen and (max-width: 1099px) {
 .hdnav-scroller {
  align-items: flex-start;
  padding-top: 160px;
  padding-bottom: 120px;
 }
 .hdnav-main {
  flex-flow: column;
  gap: 0;
 }
 .hdnav_list {
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
 }
 .hdnav_item {
  margin-bottom: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
 }
 .hdnav_item.nav_business {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
 }
 .hdnav_item > a {
  padding-block: 19px;
 }
 .hdnav_item > a + svg {
  display: none;
  position: absolute;
  top: 50%;
  right: 3px;
  transform: translateY(-50%);
  width: 16px;
  height: 12px;
  fill: var(--color-bl1);
 }
 .hdnav_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  right: -16px;
  width: 54px;
  height: 54px;
 }
 .hdnav_icon span {
  display: block;
  position: relative;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: rgba(222, 222, 222, 0);
 }
 .hdnav_icon span::before {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 5px);
  width: 10px;
  height: 2px;
  border-radius: 1px;
  background: var(--color-wht);
  transition: 120ms ease-in-out;
 }
 .hdnav_icon span::after {
  content: "";
  position: absolute;
  top: calc(50% - 5px);
  left: calc(50% - 1px);
  width: 2px;
  height: 10px;
  border-radius: 1px;
  background: var(--color-wht);
  transition: 120ms ease-in-out;
 }
 .hdnav_icon.-open span {
  background-color: rgba(222, 222, 222, 0.3);
 }
 .hdnav_icon.-open span::before {
  transform: rotate(90deg);
  opacity: 0;
 }
 .hdnav_icon.-open span::after {
  background-color: var(--color-nav);
  transform: rotate(90deg) translateX(-0.5px);
 }
 .hdnav_nest {
  display: none;
  position: static;
  opacity: 1;
  width: 100%;
  padding: 0;
  pointer-events: initial;
  margin-top: 0;
  overflow: hidden;
  background-image: none;
  transition: 120ms ease-out 0ms;
 }
 .hdnav_item:hover > .hdnav_nest {
  transition: none;
 }
 .hdnav_nest_content {
  width: 100%;
  padding-top: 0;
 }
 .hdnav_nest_list {
  display: block;
  margin: 0;
  padding-bottom: 20px;
 }
 .hdnav_nest_item {
  width: 100%;
  padding-left: 4px;
 }
 .hdnav_nest_item > a {
  padding-block: 2px;
 }
 .hdnav_nest_item_s {
  margin-top: 0;
 }
} */

@media screen and (max-width: 1099px) {
 .hdnav-wrap {
  gap: 5%;
 }
 .hdnav-sub {
  width: 40%;
  padding-right: 5%;
 }
}

@media screen and (max-width: 820px) {
 .hdlogo {
  top: 20px;
  left: 12px;
 }
 .hdnav-wrap {
  flex-flow: column-reverse;
  gap: 80px;
  padding: 0 60px;
  width: 100%;
  max-width: unset;
 }
 .hdnav-sub {
  gap: 30px;
  width: 100%;
  padding-right: 0;
  border-right: none;
 }
 .hdnav_logo {
  width: 60%;
 }
 .hdnav_item {
  font-size: 2.6rem;
 }
 .hdnav_nest_item a {
  font-size: 1.6rem;
 }

 /* -scroll */
 .l-header.-scroll .hdlogo {
  top: 20px;
  left: 12px;
 }
 .l-header.-scroll .hdlogo a {
  width: 214px;
 }
 .l-header.-scroll .backlayer {
  top: 22px;
  right: 32px;
 }
 .l-header.-scroll .hdbtn {
  top: 20px;
 }
}

@media screen and (max-width: 600px) {
 .l-header {
  height: 70px;
  padding-top: 0;
 }
 .backlayer {
  top: 18px;
  right: 12px;
 }
 .hdlogo {
  top: 15px;
  left: 12px;
 }
 .hdlogo a {
  width: 150px;
 }
 .hdnav-scroller {
  padding-top: 110px;
  padding-bottom: 160px;
 }
 .hdnav-wrap {
  padding: 0 5.33%;
 }
 .hdnav-main {
  flex: unset;
  flex-flow: column;
  justify-content: flex-start;
  gap: 20px;
 }
 .hdnav_list {
  gap: 30px;
 }
 .hdnav_nest {
  gap: 10px;
  margin-block: 25px 5px;
 }
 .hdnav_nest_list {
  gap: 10px;
 }
 .hdnav_nest_item {
  width: calc((100% - 10px) * 0.5);
 }
 .hdnav_nest_item a {
  font-size: 1.3rem;
  line-height: 1.4;
  letter-spacing: 0;
 }
 .hdnav_logo {
  width: 100%;
 }
 .hdnav_logo p {
  width: 70%;
 }
 .hdnav_logo span {
  margin-top: 10px;
  font-size: 1.2rem;
 }
 .hdnav-sub {
  gap: 20px;
 }
 .hdnav_item {
  font-size: 2.4rem;
 }

 .hdbtn {
  top: 16px;
  right: 10px;
  width: 40px;
  height: 40px;
 }
 .hdbtn_icon {
  width: 40px;
  height: 40px;
 }
 .hdbtn_icon span {
  top: calc(50% - 1.5px);
  left: calc(50% - 1.5px);
  width: 3px;
  height: 3px;
 }
 .hdbtn_icon span:nth-child(1) {
  transform: translateX(-6px);
 }
 .hdbtn_icon span:nth-child(5) {
  transform: translateX(6px);
 }

 /* -scroll */
 .l-header.-scroll .hdlogo {
  top: 10px;
  left: 10px;
 }
 .l-header.-scroll .hdlogo a {
  width: 120px;
 }
 .l-header.-scroll .backlayer {
  top: 10px;
  right: 8px;
 }
 .l-header.-scroll .hdbtn {
  top: 8px;
  right: 6px;
 }

 /* -open */
 .hdbtn.-open .hdbtn_icon span:nth-child(1) {
  transform: translateX(-6px) translateY(-6px);
 }
 .hdbtn.-open .hdbtn_icon span:nth-child(2) {
  opacity: 1;
  transform: translateX(-6px) translateY(6px);
 }
 .hdbtn.-open .hdbtn_icon span:nth-child(4) {
  opacity: 1;
  transform: translateX(6px) translateY(-6px);
 }
 .hdbtn.-open .hdbtn_icon span:nth-child(5) {
  transform: translateX(6px) translateY(6px);
 }
}

/* Layout
---------------------------------------------------------------------------------*/
.c-red {
 color: var(--color-red);
}
.c-wht {
 color: var(--color-wht);
}
.bg_red {
 background-color: var(--color-red) !important;
}
.bg_wht {
 background-color: var(--color-wht) !important;
}
.mt1 {
 margin-top: 1em;
}
.mb1 {
 margin-bottom: 1em;
}
.l-container {
 width: auto;
 max-width: 1440px;
 margin-inline: auto;
 padding: 0 60px;
 position: relative;
}
.l-content {
 max-width: 960px;
 margin-inline: auto;
}
.l-section + .l-section {
 margin-top: 80px;
}
.flex_wrap_col1 {
 display: flex;
 flex-flow: row wrap;
 gap: 40px;
}
.flex_wrap_col1 .item {
 width: 100%;
}
.flex_wrap_col2 {
 display: flex;
 flex-flow: row wrap;
 gap: 4.62cqw 5%;
}
.flex_wrap_col2 .item {
 width: calc((100% - 5%) * 0.5);
}
.flex_wrap_col2 .item.item_3 {
 width: calc((100% - 10%) * 0.333);
}
.flex_wrap_col3 {
 display: flex;
 flex-flow: row wrap;
 gap: 28px;
}
.flex_wrap_col3 .item {
 width: calc((100% - 56px) * 0.333);
 min-height: 180px;
}
.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: 310px;
 height: 80px;
}
.a-button a,
.a-button button {
 display: flex;
 align-items: center;
 justify-content: space-between;
 position: relative;
 z-index: 1;
 width: 100%;
 height: 100%;
 overflow: hidden;
 padding-inline: 35px 15px;
 color: var(--color-wht);
 background-color: var(--color-btn);
 font-size: 1.8rem;
 font-weight: 500;
 letter-spacing: 0.08em;
 border-radius: 40px;
 transition: all 0.2s ease;
 cursor: pointer;
}
.a-button a em {
 flex: 1;
 position: relative;
 transition: all 0.2s ease;
 z-index: 2;
}
.a-button a span {
 width: 50px;
 height: 50px;
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
 margin-left: 30px;
 position: relative;
}
.a-button a span::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 display: block;
 border-radius: 100%;
 background-color: rgba(0, 0, 0, 0.3);
 animation: btn-out 1s ease-out forwards;
 z-index: -1;
}
.a-button svg {
 width: 16px;
 height: 12px;
 fill: currentColor;
 transition: all 0.4s ease;
}
.a-button.s-button {
 min-width: 160px;
 height: 60px;
}
.a-button.s-button a,
.a-button.s-button button {
 padding-inline: 25px 10px;
 font-size: 1.4rem;
 border-radius: 30px;
}
.a-button.s-button a span {
 width: 40px;
 height: 40px;
 margin-left: 20px;
}
.a-button.s-button svg {
 width: 12px;
 height: 9px;
}
.b-button {
 display: flex;
 height: 240px;
}
.b-button a,
.b-button button {
 display: flex;
 flex-flow: column;
 align-items: center;
 justify-content: center;
 gap: 0.74cqw;
 position: relative;
 z-index: 1;
 width: 100%;
 height: 100%;
 overflow: hidden;
 padding: 20px 20px;
 color: var(--color-red);
 background-color: var(--color-wht);
 letter-spacing: 0.04em;
 border-radius: 20px;
 transition: all 0.2s 0.25s ease;
 cursor: pointer;
}
.b-button a strong {
 display: block;
 font-size: clamp(28px, 3.14cqw, 34px);
 font-weight: 800;
 line-height: 1.4;
}
.b-button a strong.big {
 font-size: 5rem;
 font-family: var(--ff-urb);
}
.b-button a .sub {
 font-size: clamp(13px, 1.48cqw, 16px);
 font-weight: 500;
 line-height: 1.4;
}
.b-button a .word {
 font-size: clamp(15px, 1.85cqw, 20px);
 font-weight: 600;
 line-height: 1.4;
}
.b-button a span {
 position: absolute;
 bottom: 1.85cqw;
 right: 1.85cqw;
 width: 4.62cqw;
 height: 4.62cqw;
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
 margin-left: auto;
}
.b-button a span::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 display: block;
 border-radius: 100%;
 background-color: var(--color-base);
 animation: btn-out 1s ease-out forwards;
 z-index: -1;
}
.b-button svg,
.b-button .svg {
 width: 1.48cqw;
 height: 1.11cqw;
 fill: var(--color-wht);
 transition: all 0.4s ease;
}
.b-button.red-button a {
 color: var(--color-wht);
 background-color: var(--color-red);
}
.b-button.blk-button a {
 color: var(--color-wht);
 background-color: var(--color-btn);
}
.c-button a {
 position: relative;
 overflow: hidden;
 width: 100%;
 display: block;
 border-radius: 20px;
 aspect-ratio: 512 / 320;
}
.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 span {
 position: absolute;
 bottom: 1.85cqw;
 right: 1.85cqw;
 width: 4.62cqw;
 height: 4.62cqw;
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
}
.c-button a span::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 display: block;
 border-radius: 100%;
 background-color: var(--color-base);
 animation: btn-out 1s ease-out forwards;
 opacity: 0.8;
}
.c-button a svg {
 width: 1.48cqw;
 height: 1.11cqw;
 fill: var(--color-wht);
 z-index: 1;
}
.c-button.large a {
 aspect-ratio: 1080 / 240;
}
.d-button {
 display: inline-block;
 min-width: 160px;
 height: 60px;
}
.d-button a {
 display: flex;
 align-items: center;
 justify-content: space-between;
 position: relative;
 z-index: 1;
 width: 100%;
 height: 100%;
 overflow: hidden;
 padding-inline: 25px 10px;
 color: var(--color-base);
 background-color: var(--color-gy3);
 font-size: 1.6rem;
 font-weight: 500;
 letter-spacing: 0.08em;
 border-radius: 30px;
 transition: all 0.2s ease;
 cursor: pointer;
}
.d-button a em {
 flex: 1;
 position: relative;
 transition: all 0.2s ease;
 z-index: 2;
}
.d-button a span {
 width: 40px;
 height: 40px;
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
 margin-left: 20px;
 position: relative;
}
.d-button a span::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 display: block;
 border-radius: 100%;
 background-color: var(--color-btn);
 animation: btn-out 1s ease-out forwards;
 z-index: -1;
}
.d-button svg {
 width: 12px;
 height: 9px;
 fill: var(--color-wht);
 transform: rotate(90deg);
 transition: all 0.4s ease;
}
.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 span::before,
 .b-button a:hover span::before,
 .c-button a:hover span::before,
 .d-button a:hover span::before {
  animation: btn-in 0.6s ease-in forwards;
 }
 .b-button.large a:hover span::before,
 .c-button.large a:hover span::before {
  animation: btn-in-large 0.6s ease-in forwards;
 }
 .a-button a:hover span::before {
  transition: all 0.4s ease;
  background-color: rgba(0, 0, 0, 0.7);
 }
 .a-button a:hover span svg,
 .b-button a:hover span svg,
 .c-button a:hover span svg {
  transition: all 0.4s ease;
  transform: translateX(6px);
 }
 .a-button a:hover em {
  transition: all 0.4s ease;
  transform: translateX(-6px);
 }
 .b-button a:hover {
  color: var(--color-wht);
 }
 .c-button a:hover span::before {
  opacity: 0.5;
 }
 .c-button a:hover figure img {
  transform: scale(1.1);
  transition: transform 0.4s ease, opacity 0.2s ease;
 }
 .d-button a:hover em {
  color: var(--color-wht);
  transition: all 0.4s ease;
  transform: translateX(-6px);
 }
 .d-button a:hover span svg {
  transition: all 0.4s ease;
  transform: rotate(90deg) translateX(6px);
 }
 .d-button a:hover span::before {
  transition: all 0.4s ease;
  background-color: var(--color-btn);
 }
}

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

@media screen and (max-width: 820px) {
 .l-container {
  width: auto;
  padding: 0 5.33vw;
 }
 .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;
 }
}

@media screen and (max-width: 600px) {
 .l-container {
  padding: 0 4vw;
 }
 .flex_wrap_col2 .item.item_3 {
  width: 100%;
 }
 .flex_wrap .word .sub {
  font-size: clamp(11.5px, 3.46vw, 13px);
 }
 .more_btn {
  margin-top: 30px;
 }
 .a-button {
  min-width: unset;
  min-width: 230px;
  height: 60px;
 }
 .a-button a,
 .a-button button {
  font-size: 1.4rem;
  padding-inline: 28px 12px;
 }
 .a-button a span {
  width: 36px;
  height: 36px;
  margin-left: 15px;
 }
 .a-button svg {
  width: 12px;
  height: 9px;
 }
 .a-button.s-button {
  min-width: 160px;
  height: 60px;
 }
 .b-button {
  height: 160px;
 }
 .b-button a,
 .b-button button {
  gap: 6px;
  padding: 20px 20px;
  border-radius: 10px;
 }
 .b-button a strong {
  font-size: clamp(22px, 6.93vw, 26px);
 }
 .b-button a strong.big {
  font-size: clamp(26px, 8vw, 30px);
 }
 .b-button a .sub {
  font-size: clamp(11.5px, 3.46vw, 13px);
 }
 .b-button a .word {
  font-size: clamp(12px, 3.73vw, 14px);
 }
 .b-button a span {
  bottom: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
 }
 .b-button svg,
 .b-button .svg {
  width: 9px;
  height: 7px;
 }
 .c-button a {
  border-radius: 10px;
 }
 .c-button a span {
  bottom: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
 }
 .c-button a svg {
  width: 9px;
  height: 7px;
 }
 .c-button.large a {
  aspect-ratio: 1080 / 240;
 }
 .d-button {
  min-width: unset;
  height: 40px;
 }
 .d-button a {
  padding-inline: 15px 5px;
  font-size: clamp(1.1rem, 3.06vw, 1.15rem);
  letter-spacing: 0.02em;
 }
 .d-button a span {
  width: 24px;
  height: 24px;
  margin-left: 10px;
 }
 .d-button svg {
  width: 8px;
  height: 6px;
 }
 .flex_wrap_col2 {
  gap: 20px;
 }
 .flex_wrap_col2 .item {
  width: 100%;
 }
 .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-header
---------------------------------------------------------------------------------*/
.p-header {
 position: relative;
 margin-top: 50px;
}
.ph-title {
 display: block;
 position: relative;
 padding-bottom: 35px;
}
.ph-title .heading {
 margin-bottom: 0;
}
.ph-title .heading_en {
 font-size: 5.4rem;
 font-weight: 700;
 gap: 0 0.25em;
}
.bread-crumb {
 position: absolute;
 bottom: 35px;
 right: 0;
}
.p-bread-crumb {
 display: flex;
 align-items: center;
 font-size: 1.2rem;
 line-height: 1.715;
 letter-spacing: 0.12em;
 position: relative;
}
.p-bread-crumb > li {
 color: var(--color-base);
 position: relative;
 display: inline;
}
.p-bread-crumb > li a {
 color: var(--color-base);
 transition: 0.2s;
 position: relative;
}
.p-bread-crumb > li:nth-child(n + 3) {
 margin-left: 28px;
}
.p-bread-crumb > li:nth-child(n + 3):before {
 content: "";
 display: inline-block;
 width: 1px;
 height: 20px;
 margin: 0 20px 0 10px;
 transform: rotate(45deg);
 position: absolute;
 top: 0px;
 left: -24px;
 border: solid 0 var(--color-base);
 border-width: 0 0 1px 1px;
}
.bc_home a {
 display: block;
 width: 20px;
 margin-right: 14px;
 top: -2px;
}
.bc_home a svg {
 width: 20px;
 height: 16px;
 fill: currentColor;
 vertical-align: middle;
}
.under_bread-crumb {
 display: none;
}
.ph-mv_wrap {
 position: relative;
 height: 440px;
 width: 100%;
 max-width: 2400px;
 padding-inline: 20px;
 margin-inline: auto;
}
.ph-mv {
 position: relative;
 height: 440px;
 width: 100%;
 margin-inline: auto;
}
.ph-mv_wrap.short {
 height: 220px;
}
.ph-mv_wrap.short .ph-mv {
 height: 220px;
}
.ph-mv_image {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 border-radius: 20px;
 overflow: hidden;
}
.ph-mv_image img {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 max-width: 100%;
 max-height: 100%;
 -o-object-fit: cover;
 object-fit: cover;
}
.ph-mv .caption {
 display: flex;
 justify-content: center;
 align-items: center;
 flex-wrap: wrap;
 gap: 20px;
 position: relative;
 height: 100%;
 padding-inline: 26px;
}
.ph-mv .caption span {
 color: var(--color-wht);
 font-size: 3rem;
 font-weight: 800;
 line-height: 1.3;
 text-align: center;
}

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

@media screen and (max-width: 820px) {
 .ph-title .bread-crumb {
  display: none;
 }
 .under_bread-crumb {
  display: block;
  padding: 0 5.33vw;
  margin-block: 50px 20px;
 }
 .under_bread-crumb .bread-crumb {
  position: relative;
  bottom: unset;
  right: 0;
  margin-top: 10px;
 }
 .under_bread-crumb .p-bread-crumb {
  justify-content: flex-start;
  padding-right: 40px;
 }
 .ph-mv_wrap {
  max-width: unset;
 }
 .ph-mv .caption {
  gap: 20px;
  flex-flow: column;
 }
}

@media screen and (max-width: 600px) {
 .p-header {
  margin-top: 50px;
 }
 .ph-title {
  padding-bottom: 20px;
 }
 .ph-title .heading {
  gap: max(8px, 2.13vw);
 }
 .ph-title .heading_en {
  font-size: clamp(3rem, 11.73vw, 4.4rem);
 }
 .p-bread-crumb {
  font-size: 1.2rem;
  flex-wrap: wrap;
 }
 .p-bread-crumb > li:nth-child(n + 3):before {
  height: 16px;
  margin: 0 16px 0 10px;
 }
 .under_bread-crumb .p-bread-crumb {
  gap: 5px 0;
 }
 .ph-mv_wrap {
  height: 180px;
  max-width: unset;
  padding-inline: 10px;
 }
 .ph-mv {
  height: 180px;
 }
 .ph-mv_image {
  border-radius: 10px;
 }
 .ph-mv_wrap.short {
  height: 180px;
 }
 .ph-mv_wrap.short .ph-mv {
  height: 180px;
 }
 .ph-mv .caption span {
  font-size: clamp(1.8rem, 5.86vw, 2.2rem);
 }
}

@media screen and (max-width: 340px) {
 .ph-title .heading1 {
  font-size: 2.8rem;
 }
 .ph-title .ph-cat {
  font-size: 1.3rem;
 }
 body.story .ph-mv_image img {
  object-position: 90% 50%;
 }
}

/* p-contents
---------------------------------------------------------------------------------*/
.p-contents {
 padding-block: 120px 200px;
}
.outline {
 max-width: 750px;
 margin-left: auto;
 margin-right: auto;
}
.outline p {
 text-align: left;
}
a.txt_link {
 color: var(--color-red);
 text-decoration: underline;
}
.heading {
 margin-bottom: 60px;
 display: flex;
 flex-flow: column;
 align-items: flex-start;
 gap: 10px;
}
.heading_en {
 color: var(--color-base);
 font-size: 8rem;
 font-family: var(--ff-urb);
 font-weight: 800;
 line-height: 1;
 position: relative;
 display: flex;
 gap: 0.25em;
}
.heading_en.page {
 font-size: 6rem;
 font-weight: 700;
}
.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;
}
.p-section {
 max-width: 1080px;
 margin-inline: auto;
 container: psection / inline-size;
}
.p-section + .p-section {
 margin-top: 120px;
}
.block + .block {
 margin-top: 100px;
}
.block p {
 line-height: 1.8;
}
.block p.small {
 font-size: 0.9em;
}
.block .mds {
 display: block;
 font-size: 2.4rem;
 font-weight: 600;
 margin-bottom: 26px;
}
.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;
 line-height: 1.8;
}
.block_item {
 margin-top: 50px;
}
.block_item2 {
 margin-top: 80px;
}
.block_large {
 max-width: 920px;
 margin-top: 50px;
 margin-left: -180px;
 position: relative;
}
.p-section_single {
 max-width: 880px;
 margin-inline: auto;
}
.p-section_single .block + .block {
 margin-top: 60px;
}
.p-section_narrow {
 max-width: 800px;
 margin-left: auto;
 margin-right: auto;
}
.p-table {
 width: 100%;
 border-top: 1px solid #ccc;
}
.p-table th {
 width: 160px;
 padding: 20px 15px;
 font-weight: 600;
 line-height: 1.8;
 border-bottom: 1px solid #ccc;
 background: var(--color-gy3);
}
.p-table td {
 padding: 20px 0 24px 30px;
 font-weight: normal;
 border-bottom: 1px solid #ccc;
 line-height: 1.8;
}
.p-table p {
 line-height: 1.8;
}
.p-table_s {
 width: 100%;
 border-top: 1px solid #ccc;
}
.p-table_s th {
 width: 120px;
 font-weight: 600;
 padding: 20px 0 20px 15px;
 border-bottom: 1px solid #ccc;
 line-height: 1.6;
}
.p-table_s td {
 padding: 20px 0 20px 30px;
 font-weight: normal;
 border-bottom: 1px solid #ccc;
 line-height: 1.6;
}
.p-table_c {
 width: 100%;
 border-collapse: separate;
 border-spacing: 1px;
 font-size: 1.5rem;
 line-height: 1.6;
}
.p-table_c th {
 width: 20px;
 font-weight: 700;
 text-align: center;
 padding: 20px;
}
.p-table_c td {
 padding: 20px 10px 20px 20px;
 font-weight: normal;
}
.p-table_c tr:nth-child(odd) th,
.p-table_c tr:nth-child(odd) td {
 background-color: var(--color-gy4);
}
.p-table_c tr:nth-child(even) th,
.p-table_c tr:nth-child(even) td {
 background-color: var(--color-gy5);
}
.photo {
 display: block;
 border-radius: 20px;
}
.photo img {
 border-radius: 20px;
}

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

@media screen and (max-width: 820px) {
 .p-contents {
  padding-block: 60px 0;
 }
 .outline {
  text-align: left;
 }
 .outline p {
  font-size: 1.4rem;
 }
 .heading_en.page {
  font-size: 5rem;
 }
 .p-section {
  max-width: unset;
 }
 .block_item {
  margin-top: 30px;
 }
 .block p {
  line-height: 1.8;
 }
 .p-section .h-img {
  float: none;
  width: 100%;
  margin-left: 0;
  margin-bottom: 20px;
 }
 .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 0;
 }
 .heading {
  margin-bottom: 50px;
 }
 .heading_en {
  font-size: clamp(5rem, 14.4vw, 5.4rem);
  line-height: 0.9;
  width: 100%;
  flex-wrap: wrap;
  gap: 0 0.25em;
 }
 .heading_en.page {
  font-size: clamp(3rem, 11.73vw, 4.4rem);
 }
 .heading_jp {
  font-size: clamp(1rem, 3.2vw, 1.2rem);
 }
 .p-section + .p-section {
  margin-top: 60px;
 }
 .block .mds {
  font-size: 2rem;
 }
 .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 th {
  width: 100px;
  padding: 10px 10px;
  line-height: 1.6;
 }
 .p-table td {
  padding: 10px 0 10px 10px;
  line-height: 1.6;
 }
 .p-table_s th {
  width: 80px;
  padding: 10px 0 10px 10px;
  line-height: 1.6;
 }
 .p-table_s td {
  padding: 10px 0 10px 15px;
  line-height: 1.6;
 }
 .p-table_c {
  font-size: 1.3rem;
  line-height: 1.4;
 }
 .p-table_c th {
  width: 30px;
  padding: 10px 5px;
 }
 .p-table_c td {
  padding: 10px 5px;
 }
}

/* p-menulink
---------------------------------------------------------------------------------*/
.p-anc {
 max-width: 100%;
 margin-top: 40px;
 margin-bottom: 40px;
 display: flex;
 flex-flow: row wrap;
 justify-content: center;
 gap: 20px;
}

@media screen and (max-width: 600px) {
 .p-anc {
  margin-top: 20px;
  margin-bottom: 0;
  gap: 6px;
 }
}

/* p-jd
---------------------------------------------------------------------------------*/
.p-jd {
 width: 100%;
 padding-block: 140px;
 background-color: var(--color-red);
}
.p-jd .heading_en,
.p-jd .heading_en span:first-letter,
.p-jd .heading_jp {
 color: var(--color-wht);
}

@media screen and (max-width: 600px) {
 .p-jd {
  width: 100%;
  padding-block: 65px;
 }
}

/* Footer
---------------------------------------------------------------------------------*/
.l-footer {
 position: relative;
 border-top: 1px solid var(--color-gy2);
}
.l-footer__pagetop {
 position: absolute;
 top: -20px;
 right: 20px;
 transform: translateY(-100%);
 cursor: pointer;
 z-index: 2;
}
.l-footer__pagetop a {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 50px;
 height: 50px;
 position: relative;
 border-radius: 100%;
 background-color: var(--color-base);
 transition: all 0.2s linear;
}
.l-footer__pagetop svg {
 width: 16px;
 height: 12px;
 fill: #ffffff;
 transform: rotate(-90deg);
}
.l-footer .p-section {
 padding-block: 140px 70px;
}
.ft_main {
 display: flex;
 justify-content: space-between;
}
.ft_wrap {
 display: flex;
 flex-flow: column;
 gap: 60px;
 max-width: 424px;
}
.ft_logo {
 width: 100%;
}
.ft_logo a {
 display: block;
 aspect-ratio: 424/40;
 background: url(../images/common/logo.png) no-repeat 0 0;
 background-size: contain;
}
.ft_logo span {
 margin-top: 20px;
 display: block;
 font-size: 1.4rem;
}
.ft_btn {
 width: 100%;
}
.ft_link {
 display: flex;
 flex-flow: column;
 align-items: flex-end;
 gap: 52px;
}
.ft_link ul {
 display: flex;
 flex-flow: column;
 align-items: flex-end;
 gap: 30px;
}
.ft_link ul li {
 font-size: 1.6rem;
 font-family: var(--ff-urb);
 font-weight: 600;
 line-height: 1;
}
.ft_link ul li a {
 display: inline-block;
 opacity: 1;
 position: relative;
}
.l-footer__copyright {
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.1rem;
 line-height: 1;
 text-align: center;
}

@media screen and (min-width: 821px) {
 .l-footer__pagetop a:hover {
  -webkit-transform: scale(1.2, 1.2);
  transform: scale(1.2, 1.2);
 }
 .ft_link ul li a:hover {
  opacity: 0.6;
 }
 .l-footer__nav-sub__item a:hover {
  opacity: 1;
 }
}

@media screen and (max-width: 600px) {
 .l-footer .p-section {
  padding-block: 100px 40px;
 }
 .ft_main {
  flex-flow: column;
  gap: 40px;
  padding-left: 4vw;
 }
 .ft_wrap {
  gap: 24px;
 }
 .ft_logo {
  width: 100%;
 }
 .ft_logo a {
  width: 90%;
  height: auto;
 }
 .ft_logo span {
  margin-top: 12px;
  font-size: 1.15rem;
 }
 .ft_btn {
  width: 100%;
 }
 .ft_link {
  align-items: flex-start;
 }
 .ft_link ul {
  align-items: flex-start;
  gap: 24px;
 }
 .ft_link ul li {
  font-size: 1.7rem;
 }
 .l-footer__pagetop {
  top: -14px;
  right: 6px;
 }
 .l-footer__pagetop a {
  width: 40px;
  height: 40px;
 }
 .l-footer__pagetop svg {
  width: 12px;
  height: 9px;
 }
}

/* home
---------------------------------------------------------------------------------*/
.top_header {
 width: 100%;
 max-width: 2400px;
 padding-inline: 20px;
 margin-inline: auto;
 position: relative;
 z-index: 1;
}
.th_inner {
 position: relative;
 width: 100%;
 height: min(620px, 45.58vw);
 margin-inline: auto;
 container: th / inline-size;
}
.th_mv {
 display: block;
 position: absolute;
 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;
 border-radius: 20px;
}
.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: -22px;
 right: 0;
 display: flex;
 justify-content: flex-end;
 gap: 10px;
 text-align: unset;
 transition: 0.3s opacity;
 transform: translate3d(0, 0, 0);
 z-index: 10;
}
.th_mv .swiper-pagination-bullet {
 width: 50px;
 height: 6px;
 display: block;
 border-radius: 2em;
 background: var(--color-gy2);
 margin: 0 !important;
 opacity: 1;
}
.th_mv .swiper-pagination-bullet-active {
 opacity: 1;
 background: var(--color-red);
}
.th_mv::after {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background-color: var(--color-wht);
 transition: all 3s;
 opacity: 1;
 z-index: 2;
}
body.-start .top_header .th_mv::after {
 opacity: 0;
}
.th_copy {
 position: absolute;
 left: clamp(20px, 3cqw, 40px);
 bottom: clamp(20px, 3cqw, 40px);
 color: var(--color-wht);
 display: flex;
 flex-flow: column;
 gap: clamp(1rem, 1.21cqw, 1.6rem);
 z-index: 2;
}
.th_copy .copy {
 display: flex;
 flex-flow: column;
}
.th_copy .copy span {
 font-size: clamp(6rem, 9.84cqw, 13rem);
 font-weight: 700;
 line-height: 0.8;
}
.th_copy .title {
 font-size: clamp(1.2rem, 1.36cqw, 1.8rem);
 font-weight: 700;
}

@media screen and (max-width: 820px) {
 .th_inner {
  position: relative;
  width: 100%;
  height: 80vw;
  margin-inline: auto;
  container: th / inline-size;
 }
}

@media screen and (max-width: 600px) {
 .top_header {
  max-width: unset;
  padding-inline: 10px;
 }
 .th_inner {
  height: min(512px, 136vw);
 }
 .th_mv .swiper-wrapper {
  border-radius: 15px;
 }
 .th_mv .swiper-pagination {
  bottom: -18px;
  gap: 8px;
 }
 .th_mv .swiper-pagination-bullet {
  width: 30px;
  height: 5px;
 }
 .th_copy {
  left: 4.5cqw;
  bottom: 5.6cqw;
  gap: 2cqw;
 }
 .th_copy .copy span {
  font-size: 20cqw;
 }
 .th_copy .title {
  font-size: 3.5cqw;
 }
}

/* t-message
---------------------------------------------------------------------------------*/
.t-message {
 width: 100%;
 padding-top: 80px;
 position: relative;
}
.message {
 max-width: 560px;
 display: flex;
 flex-flow: column;
 align-items: center;
 font-size: 3rem;
 font-weight: 700;
 letter-spacing: 0.04em;
 gap: 20px;
 padding-block: 40px;
 margin-inline: auto;
 border: solid var(--color-base);
 border-width: 2px 0;
}

@media screen and (max-width: 600px) {
 .t-message {
  padding-top: 60px;
 }
 .message {
  max-width: unset;
  font-size: clamp(1.6rem, 4.8vw, 1.8rem);
  gap: 10px;
  padding-block: 20px;
 }
}

/* t-about
---------------------------------------------------------------------------------*/
.t-about {
 width: 100%;
 padding-top: 240px;
 position: relative;
}
.t-about .ponoc_mark {
 position: absolute;
 top: 100px;
 right: -100px;
 width: 460px;
 display: block;
 aspect-ratio: 1 / 1;
 background: url(../images/common/ponoc_mark.svg) no-repeat 50% 50%;
 background-size: contain;
 opacity: 0.08;
}
.t-about_wrap {
 display: flex;
 gap: 12%;
}
.t-about_wrap_left {
 width: 240px;
}
.t-about_wrap_right {
 width: 660px;
}

@media screen and (max-width: 820px) {
 .t-about_wrap {
  flex-flow: column;
  gap: 0;
 }
 .t-about_wrap_left,
 .t-about_wrap_right {
  width: 100%;
 }
}

@media screen and (max-width: 600px) {
 .t-about {
  padding-top: 140px;
 }
 .t-about .ponoc_mark {
  top: 130px;
  right: -12vw;
  width: 58.6vw;
 }
}

/* t-photo
---------------------------------------------------------------------------------*/
.t-photo {
 width: 100%;
 margin-top: 260px;
}
.t_photo_swiper {
 display: flex;
 gap: 16px;
}
.t_slide_group {
 display: flex;
 align-items: flex-start;
 gap: 16px;
}
.t-photo_en .t_photo_swiper {
 justify-content: flex-end;
}
.t_slide_group .t_slide {
 border-radius: 1rem;
 overflow: hidden;
}
.t_slide img {
 width: 100%;
}
.t_slide_group .t_slide:nth-child(1) {
 width: 420px;
 margin-top: 16px;
}
.t_slide_group .t_slide:nth-child(2) {
 width: 300px;
 margin-top: 80px;
}
.t_slide_group .t_slide:nth-child(3) {
 width: 400px;
}
.t_slide_group .t_slide:nth-child(4) {
 width: 390px;
 margin-top: 46px;
}
.t_slide_group .t_slide:nth-child(5) {
 width: 460px;
 margin-top: 90px;
}
.t_slide_group .t_slide:nth-child(6) {
 width: 280px;
 margin-top: 50px;
}
.t-photo_en .t_slide_group .t_slide:nth-child(6) {
 width: 560px;
}
.t-photo_en .t_slide_group .t_slide:nth-child(5) {
 width: 420px;
 margin-top: 80px;
}
.t-photo_en .t_slide_group .t_slide:nth-child(4) {
 width: 520px;
 margin-top: 10px;
}
.t-photo_en .t_slide_group .t_slide:nth-child(3) {
 width: 390px;
 margin-top: 80px;
}
.t-photo_en .t_slide_group .t_slide:nth-child(2) {
 width: 460px;
 margin-top: 120px;
}
.t-photo_en .t_slide_group .t_slide:nth-child(1) {
 width: 460px;
 margin-top: 50px;
}

@media screen and (max-width: 820px) {
 .t_slide_group .t_slide:nth-child(1) {
  width: 210px;
  margin-top: 8px;
 }
 .t_slide_group .t_slide:nth-child(2) {
  width: 150px;
  margin-top: 40px;
 }
 .t_slide_group .t_slide:nth-child(3) {
  width: 200px;
 }
 .t_slide_group .t_slide:nth-child(4) {
  width: 190px;
  margin-top: 24px;
 }
 .t_slide_group .t_slide:nth-child(5) {
  width: 230px;
  margin-top: 45px;
 }
 .t_slide_group .t_slide:nth-child(6) {
  width: 140px;
  margin-top: 25px;
 }
 .t-photo_en .t_slide_group .t_slide:nth-child(6) {
  width: 280px;
 }
 .t-photo_en .t_slide_group .t_slide:nth-child(5) {
  width: 210px;
  margin-top: 40px;
 }
 .t-photo_en .t_slide_group .t_slide:nth-child(4) {
  width: 260px;
  margin-top: 5px;
 }
 .t-photo_en .t_slide_group .t_slide:nth-child(3) {
  width: 190px;
  margin-top: 40px;
 }
 .t-photo_en .t_slide_group .t_slide:nth-child(2) {
  width: 230px;
  margin-top: 60px;
 }
 .t-photo_en .t_slide_group .t_slide:nth-child(1) {
  width: 230px;
  margin-top: 25px;
 }
}

@media screen and (max-width: 600px) {
 .t-photo {
  margin-top: 100px;
 }
 .t_photo_swiper {
  display: flex;
  gap: 8px;
 }
 .t_slide_group {
  display: flex;
  align-items: flex-start;
  gap: 8px;
 }
 .t_slide_group .t_slide:nth-child(1) {
  width: 160px;
  margin-top: 6px;
 }
 .t_slide_group .t_slide:nth-child(2) {
  width: 110px;
  margin-top: 30px;
 }
 .t_slide_group .t_slide:nth-child(3) {
  width: 150px;
 }
 .t_slide_group .t_slide:nth-child(4) {
  width: 145px;
  margin-top: 18px;
 }
 .t_slide_group .t_slide:nth-child(5) {
  width: 170px;
  margin-top: 12px;
 }
 .t_slide_group .t_slide:nth-child(6) {
  width: 105px;
  margin-top: 18px;
 }
 .t-photo_en .t_slide_group .t_slide:nth-child(6) {
  width: 210px;
 }
 .t-photo_en .t_slide_group .t_slide:nth-child(5) {
  width: 160px;
  margin-top: 30px;
 }
 .t-photo_en .t_slide_group .t_slide:nth-child(4) {
  width: 200px;
  margin-top: 4px;
 }
 .t-photo_en .t_slide_group .t_slide:nth-child(3) {
  width: 145px;
  margin-top: 30px;
 }
 .t-photo_en .t_slide_group .t_slide:nth-child(2) {
  width: 170px;
  margin-top: 45px;
 }
 .t-photo_en .t_slide_group .t_slide:nth-child(1) {
  width: 170px;
  margin-top: 18px;
 }
}

/* t-roles
---------------------------------------------------------------------------------*/
.t-roles {
 width: 100%;
 margin-top: 260px;
}
.t-roles .heading {
 gap: 20px;
}
.t-roles .flex_wrap.flex_wrap_col1,
.p-roles .flex_wrap.flex_wrap_col1 {
 margin-top: 50px;
}

@media screen and (max-width: 600px) {
 .t-roles {
  margin-top: 140px;
 }
 .t-roles .flex_wrap_col2,
 .p-roles .flex_wrap_col2 {
  gap: 30px 10px;
 }
 .t-roles .flex_wrap_col2 .item,
 .p-roles .flex_wrap_col2 .item {
  width: calc((100% - 10px) * 0.5);
 }
 .t-roles .flex_wrap .word,
 .p-roles .flex_wrap .word {
  margin-top: 3.5cqw;
 }
 .t-roles .flex_wrap .word .title,
 .p-roles .flex_wrap .word .title {
  font-size: 4.6cqw;
 }
 .t-roles .c-button a span {
  bottom: 5px;
  right: 5px;
 }
 .t-roles .c-button.large a,
 .p-roles .c-button.large a {
  aspect-ratio: 1080 / 360;
 }
 .t-roles .flex_wrap.flex_wrap_col1,
 .p-roles .flex_wrap.flex_wrap_col1 {
  margin-top: 30px;
 }
 .t-roles .more_btn {
  margin-top: 20px;
 }
}

/* t-environment
---------------------------------------------------------------------------------*/
.t-environment {
 width: 100%;
 padding-block: 260px 200px;
}
.env_wrap {
 display: flex;
 align-items: center;
 gap: 6.48%;
}
.env_wrap .item {
 flex: 1;
}
.env_word {
 width: auto;
 display: flex;
 flex-flow: column;
 gap: 30px;
}
.env_word .env {
 display: flex;
 flex-flow: column;
 gap: 1.38cqw;
}
.env_word .name_jp {
 font-size: 1.48cqw;
 font-weight: 500;
}
.env_word .name_en {
 font-size: 3.51cqw;
 font-family: var(--ff-urb);
 font-weight: 700;
 white-space: nowrap;
}

@media screen and (max-width: 600px) {
 .t-environment {
  padding-block: 120px;
 }
 .env_wrap {
  flex-flow: column;
  align-items: flex-start;
  gap: 20px;
 }
 .env_wrap .item {
  flex: unset;
  width: 100%;
 }
 .env_word {
  gap: 20px;
 }
 .env_word .env {
  gap: 6px;
 }
 .env_word .name_jp {
  font-size: clamp(1.15rem, 3.46vw, 1.3rem);
 }
 .env_word .name_en {
  font-size: clamp(2rem, 6.4vw, 2.4rem);
 }
}

/* t-jd
---------------------------------------------------------------------------------*/
.t-jd {
 width: 100%;
 padding-block: 200px;
 background-color: var(--color-red);
}
.t-jd .heading_en,
.t-jd .heading_en span:first-letter,
.t-jd .heading_jp {
 color: var(--color-wht);
}

@media screen and (max-width: 600px) {
 .t-jd {
  padding-block: 100px;
 }
}

/* t-faq
---------------------------------------------------------------------------------*/
.t-faq {
 width: 100%;
 padding-block: 200px;
 background-color: var(--color-gy3);
}
.t-faq .p-section_narrow {
 max-width: 800px;
}
.t-faq .faq_block {
 display: flex;
 flex-flow: column;
 gap: 30px;
}
.toggleBox {
 display: block;
 width: 100%;
 background-color: var(--color-wht);
 border-radius: 40px;
 position: relative;
 transition: all 0.3s linear;
 z-index: 2;
}
.toggleBox_dt {
 display: block;
 width: 100%;
 padding: 1.3em 90px 1.3em 80px;
 font-size: 1.8rem;
 font-weight: 600;
 border-radius: 3em;
 position: relative;
 cursor: pointer;
 transition: all 0.3s linear;
}
.toggleBox_dt .qes {
 line-height: 1.8;
}
.toggleBox_dt::before {
 content: "Q";
 color: var(--color-red);
 font-size: 3.2rem;
 font-family: var(--ff-urb);
 font-weight: 700;
 position: absolute;
 left: 30px;
 top: 24px;
}
.toggleBox_dt .bt {
 display: block;
 position: absolute;
 top: 50%;
 right: 15px;
 width: 50px;
 height: 50px;
 margin-top: -25px;
 background: var(--color-btn);
 border-radius: 100%;
 transition: all 0.2s linear;
}
.toggleBox_dt .bt::before,
.toggleBox_dt .bt::after {
 content: "";
 display: block;
 position: absolute;
 top: calc(50% - 1px);
 left: calc(50% - 9px);
 width: 18px;
 height: 2px;
 background: var(--color-wht);
 transition: all 0.15s linear;
}
.toggleBox_dt .bt::after {
 transform: rotate(90deg);
}
.toggleBox_dd {
 display: block;
}
.toggleBox_dd .ans {
 position: relative;
 padding: 20px 90px 60px 80px;
}
.toggleBox_dd .ans::before {
 content: "A";
 color: var(--color-base);
 font-size: 3.2rem;
 font-family: var(--ff-urb);
 font-weight: 700;
 line-height: 1;
 position: absolute;
 left: 30px;
 top: 20px;
}
.toggleBox_dd .ans p {
 font-size: 1.5rem;
 line-height: 1.9;
}
.toggleBox.-open {
 box-shadow: 0px 0px 30px rgba(208, 16, 39, 0.4);
}
.toggleBox_dt.-open .bt::before {
 background-color: var(--color-base);
}
.toggleBox_dt.-open .bt::after {
 opacity: 0;
}
.toggleBox_dt.-open .bt {
 background-color: var(--color-gy2);
}

@media screen and (min-width: 821px) {
 .toggleBox_dt:hover .bt,
 .toggleBox_dt:hover .bt {
  -webkit-transform: scale(1.2, 1.2);
  transform: scale(1.2, 1.2);
 }
}

@media screen and (max-width: 600px) {
 .t-faq {
  width: 100%;
  padding-block: 100px;
 }
 .t-faq .p-section_narrow {
  max-width: unset;
 }
 .t-faq .faq_block {
  gap: 20px;
 }
 .toggleBox {
  border-radius: 25px;
 }
 .toggleBox_dt {
  padding: 1em 45px;
  font-size: clamp(1.3rem, 4vw, 1.5rem);
 }
 .toggleBox_dt .qes {
  line-height: 1.6;
 }
 .toggleBox_dt::before {
  font-size: 2.4rem;
  left: 15px;
  top: 15px;
 }
 .toggleBox_dt .bt {
  right: 8px;
  width: 24px;
  height: 24px;
  margin-top: -12px;
 }
 .toggleBox_dt .bt::before,
 .toggleBox_dt .bt::after {
  left: calc(50% - 5px);
  width: 10px;
 }
 .toggleBox_dd .ans {
  position: relative;
  padding: 10px 20px 30px 45px;
 }
 .toggleBox_dd .ans::before {
  font-size: 2.4rem;
  left: 15px;
  top: 12px;
 }
 .toggleBox_dd .ans p {
  font-size: clamp(1.25rem, 3.77vw, 1.4rem);
  line-height: 1.8;
 }
 .toggleBox.-open {
  box-shadow: 0px 0px 20px rgba(208, 16, 39, 0.4);
 }
}

/* p-about
---------------------------------------------------------------------------------*/
.p-about {
 position: relative;
}
.p-about .ponoc_mark {
 position: absolute;
 top: 100px;
 right: -100px;
 width: 460px;
 display: block;
 aspect-ratio: 1 / 1;
 background: url(../images/common/ponoc_mark.svg) no-repeat 50% 50%;
 background-size: contain;
 opacity: 0.08;
}
.about_block {
 display: flex;
 flex-flow: column;
 gap: 40px;
}
.about_block .message_meta .copy {
 font-size: 3rem;
 font-weight: 700;
 line-height: 1.8;
}
.about_block .message_meta .sub {
 font-size: 1.9rem;
 font-weight: 600;
 line-height: 1.8;
 letter-spacing: 0.04em;
 margin-top: 5px;
}
.about_block p {
 font-size: 1.6rem;
 line-height: 2;
 letter-spacing: 0.04em;
}
.about_block + .about_block {
 margin-top: 100px;
}
.about_block .block + .block {
 margin-top: 40px;
}

@media screen and (max-width: 600px) {
 .p-about .ponoc_mark {
  top: 90px;
  right: -12vw;
  width: 58.6vw;
 }
 .about_block {
  gap: 30px;
 }
 .about_block .message_meta .copy {
  font-size: min(2.4rem, 6.4vw);
  line-height: 1.6;
 }
 .about_block .message_meta .sub {
  font-size: min(1.8rem, 4.8vw);
  line-height: 1.4;
  margin-top: 10px;
 }
 .about_block p {
  font-size: min(1.4rem, 3.73vw);
  line-height: 1.9;
  letter-spacing: 0.02em;
 }
 .about_block + .about_block {
  margin-top: 80px;
 }
 .about_block .block + .block {
  margin-top: 20px;
 }
}

/* p-roles
---------------------------------------------------------------------------------*/
.interview-title {
 display: flex;
 flex-flow: column;
 align-items: center;
 gap: 20px;
 margin-bottom: 80px;
}
.interview-title strong {
 font-size: 2.4rem;
 font-weight: 700;
 line-height: 1.6;
 padding-bottom: 0.5em;
 border-bottom: 3px solid var(--color-base);
}
.interview-title span {
 line-height: 1.8;
}
.interview .ques {
 margin-top: 60px;
 display: flex;
 gap: 15px;
 width: 100%;
 font-size: 1.8rem;
 font-weight: 600;
 line-height: 1.4;
 position: relative;
}
.interview .ques::before {
 content: "Q";
 color: var(--color-red);
 font-size: 3.2rem;
 font-family: var(--ff-urb);
 font-weight: 700;
 line-height: 1.4;
 position: relative;
 top: -0.25em;
}
.interview .ans {
 margin-top: 10px;
 display: flex;
 gap: 15px;
 width: 100%;
 line-height: 1.8;
 position: relative;
}
.interview .ans::before {
 content: "A";
 color: var(--color-base);
 font-size: 3.2rem;
 font-family: var(--ff-urb);
 font-weight: 700;
 line-height: 1.4;
 position: relative;
 top: -0.25em;
}
.prof {
 margin-top: 60px;
 padding: 40px 50px;
 border-radius: 20px;
 background-color: var(--color-gy4);
}
.prof .ttl {
 font-size: 1.7rem;
 font-weight: 700;
 line-height: 1.6;
 margin-bottom: 10px;
}
.prof p {
 font-size: 1.4rem;
 line-height: 1.6;
}

/* 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 a {
 color: var(--color-btn);
 display: flex;
 align-items: center;
 justify-content: center;
 min-width: 48px;
 height: 48px;
 font-size: 1.4rem;
 padding: 0.4em 10px;
 margin-inline: 6px;
 transition: 0.3s;
 border-radius: 2em;
 border: 1px solid var(--color-btn);
 background-color: var(--color-wht);
 cursor: pointer;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
 padding-inline: 16px;
}
.wp-pagenavi .backlink {
 padding-inline: 30px;
}
.roles_list {
 display: flex;
 align-items: center;
 justify-content: center;
 flex-wrap: wrap;
 gap: 10px 8px;
 max-width: 1080px;
 margin-inline: auto;
}
.roles_list li a {
 color: var(--color-btn);
 display: flex;
 align-items: center;
 justify-content: center;
 min-width: 48px;
 height: 40px;
 font-size: 1.3rem;
 padding: 0.4em 16px;
 transition: 0.3s;
 border-radius: 2em;
 border: 1px solid var(--color-btn);
 background-color: var(--color-wht);
 cursor: pointer;
}
.roles_list li.all a {
 background-color: var(--color-gy3);
}
.roles_list li.current a {
 color: var(--color-red);
 border-color: var(--color-red);
 pointer-events: none;
}

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

@media screen and (max-width: 600px) {
 .interview-title {
  gap: 15px;
  margin-bottom: 60px;
 }
 .interview-title strong {
  font-size: clamp(1.6rem, 4.8vw, 1.75rem);
  padding-bottom: 0.4em;
  text-align: center;
 }
 .interview-title span {
  font-size: clamp(1.25rem, 3.77vw, 1.4rem);
 }
 .interview .ques {
  margin-top: 50px;
  gap: 10px;
  font-size: clamp(1.4rem, 4vw, 1.5rem);
  line-height: 1.8;
 }
 .interview .ques::before {
  font-size: clamp(2.4rem, 7.46vw, 2.8rem);
  top: -0.25em;
 }
 .interview .ans {
  font-size: clamp(1.25rem, 3.77vw, 1.4rem);
  margin-top: 5px;
  gap: 10px;
 }
 .interview .ans::before {
  font-size: clamp(2.4rem, 7.46vw, 2.8rem);
  top: -0.15em;
 }
 .prof {
  margin-top: 40px;
  padding: 25px 5.33vw;
  border-radius: 10px;
 }
 .prof .ttl {
  font-size: clamp(1.4rem, 4vw, 1.5rem);
 }
 .prof p {
  font-size: clamp(1.2rem, 3.46vw, 1.3rem);
  line-height: 1.6;
 }
 #page-navi {
  margin-block: 60px 0;
 }
 .wp-pagenavi a {
  min-width: 36px;
  height: 36px;
  font-size: 1.2rem;
  margin-inline: 3px;
 }
 .roles_list {
  justify-content: flex-start;
  gap: 10px 6px;
  max-width: unset;
 }
 .roles_list li a {
  height: 36px;
  font-size: 1.2rem;
  padding: 0.3em 16px;
 }
}

/* voice */
.ml_wrap {
 display: flex;
 padding-bottom: 50px;
 margin-bottom: 140px;
 border-bottom: 1px solid var(--color-wht);
}
.ml_wrap .member {
 width: 25%;
 display: flex;
 flex-flow: column;
 align-items: center;
 gap: 15px;
}
.member .photo {
 position: relative;
 max-width: 140px;
 aspect-ratio: 1 / 1;
}
.member .photo img {
 border-radius: 100%;
 border: 6px solid #daf2b7;
}
.member.m02 .photo img {
 border-color: #cedef4;
}
.member.m03 .photo img {
 border-color: #fcdeea;
}
.member.m04 .photo img {
 border-color: #bcf1f3;
}
.member .ml_name {
 color: var(--color-base);
 font-size: 1.9rem;
 font-weight: 700;
 line-height: 1.3;
 text-align: center;
}
.member .ml_desc {
 font-size: 1.25rem;
 line-height: 1.6;
 margin-top: 5px;
}
.talk_wrap {
 padding-block: 100px 100px;
 padding-inline: 80px;
 position: relative;
 border-radius: 20px;
 background-color: var(--color-gy1);
}
.talk_title_wrap {
 display: flex;
 justify-content: center;
}
* + .talk_title_wrap {
 margin-top: 80px;
}
.talk_title {
 display: flex;
 justify-content: center;
 gap: 15px;
 color: var(--color-wht);
 font-size: 1.8rem;
 font-weight: 600;
 line-height: 1.4;
 position: relative;
 margin-bottom: 10px;
 padding: 1em 2em;
 border-radius: 2em;
 background-color: #81858e;
}
.talk_title .q {
 color: var(--color-wht);
 font-size: 3.2rem;
 font-family: var(--ff-urb);
 font-weight: 700;
 line-height: 0.8;
 position: relative;
}
.talk {
 display: flex;
 align-items: flex-start;
 position: relative;
 margin-top: 20px;
}
.talk_thumb {
 position: absolute;
 top: 0;
 left: 0;
 display: flex;
 flex-flow: column;
 align-items: center;
 width: 80px;
 text-align: center;
}
.talk_r .talk_thumb {
 left: inherit;
 right: 0;
}
.talk_thumb figure {
 width: 80px;
 aspect-ratio: 1 / 1;
 display: flex;
 justify-content: center;
 align-items: center;
 font-size: 2rem;
 font-family: var(--ff-urb);
 font-weight: 700;
 background-color: var(--color-gy1);
 border-radius: 100%;
 overflow: hidden;
 border: 4px solid #daf2b7;
}
.talk_thumb.m02 figure {
 border-color: #cedef4;
}
.talk_thumb.m03 figure {
 border-color: #fcdeea;
}
.talk_thumb.m04 figure {
 border-color: #bcf1f3;
}
.talk_thumb .name {
 width: 80px;
 aspect-ratio: 1 / 1;
 display: flex;
 justify-content: center;
 align-items: center;
 font-size: 2rem;
 font-family: var(--ff-urb);
 font-weight: 700;
 border-radius: 100%;
 background-color: #daf2b7;
}
.talk_thumb.m02 .name {
 background-color: #cedef4;
}
.talk_thumb.m03 .name {
 background-color: #fcdeea;
}
.talk_thumb.m04 .name {
 background-color: #bcf1f3;
}
.talk_thumb .job {
 margin-top: 5px;
 text-align: center;
}
.talk_thumb .job small {
 font-size: 1.3rem;
 font-weight: 500;
}
.talk_thumb .desc {
 font-size: 1.3rem;
 line-height: 1.3;
 margin-top: 5px;
 margin-inline: -5px;
}
.talk_txt {
 position: relative;
 display: block;
 width: 100%;
 margin: 0 120px;
 padding: 20px 30px;
 color: var(--color-base);
 font-size: 1.6rem;
 line-height: 1.9;
 background: #fff;
 border-radius: 20px;
}
.talk_txt:before {
 content: "";
 position: absolute;
 top: 27px;
 left: -30px;
 width: 32px;
 height: 27px;
 display: block;
 background: url(../images/common/svg_talk_l.svg) no-repeat 0 0;
 background-size: 100%;
}
.talk_r .talk_txt:before {
 left: unset;
 right: -30px;
 background: url(../images/common/svg_talk_r.svg) no-repeat 0 0;
 background-size: 100%;
}
.talk_txt em {
 font-weight: 400;
 letter-spacing: -0.04em;
 margin-inline: 0.5em;
 position: relative;
 top: -1px;
}

@media screen and (max-width: 820px) {
 .talk_wrap {
  padding-block: 60px 100px;
  padding-inline: 20px;
 }
 .talk_title {
  font-size: 1.7rem;
 }
}

@media screen and (max-width: 600px) {
 .ml_wrap {
  flex-flow: row wrap;
  gap: 5vw 4%;
  padding-bottom: 8vw;
  margin-bottom: 10vw;
 }
 .ml_wrap .member {
  width: 48%;
  gap: 1.33vw;
 }
 .member .photo {
  max-width: 130px;
 }
 .member .photo img {
  border-width: 1vw;
 }
 .member .ml_name {
  font-size: clamp(1.8rem, 5.33vw, 2rem);
 }
 .member .ml_desc {
  font-size: clamp(1.1rem, 3.33vw, 1.25rem);
  margin-top: 1vw;
 }
 .talk_wrap {
  padding-block: 40px 60px;
  padding-inline: 4vw;
  margin-inline: -4vw;
  margin-top: 50px;
 }
 * + .talk_title_wrap {
  margin-top: 60px;
 }
 .talk_title {
  gap: 10px;
  font-size: clamp(1.4rem, 4vw, 1.5rem);
  margin-bottom: 10px;
  padding: 0.8em 1em;
  border-radius: 10px;
 }
 .talk_title .q {
  font-size: 2.4rem;
  line-height: 1;
 }
 .talk {
  margin-top: 10px;
 }
 .talk_thumb {
  width: 10.66vw;
  padding-top: 3px;
 }
 .talk_thumb figure {
  width: 10.66vw;
  font-size: clamp(1.2rem, 3.46vw, 1.3rem);
  border: 0.5vw solid #daf2b7;
 }
 .talk_thumb .name {
  width: 10.66vw;
  font-size: clamp(1.2rem, 3.46vw, 1.3rem);
 }
 .talk_thumb .job {
  margin-top: 2px;
  margin-inline: -2vw;
 }
 .talk_thumb .job small {
  font-size: clamp(1rem, 2.93vw, 1.1rem);
 }
 .talk_thumb .desc {
  font-size: 1rem;
  margin-top: 5px;
  margin-inline: -2vw;
 }
 .talk_txt {
  margin-inline: 14vw 0;
  padding: 15px 16px;
  font-size: clamp(1.3rem, 3.77vw, 1.4rem);
  line-height: 1.7;
  border-radius: 10px;
 }
 .talk_txt:before {
  top: 17px;
  left: -13px;
  width: 20px;
  height: 18px;
 }
 .talk_r .talk_txt {
  margin-inline: 0 14vw;
 }
 .talk_r .talk_txt:before {
  left: unset;
  right: -13px;
 }
}

/* p-environment
---------------------------------------------------------------------------------*/
.wel_block_flex {
 display: flex;
 flex-flow: column;
 gap: 60px;
 margin-top: 80px;
}
.wel_block {
 display: flex;
 flex-flow: column;
 gap: 10px;
}
.wel_block .copy {
 font-size: 2.8rem;
 font-weight: 600;
 line-height: 1.4;
 padding-bottom: 4px;
 display: flex;
 gap: 20px;
 position: relative;
}
.wel_block .copy::before {
 content: "";
 position: relative;
 display: block;
 width: 6px;
 height: auto;
 border-radius: 2em;
 background-color: var(--color-red);
}
.wel_block p {
 line-height: 1.8;
}
.wel_list {
 margin-top: 120px;
}
.wel_list .item#wl_01,
.wel_list .item#wl_02 {
 width: calc((100% - 28px) * 0.5);
}
.dt_box {
 display: flex;
 flex-flow: column;
 align-items: center;
 gap: 20px;
 padding: 30px 15px;
 height: 100%;
 border-radius: 15px;
 background-color: #fae7ef;
}
.dt_box h4 {
 font-size: 1.8rem;
 font-weight: 600;
 line-height: 1.4;
 text-align: center;
 padding-bottom: 6px;
 border-bottom: 3px solid #000;
}
.dt_box .stage {
 flex: 1;
 display: flex;
 flex-flow: column;
 justify-content: center;
 align-items: center;
}
.dt_box .dt_img {
 width: 60%;
 margin-inline: auto;
 display: flex;
 align-items: center;
 justify-content: center;
}
.dt_box .num {
 display: flex;
 align-items: center;
 gap: 0.2em;
 font-size: 1.6rem;
 font-weight: 500;
}
.dt_box .num strong {
 font-size: 8rem;
 font-family: var(--ff-urb);
 font-weight: 800;
}
#wl_02 .dt_box .num strong {
 font-size: 6rem;
}
.dt_box .num small {
 font-size: 1.4rem;
}
.edu_meta {
 margin-top: 80px;
 margin-bottom: 40px;
}
.edu_meta .copy {
 font-size: 4rem;
 font-weight: 800;
 line-height: 1.6;
}
.edu_meta .sub {
 font-size: 1.9rem;
 font-weight: 600;
 line-height: 1.6;
}
.edu_meta p {
 line-height: 1.8;
 margin-top: 30px;
}
.biko {
 margin-top: 40px;
 font-size: 1.4rem;
}

@media screen and (max-width: 820px) {
 .p-contents#sec02 {
  padding-block: 200px 0;
 }
 .dt_box h4 {
  font-size: 1.7rem;
 }
 .dt_box .num strong {
  font-size: 6rem;
 }
 #wl_02 .dt_box .num strong {
  font-size: 4.2rem;
 }
 .edu_meta {
  margin-top: 0;
 }
}

@media screen and (max-width: 600px) {
 .wel_block_flex {
  gap: 40px;
  margin-top: 40px;
 }
 .wel_block .copy {
  font-size: 2rem;
  gap: 12px;
 }
 .wel_block .copy::before {
  width: 4px;
 }
 .wel_list {
  margin-top: 60px;
 }
 .wel_list .flex_wrap_col3 {
  gap: 10px 3%;
 }
 .wel_list .item {
  width: calc((100% - 3%) * 0.5);
  min-height: unset;
 }
 .wel_list .item#wl_01,
 .wel_list .item#wl_02 {
  width: 100%;
 }
 .dt_box {
  gap: 20px;
  padding: 20px 4vw;
  border-radius: 10px;
 }
 .dt_box h4 {
  font-size: clamp(1.4rem, 4.26vw, 1.6rem);
  line-height: 1.3;
 }
 .dt_box .dt_img {
  width: 70%;
 }
 .dt_box .num {
  font-size: clamp(1.4rem, 4.26vw, 1.6rem);
 }
 .dt_box .num strong {
  font-size: clamp(5rem, 16vw, 6rem);
 }
 #wl_02 .dt_box .num strong {
  font-size: clamp(3rem, 10.66vw, 4rem);
 }
 #wl_05 .dt_box .num {
  font-size: clamp(1.2rem, 3.77vw, 1.4rem);
 }
 #wl_05 .dt_box .num strong {
  font-size: clamp(3rem, 10.66vw, 4rem);
 }
 .dt_box .num small {
  font-size: clamp(1.1rem, 3.2vw, 1.2rem);
 }
 .p-contents#sec02 {
  padding-block: 120px 0;
 }
 .edu_meta {
  margin-top: 0;
  margin-bottom: 30px;
 }
 .edu_meta .copy {
  font-size: clamp(2rem, 6.933vw, 2.6rem);
  line-height: 1;
 }
 .edu_meta .sub {
  font-size: clamp(1.4rem, 4vw, 1.5rem);
  margin-top: 5px;
 }
 .edu_meta p {
  margin-top: 20px;
 }
 .biko {
  margin-top: 30px;
  font-size: clamp(1.1rem, 3.2vw, 1.2rem);
 }
}

/* jobdescriptions
---------------------------------------------------------------------------------*/
.permanent {
 margin-top: 4.62cqw;
}
.entry_btn {
 display: flex;
 justify-content: center;
}
.entry_end {
 display: flex;
 justify-content: center;
 align-items: center;
 color: var(--color-red);
 font-size: 1.6rem;
 font-weight: 500;
 letter-spacing: 0.08em;
 min-width: 310px;
 height: 80px;
 padding-inline: 30px;
 border-radius: 40px;
 border: 1px solid var(--color-red);
}
.entry_coming {
 display: flex;
 justify-content: center;
 align-items: center;
 color: var(--color-red);
 font-size: 1.6rem;
 font-weight: 500;
 padding-block: 1em;
 padding-inline: 30px;
 border-radius: 6px;
 border: 1px solid var(--color-red);
}
.td_block + .td_block {
 margin-top: 2em;
}
.td_block .dot {
 padding: 0.25em 0 0 1em;
 line-height: 1.6;
}

@media screen and (max-width: 600px) {
 .permanent {
  margin-top: 20px;
 }
 .entry_end {
  font-size: 1.4rem;
  padding-inline: 20px;
  min-width: 230px;
  height: 60px;
 }
 .entry_coming {
  font-size: 1.4rem;
  padding-block: 0.8em;
  padding-inline: 4.2vw;
 }
}

/* entry
---------------------------------------------------------------------------------*/
.form-body {
 display: flex;
 flex-flow: row wrap;
 border-bottom: 1px solid #ccc;
}
#form .form-body > dt {
 width: 270px;
 position: relative;
 padding: 20px 15px;
 font-weight: 600;
 line-height: 1.8;
 border-top: 1px solid #ccc;
 background: var(--color-gy4);
}
#form .form-body > dt.required:after {
 font-size: 10px;
 line-height: 1;
 color: #fff;
 background: var(--color-red);
 content: "必須";
 display: block;
 padding: 4px;
 position: absolute;
 top: 25px;
 right: 20px;
 word-break: break-all;
}
#form .form-body > dd {
 width: calc(100% - 270px);
 padding: 20px 0 24px 30px;
 font-weight: normal;
 border-top: 1px solid #ccc;
 line-height: 1.8;
}
#form .form-body > dd .-size01 {
 width: 80px;
 text-align: right;
}
#form .form-body > dd span.-txt {
 display: inline-block;
 margin-inline: 0.5em;
}
#form .form-body .form_space {
 width: 100%;
 height: 60px;
 font-weight: normal;
 border-top: 1px solid #ccc;
}
.form_mds {
 width: 100%;
}
* + .form_mds {
 padding-block: 60px 0;
 border-top: 1px solid #ccc;
}
.form_mds .mds {
 display: block;
 font-size: 2.4rem;
 font-weight: 600;
 margin-bottom: 30px;
}
.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 0.5em;
 background: var(--color-wht);
 border: 1px solid var(--color-gy1);
 position: relative;
 border-radius: 4px;
}
.form-body input[type="date"] {
 width: unset;
 min-width: 150px;
}
.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);
}
span.wpcf7-list-item {
 display: inline-block;
 margin: 0 0 0 1em;
}
span.wpcf7-list-item-label {
 margin-inline: 0.4em;
}
.form-body textarea {
 height: 220px;
 width: 100%;
 font-size: 1.6rem;
 padding: 0.5em;
 background: var(--color-wht);
 border: 1px solid var(--color-gy1);
 border-radius: 4px;
}
.form-body input::placeholder,
.form-body textarea::placeholder {
 color: #bbb;
}
.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;
 line-height: 1.6;
}
.other__contents {
 padding: 30px 40px 10px;
 border: 1px solid var(--color-gy2);
 width: auto;
 height: 200px;
 overflow-y: auto;
 margin: 30px 0 0;
 font-size: 1.4rem;
 line-height: 1.6;
}
.other__contents h4 {
 margin: 0 0 1.5em;
 font-size: 110%;
 font-weight: 700;
 text-align: center;
}
.other__contents p {
 margin: 0 0 1em;
}
.other__contents dl dd {
 margin: 0 0 0 2em;
 padding: 0 0 2em;
}
.other__contents ul.num {
 margin: 0.5em 0 0 1.5em;
}
.other__contents ul.num li {
 list-style: none;
 text-indent: -1.5em;
 margin: 0;
 padding: 0;
}
.other__contents ul.num li:before {
 display: none;
}
#form .confirm {
 margin-top: 80px;
 text-align: center;
}
.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 {
 position: relative;
 padding-left: 35px;
 cursor: pointer;
}
.mwform-checkbox-field-text::before {
 content: "";
 position: absolute;
 top: 50%;
 left: 0;
 transform: translateY(-50%);
 width: 24px;
 height: 24px;
 border-radius: 4px;
 background: var(--color-wht);
 border: 1px solid var(--color-btn);
}
.mwform-checkbox-field-text::after {
 content: "";
 position: absolute;
 top: 50%;
 left: 6px;
 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-red);
 border: 1px solid var(--color-red);
}
:checked + .mwform-checkbox-field-text::after {
 opacity: 1;
}
#form .send {
 margin-top: 35px;
}
#form .last-msg {
 color: var(--color-red);
 line-height: 1.6;
 margin-bottom: 1em;
}
.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-red);
 color: #fff;
 font-size: 1.6rem;
 font-weight: bold;
 letter-spacing: 0.08em;
 text-align: center;
 border-radius: 36px;
 transition: 120ms linear;
}
.p-form_button input:disabled {
 pointer-events: none;
 background: #999;
 border: 1px solid #999;
}
#form .form-finish {
 display: none;
}
#form .form-finish .msg {
 color: var(--color-red);
 font-size: 2.4rem;
 font-weight: 700;
 margin: 30px 0 60px;
 padding-bottom: 0;
 border-bottom: 0;
 text-align: center;
}
#form .form-finish p {
 line-height: 1.8;
}
#form .form-finish .person {
 padding: 30px 40px;
 margin-block: 60px;
 border-radius: 20px;
 background-color: var(--color-gy4);
 border: 1px dotted var(--color-gy2);
}
#form .form-finish .person p {
 font-size: 1.5rem;
}
#form .form-finish .entry_btn p {
 height: 100%;
}
.wpcf7-response-output {
 color: var(--color-wht);
 line-height: 1.6;
 background: var(--color-red);
 text-align: center;
 margin-block: 0 60px !important;
 padding: 20px !important;
 border-style: none;
}
.wpcf7-response-output.wpcf7-validation-errors {
 background: var(--color-red);
}
.wpcf7 .wpcf7-response-output.wpcf7-validation-errors {
 background: var(--color-red);
}
.wpcf7 form.sent .wpcf7-response-output {
 color: var(--color-red);
 background-color: var(--color-wht);
 border-color: var(--color-red);
}
.wpcf7 form.spam .wpcf7-response-output {
 background-color: #f56e28;
 border-color: #f56e28;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
 border-color: var(--color-red);
}
.wpcf7-not-valid-tip {
 color: var(--color-red);
 font-size: 1.5rem;
 display: block;
 margin-top: 10px;
}
/* sent */
#form .wpcf7-form.sent .form-input {
 display: none;
}
#form .wpcf7-form.sent .form-finish {
 display: block;
}
#form .wpcf7-mail-sent-ok {
 display: none !important;
}

@media screen and (min-width: 821px) {
 .p-form_button input:hover {
  background-color: var(--color-btn);
  box-shadow: 0px 0px 20px rgba(208, 16, 39, 0.5);
 }
}

@media screen and (max-width: 820px) {
 .other__contents {
  font-size: 1.3rem;
 }
 #form .form-finish .person p {
  font-size: 1.3rem;
 }
}

@media screen and (max-width: 600px) {
 .form-body {
  margin-top: 30px;
  margin-inline: -4vw;
 }
 #form .form-body > dt {
  width: 100%;
  padding: 8px 5.33vw;
 }
 #form .form-body > dt.required:after {
  top: 10px;
  right: 5.33vw;
 }
 #form .form-body > dd {
  width: 100%;
  padding: 15px 5.33vw;
  border-top: none;
 }
 #form .form-body > dd .-size01 {
  width: 70px;
 }
 #form .form-body > dd span.-txt {
  font-size: 1.3rem;
 }
 #form .form-body .form_space {
  height: 60px;
 }
 .form_mds {
  width: 100%;
  padding-top: 30px;
  padding-inline: 5.33vw;
 }
 * + .form_mds {
  padding-block: 60px 0;
 }
 .form_mds .mds {
  font-size: 1.8rem;
  margin-bottom: 20px;
 }
 #form .privecy {
  margin-top: 30px;
 }
 .other__contents {
  padding: 20px 5vw 10px;
  margin: 20px 0 0;
  font-size: 1.3rem;
  line-height: 1.6;
 }
 #form .form-finish .msg {
  font-size: 1.8rem;
  margin: 30px 0 30px;
 }
 #form .form-finish p {
  line-height: 1.8;
 }
 #form .form-finish .person {
  padding: 20px 5.33vw;
  margin-block: 40px;
  border-radius: 10px;
 }
 #form .form-finish .person p {
  font-size: 1.4rem;
 }
 .wpcf7-response-output {
  padding: 10px 20px;
 }
 .wpcf7-not-valid-tip {
  font-size: 1.4rem;
 }
}

@media screen and (max-width: 350px) {
 #form .form-body > dd .-size01 {
  width: 65px;
 }
}

/* other
---------------------------------------------------------------------------------*/
.p-other {
 position: relative;
}
.p-other .ponoc_mark {
 position: absolute;
 top: -120px;
 right: -100px;
 width: 460px;
 display: block;
 aspect-ratio: 1 / 1;
 background: url(../images/common/ponoc_mark.svg) no-repeat 50% 50%;
 background-size: contain;
 opacity: 0.08;
}
.notfound_txt strong {
 font-size: 2.7rem;
 font-weight: 700;
 line-height: 1.6;
}
.notfound_txt .en {
 font-size: 1.9rem;
 font-weight: 600;
 margin-block: 15px 40px;
}
.notfound_btn {
 margin-top: 60px;
 text-align: center;
}

@media screen and (max-width: 820px) {
 .p-other {
  padding-bottom: 200px;
 }
}

@media screen and (max-width: 600px) {
 .p-other {
  padding-bottom: 100px;
 }
 .p-other .ponoc_mark {
  top: 90px;
  right: -12vw;
  width: 58.6vw;
 }
 .notfound_txt strong {
  font-size: min(2rem, 5.33vw);
 }
 .notfound_txt .en {
  font-size: min(1.5rem, 4vw);
  line-height: 1.4;
  margin-top: 10px;
  margin-block: 10px 30px;
 }
 .notfound_btn {
  margin-top: 40px;
 }
}

/* animation
---------------------------------------------------------------------------------*/
/* p-show-img */
.p-show-img {
 opacity: 0;
}
.p-show-img.is-show {
 animation: thumb_pop 0.6s cubic-bezier(0.08, 0.8, 0.315, 1) 0.3s both;
}

/* p-clip */
.p-clip {
 -webkit-clip-path: inset(0 100% 0 0);
 clip-path: inset(0 100% 0 0);
 transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s;
}
.p-clip.is-show {
 -webkit-clip-path: inset(0 0 0 0);
 clip-path: inset(0 0 0 0);
}
@keyframes thumb_pop {
 0% {
  opacity: 0;
  transform: scale(0.8);
 }
 100% {
  opacity: 1;
  transform: scale(1);
 }
}
@-webkit-keyframes moveArrow {
 50% {
  transform: translateX(3px);
 }
 100% {
  transform: translateX(0);
 }
}
@keyframes moveArrow {
 50% {
  transform: translateX(3px);
 }
 100% {
  transform: translateX(0);
 }
}
@-webkit-keyframes moveArrowReverse {
 50% {
  transform: translateX(-3px) rotate(180deg);
 }
 100% {
  transform: translateX(0) rotate(180deg);
 }
}
@keyframes moveArrowReverse {
 50% {
  transform: translateX(-3px) rotate(180deg);
 }
 100% {
  transform: translateX(0) rotate(180deg);
 }
}
@keyframes moveArrowReverseCenter {
 50% {
  transform: translate(-3px, -50%) rotate(180deg);
 }
 100% {
  transform: translate(0, -50%) rotate(180deg);
 }
}
@keyframes ani_pop {
 0% {
  opacity: 0;
  transform: scale(0.2, 0.2);
 }
 60% {
  opacity: 1;
  transform: scale(1.05, 1.05);
 }
 100% {
  opacity: 1;
  transform: scale(1, 1);
 }
}
@keyframes ani_opa {
 0% {
  opacity: 0;
 }
 100% {
  opacity: 1;
 }
}
@keyframes t_photo_swiper {
 0% {
  transform: translateX(0);
 }
 100% {
  transform: translateX(calc(-100% - 16px));
 }
}
@keyframes t_photo_swiper_en {
 0% {
  transform: translateX(0);
 }
 100% {
  transform: translateX(calc(100% + 16px));
 }
}

@media screen and (max-width: 600px) {
 @keyframes t_photo_swiper {
  0% {
   transform: translateX(0);
  }
  100% {
   transform: translateX(calc(-100% - 8px));
  }
 }
 @keyframes t_photo_swiper_en {
  0% {
   transform: translateX(0);
  }
  100% {
   transform: translateX(calc(100% + 8px));
  }
 }
}

/* p-show-item */
.talk.p-show-item .talk_thumb {
 opacity: 0;
}
.talk.p-show-item.is-show .talk_thumb {
 animation: ani_opa 0.3s ease-in-out 0.5s both;
}
.talk.p-show-item.is-show .talk_txt {
 animation: ani_pop 0.7s cubic-bezier(0.86, 0, 0.07, 1) 0.6s both;
}

/* p-show-item2 */
.t_photo_swiper.p-show-item2.is-show .t_slide_group {
 animation: t_photo_swiper 60s linear infinite;
}
.t-photo_en .t_photo_swiper.p-show-item2.is-show .t_slide_group {
 animation: t_photo_swiper_en 60s linear infinite;
}
