@charset "UTF-8";

/*---------------------------------------------
	Browser Default Initialization
  ---------------------------------------------*/

body,
div,
dl,
dt,
dd,
ul,
ul li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
section,
nav,
article,
aside,
header,
address,
figure,
figcaption {
 margin: 0;
 padding: 0;
}
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
 font-style: normal;
 font-weight: normal;
}
table {
 border-collapse: collapse;
 border-spacing: 0;
}
caption,
th {
 text-align: left;
}
q::before,
q::after {
 content: "";
}
object,
embed {
 vertical-align: top;
}
hr,
legend {
 display: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
 font-size: 100%;
 font-weight: normal;
}
img,
abbr,
acronym,
fieldset {
 border: 0;
}
img {
 max-width: 100%;
 height: auto;
 vertical-align: bottom;
 -ms-interpolation-mode: bicubic;
}
ul li {
 list-style-type: none;
}
*,
*:before,
*:after {
 -moz-box-sizing: border-box;
 -webkit-box-sizing: border-box;
 -o-box-sizing: border-box;
 -ms-box-sizing: border-box;
 box-sizing: border-box;
}
.clearfix {
 zoom: 1;
}
.clearfix:before,
.clearfix:after {
 content: "";
 display: table;
}
.clearfix:after {
 clear: both;
}
p.ind {
 text-indent: 1em;
}
em {
 font-style: normal;
}
strong {
 font-weight: bold;
}
a {
 color: #000;
 outline: none;
 text-decoration: none;
 transition: all 0.5s ease-in-out;
 -webkit-transition: all 0.25s ease-in-out;
 -moz-transition: all 0.25s ease-in-out;
 -o-transition: all 0.25s ease-in-out;
 -ms-transition: all 0.25s ease-in-out;
}
a:active,
a:hover {
 text-decoration: none;
}
a:focus,
*:focus {
 outline: none;
}
a:hover img {
 -moz-transition: all 0.25s ease-in-out;
 -o-transition: all 0.25s ease-in-out;
 -webkit-transition: all 0.25s ease-in-out;
 transition: all 0.25s ease-in-out;
}
.object-fit {
 object-fit: cover;
 font-family: "object-fit: cover;";
 min-height: 100%;
}
.txhd {
 display: block;
 height: 0;
 overflow: hidden;
 font-size: 1rem;
 line-height: 2;
}
.pc,
.is_pc {
 display: block;
}
.sp,
.is_sp {
 display: none;
}
@-ms-viewport {
 width: auto !important;
 initial-scale: 1;
}
@media only screen and (max-width: 820px) {
 .pc {
  display: none;
 }
 .sp {
  display: block;
 }
}
@media only screen and (max-width: 600px) {
 .is_pc {
  display: none;
 }
 .is_sp {
  display: block;
 }
}

:root {
 /* Colors: */
 --color-blk: #000000;
 --color-wht: #ffffff;
 --color-ylw: #ffd700;
 --color-red: #cd0000;
 --color-blu: #0066b5;
 --color-nvy: #002167;
 --color-gy: #abb3bf;
 --color-gy2: #d3d5d8;
 --color-gy3: #f3f3f3;
 --color-base: #0e0f09;
 --ff-spe: "Spectral", serif;
}

/* ==========================================================================
Global
========================================================================== */

html {
 font-size: 62.5%;
 overflow-y: scroll;
 height: 100%;
 line-height: 1.15;
 -ms-text-size-adjust: 100%;
 -webkit-text-size-adjust: 100%;
}
html.ofyh {
 height: 100%;
 overflow-y: hidden;
}
body {
 position: relative;
 font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
 font-weight: 400;
 background: var(--color-wht);
 margin: 0;
 width: 100%;
 -ms-width: calc(100% - (100vw - 100%));
 color: var(--color-blk);
 font-size: 1.6rem;
 font-feature-settings: unset;
 line-height: 1;
 letter-spacing: 0.04em;
 text-align: left;
 -moz-text-size-adjust: 100%;
 -webkit-text-size-adjust: 100%;
 -o-text-size-adjust: 100%;
 -ms-text-size-adjust: 100%;
 text-size-adjust: 100%;
}
#wrap {
 width: 100%;
 max-width: 1800px;
 margin-inline: auto;
 min-height: 100vh;
 display: block;
 position: relative;
 overflow: hidden;
}
.ofyh {
 height: 100%;
 overflow-y: hidden;
}
.inner {
 zoom: 1;
 margin: 0 auto;
}

@media screen and (max-width: 820px) {
 body {
  width: 100%;
  font-size: 1.6rem;
  -webkit-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  min-width: inherit;
 }
 #wrap {
  width: 100%;
  height: auto;
  min-width: 280px;
 }
}

/* header
==================================================================================  */
.l-gnav__container {
 position: relative;
 width: 100%;
 height: 100px;
 z-index: 100;
 display: flex;
 justify-content: flex-end;
}
.hdlogo {
 position: absolute;
 top: 20px;
 left: 30px;
 z-index: 2;
 transition: all 0.2s ease;
}
.hdlogo a {
 display: block;
 width: 180px;
}
.hdlogo a span {
 width: 100%;
}
.l-header__navi {
 position: relative;
 display: flex;
 align-items: center;
 gap: 40px;
 height: 80px;
 padding-top: 30px;
 padding-inline: 40px;
 z-index: 3;
}
.l-header__navi ul {
 display: flex;
 position: relative;
 gap: 25px;
}
.l-header__navi li {
 display: inline-block;
 height: 30px;
 position: relative;
}
.l-header__navi li.top,
.l-header__navi li.sp {
 display: none;
}
.l-header__navi li a {
 width: auto;
 height: 100%;
 margin: 0 auto;
 display: flex;
 align-items: center;
 justify-content: center;
 position: relative;
 cursor: pointer;
}
.l-header__navi li a span {
 color: var(--color-blk);
 font-size: 1.5rem;
 font-weight: 600;
 display: flex;
 align-items: center;
 height: 100%;
 transition: 0.2s;
}
.l-header__navi li.no a {
 pointer-events: none;
}
.l-header__navi li.no a span {
 opacity: 0.1;
}
.hd__menutrigger {
 display: block;
 position: fixed;
 right: 20px;
 top: -100px;
 z-index: 1000;
 cursor: pointer;
 transition: 0.5s;
 opacity: 0;
}
.l-gnav__container.is__scroll .hd__menutrigger,
.l-gnav__container.is__open .hd__menutrigger {
 opacity: 1;
 top: 0;
}
.hd__menutrigger-inner {
 position: relative;
 width: 70px;
 height: 70px;
}
.hd__mark {
 position: absolute;
 top: 0;
 left: 0;
 width: 70px;
 height: 70px;
 transition: 0.5s;
 background-color: var(--color-blu);
}
.hd__mark .icon {
 max-width: 100%;
 max-height: 100%;
}
.hd__menutrigger span {
 transition: all 0.3s;
 width: 30px;
 height: 2px;
 background: var(--color-wht);
 display: block;
 position: absolute;
 left: 20px;
}
.hd__menutrigger span.hd__menutrigger__line01 {
 top: 26px;
}
.hd__menutrigger span.hd__menutrigger__line02 {
 top: 36px;
}
.hd__menutrigger.is__active .hd__mark {
 background-color: transparent;
}
.hd__menutrigger.is__active span {
 background: var(--color-wht);
}
.hd__menutrigger.is__active span.hd__menutrigger__line01 {
 transform: rotate(45deg) translateX(0px);
 left: 20px;
 top: 30px;
}
.hd__menutrigger.is__active span.hd__menutrigger__line02 {
 transform: rotate(-45deg) translateX(0px);
 left: 20px;
 top: 30px;
}
.hd__menutrigger.is__active .hd__menutrigger__txt em.close {
 color: var(--color-wht);
}
.hd__menutrigger .hd__menutrigger__txt {
 display: block;
 width: auto;
 position: absolute;
 top: 44px;
 left: 0;
 right: 0;
}
.hd__menutrigger .hd__menutrigger__txt em {
 color: var(--color-wht);
 font-size: 1rem;
 font-weight: 600;
 letter-spacing: 0.02em;
 text-align: center;
 display: block;
 transition: 0.5s;
 position: relative;
}
.hd__menutrigger .hd__menutrigger__txt em.menu,
.hd__menutrigger.is__active .hd__menutrigger__txt em.close {
 display: block;
}
.hd__menutrigger .hd__menutrigger__txt em.close,
.hd__menutrigger.is__active .hd__menutrigger__txt em.menu {
 display: none;
}
.hd__menutrigger .hd__menutrigger__txt em.close {
 transition: 0.5s;
}
.backlayer {
 position: fixed;
 overflow-y: auto;
 z-index: 10;
 top: -101vh;
 left: 0;
 width: 100%;
 height: 100vh;
 background-color: var(--color-blu);
 transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.backlayer.is__open {
 top: 0;
}
.l-gnav__container.is__open .l-header__navi {
 position: fixed;
 top: 0;
 left: 0;
 bottom: 0;
 width: 100%;
 height: 100vh;
 display: flex;
 padding: 0;
 background: none;
 z-index: 12;
}
.l-gnav__container.is__open .hd__logo {
 display: none;
}
.l-gnav__container.is__open .l-header__navi ul {
 border-top: none;
 width: 86%;
 margin: 0 auto;
 padding: 0;
 display: flex;
 flex-flow: column;
 align-items: center;
 gap: 30px;
}
.l-gnav__container.is__open .l-header__navi li {
 display: block;
 text-align: center;
 height: unset;
 animation: hd__start 0.8s both;
}
.l-gnav__container.is__open .l-header__navi li:first-child:before,
.l-gnav__container.is__open .l-header__navi li::after {
 display: none;
}
.l-gnav__container.is__open .l-header__navi li:nth-child(2) {
 animation-delay: 0.05s;
 -webkit-animation-delay: 0.05s;
}
.l-gnav__container.is__open .l-header__navi li:nth-child(3) {
 animation-delay: 0.1s;
 -webkit-animation-delay: 0.1s;
}
.l-gnav__container.is__open .l-header__navi li:nth-child(4) {
 animation-delay: 0.15s;
 -webkit-animation-delay: 0.15s;
}
.l-gnav__container.is__open .l-header__navi li:nth-child(5) {
 animation-delay: 0.2s;
 -webkit-animation-delay: 0.2s;
}
.l-gnav__container.is__open .l-header__navi li:nth-child(6) {
 animation-delay: 0.25s;
 -webkit-animation-delay: 0.25s;
}
.l-gnav__container.is__open .l-header__navi li:nth-child(7) {
 animation-delay: 0.3s;
 -webkit-animation-delay: 0.3s;
}
.l-gnav__container.is__open .l-header__navi li:nth-child(8) {
 animation-delay: 0.35s;
 -webkit-animation-delay: 0.35s;
}
.l-gnav__container.is__open .l-header__navi li:nth-child(9) {
 animation-delay: 0.35s;
 -webkit-animation-delay: 0.35s;
}
.l-gnav__container.is__open .l-header__navi li:nth-child(10) {
 animation-delay: 0.4s;
 -webkit-animation-delay: 0.4s;
}
.l-gnav__container.is__open .l-header__navi li:nth-child(11) {
 animation-delay: 0.45s;
 -webkit-animation-delay: 0.45s;
}
.l-gnav__container.is__open .l-header__navi li:nth-child(12) {
 animation-delay: 0.5s;
 -webkit-animation-delay: 0.5s;
}
.l-gnav__container.is__open .l-header__navi li.top {
 display: block;
}
.l-gnav__container.is__open .l-header__navi li.sp {
 display: none;
}
.l-gnav__container.is__open .l-header__navi li a {
 width: auto;
 margin: 0 auto;
 display: inline-block;
 position: relative;
 line-height: 1;
 background: none;
 cursor: pointer;
}
.l-gnav__container.is__open .l-header__navi li a span {
 color: var(--color-wht);
 font-size: 3rem;
 font-weight: 800;
 padding-top: 0;
}
@keyframes hd__start {
 0% {
  opacity: 0;
  transform: translateX(-50px);
 }
 100% {
  opacity: 1;
  transform: translateX(0);
 }
}

@media screen and (min-width: 1801px) {
 .hd__menutrigger {
  right: calc(50vw - 900px);
 }
 .backlayer {
  left: calc(50vw - 900px);
  width: 1800px;
 }
 .l-gnav__container.is__open .l-header__navi {
  left: calc(50vw - 900px);
  width: 1800px;
 }
}

@media screen and (min-width: 821px) {
 .l-header__navi li a:hover span {
  color: var(--color-red);
 }
 .l-gnav__container.is__open .l-header__navi li a:hover span {
  color: var(--color-ylw);
 }
 .hd__menutrigger:hover span.hd__menutrigger__line01 {
  transform: translateX(-6px);
 }
 .hd__menutrigger:hover span.hd__menutrigger__line02 {
  transform: translateX(6px);
 }
 .hd__menutrigger.is__active:hover span.hd__menutrigger__line01 {
  transform: rotate(45deg) translateX(0px);
 }
 .hd__menutrigger.is__active:hover span.hd__menutrigger__line02 {
  transform: rotate(-45deg) translateX(0px);
 }
}

@media only screen and (max-width: 820px) {
 .l-gnav__container {
  height: 70px;
 }
 .hdlogo {
  top: 12px;
  left: 10px;
 }
 .hdlogo a {
  width: 140px;
 }
 .l-header__navi {
  display: none;
 }
 .hd__menutrigger {
  opacity: 1;
  top: 0;
  right: 0;
 }
 .l-gnav__container.is__open .l-header__navi li.pc {
  display: none;
 }
 .l-gnav__container.is__open .l-header__navi li.sp {
  display: block;
 }
 .l-gnav__container.is__open .l-header__navi li a span {
  font-size: 3.6rem;
 }
}

@media only screen and (max-width: 600px) {
 .l-gnav__container {
  height: 60px;
 }
 .hdlogo {
  top: 12px;
  left: 10px;
 }
 .hdlogo a {
  width: 110px;
 }
 .hd__menutrigger {
  top: 0;
 }
 .hd__mark {
  width: 60px;
  height: 60px;
 }
 .hd__menutrigger-inner {
  width: 60px;
  height: 60px;
 }
 .hd__menutrigger-inner::before {
  width: 60px;
  height: 60px;
 }
 .hd__menutrigger span {
  width: 30px;
  left: 15px;
 }
 .hd__menutrigger span.hd__menutrigger__line01 {
  top: 22px;
 }
 .hd__menutrigger span.hd__menutrigger__line02 {
  top: 30px;
 }
 .hd__menutrigger.is__active span.hd__menutrigger__line01 {
  transform: rotate(25deg) translateX(0px);
  left: 15px;
  top: 26px;
 }
 .hd__menutrigger.is__active span.hd__menutrigger__line02 {
  transform: rotate(-25deg) translateX(0px);
  left: 15px;
  top: 26px;
 }
 .hd__menutrigger .hd__menutrigger__txt {
  top: 40px;
 }
 .l-gnav__container.is__open .l-header__navi {
  overflow-x: hidden;
  overflow-y: auto;
 }
 .l-gnav__container.is__open .l-header__navi ul {
  width: 88%;
  padding: 25vw 0;
 }
 .l-gnav__container.is__open .l-header__navi li a span {
  font-size: clamp(2rem, 7vw, 3rem);
 }
}

/* contents
---------------------------------------------------------------------------------*/
.section_header {
 position: relative;
 width: 100%;
 height: 30vw;
}
.section_header .bg {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
.section_header .bg img {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 max-width: 100%;
 max-height: 100%;
 -o-object-fit: cover;
 object-fit: cover;
}
.section_header .jptitle {
 display: flex;
 justify-content: center;
 align-items: center;
 position: relative;
 height: 100%;
}
.section_header .jptitle span {
 color: var(--color-blk);
 font-size: min(2.4vw, 3.6rem);
 font-weight: 800;
 line-height: 1.3;
 text-align: center;
 display: flex;
 padding: 0.2em 0.5em;
 background-color: var(--color-ylw);
}
.section_header .entitle {
 position: absolute;
 bottom: 0;
 left: 0;
 width: 100%;
 display: flex;
 justify-content: center;
}
.section_header .pagetitle {
 color: var(--color-wht);
 font-size: 5rem;
 font-family: var(--ff-spe);
 font-weight: 300;
 letter-spacing: 0.2em;
 line-height: 0.6;
}
.p-contents {
 padding-block: 100px 160px;
}
.l-container {
 width: auto;
 max-width: 1440px;
 margin-inline: auto;
 padding: 0 60px;
 position: relative;
}
.p-section {
 max-width: 1080px;
 margin-inline: auto;
 container: psection / inline-size;
}
.p-section + .p-section {
 margin-top: 120px;
}
.p-section_single {
 max-width: 880px;
 margin-inline: auto;
}
.p-section_single .block + .block {
 margin-top: 60px;
}
.p-section_narrow {
 max-width: 720px;
 margin-left: auto;
 margin-right: auto;
 container: psection / inline-size;
}
.more-btn {
 text-align: center;
 margin-top: 80px;
}
.btn {
 color: var(--color-wht);
 font-size: 1.8rem;
 font-weight: 700;
 display: inline-block;
 background-color: var(--color-blu);
 position: relative;
 transition: all 0.2s ease;
}
.btn span {
 display: block;
 padding: 1.75em 70px;
 text-align: center;
 position: relative;
 z-index: 2;
}
.btn.red {
 background-color: var(--color-red);
}
.blu {
 color: var(--color-blu);
}

@media screen and (min-width: 821px) {
 .btn:hover {
  background-color: var(--color-base);
 }
}

@media screen and (max-width: 820px) {
 .section_header .jptitle span {
  font-size: min(3.4vw, 2.6rem);
  padding: 0.2em 0.5em;
 }
 .section_header .pagetitle {
  font-size: 4rem;
  line-height: 0.6;
 }
 .p-contents {
  padding-block: 80px 120px;
 }
 .p-section {
  max-width: unset;
 }
 .p-section_single {
  max-width: unset;
 }
 .p-section_narrow {
  max-width: unset;
 }
}

@media screen and (max-width: 600px) {
 .section_header {
  height: 50vw;
 }
 .section_header .jptitle span {
  font-size: min(5vw, 1.8rem);
  padding: 0.2em 0.5em;
 }
 .section_header .pagetitle {
  font-size: min(8vw, 3rem);
 }
 .p-contents {
  padding-block: 40px 80px;
 }
 .l-container {
  padding: 0 4vw;
 }
 .p-section + .p-section {
  margin-top: 60px;
 }
 .more-btn {
  margin-top: 40px;
 }
 .btn {
  font-size: min(4.2vw, 15.75px);
 }
}

/* p-screening
 ================================================================================== */
.sc_meta {
 margin-bottom: 60px;
}
.sc_meta .copy {
 color: var(--color-nvy);
 font-size: 3.2rem;
 font-weight: 700;
 line-height: 1.6;
}
.sc_meta .copy2 {
 color: var(--color-red);
 font-size: 2.4rem;
 font-weight: 700;
 line-height: 1.7;
 margin-top: 30px;
 display: flex;
 align-items: center;
 position: relative;
}
.sc_meta .copy2::after {
 content: "";
 display: block;
 width: 80px;
 height: 2px;
 background-color: var(--color-red);
 margin-left: 10px;
}
.sc_block p {
 font-size: 1.5rem;
 font-weight: 500;
 line-height: 2;
 letter-spacing: 0.04em;
}
.sc_block p + p {
 margin-top: 40px;
}
.sc_block p.sub {
 color: var(--color-red);
 font-size: 1.4rem;
}

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

@media only screen and (max-width: 600px) {
 .sc_meta {
  margin-bottom: 40px;
 }
 .sc_meta .copy {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
 }
 .sc_meta .copy2 {
  font-size: 1.6rem;
  margin-top: 20px;
 }
 .sc_meta .copy2::after {
  width: 40px;
  height: 1px;
  margin-left: 8px;
 }
 .sc_block p {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
 }
 .sc_block p.sub {
  font-size: 1.3rem;
 }
}

/* dvd
 ================================================================================== */
#dvd .p-section {
 max-width: 940px;
}
.dvd_copy {
 color: var(--color-nvy);
 font-size: min(4.57cqw, 3.2rem);
 font-weight: 700;
 line-height: 1.6;
}
.dvd_photo {
 margin-top: 60px;
}
.dvd_block {
 margin-top: 60px;
}
.dvd_block h3 {
 font-size: 3.24rem;
 font-weight: 700;
 letter-spacing: 0.05em;
 text-align: center;
 padding-block: 60px;
 border-top: 8px solid var(--color-gy3);
 line-height: 1.4em;
}
.dvd_block p {
 font-size: 1.6rem;
 font-weight: 500;
 line-height: 2;
 letter-spacing: 0.04em;
}
.dvd_block p + p {
 margin-top: 1em;
}
.sc_block p.sub {
 color: var(--color-red);
 font-size: 1.4rem;
}
.tokuten_wrap {
 display: flex;
 flex-flow: row wrap;
 gap: 40px 5%;
}
.tokuten_wrap.center {
 justify-content: center;
}
.tokuten_wrap .item {
 width: 100%;
}
.tokuten_wrap .photoArea {
 display: block;
 position: relative;
 overflow: hidden;
}
.tokuten_wrap .photoArea .caption {
 height: 18px;
 font-size: 11px;
 text-align: right;
 display: none;
}
.tokuten_wrap .nameArea {
 margin-top: 20px;
}
.tokuten_wrap .nameArea .name {
 font-size: 2rem;
 font-weight: 700;
 line-height: 1.6;
 letter-spacing: 0;
 color: var(--color-blu);
}
.tokuten_wrap .nameArea .name time {
 margin-left: 12px;
 font-size: 1.4rem;
 font-weight: 500;
 color: var(--color-blu);
}
.tokuten_wrap .nameArea .desc {
 font-size: 1.5rem;
 line-height: 1.8em;
 margin-top: 1em;
}
.sc_trailer {
 position: relative;
 width: 100%;
 padding-top: 56.25%;
}
.sc_trailer iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
.btn.dvd_btn {
 margin-top: 120px;
 font-size: 2.8rem;
 display: block;
 background-color: var(--color-red);
}
.btn.dvd_btn span {
 padding: 1.75em 0.5em;
}

@media only screen and (min-width: 821px) {
 .btn.dvd_btn:hover {
  background-color: var(--color-base);
 }
}

@media only screen and (max-width: 600px) {
 .dvd_copy {
  font-size: min(6.37cqw, 2.2rem);
 }
 .dvd_copy br {
  display: none;
 }
 .dvd_photo {
  margin-top: 40px;
 }
 .dvd_block {
  margin-top: 40px;
 }
 .dvd_block h3 {
  font-size: min(6.37cqw, 2.2rem);
  padding-block: 40px;
 }
 .dvd_block p {
  font-size: min(4.2cqw, 1.45rem);
 }
 .tokuten_wrap {
  display: flex;
  flex-flow: column;
  gap: 40px;
 }
 .tokuten_wrap .item {
  width: 100%;
 }
 .tokuten_wrap .nameArea .name {
  font-size: min(4.63cqw, 1.6rem);
 }
 .tokuten_wrap .nameArea .name time {
  font-size: min(3.47cqw, 1.2rem);
 }
 .tokuten_wrap .nameArea .desc {
  font-size: min(4.2cqw, 1.45rem);
 }
 .btn.dvd_btn {
  margin-top: 60px;
  font-size: min(6.37cqw, 2.2rem);
 }
}

/* donation
 ================================================================================== */
.donation_block h3 {
 font-size: 3.24rem;
 font-weight: 700;
 letter-spacing: 0.05em;
 text-align: center;
 padding-block: 60px;
 margin-top: 60px;
 border-top: 8px solid var(--color-gy3);
 line-height: 1.4em;
}
.donation_block p {
 font-size: 1.6rem;
 font-weight: 500;
 line-height: 2;
 letter-spacing: 0.04em;
}
.donation_block p + p {
 margin-top: 1em;
}
.donation_btn {
 margin-block: 40px;
 text-align: center;
}
.donation_btn .btn {
 background-color: var(--color-red);
}
.donation_btn p {
 font-size: 1.5rem;
 font-weight: 400;
 line-height: 2;
 letter-spacing: 0.04em;
 margin-top: 2em;
}
.donation_wrap {
 display: flex;
 flex-flow: row wrap;
 gap: 60px 5%;
 margin-block: 60px;
}
.donation_wrap .item {
 display: flex;
 flex-direction: row-reverse;
 align-items: center;
 width: 100%;
 gap: 5%;
 padding-left: 30px;
 border-left: 2px solid var(--color-gy2);
}
.donation_wrap .dona_logo {
 width: 20%;
}
.donation_wrap .dona_word {
 width: 75%;
}
.donation_wrap .name {
 font-size: 2rem;
 font-weight: 700;
 line-height: 1.6;
 letter-spacing: 0;
 color: var(--color-blu);
}
.donation_wrap .name small {
 margin-left: 12px;
 font-size: 1.6rem;
 font-weight: 500;
 color: var(--color-blu);
}
.donation_wrap p {
 font-size: 1.5rem;
 line-height: 1.8em;
 margin-top: 1em;
}
.txt_link {
 color: var(--color-red);
 text-decoration: underline;
 font-weight: 400;
}

@media only screen and (max-width: 600px) {
 .donation_block h3 {
  font-size: min(6.37cqw, 2.2rem);
  padding-block: 40px;
  margin-top: 60px;
 }
 .donation_block p {
  font-size: min(4.2cqw, 1.45rem);
 }
 .donation_block p + p {
  margin-top: 1em;
 }
 .donation_btn {
  text-align: left;
 }
 .donation_btn a {
  width: 100%;
 }
 .donation_btn a span {
  padding: 1.75em;
 }
 .donation_btn p {
  font-size: min(4.05cqw, 1.4rem);
  line-height: 1.8;
  margin-top: 1.5em;
 }
 .donation_wrap {
  margin-block: 40px;
 }
 .donation_wrap .item {
  padding-left: 20px;
 }
 .donation_wrap .item {
  flex-direction: column;
  align-items: center;
  width: 100%;
  gap: 20px;
 }
 .donation_wrap .dona_logo {
  width: 50%;
 }
 .donation_wrap .dona_word {
  width: 100%;
 }
 .donation_wrap .name {
  font-size: min(4.63cqw, 1.6rem);
 }
 .donation_wrap .name small {
  margin-left: 12px;
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--color-blu);
 }
 .donation_wrap p {
  font-size: min(4.05cqw, 1.4rem);
  font-weight: 400;
  line-height: 1.8em;
  margin-top: 1em;
 }
 .txt_link {
  color: var(--color-red);
  text-decoration: underline;
  font-weight: 400;
 }
}

/* entry
 ================================================================================== */
.entry-wrap {
 max-width: 780px;
 margin-left: auto;
 margin-right: auto;
 text-align: left;
 position: relative;
}
.entry-wrap .msg {
 font-size: 1.6rem;
 line-height: 1.8;
 margin-bottom: 60px;
}
.entrylist dl {
 overflow: hidden;
 margin: 0;
 padding-bottom: 30px;
}
.entrylist dl + dl {
 padding-top: 30px;
}
.entrylist dt {
 font-size: 1.6rem;
 font-weight: 400;
 line-height: 1.33;
 width: 100%;
}
.entrylist dt em {
 font-size: 1.2rem;
 line-height: 1;
 color: var(--color-wht);
 background: var(--color-red);
 display: inline-block;
 padding: 4px 10px;
 position: relative;
 word-break: break-all;
 border-radius: 2px;
 margin-left: 10px;
}
.entrylist dd {
 width: 100%;
 padding-block: 20px 0;
 font-weight: normal;
 line-height: 1.8;
}
.entrylist input,
.entrylist select,
.entrylist textarea {
 margin: 0;
 vertical-align: middle;
 overflow: visible;
 line-height: normal;
 font-size: 1.6rem;
 font-weight: normal;
 display: inline-block;
 padding: 15px;
 border-radius: 0;
 width: 100%;
 line-height: 1.6em;
 letter-spacing: 0.05em;
}
.entrylist input.is {
 width: 120px;
 margin-left: 5px;
}
.entrylist select {
 position: relative;
 text-align: left;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 background-color: var(--color-gy3);
 border: 1px solid var(--color-gy2);
 box-shadow: inset 0 1px 1px var(--color-wht);
 border-radius: 4px;
 background-image: url(../img/ico_ar_03.svg);
 background-repeat: no-repeat;
 background-position: right 20px top 52%;
 background-size: auto 12px;
}
@media all and (-ms-high-contrast: none) {
 .entrylist select {
  background-position: 110% 52%;
 }
}
select::-ms-expand {
 display: none;
}
.entrylist select option:first-child {
 color: #8aa6b6;
}
.entrylist textarea {
 max-height: 500px;
}
.entrylist input::-webkit-input-placeholder,
.entrylist textarea::-webkit-input-placeholder {
 color: var(--color-gy2);
 font-size: 1.6rem;
 letter-spacing: 0em;
 font-weight: normal;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
 -webkit-appearance: button;
 appearance: button;
}
.button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
 transition: background 150ms ease-in-out;
 background: var(--color-blu);
 border: none;
 border-radius: 0;
 box-sizing: border-box;
 color: var(--color-wht);
 font-weight: 700;
 line-height: 1.2;
 outline: none;
 padding: 0.76rem 1rem;
 text-decoration: none;
 vertical-align: bottom;
}
.entrylist button,
.entrylist input[type="button"],
.entrylist input[type="reset"],
.entrylist input[type="submit"] {
 cursor: pointer;
 -webkit-appearance: button;
 appearance: button;
}
.entrylist input[type="text"],
.entrylist input[type="password"],
.entrylist input[type="email"],
.entrylist input[type="tel"],
.entrylist textarea {
 background-color: var(--color-gy3);
 border: 1px solid var(--color-gy2);
 box-shadow: inset 0 1px 1px var(--color-wht);
 border-radius: 4px;
 transition: border linear 0.2s, box-shadow linear 0.2s;
}
.entrylist input[type="text"]:focus,
.entrylist input[type="password"]:focus,
.entrylist input[type="email"]:focus,
.entrylist input[type="tel"]:focus,
.entrylist textarea:focus {
 border-color: var(--color-pink2);
 outline: 0;
}
.entrylist select:focus,
.entrylist input[type="file"]:focus,
.entrylist input[type="radio"]:focus,
.entrylist input[type="checkbox"]:focus {
 outline: thin dotted var(--color-pink2);
 outline: 0;
 outline-offset: -2px;
}
.input-block {
 display: block;
 text-align: center;
 margin-top: 40px;
}
.input-block div {
 display: inline-block;
 position: relative;
}
input.input-check {
 position: absolute;
 top: 0;
 left: 0;
 background-color: var(--color-wht);
 box-shadow: 0;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 width: 24px;
 height: 24px;
 border: solid 1px var(--color-gy2);
 cursor: pointer;
 vertical-align: middle;
}
input.input-check:checked:after {
 content: "";
 position: absolute;
 top: 2px;
 left: 2px;
 width: 18px;
 height: 18px;
 background: var(--color-base);
 display: block;
}
.submit-btn {
 text-align: center;
 margin-top: 80px;
}
.submit-btn .input-submit {
 color: #fff;
 background: var(--color-blu);
 font-size: 1.6rem;
 font-weight: 700;
 display: inline-block;
 border: 0;
 border-radius: 0;
 padding: 23px 80px;
 position: relative;
 cursor: pointer;
 transition: all 0.15s ease-in-out;
 -webkit-transition: all 0.15s ease-in-out;
}
.submit-btn .input-submit.back_btn,
.submit-btn input[type="submit"].back_btn {
 color: #fff;
 background: #666666;
 font-size: 1.6rem;
 font-weight: 700;
 line-height: 1.2;
 display: inline-block;
 border: 0;
 border-radius: 0;
 padding: 23px 40px;
 position: relative;
 cursor: pointer;
 margin-right: 20px;
 transition: all 0.15s ease-in-out;
 -webkit-transition: all 0.15s ease-in-out;
}
.submit-btn.ondisabled input {
 cursor: default;
 pointer-events: none;
 opacity: 0.1 !important;
}
.entrylist.conf dl {
 border-bottom: 1px solid var(--color-gy2);
}
.confirm {
 margin-top: 60px;
}
.confirm p {
 display: block;
 font-size: 1.4rem;
 line-height: 1.8;
}
.confirm p.dot {
 font-size: 1.3rem;
 padding: 0.25em 0 0.25em 1.5em;
 text-indent: -1.3em;
}
.confirm label {
 vertical-align: middle;
 padding-left: 40px;
 text-align: left;
 font-size: 1.4rem;
 position: relative;
}
p.error_messe {
 color: var(--color-red);
 line-height: 1.6;
}
p.error_messe + p.error_messe {
 margin-top: 1em;
}
.form-comp strong {
 font-size: 2.2rem;
 display: block;
 text-align: center;
 margin-bottom: 40px;
}
.form-comp p {
 font-size: 1.4rem;
 line-height: 1.6;
 display: block;
 text-align: center;
}

@media screen and (min-width: 821px) {
 .submit-btn .input-submit:hover {
  background: var(--color-base);
 }
}

@media screen and (max-width: 600px) {
 .entry-wrap .msg {
  font-size: 1.4rem;
  line-height: 1.8;
  margin-bottom: 40px;
 }
 .entrylist dl {
  padding-bottom: 20px;
 }
 .entrylist dl + dl {
  padding-top: 20px;
 }
 .entrylist dt {
  font-size: 1.4rem;
 }
 .entrylist dt em {
  font-size: 1.1rem;
  line-height: 1.2;
  padding: 4px 5px;
 }
 .entrylist dd {
  width: 100%;
  padding-block: 20px 0;
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.8;
 }
 .entrylist input,
 .entrylist select,
 .entrylist textarea {
  margin: 0;
  vertical-align: middle;
  overflow: visible;
  line-height: normal;
  font-size: 1.6rem;
  font-weight: normal;
  display: inline-block;
  padding: 10px;
  border-radius: 0 !important;
  width: 100%;
  line-height: 1.6em;
  letter-spacing: 0.05em;
 }
 .entrylist input.is {
  width: 40vw;
  margin-left: 5px;
 }
 .entrylist select {
  background-position: right 12px top 52%;
  background-size: auto 8px;
 }
 .entrylist textarea {
  max-height: 500px;
 }
 .entrylist input::-webkit-input-placeholder,
 .entrylist textarea::-webkit-input-placeholder {
  font-size: 14px;
 }
 .input-block {
  margin-top: 30px;
 }
 .submit-btn {
  margin-top: 40px;
 }
 .submit-btn .input-submit {
  font-size: 16px;
  padding: 1.5em 1vw;
  display: block;
  width: 100%;
 }
 .submit-btn .input-submit.back_btn,
 .submit-btn input[type="submit"].back_btn {
  font-size: 16px;
  padding: 1.5em 1vw;
  margin-right: 0;
  margin-bottom: 20px;
 }
 .confirm {
  margin-top: 30px;
 }
 .confirm p {
  font-size: 3.6vw;
 }
 .nofile {
  margin-top: 8vw;
  padding: 5vw 3vw;
 }
 .nofile p {
  font-size: 15px;
 }
 .confirm p.dot {
  font-size: 12px;
 }
 .form-comp strong {
  font-size: 18px;
  margin-top: 40px;
  margin-bottom: 40px;
 }
 .form-comp p {
  font-size: 15px;
  line-height: 1.6;
 }
}

/* [Show Animate] 出現アニメーション
    ================================================================================== */
.p-show-elem {
 opacity: 0;
 transform: translateY(100px);
 transition: all 2s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-elem.p-rev {
 opacity: 0;
 transform: translateY(-100px);
 transition: all 2s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-elem.p-left {
 opacity: 0;
 transform: translateX(-200px);
 transition: all 3s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-elem.p-right {
 opacity: 0;
 transform: translateX(200px);
 transition: all 3s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-elem.is-show,
.p-show-elem.p-rev.is-show,
.p-show-elem.p-left.is-show,
.p-show-elem.p-right.is-show {
 opacity: 1;
 transform: translate(0, 0);
}
.p-show-elem.del2 {
 transition-delay: 0.5s;
}
.p-show-elem.del3 {
 transition-delay: 0.6s;
}
.p-show-elem.del4 {
 transition-delay: 0.7s;
}
.p-show-elem.del5 {
 transition-delay: 0.8s;
}
.p-show-elem.del6 {
 transition-delay: 0.9s;
}

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

/* p-show-clip */
.p-show-clip {
 clip-path: inset(0 100% 0 0);
 transition: all 1.5s 0.5s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-clip.is-show {
 clip-path: inset(0 0 0 0);
}
.p-intro .p-text p:nth-of-type(1) {
 transition-delay: 1s;
}
.p-intro .p-text p:nth-of-type(2) {
 transition-delay: 1.15s;
}
.p-cast .cast:nth-of-type(3) {
 transition-delay: 0.65s;
}
.p-cast .cast:nth-of-type(5) {
 transition-delay: 0.65s;
}
.p-cast .cast:nth-of-type(6) {
 transition-delay: 0.8s;
}
.p-director .under {
 transition-delay: 0.65s;
}
.cast_01.p-show-clip,
.cast_02.p-show-clip {
 clip-path: none;
}
@media only screen and (max-width: 820px) {
 .p-cast.p-show-clip {
  clip-path: none;
 }
 .cast_01.p-show-clip,
 .cast_02.p-show-clip {
  clip-path: inset(0 100% 0 0);
 }
 .cast_01.p-show-clip.is-show,
 .cast_02.p-show-clip.is-show {
  clip-path: inset(0 0 0 0);
 }
}

/* p-show-img */
.p-show-img {
 clip-path: inset(0 100% 0 0);
 transition: all 1s 0s cubic-bezier(0.08, 0.8, 0.315, 1);
}
.p-show-img:after {
 content: "";
 position: absolute;
 top: 0;
 right: -1%;
 width: 101%;
 height: 100%;
 display: block;
 background: var(--color-ylw);
 transition: all 1.4s cubic-bezier(0.08, 0.8, 0.315, 1) 0.5s;
 z-index: 1;
}
.p-show-img.del2 {
 transition-delay: 0.2s;
}
.p-show-img.del3 {
 transition-delay: 0.4s;
}
.p-show-img.del4 {
 transition-delay: 0.6s;
}
.p-show-img.del2:after {
 transition-delay: 0.7s;
}
.p-show-img.del3:after {
 transition-delay: 0.9s;
}
.p-show-img.del4:after {
 transition-delay: 1.1s;
}
.p-show-img.is-show {
 clip-path: inset(0 0 0 0);
}
.p-show-img.is-show:after {
 width: 0;
}

/* p-show-ttl */
.ttl .mds.p-show-ttl {
 opacity: 0;
}
.ttl .mds.p-show-ttl.is-show {
 animation: mds_show 1.6s cubic-bezier(0.08, 0.8, 0.315, 1) 0.4s both;
}
@keyframes mds_show {
 0% {
  opacity: 0;
  transform: scale(1.2);
 }
 100% {
  opacity: 1;
  transform: scale(1);
 }
}
.ttl .sub {
 transition-delay: 1s;
}

/* p-show-item */
.stamp {
 opacity: 0;
}
.stamp.is-show {
 animation: stampzoom 0.4s cubic-bezier(0.64, 0, 1, 1) 0.4s both;
}

@keyframes stampzoom {
 0% {
  opacity: 0;
  transform: scale(3, 3);
 }
 100% {
  opacity: 0.7;
  transform: scale(1, 1);
 }
}

.review_item_01 {
 opacity: 0;
}
.review_item_01.p-show-item.is-show {
 animation: reviewitem 2.4s cubic-bezier(0.08, 0.8, 0.315, 1) 0.4s both;
}

@keyframes reviewitem {
 0% {
  opacity: 0;
  transform: translate(40%, 40%);
 }
 100% {
  opacity: 1;
  transform: translate(0, 0);
 }
}
@keyframes elem_up {
 0% {
  opacity: 0;
  transform: translateY(50px);
 }
 100% {
  opacity: 1;
  transform: translateY(0);
 }
}
@keyframes elem_down {
 0% {
  opacity: 0;
  transform: translateY(-50px);
 }
 100% {
  opacity: 1;
  transform: translateY(0);
 }
}
@keyframes obiSlideW {
 0% {
  width: 100%;
 }
 100% {
  width: 0;
 }
}
@keyframes obiSlideH {
 0% {
  height: 100%;
 }
 100% {
  height: 0;
 }
}
