@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: 600;
}
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;
}
.clearfix {
 zoom: 1;
}
.clearfix:after {
 content: "";
 display: block;
 clear: both;
}
.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;
}
.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;
 }
 .pc {
  display: none;
 }
 .sp {
  display: block;
 }
}
@media only screen and (max-width: 600px) {
 .is_pc {
  display: none;
 }
 .is_sp {
  display: block;
 }
 .is_tb {
  display: none;
 }
}
@font-face {
 font-family: "avenir";
 font-weight: 900;
 font-style: normal;
 src: url("/_assets/fonts/Avenir.eot");
 src: url("/_assets/fonts/Avenir.eot?#iefix") format("embedded-opentype"), url("/_assets/fonts/Avenir.woff") format("woff"), url("/_assets/fonts/Avenir.ttf") format("truetype"), url("/_assets/fonts/Avenir.svg#fontset") format("svg");
}
.en {
 font-family: "avenir", Avenir, "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif !important;
 font-weight: 900;
}
.avenir {
 font-family: "avenir" !important;
 font-weight: 900;
}
:root {
 /* Colors: */
 --color-blk: #000000;
 --color-wht: #ffffff;
 --color-base: #f4f3f2;
 --color-txt: #2f3031;
 --color-nav: #332f2d;
 --color-red: #f04037;
 --color-grn: #04af7a;
 --color-grn2: #006526;
 --color-lgr: #73ce1a;
 --color-org: #ed7a48;
 --color-ylw: #f5a200;
 --color-ylw2: #cbc901;
 --color-blu: #587bde;
 --color-wbl: #74bad9;
 --color-ppl: #7a7adf;
 --color-ppl2: #aa7ccd;
 --color-pnk: #f273a9;
 --color-gld: #a79758;
 --color-gy1: #efebe4;
 --color-gy2: #e1dcd4;
 --color-gy3: #c5c3c1;
 --color-gy4: #575351;
 --ff-avn: "avenir", sans-serif;
}

/* ==========================================================================
    Global
========================================================================== */
html {
 font-size: 10px;
 font-size: 62.5%;
 overflow-y: scroll;
 height: 100%;
 line-height: 1;
 -ms-text-size-adjust: 100%;
 -webkit-text-size-adjust: 100%;
}
body {
 color: var(--color-txt);
 font-size: 1.6rem;
 font-weight: 400;
 line-height: 1;
 letter-spacing: 0;
 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;
 background-color: var(--color-base);
 overflow: hidden;
}

@media screen and (max-width: 820px) {
 body {
  min-width: unset;
 }
}

@media screen and (max-width: 600px) {
 body {
  font-size: 1.4rem;
 }
}

@media screen and (max-width: 340px) {
 body {
  font-size: 1.35rem;
 }
}

/* sns
---------------------------------------------------------------------------------*/
.sns {
 display: flex;
 align-items: center;
}
.sns .btn {
 display: block;
}
.sns .btn + .btn {
 margin-left: 36px;
}
.sns .btn a {
 display: block;
 fill: var(--color-wht);
}
.sns .btn a .icon {
 max-width: 100%;
 max-height: 100%;
}
.sns .btn.tw,
.sns .btn.tw a {
 width: 30px;
 height: 30px;
}
.sns .btn.nt,
.sns .btn.nt a {
 width: 66px;
 height: 14px;
}
.sns .btn.yt,
.sns .btn.yt a {
 width: 40px;
 height: 30px;
}

@media screen and (min-width: 821px) {
 .sns .btn a:hover {
  opacity: 0.6;
 }
}

/* header
---------------------------------------------------------------------------------*/
.l-header {
 display: flex;
 justify-content: flex-start;
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 z-index: 999;
 width: auto;
 height: 0;
 transition: all 0.4s ease-in-out;
}
body.-scroll .l-header {
 transform: translateY(-100px);
}
body.-show .l-header {
 transform: translateY(0);
}
.backlayer {
 display: block;
 position: fixed;
 top: 43px;
 right: 63px;
 width: 36px;
 height: 36px;
 border-radius: 100%;
 background-color: var(--color-nav);
 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: 120px;
 height: 72px;
}
.hdlogo a svg {
 width: 120px;
 height: 72px;
 fill: var(--color-red);
 transition: all 0.2s ease;
}
.hdmenu {
 position: absolute;
 top: 34px;
 right: 130px;
 display: flex;
 align-items: center;
 gap: 40px;
 height: 60px;
 padding-inline: 32px;
 border-radius: 2em;
 background-color: var(--color-wht);
 z-index: 3;
}
.hdmenu_list {
 display: flex;
 gap: 30px;
 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.5rem;
 font-weight: 600;
}
.hdmenu_item > a:before {
 content: " ";
 position: absolute;
 height: 3px;
 width: 0;
 left: auto;
 right: 0;
 bottom: 0;
 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_child {
 position: absolute;
 top: 70px;
 left: -15px;
 padding: 40px 32px 40px;
 min-width: 210px;
 border-radius: 20px;
 background-color: var(--color-red);
 box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
 -webkit-backdrop-filter: blur(20px);
 backdrop-filter: blur(20px);
 transform: translate3d(0, 0, 0);
 transition: all 0.4s cubic-bezier(0.52, 0.08, 0.18, 1);
 z-index: 1;
 pointer-events: none;
 opacity: 0;
}
.hdmenu_item.c_news > a:before,
.hdmenu_item.c_news .hdmenu_child {
 background-color: var(--color-red);
}
.hdmenu_item.c_business > a:before,
.hdmenu_item.c_business .hdmenu_child {
 background-color: var(--color-grn2);
}
.hdmenu_item.c_work > a:before,
.hdmenu_item.c_work .hdmenu_child {
 background-color: var(--color-blu);
}
.hdmenu_item.c_corp > a:before,
.hdmenu_item.c_corp .hdmenu_child {
 background-color: var(--color-ylw);
}
.hdmenu_item.c_press > a:before,
.hdmenu_item.c_press .hdmenu_child {
 background-color: var(--color-wbl);
}
.hdmenu_item.c_recruit > a:before,
.hdmenu_item.c_recruit .hdmenu_child {
 background-color: var(--color-pnk);
}
.hdmenu_child_list {
 display: block;
}
.hdmenu_child_item + .hdmenu_child_item {
 margin-top: 16px;
}
.hdmenu_child_item a {
 display: flex;
 align-items: center;
 position: relative;
 color: var(--color-wht);
 font-size: 1.3rem;
 font-weight: 500;
}
.hdmenu_child_item a::before {
 content: "";
 display: block;
 width: 12px;
 height: 1px;
 margin-right: 8px;
 background-color: var(--color-wht);
 opacity: 0.4;
}
.hdmenu_child_large {
 margin-top: 25px;
}
.hdmenu_child_large a {
 display: flex;
 align-items: center;
 color: var(--color-wht);
 font-size: 1.5rem;
 font-weight: 700;
 white-space: nowrap;
}
.hdmenu_loca {
 display: flex;
 align-items: center;
}
.hdmenu_loca_item {
 position: relative;
}
.hdmenu_loca_item.-on::after {
 position: absolute;
 content: "";
 background-color: var(--color-txt);
 width: 100%;
 height: 2px;
 bottom: -5px;
 left: 0;
 right: 0;
}
.hdmenu_loca_item a {
 color: #9e9e9e;
 font-size: 1.3rem;
 line-height: 1;
 font-weight: 500;
 display: block;
 letter-spacing: 0.12em;
 transition: all 0.3s ease;
}
.hdmenu_loca_item.-on a {
 color: var(--color-txt);
 pointer-events: none;
}
.hdmenu_loca_dot {
 display: block;
 width: 3px;
 height: 3px;
 border-radius: 50%;
 margin-inline: 6px;
 background-color: var(--color-txt);
}

/* hover */
@media screen and (min-width: 821px) {
 .hdmenu_item.c_news:hover > a {
  color: var(--color-red);
 }
 .hdmenu_item.c_business:hover > a {
  color: var(--color-grn2);
 }
 .hdmenu_item.c_work:hover > a {
  color: var(--color-blu);
 }
 .hdmenu_item.c_corp:hover > a {
  color: var(--color-ylw);
 }
 .hdmenu_item.c_press:hover > a {
  color: var(--color-wbl);
 }
 .hdmenu_item.c_recruit:hover > a {
  color: var(--color-pnk);
 }
 .hdmenu_item:hover > a:before {
  width: 100%;
  right: auto;
  left: 0;
 }
 .hdmenu_item:hover > .hdmenu_child {
  opacity: 1;
  pointer-events: initial;
  transform: translate3d(0, -10px, 0);
  transition: all 0.4s cubic-bezier(0.52, 0.08, 0.18, 1);
 }
 .hdmenu_child_item a:hover,
 .hdmenu_child_large a:hover {
  color: var(--color-txt);
 }
 .hdmenu_child_item a:hover::before {
  background-color: var(--color-txt);
 }
 .hdmenu_loca_item > a:hover {
  color: var(--color-txt);
 }
 .hdmenu_item.c_business .hdmenu_child_item a:hover {
  color: var(--color-wht);
  opacity: 0.5;
 }
 .hdmenu_item.c_business .hdmenu_child_item a:hover::before {
  background-color: var(--color-wht);
  opacity: 0.5;
 }
}

@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;
 width: 360px;
 padding-right: 60px;
 border-right: 1px solid rgba(255, 255, 255, 0.2);
}
.hdnav-sub .csite {
 display: block;
}
.hdnav-sub address {
 color: rgba(255, 255, 255, 0.8);
 font-size: 1.3rem;
 letter-spacing: 0.02em;
 line-height: 1.6;
 margin-top: 25px;
}
.hdnav-sub_under {
 display: flex;
 flex-flow: column;
 margin-top: 40px;
}
.hdnav_loca {
 display: flex;
 align-items: center;
}
.hdnav_loca_item {
 position: relative;
}
.hdnav_loca_item.-on::after {
 position: absolute;
 content: "";
 background-color: var(--color-wht);
 width: 100%;
 height: 2px;
 bottom: -5px;
 left: 0;
 right: 0;
}
.hdnav_loca_item a {
 color: #9e9e9e;
 font-size: 1.3rem;
 line-height: 1;
 font-weight: 500;
 display: block;
 letter-spacing: 0.12em;
 transition: all 0.3s ease;
}
.hdnav_loca_item.-on a {
 color: var(--color-wht);
 pointer-events: none;
}
.hdnav_loca_dot {
 display: block;
 width: 3px;
 height: 3px;
 border-radius: 50%;
 margin-inline: 10px;
 background-color: var(--color-wht);
}
.hdnav-sub_under .sns {
 margin-top: 50px;
}
.hdnav-main {
 flex: 1;
 position: relative;
 display: flex;
 justify-content: space-between;
 gap: 20px;
}
.hdnav_list {
 display: flex;
 flex-flow: column;
 width: 70%;
}
.hdnav_list:not(:last-child) {
 width: 100%;
}
.hdnav_list::before {
 display: none;
 content: "";
 position: fixed;
 top: 0;
 left: 0;
 z-index: -1;
 width: 100vw;
 height: 88px;
 background: var(--color-wht);
 opacity: 0;
 transition: opacity 120ms ease-in-out 100ms;
}
.hdnav_item {
 font-size: 1.7rem;
 font-weight: 600;
 letter-spacing: 0.06em;
 position: relative;
 margin-bottom: 50px;
}
.hdnav_list .hdnav_item:last-child {
 margin-bottom: 0;
}
.hdnav_item > a {
 color: var(--color-wht);
 display: inline-flex;
 align-items: center;
 position: relative;
 transition: color 120ms linear;
}
.hdnav_item > a em {
 position: relative;
 display: inline-block;
 white-space: nowrap;
}
.hdnav_item > a em:before {
 content: "";
 position: absolute;
 bottom: -10px;
 right: 0;
 width: 0;
 height: 2px;
 background: var(--color-wht);
 transition: width 200ms ease-in-out;
}
.hdnav_icon {
 display: none;
}
.hdnav_nest {
 display: flex;
 transition: 120ms ease-in-out 100ms;
 margin-top: 0.2em;
}
.hdnav_nest_list {
 display: flex;
 flex-wrap: wrap;
 margin-top: 10px;
 width: 100%;
}
.hdnav_nest_item {
 width: 100%;
}
.hdnav_nest_item a {
 color: rgba(255, 255, 255, 0.8);
 display: flex;
 align-items: center;
 position: relative;
 font-size: 1.4rem;
 font-weight: 400;
 line-height: 2.2;
 letter-spacing: 0.04em;
 transition: color 120ms linear;
}
.hdnav_nest_item a:before {
 content: "";
 display: block;
 width: 12px;
 height: 1px;
 margin-right: 8px;
 background-color: var(--color-wht);
 opacity: 0.4;
}

.hdbtn {
 display: flex;
 align-items: center;
 justify-content: space-between;
 position: fixed;
 top: 25px;
 right: 45px;
 width: 72px;
 height: 72px;
 border-radius: 100%;
 background-color: var(--color-red);
 transition: all 0.2s ease;
 z-index: 20;
}
.hdbtn_icon {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 72px;
 height: 72px;
 position: relative;
}
.hdbtn_icon span {
 position: absolute;
 top: 50%;
 left: calc(50% - 12px);
 width: 24px;
 height: 2px;
 background: #fff;
 transition: 120ms ease-in-out;
}
.hdbtn_icon span:nth-child(1) {
 transform: translateY(-4px);
}
.hdbtn_icon span:nth-child(2) {
 transform: translateY(4px);
}

/* -scroll */
.l-header.-scroll .hdlogo {
 top: 15px;
 left: 20px;
}
.l-header.-scroll .hdlogo a,
.l-header.-scroll .hdlogo a svg {
 width: 100px;
 height: 58px;
}
.l-header.-scroll .backlayer {
 top: 28px;
 right: 38px;
}
.l-header.-scroll .hdbtn {
 top: 10px;
 right: 20px;
}

/* -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: translateY(0) rotate(45deg);
}
.hdbtn.-open .hdbtn_icon span:nth-child(2) {
 transform: translateY(0) rotate(-45deg);
}
.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_nest_item a:hover em {
  opacity: 0.6;
 }
 .hdnav_nest_item_s 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: 820px) {
 .backlayer {
  top: 16px;
  right: 14px;
 }
 .hdlogo {
  top: 10px;
  left: 12px;
 }
 .hdnav-wrap {
  flex-flow: column-reverse;
  gap: 0;
  padding: 0 60px;
  width: 100%;
  max-width: unset;
 }
 .hdnav-sub {
  flex-flow: column-reverse;
  width: 100%;
  padding-right: 0;
  border-right: none;
 }
 .hdnav-sub_over {
  margin-top: 40px;
 }
 .hdnav-sub .csite {
  width: 240px;
 }
 .hdnav-sub address {
  margin-top: 10px;
  line-height: 2;
 }
 .hdnav-sub_under {
  flex-flow: row-reverse;
  justify-content: space-between;
  margin-top: 40px;
 }
 .hdnav-sub_under .sns {
  margin-top: 0;
 }
 .hdbtn {
  top: 10px;
  right: 12px;
  width: 60px;
  height: 60px;
 }
 .hdbtn_icon {
  width: 60px;
  height: 60px;
 }
 .hdbtn_icon span {
  left: calc(50% - 10px);
  width: 20px;
  height: 2px;
 }

 /* -scroll */
 .l-header.-scroll .hdlogo {
  top: 10px;
  left: 12px;
 }
 .l-header.-scroll .hdlogo a,
 .l-header.-scroll .hdlogo a svg {
  width: 120px;
  height: 72px;
 }
 .l-header.-scroll .backlayer {
  top: 16px;
  right: 14px;
 }
 .l-header.-scroll .hdbtn {
  top: 10px;
  right: 12px;
 }
}

@media screen and (max-width: 600px) {
 .backlayer {
  top: 16px;
  right: 14px;
 }
 .hdlogo {
  top: 10px;
  left: 12px;
 }
 .hdlogo a {
  width: 83px;
  height: 50px;
 }
 .hdlogo a svg {
  width: 83px;
  height: 50px;
 }
 .hdnav-scroller {
  padding-top: 100px;
  padding-bottom: 120px;
 }
 .hdnav-wrap {
  padding: 0 5.33%;
 }
 .hdnav-sub_under {
  margin-top: 60px;
 }
 .hdnav-sub_under .sns .btn + .btn {
  margin-left: 24px;
 }
 .hdnav_item > a {
  font-size: 1.6rem;
  width: 100%;
  padding-block: 16px;
 }
 .hdnav_nest_list {
  padding-bottom: 10px;
 }
 .hdnav_nest_item a {
  font-size: 1.3rem;
 }
 .hdbtn {
  top: 8px;
  right: 6px;
  width: 52px;
  height: 52px;
 }
 .hdbtn_icon {
  width: 52px;
  height: 52px;
 }
 .hdbtn_icon span {
  left: calc(50% - 10px);
  width: 20px;
  height: 2px;
 }
 /* -scroll */
 .l-header.-scroll .hdlogo {
  top: 10px;
  left: 12px;
 }
 .l-header.-scroll .hdlogo a,
 .l-header.-scroll .hdlogo a svg {
  width: 83px;
  height: 50px;
 }
 .l-header.-scroll .backlayer {
  top: 16px;
  right: 14px;
 }
 .l-header.-scroll .hdbtn {
  top: 8px;
  right: 6px;
 }
}

@media screen and (max-width: 340px) {
 .backlayer {
  top: 10px;
  right: 8px;
  width: 40px;
  height: 40px;
 }
 .hdlogo {
  top: 8px;
  left: 8px;
 }
 .hdlogo a,
 .hdlogo a svg {
  width: 70px;
  height: 42px;
 }
 .hdbtn {
  width: 44px;
  height: 44px;
 }
 .hdbtn_icon span {
  left: calc(50% - 10px);
  width: 20px;
 }
 .hdnav-sub_item.entry {
  width: 38%;
 }
 .hdnav-sub_item.entry a {
  font-size: 1.3rem;
 }
 .hdnav-sub_item.unexperienced {
  width: 59%;
 }
 .hdnav-sub_item.unexperienced a {
  font-size: 1.1rem;
 }
 .hdnav-sub_item.saitama a {
  font-size: 1.1rem;
  width: 100%;
  height: 30px;
  border-radius: 15px;
  padding: 0.5em 1.5em;
 }
 .hdnav_item > a {
  font-size: 1.5rem;
 }
 /* -scroll */
 .l-header.-scroll .hdlogo {
  top: 8px;
  left: 8px;
 }
 .l-header.-scroll .hdlogo a,
 .l-header.-scroll .hdlogo a svg {
  width: 70px;
  height: 42px;
 }
 .l-header.-scroll .backlayer {
  top: 10px;
  right: 8px;
 }
}

@media screen and (min-width: 1001px) {
 .hdnav_item:hover > a.-no {
  color: unset;
 }
 .hdnav_item:hover > a.-no::after {
  left: unset;
  right: 0;
  width: 0;
 }
}

/* Layout
---------------------------------------------------------------------------------*/
.l-container {
 width: auto;
 max-width: 1320px;
 margin-left: auto;
 margin-right: auto;
 padding: 0 60px;
 position: relative;
}
.l-content {
 max-width: 960px;
 margin-inline: auto;
}
.l-section + .l-section {
 margin-top: 80px;
}
.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-red);
 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;
}
@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);
 }
}
.b-button {
 display: flex;
 height: 100%;
}
.b-button a,
.b-button button {
 display: flex;
 flex-flow: column;
 justify-content: space-between;
 position: relative;
 z-index: 1;
 width: 100%;
 height: 100%;
 overflow: hidden;
 padding: 20px 30px;
 color: var(--color-wht);
 background-color: var(--color-red);
 font-size: 1.9rem;
 font-weight: 500;
 line-height: 1.9;
 letter-spacing: 0.04em;
 border-radius: 20px;
 transition: all 0.2s ease;
 cursor: pointer;
}
.b-button a em {
 flex: 1;
 position: relative;
 transition: all 0.2s ease;
 z-index: 2;
}
.b-button a span {
 width: 50px;
 height: 50px;
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
 margin-left: auto;
 position: relative;
}
.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-txt);
 animation: btn-out 1s ease-out forwards;
 z-index: -1;
}
.b-button svg,
.b-button .svg {
 width: 16px;
 height: 12px;
 fill: currentColor;
 transition: all 0.4s ease;
}
.c-button {
 display: inline-block;
 min-width: 80px;
 height: 44px;
}
.c-button a {
 display: flex;
 align-items: center;
 justify-content: space-between;
 position: relative;
 z-index: 1;
 width: 100%;
 height: 100%;
 overflow: hidden;
 padding-inline: 18px 18px;
 color: var(--color-txt);
 background-color: var(--color-wht);
 font-size: 1.4rem;
 font-weight: 500;
 letter-spacing: 0.02em;
 border-radius: 2em;
 transition: all 0.2s ease;
 cursor: pointer;
}
.c-button a em {
 flex: 1;
 position: relative;
 transition: all 0.2s ease;
 z-index: 2;
}
.c-button a span {
 width: 8px;
 height: 8px;
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
 margin-left: 15px;
 background-color: transparent;
 position: relative;
}
.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-red);
 animation: btn-out 1s ease-out forwards;
 z-index: -1;
}
.d-button {
 display: inline-block;
 min-width: 80px;
 height: 30px;
}
.d-button a {
 display: flex;
 align-items: center;
 position: relative;
 z-index: 1;
 width: auto;
 height: 100%;
 color: var(--color-txt);
 font-size: 1.4rem;
 font-weight: 500;
 line-height: 1;
 letter-spacing: 0.02em;
 transition: color 120ms linear;
}
.d-button a em {
 flex: 1;
 text-align: right;
}
.d-button a span {
 width: 30px;
 height: 30px;
 margin-left: 10px;
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
 background: var(--color-txt);
}
.d-button svg {
 width: 10px;
 height: 7px;
 fill: var(--color-wht);
}
.dot {
 display: block;
 padding: 0.25em 0 0.25em 1em;
 text-indent: -1em;
}
.dot_ttl {
 display: flex;
 align-items: center;
 position: relative;
 margin-bottom: 40px;
}
.dot_ttl::before {
 content: "";
 width: 10px;
 height: 10px;
 display: block;
 border-radius: 100%;
 background-color: var(--color-red);
 margin-right: 20px;
}
.dot_ttl_s {
 display: flex;
 position: relative;
 margin-bottom: 30px;
 line-height: 1.6;
}
.dot_ttl_s::before {
 content: "";
 width: 8px;
 height: 8px;
 display: block;
 border-radius: 100%;
 background-color: var(--color-red);
 margin-right: 18px;
 margin-top: 18px;
}
.dot_ttl_s * {
 flex: 1;
}

@media screen and (min-width: 821px) {
 .a-button a:hover span::before,
 .b-button a:hover span::before {
  animation: btn-in 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,
 .b-button a:hover span .svg {
  transition: all 0.4s ease;
  transform: translateX(6px);
 }
 .a-button a:hover em,
 .b-button a:hover em {
  transition: all 0.4s ease;
  transform: translateX(-6px);
 }
 .c-button:not(.-on) a:hover span::before {
  animation: btn-in 0.2s ease-in forwards;
 }
 .c-button:not(.-on) a:hover span {
  transition: all 0.2s ease;
  background-color: var(--color-wht);
 }
 .c-button:not(.-on) a:hover em {
  transition: all 0.2s ease;
  color: var(--color-wht);
 }
 .d-button a:hover span {
  transition: all 0.2s linear;
  -webkit-transform: scale(1.2, 1.2);
  transform: scale(1.2, 1.2);
 }
}

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

@media screen and (max-width: 820px) {
 .l-container {
  width: auto;
  padding: 0 5.33%;
 }
 .dot_ttl_s::before {
  margin-right: 16px;
  margin-top: 16px;
 }
}

@media screen and (max-width: 600px) {
 .l-container {
  width: auto;
  padding: 0 4.44%;
 }
 .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: 130px;
  height: 50px;
 }
 .a-button.s-button a,
 .a-button.s-button button {
  padding-inline: 20px 9px;
  font-size: 1.2rem;
  border-radius: 25px;
 }
 .a-button.s-button a span {
  width: 32px;
  height: 32px;
  margin-left: 20px;
 }
 .a-button.s-button svg {
  width: 10px;
  height: 7.5px;
 }
 .b-button a,
 .b-button button {
  padding: 16px 4vw;
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  border-radius: 10px;
 }
 .b-button a span {
  width: 24px;
  height: 24px;
  right: -6px;
  bottom: -6px;
 }
 .b-button svg,
 .b-button .svg {
  width: 8px;
  height: 6px;
 }
 .c-button {
  min-width: 60px;
  height: 36px;
 }
 .c-button a {
  padding-inline: 10px;
  font-size: 1.2rem;
 }
 .c-button a span {
  width: 6px;
  height: 6px;
  margin-left: 10px;
 }
 .d-button a {
  font-size: 1.4rem;
 }
 .d-button a span {
  width: 24px;
  height: 24px;
  flex-basis: 24px;
  margin-left: 10px;
 }
 .d-button svg {
  width: 8px;
  height: 6px;
  fill: var(--color-wht);
 }
 .dot_ttl {
  align-items: flex-start;
  margin-bottom: 24px;
 }
 .dot_ttl::before {
  width: 8px;
  height: 8px;
  margin-top: 14px;
  margin-right: 15px;
 }
 .dot_ttl_s {
  margin-bottom: 24px;
 }
 .dot_ttl_s::before {
  margin-right: 13px;
  margin-top: 13px;
 }
}

@media screen and (max-width: 340px) {
 .l-container {
  padding: 0 4vw;
 }
 .a-button a,
 .a-button button {
  font-size: 1.3rem;
  padding-inline: 24px 10px;
 }
 .a-button a span {
  width: 36px;
  height: 36px;
  margin-left: 10px;
 }
 .a-button.s-button {
  min-width: 120px;
  height: 48px;
 }
 .a-button.s-button a,
 .a-button.s-button button {
  padding-inline: 20px 8px;
  font-size: 1.1rem;
  border-radius: 24px;
 }
 .a-button.s-button a span {
  margin-left: 12px;
 }
 .c-button {
  min-width: 60px;
  height: 32px;
 }
 .c-button a {
  padding-inline: 10px;
  font-size: 1.1rem;
 }
 .c-button a span {
  width: 6px;
  height: 6px;
  margin-left: 10px;
 }
 .d-button a {
  font-size: 1.3rem;
 }
 .dot_ttl::before {
  width: 7px;
  height: 7px;
  margin-top: 13px;
  margin-right: 13px;
 }
 .dot_ttl_s::before {
  margin-right: 12px;
  margin-top: 12px;
 }
}

/* p-contents
---------------------------------------------------------------------------------*/
.c-wht {
 color: var(--color-wht);
}
.c-red {
 color: var(--color-red);
}
.c-grn {
 color: var(--color-grn);
}
.c-lgr {
 color: var(--color-lgr);
}
.c-org {
 color: var(--color-org);
}
.c-ylw {
 color: var(--color-ylw);
}
.c-blu {
 color: var(--color-blu);
}
.c-wbl {
 color: var(--color-wbl);
}
.c-pnk {
 color: var(--color-pnk);
}
.c-ppl {
 color: var(--color-ppl);
}
.c-ppl2 {
 color: var(--color-ppl2);
}
.c-gld {
 color: var(--color-gld);
}
.c-txt {
 color: var(--color-txt);
}
.bg_wht {
 background-color: var(--color-wht) !important;
}
.bg_red {
 background-color: var(--color-red) !important;
}
.bg_grn {
 background-color: var(--color-grn) !important;
}
.bg_grn2 {
 background-color: var(--color-grn2) !important;
}
.bg_lgr {
 background-color: var(--color-lgr) !important;
}
.bg_org {
 background-color: var(--color-org) !important;
}
.bg_ylw {
 background-color: var(--color-ylw) !important;
}
.bg_ylw2 {
 background-color: var(--color-ylw2) !important;
}
.bg_blu {
 background-color: var(--color-blu) !important;
}
.bg_wbl {
 background-color: var(--color-wbl) !important;
}
.bg_pnk {
 background-color: var(--color-pnk) !important;
}
.bg_ppl {
 background-color: var(--color-ppl) !important;
}
.bg_ppl2 {
 background-color: var(--color-ppl2) !important;
}
.bg_gld {
 background-color: var(--color-gld);
 background: linear-gradient(to bottom, #c9b366 0%, #e8c607 100%) !important;
}
.bg_gld2 {
 background-color: var(--color-gld) !important;
}
.bg_txt {
 background-color: var(--color-txt) !important;
}
.bg_gy0 {
 background-color: #818283 !important;
}
.dot_wht::before {
 background-color: var(--color-wht) !important;
}
.dot_red::before {
 background-color: var(--color-red) !important;
}
.dot_grn::before {
 background-color: var(--color-grn) !important;
}
.dot_lgr::before {
 background-color: var(--color-lgr) !important;
}
.dot_org::before {
 background-color: var(--color-org) !important;
}
.dot_ylw::before {
 background-color: var(--color-ylw) !important;
}
.dot_blu::before {
 background-color: var(--color-blu) !important;
}
.dot_wbl::before {
 background-color: var(--color-wbl) !important;
}
.dot_pnk::before {
 background-color: var(--color-pnk) !important;
}
.dot_ppl::before {
 background-color: var(--color-ppl) !important;
}
.dot_ppl2::before {
 background-color: var(--color-ppl2) !important;
}
.dot_gld::before {
 background-color: var(--color-gld) !important;
}
.dot_txt::before {
 background-color: var(--color-txt) !important;
}
.dot_gy0::before {
 background-color: #818283 !important;
}
.br_04 {
 border-radius: 4px;
}
.br_10 {
 border-radius: 10px;
}
.p-wrap {
 width: 100%;
 padding-block: 90px 100px;
 position: relative;
}
.p-bg {
 width: 100%;
 position: relative;
 padding-block: max(10vw, 160px);
 padding-bottom: calc(10vw + 60px);
 z-index: 1;
}
.p-bg_circle {
 position: absolute;
 top: calc(20vw - 5px);
 bottom: calc(20vw - 5px);
 left: 0;
 width: 100%;
 display: block;
}
.p-bg_circle::before,
.p-bg_circle::after {
 content: "";
 position: absolute;
 top: -20vw;
 left: 0;
 width: 100%;
 height: 20vw;
 display: block;
 background-color: var(--color-wht);
 clip-path: ellipse(120% 100vw at 50% 500%);
}
.p-bg_circle::after {
 top: unset;
 bottom: -20vw;
 clip-path: ellipse(120% 100vw at 50% -400%);
}
.p-bg.p-bg_wht .p-bg_circle::before,
.p-bg.p-bg_wht .p-bg_circle::after,
.p-bg.p-bg_wht .p-bg_circle {
 background-color: var(--color-wht);
}
.p-bg.p-bg_grn .p-bg_circle::before,
.p-bg.p-bg_grn .p-bg_circle::after,
.p-bg.p-bg_grn .p-bg_circle {
 background-color: var(--color-grn);
}
.p-bg.p-bg_gld .p-bg_circle::before {
 background-color: #dac26d;
}
.p-bg.p-bg_gld .p-bg_circle::after {
 background-color: #e8c607;
}
.p-bg.p-bg_gld .p-bg_circle {
 background: linear-gradient(to bottom, #dac26d 0%, #f4b850 40%, #e8c607 100%);
}
/* anime */
.p-bg_circle::before {
 transform: translateY(10vw);
 transition: all 2.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.p-bg_circle::after {
 transform: translateY(-10vw);
 transition: all 2.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.p-bg .l-container {
 opacity: 0;
 transform: translateY(2vw);
 transition: all 1.6s cubic-bezier(0.075, 0.82, 0.165, 1) 1s;
}
body.-start .p-bg_circle::before,
body.-start .p-bg_circle::after {
 transform: translateY(0);
}
body.-start .p-bg .l-container {
 opacity: 1;
 transform: translateY(0);
}
.outline {
 max-width: 750px;
 margin-left: auto;
 margin-right: auto;
}
.outline.left {
 margin-left: 0;
}
a.text_link {
 color: var(--color-red);
}
.ttl {
 margin-bottom: 40px;
}
.heading_en {
 color: var(--color-red);
 font-size: 1.6rem;
 font-weight: 900;
 font-family: var(--ff-avn);
 text-transform: uppercase;
 line-height: 1.0715;
 letter-spacing: 0.04em;
 display: block;
}
.heading1 {
 font-size: 5.4rem;
 font-weight: 600;
 line-height: 1.22;
 letter-spacing: 0.04em;
 display: block;
 position: relative;
}
.heading2 {
 font-size: 3.6rem;
 font-weight: 600;
 line-height: 1.556;
 position: relative;
}
.heading2 span {
 position: relative;
 z-index: 1;
}
.heading3 {
 font-size: 3.2rem;
 font-weight: 600;
 line-height: 1.556;
}
.heading4 {
 font-size: 2.8rem;
 font-weight: 600;
 line-height: 1.556;
}
.heading5 {
 font-size: 2rem;
 font-weight: 600;
}
.heading6 {
 font-size: 1.8rem;
 font-weight: bold;
}
.p-section {
 max-width: 1080px;
 margin-inline: auto;
}
.p-section + .p-section {
 margin-top: 110px;
}
.flex_wrap_col2 {
 display: flex;
 flex-flow: row wrap;
 gap: 40px;
}
.flex_wrap_col2 .item {
 width: calc((100% - 40px) * 0.5);
}
.flex_wrap_col3 {
 display: flex;
 flex-flow: row wrap;
 gap: 28px;
}
.flex_wrap_col3 .item {
 width: calc((100% - 56px) * 0.333);
 min-height: 180px;
}
.p-section .block p {
 line-height: 2;
}
.p-section .block p em {
 letter-spacing: -0.1em;
 margin-right: 0.3em;
}
.p-section .block p + p {
 margin-top: 1.8em;
}
.p-section_single {
 max-width: 960px;
 margin-left: auto;
 margin-right: auto;
}
.p-section_single .block + .block {
 margin-top: 60px;
}
.c-table {
 width: 100%;
 border-top: 1px solid #ccc;
}
.c-table th {
 width: max(150px, 20%);
 padding: 1.5em 2em 1.5em 1em;
 font-weight: normal;
 border-bottom: 1px solid #ccc;
}
.c-table td {
 padding: 1.5em 0;
 font-weight: normal;
 border-bottom: 1px solid #ccc;
}
.c-table p {
 line-height: 1.8;
}
.c-table .dot {
 padding: 0 0 0 1em;
}
.btn_single_wrap {
 margin-top: 40px;
 display: flex;
 justify-content: center;
}
.nodl {
 position: relative;
}
.nodl span {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 display: block;
 background: url(/_assets/images/common/nodl.png) no-repeat;
 background-size: contain;
 z-index: 2;
}
.nodl span img {
 width: 100% !important;
 height: 100% !important;
 max-width: unset !important;
 max-height: unset !important;
}

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

@media screen and (max-width: 820px) {
 .p-wrap {
  padding-block: 90px 0;
 }
 .p-bg {
  padding-block: 20vw calc(10vw + 60px);
  z-index: 1;
 }
 .heading1 {
  font-size: 4.8rem;
 }
 .heading2 {
  font-size: 3.2rem;
  line-height: 1.25;
 }
 .heading3 {
  font-size: 2.8rem;
 }
 .heading4 {
  font-size: 2.4rem;
 }
 .heading5 {
  font-size: 2rem;
 }
 .p-section {
  max-width: unset;
 }
 .p-section .block p {
  line-height: 1.8;
 }
 .p-section_single {
  max-width: unset;
 }
 .flex_wrap_col2 {
  gap: 20px;
 }
 .flex_wrap_col2 .item {
  width: calc((100% - 20px) * 0.5);
 }
 .flex_wrap_col3 .item {
  width: calc((100% - 28px) * 0.5);
 }
}

@media screen and (max-width: 600px) {
 .br_10 {
  border-radius: 5px;
 }
 .p-wrap {
  padding-block: 60px 0;
 }
 .outline p {
  font-size: 1.5rem;
 }
 .ttl {
  margin-bottom: 30px;
 }
 .heading_en {
  font-size: 1.4rem;
 }
 .heading1 {
  font-size: 3rem;
  line-height: 1.33;
 }
 .heading2 {
  font-size: 2.6rem;
  line-height: 1.25;
 }
 .heading3 {
  font-size: 2.2rem;
 }
 .heading4 {
  font-size: 2rem;
 }
 .heading5 {
  font-size: 1.7rem;
 }
 .p-section + .p-section {
  margin-top: 60px;
 }
 .p-section_single .block + .block {
  margin-top: 40px;
 }
 .flex_wrap_col2 {
  flex-flow: column;
  gap: 20px;
 }
 .flex_wrap_col2 .item {
  width: 100%;
 }
 .flex_wrap_col3 {
  gap: 10px;
 }
 .flex_wrap_col3 .item {
  width: calc((100% - 10px) * 0.5);
  min-height: 120px;
 }
 .c-table th {
  width: 80px;
  padding: 1.2em 1em 1.2em 0;
 }
 .c-table td {
  padding: 1.2em 0;
 }
 .c-table p {
  line-height: 1.8;
 }
}

@media screen and (max-width: 340px) {
 .outline p {
  font-size: 1.3rem;
 }
 .heading_en {
  font-size: 1.3rem;
 }
 .heading1 {
  font-size: 2.8rem;
 }
 .heading2 {
  font-size: 2.3rem;
 }
 .heading3 {
  font-size: 2rem;
 }
 .heading4 {
  font-size: 1.8rem;
 }
}

/* p-header
---------------------------------------------------------------------------------*/
.p-header {
 position: relative;
 padding-top: 120px;
}
.p-header::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: calc(323px + 10vw);
 display: block;
 background-color: var(--color-gy1);
 clip-path: ellipse(70% 130% at 50% -30%);
}
.ph-title {
 display: block;
 position: relative;
 padding-block: 50px;
 min-height: 180px;
}
.ph-title .heading1 {
 font-size: 5.4rem;
 margin-top: 20px;
}
.ph-title .heading1 span,
.ph-title .heading_en span {
 display: inline-block;
 opacity: 0;
}

/* anime */
.p-header::before {
 transform: translateY(-400px);
 transition: all 1s cubic-bezier(0.075, 0.82, 0.165, 1);
}
body.-start .p-header::before {
 transform: translateY(0);
}
body.-start .ph-title .heading1 span,
body.-start .ph-title .heading_en span {
 animation: ani_title 2s cubic-bezier(0.075, 0.82, 0.165, 1) 0.8s both;
}
body.-start .ph-title .heading_en span {
 animation-delay: 1s;
}

.bread-crumb {
 position: absolute;
 bottom: 55px;
 right: 0;
 max-width: 50%;
}
.p-bread-crumb {
 display: flex;
 align-items: center;
 justify-content: flex-end;
 flex-wrap: wrap;
 font-size: 1.2rem;
 line-height: 1.715;
 letter-spacing: 0.02em;
 position: relative;
}
.p-bread-crumb > li {
 display: inline-block;
 margin-top: 8px;
 margin-left: 8px;
}
.p-bread-crumb > li a,
.p-bread-crumb > li span {
 color: var(--color-txt);
 display: inline-block;
 padding: 0.4em 1em;
 transition: 0.2s;
 border-radius: 2em;
 background-color: var(--color-wht);
 position: relative;
 cursor: pointer;
}
.p-bread-crumb > li span {
 cursor: default;
}
.bc_home a {
 display: block;
}
.bc_home a svg {
 width: 20px;
 height: 16px;
 fill: currentColor;
 vertical-align: middle;
 position: relative;
 top: -2px;
}
.under_bread-crumb {
 display: none;
}

@media screen and (min-width: 821px) {
 .p-bread-crumb > li a:hover {
  color: var(--color-wht);
  background-color: var(--color-txt);
 }
 .bc_anchor::before {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1px;
  transform: scaleX(0);
  background: var(--color-bl3);
  transform-origin: bottom right;
  transition: transform 0.2s linear;
 }
 .bc_anchor:hover::before {
  transform: scaleX(1);
  transform-origin: bottom left;
 }
}

@media screen and (max-width: 820px) {
 .p-header::before {
  height: calc(305px + 5vw);
  clip-path: ellipse(100% 130% at 50% -30%);
 }
 .ph-title {
  padding-block: 40px 50px;
  min-height: unset;
 }
 .ph-title .heading1 {
  font-size: 4.8rem;
 }
 .ph-title .bread-crumb {
  display: none;
 }
 .under_bread-crumb {
  display: block;
  padding: 0 5.33%;
  margin-top: 50px;
 }
 .bread-crumb {
  position: relative;
  bottom: unset;
  right: unset;
  max-width: unset;
 }
 .p-bread-crumb {
  justify-content: flex-start;
 }
 .p-bread-crumb > li {
  margin-left: unset;
  margin-right: 8px;
  margin-top: 8px;
 }
}

@media screen and (max-width: 600px) {
 .p-header {
  padding-top: 76px;
 }
 .p-header::before {
  height: calc(235px + 5vw);
  clip-path: ellipse(120% 130% at 50% -30%);
 }
 .ph-title .heading1 {
  font-size: 3.3rem;
  margin-top: 10px;
 }
 .under_bread-crumb {
  margin-top: 20px;
 }
 .p-bread-crumb {
  font-size: 1.1rem;
 }
}

@media screen and (max-width: 340px) {
 .ph-title .heading1 {
  font-size: 3rem;
 }
}

/* page-navi
---------------------------------------------------------------------------------*/
#page-navi {
 margin-block: 60px 0;
 text-align: center;
}
.wp-pagenavi {
 display: flex;
 align-items: center;
 justify-content: center;
 flex-wrap: wrap;
}
.wp-pagenavi .current {
 color: var(--color-wht);
 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;
 background-color: var(--color-gy4);
}
.wp-pagenavi a {
 color: var(--color-gy4);
 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;
 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 {
 display: inline-block;
 padding: 4px 3px;
}

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

@media screen and (max-width: 820px) {
 #page-navi {
  padding-bottom: 60px;
  border-bottom: 1px solid var(--color-gy3);
 }
}

@media screen and (max-width: 600px) {
 #page-navi {
  margin-block: 40px 0;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--color-gy3);
  text-align: center;
 }
 #page-navi .wp-pagenavi {
  position: relative;
  padding-top: 60px;
 }
 .wp-pagenavi .current {
  min-width: 36px;
  height: 36px;
  font-size: 1.2rem;
  margin-inline: 3px;
 }
 .wp-pagenavi a {
  min-width: 36px;
  height: 36px;
  font-size: 1.2rem;
  margin-inline: 3px;
 }
 #page-navi .previouspostslink {
  position: absolute;
  top: 0;
  left: 0;
 }
 #page-navi .nextpostslink {
  position: absolute;
  top: 0;
  right: 0;
 }
}

@media screen and (max-width: 340px) {
 #page-navi {
  padding-bottom: 30px;
 }
 #page-navi .wp-pagenavi {
  padding-top: 50px;
 }
 .wp-pagenavi .current {
  min-width: 30px;
  height: 30px;
  font-size: 1.2rem;
 }
 .wp-pagenavi a {
  min-width: 30px;
  height: 30px;
  font-size: 1.2rem;
 }
}

/* contact_area
---------------------------------------------------------------------------------*/
.contact_area {
 display: flex;
 justify-content: center;
 margin-top: 100px;
}

@media screen and (max-width: 820px) {
 .contact_area {
  margin-top: 40px;
 }
}

/* Footer
---------------------------------------------------------------------------------*/
.l-footer {
 position: relative;
 margin-top: 80px;
 padding-top: 7vw;
}
.ft_circle {
 position: absolute;
 top: calc(20vw - 5px);
 bottom: 0;
 left: 0;
 width: 100%;
 display: block;
 background-color: var(--color-nav);
}
.ft_circle::before {
 content: "";
 position: absolute;
 top: -20vw;
 left: 0;
 width: 100%;
 height: 20vw;
 display: block;
 background-color: var(--color-nav);
 clip-path: ellipse(120% 100vw at 50% 500%);
}
.ft_pagetop {
 position: fixed;
 bottom: -130px;
 right: 20px;
 z-index: 2;
 transition: all 0.5s ease-in-out;
}
.ft_pagetop.-show {
 bottom: 10px;
}
.l-footer.p-show-time.-show .ft_pagetop.-show {
 position: absolute;
 top: 12vw;
}
.ft_pagetop a {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 50px;
 height: 50px;
 position: relative;
 border-radius: 100%;
 background-color: var(--color-nav);
 transition: all 0.2s linear;
}
.l-footer.p-show-time.-show .ft_pagetop.-show a {
 background-color: var(--color-gy4);
}
.ft_pagetop a svg {
 width: 16px;
 height: 12px;
 fill: var(--color-wht);
 transform: rotate(-90deg);
}
.ftnav {
 color: #fff !important;
}
.ftnav a {
 color: #fff !important;
}
.ftnav-wrap {
 display: flex;
 gap: 10%;
 margin: 0 auto;
 padding-block: 7vw 80px;
 width: 100%;
 max-width: 1080px;
}
.ftnav-sub {
 display: flex;
 flex-flow: column;
 width: 350px;
 padding-right: 100px;
 border-right: 1px solid rgba(255, 255, 255, 0.2);
}
.ftnav-sub .csite {
 display: block;
 width: 100%;
}
.ftnav-sub_under {
 display: flex;
 flex-flow: column;
 align-items: center;
 margin-top: 60px;
}
.ftnav-sub .shop {
 display: block;
 max-width: 220px;
 margin-inline: auto;
 margin-top: 30px;
}
.ftnav-main {
 flex: 1;
 position: relative;
 display: flex;
 justify-content: space-between;
 gap: 20px;
}
.ftnav_list {
 display: flex;
 flex-flow: column;
 width: 70%;
}
.ftnav_list:not(:last-child) {
 width: 100%;
}
.ftnav_list::before {
 display: none;
 content: "";
 position: fixed;
 top: 0;
 left: 0;
 z-index: -1;
 width: 100vw;
 height: 88px;
 background: var(--color-wht);
 opacity: 0;
 transition: opacity 120ms ease-in-out 100ms;
}
.ftnav_item {
 font-size: 1.5rem;
 font-weight: 600;
 letter-spacing: 0.06em;
 position: relative;
 margin-bottom: 36px;
}
.ftnav_list .ftnav_item:last-child {
 margin-bottom: 0;
}
.ftnav_item > a {
 color: var(--color-wht);
 display: inline-flex;
 align-items: center;
 position: relative;
 transition: color 120ms linear;
}
.ftnav_item > a em {
 position: relative;
 display: inline-block;
 white-space: nowrap;
}
.ftnav_item > a em:before {
 content: "";
 position: absolute;
 bottom: -10px;
 right: 0;
 width: 0;
 height: 2px;
 background: var(--color-wht);
 transition: width 200ms ease-in-out;
}
.ftnav_nest {
 display: flex;
 transition: 120ms ease-in-out 100ms;
 margin-top: 0.2em;
}
.ftnav_nest_list {
 display: flex;
 flex-wrap: wrap;
 margin-top: 10px;
 width: 100%;
}
.ftnav_nest_item {
 width: 100%;
}
.ftnav_nest_item a {
 color: rgba(255, 255, 255, 0.8);
 display: flex;
 align-items: center;
 position: relative;
 font-size: 1.3rem;
 font-weight: 400;
 line-height: 2.2;
 letter-spacing: 0.04em;
 transition: color 120ms linear;
}
.ftnav_nest_item a:before {
 content: "";
 display: block;
 width: 12px;
 height: 1px;
 margin-right: 8px;
 background-color: var(--color-wht);
 opacity: 0.4;
}
.ftnav-bottom {
 color: var(--color-wht);
 background-color: #272423;
 position: relative;
}
.ftnav-bottom-main {
 display: flex;
 justify-content: space-between;
 align-items: center;
 max-width: 1080px;
 margin: auto;
 padding-block: 40px;
}
.ftnav-bottom_list {
 display: flex;
}
.ftnav-bottom_item {
 margin-right: 28px;
}
.ftnav-bottom_item a {
 opacity: 0.6;
 font-size: 1.3rem;
}
.ft_copyright {
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.1rem;
 letter-spacing: 0.02em;
 opacity: 0.6;
}

/* anime */
.l-footer.p-show-time .ft_circle::before {
 transform: translateY(10vw);
 transition: all 2.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.l-footer.p-show-time.-show .ft_circle::before {
 transform: translateY(0);
}

@media screen and (min-width: 821px) {
 .ft_pagetop a:hover {
  transform: scale(1.05);
  background-color: var(--color-red);
 }
 .ftnav_item > a:hover,
 .ftnav_nest_item a:hover {
  opacity: 0.6;
 }
 .ftnav-bottom_item a:hover {
  opacity: 1;
 }
}

@media screen and (max-width: 1099px) {
 .ftnav-wrap {
  gap: 50px;
  padding-block: 10vw 80px;
  max-width: unset;
 }
 .ftnav-sub {
  width: 280px;
  padding-right: 50px;
 }
}

@media screen and (max-width: 820px) {
 .l-footer {
  padding-top: 10vw;
 }
 .ftnav-wrap {
  flex-flow: column;
  align-items: center;
  padding-block: 4vw 80px;
 }
 .ftnav-sub {
  width: 280px;
  padding-right: 0;
  border-right: none;
 }
 .ftnav-sub_under {
  margin-top: 30px;
 }
 .ftnav-bottom-main {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: unset;
  padding-block: 40px;
 }
 .ft_copyright {
  margin-top: 20px;
  text-align: left;
  line-height: 1.4;
 }
}

@media screen and (max-width: 600px) {
 .l-footer {
  margin-top: 40px;
 }
 .ftnav-sub .csite {
  max-width: 220px;
  margin-inline: auto;
 }
 .ftnav-sub .shop {
  max-width: 200px;
 }
 .ftnav-wrap {
  padding-block: 8% 60px;
 }
 .ftnav_item {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  position: relative;
  margin-bottom: 20px;
 }
 .ftnav_nest,
 .ftnav_nest_list {
  display: none;
 }
 .ftnav-bottom-main {
  padding-block: 36px 60px;
 }
 .ftnav-bottom_list {
  flex-wrap: wrap;
  gap: 0 20px;
 }
 .ftnav-bottom_item {
  margin-right: 0;
  margin-block: 0.35em;
 }
 .ftnav-bottom_item a {
  font-size: 1.2rem;
 }
 .ft_copyright {
  margin-top: 16px;
 }
 .ft_pagetop {
  right: 2%;
 }
 .ft_pagetop a {
  width: 36px;
  height: 36px;
 }
 .ft_pagetop a svg {
  width: 12px;
  height: 9px;
 }
}

@media screen and (max-width: 340px) {
 .ftnav_item {
  font-size: 1.3rem;
 }
 .ft_copyright {
  font-size: 1rem;
 }
}

/* home
---------------------------------------------------------------------------------*/
.top_header {
 position: relative;
 overflow: hidden;
 height: 58vw;
 z-index: 0;
 clip-path: ellipse(125% 130% at 50% -30%);
}
.th_mv {
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 overflow: hidden;
 background-color: var(--color-nav);
 z-index: 0;
}
.th_mv #loading {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 display: flex;
 justify-content: center;
 align-items: center;
 background-color: var(--color-org);
 transition: all 3s cubic-bezier(0.2, 0.01, 0, 1) 2s;
 transform-origin: right center;
}
.th_mv #loading.disappear {
 opacity: 0;
}
.loader,
.loader:before,
.loader:after {
 background: var(--color-wht);
 animation: load1 1s infinite ease-in-out;
 width: 16px;
 border-radius: 2em;
 height: 48px;
 opacity: 0.6;
}
.loader {
 color: var(--color-wht);
 margin: 0 auto 80px;
 position: relative;
 transform: translateZ(0);
 animation-delay: -0.16s;
 z-index: 0;
}
.loader:before,
.loader:after {
 position: absolute;
 top: 0;
 content: "";
}
.loader:before {
 left: -24px;
 -webkit-animation-delay: -0.32s;
 animation-delay: -0.32s;
}
.loader:after {
 left: 24px;
}
@keyframes load1 {
 0%,
 80%,
 100% {
  box-shadow: 0 0;
  height: 48px;
 }
 40% {
  box-shadow: 0 -30px;
  height: 40px;
 }
}
.th_mv #youtube-area {
 position: fixed;
 top: 0;
 right: 0;
 left: 0;
 height: calc(58vw + 60px);
 overflow: hidden;
 opacity: 0;
}
.th_mv #youtube-area.appear {
 animation-name: PageAnimeAppear;
 animation-duration: 0.5s;
 animation-fill-mode: forwards;
}
@keyframes PageAnimeAppear {
 0% {
  opacity: 0;
 }
 100% {
  opacity: 1;
 }
}
.th_mv #youtube {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 width: 177.77777778vh;
 width: 120vw;
 height: 56.25vw;
 min-height: 100%;
 min-width: 100%;
}
.th_mv #youtube-mask {
 position: absolute;
 z-index: 2;
 top: 0;
 width: 100%;
 height: 100%;
 background-color: rgba(0, 0, 0, 0.15);
}
.th_inner {
 width: 100%;
 height: 100%;
 padding-inline: 5.88%;
 padding-bottom: 7vw;
 display: flex;
 align-items: flex-end;
 position: relative;
 z-index: 2;
}
.tagline_wrap {
 position: absolute;
 bottom: 0;
 padding-bottom: 10.5%;
 left: 5.88%;
 display: flex;
 flex-flow: column;
 width: 35.5%;
}
.tagline_01 {
 width: 100%;
 display: block;
 position: relative;
}
.tagline_02 {
 width: 80%;
 display: block;
 position: relative;
 margin-top: 3%;
}
.anniv_logo {
 position: absolute;
 bottom: 0;
 padding-bottom: 9%;
 left: 44.5%;
 display: block;
 width: 16%;
}
.contact_circle {
 position: absolute;
 bottom: 0;
 padding-bottom: 9%;
 right: 2.2%;
 display: block;
 width: 8.3%;
 z-index: 2;
}
.contact_circle a {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 padding-top: 100%;
 transition: all 0.3s;
 position: relative;
 background: url(/_assets/images/home/ico_contact_w.svg) no-repeat 50% 50%;
 background-size: 30% auto;
}
.circle_bg {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 transition: all 0.2s;
 background: url(/_assets/images/home/contact_circle.png) no-repeat 50% 50%;
 background-size: contain;
 animation: jlg-roll 30s linear infinite;
}
.circle_bg.stop {
 animation: none;
}
@keyframes jlg-roll {
 0% {
  transform: rotate(0);
 }
 100% {
  transform: rotate(360deg);
 }
}

/* anime */
.tagline_01,
.tagline_02 {
 opacity: 0;
 transform: translateX(-50px);
 transition: all 2s cubic-bezier(0.075, 0.82, 0.165, 1) 1.5s;
}
.tagline_02 {
 transition-delay: 1.8s;
}
.anniv_logo {
 opacity: 0;
}
.contact_circle {
 opacity: 0;
 transform: translateX(50px);
 transition: all 2s cubic-bezier(0.075, 0.82, 0.165, 1) 2s;
}
body.-start .tagline_01,
body.-start .tagline_02,
body.-start .contact_circle {
 opacity: 1;
 transform: translateX(0);
}
body.-start .anniv_logo {
 animation: annivlogo 1s cubic-bezier(0.075, 0.82, 0.165, 1) 2.4s both;
}
@keyframes annivlogo {
 0% {
  opacity: 0;
  transform: scale(1.5);
 }
 100% {
  opacity: 1;
  transform: scale(1);
 }
}

@media screen and (min-width: 821px) {
 .contact_circle a:hover .circle_bg {
  top: -5%;
  left: -5%;
  width: 110%;
  height: 110%;
  transition: all 0.2s;
 }
}

@media screen and (max-width: 820px) {
 .top_header {
  height: 120vw;
 }
 .th_mv #youtube-area {
  bottom: unset;
  height: calc(120vw + 60px);
 }
 .th_mv #youtube {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 177.77777778vh;
  height: 56.25vw;
  min-height: 100%;
  min-width: 100%;
 }
 .tagline_wrap {
  padding-bottom: 38%;
  left: 5.88%;
  width: 60%;
 }
 .anniv_logo {
  padding-bottom: 14%;
  left: 5.88%;
  width: 28%;
 }
 .contact_circle {
  padding-bottom: 15%;
  right: 4%;
  width: 15%;
 }
}

@media screen and (max-width: 600px) {
 .top_header {
  height: 150vw;
 }
 .th_mv #youtube-area {
  height: calc(150vw + 30px);
 }
 .tagline_wrap {
  padding-bottom: 46.26%;
  left: 5.33%;
  width: 81.6%;
 }
 .anniv_logo {
  padding-bottom: 14%;
  left: 5.33%;
  width: 40%;
 }
 .contact_circle {
  padding-bottom: 16%;
  right: 5%;
  width: 19.2%;
 }
}

/* home content
---------------------------------------------------------------------------------*/

/* t-news */
.t-news {
 width: 100%;
 margin-top: 100px;
 position: relative;
}
.t-news_wrap {
 display: flex;
 gap: 6%;
 margin-top: 60px;
 position: relative;
}
.news_large {
 width: 24%;
}
.news_large .item_news {
 flex-flow: column;
 gap: 12px;
}
.news_large .item_news .thumb {
 width: 100%;
 margin-right: unset;
}
.news_large .item_news .thumb .thumb_target {
 width: 100%;
 height: 100%;
}
.news_large .item_news a {
 font-size: 1.5rem;
 line-height: 1.5;
}
.news_small {
 flex: 1;
}
.news_small .news_flex_wrap {
 gap: 30px 24px;
}
.news_small .item_news {
 align-items: flex-start;
}
.news_small .item_news .desc {
 padding-top: 6px;
}
.news_small .item_news a {
 font-size: 1.45rem;
 line-height: 1.4;
}
.news_btn {
 position: absolute;
 right: 0;
 top: -120px;
 display: flex;
}
.t-pickup {
 margin-top: 80px;
}
.pickup_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 24px;
}
.pickup_wrap .item {
 width: calc(33.33% - 16px);
}
.pickup_wrap .item a {
 display: block;
 width: 100%;
 height: auto;
}
.pickup_wrap .item a img {
 border-radius: 10px;
}

@media screen and (min-width: 821px) {
 .pickup_wrap .item a:hover {
  opacity: 0.6;
 }
}

@media screen and (max-width: 1180px) {
 .t-news_wrap {
  flex-flow: column;
  gap: 60px;
 }
 .news_large {
  width: 100%;
 }
 .news_large .item_news {
  flex-flow: row;
  align-items: center;
  gap: 0;
 }
 .news_large .item_news .thumb {
  width: 200px;
  margin-right: 16px;
 }
}

@media screen and (max-width: 820px) {
 .news_large .item_news a {
  font-size: 1.6rem;
 }
 .news_small .item_news a {
  font-size: 1.5rem;
 }
}

@media screen and (max-width: 600px) {
 .t-news {
  margin-top: 70px;
 }
 .t-news_wrap {
  margin-top: 40px;
  gap: 30px;
 }
 .news_large .item_news .thumb {
  width: 140px;
  margin-right: 14px;
 }
 .news_large .item_news a {
  font-size: 1.5rem;
 }
 .news_small .news_flex_wrap {
  gap: 24px;
 }
 .news_small .item_news a {
  font-size: 1.4rem;
 }
 .news_btn {
  top: calc(100% + 24px);
 }
 .t-pickup {
  margin-top: 100px;
 }
 .pickup_wrap {
  gap: 10px;
 }
 .pickup_wrap .item {
  width: calc(50% - 5px);
 }
}

@media screen and (max-width: 340px) {
 .news_large .item_news .thumb {
  width: 120px;
 }
 .news_large .item_news a {
  font-size: 1.4rem;
 }
 .news_small .item_news a {
  font-size: 1.3rem;
 }
 .pickup_wrap {
  flex-flow: column;
  gap: 10px;
 }
 .pickup_wrap .item {
  width: 100%;
 }
}

/* t-business */
.t-business {
 width: 100%;
 margin-top: 160px;
 position: relative;
}
.t-business.p-bg {
 padding-top: max(17.6vw, 240px);
 padding-bottom: max(25vw, 340px);
}
.t-business .p-bg_circle {
 top: calc(30vw - 5px);
 bottom: calc(30vw - 5px);
}
.t-business .p-bg_circle::before {
 top: -30vw;
 height: 30vw;
 clip-path: ellipse(90% 100vw at 50% 334%);
}
.t-business .p-bg_circle::after {
 bottom: -30vw;
 height: 30vw;
 clip-path: ellipse(90% 100vw at 50% -234%);
}
/* anime */
body.-start .t-business .p-bg_circle::before {
 transform: translateY(10vw);
}
body.-start .t-business .p-bg_circle::after {
 transform: translateY(-10vw);
}
body.-start .t-business.p-bg .l-container {
 opacity: 0;
 transform: translateY(2vw);
 transition: all 1.6s cubic-bezier(0.075, 0.82, 0.165, 1) 0.4s;
}
.t-business.p-bg.p-show-time.-show .p-bg_circle::before,
.t-business.p-bg.p-show-time.-show .p-bg_circle::after {
 transform: translateY(0);
}
.t-business.p-bg.p-show-time.-show .l-container {
 opacity: 1;
 transform: translateY(0);
}
.t-business .cat_ttl {
 margin-top: 90px;
 display: flex;
 align-items: center;
 gap: 10px;
}
.t-business .cat_ttl .en_name {
 font-size: 2.6rem;
}
.t-business .cat_ttl .jp_name {
 font-size: 2.4rem;
 font-weight: 600;
 display: flex;
 align-items: center;
 position: relative;
}
.t-business .cat_ttl .jp_name::before {
 content: "";
 width: 50px;
 height: 1px;
 display: block;
 background-color: var(--color-txt);
 margin-right: 10px;
 opacity: 0.6;
}
.license_area {
 position: relative;
 margin-top: 60px;
}
.license_btn {
 position: absolute;
 right: calc(50% - 390px);
 top: -110px;
 display: flex;
}
.swiper-container {
 overflow: unset;
}
.license_flex_wrap.swiper-wrapper {
 max-width: 200vw;
 flex-wrap: nowrap;
 gap: 0;
}
.license_flex_wrap.swiper-wrapper .item {
 width: 260px;
}
.swiper-button-prev,
.swiper-button-next {
 position: absolute;
 top: -110px;
 width: 60px;
 height: 60px;
 margin-top: 0;
 display: flex;
 align-items: center;
 justify-content: center;
 z-index: 10;
 cursor: pointer;
 background-color: var(--color-wht);
 background-image: none;
 border-radius: 100%;
 transition: all 0.2s ease-in-out;
}
.swiper-button-prev:after,
.swiper-button-next:after {
 content: none;
}
.swiper-button-prev svg,
.swiper-button-next svg {
 width: 16px;
 height: 12px;
 fill: var(--color-blk);
 transition: all 0.1s ease-in-out;
}
.swiper-button-prev svg {
 transform: rotate(180deg);
}
.swiper-button-prev {
 left: unset;
 right: calc(50% - 470px);
}
.swiper-button-next {
 left: unset;
 right: calc(50% - 540px);
}
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
 bottom: unset;
 margin-top: 50px;
 position: relative;
}
.swiper-pagination-bullet {
 background: var(--color-txt);
 opacity: 0.2;
}
.swiper-pagination-bullet-active {
 background: var(--color-red);
 opacity: 1;
}
.t-business .swiper-pagination-bullet-active {
 background: var(--color-wht);
}

@media screen and (min-width: 821px) {
 .swiper-button-prev:hover,
 .swiper-button-next:hover {
  transform: scale(1.1);
  background-color: var(--color-txt);
 }
 .swiper-button-prev:hover svg,
 .swiper-button-next:hover svg {
  fill: var(--color-wht);
 }
}

@media screen and (max-width: 1200px) {
 .license_btn {
  right: 210px;
 }
 .swiper-button-prev {
  right: 130px;
 }
 .swiper-button-next {
  right: 60px;
 }
}

@media screen and (max-width: 820px) {
 .license_btn {
  top: calc(100% + 70px);
  right: 5.33%;
 }
 .swiper-button-next {
  right: 5.33%;
 }
 .swiper-button-prev {
  right: calc(5.33% + 70px);
 }
}

@media screen and (max-width: 600px) {
 .t-business {
  margin-top: 80px;
 }
 .t-business.p-bg {
  padding-top: max(17.6vw, 120px);
  padding-bottom: max(25vw, 220px);
 }
 .t-business .cat_ttl {
  margin-top: 40px;
  gap: 5px;
 }
 .t-business .cat_ttl .en_name {
  font-size: 2rem;
 }
 .t-business .cat_ttl .jp_name {
  font-size: 1.6rem;
 }
 .t-business .cat_ttl .jp_name::before {
  width: 16px;
  margin-right: 5px;
 }
 .license_area {
  margin-top: 40px;
 }
 .swiper-button-prev,
 .swiper-button-next {
  top: -75px;
  width: 48px;
  height: 48px;
 }
 .swiper-button-prev {
  right: calc(5.33% + 58px);
 }
 .swiper-button-prev svg,
 .swiper-button-next svg {
  width: 12px;
  height: 9px;
 }
 .swiper-horizontal > .swiper-pagination-bullets,
 .swiper-pagination-bullets.swiper-pagination-horizontal,
 .swiper-pagination-custom,
 .swiper-pagination-fraction {
  margin-top: 20px;
 }
}

@media screen and (max-width: 340px) {
 .t-business .cat_ttl .en_name {
  font-size: 1.8rem;
 }
 .t-business .cat_ttl .jp_name {
  font-size: 1.4rem;
 }
 .t-business .cat_ttl .jp_name::before {
  width: 12px;
 }
 .swiper-button-prev,
 .swiper-button-next {
  top: -70px;
  width: 40px;
  height: 40px;
 }
 .swiper-button-prev {
  right: calc(5.33% + 48px);
 }
}

/* t-movie */
.t-movie {
 width: 100%;
 margin-top: 160px;
 position: relative;
}
.movie_area {
 position: relative;
 margin-top: 60px;
}
.movie_flex_wrap.swiper-wrapper {
 max-width: 200vw;
 display: flex;
 flex-wrap: nowrap;
}
.movie_flex_wrap.swiper-wrapper .item {
 width: 260px;
}
.item_movie {
 display: flex;
 flex-flow: column;
 position: relative;
 cursor: pointer;
}
.item_movie .thumb {
 width: 100%;
}
.item_movie .thumb .thumb_target {
 width: 100%;
 height: auto;
 position: relative;
 overflow: hidden;
 border-radius: 10px;
 background-color: var(--color-wht);
 box-shadow: 0px 0px 15px rgba(163, 163, 163, 0.3);
}
.item_movie .desc {
 margin-top: 16px;
}
.item_movie a {
 font-size: 1.5rem;
 font-weight: 600;
 letter-spacing: 0.02em;
 line-height: 1.4;
 text-align: center;
}
.item_movie a::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 z-index: 1;
}

@media screen and (min-width: 821px) {
 .item_movie .thumb .thumb_target img {
  transform: translateZ(0) scale(1);
  transition: transform 0.3s cubic-bezier(0.4, 0.1, 0.3, 1);
 }
 .item_movie:hover .thumb .thumb_target img {
  transform: translateZ(0) scale(1.08);
 }
 .item_movie .thumb .thumb_target:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  transition: transform 0.3s cubic-bezier(0.4, 0.1, 0.3, 1);
  transform: scale(1.2);
  border: 8px solid var(--color-red);
  z-index: 1;
 }
 .item_movie:hover .thumb .thumb_target:before {
  transform: scale(1);
 }
 .item_movie:hover a {
  transition: transform 0.4s cubic-bezier(0.4, 0.1, 0.3, 1);
 }
}

@media screen and (max-width: 600px) {
 .t-movie {
  margin-top: 80px;
 }
 .movie_area {
  margin-top: 30px;
 }
 .item_movie a {
  font-size: 1.45rem;
 }
}

/* t-playlist */
.t-playlist {
 width: 100%;
 margin-top: 200px;
 position: relative;
}
.p-playlist_wrap {
 display: flex;
 flex-flow: column;
 width: 100%;
 gap: 40px;
 position: relative;
}
.p-playlist {
 background-color: var(--color-wht);
 margin-inline: auto;
 padding: 40px;
 border-radius: 20px;
 width: 100%;
 position: relative;
}
.p-playlist iframe {
 width: 100%;
 max-width: 1000px !important;
}
.playlist_btn {
 position: absolute;
 right: 0;
 top: -100px;
 display: flex;
}
.t-playlist .music_btn {
 text-align: center;
 margin-top: 40px;
}

@media screen and (max-width: 600px) {
 .t-playlist {
  margin-top: 100px;
 }
 .p-playlist_wrap {
  gap: 20px;
 }
 .p-playlist {
  padding: 24px 5.33vw;
  margin-inline: -4.44%;
  border-radius: 20px;
  width: auto;
 }
 .playlist_btn {
  top: calc(100% + 20px);
 }
 .t-playlist .music_btn {
  text-align: right;
  margin-top: 20px;
 }
}

@media screen and (max-width: 340px) {
 .p-playlist {
  margin-inline: -4vw;
 }
}

/* t-corp */
.t-corp {
 width: 100%;
 margin-top: 160px;
 position: relative;
}
.t-corp_wrap {
 position: relative;
 margin-top: 60px;
}
.t-corp_wrap.business_body .b-button a strong {
 font-size: 2.6rem;
}

@media screen and (max-width: 820px) {
 .t-corp_wrap.business_body .b-button a .title {
  min-height: 86px;
 }
}

@media screen and (max-width: 600px) {
 .t-corp {
  margin-top: 100px;
 }
 .t-corp_wrap {
  margin-top: 30px;
 }
 .t-corp_wrap.business_body .b-button a .title {
  min-height: unset;
 }
 .t-corp_wrap.business_body .b-button a strong {
  font-size: 1.8rem;
  margin-bottom: 0;
 }
}

@media screen and (max-width: 340px) {
 .t-corp_wrap.business_body .b-button a strong {
  font-size: 1.7rem;
 }
}

/* t-press */
.t-press {
 width: 100%;
 margin-top: 160px;
 position: relative;
}
.t-press_wrap {
 position: relative;
 margin-top: 60px;
}
.press_btn {
 position: absolute;
 right: 0;
 top: -120px;
 display: flex;
}

@media screen and (max-width: 600px) {
 .t-press {
  margin-top: 100px;
 }
 .t-press_wrap {
  margin-top: 40px;
 }
 .press_btn {
  top: calc(100% - 30px);
 }
 .t-press .acr_btn {
  justify-content: flex-start;
 }
 .t-press .acr_btn a {
  width: 120px;
 }
}

/* t-banner */
.t-banner {
 width: 100%;
 margin-top: 140px;
 position: relative;
}
.t-banner_link + .t-banner_link {
 margin-top: 60px;
}
.ttl_line {
 display: flex;
 align-items: center;
}
.ttl_line::after {
 flex: 1;
 content: "";
 display: block;
 width: auto;
 height: 1px;
 margin-left: 40px;
 background-color: var(--color-gy2);
}
.t-banner_wrap {
 position: relative;
 margin-top: 30px;
 display: flex;
 gap: 6px;
}
.t-banner_wrap .item {
 width: calc(20% - 4.8px);
}

@media screen and (min-width: 821px) {
 .t-banner_wrap .item a:hover {
  opacity: 0.6;
 }
}

@media screen and (max-width: 820px) {
 .t-banner {
  margin-bottom: 40px;
 }
 .t-banner_wrap {
  flex-wrap: wrap;
  gap: 18px;
 }
 .t-banner_wrap .item {
  width: calc(33.33% - 12px);
 }
}

@media screen and (max-width: 600px) {
 .t-banner {
  margin-top: 80px;
  margin-bottom: 20px;
 }
 .t-banner_link + .t-banner_link {
  margin-top: 40px;
 }
 .ttl_line::after {
  margin-left: 20px;
 }
 .t-banner_wrap {
  gap: 6px;
  margin-top: 20px;
 }
 .t-banner_wrap .item {
  width: calc(33.33% - 4px);
 }
}

@media (orientation: landscape) and (max-width: 820px) {
 .top_header {
  height: 58vw;
 }
 .th_mv #youtube-area {
  height: calc(58vw + 60px);
 }
 .th_mv #youtube {
  width: 120vw;
 }
 .tagline_wrap {
  padding-bottom: 10.5%;
  left: 5.88%;
  width: 50%;
 }
 .anniv_logo {
  padding-bottom: 9%;
  left: 60%;
  width: 18%;
 }
 .contact_circle {
  padding-bottom: 9%;
  right: 2%;
  width: 10%;
 }
}

/* news
---------------------------------------------------------------------------------*/
.lw-news .hdmenu_item.c_news > a {
 color: var(--color-red);
}
.lw-news .hdmenu_item.c_news > a:before {
 width: 100%;
 right: auto;
 left: 0;
}
.lw-news .heading_en {
 color: var(--color-red);
}
.news_index_wrap {
 display: flex;
 flex-flow: column;
 gap: 110px;
}
.news_index_body {
 display: flex;
 flex-flow: column;
}
.post_search_wrap {
 display: flex;
 gap: 50px;
}
.keyword_search {
 width: 300px;
}
.search-ttl {
 font-size: 2rem;
 font-weight: 500;
 margin-bottom: 20px;
}
.searchForm {
 display: flex;
 align-items: center;
 gap: 10px;
 padding-right: 10px;
 height: 64px;
 background: var(--color-wht);
 border: 2px solid #d3d0cf;
 border-radius: 10px;
}
.searchForm input {
 flex: 1;
 font-size: 1.6rem;
 height: 100%;
 width: 100%;
 padding: 0 0.5em;
 border: 0;
}
.searchForm input::placeholder {
 color: #cccccc;
}
.searchForm button {
 display: block;
 width: 35px;
 height: 35px;
 border: none;
 background: none;
 border-radius: 100%;
 background: var(--color-gy4) url(/_assets/images/common/ico_search.svg) no-repeat 50% 50%;
 background-size: 12px 12px;
 transition: 0.2s all;
 cursor: pointer;
}
.cat_search {
 flex: 1;
}
.cat_box_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
}
.cat_box_wrap + .year_box_wrap {
 margin-top: 30px;
}
.year_box_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
}
.year_box_wrap .item {
 display: block;
}
.year_box_wrap .item a {
 color: var(--color-txt);
 font-size: 1.3rem;
 font-weight: 500;
 line-height: 1.715;
 letter-spacing: 0.02em;
 display: inline-block;
 padding: 0.4em 1em;
 transition: 0.2s;
 border-radius: 2em;
 background-color: var(--color-wht);
 position: relative;
 cursor: pointer;
}
.year_box_wrap .item.-on a {
 color: var(--color-wht);
 background-color: var(--color-red);
 pointer-events: none;
}
.news_flex_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 50px;
}
.news_flex_wrap .item {
 width: calc(50% - 25px);
}
.item_news {
 display: flex;
 align-items: center;
 position: relative;
 cursor: pointer;
}
.item_news .thumb {
 width: 130px;
 margin-right: 16px;
}
.item_news .thumb .thumb_target {
 width: 130px;
 height: 130px;
 position: relative;
 overflow: hidden;
 border-radius: 20px;
 background-color: var(--color-wht);
 box-shadow: 0px 0px 12px rgba(163, 163, 163, 0.2);
 z-index: 1;
}
.item_news .desc {
 flex: 1;
}
.item_news .meta {
 display: flex;
 align-items: center;
 margin-bottom: 10px;
}
.item_news .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-red);
}
.item_news .date {
 font-size: 1.4rem;
 letter-spacing: 0.04em;
}
.item_news a {
 font-size: 1.6rem;
 font-weight: 400;
 letter-spacing: 0.04em;
 line-height: 1.6;
}
.item_news a::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 z-index: 1;
}
.dot_ttl + .news_flex_wrap {
 margin-top: 20px;
}
.dot_ttl.search {
 display: flex;
 align-items: center;
 flex-wrap: wrap;
}
.dot_ttl.search span {
 margin-block: 10px;
}
.dot_ttl.search .line {
 display: block;
 width: 50px;
 height: 1px;
 margin-inline: 20px;
 background-color: var(--color-txt);
 position: relative;
}
.dot_ttl.search .num {
 font-size: 3.2rem;
 font-weight: 500;
}
.dot_ttl.search .num small {
 font-size: 1.6rem;
}
.news_flex_wrap + #page-navi {
 margin-top: 120px;
}

/* color */
.dot_ttl.c-information::before,
.c-button.c-information.-on a,
.c-button.c-information a span::before,
.item_news.c-information .cat,
.news_area.c-information .entry_meta .cat,
.news_area.c-information .entry_body::before {
 background-color: var(--color-blu);
}
.dot_ttl.c-goods::before,
.c-button.c-goods.-on a,
.c-button.c-goods a span::before,
.item_news.c-goods .cat,
.news_area.c-goods .entry_meta .cat,
.news_area.c-goods .entry_body::before {
 background-color: var(--color-ylw);
}
.dot_ttl.c-campaign::before,
.c-button.c-campaign.-on a,
.c-button.c-campaign a span::before,
.item_news.c-campaign .cat,
.news_area.c-campaign .entry_meta .cat,
.news_area.c-campaign .entry_body::before {
 background-color: var(--color-wbl);
}
.dot_ttl.c-event::before,
.c-button.c-event.-on a,
.c-button.c-event a span::before,
.item_news.c-event .cat,
.news_area.c-event .entry_meta .cat,
.news_area.c-event .entry_body::before {
 background-color: var(--color-red);
}
.dot_ttl.c-digital::before,
.c-button.c-digital.-on a,
.c-button.c-digital a span::before,
.item_news.c-digital .cat,
.news_area.c-digital .entry_meta .cat,
.news_area.c-digital .entry_body::before {
 background-color: var(--color-grn);
}
.c-button.c-information.-on a em,
.c-button.c-goods.-on a em,
.c-button.c-campaign.-on a em,
.c-button.c-event.-on a em,
.c-button.c-digital.-on a em {
 color: var(--color-wht);
}
.c-button.c-information.-on a span::before,
.c-button.c-goods.-on a span::before,
.c-button.c-campaign.-on a span::before,
.c-button.c-event.-on a span::before,
.c-button.c-digital.-on a span::before {
 background-color: var(--color-wht);
}

.item_news.c-information .thumb .thumb_target:before {
 border-color: var(--color-blu);
}
.item_news.c-goods .thumb .thumb_target:before {
 border-color: var(--color-ylw);
}
.item_news.c-campaign .thumb .thumb_target:before {
 border-color: var(--color-wbl);
}
.item_news.c-event .thumb .thumb_target:before {
 border-color: var(--color-red);
}
.item_news.c-digital .thumb .thumb_target:before {
 border-color: var(--color-grn);
}

.p-pickup {
 margin-top: 80px;
}

@media screen and (min-width: 821px) {
 .searchForm button:hover {
  background-color: var(--color-red);
 }
 .year_box_wrap .item a:hover {
  color: var(--color-wht);
  background-color: var(--color-txt);
 }
 .item_news .thumb .thumb_target img {
  transform: translateZ(0) scale(1);
  transition: transform 0.3s cubic-bezier(0.4, 0.1, 0.3, 1);
 }
 .item_news:hover .thumb .thumb_target img {
  transform: translateZ(0) scale(1.08);
 }
 .item_news .thumb .thumb_target:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  transition: transform 0.3s cubic-bezier(0.4, 0.1, 0.3, 1);
  transform: scale(1.2);
  border: 6px solid var(--color-red);
  z-index: 1;
 }
 .item_news:hover .thumb .thumb_target:before {
  transform: scale(1);
 }
 .item_news:hover a {
  transition: transform 0.4s cubic-bezier(0.4, 0.1, 0.3, 1);
  text-decoration: underline;
 }
 .item_news.c-information:hover a {
  color: var(--color-blu);
 }
 .item_news.c-goods:hover a {
  color: var(--color-ylw);
 }
 .item_news.c-campaign:hover a {
  color: var(--color-wbl);
 }
 .item_news.c-event:hover a {
  color: var(--color-red);
 }
 .item_news.c-digital:hover a {
  color: var(--color-grn);
 }
}

@media screen and (max-width: 1180px) {
 .item_news {
  align-items: unset;
 }
 .item_news .desc {
  padding-top: 6px;
 }
}

@media screen and (max-width: 820px) {
 .news_index_wrap {
  flex-flow: column-reverse;
  gap: 60px;
 }
 .news_index_body {
  margin-top: 0;
 }
 .post_search_wrap {
  flex-flow: column-reverse;
  gap: 40px;
 }
 .news_flex_wrap {
  gap: 40px;
 }
 .item_news .thumb {
  width: 100px;
 }
 .item_news .thumb .thumb_target {
  width: 100px;
  height: 100px;
  border-radius: 15px;
 }
 .item_news .cat {
  margin-right: 10px;
 }
 .item_news .date {
  font-size: 1.4rem;
  font-weight: 600;
 }
 .item_news a {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.5;
 }
 .p-pickup {
  margin-top: 60px;
 }
}

@media screen and (max-width: 600px) {
 .news_index_wrap {
  gap: 40px;
 }
 .search-ttl {
  font-size: 1.5rem;
  margin-bottom: 16px;
 }
 .searchForm {
  padding-right: 6px;
  height: 54px;
  border: 1px solid #d3d0cf;
  border-radius: 6px;
  gap: 6px;
 }
 .searchForm button {
  width: 30px;
  height: 30px;
 }
 .cat_box_wrap {
  gap: 6px;
 }
 .cat_box_wrap + .year_box_wrap {
  margin-top: 20px;
 }
 .year_box_wrap {
  gap: 6px;
 }
 .year_box_wrap .item a {
  font-size: 1.2rem;
  letter-spacing: 0;
  padding: 0.4em 1em;
 }
 .news_flex_wrap {
  flex-flow: column;
  gap: 24px;
 }
 .news_flex_wrap .item {
  width: 100%;
 }
 .item_news .thumb {
  width: 90px;
 }
 .item_news .thumb .thumb_target {
  width: 90px;
  height: 90px;
  border-radius: 10px;
 }
 .item_news .desc {
  padding-top: 0;
 }
 .item_news .meta {
  margin-bottom: 4px;
 }
 .item_news .cat {
  font-size: 1.2rem;
  padding: 0.6em 1em;
  margin-right: 12px;
 }
 .item_news .date {
  font-size: 1.3rem;
  font-weight: 600;
 }
 .item_news a {
  font-size: 1.4rem;
  line-height: 1.5;
 }
 .dot_ttl + .news_flex_wrap {
  margin-top: 16px;
 }
 .dot_ttl.search::before {
  content: none;
 }
 .news_flex_wrap + #page-navi {
  margin-top: 60px;
 }
 .p-pickup {
  margin-top: 40px;
 }
}

@media screen and (max-width: 340px) {
 .item_news .thumb {
  width: 80px;
 }
 .item_news .thumb .thumb_target {
  width: 80px;
  height: 80px;
 }
 .item_news a {
  font-size: 1.3rem;
 }
}

/* single */
.news_area {
 max-width: 840px;
 margin-inline: auto;
}
.entry_meta .title {
 display: block;
 font-size: 3rem;
 font-weight: 600;
 line-height: 1.55;
 letter-spacing: 0.02em;
}
.entry_meta .meta {
 display: flex;
 align-items: center;
 margin-top: 20px;
}
.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-red);
}
.entry_meta .date {
 font-size: 1.4rem;
 font-weight: 600;
 letter-spacing: 0.04em;
}
.news_area .entry_body {
 margin-top: 60px;
 padding-top: 60px;
 position: relative;
}
.news_area .entry_body::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 160px;
 height: 1px;
 background-color: var(--color-red);
}
.entry_body * {
 overflow-wrap: break-word;
}
.entry_body,
.entry_body p {
 line-height: 1.9;
}
.entry_body b {
 font-size: 1.1em;
}
.entry_body a {
 color: var(--color-red);
 font-size: 1.1em;
}
.entry_body img {
 margin-block: 0.5em;
}
.entry_body hr {
 opacity: 0.7;
 margin-block: 0.5em;
}
.entry_body .aligncenter {
 text-align: center;
 margin: 0 auto;
 display: block;
}
.entry_body #promo {
 display: block;
 position: relative;
 width: 100%;
 height: 0;
 padding-top: 57%;
 overflow: hidden;
 border-radius: 10px;
}
.entry_body #promo iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
.entry_body h3 {
 font-weight: bold;
 color: #00a600;
 font-size: 130%;
 line-height: 1.55;
 margin-bottom: 1em;
}
.entry_body .infobox {
 border: solid 1px #ff6600;
 padding: 10px;
 margin: 5px;
}
.entry_body .box {
 border: solid 1px #ff6600;
 padding: 10px;
 margin: 5px;
}
.entry_body .infobox_dash {
 border: dashed 1px #843500;
 padding: 10px;
 margin: 5px;
}
.entry_body .news {
 text-indent: 1em;
}
.entry_body .newsblock {
 margin-top: 5px;
 margin-bottom: 1em;
}
.entry_body .newsmidashi {
 margin-bottom: 1em;
 font-weight: bold;
 color: #006ddb;
}
.entry_body .sage {
 padding-left: 1em;
 text-indent: -1em;
}
.entry_body .infobox {
 border: dashed 1px #ff80c0;
 padding: 20px;
 margin: 20px 0;
}
.entry_body .goodsbox {
 border: dashed 1px #00b058;
 padding: 20px;
 margin-bottom: 10px;
}
.entry_body .gbox ul li {
 list-style-type: none;
}
.entry_body .gbox {
 float: left;
 width: 310px;
 margin: 5px;
 border: solid 1px #00974b;
 padding: 5px;
}
.entry_body .newskakomi {
 background-color: #007500;
 font-weight: bold;
 color: var(--color-wht);
 padding-left: 10px;
 margin-bottom: 1em;
}
.entry_body .newskakomipk {
 background-color: #ff62b0;
 font-weight: bold;
 color: var(--color-wht);
 padding-left: 10px;
 margin-bottom: 1em;
}
.entry_body .midashibar01 {
 background-color: #44c505;
 padding: 3px;
 margin-bottom: 5px;
 border-radius: 10px;
 -webkit-border-radius: 10px;
 -moz-border-radius: 10px;
}
.entry_body .mdbar {
 display: inline-block;
 background-color: var(--color-gy4);
 padding: 0.5em 1.5em;
 color: var(--color-wht);
 font-weight: 600;
 border-radius: 2em;
 margin-block: 1em;
}
.entry_body .icon-bl {
 border-radius: 12px;
 -webkit-border-radius: 12px;
 -moz-border-radius: 12px;
 background-color: #0080ff;
 font-weight: bolod;
 color: var(--color-wht);
 padding: 0px 10px;
 margin: 2px;
}
.entry_body .icon-rd {
 border-radius: 12px;
 -webkit-border-radius: 12px;
 -moz-border-radius: 12px;
 background-color: #ff0080;
 font-weight: bolod;
 color: var(--color-wht);
 padding: 0px 10px;
 margin: 2px;
}
.entry_body .tableinfo00 {
 border-collapse: separate;
 border-spacing: 0px;
 border-top: 1px solid #c3c3c3;
 border-left: 1px solid #c3c3c3;
}
.entry_body .tableinfo00 td {
 padding: 1em;
 line-height: 1.6;
 border-right: 1px solid #c3c3c3;
 border-bottom: 1px solid #c3c3c3;
 vertical-align: top;
 word-break: break-all;
}
.entry_body .tableinfo01 {
 width: 100%;
 border-collapse: separate;
 border-spacing: 0px;
 border-top: 1px solid #c3c3c3;
 border-left: 1px solid #c3c3c3;
}
.entry_body .tableinfo01 td {
 padding: 1em;
 line-height: 1.6;
 border-right: 1px solid #c3c3c3;
 border-bottom: 1px solid #c3c3c3;
 vertical-align: top;
 word-break: break-all;
}
.entry_body .tableinfo01 th {
 padding: 1em;
 line-height: 1.6;
 border-right: 1px solid #c3c3c3;
 border-bottom: 1px solid #c3c3c3;
 vertical-align: top;
 background-color: #e3e3e3;
}
.tableinfo02 {
 margin-block: 1em;
 width: 100%;
 border-collapse: separate;
 border-spacing: 0px;
 border-top: 1px solid #c3c3c3;
 border-left: 1px solid #c3c3c3;
}
.tableinfo02 td {
 padding: 1em;
 line-height: 1.6;
 background-color: #ffffff;
 border-right: 1px solid #c3c3c3;
 border-bottom: 1px solid #c3c3c3;
 vertical-align: top;
 word-break: break-all;
}
.tableinfo02 th {
 padding: 1em;
 line-height: 1.6;
 border-right: 1px solid #c3c3c3;
 border-bottom: 1px solid #c3c3c3;
 vertical-align: top;
 background-color: #f5ebd2;
}
.entry_body .listinfo01 {
 width: 275px;
 height: auto;
 border: solid 1px;
 margin: 5px;
 float: left;
}
.listinfo01 img {
 width: 275px;
 height: auto;
}
.p-news_single_under {
 width: 100%;
 position: relative;
}
.p-news_single_under #page-navi {
 padding-bottom: 60px;
 border-bottom: 1px solid var(--color-gy3);
}
.p-news_single_under .post_search_wrap {
 padding-top: 60px;
}

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

@media screen and (max-width: 820px) {
 .entry_meta .title {
  font-size: 2.6rem;
  line-height: 1.55;
 }
 .p-news_single_under {
  padding-bottom: 0;
 }
}

@media screen and (max-width: 600px) {
 .entry_meta .title {
  font-size: 2.2rem;
 }
 .entry_meta .date {
  font-size: 1.4rem;
 }
 .news_area .entry_body {
  margin-top: 30px;
  padding-top: 40px;
  position: relative;
 }
 .entry_body,
 .entry_body p {
  line-height: 1.8;
  font-size: 1.5rem;
 }
 .entry_body .tableinfo01 th,
 .entry_body .tableinfo01 td {
  padding: 0.8em 0.5em;
  line-height: 1.55;
 }
 .last td:last-child {
  border-bottom: solid 1px #c3c3c3;
  width: 100%;
 }
 .tableinfo02 th,
 .tableinfo02 td {
  display: block;
  width: 100%;
 }
 .tableinfo02 th {
  padding-block: 0.75em;
 }
 .entry_body .listinfo01 {
  width: 100%;
  height: auto;
  border: solid 1px;
  display: block;
  margin: 0 auto;
  margin-top: 10px;
  margin-bottom: 10px;
  float: none;
  padding: 1px;
 }
 .entry_body .listinfo01 img {
  width: 100%;
  height: auto;
 }
 .p-news_single_under #page-navi {
  padding-bottom: 40px;
 }
 .p-news_single_under .post_search_wrap {
  padding-top: 40px;
 }
}

@media screen and (max-width: 340px) {
 .entry_meta .title {
  font-size: 2rem;
 }
 .entry_body,
 .entry_body p {
  line-height: 1.8;
  font-size: 1.4rem;
 }
}

/* pickup
---------------------------------------------------------------------------------*/
.pickup_mv_wrap {
 display: flex;
 justify-content: center;
}
.pickup_mv_wrap figure {
 max-width: 100%;
 margin-inline: auto;
}
.pickup_mv_wrap figure img {
 border-radius: 20px;
}
.pickup_about {
 margin-top: 60px;
}
.pickup_about + .pickup_about {
 margin-top: 160px;
}
.pickup_area {
 display: flex;
 flex-flow: column;
 gap: 40px;
 max-width: 840px;
 margin-inline: auto;
}

@media screen and (max-width: 600px) {
 .pickup_mv_wrap figure img {
  border-radius: 10px;
 }
 .pickup_about {
  margin-top: 40px;
 }
 .pickup_about + .pickup_about {
  margin-top: 100px;
 }
}

/* business
---------------------------------------------------------------------------------*/
.lw-business .hdmenu_item.c_business > a,
.lw-business .heading_en {
 color: var(--color-grn2);
}
.lw-business .hdmenu_item.c_business > a:before {
 width: 100%;
 right: auto;
 left: 0;
}
.lw-business .dot_ttl::before {
 background-color: var(--color-grn2);
}
.business_body + .business_body {
 margin-top: 200px;
}
.block + .business_body {
 margin-top: 80px;
}
.business_body .b-button a {
 padding: 40px 36px;
 gap: 24px;
}
.business_body .b-button a .title {
 display: flex;
 flex-flow: column;
}
.business_body .b-button a strong {
 font-size: 3rem;
 line-height: 1.4;
 display: block;
 margin-bottom: 10px;
}
.business_body .b-button a strong i {
 font-size: 1.4rem;
 display: block;
}
.business_body .b-button a .thumb img {
 border-radius: 20px;
}
.business_body .b-button a .word {
 font-size: 1.6rem;
 font-weight: 400;
 line-height: 1.6;
}
.business_body .b-button a .link {
 display: flex;
 justify-content: flex-end;
 align-items: center;
 gap: 15px;
}
.business_body .b-button a .link p {
 color: var(--color-txt);
 font-size: 1.5rem;
 font-weight: 500;
 transition: 0.2s all;
}
.business_body .b-button a span {
 margin-left: unset;
}

@media screen and (min-width: 821px) {
 .business_body .b-button a:hover .link p {
  color: var(--color-wht);
 }
}

@media screen and (max-width: 820px) {
 .business_body .b-button a {
  padding: 30px 24px;
  gap: 24px;
 }
 .business_body .b-button a .thumb img {
  border-radius: 15px;
 }
}

@media screen and (max-width: 600px) {
 .business_body .b-button a {
  padding: 24px 5.33vw;
  gap: 15px;
 }
 .business_body .b-button a .title {
  gap: 4px;
 }
 .business_body .b-button a strong {
  font-size: 2.6rem;
 }
 .business_body .b-button a strong i {
  font-size: 1.3rem;
 }
 .business_body .b-button a .thumb {
  margin-top: 5px;
 }
 .business_body .b-button a .thumb img {
  border-radius: 10px;
 }
 .business_body .b-button a .word {
  font-size: 1.4rem;
 }
 .business_body .b-button a .link {
  gap: 15px;
 }
 .business_body .b-button a .link p {
  font-size: 1.3rem;
 }
 .business_body .b-button a span {
  right: unset;
  bottom: unset;
 }
}

@media screen and (max-width: 340px) {
 .business_body .b-button a .word {
  font-size: 1.3rem;
 }
}

/* license */
.lw-business.lw-license .heading_en {
 color: var(--color-grn);
}
.lw-business.lw-license .dot_ttl::before {
 background-color: var(--color-grn);
}
.lw-business.lw-license .license_index_wrap .dot_ttl::before {
 background-color: var(--color-wht);
}
.lw-business.lw-license .license_index_wrap .dot_ttl::before {
 background-color: var(--color-wht);
}
.lw-business.lw-license .license_index_wrap .dot_ttl * {
 color: var(--color-wht);
}
.license_cat_wrap + .license_cat_wrap {
 margin-top: 120px;
}
.license_cat_wrap .dot_ttl {
 margin-bottom: 30px;
}
.license_flex_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 40px;
}
.license_flex_wrap .item {
 width: calc(25% - 30px);
}
.item_license {
 display: flex;
 flex-flow: column;
 position: relative;
 cursor: pointer;
}
.item_license .thumb {
 width: 100%;
}
.item_license .thumb .thumb_target {
 width: 100%;
 height: auto;
 position: relative;
 overflow: hidden;
 background-color: var(--color-wht);
 box-shadow: 0px 0px 15px rgba(163, 163, 163, 0.3);
 border-radius: 100%;
 z-index: 1;
}
.item_license .desc {
 margin-top: 16px;
}
.item_license a {
 color: var(--color-wht);
 font-size: 1.8rem;
 font-weight: 600;
 letter-spacing: 0.02em;
 line-height: 1.4;
 text-align: center;
}
.item_license a::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 z-index: 1;
}
.license_sub_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 30px;
 margin-top: 140px;
 padding-top: 80px;
 position: relative;
}
.license_sub_wrap::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 1px;
 display: block;
 background-color: rgba(255, 255, 255, 0.8);
}
.license_sub_wrap .item {
 width: calc(25% - 30px);
}
.item_licensesub {
 display: flex;
 align-items: center;
 position: relative;
 gap: 10px;
}
.item_licensesub .thumb {
 width: 100px;
}
.item_licensesub .thumb .thumb_target {
 width: 100%;
 height: auto;
 position: relative;
 overflow: hidden;
 border-radius: 100%;
 background-color: var(--color-wht);
 box-shadow: 0px 0px 12px rgba(163, 163, 163, 0.3);
}
.item_licensesub .desc {
 flex: 1;
}
.item_licensesub .desc p {
 color: var(--color-wht);
 font-size: 1.5rem;
 font-weight: 600;
 letter-spacing: 0.02em;
 line-height: 1.6;
}

/* license single */
.license_head_wrap {
 display: flex;
 justify-content: center;
 gap: 80px;
}
.license_head_wrap .logo {
 max-width: 400px;
}
.license_mv_wrap {
 margin-top: 50px;
 display: flex;
 justify-content: center;
}
.license_mv_wrap figure {
 max-width: 800px;
 margin-inline: auto;
}
.license_mv_wrap figure img {
 border-radius: 20px;
 width: auto;
 max-height: 600px;
}
.license_about {
 margin-top: 70px;
 max-width: 800px;
 margin-inline: auto;
}
.license_about + .license_about {
 margin-top: 120px;
}
.license_about .dot_ttl {
 margin-bottom: 30px;
}
.license_about .entry_body a {
 color: var(--color-grn);
 font-size: 1em;
}
.license_about .worklink {
 display: flex;
 justify-content: flex-end;
 margin-top: 20px;
 font-size: 1.4rem;
}
.license_about .worklink a {
 color: var(--color-txt);
}

.meisaku_flex_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 0 30px;
 margin-top: 80px;
}
.meisaku_flex_wrap .item {
 width: calc(33.33% - 20px);
 border: solid var(--color-gy3);
 border-width: 1px 0;
 padding-block: 12px;
 margin-top: -1px;
}
.item_meisaku {
 display: flex;
 align-items: center;
 position: relative;
 cursor: pointer;
}
.item_meisaku .thumb {
 width: 70px;
 margin-right: 16px;
}
.item_meisaku .thumb .thumb_target {
 width: 70px;
 height: 70px;
 position: relative;
 overflow: hidden;
 border-radius: 10px;
 background-color: var(--color-wht);
}
.entry_body .item_meisaku img {
 margin-block: 0;
}
.item_meisaku .desc {
 flex: 1;
 display: flex;
 flex-flow: column;
 gap: 5px;
}
.item_meisaku a {
 font-size: 1.5rem;
 letter-spacing: 0.02em;
 line-height: 1.4;
}
.item_meisaku a::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 z-index: 1;
}

.campaign_list {
 display: flex;
 flex-flow: column;
 gap: 20px;
}
.campaign_box {
 padding: 20px;
 border-radius: 20px;
 background-color: var(--color-grn);
}
.campaign_box_wrap {
 display: flex;
}
.campaign_box .photo {
 width: 50%;
 display: flex;
 justify-content: center;
 align-items: center;
 padding: 2%;
 border-radius: 10px;
 background-color: var(--color-wht);
}
.campaign_box .desc {
 width: 50%;
 display: block;
 padding-block: 4.32%;
 padding-inline: 4.32%;
 color: var(--color-wht);
}
.campaign_box .desc p {
 color: var(--color-wht);
 font-size: 1.5rem;
 line-height: 1.7;
}
.campaign_box .desc p + p {
 margin-top: 1.5em;
}
.campaign_box .cat {
 display: inline-block;
 color: var(--color-grn);
 font-size: 1.4rem;
 font-weight: 500;
 padding: 0.8em 1em;
 border-radius: 2em;
 transition: 0.2s;
 background-color: var(--color-wht);
}
.campaign_box .title {
 color: var(--color-wht);
 font-size: 2.4rem;
 font-weight: 600;
 line-height: 1.6;
 margin-top: 12px;
 margin-bottom: 1em;
}
.campaign_box:nth-child(2n) {
 background-color: #098d64;
}
.campaign_box:nth-child(2n) .cat {
 color: #098d64;
}
.sns_link_wrap.license {
 margin-top: 120px;
}
.p-license_under {
 width: 100%;
 position: relative;
 margin-top: 140px;
 margin-bottom: 100px;
}

/* production */
.lw-business.lw-production .heading_en {
 color: var(--color-lgr);
}
.production_index_wrap {
 display: flex;
 flex-flow: column;
 gap: 120px;
}
.production_flex_wrap {
 display: flex;
 flex-flow: row wrap;
 gap: 40px;
}
.production_flex_wrap .item {
 width: calc(50% - 20px);
 display: flex;
 flex-flow: column;
 overflow: hidden;
 border-radius: 20px;
 background-color: var(--color-lgr);
}
.production_flex_wrap .thumb {
 width: 100%;
 height: 0;
 padding-top: 56%;
 position: relative;
}
.production_flex_wrap .thumb_target {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 overflow: hidden;
}
.production_flex_wrap .desc {
 color: var(--color-wht);
 padding-block: 20px;
 padding-inline: 7.69%;
}
.production_flex_wrap .title {
 font-size: 2.6rem;
 font-weight: 600;
 line-height: 1.4;
}
.production_flex_wrap .desc p {
 font-size: 1.6rem;
 line-height: 1.8;
 margin-top: 12px;
}
.production_flex_wrap .desc p + p {
 margin-top: 0;
}
.production_flex_wrap .link_area {
 margin-top: 12px;
 display: flex;
 justify-content: flex-end;
 gap: 30px;
}
.production_head_wrap {
 display: flex;
 flex-flow: column;
 gap: 40px;
}
.production_head_wrap .item {
 width: 100%;
 display: flex;
 align-items: center;
 overflow: hidden;
 border-radius: 20px;
 background-color: var(--color-lgr);
}
.production_head_wrap .thumb {
 width: calc(50% - 20px);
 height: 0;
 padding-top: 28%;
 position: relative;
}
.production_head_wrap .thumb_target {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 overflow: hidden;
}
.production_head_wrap .desc {
 color: var(--color-wht);
 padding-block: 20px;
 padding-inline: 5% 3.8%;
 width: auto;
 flex: 1;
}
.production_head_wrap .title {
 font-size: 2.6rem;
 font-weight: 600;
 line-height: 1.4;
}
.production_head_wrap .desc p {
 font-size: 1.6rem;
 line-height: 1.8;
 margin-top: 12px;
}
.production_head_wrap .desc p + p {
 margin-top: 0;
}
.production_head_wrap .link_area {
 margin-top: 20px;
 display: flex;
 justify-content: flex-end;
 gap: 30px;
}
.production_sub_wrap {
 display: flex;
 flex-flow: column;
 border-top: 1px solid var(--color-gy3);
}
.production_sub_wrap .item {
 display: flex;
 gap: 40px;
 padding-block: 24px;
 border-bottom: 1px solid var(--color-gy3);
}
.production_sub_wrap .title {
 font-size: 1.8rem;
 font-weight: 600;
 line-height: 1.6;
 width: 300px;
}
.production_sub_wrap .desc {
 font-size: 1.5rem;
 line-height: 1.6;
 flex: 1;
}
.production_sub_wrap .link {
 margin-left: auto;
 display: flex;
 align-items: center;
}
.production_sub_wrap .link span {
 display: block;
 padding-block: 0.2em;
}
.production_sub_wrap .link span + span {
 padding-left: 15px;
 margin-left: 15px;
 border-left: 1px solid var(--color-gy3);
}
.production_sub_wrap .link a {
 color: var(--color-lgr);
 font-size: 1.4rem;
 transition: 0.2s all;
}

@media screen and (min-width: 821px) {
 .item_license .thumb .thumb_target img {
  transform: translateZ(0) scale(1);
  transition: transform 0.3s cubic-bezier(0.4, 0.1, 0.3, 1);
 }
 .item_license:hover .thumb .thumb_target img {
  transform: translateZ(0) scale(1.08);
 }
 .item_license .thumb .thumb_target:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  transition: transform 0.3s cubic-bezier(0.4, 0.1, 0.3, 1);
  transform: scale(1.2);
  border: 8px solid var(--color-wht);
  z-index: 1;
 }
 .item_license:hover .thumb .thumb_target:before {
  transform: scale(1);
 }
 .item_license:hover a {
  transition: transform 0.4s cubic-bezier(0.4, 0.1, 0.3, 1);
 }
 .license_about .worklink a:hover {
  text-decoration: none;
 }
 .production_sub_wrap .link a:hover {
  color: var(--color-txt);
  text-decoration: underline;
 }
 .item_meisaku .thumb .thumb_target:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  transition: transform 0.2s cubic-bezier(0.4, 0.1, 0.3, 1);
  transform: scale(1.2);
  border: 5px solid var(--color-grn);
  z-index: 1;
 }
 .item_meisaku:hover .thumb .thumb_target:before {
  transform: scale(1);
 }
 .item_meisaku:hover a {
  transition: all 0.2s;
  color: var(--color-grn);
 }
}

@media screen and (max-width: 1040px) {
 .production_head_wrap .thumb {
  padding-top: 36%;
 }
}

@media screen and (max-width: 820px) {
 .license_flex_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 36px;
 }
 .license_flex_wrap .item {
  width: calc(33.33% - 24px);
 }
 .item_license a {
  font-size: 1.6rem;
 }
 .license_sub_wrap {
  gap: 24px;
 }
 .license_sub_wrap .item {
  width: calc(33.33% - 16px);
 }
 .item_licensesub .thumb {
  width: 72px;
 }
 .item_licensesub .desc p {
  font-size: 1.4rem;
 }
 .campaign_box .title {
  font-size: 2.2rem;
 }
 .campaign_box .desc p {
  font-size: 1.45rem;
  line-height: 1.6;
 }
 .production_flex_wrap {
  gap: 20px;
 }
 .production_flex_wrap .item {
  width: calc(50% - 10px);
 }
 .production_flex_wrap .title {
  font-size: 2.2rem;
 }
 .production_head_wrap .title {
  font-size: 2.2rem;
 }
 .production_sub_wrap .link {
  flex-flow: column;
  align-items: flex-end;
  gap: 6px;
 }
 .production_sub_wrap .link span + span {
  padding-left: unset;
  margin-left: unset;
  border-left: none;
 }
}

@media screen and (max-width: 600px) {
 .license_cat_wrap + .license_cat_wrap {
  margin-top: 80px;
 }
 .license_cat_wrap .dot_ttl {
  margin-bottom: 20px;
 }
 .license_flex_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
 }
 .license_flex_wrap .item {
  width: calc(50% - 12px);
 }
 .item_license .desc {
  margin-top: 10px;
 }
 .item_license a {
  font-size: 1.5rem;
 }
 .license_sub_wrap {
  gap: 18px;
  margin-top: 80px;
  padding-top: 40px;
 }
 .license_sub_wrap .item {
  width: calc(50% - 9px);
 }
 .item_licensesub .thumb {
  width: 50px;
 }
 .item_licensesub .desc p {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.33;
 }
 .license_head_wrap .logo {
  max-width: 80%;
 }
 .license_mv_wrap {
  margin-top: 40px;
 }
 .license_mv_wrap figure img {
  border-radius: 10px;
  max-height: 100vw;
 }
 .license_about {
  margin-top: 40px;
 }
 .license_about + .license_about {
  margin-top: 100px;
 }
 .license_about .dot_ttl {
  margin-bottom: 24px;
 }
 .license_about .flex_wrap_col2 {
  gap: 40px;
 }
 .license_about .worklink {
  margin-top: 30px;
 }
 .meisaku_flex_wrap {
  flex-flow: column;
  gap: 0;
  margin-top: 80px;
 }
 .meisaku_flex_wrap .item {
  width: 100%;
 }
 .campaign_box {
  padding: 4vw;
  border-radius: 10px;
 }
 .campaign_box_wrap {
  flex-flow: column;
 }
 .campaign_box .photo {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2%;
  border-radius: 10px;
  background-color: var(--color-wht);
 }
 .campaign_box .desc {
  width: 100%;
  padding-block: 20px;
  padding-inline: 0;
 }
 .campaign_box .cat {
  font-size: 1.1rem;
  padding: 0.8em 1em;
 }
 .campaign_box .title {
  font-size: 2rem;
 }
 .campaign_box .desc p {
  font-size: 1.4rem;
 }
 .sns_link_wrap.license {
  margin-top: 50px;
 }
 .p-license_under {
  margin-top: 80px;
  margin-bottom: 40px;
 }
 .production_index_wrap {
  margin-bottom: 20px;
  gap: 60px;
 }
 .production_flex_wrap .item {
  width: 100%;
  border-radius: 10px;
 }
 .production_flex_wrap .desc {
  padding-block: 15px;
  padding-inline: 6.66%;
 }
 .production_flex_wrap .title {
  font-size: 2rem;
 }
 .production_flex_wrap .desc p {
  font-size: 1.4rem;
  line-height: 1.6;
  margin-top: 10px;
 }
 .production_flex_wrap .link_area {
  margin-top: 10px;
  gap: 20px;
 }
 .production_head_wrap .item {
  flex-flow: column;
  border-radius: 10px;
 }
 .production_head_wrap .thumb {
  width: 100%;
  padding-top: 56%;
 }
 .production_head_wrap .desc {
  padding-block: 15px;
  padding-inline: 6.66%;
  flex: unset;
  width: 100%;
 }
 .production_head_wrap .title {
  font-size: 2rem;
 }
 .production_head_wrap .desc p {
  font-size: 1.4rem;
  line-height: 1.6;
  margin-top: 10px;
 }
 .production_head_wrap .desc p + p {
  margin-top: 0;
 }
 .production_head_wrap .link_area {
  margin-top: 20px;
  display: flex;
  justify-content: flex-end;
  gap: 30px;
 }
 .production_sub_wrap .item {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  padding-block: 16px;
 }
 .production_sub_wrap .title {
  font-size: 1.7rem;
  line-height: 1.5;
  width: 100%;
 }
 .production_sub_wrap .desc {
  font-size: 1.3rem;
  line-height: 1.6;
 }
 .production_sub_wrap .link {
  justify-content: flex-end;
 }
 .production_sub_wrap .link a {
  font-size: 1.3rem;
 }
}

@media screen and (max-width: 340px) {
 .license_flex_wrap {
  gap: 20px;
 }
 .license_flex_wrap .item {
  width: calc(50% - 10px);
 }
 .item_license .desc {
  margin-top: 6px;
 }
 .item_license a {
  font-size: 1.35rem;
 }
 .license_sub_wrap {
  gap: 18px;
  margin-top: 80px;
  padding-top: 40px;
 }
 .license_sub_wrap .item {
  width: calc(50% - 9px);
 }
 .item_licensesub .thumb {
  width: 40px;
 }
 .item_licensesub .desc p {
  font-size: 1.2rem;
 }
 .item_meisaku .thumb {
  width: 60px;
  margin-right: 10px;
 }
 .item_meisaku .thumb .thumb_target {
  width: 60px;
  height: 60px;
 }
 .item_meisaku a {
  font-size: 1.45rem;
 }
 .campaign_box .title {
  font-size: 1.8rem;
 }
 .campaign_box .desc p {
  font-size: 1.3rem;
 }
 .production_flex_wrap .title {
  font-size: 1.8rem;
 }
 .production_flex_wrap .desc p {
  font-size: 1.3rem;
  margin-top: 5px;
 }
 .production_flex_wrap .link_area {
  margin-top: 5px;
 }
 .production_sub_wrap .title {
  font-size: 1.6rem;
 }
}

/* work
---------------------------------------------------------------------------------*/
.lw-work .hdmenu_item.c_work > a,
.lw-work .heading_en {
 color: var(--color-blu);
}
.lw-work .hdmenu_item.c_work > a:before {
 width: 100%;
 right: auto;
 left: 0;
}
.lw-work .dot_ttl::before {
 background-color: var(--color-blu);
}
.work_index_wrap {
 display: flex;
 flex-flow: column;
 gap: 100px;
}
.work_index_body {
 display: flex;
 flex-flow: column;
 padding-bottom: 80px;
 position: relative;
}
.work_index_body + .work_index_body::before {
 content: "";
 position: absolute;
 top: -80px;
 left: -40px;
 width: calc(100% + 80px);
 height: 1px;
 background-color: var(--color-gy2);
}
.work_flex_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 30px;
}
.work_flex_wrap .item {
 width: calc(25% - 22.5px);
}
.item_work {
 display: flex;
 flex-flow: column;
 position: relative;
 cursor: pointer;
}
.item_work .thumb {
 width: 100%;
}
.item_work .thumb .thumb_target {
 width: 100%;
 height: auto;
 position: relative;
 overflow: hidden;
 border-radius: 16px;
 background-color: var(--color-wht);
 box-shadow: 0px 0px 20px rgba(163, 163, 163, 0.2);
 z-index: 1;
}
.item_work .desc {
 margin-top: 16px;
}
.item_work a {
 font-size: 1.7rem;
 font-weight: 600;
 letter-spacing: 0.02em;
 line-height: 1.6;
}
.item_work a::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 z-index: 1;
}
.item_work .meta {
 display: flex;
 flex-flow: column;
 margin-top: 10px;
 gap: 4px;
}
.item_work .date,
.item_work .story {
 font-size: 1.3rem;
 font-weight: 400;
 line-height: 1.44;
 letter-spacing: 0.02em;
}
.item_work .cat_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 4px;
 margin-top: 6px;
}
.item_work .cat {
 display: block;
 color: var(--color-wht);
 font-size: 1.1rem;
 font-weight: 500;
 padding: 0.8em 1em;
 border-radius: 2em;
 background-color: var(--color-blu);
}

/* color */
.dot_ttl.c-meisaku::before,
.c-button.c-meisaku.-on a,
.c-button.c-meisaku a span::before,
.item_work .cat.c-meisaku,
.work_area .entry_meta .cat.c-meisaku,
.work_meta .cat_wrap .cat.c-meisaku {
 background-color: var(--color-grn);
}
.dot_ttl.c-family::before,
.c-button.c-family.-on a,
.c-button.c-family a span::before,
.item_work .cat.c-family,
.work_area .entry_meta .cat.c-family,
.work_meta .cat_wrap .cat.c-family {
 background-color: var(--color-ylw);
}
.dot_ttl.c-comic::before,
.c-button.c-comic.-on a,
.c-button.c-comic a span::before,
.item_work .cat.c-comic,
.work_area .entry_meta .cat.c-comic,
.work_meta .cat_wrap .cat.c-comic {
 background-color: var(--color-ylw);
}
.dot_ttl.c-sports::before,
.c-button.c-sports.-on a,
.c-button.c-sports a span::before,
.item_work .cat.c-sports,
.work_area .entry_meta .cat.c-sports,
.work_meta .cat_wrap .cat.c-sports {
 background-color: var(--color-wbl);
}
.dot_ttl.c-action::before,
.c-button.c-action.-on a,
.c-button.c-action a span::before,
.item_work .cat.c-action,
.work_area .entry_meta .cat.c-action,
.work_meta .cat_wrap .cat.c-action {
 background-color: var(--color-pnk);
}
.dot_ttl.c-literature::before,
.c-button.c-literature.-on a,
.c-button.c-literature a span::before,
.item_work .cat.c-literature,
.work_area .entry_meta .cat.c-literature,
.work_meta .cat_wrap .cat.c-literature {
 background-color: var(--color-gld);
}
.dot_ttl.c-comedy::before,
.c-button.c-comedy.-on a,
.c-button.c-comedy a span::before,
.item_work .cat.c-comedy,
.work_area .entry_meta .cat.c-comedy,
.work_meta .cat_wrap .cat.c-comedy {
 background-color: var(--color-org);
}
.dot_ttl.c-movie::before,
.c-button.c-movie.-on a,
.c-button.c-movie a span::before,
.item_work .cat.c-movie,
.work_area .entry_meta .cat.c-movie,
.work_meta .cat_wrap .cat.c-movie {
 background-color: var(--color-ppl);
}
.dot_ttl.c-preschool::before,
.c-button.c-preschool.-on a,
.c-button.c-preschool a span::before,
.item_work .cat.c-preschool,
.work_area .entry_meta .cat.c-preschool,
.work_meta .cat_wrap .cat.c-preschool {
 background-color: var(--color-ylw2);
}
.dot_ttl.c-drama::before,
.c-button.c-drama.-on a,
.c-button.c-drama a span::before,
.item_work .cat.c-drama,
.work_area .entry_meta .cat.c-drama,
.work_meta .cat_wrap .cat.c-drama {
 background-color: var(--color-red);
}
.c-button.c-all.-on a,
.c-button.c-all a span::before {
 background-color: var(--color-gy4);
}
.c-button.c-meisaku.-on a em,
.c-button.c-family.-on a em,
.c-button.c-sports.-on a em,
.c-button.c-action.-on a em,
.c-button.c-literature.-on a em,
.c-button.c-comic.-on a em,
.c-button.c-comedy.-on a em,
.c-button.c-movie.-on a em,
.c-button.c-preschool.-on a em,
.c-button.c-drama.-on a em,
.c-button.c-all.-on a em {
 color: var(--color-wht);
}
.c-button.c-meisaku.-on a span::before,
.c-button.c-family.-on a span::before,
.c-button.c-sports.-on a span::before,
.c-button.c-action.-on a span::before,
.c-button.c-literature.-on a span::before,
.c-button.c-comic.-on a span::before,
.c-button.c-comedy.-on a span::before,
.c-button.c-movie.-on a span::before,
.c-button.c-preschool.-on a span::before,
.c-button.c-drama.-on a span::before,
.c-button.c-all.-on a span::before {
 background-color: var(--color-wht);
}

@media screen and (min-width: 821px) {
 .lw-work .searchForm button:hover {
  background-color: var(--color-blu);
 }
 .c-button.c-action:not(.-on) a:hover span::before {
  animation: btn-in-large 0.2s ease-in forwards;
 }
 .item_work .thumb .thumb_target img {
  transform: translateZ(0) scale(1);
  transition: transform 0.3s cubic-bezier(0.4, 0.1, 0.3, 1);
 }
 .item_work:hover .thumb .thumb_target img {
  transform: translateZ(0) scale(1.08);
 }
 .item_work .thumb .thumb_target:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  transition: transform 0.3s cubic-bezier(0.4, 0.1, 0.3, 1);
  transform: scale(1.2);
  border: 10px solid var(--color-blu);
  z-index: 1;
 }
 .item_work:hover .thumb .thumb_target:before {
  transform: scale(1);
 }
 .item_work:hover a {
  transition: transform 0.4s cubic-bezier(0.4, 0.1, 0.3, 1);
 }
 .item_work:hover a {
  color: var(--color-blu);
 }
 .work_meta .cat_wrap .cat.c-meisaku:hover,
 .work_meta .cat_wrap .cat.c-family:hover,
 .work_meta .cat_wrap .cat.c-sports:hover,
 .work_meta .cat_wrap .cat.c-action:hover,
 .work_meta .cat_wrap .cat.c-literature:hover,
 .work_meta .cat_wrap .cat.c-comedy:hover,
 .work_meta .cat_wrap .cat.c-movie:hover,
 .work_meta .cat_wrap .cat.c-preschool:hover,
 .work_meta .cat_wrap .cat.c-drama:hover {
  background-color: var(--color-txt);
 }
}

@media screen and (max-width: 820px) {
 .work_index_body {
  margin-top: 0;
 }
 .work_index_body + .work_index_body::before {
  left: 0;
  width: 100%;
 }
 .work_flex_wrap .item {
  width: calc(33.33% - 20px);
 }
}

@media screen and (max-width: 600px) {
 .work_index_wrap {
  gap: 60px;
 }
 .work_index_body {
  padding-bottom: 40px;
 }
 .work_index_body + .work_index_body::before {
  top: -60px;
 }
 .work_flex_wrap {
  gap: 24px 12px;
 }
 .work_flex_wrap .item {
  width: 100%;
 }
 .item_work {
  flex-flow: row nowrap;
 }
 .item_work .thumb {
  width: 90px;
  margin-right: 16px;
 }
 .item_work .thumb .thumb_target {
  width: 90px;
  height: 90px;
  border-radius: 10px;
 }
 .item_work .desc {
  flex: 1;
  margin-top: 0;
 }
 .item_work a {
  font-size: 1.45rem;
  line-height: 1.6;
 }
 .item_work .meta {
  margin-top: 5px;
  gap: 2px;
 }
 .item_work .date,
 .item_work .story {
  font-size: 1.15rem;
 }
 .item_work .cat_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
 }
 .item_work .cat {
  font-size: 1.1rem;
  padding: 0.5em 0.8em;
 }
}

@media screen and (max-width: 340px) {
 .item_work .cat {
  font-size: 1rem;
  padding: 0.6em 0.8em;
 }
}

/* work single */
.work_head_wrap {
 display: flex;
 gap: 80px;
}
.work_logo {
 max-width: 360px;
}
.work_meta {
 flex: 1;
}
.work_meta .cat_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 5px;
}
.work_meta .cat_wrap .cat {
 display: block;
 color: var(--color-wht);
 font-size: 1.1rem;
 font-weight: 500;
 padding: 0.8em 1em;
 border-radius: 2em;
 transition: 0.2s;
 background-color: var(--color-blu);
}
.work_meta .meta_wrap {
 display: flex;
 flex-flow: column;
 gap: 6px;
 margin-top: 20px;
}
.work_meta .meta_wrap p {
 font-size: 1.5rem;
 line-height: 1.4;
}
.work_meta .meta_wrap p.title {
 font-size: 1.7rem;
 font-weight: 600;
 margin-bottom: 0.5em;
}
.work_mv_wrap {
 margin-top: 50px;
 display: flex;
 justify-content: center;
}
.work_mv_wrap figure {
 max-width: 800px;
 margin-inline: auto;
}
.work_mv_wrap figure img {
 border-radius: 20px;
 width: auto;
 max-height: 600px;
}
.work_about {
 margin-top: 70px;
}
.work_about + .work_about {
 margin-top: 160px;
}
.work_about .dot_ttl {
 margin-bottom: 30px;
}
.work_cast_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 50px 8.32%;
}
.work_cast_wrap .item {
 width: 45.84%;
 display: flex;
 gap: 20px;
}
.work_cast_wrap .thumb {
 width: 95px;
 text-align: right;
}
.work_cast_wrap .thumb img {
 border-radius: 10px;
}
.work_cast_wrap .desc {
 flex: 1;
}
.work_cast_wrap .name {
 font-size: 1.8rem;
 font-weight: 600;
 line-height: 1.4;
}
.work_cast_wrap .txt {
 font-size: 1.4rem;
 line-height: 1.7;
 margin-top: 12px;
}
.work_cast_wrap.noimg {
 gap: 30px 5%;
}
.work_cast_wrap.noimg .item {
 width: 30%;
 gap: 0;
}
.work_cast_wrap.noimg .thumb {
 display: none;
}
.work_cast_wrap.noimg .name {
 font-size: 1.6rem;
}
.work_staff_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 30px 5%;
}
.work_staff_wrap .item {
 width: 30%;
 display: flex;
 flex-flow: column;
 gap: 8px;
}
.work_staff_wrap .job {
 font-size: 1.6rem;
 font-weight: 600;
 line-height: 1.4;
}
.work_staff_wrap .txt {
 font-size: 1.4rem;
 line-height: 1.7;
}
.p-work_single_under {
 margin-top: 60px;
 padding-bottom: 100px;
}
.sns_link_wrap {
 display: flex;
 justify-content: center;
 gap: 60px;
}
.sns_link_wrap .sns {
 display: flex;
 justify-content: center;
 align-items: center;
 gap: 14px;
}
.sns_link_wrap .sns .btn {
 display: block;
 width: 60px;
 height: 60px;
}
.sns_link_wrap .sns .btn + .btn {
 margin-left: 0;
}
.sns_link_wrap .sns .btn a {
 display: block;
 width: 60px;
 height: 60px;
 padding: 14px;
 background: var(--color-blk);
 border-radius: 100%;
 color: var(--color-wht);
 fill: var(--color-wht);
}
.sns_link_wrap .sns .btn.line a {
 padding: 12px;
 background: #06c755;
}
.sns_link_wrap .sns .btn.line a svg {
 background: url(/_assets/images/common/ico_line.svg) no-repeat 50% 50%;
 background-size: contain;
}
.sns_link_wrap .sns .btn.fb a {
 background: #0866ff;
}
.sns_link_wrap .sns .btn.fb a svg {
 background: url(/_assets/images/common/ico_fb.svg) no-repeat 50% 50%;
 background-size: contain;
}
.sns_link_wrap .sns .btn.in a {
 background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
 background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
 overflow: hidden;
 position: relative;
}
.sns_link_wrap .sns .btn.in a:before {
 content: "";
 position: absolute;
 top: 23px;
 left: -18px;
 width: 72px;
 height: 72px;
 background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
 background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
 z-index: 0;
}
.sns_link_wrap .sns .btn.in a svg {
 background: url(/_assets/images/common/ico_in.svg) no-repeat 50% 50%;
 background-size: contain;
 position: relative;
 z-index: 1;
}
.sns_link_wrap .sns .btn.yt a {
 background: #ff0000;
}
.sns_link_wrap .sns .btn.yt a svg {
 background: url(/_assets/images/common/ico_yt.svg) no-repeat 50% 50%;
 background-size: contain;
}
.sns_link_wrap .sns .btn.tt a svg {
 background: url(/_assets/images/common/ico_tt.svg) no-repeat 50% 50%;
 background-size: contain;
}
.work_movie_wrap {
 margin-top: 80px;
 max-width: 960px;
 margin-inline: auto;
}
.youtube-wrap {
 position: relative;
 width: 100%;
 padding-top: 57%;
 overflow: hidden;
 border-radius: 10px;
}
.youtube-wrap iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100% !important;
 height: 100% !important;
}
.movie_txt {
 margin-top: 30px;
 text-align: center;
 font-size: 1.5rem;
 line-height: 1.8;
}
.work_channel_wrap {
 margin-top: 40px;
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
 gap: 10px;
}
.work_channel_wrap .item {
 width: 190px;
}
.work_channel_text {
 width: 100%;
 font-size: 1.5rem;
 line-height: 1.8;
 text-align: center;
 margin-bottom: 30px;
}
.music_stream_wrap {
 display: flex;
 justify-content: center;
 gap: 60px;
 margin-top: 60px;
}
.p-work_single_under .post_search_wrap {
 margin-top: 80px;
 padding-top: 60px;
 border-top: 1px solid var(--color-gy3);
}

@media screen and (max-width: 820px) {
 .work_head_wrap {
  gap: 8%;
 }
 .work_logo {
  max-width: 36%;
 }
 .work_cast_wrap {
  gap: 50px 6%;
 }
 .work_cast_wrap .item {
  width: 47%;
 }
 .work_cast_wrap .thumb {
  width: 90px;
 }
 .work_cast_wrap.noimg {
  gap: 30px 8%;
 }
 .work_cast_wrap.noimg .item {
  width: 46%;
 }
 .work_staff_wrap {
  gap: 30px 8%;
 }
 .work_staff_wrap .item {
  width: 46%;
 }
 .sns_link_wrap {
  flex-wrap: wrap;
  gap: 30px;
 }
 .music_stream_wrap {
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 60px;
 }
}

@media screen and (max-width: 600px) {
 .work_head_wrap {
  flex-flow: column;
  gap: 40px;
 }
 .work_logo {
  max-width: 80%;
 }
 .work_meta .meta_wrap p {
  font-size: 1.4rem;
 }
 .work_mv_wrap {
  margin-top: 40px;
 }
 .work_mv_wrap figure img {
  border-radius: 10px;
  max-height: 100vw;
 }
 .work_about {
  margin-top: 40px;
 }
 .work_about + .work_about {
  margin-top: 100px;
 }
 .work_about .dot_ttl {
  margin-bottom: 24px;
 }
 .work_cast_wrap {
  gap: 40px 6%;
 }
 .work_cast_wrap .item {
  width: 100%;
  gap: 15px;
 }
 .work_cast_wrap .thumb {
  width: 25%;
 }
 .work_cast_wrap .name {
  font-size: 1.6rem;
 }
 .work_cast_wrap.noimg {
  gap: 12px 8%;
 }
 .work_cast_wrap.noimg .item {
  width: 100%;
 }
 .work_staff_wrap .item {
  width: 100%;
  gap: 6px;
 }
 .work_staff_wrap {
  gap: 24px 8%;
 }
 .p-work_single_under {
  margin-top: 40px;
  padding-bottom: 20px;
 }
 .sns_link_wrap {
  flex-flow: column;
  align-items: center;
  gap: 20px;
 }
 .sns_link_wrap .sns .btn {
  width: 40px;
  height: 40px;
 }
 .sns_link_wrap .sns .btn a {
  width: 40px;
  height: 40px;
  padding: 10px;
 }
 .sns_link_wrap .sns .btn.line a {
  padding: 9px;
 }
 .work_movie_wrap {
  margin-top: 40px;
  max-width: unset;
 }
 .movie_txt {
  margin-top: 20px;
  font-size: 1.3rem;
  line-height: 1.6;
 }
 .work_channel_wrap {
  margin-top: 40px;
  gap: 10px;
 }
 .work_channel_wrap .item {
  width: calc(50% - 5px);
 }
 .work_channel_text {
  font-size: 1.4rem;
  margin-bottom: 10px;
 }
 .music_stream_wrap {
  gap: 20px;
  margin-top: 40px;
 }
 .p-work_single_under .post_search_wrap {
  margin-top: 40px;
  padding-top: 40px;
 }
}

@media screen and (max-width: 340px) {
 .work_meta .meta_wrap p {
  font-size: 1.3rem;
 }
 .work_cast_wrap .name {
  font-size: 1.5rem;
 }
 .work_cast_wrap .txt {
  font-size: 1.3rem;
  margin-top: 10px;
 }
 .work_cast_wrap.noimg .name {
  font-size: 1.5rem;
 }
}

/* corp
---------------------------------------------------------------------------------*/
.lw-corp .hdmenu_item.c_corp > a,
.lw-corp .heading_en {
 color: var(--color-ylw);
}
.lw-corp .hdmenu_item.c_corp > a:before {
 width: 100%;
 right: auto;
 left: 0;
}
.lw-corp .dot_ttl::before,
.lw-corp .dot_ttl_s::before {
 background-color: var(--color-ylw);
}
.corp_wrap {
 display: flex;
 position: relative;
}
.corp_nav {
 width: max(100px, 30.55%);
 display: flex;
 flex-flow: column;
 gap: 80px;
 z-index: 2;
}
.corp_nav ul {
 display: flex;
 flex-flow: column;
 gap: 30px;
}
.corp_nav li {
 display: flex;
 align-items: center;
 gap: 14px;
}
.corp_nav li span {
 display: block;
 width: 7px;
 height: 7px;
 border-radius: 100%;
 background-color: var(--color-txt);
}
.corp_nav li a {
 color: var(--color-txt);
 font-size: 1.4rem;
 font-weight: 500;
}
.corp_nav li.-on span {
 background-color: var(--color-ylw);
}
.corp_nav li.-on a {
 color: var(--color-ylw);
}
.corp_body {
 flex: 1;
}
.corp_body .dot_ttl {
 align-items: flex-start;
 margin-bottom: 30px;
}
.corp_body .dot_ttl h2 {
 line-height: 1.6;
}
.corp_body .dot_ttl::before {
 margin-top: 13px;
}
.message_meta .title {
 font-size: 3.2rem;
 font-weight: 600;
 line-height: 1.6;
}
.message_body {
 margin-top: 60px;
 padding-top: 60px;
 position: relative;
}
.message_body::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 160px;
 height: 1px;
 background-color: var(--color-gy3);
}
.message_body p {
 line-height: 2.2;
}
.message_body p + p {
 margin-top: 2em;
}
.name_wrap {
 display: flex;
 justify-content: flex-end;
 align-items: center;
 gap: 30px;
 margin-top: 40px;
}
.name_illust {
 width: 220px;
}
.name_wrap .name {
 line-height: 2;
 text-align: right;
}
.corp_outline_body + .corp_outline_body {
 margin-top: 120px;
}
.corp_outline_body p {
 line-height: 1.8;
}
.corp_outline_body p + p {
 margin-top: 2em;
}
.corp_outline_body a.text_link {
 color: var(--color-ylw);
}
.map_wrap {
 width: 100%;
 margin-block: 30px 20px;
}
.map_wrap iframe {
 width: 100%;
 height: 480px;
 border-radius: 10px;
}
.map_wrap .gmap {
 margin-top: 10px;
 text-align: right;
}
.bus_desc {
 display: grid;
 grid-template-columns: 60px 1fr;
 gap: 0;
 margin-top: 1em;
}
.bus_desc p {
 padding: 2px 0;
 font-size: 1.5rem;
 line-height: 1.66;
}
.bus_desc p.bus_n em {
 color: var(--color-ylw);
}
.bus_desc p + p {
 margin-top: unset;
}
.corp_prize_body + .corp_prize_body {
 margin-top: 80px;
}
.prize_flex_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 0 30px;
}
.prize_flex_wrap .item {
 width: calc(50% - 15px);
 border: solid var(--color-gy3);
 border-width: 1px 0;
 padding-block: 12px;
 margin-top: -1px;
}
.item_prize {
 display: flex;
 align-items: center;
 position: relative;
 cursor: pointer;
}
.item_prize .thumb {
 width: 80px;
 margin-right: 16px;
}
.item_prize .thumb .thumb_target {
 width: 80px;
 height: 80px;
 position: relative;
 overflow: hidden;
 border-radius: 10px;
 background-color: var(--color-wht);
}
.item_prize .desc {
 flex: 1;
 display: flex;
 flex-flow: column;
 gap: 5px;
}
.item_prize .desc .year {
 font-size: 1.4rem;
 line-height: 1;
}
.item_prize a {
 font-size: 1.5rem;
 letter-spacing: 0.02em;
 line-height: 1.4;
}
.item_prize a::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 z-index: 1;
}

@media screen and (min-width: 821px) {
 .corp_nav li a:hover {
  opacity: 0.5;
 }
 .corp_nav li.-on a:hover {
  opacity: 1;
 }
 .item_prize .thumb .thumb_target:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  transition: transform 0.2s cubic-bezier(0.4, 0.1, 0.3, 1);
  transform: scale(1.2);
  border: 5px solid var(--color-ylw);
  z-index: 1;
 }
 .item_prize:hover .thumb .thumb_target:before {
  transform: scale(1);
 }
 .item_prize:hover .year,
 .item_prize:hover a {
  transition: all 0.2s;
  color: var(--color-ylw);
 }
}

@media screen and (max-width: 820px) {
 .corp_wrap {
  flex-flow: column-reverse;
  gap: 120px;
 }
 .corp_nav {
  width: 100%;
  gap: 40px;
 }
 .corp_nav ul {
  flex-flow: row;
 }
}

@media screen and (max-width: 600px) {
 .corp_wrap {
  gap: 80px;
 }
 .corp_nav {
  gap: 20px;
 }
 .message_meta .title {
  font-size: 2.2rem;
 }
 .message_body {
  margin-top: 40px;
  padding-top: 40px;
 }
 .message_body::before {
  width: 80px;
 }
 .message_body p {
  font-size: 1.5rem;
  line-height: 2;
 }
 .message_body p + p {
  margin-top: 2em;
 }
 .name_wrap {
  gap: 10px;
  margin-top: 40px;
 }
 .name_illust {
  width: 120px;
 }
 .name_wrap .name {
  font-size: 1.35rem;
 }
 .map_wrap {
  width: 100%;
  margin-block: 20px 20px;
 }
 .map_wrap iframe {
  width: 100%;
  height: 360px;
 }
 .map_wrap .gmap {
  margin-top: 10px;
  text-align: right;
 }
 .bus_desc {
  grid-template-columns: 52px 1fr;
  margin-top: 1.5em;
 }
 .bus_desc p {
  padding: 4px 0;
  font-size: 1.4rem;
  line-height: 1.66;
 }
 .corp_prize_body + .corp_prize_body {
  margin-top: 60px;
 }
 .corp_prize_body .dot_ttl_s br {
  display: none;
 }
 .prize_flex_wrap {
  gap: 0;
 }
 .prize_flex_wrap .item {
  width: 100%;
 }
 .item_prize .thumb {
  width: 70px;
 }
 .item_prize .thumb .thumb_target {
  width: 70px;
  height: 70px;
 }
 .item_prize .desc .year {
  font-size: 1.3rem;
 }
 .item_prize a {
  font-size: 1.5rem;
 }
}

@media screen and (max-width: 340px) {
 .corp_nav ul {
  flex-wrap: wrap;
  gap: 24px;
 }
 .corp_nav li {
  gap: 8px;
 }
 .corp_nav li a {
  font-size: 1.3rem;
 }
 .message_meta .title {
  font-size: 1.9rem;
 }
 .message_body p {
  font-size: 1.4rem;
  line-height: 2.1;
 }
 .name_wrap {
  gap: 10px;
 }
 .name_illust {
  width: 110px;
 }
 .name_wrap .name {
  font-size: 1.3rem;
 }
 .item_prize .thumb {
  width: 60px;
  margin-right: 10px;
 }
 .item_prize .thumb .thumb_target {
  width: 60px;
  height: 60px;
 }
 .item_prize a {
  font-size: 1.45rem;
 }
}

/* anniversary
---------------------------------------------------------------------------------*/
.lw-anniversary .heading_en {
 color: var(--color-gld);
}
.lw-anniversary .dot_ttl::before,
.lw-anniversary .dot_ttl_s::before {
 background-color: var(--color-gld);
}
.aniv_content {
 display: flex;
 flex-flow: column;
 align-items: center;
 width: 100%;
 padding: 60px;
 position: relative;
 border-radius: 20px;
 background: var(--color-wht) url(/_assets/images/anniversary/50th_bg.png) no-repeat 50% 0;
 background-size: 100% auto;
}
#particles-js {
 position: absolute;
 top: -160px;
 bottom: -160px;
 left: -25vw;
 right: -25vw;
 z-index: 1;
}
.aniv_logo {
 max-width: 330px;
 position: relative;
 z-index: 2;
}
.aniv_tagline {
 max-width: 714px;
 margin-top: 40px;
}
.aniv_txt {
 display: flex;
 flex-flow: column;
 align-items: center;
 gap: 50px;
 max-width: 714px;
 margin-top: 90px;
 margin-bottom: 60px;
}
.aniv_main {
 display: block;
 position: relative;
 max-width: 600px;
 margin-top: 60px;
 overflow: hidden;
 border-radius: 20px;
 z-index: 2;
}
.aniv_cap {
 display: block;
 max-width: 600px;
 margin-top: 10px;
}
.aniv_cap small {
 font-size: 10px;
 line-height: 1.4;
 display: inline-block;
 margin-right: 1em;
}
.aniv_item_01 {
 position: absolute;
 top: 0;
 right: 0;
 width: 318px;
}
.p-anniv_under {
 width: 100%;
 position: relative;
 margin-top: 140px;
 margin-bottom: 100px;
}

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

@media screen and (max-width: 600px) {
 .aniv_content {
  padding: 60px 0 0;
  border-radius: 20px;
  background-size: 150% auto;
 }
 #particles-js {
  top: -20vw;
  bottom: -20vw;
  left: -50vw;
  right: -50vw;
 }
 .aniv_logo {
  max-width: unset;
  width: 80%;
 }
 .aniv_tagline {
  max-width: unset;
  width: 80%;
  margin-top: 40px;
 }
 .aniv_txt {
  gap: 40px;
  max-width: unset;
  width: 90%;
  margin-top: 60px;
 }
 .aniv_txt p {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.06em;
 }
 .aniv_main {
  max-width: unset;
  width: 100%;
  margin-top: 50px;
 }
 .aniv_cap {
  max-width: unset;
  margin-block: 10px 20px;
  width: 90%;
 }
 .aniv_cap small {
  font-size: 10px;
  line-height: 1.4;
  display: inline;
  margin-right: 1em;
 }
 .aniv_item_01 {
  width: 40%;
 }
 .p-anniv_under {
  margin-top: 80px;
  margin-bottom: 40px;
 }
}

/* music
---------------------------------------------------------------------------------*/
.lw-music .heading_en {
 color: var(--color-ylw2);
}
.music_index_wrap {
 display: flex;
 flex-flow: column;
 gap: 160px;
}
.music_index_body {
 display: flex;
 flex-flow: column;
 position: relative;
}
.music_flex_wrap {
 display: flex;
 flex-wrap: wrap;
 gap: 30px;
}
.music_flex_wrap .item {
 width: calc(25% - 22.5px);
}
.item_music {
 display: flex;
 flex-flow: column;
 position: relative;
}
.item_music .thumb {
 width: 100%;
}
.item_music .thumb .thumb_target {
 width: 100%;
 height: auto;
 position: relative;
 overflow: hidden;
 border-radius: 16px;
 background-color: var(--color-wht);
 box-shadow: 0px 0px 20px rgba(163, 163, 163, 0.2);
 z-index: 1;
}
.item_music .desc {
 margin-top: 16px;
}
.item_music .meta {
 display: flex;
 flex-flow: column;
 gap: 4px;
}
.item_music .title {
 font-size: 1.7rem;
 font-weight: 600;
 letter-spacing: 0.02em;
 line-height: 1.6;
}
.item_music .author,
.item_music .number {
 font-size: 1.3rem;
 font-weight: 400;
 line-height: 1.44;
 letter-spacing: 0.02em;
}
.item_music .music_btn {
 margin-top: 6px;
}

@media screen and (max-width: 1080px) {
 .music_flex_wrap .item {
  width: calc(33.33% - 20px);
 }
}

@media screen and (max-width: 820px) {
 .music_flex_wrap .item {
  width: calc(33.33% - 20px);
 }
 .music_btn .a-button.s-button a {
  font-size: 1.3rem;
 }
}

@media screen and (max-width: 600px) {
 .music_index_wrap {
  gap: 60px;
 }
 .music_index_body {
  padding-bottom: 40px;
 }
 .music_index_body + .music_index_body::before {
  top: -60px;
 }
 .music_flex_wrap {
  gap: 24px 12px;
 }
 .music_flex_wrap .item {
  width: 100%;
 }
 .item_music {
  flex-flow: row nowrap;
 }
 .item_music .thumb {
  width: 120px;
  margin-right: 16px;
 }
 .item_music .thumb .thumb_target {
  width: 120px;
  height: 120px;
  border-radius: 10px;
 }
 .item_music .desc {
  flex: 1;
  margin-top: 0;
 }
 .item_music .title {
  font-size: 1.45rem;
  line-height: 1.6;
 }
 .item_music .author,
 .item_music .number {
  font-size: 1.15rem;
 }
 .item_music .music_btn {
  margin-top: 6px;
  display: flex;
  justify-content: flex-end;
 }
 .music_btn .a-button.s-button a {
  font-size: 1.2rem;
 }
}

@media screen and (max-width: 340px) {
 .music_btn .a-button.s-button a {
  font-size: 1.1rem;
 }
}

/* press
---------------------------------------------------------------------------------*/
.lw-press .hdmenu_item.c_press > a,
.lw-press .heading_en {
 color: var(--color-wbl);
}
.lw-press .hdmenu_item.c_press > a:before {
 width: 100%;
 right: auto;
 left: 0;
}
.lw-press .dot_ttl::before {
 background-color: var(--color-wbl);
}
.press_index_wrap {
 display: flex;
 flex-flow: column;
 gap: 100px;
}
.press_index_wrap .year_box_wrap .item.-on a {
 background-color: var(--color-wbl);
}
.press_list {
 display: flex;
 flex-flow: column;
}
.press_list li {
 display: block;
 border-bottom: 1px solid #ccc;
}
.press_list li:first-child {
 border-top: 1px solid #ccc;
}
.press_link {
 width: 100%;
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 40px;
 cursor: pointer;
}
.press_link .inner {
 width: 100%;
 display: flex;
}
.press_link time {
 width: max(140px, 15%);
 padding: 30px 40px 30px 0;
 font-weight: normal;
 position: relative;
}
.press_link time::after {
 content: "";
 position: absolute;
 bottom: 0;
 left: 0;
 width: 82px;
 height: 3px;
 background-color: var(--color-wbl);
}
.press_link time em.en {
 line-height: 1.8;
 letter-spacing: 0.08em;
}
.press_link .text {
 flex: 1;
 line-height: 1.8;
 padding-block: 30px;
 transition: all 0.2s;
}
.press_link .icon {
 width: 28px;
 height: 28px;
 display: flex;
 justify-content: center;
 align-items: center;
 position: relative;
}
.press_link .icon:before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 padding-top: 100%;
 border-radius: 50%;
 background-color: var(--color-wbl);
 transform: scale(0);
 transition: transform 0.4s cubic-bezier(0.6, -0.01, 0.1, 1);
 z-index: 0;
}
.press_link .icon .img {
 display: block;
 position: relative;
 width: 24px;
 height: 28px;
 background: url(/_assets/images/common/ico_pdf.png) no-repeat 50% 50%;
 background-size: contain;
 z-index: 1;
}
.acr_btn {
 margin-top: 30px;
 display: flex;
 justify-content: flex-end;
}
.press_index_body #page-navi {
 padding-bottom: 0;
 border-bottom: none;
}

@media screen and (min-width: 821px) {
 .press_link:hover .text {
  color: var(--color-wbl);
  text-decoration: underline;
 }
 .press_link:hover .icon:before {
  transform: scale(1.6);
 }
}

@media screen and (max-width: 600px) {
 .press_index_wrap {
  flex-flow: column-reverse;
  gap: 40px;
 }
 .press_link {
  gap: 15px;
  padding-block: 15px;
 }
 .press_link .inner {
  flex-flow: column;
  gap: 6px;
 }
 .press_link time {
  width: 100%;
  padding: 0;
 }
 .press_link time::after {
  bottom: unset;
  top: -16px;
  width: 70px;
 }
 .press_link time em.en {
  font-size: 1.4rem;
  font-weight: 900;
  line-height: 1;
 }
 .press_link .text {
  flex: unset;
  width: 100%;
  font-weight: 500;
  line-height: 1.6;
  padding-block: 0;
 }
 .acr_btn {
  margin-top: 20px;
 }
 .press_index_body #page-navi {
  padding-bottom: 0;
  border-bottom: none;
 }
 .press_index_body #page-navi .extend {
  display: none;
 }
}

@media screen and (max-width: 340px) {
 .press_link .text {
  font-size: 1.3rem;
 }
}

/* recruit
---------------------------------------------------------------------------------*/
.lw-recruit .hdmenu_item.c_recruit > a,
.lw-recruit .heading_en {
 color: var(--color-pnk);
}
.lw-recruit .hdmenu_item.c_recruit > a:before {
 width: 100%;
 right: auto;
 left: 0;
}
.lw-recruit .dot_ttl::before {
 background-color: var(--color-pnk);
}
.recruit_body + .recruit_body {
 margin-top: 200px;
}
.recruit_body a.text_link {
 color: var(--color-pnk);
}
.recruit_body .c-table th {
 width: 20%;
}
.block + .recruit_body {
 margin-top: 80px;
}
.recruit_body .flex_wrap_col2 {
 gap: 20px 40px;
}
.recruit_body .b-button a {
 padding: 40px 36px;
 gap: 20px;
}
.recruit_body .b-button a strong {
 font-size: 2.6rem;
 display: block;
}
.recruit_body .b-button a .word {
 font-size: 1.6rem;
 font-weight: 400;
 line-height: 1.6;
}
.recruit_body .b-button a .link {
 display: flex;
 justify-content: flex-end;
 align-items: center;
 gap: 15px;
}
.recruit_body .b-button a .link p {
 color: var(--color-txt);
 font-size: 1.5rem;
 font-weight: 500;
 transition: 0.2s all;
}
.recruit_body .b-button a span {
 margin-left: unset;
}
.recruit_body .b-button a.short {
 flex-flow: row;
 padding: 50px 36px;
 gap: 20px;
 background-color: #f88ca3;
}
.dummy_block {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 50vh;
 padding: 40px;
 border-radius: 20px;
 background-color: rgba(0, 0, 0, 0.05);
}
.rec_block + .rec_block {
 margin-top: 160px;
}
.rec_desc {
 margin-bottom: 40px;
 line-height: 2;
}
.recruit_body .license_area {
 width: 100vw;
 left: calc(-50vw + 540px);
}
.item_interview {
 display: flex;
 flex-flow: column;
 position: relative;
 padding: 40px 11.3%;
 height: 100%;
 background-color: var(--color-pnk);
 border-radius: 20px;
 cursor: pointer;
}
.item_interview .thumb {
 width: 100%;
}
.item_interview .thumb .thumb_target {
 width: 100%;
 height: auto;
 position: relative;
 overflow: hidden;
 background-color: var(--color-wht);
 box-shadow: 0px 0px 15px rgba(163, 163, 163, 0.3);
 border-radius: 100%;
 z-index: 1;
}
.item_interview .desc {
 margin-top: 25px;
 color: var(--color-txt);
}
.item_interview .desc .job {
 display: flex;
 justify-content: center;
 gap: 10px;
 font-size: 1.6rem;
 font-weight: 500;
}
.item_interview a {
 display: flex;
 justify-content: center;
 align-items: baseline;
 gap: 15px;
 margin-top: 10px;
}
.item_interview a strong {
 font-size: 2.4rem;
 font-weight: 600;
 line-height: 1.4;
 letter-spacing: 0.04em;
}
.item_interview a span {
 font-size: 1.2rem;
 line-height: 1.4;
}
.item_interview a::before {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 z-index: 1;
}
.recruit_body .swiper-button-prev,
.recruit_body .swiper-button-next {
 background-color: var(--color-gy4);
}
.recruit_body .swiper-button-prev svg,
.recruit_body .swiper-button-next svg {
 fill: var(--color-wht);
}
.interview_btn {
 display: flex;
 justify-content: flex-end;
 margin-top: 40px;
}
.flow_grid {
 display: flex;
 flex-flow: column;
 gap: 10px;
}
.flow_grid .step {
 padding: 20px;
 border-radius: 20px;
 background-color: #edd6f9;
 display: flex;
 align-items: center;
 min-height: 200px;
}
.flow_grid .step.pink {
 background-color: #fdd7ef;
}
.flow_grid .step.other {
 background-color: #d7e5f9;
}
.flow_grid .step li {
 display: flex;
 align-items: stretch;
 height: 100%;
}
.flow_grid .num {
 display: flex;
 flex-flow: column;
 align-items: center;
 justify-content: center;
 width: 170px;
 min-height: 120px;
 height: auto;
 border-right: 2px solid #fff;
}
.flow_grid .num strong {
 font-size: 2rem;
 font-family: var(--ff-avn);
}
.flow_grid .num span {
 font-size: 4rem;
 letter-spacing: 0.1em;
 position: relative;
 top: 2px;
}
.flow_grid .job {
 flex: 1;
 display: flex;
 flex-flow: column;
 justify-content: center;
 height: auto;
 padding-left: 40px;
 padding-block: 0.5em;
}
.flow_grid .job .job_name {
 font-size: 2.6rem;
 font-weight: 600;
 margin-bottom: 20px;
}
.flow_grid .job p {
 line-height: 1.8;
}
.flow_grid .photo {
 width: 300px;
 display: flex;
 gap: 20px;
 padding-left: 40px;
}
.flow_grid .photo.double {
 width: 500px;
 align-items: center;
}
.flow_grid .photo figure img {
 border-radius: 10px;
 margin-block: 10px;
}
.flow_cross {
 display: flex;
 gap: 20px;
}
.flow_cross_left {
 display: flex;
 flex-flow: column;
 gap: 20px;
 flex: 1;
}
.step_block {
 flex: 1;
 display: flex;
 flex-flow: row wrap;
 gap: 20px;
 padding-left: 40px;
 padding-block: 10px;
}
.step_block .item {
 width: 100%;
 display: flex;
 flex-flow: column;
 align-items: center;
}
.flow_grid .flow_cross_left .job {
 padding-left: 0;
 justify-content: flex-start;
}
.flow_grid .flow_cross_left .photo {
 width: auto;
 max-width: 260px;
 margin-top: 10px;
 padding-left: 0;
 justify-content: center;
}
.flow_cross_right {
 display: flex;
 flex-flow: column;
 justify-content: center;
 gap: 40px;
 width: 33%;
 padding: 20px;
 border-radius: 20px;
 background-color: #d7e5f9;
}
.flow_cross_right .item.other {
 padding: 20px;
 border-radius: 20px;
 background-color: #edf4ff;
}
.flow_grid .flow_cross_right .job {
 padding-left: 0;
}
.flow_grid .flow_cross_right .job_name small {
 font-size: 1.4rem;
 font-weight: 500;
 margin-top: 1em;
 display: block;
}
.flow_grid .flow_cross_right .photo {
 width: auto;
 max-width: 300px;
 padding-left: 0;
}
.flow_grid .ar li {
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 5px;
}
.flow_grid .ar li mark {
 width: 40px;
 height: 16px;
 display: block;
 background-color: transparent;
 background: url(/_assets/images/common/svg_ar_01.svg) no-repeat 0 0;
 background-size: contain;
}
.flow_grid .ar li mark.ppl {
 background-image: url(/_assets/images/common/svg_ar_02.svg);
}
.flow_grid .biko li {
 margin-bottom: 20px;
}
.flow_grid .biko li p {
 color: var(--color-pnk);
 line-height: 1.8;
 text-align: center;
}
.p-recruit_under {
 margin-top: 60px;
}
.p-recruit_under .post_search_wrap + .post_search_wrap {
 padding-top: 30px;
 margin-top: 30px;
 border-top: 1px solid var(--color-gy3);
}
.c-button.c-pink a span::before {
 background-color: var(--color-pnk);
}
.p-recruit_under .c-button.c-pink.-on a {
 background-color: var(--color-pnk);
}
.p-recruit_under .c-button.c-pink.-on a em {
 color: var(--color-wht);
}
.p-recruit_under .c-button.c-pink.-on a span::before {
 background-color: var(--color-wht);
}

@media screen and (min-width: 821px) {
 .recruit_body .b-button a:hover .link p {
  color: var(--color-wht);
 }
 .item_interview {
  transition: 0.3s cubic-bezier(0.4, 0.1, 0.3, 1);
 }
 .item_interview:hover {
  background-color: var(--color-txt) !important;
 }
 .item_interview .thumb .thumb_target img {
  transform: translateZ(0) scale(1);
  transition: transform 0.3s cubic-bezier(0.4, 0.1, 0.3, 1);
 }
 .item_interview:hover .thumb .thumb_target img {
  transform: translateZ(0) scale(1.08);
 }
 .item_interview:hover .desc {
  color: var(--color-wht);
 }
 .item_interview:hover a {
  transition: transform 0.4s cubic-bezier(0.4, 0.1, 0.3, 1);
 }
 .c-button:not(.-on).c-large a:hover span::before {
  animation: btn-in-large 0.2s ease-in forwards;
 }
}

@media screen and (max-width: 820px) {
 .recruit_body .flex_wrap_col2 {
  gap: 20px 20px;
 }
 .recruit_body .license_area {
  left: -5.33vw;
 }
 .recruit_body .b-button a.short {
  padding: 40px 36px;
  gap: 10px;
 }
 .recruit_body .b-button a.short strong {
  font-size: 2.2rem;
 }
 .flow_grid .step {
  padding: 30px 30px;
  min-height: 160px;
 }
 .flow_grid .step li {
  flex-flow: wrap;
 }
 .flow_grid .num {
  align-items: flex-start;
  width: 130px;
  min-height: 110px;
 }
 .flow_grid .job .job_name {
  font-size: 2.2rem;
 }
 .flow_grid .photo {
  width: 220px;
  padding-left: 20px;
  align-items: flex-end;
 }
 .flow_grid .photo.double {
  width: 100%;
  padding-left: 170px;
  margin-top: 20px;
 }
}

@media screen and (max-width: 600px) {
 .recruit_body .c-table th {
  width: 80px;
 }
 .recruit_body .flex_wrap_col2 {
  gap: 15px 20px;
 }
 .recruit_body .b-button a {
  padding: 24px 6.66vw;
  gap: 15px;
 }
 .recruit_body .b-button a strong {
  font-size: 2.2rem;
 }
 .recruit_body .b-button a .word {
  font-size: 1.4rem;
 }
 .recruit_body .b-button a .link {
  gap: 15px;
 }
 .recruit_body .b-button a .link p {
  font-size: 1.3rem;
 }
 .recruit_body .b-button a span {
  right: unset;
  bottom: unset;
 }
 .recruit_body .b-button a.short {
  padding: 30px 6.66vw;
  gap: 15px;
 }
 .recruit_body .b-button a.short strong {
  font-size: 2rem;
 }
 .dummy_block {
  border-radius: 10px;
  padding: 20px;
 }
 .rec_block + .rec_block {
  margin-top: 100px;
 }
 .rec_desc {
  margin-bottom: 30px;
  line-height: 1.6;
 }
 .rec_block_interview .rec_desc {
  padding-right: 120px;
 }
 .recruit_body .license_area {
  left: -4.44vw;
  margin-top: 30px;
 }
 .item_interview {
  padding: 24px 10%;
  border-radius: 15px;
 }
 .item_interview .desc {
  margin-top: 15px;
 }
 .item_interview .desc .job {
  flex-flow: column;
  gap: 6px;
  align-items: center;
  font-size: 1.45rem;
 }
 .item_interview a {
  gap: 10px;
  margin-top: 5px;
 }
 .item_interview a strong {
  font-size: 2.2rem;
 }
 .item_interview a span {
  font-size: 1.1rem;
 }
 .interview_btn {
  margin-top: 30px;
 }
 .flow_grid .step {
  padding: 20px;
  min-height: unset;
 }
 .flow_grid .step li {
  flex-flow: column;
  height: auto;
  width: 100%;
 }
 .flow_grid .num {
  flex-flow: row;
  justify-content: center;
  width: 100%;
  padding-bottom: 10px;
  border-right: none;
  border-bottom: 2px solid #fff;
  min-height: unset;
 }
 .flow_grid .num strong {
  font-size: 2rem;
 }
 .flow_grid .num span {
  font-size: 2.4rem;
 }
 .flow_grid .job {
  width: 100%;
  padding-left: 0;
  padding-block: 15px 0;
 }
 .flow_grid .job .job_name {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 15px;
 }
 .flow_grid .job p {
  line-height: 1.6;
  margin-bottom: 0.5em;
 }
 .flow_grid .photo {
  width: 100%;
  padding-inline: 5%;
  align-items: unset;
 }
 .flow_grid .photo.double {
  padding-inline: 0;
  margin-top: unset;
  gap: 5px;
 }
 .flow_cross {
  flex-flow: column;
  gap: 2px;
 }
 .flow_cross_left {
  width: 100%;
  gap: 2px;
 }
 .step_block {
  gap: 10px;
  padding-left: unset;
  padding-block: unset;
 }
 .step_block .item {
  padding: 5px 0 0;
 }
 .flow_grid .flow_cross_left .job {
  padding-left: 0;
  justify-content: flex-start;
 }
 .flow_grid .flow_cross_left .photo {
  width: auto;
  max-width: 260px;
  margin-top: 10px;
  padding-left: 0;
  justify-content: center;
 }
 .flow_cross_right {
  flex-flow: row;
  gap: 5px;
  width: 100%;
  padding: 20px 10px;
 }
 .flow_cross_right .item.other {
  width: 100%;
  padding: 10px;
  border-radius: 10px;
 }
 .flow_grid .flow_cross_right .job_name small {
  font-size: 1.1rem;
  font-weight: 400;
  margin-top: 1em;
  display: block;
 }
 .flow_grid .flow_cross_right .photo {
  width: auto;
  max-width: 300px;
  padding-left: 0;
 }
 .flow_grid .step_block .photo {
  margin-top: 0;
  padding-inline: 0;
 }
 .flow_grid .ar li {
  padding: 1px 5px;
 }
 .flow_grid .biko li p {
  font-size: 1.3rem;
 }
 .p-recruit_under {
  margin-top: 40px;
 }
 .p-recruit_under .post_search_wrap + .post_search_wrap {
  padding-top: 20px;
  margin-top: 20px;
 }
}

@media screen and (max-width: 340px) {
 .recruit_body .b-button a strong {
  font-size: 2rem;
 }
 .rec_block_interview .rec_desc {
  padding-right: 110px;
 }
 .flow_grid .step {
  padding: 20px 14px;
 }
}

/* interview */
.interview_head {
 display: flex;
 flex-flow: row-reverse;
 align-items: center;
}
.in_item {
 width: 540px;
 margin-top: 50px;
 display: flex;
 align-items: center;
 gap: 30px;
 position: relative;
 padding: 40px;
 background-color: var(--color-pnk);
 border-radius: 20px;
 z-index: 2;
}
.in_item .thumb {
 display: block;
 width: 180px;
 aspect-ratio: 1, 1;
 position: relative;
 overflow: hidden;
 background-color: var(--color-wht);
 border-radius: 100%;
 z-index: 1;
}
.in_item .desc {
 display: flex;
 flex-flow: column;
 gap: 20px;
 color: var(--color-wht);
}
.in_item .desc .job {
 display: flex;
 flex-flow: row wrap;
 gap: 10px;
 font-size: 1.8rem;
 font-weight: 500;
}
.in_item .name {
 display: flex;
 align-items: flex-end;
 gap: 15px;
}
.in_item .desc .name strong {
 font-size: 2.4rem;
 font-weight: 600;
}
.in_item .desc .name span {
 font-size: 1.2rem;
 font-weight: 600;
}
.in_mv {
 flex: 1;
 width: 63%;
 margin-left: -4%;
 display: flex;
 justify-content: flex-end;
 z-index: 1;
}
.in_mv_image {
 position: relative;
}
.in_mv_image img {
 border-radius: 20px;
}
.interview_body {
 margin-top: 100px;
 margin-inline: auto;
 max-width: 960px;
}
.interview_body_flex {
 display: flex;
 flex-flow: column;
 gap: 80px;
}
.interview_body .dot_ttl {
 margin-bottom: 20px;
}
.interview_body .message {
 margin-top: 60px;
 border: 4px solid var(--color-pnk);
 border-radius: 20px;
 padding: 60px;
}
.interview_body .message .message_ttl {
 margin-top: -94px;
 display: flex;
 justify-content: center;
}
.interview_body .message .message_ttl span {
 display: inline-block;
 color: var(--color-wht);
 font-size: 2.2rem;
 font-weight: 600;
 padding: 1em 30px;
 border-radius: 20px;
 background-color: var(--color-pnk);
}
.interview_body .message .comment {
 max-width: 700px;
 margin-top: 30px;
 margin-inline: auto;
}
.interview_link {
 display: flex;
 flex-flow: row wrap;
 gap: 40px 20px;
}
.interview_link .item {
 width: calc((100% - 40px) * 0.33);
 margin-top: 0;
}
.in_01 .item_interview,
.in_item.in_01 {
 background-color: var(--color-ylw);
}
.in_02 .item_interview,
.in_item.in_02 {
 background-color: var(--color-pnk);
}
.in_03 .item_interview,
.in_item.in_03 {
 background-color: var(--color-grn);
}
.in_04 .item_interview,
.in_item.in_04 {
 background-color: var(--color-lgr);
}
.in_05 .item_interview,
.in_item.in_05 {
 background-color: var(--color-org);
}
.in_06 .item_interview,
.in_item.in_06 {
 background-color: var(--color-wbl);
}
.in_07 .item_interview,
.in_item.in_07 {
 background-color: var(--color-ylw2);
}
.in_08 .item_interview,
.in_item.in_08 {
 background-color: var(--color-ppl2);
}

@media screen and (max-width: 820px) {
 .interview_head {
  flex-flow: column-reverse;
  align-items: unset;
 }
 .in_item {
  margin-top: 0;
 }
 .in_mv {
  width: 540px;
  margin-left: auto;
  margin-top: -3vw;
 }
 .interview_body .message {
  margin-top: 40px;
  padding: 6%;
  padding-block: 30px 30px;
 }
 .interview_body .message .message_ttl {
  margin-top: -52px;
 }
 .interview_body .message .message_ttl span {
  font-size: 1.6rem;
  padding: 0.75em 20px;
  border-radius: 20px;
 }
 .interview_body .message .comment {
  max-width: unset;
  margin-top: 15px;
 }
 .interview_link {
  gap: 20px;
 }
 .interview_link .item {
  width: calc((100% - 20px) * 0.5);
  margin-top: 0;
 }
 .interview_body_flex {
  gap: 40px;
 }
}

@media screen and (max-width: 600px) {
 .in_item {
  width: 100%;
  gap: 20px;
  padding: 6%;
 }
 .in_mv {
  width: 100%;
  margin-left: unset;
  margin-top: -3vw;
 }
 .in_item .thumb {
  width: 50%;
 }
 .in_item .desc .job {
  flex-flow: column;
  font-size: 1.5rem;
  font-weight: 500;
 }
 .in_item .name {
  flex-flow: column;
  align-items: flex-start;
  gap: 10px;
 }
 .interview_body {
  margin-top: 40px;
  max-width: unset;
 }
 .interview_link {
  gap: 10px;
 }
 .interview_link .item {
  width: calc((100% - 10px) * 0.5);
 }
}

/* contact
---------------------------------------------------------------------------------*/
.lw-contact .heading_en {
 color: var(--color-org);
}
.lw-contact .dot_ttl::before {
 background-color: var(--color-org);
}
.lw-contact a.text_link {
 color: var(--color-org);
}
.dot_ttl.dot_form {
 align-items: flex-start;
}
.dot_ttl.dot_form::before {
 position: relative;
 top: 23px;
}
.dot_ttl.dot_form .heading3 {
 flex: 1;
}

/* p-faq */
.toggleBox {
 display: block;
 width: 100%;
 background-color: var(--color-wht);
 border-radius: 40px;
 position: relative;
 transition: all 0.3s linear;
 z-index: 2;
}
.toggleBox + .toggleBox {
 margin-top: 20px;
}
.toggleBox_dt {
 display: block;
 width: 100%;
 padding: 1.3em 90px;
 font-size: 1.8rem;
 font-weight: 500;
 border-radius: 3em;
 position: relative;
 cursor: pointer;
 transition: all 0.3s linear;
}
.toggleBox_dt .qes {
 line-height: 1.8;
}
.toggleBox_dt::before {
 content: "";
 display: block;
 width: 26px;
 height: 26px;
 background: url(/_assets/images/common/ico_ques.svg) no-repeat 50% 50%;
 position: absolute;
 left: 36px;
 top: 26px;
}
.toggleBox_dt .bt {
 display: block;
 position: absolute;
 top: 50%;
 right: 15px;
 width: 50px;
 height: 50px;
 margin-top: -25px;
 background: var(--color-org);
 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;
}
.toggleBox_dd .ans::before {
 content: "";
 display: block;
 width: 26px;
 height: 26px;
 background: url(/_assets/images/common/ico_ans.svg) no-repeat 50% 50%;
 position: absolute;
 left: 36px;
 top: 22px;
}
.toggleBox_dd .ans p {
 font-size: 1.6rem;
 line-height: 1.9;
}
.toggleBox.-open {
 box-shadow: 0px 0px 14px rgba(237, 122, 72, 0.6);
}
.toggleBox_dt.-open .bt::before {
 background-color: var(--color-org);
}
.toggleBox_dt.-open .bt::after {
 opacity: 0;
}
.toggleBox_dt.-open .bt {
 background-color: var(--color-gy1);
}

@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: 820px) {
 .dot_ttl.dot_form::before {
  top: 19px;
 }
 .p-faq .faq_ttl {
  min-height: 100px;
 }
 .p-faq .faq_ttl h3 {
  font-size: 3rem;
  padding-right: 140px;
  background-size: auto 100px;
 }
}

@media screen and (max-width: 600px) {
 .dot_ttl.dot_form::before {
  top: unset;
 }
 .p-faq {
  width: 100%;
  margin-top: 60px;
 }
 .p-faq .ttl {
  margin-bottom: 0;
 }
 .p-faq .p-section_narrow {
  padding-top: 0px;
 }
 .p-faq .faq_ttl {
  min-height: 80px;
 }
 .p-faq .faq_ttl h3 {
  font-size: 2.2rem;
  padding-right: 110px;
  background-size: auto 80px;
 }
 .p-faq .faq_ttl h3 br {
  display: none;
 }
 .p-faq .block {
  margin-top: 30px;
 }
 .toggleBox {
  border-radius: 25px;
 }
 .toggleBox + .toggleBox {
  margin-top: 16px;
 }
 .toggleBox_dt {
  padding: 1em 45px;
  font-size: 1.5rem;
 }
 .toggleBox_dt .qes {
  line-height: 1.6;
 }
 .toggleBox_dt::before {
  left: 15px;
  top: 17px;
  width: 20px;
  height: 20px;
 }
 .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 {
  left: 15px;
  top: 17px;
  width: 20px;
  height: 20px;
 }
 .toggleBox_dd .ans p {
  font-size: 1.4rem;
  line-height: 1.8;
 }
 .toggleBox.-open {
  box-shadow: 0px 0px 14px rgba(237, 122, 72, 0.6);
 }
}

@media screen and (max-width: 340px) {
 .p-faq .faq_ttl {
  min-height: 60px;
 }
 .p-faq .faq_ttl h3 {
  font-size: 2rem;
  padding-right: 80px;
  background-size: auto 60px;
 }
 .toggleBox + .toggleBox {
  margin-top: 15px;
 }
 .toggleBox_dt {
  padding: 1em 40px;
  font-size: 1.4rem;
 }
 .toggleBox_dt .qes {
  line-height: 1.6;
 }
 .toggleBox_dt::before {
  left: 13px;
  top: 17px;
  width: 16px;
  height: 16px;
 }
 .toggleBox_dd .ans {
  position: relative;
  padding: 10px 15px 30px 36px;
 }
 .toggleBox_dd .ans::before {
  font-size: 1.8rem;
  left: 10px;
  top: 12px;
 }
 .toggleBox_dd .ans p {
  font-size: 1.3rem;
  line-height: 1.8;
 }
}

.flowArea {
 width: 400px;
 margin: 0 auto;
 text-align: center;
 position: relative;
 display: flex;
 justify-content: space-between;
}
.flowArea::before {
 content: "";
 display: block;
 width: 100%;
 height: 2px;
 position: absolute;
 top: 40px;
 left: 0;
 background-color: #bbb;
 z-index: 0;
}
.flowArea .flow {
 width: 80px;
 height: 80px;
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 100%;
 background-color: #bbb;
 z-index: 1;
}
.flowArea .flow .txt {
 color: var(--color-wht);
 font-size: 1.4rem;
 font-weight: 500;
 line-height: 1.2;
 white-space: nowrap;
 display: inline-block;
}
.flowArea .flow.on {
 background-color: var(--color-txt);
}
.flowArea .flow.on .txt {
 font-size: 1.6rem;
 font-weight: 700;
}

@media screen and (max-width: 600px) {
 .p-section + .p-section.p-section_form {
  margin-top: 60px;
  padding-top: 60px;
 }
 .flowArea {
  width: 90%;
 }
 .flowArea::before {
  height: 2px;
  top: 30px;
 }
 .flowArea .flow {
  width: 60px;
  height: 60px;
 }
 .flowArea .flow .txt {
  font-size: 1.3rem;
 }
 .flowArea .flow.on .txt {
  font-size: 1.5rem;
 }
}

/* entry
---------------------------------------------------------------------------------*/
.p-form.-confirm input[type="text"],
.p-form.-confirm input[type="email"],
.p-form.-confirm textarea {
 padding: 0;
 background: transparent;
}
.p-form {
 margin-top: 20px;
 border-top: 1px solid #ccc;
}
.p-form_item {
 display: flex;
 border-bottom: 1px solid #ccc;
}
.p-form_label {
 flex: 1;
 display: flex;
 flex-flow: column;
 width: 220px;
 flex-basis: 220px;
 padding: 26px 24px;
 background: #f9f9f9;
 font-size: 1.6rem;
 font-weight: 600;
 line-height: 1.6;
}
.p-form_label.-required::after {
 content: "";
 background: var(--color-red);
 color: var(--color-wht);
 font-size: 1.2rem;
 line-height: 20px;
 width: 40px;
 margin-top: 12px;
 border-radius: 4px;
 letter-spacing: 0.12em;
 text-align: center;
}
.p-form_label.-align-top {
 align-items: flex-start;
}
.p-form__group .p-form_field:not(:last-of-type) {
 border-bottom: 1px solid #ccc;
}
.p-form_field {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 font-size: 1.6rem;
 width: 720px;
 min-height: 79px;
 padding: 20px 23px;
}
.p-form_field .error {
 width: 100%;
 margin-top: 10px;
 color: var(--color-red);
}
.p-form_field span {
 display: inline-block;
 line-height: 1;
}
.p-form_field span.-size01 {
 width: 42px;
}
.p-form_field span.-size02 {
 width: auto;
 margin: 0 0.5em;
}
.p-form_field span > span.-small {
 display: inline-block;
 margin-top: 5px;
 font-size: 1.2rem;
}
.p-form_field input[type="text"],
.p-form_field input[type="email"],
.p-form_field select {
 font-size: 1.6rem;
 height: 54px;
 width: 100%;
 padding: 0 0.5em;
 border-radius: 0;
 background: #f4f4f4;
 border: 1px solid #e2e5e7;
 position: relative;
 border-radius: 4px;
}
.p-form_field input[type="text"]:focus,
.p-form_field input[type="email"]:focus {
 outline: 0;
}
.p-form_field input[type="text"].-size01,
.p-form_field input[type="email"].-size01 {
 width: 224px;
}
.p-form_field input[type="text"].-size02,
.p-form_field input[type="email"].-size02 {
 width: 140px;
}
.p-form_field input[type="text"].-error,
.p-form_field input[type="email"].-error {
 background: #ffe8e5;
 border-color: var(--color-red);
}
.p-form_field .select-wrap {
 width: 100%;
 position: relative;
}
.p-form_field .select-wrap::after {
 content: "";
 position: absolute;
 top: 50%;
 right: 15px;
 margin-top: -5px;
 width: 8px;
 height: 8px;
 display: block;
 border: solid var(--color-txt);
 border-width: 0 2px 2px 0;
 transform: rotate(45deg);
 z-index: 3;
}
.p-form_field textarea {
 height: 220px;
 width: 100%;
 font-size: 1.6rem;
 line-height: 1.6;
 padding: 0.5em;
 border-radius: 4px;
 background: #f4f4f4;
 border: 1px solid #e2e5e7;
}
.p-form_field.-short textarea {
 height: 80px;
}
.p-form_field input::placeholder,
.p-form_field textarea::placeholder {
 color: #cccccc;
}
.p-form_field input:focus::-webkit-input-placeholder,
.p-form_field textarea:focus::-webkit-input-placeholder {
 color: transparent;
}
.p-form_field input:focus::-moz-placeholder,
.p-form_field textarea:focus::-moz-placeholder {
 color: transparent;
}
.p-form_field input:focus::-ms-input-placeholder,
.p-form_field textarea:focus::-ms-input-placeholder {
 color: transparent;
}
.p-form_field input:focus::placeholder,
.p-form_field textarea:focus::placeholder {
 color: transparent;
}
.p-form_field textarea:focus {
 outline: 0;
}
.p-form_field-name:not(:first-of-type) {
 margin-left: 20px;
}
.-confirm .p-form_field-name:not(:first-of-type) {
 margin-left: 3em;
}
.-confirm .p-form_field-name > .-size01 {
 display: none;
}
.p-form__button01 {
 margin-left: 20px;
}
.-confirm .p-form__button01 {
 display: none;
}
.p-form__button01 input {
 display: block;
 width: 120px;
 height: 40px;
 margin: auto;
 background: var(--color-wht);
 border: 1px solid var(--color-bl1);
 color: var(--color-bl1);
 font-size: 1.5rem;
 letter-spacing: 0.12em;
 text-align: center;
 border-radius: 20px;
 transition: 120ms linear;
}
.p-form__button01 input:hover {
 background-color: var(--color-gy3);
 box-shadow: 0px 0px 20px rgba(95, 167, 187, 0.2);
}
.p-form__radio {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 min-height: 40px;
}
.p-form__agree {
 margin-top: 36px;
 text-align: center;
}
.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-org);
 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-txt);
 box-shadow: 0px 0px 20px rgba(237, 122, 72, 0.8);
}
.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-gy3);
 border: none;
 color: var(--color-wht);
 font-size: 1.6rem;
 font-weight: bold;
 letter-spacing: 0.08em;
 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);
 box-shadow: 0px 0px 20px rgba(95, 167, 187, 0.2);
}
.mw_wp_form .p-form_field .error {
 width: 100%;
 margin-top: 10px;
 color: var(--color-red);
}
.mw_wp_form .p-form_field .error + .error {
 margin-top: 10px;
}
.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-gy1);
 border: 1px solid var(--color-gy2);
}
.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-org);
}
:checked + .mwform-checkbox-field-text::after {
 opacity: 1;
}
.p-form-block01 {
 display: flex;
 align-items: center;
 justify-content: center;
 margin-top: 30px;
}
.p-form-block01 a {
 color: var(--color-org);
 text-decoration: underline;
}
.p-section_single .block + .block.outline {
 margin-top: 0;
}
.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 {
 display: none;
}
.mw_wp_form_confirm .p-form__button-wrap {
 margin-top: 57px;
}
.mw_wp_form_confirm .p-form_field-name:not(:first-of-type) {
 margin-left: 30px;
}
.mw_wp_form_confirm .p-form_label.-required::after {
 content: none;
}
.mw_wp_form_confirm .p-form__button-wrap {
 line-height: 0;
}
.mw_wp_form_confirm .p-form_field {
 line-height: 1.9;
}
.mw_wp_form_complete .p-form__button-wrap {
 margin-top: 120px;
}
.p-form_error {
 margin-bottom: 20px;
}
.block-center {
 max-inline-size: fit-content;
 margin-inline: auto;
}
.p-form.-complete {
 margin-top: 80px;
 border-top: none;
}

@media screen and (max-width: 1000px) {
 .p-form_field input[type="text"].-size01,
 .p-form_field input[type="email"].-size01 {
  width: 190px;
 }
}

@media screen and (min-width: 821px) {
 .p-form__button03 input:hover,
 .p-form__button03 button:hover,
 .p-form__button03 a:hover {
  background: #999999;
 }
}

@media screen and (max-width: 820px) {
 .p-form {
  margin-top: 0;
 }
 .p-form-block01 {
  flex-direction: column;
 }
 .p-form-block01__text {
  order: 2;
  margin-top: 10px;
 }
 .p-form-block01__ssl {
  order: 1;
  margin: auto;
 }
 .p-form-block02__content {
  padding: 15px 20px;
 }
 .p-form_item {
  display: block;
 }
 .p-form_label {
  flex-flow: row;
  width: 100%;
  padding: 10px 15px;
  font-size: 1.5rem;
  line-height: 1.6;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
 }
 .p-form_label.-required::after {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.1rem;
  line-height: 1;
  width: 40px;
  margin-top: unset;
  margin-left: 20px;
 }
 .p-form__group .p-form_field:not(:last-of-type) {
  border-bottom: 0;
 }
 .p-form_field {
  flex-wrap: wrap;
  width: 100%;
  padding: 20px 15px;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
 }
 .p-form_field input[type="text"].-size01,
 .p-form_field input[type="email"].-size01 {
  width: calc(100% - 52px);
 }
 .p-form_field-name {
  width: 100%;
 }
 .p-form_field-name:not(:first-of-type) {
  margin: 10px 0 0;
 }
 .-confirm .p-form_field-name:not(:first-of-type) {
  margin-left: 0;
 }
 .p-form-block02 {
  margin-top: 20px;
 }
 .p-form-block02 .toggleBox_dt {
  padding: 1em 20px;
  font-size: 1.4rem;
  margin-top: 0;
 }
 .p-form-block02 .toggleBox {
  border-radius: 25px;
 }
 .p-form-block02 .toggleBox_dt .qes {
  line-height: 1.4;
 }
 .p-form-block02 .toggleBox_dt .bt {
  right: 10px;
  width: 30px;
  height: 30px;
  margin-top: -15px;
 }
 .p-form-block02 .toggleBox_dt .bt::before,
 .p-form-block02 .toggleBox_dt .bt::after {
  left: calc(50% - 5px);
  width: 10px;
 }
 .p-form-block02 .toggleBox_dd {
  padding: 0;
  border: none;
 }
 .p-form-block02 .toggleBox_dd .ans {
  padding: 20px 20px 40px;
 }
 .p-form__button-wrap {
  flex-wrap: wrap;
  margin-top: 20px;
 }
 .-confirm .p-form__button-wrap {
  margin-top: 30px;
 }
 .p-form__button02 input,
 .p-form__button03 input,
 .p-form__button03 button {
  margin: 10px 20px;
 }
 .mw_wp_form .p-form_field .error {
  font-size: 1.4rem;
 }
 .mwform-radio-field {
  margin-left: 0 !important;
 }
 .mwform-radio-field + .mwform-radio-field {
  margin: 20px 0 0 !important;
 }
 .pp-ttl {
  font-size: 1.3rem;
  padding: 0.5em;
 }
 .pp-body {
  padding: 15px;
  height: 200px;
 }
 .p-form-block02__term::before {
  top: 3px;
 }
 .p-form-block02__term:not(:first-of-type) {
  margin-top: 18px;
 }
 .p-form-block02__desc {
  margin-top: 8px;
  font-size: 1.2rem;
  line-height: 1.44;
 }
 .p-form-block02__desc02 dl {
  font-size: 1.2rem;
  gap: 0 10px;
 }
 .p-form__agree {
  margin-top: 30px;
 }
}

@media screen and (max-width: 600px) {
 .p-form_field span.-size02 {
  margin: 0 0.5em 0 0;
 }
 .p-form-block02 .toggleBox_dt .bt {
  right: 8px;
  width: 24px;
  height: 24px;
  margin-top: -12px;
 }
 .p-form__button01 input {
  width: 80px;
  font-size: 1.3rem;
 }
 .p-form__button02,
 .p-form__button03 {
  width: 100%;
 }
 .p-form__button02 input {
  margin: 10px auto;
  width: 80%;
  height: 70px;
 }
 .p-form__button03 input,
 .p-form__button03 a {
  margin: 10px auto;
  width: 80%;
  height: 70px;
 }
 .mw_wp_form_complete .p-form__button-wrap {
  margin-top: 60px;
 }
}

@media screen and (max-width: 340px) {
 .p-form_field input[type="text"].-size02,
 .p-form_field input[type="email"].-size02 {
  width: 45%;
 }
 .p-form_field {
  padding: 15px 10px;
 }
 .p-form__button02 input {
  width: 100%;
  height: 70px;
 }
 .p-form__button03 input,
 .p-form__button03 a {
  width: 100%;
 }
}

/* other
---------------------------------------------------------------------------------*/
.lw-other .heading_en {
 color: var(--color-red);
}
.lw-other .ph-title .heading1 {
 font-size: 4.4rem;
}
.p-other p {
 font-size: 1.5rem;
}
.p-other h2 {
 margin-bottom: 20px;
}
.p-other .name_wrap .name {
 line-height: 1.8;
}
.ot_list_01 li + li {
 margin-top: 0.5em;
}
.ot_list_01 {
 margin-top: 20px;
 padding-left: 20px;
}
.ot_list_01 li {
 position: relative;
 padding-left: 1.3em;
 text-indent: -1.3em;
 font-size: 1.5rem;
 line-height: 1.8;
}
.sitemap_wrap {
 display: flex;
 justify-content: space-between;
 gap: 20px;
}
.sm_list {
 width: 100%;
 display: flex;
 flex-flow: column;
}
.sm_item {
 margin-bottom: 40px;
}
.sm_item > a {
 font-size: 1.7rem;
 font-weight: 600;
 letter-spacing: 0.06em;
 display: block;
 margin-bottom: 1em;
}
.other_item + .other_item {
 margin-top: 40px;
}
.other_item a {
 display: flex;
 align-items: center;
 position: relative;
 color: var(--color-txt);
 font-size: 1.4rem;
 font-weight: 400;
 line-height: 1.4;
 letter-spacing: 0.04em;
 transition: color 120ms linear;
}
.other_item a:before {
 content: "";
 display: block;
 width: 12px;
 height: 1px;
 margin-right: 8px;
 background-color: var(--color-txt);
 opacity: 0.4;
}
.other_item a + a {
 margin-top: 0.75em;
}

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

@media screen and (max-width: 1040px) {
 .sitemap_wrap {
  flex-wrap: wrap;
  gap: 60px;
 }
 .sm_list {
  width: calc(33.33% - 40px);
 }
}

@media screen and (max-width: 820px) {
 .sitemap_wrap {
  flex-wrap: wrap;
  gap: 0 30px;
 }
 .sm_list {
  width: calc(50% - 20px);
 }
}

@media screen and (max-width: 600px) {
 .lw-other .ph-title .heading1 {
  font-size: 2.8rem;
 }
 .p-other p {
  font-size: 1.35rem;
 }
 .p-other h2 {
  margin-bottom: 10px;
 }
 .ot_list_01 {
  padding-left: unset;
 }
 .ot_list_01 li {
  font-size: 1.35rem;
 }
 .sitemap_wrap {
  flex-wrap: wrap;
  gap: 0;
 }
 .sm_list {
  width: 50%;
 }
 .sm_item {
  margin-bottom: 30px;
 }
 .sm_item > a {
  font-size: 1.5rem;
 }
 .other_item a {
  font-size: 1.25rem;
 }
 .other_item a:before {
  content: none;
 }
}

@media screen and (max-width: 340px) {
 .lw-other .ph-title .heading1 {
  font-size: 2.6rem;
 }
 .p-other p {
  font-size: 1.3rem;
 }
 .ot_list_01 li {
  font-size: 1.3rem;
 }
}

/* oshirase
---------------------------------------------------------------------------------*/
.read_block {
 display: flex;
 justify-content: center;
}
.read_block span {
 display: flex;
 justify-content: center;
 color: var(--color-wht);
 font-size: 1.7rem;
 font-weight: 600;
 padding: 1em 1em;
 border-radius: 2em;
 background-color: var(--color-wbl);
}
.read_block + .oshirase_body {
 margin-top: 120px;
}
.oshirase_body + .oshirase_body {
 margin-top: 200px;
}
.oshirase_body {
 max-width: 840px;
 margin-inline: auto;
}

@media screen and (max-width: 820px) {
 .oshirase_body {
  max-width: unset;
 }
}

@media screen and (max-width: 600px) {
 .read_block span {
  font-size: 1.5rem;
 }
 .read_block + .oshirase_body {
  margin-top: 60px;
 }
 .oshirase_body + .oshirase_body {
  margin-top: 120px;
 }
}

@media screen and (max-width: 340px) {
 .read_block span {
  font-size: 1.4rem;
 }
}

/* animation
---------------------------------------------------------------------------------*/
.p-show-elem {
 opacity: 0;
 transform: translateY(100px);
 transition: all 2s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-elem.-show {
 opacity: 1;
 transform: translate(0, 0);
}

/* p-show-img */
.p-show-img {
 opacity: 0;
}
.p-show-img.-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.-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);
 }
}
@keyframes ani_title {
 0% {
  transform: translate(-50px, 0);
 }
 100% {
  transform: translate(0, 0);
  opacity: 1;
 }
}
@keyframes ani_opa {
 0% {
  opacity: 0;
 }
 100% {
  opacity: 1;
 }
}
