@charset "UTF-8";
body {
	overflow: hidden;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-feature-settings: "palt";
}
img {
    max-width: 100%;
    display: block;
}
::selection {
  background-color: rgba(0,0,0,1);
	color: #fff;
}
a {
	text-decoration: none;
	display: block;
	color: #000;
}
.ind {
    text-indent: -1.1em;
    padding-left: 1.1em;
    display: block;
}
.ind a {
    word-break: break-all;
    letter-spacing: -0.03em;
}
ul.ind a {
    display: inline;
    letter-spacing: 0;
}
.ind.dot {
    text-indent: -0.8em;
    padding-left: 0.8em;
}
.ind.number {
    text-indent: -2.1em;
    padding-left: 2.1em;
}


.noto-sa_j {
	font-family: "Noto Sans JP", serif;
}
.shipporiB {
	font-family: "Shippori Mincho B1", serif;
}
.kosugi {
	font-family: "Kosugi", sans-serif !important;
}

.rglr {
  font-weight: 400;
}
.mdm {
  font-weight: 500;
}
.bld {
  font-weight: 700;
}

.inner > h2 + * {
    max-width: 750px;
    padding: 0 3.125em;
    margin: 0 auto;
    width: 100%;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
}
.flex {
	display: flex!important;
}
.flex.wrap {
	flex-wrap: wrap;
}

#ageModal {
    display: flex;
    position: fixed;
    z-index: 2;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    overflow: auto;
    /* background-color: rgb(255, 255, 255); */
    align-items: center;
    justify-content: center;
    font-size: 1em;
    transition: 0.2s opacity;
    background: #000;
    color: #fff;
}

#ageModalContent {
    padding: 1.5em 0;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    max-width: 40em;
    margin: 0px auto;
    align-items: center;
    box-sizing: border-box;
}

#ageModalContent .txt {
    width: 100%;
    margin-bottom: 1.2em;
	line-height: 1.9;
}
#ageModalContent h2 {
    margin: 0.5em auto 2em;
    width: 100%;
    letter-spacing: 0px;
    font-size: 1.5em;
    font-weight: 400;
}

#ageModalContent label {
    display: block;
    margin: 1em auto 0px;
}

#ageModalContent a {
    width: 46%;
    border: 1px solid;
    margin: 0px auto 2em;
    padding: 1em;
    box-sizing: border-box;
    cursor: pointer;
    transition: background 0.2s ease 0s, color 0.2s ease 0s;
    text-decoration: none;
    color: #fff;
    border-radius: 0.4em;
}

#ageModalContent a:hover {
    background: #fff;
    color: #000;
    border-color: #fff;
}

#ageModalContent .logo {
    margin: 3em auto 0;
}

#ageModalContent .logo img {
    width: 58%;
    margin: 0 auto;
}
.custom-checkbox {
    position: relative;
    padding-left: 1.5em;
    cursor: pointer;
}

.custom-checkbox::before {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 1em;
    height: 1em;
    border: 1px solid #fff;
}

.custom-checkbox::after {
    content: "\2713";
    position: absolute;
    top: 0.05em;
    left: 0.4em;
    opacity: 0;
    font-size: 0.9em;
    color: #fff;
}

input[type="checkbox"]:checked + .custom-checkbox::after {
    opacity: 1;
    color: #fff;
}

#load {
	opacity: 0;
	transition: 0.2s opactiy;
}



section.fv h1 {
    position: relative;
    max-width: 1920px;
    overflow: hidden;
    margin: 0 auto;
}
section.fv h1 img {
    width: 100%;
}


section h2 {
    font-size: 2.75em;
    text-align: center;
    background: #000;
    color: #fff;
    margin: 1.5em auto 1em;
    line-height: 1.45em;
    padding: 0.2em 0.2em;
    box-sizing: border-box;
    font-weight: 400;
    max-width: 25em;
    width: 86%;
}

section .txt {
    text-align: justify;
    font-size: 1.75em;
    line-height: 1.5;
}

section.about .tag li {
    font-size: 1.25em;
    line-height: 1.5;
    text-align: center;
    width: 100%;
    background: #f5f5f5;
    padding: 0.5em 2em;
    min-width: fit-content;
}
section.about .tag {
    margin: 1em 0;
    justify-content: space-between;
}
section.about .tag li:nth-child(2n-1) {
    margin-right: 0.8em;
    padding: 0.5em;
}
section.about .tag li span {
    margin-right: 0.2em;
}

section.entry .step li {
    position: relative;
}
section.entry .step li:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #000 transparent transparent transparent;
    border-width: 30px 43px 0px 43px;
    margin: 0.625em auto;
}
section.entry .step li:last-child:after {
    display: none;
}


section.present .flex {
    align-items: flex-start;
}
section.present .flex .img {
    width: 44.7%;
    margin-left: auto;
    background: #000;
}
section.present .flex .txt {
    width: 51%;
}
section.present .flex .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


section.overview dl > div > dt {
    font-size: 2em;
    text-align: center;
    position: relative;
    margin: 3em auto 1em;
}
section.overview dl > div > dd {
    font-size: 1.75em;
    text-align: justify;
    line-height: 1.75;
}
section.overview dl > div > dd > dl dd {
    margin-bottom: 1.5em;
}
section.overview dt.shipporiB:before, section.overview dt.shipporiB:after {
    content: '';
    display: inline-block;
    font-family: "Noto Sans JP", sans-serif;
    transform: translateY(-0.05em);
    font-weight: 300;
}
section.overview dt.shipporiB:before {
    content: '[';
    padding-right: 0.2em;
}
section.overview dt.shipporiB:after {
    content: ']';
    padding-left: 0.2em
}
section.overview dd.cnt {
    text-align: center;
}

section.links {
    margin: 7em auto 0em;
    padding: 0;
    max-width: 750px;
}
section.links .ayahibiki a {
    background: url(../img/links_bg.jpg) no-repeat 45% 30%/250%;
    height: 26.25em;
    position: relative;
    transition: 0.4s background;
}
section.links .ayahibiki a span {
    font-size: 2em;
    background: #fff;
    padding: 1em 1.5em;
    padding-right: 2.8em;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.8s background,0.2s color;
}
section.links .ayahibiki a span:before {
    content: '';
    display: block;
    width: 1.2em;
    height: 1em;
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    background: url(../img/arr.png) no-repeat center/contain;
    transition: 0.2s filter;
}
section.links .ayahibiki a:hover {
    background: url(../img/links_bg.jpg) no-repeat 45% 30%/260%;
}
section.links .ayahibiki a:hover span {
    color: #fff;
    background: #000;
}
section.links .ayahibiki a:hover span:before {
    filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(266deg) brightness(103%) contrast(101%);
}



footer {
    padding: 2.875em 0;
}
footer .inner {
    width: 100%;
}
footer  a {
    transition: 0.2s filter;
    filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0%) contrast(100%);
}
footer a:hover {
    filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0%) contrast(10%);
}

footer a img {
	width: 100%;
}
footer .inner .links .logo {
    width: 35.75em;
    margin: 2em auto;
}
footer .inner .links .icon a {
    /* filter: invert(100%) sepia(3%) saturate(12%) hue-rotate(103deg) brightness(120%) contrast(200%); */
    width: 6.375em;
    margin: 2em auto;
}
footer .inner .links .icon {
    margin: 0;
    min-width: 1.625em;
    align-items: center;
}
footer .inner .links .icon a:nth-child(2) {
    width: 2em;
}
footer .inner .txt {
    font-size: 1.75em;
    line-height: 1.5em;
    text-align: center;
    margin: 2em auto 1.5em;
}
footer .inner .links {
	width: 100%;
}
footer .inner .copy {
    width: 100%;
    text-align: center;
    font-size: 1.5em;
    line-height: 1.83em;
    margin: 2em auto;
}



@media (max-width: 750px){
	html > body {
	font-size: 2.133vw;
}
	.pc {
		display: none!important;
	}
	.sp {
		display: block;
	}
 div#ageModal {
    font-size: 1.8em;
}
}
@media (max-width: 1100px){
	section.fv h1 {
		font-size: 1.45vw;
	}
}
@media (min-width: 751px){
	.pc {
		display: block;
	}
	.sp {
		display: none!important;
	}
body,#ageModal {
	/* background: #000; */
}
section.fv h1 img {
    width: 120em;
    max-width: none;
    left: 50%;
    transform: translateX(-50%);
    position: relative;
    margin: 0 auto;
}
section h2 {
    margin: 1.86em auto 1.13em;
    width: 95%;
}
section .txt {
    font-size: 1.125em;
    line-height: 1.77;
}
.inner > h2 + * {
    width: 700px;
    padding: 0;
}
section.about .tag li {
    font-size: 2em;
}
section.about .tag {
    margin: 1.5em auto;
}
section.entry .step {
    width: 40.625em;
}
section.overview dl > div > dt {
    font-size: 1.25em;
    line-height: 1;
    margin: 3em auto 0.6em;
}
section.overview dl > div > dd {
    font-size: 1.125em;
    line-height: 1.77;
}
	footer .inner .links .icon a {
    width: 3.875em;
}
footer .inner .links .logo {
    width: 24.375em;
}
footer .inner .txt {
    font-size: 1em;
    line-height: 2.125;
}
footer .inner .copy {
    font-size: 0.875em;
}
}

