@charset "UTF-8";
* {
  margin:0;
  padding:0;
  box-sizing:border-box;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  background: #FF362A;
  color: #222;
}
p {
  color:#000;
  font-size:18px;
  font-weight:700;
  letter-spacing:0;
  line-height:calc( 28em / 18 );
  text-align:center;
  margin-top:15px;
}
p .red {
  color:#FF362A;
  font-weight:900;
}
.inline-block {
  display:inline-block;
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  text-decoration:inherit;
}
img {
  width:100%;
  max-width:100%;
}

.outer {
  width:100%;
  min-height: 100vh;
  background: #FF362A;
  overflow: hidden;
	position:relative;
}
.outer::before {
	content:"";
	display:block;
	width:100%;
	height:100vh;
	background-image: url('../img/bg_repeat.png');
  background-position:top center;
  background-repeat:repeat;
  background-size:35px 34px;
	position:fixed;
	top:0;
	left:0;
}

.page-col {
  max-width: 600px;
  margin: 0 auto;
  background: #fff;
	box-shadow:0 0 80px rgba(0,0,0,0.5);
  position: relative;
}

.section-kv img {
  width:120%;
  max-width:none;
  margin:0 -10%;
}

.section {
  width:100%;
}
.container {
  padding:0 10px;
}
.se-title {
	width:100%;
	margin:0 auto;
}
.deco {
  width:calc( 60px + 38 * ( 100vw - 320px ) / ( 540 - 320 ) );
  max-width:98px;
  margin:5px auto 20px;
}

.section01 .container {
  padding:10px;
}
.section01 .inner {
  padding:37px 0 30px;
  background-image: url('../img/bg_se01.png');
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}
.section01 .se-title {
  width: calc(100% * 700 / 600);
  max-width: none;
  margin:0 calc(100% * -50 / 600);
}
.section01 .image-area {
  width:100%;
  max-width:380px;
  margin:10px auto 0;
}
.section02 .inner {
  padding:40px 10px 70px;
  margin:0 auto;
  background-image: url('../img/bg_blue.png');
  background-position:top center;
  background-repeat:no-repeat;
  background-size:cover;
  border:4px solid #000;
}
.section02 .se-title {
  width:calc( 100vw * 372 / 540 );
  max-width:372px;
  width:calc( 100vw * 394 / 540 );
  max-width:394px;
}
.section02 .info-tab {
	width:100%;
  max-width:500px;
	margin:50px auto 0;
	position:relative;
	z-index:0;
}
.section02 .date-note + .info-tab {
	margin-top:40px;
}
.section02 .info-tab div,
.section02 .info-tab::before {
  width: 100%;
  background-color:#fff;
  border-radius: 30px;
  padding: 13px 0;
}
.section02 .info-tab::before {
	content:"";
	display:block;
	width:100%;
	height:100%;
  background-color:#74B3ED;
  position:absolute;
  top:5px;
  left:0;
  z-index:-1;
}
.section02 .info-tab img {
	width:auto;
	height:24px;
	margin:0 auto;
}
.section02 .date-block {
  /* width:100%; */
  width:calc( 100% * 285 / 492 );
	max-width:285px;
  margin:30px auto 0;
}
.section02 .date-block img + img {
  margin-top:24px;
}
.section02 .date-note {
	font-size:14px;
	font-weight:400;
	line-height:1;
	margin-top:24px;
}
.section02 .place-block {
  width:100%;
	max-width:436px;
  margin:30px auto 0;
}
.section02 .map-box {
  width:100%;
  max-width:500px;
	height:280px;
  margin:26px auto 0;
	padding:6px;
	background-color:#fff;
	border:4px solid #000;
}
details.accordion {
	width:100%;
  max-width:500px;
	margin:40px auto 0;
}
details.accordion summary {
	font-size:18px;
	font-weight:900;
	letter-spacing:0;
	line-height:30px;
	width:100%;
	height:60px;
	padding:13px 23px;
	background-color:#fff;
	border:2px solid #000;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	list-style: none;
	user-select: none;
}
details.accordion summary::-webkit-details-marker {
	display: none;
}
details.accordion summary::after {
  content: '＋';
  font-size: 20px;
  line-height: 1;
}
details.accordion[open] summary::after {
  content: '－';
}
.accordion-body {
  padding: 20px 25px 0;
}
.accordion-body ul {
  list-style: none;
  padding: 0;
}
.accordion-body ul li {
  font-size: 12px;
	font-weight:400;
	letter-spacing:0;
  line-height: 2;
  padding-left:10px;
  position: relative;
}
.accordion-body ul li::before {
  content: '・';
	width:10px;
  position: absolute;
	left:0;
}
.section03 .inner {
	width:100%;
	max-width:500px;
	padding: 50px 0 70px;
	margin:0 auto;
}
.section03 .se-title {
  width:calc( 100vw * 242 / 540 );
	max-width:242px;
  width:calc( 100vw * 262 / 540 );
	max-width:262px;
}
.section03 .image-area {
	width:100%;
	padding:6px;
	background-color:#fff;
	border: 4px solid #000;
}
.section03 .image-area + p {
	margin-top:30px;
}
.section03 .image-area-inner {
	width:100%;
	padding:24px;
	background-color:#F5F5F5;
}
.section03 .image-area-inner img {
	width:120px;
	margin:0 auto;
}
.btn-area {
	width: 100%;
	max-width:450px;
  height:90px;
	margin:40px auto 0;
  background-color:#F84A40;
	position:relative;
	z-index:0;
}
.btn-area + .btn-area {
	margin-top:30px;
}
.btn-dl {
	display:block;
	width: 100%;
	padding:6px;
	background-color:#fff;
	border: 4px solid #000;
  position:absolute;
  top:-10px;
  left:0;
  transition:0.5s;
}
.btn-dl:hover {
  top:0;
  transition:0.5s;
}
.btn-dl-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding:20px 26px;
	background: #FFDCE4;
}
.btn-dl-inner img {
	width:auto;
	height:30px;
}
.section04 .se-title {
  width:calc( 100vw * 368 / 540 );
	max-width:368px;
  width:calc( 100vw * 388 / 540 );
	max-width:388px;
}
.section04 .inner {
  padding:40px 10px 70px;
  background-image: url('../img/bg_yellow.png');
  background-position:top center;
  background-repeat:no-repeat;
  background-size:cover;
  border:4px solid #000;
}
.section04 .image-area {
  width:100%;
  max-width:492px;
  margin:30px auto 0;
}
.section05 .se-title {
  width:calc( 100vw * 126 / 540 );
	max-width:126px;
  width:calc( 100vw * 146 / 540 );
	max-width:146px;
}
.section05 .inner {
  width:100%;
  max-width:500px;
  padding:40px 0;
  margin:0 auto;
}
.faq-q-row {
  font-size: 18px;
  font-weight: 900;
  letter-spacing:0;
  line-height:calc( 26em / 18 );
  padding: 17px 0 17px 45px;
  background-color:#D5EBFF;
  position:relative;
}
.faq-q-row .q-label {
  color:#FF362A;
  position:absolute;
  top:17px;
  left:20px;
}
.faq-a-row {
  font-size:16px;
  font-weight:400;
  letter-spacing:0;
  line-height:calc( 26em / 16 );
  padding: 20px 0 20px 45px;
  margin-right:-0.6em;
  position:relative;
}
.faq-a-row .a-label {
  color:#FF362A;
  font-size:18px;
  font-weight:900;
  position:absolute;
  top:20px;
  left:20px;
}
.section06 .container {
  padding-top:56px;
  background-image: url('../img/bg_pink.png');
  background-position:top center;
  background-repeat:no-repeat;
  background-size:cover;
  border-top:4px solid #000;
  border-bottom:4px solid #000;
}
.section06 .icon-area {
  width:calc( 100vw * 216 / 540 );
  max-width:216px;
  aspect-ratio:1 / 1;
  margin:0 auto;
  background-color:#fff;
}
.section06 .icon-area img {
  width:100%;
  height:100%;
  padding:calc( 100% * 26 / 216 );
  object-fit:contain;
}
.section06 p {
  font-weight:900;
  margin-top:30px;
}
.section06 .image-area {
  margin: 50px -6px 0;
}
footer .container {
  padding:40px 25px 50px;
}
footer .sns-area {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:20px;
}
footer .sns-area a {
  display:block;
  width:50px;
  border-radius:50%;
  overflow:hidden;
}
footer .logo-area {
  width:100%;
  max-width:350px;
  margin:30px auto 0;
}
footer .copyright {
  font-size:10px;
  font-weight:400;
  margin-top:30px;
}
footer .copyright a {
  color:inherit;
}
footer .abj-area {
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:10px;
  margin:15px auto 0;
}
footer .abj-area img {
  width:100px;
}
footer .abj-area p {
  font-size:10px;
  font-weight:500;
  text-align:left;
  width:calc( 100% - 120px );
  max-width:340px;
  margin-top:10px;
}
@media screen and (max-width:540px) {
  .section02 p {
    font-size:calc( 13px + 5 * ( 100vw - 320px ) / ( 540 - 320 ) );
    margin-right:-0.5em;
    margin-left:-0.5em;
  }
  .section02 .info-tab img {
    height:calc( 20px + 4 * ( 100vw - 320px ) / ( 540 - 320 ) );
  }
  .faq-q-row {
    font-size:calc( 13px + 5 * ( 100vw - 320px ) / ( 540 - 320 ) );
    padding: calc( 14px + 3 * ( 100vw - 320px ) / ( 540 - 320 ) ) 0 calc( 14px + 3 * ( 100vw - 320px ) / ( 540 - 320 ) ) calc( 25px + 20 * ( 100vw - 320px ) / ( 540 - 320 ) );
  }
  .faq-q-row .q-label {
    top:calc( 14px + 3 * ( 100vw - 320px ) / ( 540 - 320 ) );
    left:calc( 8px + 12 * ( 100vw - 320px ) / ( 540 - 320 ) );
  }
  .faq-a-row {
    font-size:calc( 12px + 4 * ( 100vw - 320px ) / ( 540 - 320 ) );
    padding:20px 0 20px 45px;
    padding: calc( 15px + 5 * ( 100vw - 320px ) / ( 540 - 320 ) ) 0 calc( 15px + 5 * ( 100vw - 320px ) / ( 540 - 320 ) ) calc( 25px + 20 * ( 100vw - 320px ) / ( 540 - 320 ) );
    margin:0;
  }
  .faq-a-row .a-label {
    font-size:calc( 13px + 5 * ( 100vw - 320px ) / ( 540 - 320 ) );
    top:calc( 15px + 5 * ( 100vw - 320px ) / ( 540 - 320 ) );
    left:calc( 8px + 12 * ( 100vw - 320px ) / ( 540 - 320 ) );
  }
}
@media screen and (max-width:450px) {
  p {
    font-size:calc( 13px + 5 * ( 100vw - 320px ) / ( 450 - 320 ) );
  }
  .btn-area {
    height:70px;
  }
  .btn-dl-inner {
    padding: 15px;
  }
  .btn-dl-inner img {
    height:20px;
  }
}