@charset "UTF-8";
/* CSS Document */
body {
font-family: "fot-tsukuardgothic-std", sans-serif;
font-weight: 400;
font-style: normal;
}
header {
    border-left: 10px solid #c8905f;
    border-right: 10px solid #c8905f;
    border-bottom: 0px solid #c8905f;
    border-top: 10px solid #c8905f;
    background-color: #FCEB5E;
}
main {
    border-left: 10px solid #c8905f;
    border-right: 10px solid #c8905f;
    border-bottom: 10px solid #c8905f;
    border-top: 0px solid #c8905f;
    background-color: #FCEB5E;
}
h1, .h1 {
  font-size: clamp(2rem, 3vw, 2.5rem);
        line-height:1.5em;
}
h2, .h2 {
  font-size: clamp(1.25rem, 3vw, 2rem);
        line-height:1.5em;
}
h3, .h3 {
  font-size: clamp(1.5rem, 4vw, 1.75rem);
  line-height: 2em;
}
h4, .h4 {
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  line-height: 2em;
}
h5, .h5 {
  font-size: clamp(0.9rem, 4vw, 1.3rem);
     line-height: 2em;
}
.h6 {
  font-size: clamp(1rem, 2.5vw, 1.25rem);
}
p {
  font-size: clamp(1rem, 1vw, 1.25rem);
}

.bold {
	font-family: "fot-tsukuardgothic-std", sans-serif;
font-weight: 700;
font-style: normal;
}
.bg-pink {
    background: linear-gradient(90deg, #E44175 0%, #E44175 50%, #fff 50%, #fff 100%);
    width: 100vw;
}


h1,h2,h3,h4,h5 p {
    line-height: 2rem;
}
.text-brown  {
    color: #3C2618;
}
.top {
    width: 100vw;
    min-height: 100vh;
}
.bg-back {
	min-width: 100vw;
	min-height: 100vh;
	margin-left: auto;
	margin-right: auto;
}
.bg-white {
    background-color: #FFFFFF;
}
.bg-blue {
    background-color: #B9F3FF;
}
.bg-brown {
    background-color:#3C2618;
}
.bg-img {
	position: absolute;
	top: 10%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	max-width: 60vw;
	margin-left: auto;
	margin-right: auto;
	z-index: 1;
}
.bg-img2 {
	position: absolute;
	top: 90%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	max-width: 80vw;
	margin-left: auto;
	margin-right: auto;
	z-index: 1;
}
.title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	max-width: 80%;
	margin-left: auto;
	margin-right: auto;
	z-index: 10;
}
.bus {
    position: fixed;
    top: 90%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    max-width: 60vw;
    margin-left: auto;
    margin-right: auto;
    z-index: 10;
}
.footdl {
    font-size: clamp(0.75rem, 1vw, 1.25rem);
    display: flex;
    flex-flow: row wrap;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
}
.footdl dt {
    width: 50px;
    margin-right: 10px;
}
.footdl dd {
	 font-weight: 700;
}

.hiduke {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    width: 80%;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
}
.hiduke dt {
    width: 50%;
    line-height: 1.5em;
    font-size: 1.2em;
}
.hiduke dd {
 font-size: 1.2em;
	 font-weight: 700;
    width: 50%;
}

time {
    font-weight: 700;
    font-size: 24pt;
    line-height: 1em;
	padding-bottom: 30px;
}
.times {
    font-weight: 700;
    font-size: 20pt;
    line-height: 1em;
	margin-bottom: 30px;
}
time small {
    font-weight: 700;
    font-size: 14pt;
	 line-height: 0.5em;
}
.box-ten {
    border: 2px dotted #000000;
    padding-top: 30px;
    padding-right: 0px;
    padding-bottom: 10px;
    padding-left: 0px;
}
.basyo {
    margin-top: 20px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
}
.basyo li {
    font-weight: 700;
    list-style-type: none;
    font-size: 16pt;
}
.basyo li img {
    margin-left: 10px;
}
.mb-45 {
    margin-bottom: 1.2em;
    border-width: medium;
}
.mt-45 {
    margin-top: 1.5em;
    border-width: medium;
}

.dls {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
}

.kaijyo {
    background-color: #000000;
    color: #FFFFFF;
    padding-top: 5px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-left: 10px;
    width: 80px;
    font-size: 100%;
	    margin-top: 10px;
    margin-bottom: 0px;
    line-height: 1.5em;
    margin-left: auto;
    margin-right: auto;
	 font-weight: 700;
}

.size1 {
	 width: 240px;
}
.size2 {
	 width: 200px;
}
.dls dt {
    background-color: #000000;
    color: #FFFFFF;
    padding-top: 5px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-left: 10px;
    width: 100px;
    font-size: 90%;
    margin-right: 10px;
	margin-bottom: 10px;
    line-height: 1.5em;
}
.dls dd {
    text-align: left;
    font-weight: 700;
    list-style-type: none;
    font-size: 14pt;
    width: 100%;
}
.dls2 {
	display: flex;
flex-flow: row wrap;
	justify-content:center;
}
.dls2 dt {
    background-color: #000000;
    color: #FFFFFF;
    padding-top: 5px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-left: 10px;
    width: 70px;
    margin-right: 10px;
    line-height: 1.5em;
}
.dls2 dd {
    font-weight: 700;
    list-style-type: none;
    font-size: 14pt;
    line-height: 1.5em;
    padding-top: 2px;
}
.dls3 {
	display: flex;
flex-flow: row wrap;
	justify-content:left;
}
.dls3 dt {
    background-color: #000000;
    color: #FFFFFF;
    padding-top: 5px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-left: 10px;
    width: 70px;
    margin-right: 10px;
    line-height: 1.5em;
}
.dls3 dd {
    font-weight: 700;
    list-style-type: none;
    font-size: 14pt;
    line-height: 1.5em;
    padding-top: 2px;
}
.dls4 {
	display: flex;
flex-flow: row wrap;
	justify-content:left;
}
.dls4 dt {
    background-color: #000000;
    color: #FFFFFF;
    padding-top: 5px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-left: 10px;
    width: 100px;
    margin-right: 10px;
    line-height: 1.5em;
}
.dls4 dd {
    font-weight: 700;
    list-style-type: none;
    font-size: 14pt;
    line-height: 1.5em;
    padding-top: 2px;
}
.btn-dark {
    background-color: #3C2618;
}
.line {
    padding-top: 15px;
    padding-bottom: 15px;
    border: 2px solid #3C2618;
    margin-bottom: 30px;
    padding-right: 15px;
    padding-left: 15px;
}
.line2 {
    padding-top: 15px;
    padding-bottom: 5px;
    border: 2px solid #3C2618;
    margin-bottom: 30px;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    background-color: #FFEA38;
}
.bg-yura {
    background-image: url(../images/bg-yura.png);
    background-position: right center;
    background-size: 50% 100%;
    background-repeat: no-repeat;
}
.bg-yura2 {
    background-image: url(../images/bg-yura2.png);
    background-position: left center;
    background-size: 50% 100%;
    background-repeat: no-repeat;
}
a img:hover {
    opacity: 0.7;
}
@media (max-width:767.98px) {
	.title,.bg-img,.bg-img2 {
	max-width: 90vw;
}
	.bg-img2 img {
    width: 150px;
}
	footer h3 {
    font-size: 150%;
}
	time {
    font-size: 18pt;
}
		time2 {
    font-size: 15pt;
}
	h3 {
    font-size: 140%;
}
		h4 {
    font-size: 120%;
}
	.box-ten {
    padding-right: 10px;
    padding-left: 10px;
}
}
.title-box  {
    background-color: #FEE938;
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    color: #3C2618;
    box-shadow: 5px 5px 0px 0 #3C2618;
    -webkit-box-shadow: 5px 5px 0px 0 #3C2618;
    border: 2px solid #3c2618;
    max-width: 250px;
    margin-bottom: 30px;
    line-height: 1em;
}
.title-box2  {
    background-color: #c83d53;
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    color: #000;
    box-shadow: 5px 5px 0px 0 #3C2618;
    -webkit-box-shadow: 5px 5px 0px 0 #3C2618;
    border: 2px solid #3c2618;
    max-width: 350px;
    margin-bottom: 30px;
}
.title-box2:hover  {
    background-color: #C76C7B;
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    color: #000;
    box-shadow: 3px 3px 0px 0 rgba(0,0,0,1.00);
    -webkit-box-shadow: 3px 3px 0px 0 rgba(0,0,0,1.00);
    border: 2px solid #000000;
    max-width: 350px;
    margin-bottom: 30px;
    text-decoration: none;
}
a:hover {
    text-decoration: none;
}
.color-yellow {
    color: #FFEA02;
}
.title-black {
    color: #FFFFFF;
    background-color: #3C2618;
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 20px;
}
.line-dot {
    border: 2px dotted #3C2618;
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
}
footer {
    background-color: #FFFFFF;
}
hr {
    border-left-width: 0px;
    border-right-width: 0px;
    border-bottom: 1px solid #000000;
    border-top-width: 0px;
}
label {
    font-weight: bold;
}
.mfp-required {
    color: #000;
    background-color: #C83D53;
    font-weight: bold;
}
.input-group-text {
    color: #000;
    font-weight: bold;
}

div.mfp_err {
color: #000;
width: 100%;
}

.fv,.fv-img {
    max-height: 100vh;
}
.fv-img {
    width: auto;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width:767.98px) {
    .logobox {
    height: 30vh;
}
}
p small {
    font-weight: bold;
    line-height: 1em!important;
}
.line-h {
    line-height: 1em;
    margin-bottom: 0rem!important;
}
@keyframes charaFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}
@keyframes backZoomUp {
    0% {
        transform: translateY(12%) scale(0.88);
        opacity: 0;
    }
    100% {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}
.hero-characters {
    overflow: hidden;
}
.back-wrap {
    overflow: hidden;
    width: 100%;
}
.hero-back {
    animation: backZoomUp 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both;
}
.chara-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
.chara2-wrap {
    z-index: 2;
}
.chara1-wrap {
    z-index: 3;
}
.chara-wrap img {
    animation: charaFloat 2.5s ease-in-out 1.5s infinite;
}
.chara1-wrap img {
    animation-delay: 1.8s;
}
@media (prefers-reduced-motion: reduce) {
    .chara-wrap img,
    .hero-back {
        animation: none;
    }
}
.bg-white2 {
    background-color: #FFFFFF;
    border-radius: 20px;
}
.img-shimekiri {
    position: absolute;
    max-width: 250px;
    width: 25%;
    top: 50px;
    left: 10px;
    z-index: 5;
}
a {
    color: #000000;
}
.form-control {
    border: 1px solid #5F5F5F;
}
.input-group-text {
     border: 1px solid #5F5F5F;
}
.custom-select {
     border: 1px solid #5F5F5F;
}