@charset "utf-8";*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";margin:0;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin:0;padding:0;list-style:none}ol ol,ol ul,ul ol,ul ul{margin:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.featherlight-sample{display:none}#law td{background:#fff;border:solid 1px #999}ol{margin-bottom:1rem}.clearfix:after{content:"";clear:both;display:block}.button,::file-selector-button{inline-size:fit-content;touch-action: manipulation;user-select:none;}*:focus-visible{outline:2px solid magenta;outline-offset:2px}
.inter-<uniquifier> {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: <weight>;
    font-style: normal;
    font-variation-settings: "slnt" 0;}
.noto-sans jp-<uniquifier> {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: <weight>;
    font-style: normal;}
footer {
    background: #ffffffb3;
    text-align: center;
    padding: 10px 10px 5px;}
    footer ul li {
    font-size: 13px;
    display: inline-block;
    margin: 0 7px;}
footer ul li a { color: #222;}
footer small {
    font-size: 80%;
    margin: 20px auto 0;
    display: block;}
.mainvisual {
    overflow: hidden;
    width: 100%;
    max-width: 800px;
    height: 100vh;
    position: relative;}
.zodiac {
    transform: translateY(-50%) translateX(-50%);
    width: 100%;}
.zodiac.mv {
    z-index: -1;
    position: absolute;
    top: 20%;
    left: 30%;}
.zodiac img {
    display: block;
    margin: 0 auto;
    animation: spin 30s linear infinite;
    width: 100%;}
@keyframes spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}
.kagura {
    width: 75vh;
    position: absolute;
    bottom: -3vw;
    right: -10vw;}
.kagura img { width: 100%;}
.img01 {
    width: 60%;
    max-width: 660px;
    position: absolute;
    top: 5%;
    left: 0;
    right: 0;
    margin: 0 auto;}
.img02 {
    width: 70%;
    max-width: 726px;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: 0 auto;}
.img03 {
    width: 70%;
    max-width: 719px;
    position: absolute;
    top: 80%;
    left: 0;
    right: 0;
    margin: 0 auto;}
.img01 img,.img02 img,.img03 img { width:100%;}
.signlist {
    list-style: none;
    padding: 40px 0;
    margin: 0;
    position: relative;
    overflow: hidden;}
.signlist ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    position: relative;
    width: 90%;
    margin: 30px auto;}
.sign { cursor: pointer; }
.sign img { width: 100%; height: auto; display: block; }
.sign_{
    position: fixed; inset: 0; width: 100%; height: 100vh;
    display: none;
    align-items: center; justify-content: center; 
    flex-direction: column; gap: 14px;
    background: rgba(0,0,0,.6); backdrop-filter: blur(2px);
    z-index: 9999;
    background-image: url(/files/20add920-fc08-4076-8370-181b96f613a4.jpg);
    background-size: cover;}
.sign_.active{ display: flex; }
.sign_ > img{ 
    max-width: min(92vw, 1100px);
    max-height: calc(100vh - 160px);
    width: auto; height: auto; 
    box-shadow: 0 10px 30px rgba(0,0,0,.35);}
.sign_ a.cta { display: inline-block; }
.sign_ a.cta img{ 
    display: block;
    margin: 0 auto;
    max-width: 435px;
    max-height: calc(100vh - 160px);
    width: 92.5%;
    height: auto;}
.sign_::after{
    content: "×";
    position: fixed; top: 16px; right: 16px;
    width: 40px; height: 40px; line-height: 40px;
    text-align: center; font-size: 24px; font-weight: 700;
    color: #fff; background: rgba(0,0,0,.55);
    border-radius: 999px;
    pointer-events: none;}
body.modal-open{ overflow: hidden; }
.wrapper {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    overflow: hidden;}
.bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    max-width: 800px;
    margin: 0 auto;
    overflow: hidden;
    z-index: -1;}
.bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;}
.signbg {
    position: absolute;
    top: 0;}
.signbg img {
    width: 100%;
    height: 100%;}
.signlist .ttl {
    position: relative;
    width: 90%;
    max-width: 589px;
    margin: 0 auto;}
.signlist .ttl img { width: 100%;}
.info {
    position: relative;
    padding: 25% 0 0;}
.info .inner {    position: relative;}
.info .inner img { width: 100%;}
.info .inner .ttl {
    width: 90%;
    max-width: 625px;
    margin: 0 auto 30px;
    position: relative;
    z-index: 1;}
.info .inner .img {
    width: 90%;
    max-width: 656px;
    margin: 0 auto;}
.info .inner .txt {
    position: relative;
    z-index: 1;
    width: 90%;
    max-width: 656px;
    margin: 30px auto;}
.info .zodiac.if {
    width: 70%;
    margin: 0 auto;
    position: absolute;
    top: -8vw;
    left: 50%;
    transform: translateY(0%) translateX(-50%);
    z-index: -1;
    opacity: .7;}
.profile {
    position: relative;
    padding: 15% 0;}
.profile_ .zodiac.plf {
    width: 90%;
    margin: 0 auto;
    position: absolute;
    top: -5vw;
    left: 50%;
    transform: translateY(0%) translateX(-50%);
    z-index: -1;
    opacity: .7;}
.profile_ { position: relative;}
.profile_ .img img { width: 100%;}
.profile .letter {
    width: 90%;
    max-width: 656px;
    margin: -8vw auto 0;
    z-index: 1;
    position: relative;}
.profile .letter img { width: 100%;}
.voice {
    position: relative;
    padding: 0;}
.voice .ttl {
    width: 40%;
    max-width: 224px;
    margin: 0 auto;
    display: block;}
.voice .ttl img { width: 100%;}
.voice ul li {
    width: 90%;
    margin: 7% auto 0;
    max-width: 609px;}
.voice ul li img { width: 100%;}
.btm {
    position: relative;
    padding: 15% 0 0;}
.btm .ttl {
    width: 80%;
    margin: 0 auto;
    max-width: 576px;}
.btm .ttl img { width: 100%;}
.btm a {
    display: block;
    width: 80%;
    max-width: 572px;
    margin: min(10vw,70px) auto;}
.btm a img { width: 100%;}
.btm .img14 {
    width: 90%;
    max-width: 707px;
    margin: min(10vw,70px) auto;}
.btm .img14 img { width: 100%;}
.three {
    padding: min(10%, 30px) 0 15% 0;
    position: relative;}
.three .ttl {
    width: 80%;
    max-width: max-content;
    margin: 0 auto 10px;}
.three .ttl img { width: 100%;}
.three .cmn {
    width: 90%;
    max-width: 656px;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;}
.three .cmn img { width: 100%;}
.three .inner {
    width: 90%;
    max-width: 600px;
    padding: 20px;
    margin: 0 auto;
    display: block;
    position: relative;
    background-image: url(/files/ef75b900-5187-47a4-a9b1-bc5391e26e90.png),url(/files/00723654-4da4-49ab-9991-07ba880f5716.png),url(/files/0efcb5d2-7349-411f-819f-d1fff8f6acdd.png);
    background-size:100% clamp(5px, .5vw, 10px),100% calc(100% - (clamp(5px, .5vw, 10px) * 2)),100% clamp(5px, .5vw, 10px);
    background-position: top,left 0 top 0,bottom;
    background-repeat: no-repeat,repeat-y,no-repeat;
    color:#fff;}
.three .inner table { color:#fff;}
.three .inner table th,
.three .inner table td {padding:10px 5px;}
.toback a {
    display: block;
    background-color: #ccc;
    width: max-content;
    margin: 50px auto;
    padding: 10px 20px;
    border-radius: 7px;
    color: #000;
    box-shadow: 0 1px 4px black;}

@media screen and (max-width: 560px) {
	.mainvisual {
	    overflow: hidden;
	    position: relative;
	    width: 100%;
	    height: 100%;
	    aspect-ratio: 4 / 7;}
	.img01 {
	    width: 82.5%;
	    max-width: 660px;
	    position: absolute;
	    top: 20%;
	    left: 0;
	    right: 0;
	    margin: 0 auto;}
	.img02 {
	    width: 82.5%;
	    max-width: 726px;
	    position: absolute;
	    top: 64%;
	    left: 0;
	    right: 0;
	    margin: 0 auto;}
	.img03 {
	    width: 82.5%;
	    max-width: 719px;
	    position: absolute;
	    top: 85%;
	    left: 0;
	    right: 0;
	    margin: 0 auto;}
	.kagura {
	    width: 100%;
	    right: -20vw;
	    max-width: 380px;}
	.three .ttl img {
	    width: 100%;
	    max-height: 40px;}
}

.fade,
.fade-up,
.fade-left,
.fade-right {
    opacity: 0;
    transition: opacity 0.6s ease, transform 0.6s ease;
    will-change: opacity, transform;}
.fade-up { transform: translateY(30px);}
.fade { transform: translateY(30px);}
.fade-left { transform: translateX(-30px);}
.fade-right { transform: translateX(30px);}
.fade-up.is-visible,
.fade.is-visible,
.fade-left.is-visible,
.fade-right.is-visible {  opacity: 1;}
.fade-up.is-visible,
.fade.is-visible { transform: translateY(0);}
.fade-left.is-visible,
.fade-right.is-visible { transform: translateX(0);}
