@charset "utf-8";

/* --- Integrated from assets/css/common-style.css --- */
.commonFooter {
  background-color: #333;
  font-size: 14px;
  color: #fff;
}
.commonFooter a {
  text-decoration: none;
  color: #fff;
}
@media (min-width: 769px) {
  .commonFooter a:hover {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .commonFooter a:hover:hover {
    opacity: 0.75;
  }
}
.commonFooter__mainmenu {
  background-color: #222;
  padding: 5px 0;
}
@media (min-width: 769px) {
  .commonFooter__mainmenu {
    padding: 20px 0;
  }
}
.commonFooter__mainmenu .mainmenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.commonFooter__mainmenu .mainmenu__item {
  padding: 10px 10px;
}
@media (max-width: 480px) {
  .commonFooter__mainmenu .mainmenu__item {
    padding: 10px 10px;
  }
}
@media (min-width: 769px) {
  .commonFooter__mainmenu .mainmenu__item {
    padding: 0 30px;
  }
}
.commonFooter__mainmenu .mainmenu__item a {
  font-size: 12px;
}
@media (min-width: 769px) {
  .commonFooter__mainmenu .mainmenu__item a {
    font-size: 15px;
  }
}
.commonFooter__note {
  background-color: #2d2d2d;
  padding: 10px 15px;
}
@media (min-width: 769px) {
  .commonFooter__note {
    padding: 15px 35px;
  }
}
.commonFooter__noteInner {
  max-width: 1200px;
  margin: 0 auto;
  font-size: 11px;
}
@media (min-width: 769px) {
  .commonFooter__noteInner {
    font-size: 13px;
  }
}
@media (min-width: 769px) {
  .commonFooter__noteInner--center {
    text-align: center;
  }
}
.commonFooter__sitemenu .sitemenu {
  padding: 15px;
  max-width: 1200px;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .commonFooter__sitemenu .sitemenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 40px 15px;
  }
}
@media (min-width: 769px) {
  .commonFooter__sitemenu .sitemenu__category {
    width: 25%;
    padding: 0 10px;
  }
}
@media (max-width: 768px) {
  .commonFooter__sitemenu .sitemenu__category:not(:last-child) {
    border-bottom: 1px solid #777;
  }
}
@media (min-width: 769px) {
  .commonFooter__sitemenu .sitemenu__category:not(:last-child) {
    border-right: 1px solid #444;
  }
}
.commonFooter__sitemenu .sitemenu__categoryTitle {
  padding: 10px 15px 10px 5px;
  position: relative;
}
@media (max-width: 768px) {
  .commonFooter__sitemenu .sitemenu__categoryTitle::after {
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    right: 5px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: url(assets/images/arrow.svg) center center/100% auto
      no-repeat;
  }
  .commonFooter__sitemenu .sitemenu__categoryTitle.-active::after {
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
  }
}
@media (min-width: 769px) {
  .commonFooter__sitemenu .sitemenu__categoryTitle {
    font-size: 14px;
    text-align: center;
    width: calc(100% - 20px);
    margin: 0 auto 15px;
    border-bottom: 1px solid #999;
  }
  .commonFooter__sitemenu .sitemenu__categoryTitle::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    left: 50%;
    bottom: 0;
    border: 7px solid transparent;
    border-top: 7px solid #999;
    -webkit-transform: translate(-7px, 14px);
    transform: translate(-7px, 14px);
  }
}
@media (min-width: 981px) {
  .commonFooter__sitemenu .sitemenu__categoryTitle {
    font-size: 16px;
  }
}
.commonFooter__sitemenu .sitemenu__categoryTitle .subheading {
  font-size: 0.8rem;
}
@media (max-width: 768px) {
  .commonFooter__sitemenu .sitemenu__categoryTitle .subheading {
    display: inline-block;
  }
  .commonFooter__sitemenu .sitemenu__categoryTitle .subheading span {
    min-width: 80px;
    line-height: 1;
    padding: 5px 5px;
    background-color: #000;
    margin-right: 8px;
    text-align: center;
    border-radius: 3px;
    position: relative;
    z-index: 1;
    display: inline-block;
  }
  .commonFooter__sitemenu .sitemenu__categoryTitle .subheading span::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    right: 0;
    top: 50%;
    background-color: #000;
    -webkit-transform: translate(20%, -50%) rotate(45deg);
    transform: translate(20%, -50%) rotate(45deg);
    z-index: -1;
  }
}
@media (min-width: 769px) {
  .commonFooter__sitemenu .sitemenu__categoryTitle .subheading {
    position: relative;
  }
  .commonFooter__sitemenu .sitemenu__categoryTitle .subheading span {
    display: inline-block;
    position: relative;
    padding: 3px 15px;
    line-height: 1;
    margin-bottom: 3px;
    color: #ededed;
  }
  .commonFooter__sitemenu .sitemenu__categoryTitle .subheading span::before,
  .commonFooter__sitemenu .sitemenu__categoryTitle .subheading span::after {
    content: "";
    width: 4px;
    height: 100%;
    position: absolute;
    top: 0;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }
  .commonFooter__sitemenu .sitemenu__categoryTitle .subheading span::before {
    left: 0;
    border-left: 1px solid #ccc;
  }
  .commonFooter__sitemenu .sitemenu__categoryTitle .subheading span::after {
    right: 0;
    border-right: 1px solid #ccc;
  }
}
@media (max-width: 768px) {
  .commonFooter__sitemenu .sitemenu__navi {
    overflow: hidden;
    padding: 0 5px;
    height: 0;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0;
  }
  .commonFooter__sitemenu .sitemenu__navi.-active {
    height: auto;
    padding: 0 5px 15px;
    opacity: 1;
  }
}
@media (max-width: 768px) {
  .commonFooter__sitemenu .sitemenu__naviItem:not(:first-child) {
    border-top: 1px solid #444;
  }
}
.commonFooter__sitemenu .sitemenu__naviItem a {
  padding: 10px 30px 10px 5px;
  position: relative;
  display: block;
  font-size: 13px;
  color: #ccc;
}
@media (min-width: 769px) {
  .commonFooter__sitemenu .sitemenu__naviItem a {
    font-size: 12px;
  }
}
.commonFooter__sitemenu .sitemenu__naviItem a::after {
  content: "";
  width: 14px;
  height: 14px;
  position: absolute;
  right: 5px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-90deg);
  transform: translateY(-50%) rotate(-90deg);
  background: url(assets/images/arrow.svg) center center/100% auto
    no-repeat;
}
@media (min-width: 769px) {
  .commonFooter__sitemenu .sitemenu__naviItem a {
    padding: 5px 5px 5px 22px;
  }
  .commonFooter__sitemenu .sitemenu__naviItem a::after {
    right: auto;
    left: 5px;
  }
}
.commonFooter__tourde {
  background: url(assets/images/footer_bg.jpg) center/cover #555;
  background-blend-mode: multiply;
}
.commonFooter__tourde .tourdeIntro {
  padding: 50px 15px 25px;
  position: relative;
  min-height: 200px;
  max-width: 1000px;
  margin: 0 auto;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media (min-width: 769px) {
  .commonFooter__tourde .tourdeIntro {
    min-height: 350px;
    padding: 100px 15px 60px;
  }
}
.commonFooter__tourde .tourdeIntro__lead {
  padding-left: 140px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media (min-width: 769px) {
  .commonFooter__tourde .tourdeIntro__lead {
    padding-left: 280px;
  }
}
.commonFooter__tourde .tourdeIntro__leadLogo {
  width: 42px;
  display: inline-block;
  margin-right: 10px;
}
@media (min-width: 769px) {
  .commonFooter__tourde .tourdeIntro__leadLogo {
    width: 60px;
    margin-right: 15px;
  }
}
.commonFooter__tourde .tourdeIntro__leadCopy {
  width: 110px;
  display: inline-block;
}
@media (min-width: 769px) {
  .commonFooter__tourde .tourdeIntro__leadCopy {
    width: 170px;
  }
}
.commonFooter__tourde .tourdeIntro__screenshot {
  width: 120px;
  position: absolute;
  left: 15px;
  bottom: 0;
}
@media (min-width: 769px) {
  .commonFooter__tourde .tourdeIntro__screenshot {
    width: 220px;
    bottom: -30px;
  }
}
.commonFooter__tourde .tourdeIntro__download {
  padding-left: 140px;
  margin-top: 15px;
}
@media (min-width: 769px) {
  .commonFooter__tourde .tourdeIntro__download {
    padding-left: 280px;
    margin-top: 30px;
  }
}
.commonFooter__tourde .tourdeIntro__downloadCopy {
  font-weight: bold;
  font-size: 13px;
}
.commonFooter__tourde .tourdeIntro__downloadCopy em {
  font-style: normal;
  font-size: 130%;
  color: #fff;
  font-weight: bold;
}
@media (min-width: 769px) {
  .commonFooter__tourde .tourdeIntro__downloadCopy {
    font-size: 22px;
  }
}
.commonFooter__tourde .tourdeIntro__downloadButton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 10px;
}
@media (min-width: 769px) {
  .commonFooter__tourde .tourdeIntro__downloadButton {
    margin-top: 20px;
  }
}
.commonFooter__tourde .tourdeIntro__downloadButton li {
  height: 40px;
}
@media (min-width: 769px) {
  .commonFooter__tourde .tourdeIntro__downloadButton li {
    height: 50px;
  }
}
.commonFooter__tourde .tourdeIntro__downloadButton li:not(:last-child) {
  margin-right: 5px;
}
@media (min-width: 769px) {
  .commonFooter__tourde .tourdeIntro__downloadButton li:not(:last-child) {
    margin-right: 15px;
  }
}
.commonFooter__tourde .tourdeIntro__downloadButton li img {
  height: 100%;
  width: auto;
}
.commonFooter__bottom {
  background-color: #fff;
  border-top: 3px solid #222;
  padding: 10px;
}
@media (min-width: 769px) {
  .commonFooter__bottom {
    padding: 15px;
  }
}
.commonFooter__bottomLogo {
  width: 80px;
  display: block;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .commonFooter__bottomLogo {
    width: 100px;
  }
}
.commonInfo {
  background-color: rgba(255, 255, 255, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 15px;
  z-index: 99;
  text-align: center;
}
.commonInfo a {
  font-size: 13px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background-color: #e41a1a;
  padding: 5px 20px;
  line-height: 1;
  border-radius: 20px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.commonInfo a:hover {
  opacity: 0.75;
}
@media (min-width: 769px) {
  .commonInfo a {
    font-size: 15px;
    padding: 7px 30px;
  }
}
a,
body,
dd,
div,
dl,
dt,
h1,
h2,
h3,
h4,
html,
img,
li,
ol,
p,
span,
table,
td,
th,
tr,
ul {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: 400;
	font-size: 100%;
	vertical-align: baseline;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	min-height: 0%;
}

article,
aside,
figcaption,
figure,
footer,
header,
nav,
section {
	display: block;
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	min-height: 0%;
}

body {
	line-height: 1;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	word-wrap: break-word;
}

ol,
ul {
	list-style: none;
}

input,
textarea,
select {
	font-size: 100%;
	font-family: inherit;
	color: inherit;
}

@-webkit-keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

html {
	width: 100%;
	font-size: 14px;
}

@media (min-width: 769px) {
	html {
		font-size: 16px;
	}
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.5;
	color: #333;
	width: 100%;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	word-wrap: break-word;
}

a {
	color: #1f8ad3;
	text-decoration: underline;
	outline: none;
}

a:hover {
	text-decoration: none;
}

img {
	vertical-align: bottom;
	max-width: 100%;
}

p:not(:last-child) {
	margin-bottom: 0.8em;
}

.-onlySmall {
	display: none !important;
}

@media (max-width: 768px) {
	.-onlySmall {
		display: block !important;
	}
}

.-ignoreSmall {
	display: none !important;
}

@media (min-width: 769px) {
	.-ignoreSmall {
		display: block !important;
	}
}

.-center {
	text-align: center;
}

.gHeader {
	position: fixed;
	width: 100%;
	height: 57px;
	z-index: 999;
	background: url(assets/images/headerBG.png?2) center bottom/750px auto repeat-x;
}

@media (min-width: 769px) {
	.gHeader {
		height: 85px;
		background-size: 1100px auto;
	}
}

.gHeader__logo {
	position: absolute;
	width: 240px;
	top: calc(50% + 1px);
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.gHeader__logo img {
	width: 100%;
}

@media (min-width: 769px) {
	.gHeader__logo {
		width: 460px;
	}
}

.hamburger {
	position: fixed;
	width: 48px;
	height: 48px;
	right: 7px;
	top: 4px;
	z-index: 998;
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	border-radius: 50%;
}

@media (min-width: 769px) {
	.hamburger {
		width: 56px;
		height: 56px;
		top: 7px;
		right: 20px;
		cursor: pointer;
		-webkit-transition: opacity 0.3s;
		transition: opacity 0.3s;
	}

	.hamburger:hover {
		opacity: 0.6;
	}
}

.hamburger::before,
.hamburger::after,
.hamburger span {
	width: 54%;
	height: 3px;
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 23%;
	border-radius: 2px;
}

@media (min-width: 769px) {

	.hamburger::before,
	.hamburger::after,
	.hamburger span {
		height: 4px;
	}
}

.hamburger::before,
.hamburger::after {
	content: "";
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.hamburger::before {
	-webkit-transform: translateY(calc(-50% - 8px));
	transform: translateY(calc(-50% - 8px));
}

@media (min-width: 769px) {
	.hamburger::before {
		-webkit-transform: translateY(calc(-50% - 10px));
		transform: translateY(calc(-50% - 10px));
	}
}

.hamburger::after {
	-webkit-transform: translateY(calc(-50% + 8px));
	transform: translateY(calc(-50% + 8px));
}

@media (min-width: 769px) {
	.hamburger::after {
		-webkit-transform: translateY(calc(-50% + 10px));
		transform: translateY(calc(-50% + 10px));
	}
}

.hamburger span {
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.hamburger.-active {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.hamburger.-active::before,
.hamburger.-active::after {
	background-color: #fff;
}

.hamburger.-active::before {
	-webkit-transform: translateY(-50%) rotate(90deg);
	transform: translateY(-50%) rotate(90deg);
}

.hamburger.-active::after {
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.hamburger.-active span {
	opacity: 0;
}

.gNavi {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	background-color: #d0cd3b;
	z-index: 997;
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
	opacity: 0;
}

@media (max-width: 768px) {
	.gNavi {
		-webkit-transition: opacity 0.4s;
		transition: opacity 0.4s;
	}
}

@media (min-width: 769px) {
	.gNavi {
		width: 300px;
		-webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
		box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
		-webkit-transition: opacity 0s 0.4s, -webkit-transform 0.4s;
		transition: opacity 0s 0.4s, -webkit-transform 0.4s;
		transition: transform 0.4s, opacity 0s 0.4s;
		transition: transform 0.4s, opacity 0s 0.4s, -webkit-transform 0.4s;
	}
}

.gNavi.-active {
	-webkit-transform: translateX(0);
	transform: translateX(0);
	opacity: 1;
}

@media (min-width: 769px) {
	.gNavi.-active {
		-webkit-transition: -webkit-transform 0.4s;
		transition: -webkit-transform 0.4s;
		transition: transform 0.4s;
		transition: transform 0.4s, -webkit-transform 0.4s;
	}
}

.gNavi.-active .gNaviList__item:nth-child(1) {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: all 0.5s 0.36s;
	transition: all 0.5s 0.36s;
}

.gNavi.-active .gNaviList__item:nth-child(2) {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: all 0.5s 0.42s;
	transition: all 0.5s 0.42s;
}

.gNavi.-active .gNaviList__item:nth-child(3) {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: all 0.5s 0.48s;
	transition: all 0.5s 0.48s;
}

.gNavi.-active .gNaviList__item:nth-child(4) {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: all 0.5s 0.54s;
	transition: all 0.5s 0.54s;
}

.gNavi.-active .gNaviList__item:nth-child(5) {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: all 0.5s 0.6s;
	transition: all 0.5s 0.6s;
}

.gNavi.-active .gNaviList__item:nth-child(6) {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: all 0.5s 0.66s;
	transition: all 0.5s 0.66s;
}

.gNavi.-active .gNaviList__item:nth-child(7) {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: all 0.5s 0.72s;
	transition: all 0.5s 0.72s;
}

.gNavi.-active .gNaviList__item:nth-child(8) {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: all 0.5s 0.78s;
	transition: all 0.5s 0.78s;
}

.gNavi.-active .gNaviList__item:nth-child(9) {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: all 0.5s 0.84s;
	transition: all 0.5s 0.84s;
}

.gNavi.-active .gNaviList__item:nth-child(10) {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: all 0.5s 0.9s;
	transition: all 0.5s 0.9s;
}

.gNavi .gNaviList {
	padding: 80px 15px 15px;
	position: relative;
	z-index: 2;
}

@media (min-width: 769px) {
	.gNavi .gNaviList {
		padding-top: 90px;
	}
}

.gNavi .gNaviList__item {
	text-align: center;
	opacity: 0;
	-webkit-transform: translateY(10px);
	transform: translateY(10px);
}

.gNavi .gNaviList__item:not(:last-child) {
	margin-bottom: 25px;
}

.gNavi .gNaviList__item a {
	text-decoration: none;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
}

.button {
	text-align: center;
}

.button__container {
	display: inline-block;
}

@media (min-width: 769px) {
	.button a {
		cursor: pointer;
	}

	.button a:hover {
		background-color: #f2f06d;
	}
}

.button__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 50px;
	border-radius: 10px;
	text-align: center;
	background-color: #d0cd3b;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	padding: 0 25px;
	min-width: 280px;
	text-decoration: none;
	-webkit-box-shadow: 0 8px 0 0px #b3b034;
	box-shadow: 0 8px 0 0px #b3b034;
	-webkit-transition: background-color 0.4s;
	transition: background-color 0.4s;
}

.button__inner .icon {
	width: 24px;
	margin: 0 5px;
}

@media (min-width: 769px) {
	.button__inner .icon {
		width: 30px;
	}
}

@media (min-width: 769px) {
	.button__inner {
		padding: 0 30px;
		font-size: 20px;
		min-width: 400px;
		height: 65px;
	}
}

.button__inner.-disable {
	pointer-events: none;
	background-color: #999;
	-webkit-box-shadow: 0 5px 0 0px #666 !important;
	box-shadow: 0 5px 0 0px #666 !important;
}

.button--small .button__inner {
	height: 40px;
	font-size: 1rem;
	font-weight: 700;
	-webkit-box-shadow: 0 5px 0 0px #b3b034;
	box-shadow: 0 5px 0 0px #b3b034;
	min-width: 200px;
}

@media (min-width: 769px) {
	.button--small .button__inner {
		height: 44px;
		min-width: 250px;
	}
}

.button--xsmall .button__inner {
	height: auto;
	font-size: 0.85rem;
	font-weight: 700;
	padding: 7px 40px;
	-webkit-box-shadow: 0 5px 0 0px #b3b034;
	box-shadow: 0 5px 0 0px #b3b034;
	min-width: auto;
}

@media (min-width: 769px) {
	.button--xsmall .button__inner {
		padding: 8px 50px;
	}
}

.contentHeader {
	margin-bottom: 15px;
}

@media (min-width: 769px) {
	.contentHeader {
		margin-bottom: 20px;
	}
}

.contentTitle {
	text-align: center;
	margin-bottom: 10px;
	font-weight: 900;
	font-size: 1.2rem;
}

@media (min-width: 769px) {
	.contentTitle {
		margin-bottom: 15px;
	}
}

.contentTitle span {
	display: inline-block;
	position: relative;
	font-weight: 900;
	line-height: 1.3;
	padding: 0 3px 3px;
	font-size: 22px;
	background: -webkit-gradient(linear,
			left top,
			left bottom,
			color-stop(60%, transparent),
			color-stop(60%, #faf25a));
	background: linear-gradient(transparent 60%, #faf25a 60%);
}

@media (min-width: 769px) {
	.contentTitle span {
		font-size: 34px;
	}
}

.contentLead {
	text-align: justify;
	font-weight: 700;
}

@media (min-width: 769px) {
	.contentLead {
		font-size: 1rem;
	}
}

.contentLead em {
	font-weight: 900;
	font-size: 110%;
	font-style: normal;
}

.contentLead--center {
	text-align: center;
}

.contentBlock {
	position: relative;
}

.contentBlock:not(:last-child) {
	margin-bottom: 60px;
}

@media (min-width: 769px) {
	.contentBlock:not(:last-child) {
		margin-bottom: 100px;
	}
}

.contentSubTitle {
	text-align: center;
	margin-bottom: 1em;
}

.contentSubTitle span {
	display: inline-block;
	background-color: #e87c67;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	height: 30px;
	line-height: 30px;
	border-radius: 15px;
	padding: 0 20px;
	min-width: 100px;
}

@media (min-width: 769px) {
	.contentSubTitle span {
		font-size: 18px;
		height: 36px;
		line-height: 36px;
		border-radius: 18px;
		min-width: 150px;
	}
}

.contentSub2Title {
	text-align: center;
	margin-bottom: 5px;
	font-size: 1.2rem;
	font-weight: 900;
}

@media (min-width: 769px) {
	.contentSub2Title {
		font-size: 20px;
		margin-bottom: 15px;
	}
}

.contentParagraph {
	margin-top: 40px;
}

@media (min-width: 769px) {
	.contentParagraph {
		margin-top: 80px;
	}
}

.contentParagraph:first-child() {
	margin-top: 0;
}

.contentHeader+.contentParagraph {
	margin-top: 0;
}

.fixedButton {
	position: fixed;
	top: 100px;
	right: 22px;
	z-index: 995;
	width: auto;
}

.entryButton {
	background-color: #d0cd3b;
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	width: 200px;
	border-radius: 5px;
	margin-top: 8px;
	-webkit-box-shadow: 0 3px 0 0px #b3b034;
	box-shadow: 0 3px 0 0px #b3b034;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 8px auto 0;
	padding: 0 15px;
	height: 40px;
}

.entryButton .icon {
	width: 28px;
	margin-left: 5px;
}

@media (min-width: 769px) {
	.entryButton {
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		text-orientation: upright;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		width: 50px;
		min-height: 230px;
		padding: 20px 0;
		margin-top: 0;
		-webkit-transition: background-color 0.4s;
		transition: background-color 0.4s;
	}

	.entryButton .number {
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		font-weight: 800;
	}

	.entryButton .icon {
		width: 34px;
		margin: 7px 0 0;
	}

	.entryButton:hover {
		background-color: #f2f06d;
	}
}

.gFooter {
	background-color: #fff;
	position: relative;
	height: 63px;
	width: 100%;
}

@media (max-width: 768px) {
	.gFooter {
		position: fixed;
		bottom: -5px;
		left: 0;
		z-index: 995;
	}
}

.gFooter__button {
	position: relative;
	z-index: 2;
	text-align: center;
}

.gFooter__button .entryButton {
	min-width: 240px;
}

.gFooter__bg {
	position: absolute;
	top: -10px;
	left: 0;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
	width: 100%;
	height: calc(100% + 10px);
	background: url(assets/images/headerBG.png?2) center bottom/auto 70px repeat-x;
}

@media (min-width: 769px) {
	.gFooter__bg {
		background-size: 1100px auto;
	}
}

.pagetop {
	position: absolute;
	top: 0;
	right: 10px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

@media (min-width: 769px) {
	.pagetop {
		width: 50px;
		height: 50px;
		right: 30px;
		-webkit-transition: all 0.4s;
		transition: all 0.4s;
	}

	.pagetop:hover {
		-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
	}
}

.pagetop__inner {
	width: 50%;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.main {
	background: url(assets/images/bg.png) center/250px auto #fff fixed;
	padding-bottom: 50px;
}

@media (min-width: 769px) {
	.main {
		padding-bottom: 0;
	}
}

.main__contents {
	padding: 40px 0;
	overflow: hidden;
}

@media (min-width: 769px) {
	.main__contents {
		padding: 80px 0;
	}
	.mv {
		padding-bottom: 80px;
	}
}

.main__inner {
	padding: 0 20px;
	max-width: 1240px;
	margin: 0 auto;
	position: relative;
}

.main__inner--narrow {
	max-width: 880px;
}

.main__inner--wide {
	max-width: 1400px;
}

.mv {
	padding-top: 57px;
	padding-bottom: 40px;
}

@media (max-width: 541px) {
	.mv {
		padding-top: 0;
	}
}

@media (min-width: 769px) {
	.mv {
		padding-top: 120px;
	}
}

.mv__logo {
	margin: 0 auto;
	width: 100%;
	max-width: 1400px;
}

@media (max-width:541px) {
	.mv__logo img {
		margin-top: 100px;
	}
}

.mv__logo img {
	width: 100%;
}

.sponsor_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.sponsor_list--top {
	justify-content: space-around;
}
.sponsor_list li {
	margin-top: 20px;
	background-color: #fff;
}
.sponsor_list--top li {
	width: 40%;
}
.sponsor_list--mid li{
	width: 32.5%;
}
.sponsor_list--bottom li {
	width: 24.5%;
}
.sponsor_list li img {
	max-width: 100%;
}
@media (max-width:541px) {
	.sponsor_list--top li {
		width: 70%;
	}
	.sponsor_list--mid li {
		width: 49%;
	}
	.sponsor_list--bottom li {
		width: 33%;
	}
	}

.news .newsList {
	margin: 0 auto;
	max-width: 880px;
	max-height: 150px;
	overflow: auto;
	scrollbar-color: #999 transparent;
	scrollbar-width: thin;
	padding: 0 10px;
}

.news .newsList::-webkit-scrollbar {
	width: 6px;
}

.news .newsList::-webkit-scrollbar-track {
	background: rgba(153, 153, 153, 0.3);
	border: none;
	border-radius: 6px;
}

.news .newsList::-webkit-scrollbar-thumb {
	background: #999;
	border-radius: 6px;
	-webkit-box-shadow: none;
	box-shadow: none;
}

@media (min-width: 769px) {
	.news .newsList {
		max-height: 200px;
	}
}

.news .newsList__item {
	padding: 10px 3px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	border-top: 1px dotted rgba(0, 0, 0, 0.3);
}

.news .newsList__item:last-child {
	border-bottom: 1px dotted rgba(0, 0, 0, 0.3);
}

@media (min-width: 769px) {
	.news .newsList__item {
		padding: 20px 5px;
	}
}

.news .newsList__itemDate {
	font-weight: bold;
}

@media (max-width: 768px) {
	.news .newsList__itemDate {
		font-size: 0.9rem;
	}
}

@media (min-width: 769px) {
	.news .newsList__itemDate {
		font-size: 1.1rem;
	}
}

.news .newsList__itemContent {
	padding-left: 15px;
	font-size: 0.9rem;
}

@media (min-width: 769px) {
	.news .newsList__itemContent {
		padding-left: 40px;
		font-size: 1rem;
	}
}

.news .newsList__itemTitle {
	font-size: 1rem;
	font-weight: 500;
}

@media (min-width: 769px) {
	.news .newsList__itemTitle {
		font-size: 1.1rem;
	}
}

.news__info {
	margin: 50px auto 0;
	max-width: 880px;
	background-color: #fff;
	padding: 15px;
	border-radius: 10px;
}

@media (min-width: 769px) {
	.news__info {
		padding: 30px;
	}
}

.column {
  padding: 70px 15px 40px;
}
@media (min-width: 981px) {
  .column {
    max-width: 1380px;
    margin: 0 auto;
    padding: 100px 0 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
@media (min-width: 769px) {
  .column {
    padding-right: 90px;
  }
}
@media (min-width: 981px) {
  .column .contentHeader {
    width: 100%;
  }
}
@media (min-width: 981px) {
  .column__main {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-right: 50px;
    padding-left: 30px;
  }
}
.column__sub {
  margin-top: 30px;
}
@media (min-width: 981px) {
  .column__sub {
    width: 330px;
    margin-top: 0;
  }
}
@media (min-width: 981px) {
  .column__subInner {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
  }
}
.column__sub .simpleButton {
  margin-top: 20px;
}
@media (min-width: 981px) {
  .column__sub .simpleButton {
    margin-top: 40px;
    text-align: left;
  }
}
.column .columnSubTitle {
  font-weight: 700;
  line-height: 1.4;
  font-size: 18px;
  margin-bottom: 10px;
  color: #075b3a;
}
@media (min-width: 981px) {
  .column .columnSubTitle {
    font-size: 20px;
  }
}
.column .columnSubTitle:not(:first-child) {
  margin-top: 30px;
}
@media (min-width: 981px) {
  .column .columnSubTitle:not(:first-child) {
    margin-top: 50px;
  }
}

.topics {
  position: relative;
}
.topics::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #f9f7f2;
  mix-blend-mode: multiply;
}
.topicsList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.topicsList--home {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .topicsList--home .topicsList__item {
    width: calc(50% - 14px);
    margin: 0 7px 15px;
  }
  .topicsList--home .topicsList__item:nth-child(3) {
    display: none;
  }
}
@media (min-width: 769px) {
  .topicsList--home .topicsList__item {
    width: calc(33.33% - 30px);
  }
}
.topicsList__item {
  background-color: #fff;
  width: calc(50% - 10px);
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 1.5em;
}
@media (min-width: 769px) {
  .topicsList__item {
    width: calc(50% - 30px);
    margin: 0 15px 30px;
  }
}
.topicsList__itemInner {
  color: inherit;
  text-decoration: none;
  display: block;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.topicsList__itemInner:hover {
  opacity: 0.6;
}
.topicsList__itemCategory {
  position: absolute;
  font-size: 0.85rem;
  top: 5px;
  right: -3px;
  color: #fff;
  background-color: #ea763e;
  padding: 5px 8px;
  line-height: 1;
  z-index: 3;
  font-size: 0.8rem;
}
@media (min-width: 769px) {
  .topicsList__itemCategory {
    top: 10px;
    right: -5px;
    font-size: 0.9rem;
    padding: 7px 10px;
  }
}
.topicsList__itemEyecatch {
  padding-top: 59.3%;
  position: relative;
}
.topicsList__itemEyecatch img {
  position: absolute;
  -o-object-fit: cover;
  object-fit: cover;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}
.topicsList__itemText {
  padding: 10px;
}
@media (min-width: 769px) {
  .topicsList__itemText {
    padding: 20px;
  }
}
.topicsList__itemTitle {
  font-weight: 500;
  line-height: 1.3;
  text-align: justify;
}
@media (min-width: 769px) {
  .topicsList__itemTitle {
    font-size: 1.1rem;
  }
}
.topicsList__itemDate {
  position: absolute;
  bottom: 5px;
  right: 10px;
  font-size: 10px;
  color: #ccc;
}
@media (min-width: 769px) {
  .topicsList__itemDate {
    bottom: 10px;
    right: 20px;
    font-size: 13px;
  }
}
.topicsSubList__item {
  background-color: #fff;
  margin-bottom: 10px;
}
.topicsSubList__itemInner {
  color: inherit;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.topicsSubList__itemInner:hover {
  opacity: 0.6;
}
.topicsSubList__itemEyecatch {
  width: 40%;
  padding-top: 23.72%;
  position: relative;
}
.topicsSubList__itemEyecatch img {
  position: absolute;
  -o-object-fit: cover;
  object-fit: cover;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}
.topicsSubList__itemText {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 10px;
}
.topicsSubList__itemTitle {
  font-weight: 500;
  text-align: justify;
  font-size: 13px;
  height: 36.4px;
  line-height: 1.4;
  position: relative;
  overflow: hidden;
}
.topicsSubList__itemTitle:before,
.topicsSubList__itemTitle:after {
  background: #fff;
  position: absolute;
}
.topicsSubList__itemTitle:before {
  content: "...";
  top: 18.2px;
  right: 0;
}
.topicsSubList__itemTitle:after {
  content: "";
  height: 100%;
  width: 100%;
}
.topicsSubList__itemDate {
  margin-top: 5px;
  font-size: 10px;
  color: #ccc;
}
@media (min-width: 769px) {
  .topicsSubList__itemDate {
    font-size: 12px;
  }
}
.categoryList {
  padding: 0 5px;
}
.categoryList .cat-item {
  display: inline-block;
  margin-bottom: 8px;
}
.categoryList .cat-item:not(:last-child) {
  margin-right: 0.2em;
}
.categoryList .cat-item-5 > a {
	display: none;
}
.categoryList .cat-item a {
  display: inline-block;
  height: 26px;
  line-height: 26px;
  border-radius: 13px;
  background-color: #d0cd3b;
  color: #fff;
  padding: 0 15px;
  text-decoration: none;
  font-size: 13px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.categoryList .cat-item a:hover {
  opacity: 0.6;
}
.pagination {
  margin-top: 20px;
}
.pagination .nav-links {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.pagination .nav-links .page-numbers {
  width: 30px;
  height: 30px;
  margin: 0 2px;
  border: 1px solid #d0cd3b;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  background-color: #d0cd3b;
}
@media (min-width: 769px) {
  .pagination .nav-links .page-numbers {
    margin: 0 4px;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .pagination .nav-links .page-numbers:hover {
    opacity: 0.6;
  }
}
.pagination .nav-links .page-numbers.current {
  color: #075b3a;
  background-color: transparent;
}
.simpleButton {
  text-align: center;
	margin-top: 50px;
}
.simpleButton__inner {
  display: inline-block;
  height: 30px;
  border-radius: 15px;
  border: 1px solid #999;
  padding: 0 25px;
  line-height: 28px;
  color: #333;
  text-decoration: none;
}
@media (min-width: 769px) {
  .simpleButton__inner {
    height: 40px;
    border-radius: 20px;
    line-height: 36px;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .simpleButton__inner:hover {
    opacity: 0.6;
  }
}
.articleHeader {
  width: 100%;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px dotted #666;
}
@media (min-width: 769px) {
  .articleHeader {
    margin-bottom: 25px;
    padding-bottom: 15px;
  }
}
.articleHeader__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}
@media (min-width: 769px) {
  .articleHeader__title {
    font-size: 28px;
  }
}
.articleHeader__info {
  margin-top: 10px;
}
.articleHeader__date {
  font-size: 0.85rem;
  color: #999;
  display: inline-block;
  margin-right: 15px;
}
.articleHeader__cat {
  position: relative;
  font-size: 0.85rem;
  padding-left: 5.5em;
  display: inline-block;
}
.articleHeader__cat::before {
  content: "カテゴリー：";
  position: absolute;
  left: 0;
  color: #999;
}
.articleHeader__catListItem {
  display: inline-block;
}
.articleHeader__catListItem:not(:first-child)::before {
  content: ", ";
}
.articleBody {
  background-color: #fff;
  padding: 15px;
}
@media (min-width: 769px) {
  .articleBody {
    padding: 25px;
  }
}
.articleBody img {
  height: auto;
}
.articleBody img.alignleft {
  text-align: left;
}
.articleBody img.aligncenter {
  display: block;
  margin: 0 auto;
}
.articleBody img.alignright {
  display: block;
  margin: 0 0 0 auto;
}
.articleBody .txtButton {
  display: inline-block;
  background-color: #d0cd3b;
  color: #fff;
  padding: 10px;
  line-height: 1;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.articleBody .txtButton:hover {
  opacity: 0.6;
}
.articleBody > *:first-child {
	margin-top: 0;
}
.articleBody > h2 {
  background-color: #f0efe1;
  padding: 10px;
  border-radius: 5px;
	margin-top: 25px;
  margin-bottom: 10px;
  line-height: 1.3;
  font-size: 1.1rem;
  font-weight: 700;
}
@media (min-width: 769px) {
  .articleBody > h2 {
    font-size: 1.2rem;
    margin-bottom: 15px;
    padding: 15px;
  }
}
.articleBody > h3 {
	margin-top: 20px;
  margin-bottom: 10px;
  font-size: 1.05rem;
  font-weight: 500;
  border-left: 4px solid #d0cd3b;
  padding-left: 10px;
}
@media (min-width: 769px) {
  .articleBody > h3 {
    font-size: 1.15rem;
    margin-bottom: 15px;
  }
}
.articleBody > p {
  line-height: 1.75;
	margin-bottom: 15px;
}
/*
.snsList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px dotted #ccc;
  border-bottom: 1px dotted #ccc;
  padding: 10px 0;
  margin: 20px 0;
}
@media (min-width: 769px) {
  .snsList {
    padding: 15px 0;
    margin: 30px 0;
  }
}
.snsList__item {
  padding: 0 1px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.snsList__item a {
  display: block;
  background-color: #ccc;
  text-align: center;
  padding: 3px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.snsList__item a:hover {
  opacity: 0.6;
}
.snsList__item a img {
  width: 22px;
}
@media (min-width: 769px) {
  .snsList__item a img {
    width: 28px;
  }
}
.snsList__item--facebook a {
  background-color: #154c97;
}
.snsList__item--twitter a {
  background-color: #4898d7;
}
.snsList__item--line a {
  background-color: #00c300;
}
.snsList__item--hatena a {
  background-color: #2c6ebd;
}
.snsList__item--pocket a {
  background-color: #e7364a;
}
.snsList__item--evernote a {
  background-color: #79bd28;
}
*/



















.about {
	position: relative;
}

.about__inner {
	background-color: #fff;
	padding: 15px;
	border-radius: 10px;
	max-width: 880px;
	margin: 0 auto;
}

@media (min-width: 769px) {
	.about__inner {
		padding: 30px 40px 40px;
	}
}

.about__title {
	text-align: center;
	margin-bottom: 8px;
}

@media (min-width: 769px) {
	.about__title {
		margin-bottom: 10px;
	}
}

.about__title a {
	position: relative;
	display: inline-block;
	text-decoration: none;
	color: #fff;
	background-color: #d0cd3b;
	font-weight: bold;
	font-size: 1.1rem;
	line-height: 1;
	border-radius: 20px;
	padding: 7px 35px 7px 20px;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

.about__title a:hover {
	opacity: 0.6;
}

@media (min-width: 769px) {
	.about__title a {
		padding: 10px 45px 10px 30px;
	}
}

.about__title a::after {
	content: "";
	display: block;
	position: absolute;
	right: 15px;
	top: 50%;
	width: 14px;
	height: 14px;
	-webkit-transform: translateY(-50%) rotate(-90deg);
	transform: translateY(-50%) rotate(-90deg);
	background: url(assets/images/arrow_white.svg) center/100% auto no-repeat;
}

@media (min-width: 769px) {
	.about__title a::after {
		right: 25px;
	}
}

.about__catch {
	text-align: center;
	font-weight: 800;
	font-size: 17px;
	color: #075b3a;
}

@media (min-width: 769px) {
	.about__catch {
		font-size: 26px;
	}
}

.about__description {
	text-align: justify;
	line-height: 2;
	font-size: 1.1rem;
	font-weight: 500;
}

@media (min-width: 769px) {
	.about__description {
		letter-spacing: 0.05em;
	}
}

.about__description em {
	font-style: normal;
	font-weight: bold;
	background: -webkit-gradient(linear,
			left top,
			left bottom,
			color-stop(60%, transparent),
			color-stop(60%, #faf25a));
	background: linear-gradient(transparent 60%, #faf25a 60%);
}

.savingList {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	max-width: 1100px;
	margin: 0 auto
}

.savingList__item {
	position: relative;
	width: calc(50% - 8px);
	background-color: #fff;
	overflow: hidden;
	margin-bottom: 16px
}

@media (max-width: 768px) {
	.savingList__item--large {
		width: 100%
	}
}

@media (min-width: 769px) {
	.savingList__item {
		width: calc(20% - 10px)
	}
}

.savingList__item-number {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 3;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	width: 66px;
	height: 66px;
	text-align: right;
	padding: 2px 3px 0 0
}

@media (min-width: 769px) {
	.savingList__item-number {
		font-size: 22px;
		width: 84px;
		height: 84px
	}
}

.savingList__item-number::after {
	content: '';
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #d0cd3b;
	z-index: -1;
	-webkit-transform: translate(50%, -50%) rotate(45deg);
	transform: translate(50%, -50%) rotate(45deg)
}

.savingList__item-image {
	position: relative;
	z-index: 1
}

.savingList__item-image::after {
	content: '';
	background-color: #fffda1;
	position: absolute;
	width: 100%;
	height: calc(100% - 50px);
	top: 0;
	left: 0;
	z-index: 0
}

.savingList__item-image img {
	width: 100%;
	display: block;
	margin: 0 auto;
	max-width: 160px;
	position: relative;
	z-index: 1
}

.savingList__item-text {
	padding: 0 10px 15px;
	text-align: center
}

@media (min-width: 769px) {
	.savingList__item-text {
		padding-bottom: 25px
	}
}

.savingList__item-title {
	font-weight: bold;
	margin-bottom: 10px;
	line-height: 1.4;
	min-height: 4.5em
}

.area {
	position: relative;
}

.area::before {
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #f9f7f2;
	mix-blend-mode: multiply;
}

.area .areaMap {
	width: 320px;
	margin: 0 auto 40px;
	position: relative;
}

@media (min-width: 981px) {
	.area .areaMap {
		width: 100%;
		max-width: 600px;
		padding-top: 40px;
		margin-bottom: 50px;
	}
}

.area .spotButton {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 10px;
}

@media (min-width: 769px) {
	.area .spotButton {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin-top: 20px;
	}
}

.area .spotButton li {
	width: calc(50% - 5px);
}

@media (min-width: 769px) {
	.area .spotButton li {
		max-width: 230px;
		margin: 0 10px;
	}
}

.area .spotButton li .button {
	width: 100%;
}

.area .spotButton li .button__container {
	max-width: 100%;
	width: 100%;
}

.area .spotButton li .button__inner {
	max-width: 100%;
	width: 100%;
	min-width: auto;
	padding: 0 5px;
	font-size: 0.9rem;
	background-color: #f92f0e;
	-webkit-box-shadow: 0 5px 0 0px #cf2105;
	box-shadow: 0 5px 0 0px #cf2105;
}

@media (min-width: 769px) {
	.area .spotButton li .button__inner:hover {
		background-color: #fa5a40;
	}
}

.area .areaMymap {
	margin: 30px auto 0;
	max-width: 1000px;
}

@media (min-width: 981px) {
	.area .areaMymap {
		margin-top: 60px;
	}
}

.area .areaMymap iframe {
	width: 100%;
	border: 3px solid #fff;
	height: 400px;
}

@media (min-width: 981px) {
	.area .areaMymap iframe {
		height: 580px;
	}
}

.eventList__item {
    background-color: #fff;
    padding: 15px
}

@media (min-width: 769px) {
    .eventList__item {
        padding: 30px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.eventList__item:not(:last-child) {
    margin-bottom: 20px
}

@media (min-width: 769px) {
    .eventList__item:not(:last-child) {
        margin-bottom: 30px
    }
}

.eventList__image {
    margin-bottom: 10px
}

@media (min-width: 769px) {
    .eventList__image {
        margin-bottom: 0;
        width: 40%
    }
}

@media (min-width: 769px) {
    .eventList__text {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding-left: 40px
    }
}

.eventList__title {
    color: #CB3E95;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4
}

@media (min-width: 769px) {
    .eventList__title {
        font-size: 26px
    }
}

.eventList__date {
    font-size: 16px;
    font-weight: 900
}

@media (min-width: 769px) {
    .eventList__date {
        font-size: 20px
    }
}

.eventList__description {
    text-align: justify;
    margin-top: 10px
}

@media (min-width: 769px) {
    .eventList__description {
        margin-top: 20px
    }
}

.eventList__description em {
    font-style: normal;
    font-weight: bold
}

.eventList__description .caption {
    font-size: .85rem;
    color: #666;
    line-height: 1.5;
    display: inline-block
}

.eventList__postscript {
    width: 100%;
    margin-top: 20px
}

.eventTable {
    background-color: #fff;
    border-collapse: collapse;
    border: 1px solid #ccc;
    width: 100%;
    margin: 0 auto;
    font-size: .9rem
}

.eventTable th,
.eventTable td {
    border: 1px solid #ccc;
    padding: 5px
}

.eventTable th {
    background-color: #fffda1;
    width: 7em
}

.recommend {
	position: relative;
}

.recommend::before {
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #dbe7ef;
	mix-blend-mode: multiply;
}

.recommend .contentSubTitle span {
	background-color: #25a7b2;
}

.recommend .recommendMovie {
	margin-bottom: 10px;
}

@media (min-width: 769px) {
	.recommend .recommendMovie {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.recommend .recommendMovie--single {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	.recommend .recommendMovie--single .recommendMovie__item {
		width: 100%;
		max-width: 800px;
	}
}

.recommend .recommendMovie__item {
	background-color: #fff;
	padding: 10px 20px 20px;
}

.recommend .recommendMovie__item:not(:last-child) {
	margin-bottom: 30px;
}

@media (min-width: 769px) {
	.recommend .recommendMovie__item {
		width: calc(50% - 10px);
	}

	.recommend .recommendMovie__item:not(:last-child) {
		margin-bottom: 0;
	}
}

.recommend .recommendMovie__itemTitle {
	font-size: 16px;
	font-weight: 900;
	line-height: 1.5;
	margin-bottom: 10px;
	color: #075b3a;
	text-align: center;
}

@media (min-width: 769px) {
	.recommend .recommendMovie__itemTitle {
		font-size: 20px;
	}
}

.recommend .recommendMovie__itemTitleSub {
	display: block;
	font-size: 1rem;
}

@media (min-width: 769px) {
	.recommend .recommendMovie__itemTitleSub {
		display: inline-block;
		margin-right: 15px;
	}
}

.recommend .recommendMovie__itemYoutube .movie {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
}

.recommend .recommendMovie__itemYoutube .movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

.recommend .recommendMovie__itemYoutube .movie--coming {
	background-color: #ccc;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 20px;
	font-weight: bold;
}

.recommend .modelcourseCaption {
	margin-top: 10px;
	text-align: center;
	font-size: 0.9rem;
}

.cyclingTour {
	margin-top: 20px;
	padding: 10px;
	background-color: rgba(255, 255, 255, 0.9);
	position: relative;
	z-index: 2;
}

@media (min-width: 769px) {
	.cyclingTour {
		padding: 25px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

.cyclingTour__guest {
	margin-top: 20px;
}

@media (min-width: 769px) {
	.cyclingTour__guest {
		width: 200px;
		margin-top: 0;
	}
}

.cyclingTour__guestImage {
	display: block;
	width: 200px;
	border-radius: 50%;
	margin: 0 auto 5px;
}

@media (min-width: 769px) {
	.cyclingTour__guestImage {
		width: 100%;
	}
}

.cyclingTour__guestName {
	font-size: 1rem;
	text-align: center;
}

.cyclingTour__guestName em {
	font-size: 0.85rem;
	font-style: normal;
	font-weight: bold;
}

@media (min-width: 769px) {
	.cyclingTour__info {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		padding-right: 50px;
	}
}

.cyclingTour__title {
	color: #075b3a;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 15px;
}

@media (max-width: 768px) {
	.cyclingTour__title {
		text-align: center;
	}
}

@media (min-width: 769px) {
	.cyclingTour__title {
		font-size: 24px;
	}
}

.cyclingTour__title span {
	display: inline-block;
	background-color: #d0cd3b;
	padding: 5px 10px;
	line-height: 1;
	font-weight: bold;
	color: #fff;
	margin-right: 5px;
	font-size: 90%;
	border-radius: 3px;
}

.cyclingTour__table {
	border-collapse: collapse;
	border: 1px solid #ededed;
	background-color: #fff;
	width: 100%;
}

.cyclingTour__table th,
.cyclingTour__table td {
	text-align: left;
	padding: 10px;
	border: 1px solid #ededed;
}

@media (min-width: 769px) {

	.cyclingTour__table th,
	.cyclingTour__table td {
		padding: 20px 15px;
	}
}

.cyclingTour__table th {
	background-color: #f9f7f2;
	min-width: 4em;
}

@media (min-width: 769px) {
	.cyclingTour__table th {
		min-width: 7em;
	}
}

.cyclingTour .button {
	margin: 15px auto 10px;
}

.openingPresent {
	text-align: center;
	margin-top: 20px;
	position: relative;
	z-index: 1;
}

@media (min-width: 769px) {
	.openingPresent {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
}

.openingPresent__image {
	width: 150px;
	margin: 10px auto 20px;
}

@media (min-width: 769px) {
	.openingPresent__image {
		width: 200px;
		margin: -180px 50px 0 0;
	}
}

.openingPresent__caption {
	margin-top: 10px;
	font-weight: 500;
	font-size: 1.1rem;
}

.modelcourse__item {
	background-color: #fff;
	padding: 20px;
}

.modelcourse__item:not(:last-child) {
	margin-bottom: 30px;
}

@media (min-width: 769px) {
	.modelcourse__item {
		padding: 30px;
	}

	.modelcourse__item:not(:last-child) {
		margin-bottom: 50px;
	}
}

.modelcourse__itemTitle {
	font-size: 20px;
	font-weight: 900;
	line-height: 1.3;
	margin-bottom: 15px;
	color: #075b3a;
}

@media (min-width: 769px) {
	.modelcourse__itemTitle {
		font-size: 30px;
		margin-bottom: 25px;
	}
}

.modelcourse__itemTitleSub {
	display: inline-block;
	margin-right: 3px;
	font-size: 16px;
	font-weight: 800;
}

@media (min-width: 769px) {
	.modelcourse__itemTitleSub {
		margin-right: 10px;
		font-size: 22px;
	}
}

.modelcourse__itemWidget {
	margin-top: 20px;
}

@media (min-width: 769px) {
	.modelcourse__itemWidget {
		margin-top: 30px;
		width: 100%;
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1;
	}
}

.modelcourse__itemMap {
	width: 100%;
	height: 400px;
	border: none;
}

@media (min-width: 769px) {
	.modelcourse__itemMap {
		height: 500px;
	}
}

@media (min-width: 769px) {
	.modelcourse__itemInfo {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
}

.modelcourse__itemInfo .coursePhoto {
	margin-bottom: 20px;
}

@media (min-width: 769px) {
	.modelcourse__itemInfo .coursePhoto {
		width: 45%;
	}
}

@media (min-width: 769px) {
	.modelcourse__itemDetail {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		padding-left: 40px;
	}
}

.modelcourse__itemDescription {
	text-align: justify;
	margin: 0 0 15px;
}

.modelcourse__itemDatatable {
	border-collapse: separate;
	border-spacing: 0 10px;
	font-size: 0.85rem;
}

.modelcourse__itemDatatable th {
	width: 110px;
	padding-right: 20px;
}

@media (min-width: 769px) {
	.modelcourse__itemDatatable th {
		width: 130px;
	}
}

.modelcourse__itemDatatable td {
	padding-left: 20px;
	border-left: 1px solid #ccc;
}

.modelcourse__itemYoutube {
	margin-top: 20px;
}

@media (max-width: 768px) {
	.modelcourse__itemYoutube {
		-webkit-box-ordinal-group: 4;
		-ms-flex-order: 3;
		order: 3;
	}
}

@media (min-width: 769px) {
	.modelcourse__itemYoutube {
		margin-top: 0;
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
		width: calc(50% + 15px);
		padding-left: 30px;
	}
}

.modelcourse__itemYoutube .movie {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
}

.modelcourse__itemYoutube .movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

.privilege .privilegeNavi {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 15px auto 30px;
	max-width: 1240px;
}

@media (min-width: 769px) {
	.privilege .privilegeNavi {
		margin: 25px auto 70px;
	}
}

.privilege .privilegeNavi__item {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 0 1px;
}

.privilege .privilegeNavi__itemButton {
	display: block;
	text-align: center;
	text-decoration: none;
	padding: 10px 0 20px;
	color: #666;
	font-weight: bold;
	font-size: 12px;
	background: url(assets/images/arrow.svg) center bottom 5px/13px auto no-repeat #fff;
	border-bottom: 3px solid #803f86;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

@media (max-width: 400px) {
	.privilege .privilegeNavi__itemButton {
		font-size: 11px;
	}
}

@media (min-width: 769px) {
	.privilege .privilegeNavi__itemButton {
		font-size: 16px;
	}
}

.privilege .privilegeNavi__itemButton--total {
	border-color: #14aca0;
}

.privilege .privilegeNavi__itemButton--photo {
	border-color: #155e90;
}

.privilege .privilegeNavi__itemButton--point {
	border-color: #cb3e95;
}

.privilege .privilegeNavi__itemButton--sns {
	border-color: #6cb7d4;
}

.privilege .contentSubTitle span {
	width: 100%;
}

.privilege .privilegeTotal .contentSubTitle span {
	background-color: #14aca0;
}

.privilege .privilegePhoto .contentSubTitle span {
	background-color: #155e90;
}

.privilege .privilegePoint .contentSubTitle span {
	background-color: #cb3e95;
}

.privilege .privilegeSNS .contentSubTitle span {
	background-color: #6cb7d4;
}

.privilege__lead {
	margin-bottom: 10px;
	text-align: justify;
}

@media (min-width: 769px) {
	.privilege__lead--center {
		text-align: center;
	}
}

@media (max-width: 768px) {
	.privilege__targetContainer .privilege__target {
		text-align: left;
	}
}

@media (min-width: 769px) {
	.privilege__targetContainer {
		text-align: center;
	}

	.privilege__targetContainer .privilege__target {
		display: inline-block;
		margin: 5px 10px;
	}
}

.privilege__target {
	margin-top: 5px;
	text-align: center;
	font-weight: 700;
	color: #075b3a;
}

.privilege__target::before {
	content: "対象";
	display: inline-block;
	background-color: #fff;
	color: #075b3a;
	margin-right: 3px;
	padding: 5px 15px;
	line-height: 1;
	border-radius: 5px;
	border: 1px solid #d0cd3b;
}

.privilege__target--date::before {
	content: "期間";
}

.privilege__comingsoon {
	color: #cb3e95;
	text-align: center;
	font-weight: 800;
	font-size: 1.2rem;
	margin-top: 15px;
}

.privilege .ranking {
	margin-top: 30px;
}

@media (min-width: 769px) {
	.privilege .ranking {
		margin-top: 50px;
	}
}

.privilege .ranking+.ranking {
	margin-top: 70px;
}

@media (min-width: 769px) {
	.privilege .ranking+.ranking {
		margin-top: 80px;
	}
}

.privilege .ranking__title {
	font-size: 1.2rem;
	font-weight: 800;
	text-align: center;
	color: #14aca0;
	margin-bottom: 5px;
}

@media (min-width: 769px) {
	.privilege .ranking__title {
		margin-bottom: 10px;
	}
}

.privilege .ranking__description {
	color: #11958b;
}

@media (min-width: 769px) {
	.privilege .ranking__description {
		text-align: center;
	}
}

.privilege .ranking__caption {
	margin: 5px auto 0;
	font-size: 0.85rem;
	color: #666;
}

.privilege .ranking__caption--center {
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	max-width: 100%;
}

.privilege .ranking .rankingTable {
	margin-top: 30px;
	width: 100%;
	font-size: 0.85rem;
	border-collapse: separate;
	border-spacing: 1px 1px;
}

@media (min-width: 769px) {
	.privilege .ranking .rankingTable {
		border-spacing: 2px 2px;
		font-size: 0.9rem;
	}
}

.privilege .ranking .rankingTable th,
.privilege .ranking .rankingTable td {
	background-color: #fff;
	padding: 5px;
	vertical-align: middle;
	text-align: center;
}

@media (min-width: 769px) {

	.privilege .ranking .rankingTable th,
	.privilege .ranking .rankingTable td {
		padding: 10px 15px;
	}
}

.privilege .ranking .rankingTable td.left {
	text-align: left;
}

.privilege .ranking .rankingTable .item {
	background-color: #e7fcfa;
}

.privilege .ranking .rankingTable .item:first-child {
	width: 70px;
}

@media (min-width: 769px) {
	.privilege .ranking .rankingTable .item:first-child {
		width: 140px;
	}
}

.privilege .ranking .rankingTable .item:nth-child(3) {
	width: 40px;
}

@media (min-width: 769px) {
	.privilege .ranking .rankingTable .item:nth-child(3) {
		width: 80px;
	}
}

.privilege .ranking .rankingTable .item:last-child {
	width: 80px;
}

@media (min-width: 769px) {
	.privilege .ranking .rankingTable .item:last-child {
		width: 160px;
	}
}

.privilege .ranking .rankingTable .edition {
	text-align: left;
}

@media (min-width: 769px) {
	.privilege .ranking .rankingTable .edition {
		text-align: center;
	}
}

.privilege .ranking .rankingTable .textButton {
	display: inline-block;
	line-height: 1;
	border: 1px solid #14aca0;
	color: #14aca0;
	padding: 3px 10px;
	border-radius: 3px;
	text-decoration: none;
}

.privilege .prize {
	margin-top: 20px;
	margin-bottom: 50px;
}

@media (min-width: 769px) {
	.privilege .prize {
		margin-top: 30px;
		margin-bottom: 80px;
	}
}

.privilege .prize .prizeTitle {
	text-align: center;
	font-size: 1.15rem;
	font-weight: bold;
}

@media (min-width: 769px) {
	.privilege .prize .prizeLead {
		text-align: center;
	}
}

.privilege .prize .prizeContainer {
	margin-left: -20px;
	padding: 0 20px;
	width: calc(100% + 40px);
}

.privilege .prize .button {
	margin-top: 15px;
	text-align: center;
}

.privilege .prize .button__container {
	display: inline-block;
}

@media (min-width: 769px) {
	.privilege .prize .button a {
		cursor: pointer;
	}

	.privilege .prize .button a:hover {
		background-color: #f2f06d;
	}
}

.privilege .prize .button__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 50px;
	border-radius: 10px;
	text-align: center;
	background-color: #d0cd3b;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	padding: 0 25px;
	min-width: 280px;
	text-decoration: none;
	-webkit-box-shadow: 0 8px 0 0px #b3b034;
	box-shadow: 0 8px 0 0px #b3b034;
	-webkit-transition: background-color 0.4s;
	transition: background-color 0.4s;
}

.privilege .prize .button__inner .icon {
	width: 24px;
	margin: 0 5px;
}

@media (min-width: 769px) {
	.privilege .prize .button__inner .icon {
		width: 30px;
	}
}

@media (min-width: 769px) {
	.privilege .prize .button__inner {
		padding: 0 30px;
		font-size: 20px;
		min-width: 400px;
		height: 65px;
	}
}

.privilege .prize .button__inner.-disable {
	pointer-events: none;
	background-color: #999;
	-webkit-box-shadow: 0 5px 0 0px #666 !important;
	box-shadow: 0 5px 0 0px #666 !important;
}

.privilege .prize .button--small .button__inner {
	height: 40px;
	font-size: 1rem;
	font-weight: 700;
	-webkit-box-shadow: 0 5px 0 0px #b3b034;
	box-shadow: 0 5px 0 0px #b3b034;
	min-width: 200px;
}

@media (min-width: 769px) {
	.privilege .prize .button--small .button__inner {
		height: 44px;
		min-width: 250px;
	}
}

.privilege .prize .button--xsmall .button__inner {
	height: auto;
	font-size: 0.85rem;
	font-weight: 700;
	padding: 7px 40px;
	-webkit-box-shadow: 0 5px 0 0px #b3b034;
	box-shadow: 0 5px 0 0px #b3b034;
	min-width: auto;
}

@media (min-width: 769px) {
	.privilege .prize .button--xsmall .button__inner {
		padding: 8px 50px;
	}
}

.privilege .prize .prizeProduct {
	margin-top: 20px;
}

.privilege .prize .prizeProduct__item {
	padding: 7px;
	background-color: #fff;
}

@media (min-width: 769px) {
	.privilege .prize .prizeProduct__item {
		padding: 10px;
	}
}

.privilege .prize .prizeProduct__itemImage {
	display: block;
	width: 100%;
	margin-bottom: 10px;
}

.privilege .prize .prizeProduct__itemName {
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

.privilege .prize .prizeProduct__itemDescription {
	font-size: 0.85rem;
	margin-top: 5px;
}

.privilege .privilegePoint .button {
	margin-top: 15px;
	text-align: center;
}

.privilege .privilegePoint .button__container {
	display: inline-block;
}

@media (min-width: 769px) {
	.privilege .privilegePoint .button a {
		cursor: pointer;
	}

	.privilege .privilegePoint .button a:hover {
		background-color: #d666ab;
	}
}

.privilege .privilegePoint .button__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 50px;
	border-radius: 10px;
	text-align: center;
	background-color: #cb3e95;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	padding: 0 25px;
	min-width: 280px;
	text-decoration: none;
	-webkit-box-shadow: 0 8px 0 0px #a92d79;
	box-shadow: 0 8px 0 0px #a92d79;
	-webkit-transition: background-color 0.4s;
	transition: background-color 0.4s;
}

.privilege .privilegePoint .button__inner .icon {
	width: 24px;
	margin: 0 5px;
}

@media (min-width: 769px) {
	.privilege .privilegePoint .button__inner .icon {
		width: 30px;
	}
}

@media (min-width: 769px) {
	.privilege .privilegePoint .button__inner {
		padding: 0 30px;
		font-size: 20px;
		min-width: 400px;
		height: 65px;
	}
}

.privilege .privilegePoint .button__inner.-disable {
	pointer-events: none;
	background-color: #999;
	-webkit-box-shadow: 0 5px 0 0px #666 !important;
	box-shadow: 0 5px 0 0px #666 !important;
}

.privilege .privilegePoint .button--small .button__inner {
	height: 40px;
	font-size: 1rem;
	font-weight: 700;
	-webkit-box-shadow: 0 5px 0 0px #a92d79;
	box-shadow: 0 5px 0 0px #a92d79;
	min-width: 200px;
}

@media (min-width: 769px) {
	.privilege .privilegePoint .button--small .button__inner {
		height: 44px;
		min-width: 250px;
	}
}

.privilege .privilegePoint .button--xsmall .button__inner {
	height: auto;
	font-size: 0.85rem;
	font-weight: 700;
	padding: 7px 40px;
	-webkit-box-shadow: 0 5px 0 0px #a92d79;
	box-shadow: 0 5px 0 0px #a92d79;
	min-width: auto;
}

@media (min-width: 769px) {
	.privilege .privilegePoint .button--xsmall .button__inner {
		padding: 8px 50px;
	}
}

@media (min-width: 769px) {
	.privilege .privilegePoint .button {
		margin-top: 30px;
	}
}

.prizelist {
	margin-top: 40px;
}

@media (min-width: 769px) {
	.prizelist .prizeSubTitle {
		font-size: 1.1rem;
	}
}

.prizelist .prizeSubTitle {
	font-weight: bold;
	margin: 0 auto .6em;
}

.prizelist .prizeTable {
	background-color: #fff;
	border-collapse: collapse;
	border: 1px solid #ccc;
	width: 100%;
	margin: 0 auto;
	font-size: 0.85rem;
}

.prizelist .prizeTable:not(:first-child) {
	margin-top: 20px;
}

@media (min-width: 769px) {
	.prizelist .prizeTable:not(:first-child) {
		margin-top: 40px;
	}
}

.prizelist .prizeTable th,
.prizelist .prizeTable td {
	border: 1px solid #ccc;
	padding: 5px;
	min-width: 4.5em;
	text-align: center;
	vertical-align: middle;
}

.prizelist .prizeTable th {
	background-color: #fffda1;
}

.prizelist .prizeTable th.category {
	width: 7.5em;
}

@media (min-width: 769px) {
	.prizelist .prizeTable th.category {
		width: 180px;
	}
}

.prizelist .prizeTable th.prizeName {
	width: 120px;
}

@media (min-width: 769px) {
	.prizelist .prizeTable th.prizeName {
		width: 280px;
	}
}

.prizelist__caption {
	margin-top: 10px;
	font-size: .85rem;
}

.winnerList {
	margin-top: 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.winnerList__item {
	width: 100%;
	margin-bottom: 10px;
	font-weight: 500;
}

@media (min-width: 481px) {
	.winnerList__item {
		width: 50%;
	}
}

@media (min-width: 769px) {
	.winnerList__item {
		width: 33.33%;
	}
}

.winnerList__itemTown {
	background-color: #fff;
	color: #666;
	font-size: 90%;
	line-height: 1;
	padding: 5px 8px;
	border-radius: 3px;
	display: inline-block;
	margin-right: 10px;
}

.fotoconEntry {
	max-width: 600px;
	margin: 0 auto;
	padding: 0 10px
}

.fotoconEntry__catch {
	font-size: 1.2rem;
	background-color: rgba(255, 255, 255, 0.8);
	text-align: center;
	color: #ff7b00;
	border-radius: 3px;
	padding: 15px;
	border: 2px solid #ff7b00;
	margin: 0 auto 10px
}

.fotoconEntry__catch em {
	font-size: 18px;
	font-style: normal;
	font-weight: bold;
	display: block
}

@media (min-width: 769px) {
	.fotoconEntry__catch em {
		font-size: 26px;
		display: inline-block;
		margin-right: .5em
	}
}

.fotoconEntry__description {
	font-weight: 500
}

.fotoconEntry__description em {
	font-style: normal;
	font-weight: bold;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #FAF25A));
	background: linear-gradient(transparent 60%, #FAF25A 60%)
}

.fotoconTerm {
	margin-top: 30px;
	text-align: center;
	position: relative;
	z-index: 2
}

@media (min-width: 769px) {
	.fotoconTerm {
		margin-top: 50px
	}
}

@media (min-width: 769px) {
	.fotoconTerm .-ignoreSmall {
		display: inline !important
	}
}

.fotoconTerm__inner {
	background-color: #ff9100;
	color: #fff;
	display: inline-block;
	border-radius: 50px;
	text-align: center;
	width: 100%;
	font-weight: bold;
	font-size: 18px;
	padding: 10px 10px
}

@media (min-width: 769px) {
	.fotoconTerm__inner {
		font-size: 22px;
		width: -webkit-max-content;
		width: -moz-max-content;
		width: max-content;
		padding: 20px 40px
	}
}

.fotoconTerm__smaller {
	font-size: .9rem
}

.fotoconBg {
	margin: 20px 0 30px;
	position: relative;
	z-index: 1
}

.fotoconBg__inner {
	width: 130%;
	max-width: none;
	margin: 0 auto;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}

.fotoconBg__item {
	background-color: #fff;
	padding: 5px 5px 18px;
	-webkit-box-shadow: 0 3px 2px rgba(0, 0, 0, 0.15);
	box-shadow: 0 3px 2px rgba(0, 0, 0, 0.15);
	margin-right: 5px;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1
}

@media (min-width: 769px) {
	.fotoconBg__item {
		padding: 8px 8px 20px
	}
}

.fotoconBg__item.-item1 {
	-webkit-transform: rotate(4deg);
	transform: rotate(4deg)
}

.fotoconBg__item.-item2 {
	-webkit-transform: rotate(-5deg) translateY(8px);
	transform: rotate(-5deg) translateY(8px)
}

.fotoconBg__item.-item3 {
	-webkit-transform: rotate(2deg);
	transform: rotate(2deg)
}

.fotoconBg__item.-item4 {
	-webkit-transform: rotate(-7deg) translateY(5px);
	transform: rotate(-7deg) translateY(5px)
}

.fotoconPresent {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr;
	grid-template-columns: 1fr 1fr;
	gap: 10px
}

@media (min-width: 769px) {
	.fotoconPresent {
		-ms-grid-columns: (1fr)[4];
		grid-template-columns: repeat(4, 1fr);
		gap: 20px
	}
}

.fotoconPresent__item {
	background-color: #fff;
	border-radius: 5px;
	padding: 10px
}

.fotoconPresent__item--coming {
	height: 150px;
	position: relative
}

.fotoconPresent__item--coming::after {
	content: 'COMING SOON';
	position: absolute;
	width: 100%;
	text-align: center;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #999;
	font-weight: bold
}

.fotoconPresent__itemHeader {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

.fotoconPresent__itemHeader:has(.fotoconPresent__itemHeaderAvatar) .fotoconPresent__itemHeaderName {
	text-align: left
}

.fotoconPresent__itemHeaderAvatar {
	width: 30px;
	border-radius: 50%;
	-webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
	overflow: hidden;
	margin-right: 10px
}

.fotoconPresent__itemHeaderAvatar img {
	width: 100%
}

@media (min-width: 769px) {
	.fotoconPresent__itemHeaderAvatar {
		width: 36px
	}
}

.fotoconPresent__itemHeaderName {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	color: #FF5700;
	line-height: 1.2;
	text-align: center
}

.fotoconPresent__itemPresent {
	display: block;
	border-radius: 10px;
	margin: 10px auto;
	width: 90%
}

@media (min-width: 769px) {
	.fotoconPresent__itemPresent {
		margin: 15px auto;
		width: 100%
	}
}

.fotoconPresent__itemDescription {
	font-size: 0.85rem;
	line-height: 1.3;
	text-align: center
}

@media (min-width: 769px) {
	.fotoconPresent__itemDescription {
		font-size: 0.85rem
	}
}

.fotoconPresent__itemDescription .caption {
	font-size: 10px;
	margin-top: 3px;
	display: block
}

@media (min-width: 769px) {
	.fotoconPresent__itemDescription .caption {
		font-size: 12px
	}
}


.entry {
	position: relative;
}

.entry::before {
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #f4f2fc;
	mix-blend-mode: multiply;
}

.entry .entryStep__item:not(:last-child) {
	margin-bottom: 40px;
}

@media (min-width: 769px) {
	.entry .entryStep__item:not(:last-child) {
		margin-bottom: 80px;
	}
}

.entry .entryStep__itemTitle {
	font-weight: 900;
	font-size: 1.15rem;
	color: #803f86;
	margin-bottom: 10px;
	border-bottom: 2px dotted #803f86;
}

@media (min-width: 769px) {
	.entry .entryStep__itemTitle {
		font-size: 22px;
	}
}

.entry .entryStep__itemTitle span {
	display: inline-block;
	height: 30px;
	border-radius: 15px;
	background-color: #803f86;
	color: #fff;
	font-weight: 800;
	font-size: 1.1rem;
	line-height: 30px;
	padding: 0 10px;
	margin-right: 5px;
}

@media (min-width: 769px) {
	.entry .entryStep__itemTitle span {
		height: 36px;
		border-radius: 18px;
		font-size: 20px;
		line-height: 36px;
		padding: 0 20px;
	}
}

.entry .entryStep__itemSubTitle {
	display: inline-block;
	height: 26px;
	border-radius: 13px;
	background-color: #803f86;
	color: #fff;
	font-weight: 800;
	line-height: 26px;
	padding: 0 15px;
	margin-bottom: 5px;
	margin-top: 20px;
}

.entry .entryStep__itemSubTitle:first-of-type {
	margin-top: 0;
}

@media (min-width: 769px) {
	.entry .entryStep__itemSubTitle {
		height: 30px;
		border-radius: 15px;
		line-height: 30px;
		padding: 0 20px;
	}
}

.entry .entryStep__itemBulletTitle {
	font-weight: bold;
	color: #803f86;
}

.entry .entryStep__item .entryStep__itemBullet+.entryStep__itemBulletTitle {
	margin-top: 10px;
}

@media (min-width: 769px) {
	.entry .entryStep__item .entryStep__itemBullet+.entryStep__itemBulletTitle {
		margin-top: 15px;
	}
}

.entry .entryStep__itemBullet {
	list-style-type: disc;
	padding-left: 1.5em;
}

.entry .entryStep__itemBullet .note {
	font-size: 90%;
}

.entry .entryStep__item .appGuide {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media (min-width: 769px) {
	.entry .entryStep__item .appGuide::after {
		content: "";
		width: calc(33.33% - 5px);
	}
}

.entry .entryStep__item .appGuide__item {
	width: calc(50% - 5px);
	margin-bottom: 15px;
}

.entry .entryStep__item .appGuide__itemButton {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 36px;
	border-radius: 10px;
	text-align: center;
	background-color: #803f86;
	color: #fff;
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	-webkit-box-shadow: 0 5px 0 0px #5f2f63;
	box-shadow: 0 5px 0 0px #5f2f63;
	-webkit-transition: background-color 0.4s;
	transition: background-color 0.4s;
}

@media (min-width: 769px) {
	.entry .entryStep__item .appGuide__itemButton {
		height: 42px;
		cursor: pointer;
	}

	.entry .entryStep__item .appGuide__itemButton:hover {
		background-color: #a14fa9;
	}
}

.entry .download {
	background-image: url("assets/images/travelo.png");
	background-size: auto 280px;
	background-position: bottom center;
	background-repeat: no-repeat;
	padding-bottom: 320px;
}

@media (min-width: 769px) {
	.entry .download {
		min-height: 460px;
		background-size: auto 460px;
		background-position: bottom right -30px;
		padding-bottom: 30px;
		position: relative;
	}
}

@media (min-width: 769px) {
	.entry .travelo {
		width: 50%;
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}

.entry .travelo__title {
	text-align: center;
	margin: 30px 0;
}

.entry .travelo__title img {
	width: 170px;
}

@media (min-width: 769px) {
	.entry .travelo__title {
		margin-bottom: 40px;
	}

	.entry .travelo__title img {
		width: 230px;
	}
}

.entry .travelo__applinkTitle {
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}

.entry .travelo__link {
	text-align: center;
	margin-top: 10px;
}

@media (min-width: 769px) {
	.entry .travelo__link {
		margin-top: 30px;
	}
}

.entry .travelo__link a {
	background-color: #004e2a;
	border-radius: 20px;
	padding: 10px 15px;
	line-height: 1;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	min-width: 200px;
	display: inline-block;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

.entry .travelo__link a:hover {
	opacity: 0.6;
}

.entry .applinkList {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	max-width: 100%;
	margin: 0 auto;
}

.entry .applinkList__item {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 0 5px;
}

@media (min-width: 769px) {
	.entry .applinkList__item {
		padding: 0 10px;
	}
}

.entry .applinkList__itemButton {
	display: block;
	margin: 0 auto 10px;
	text-align: center;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

.entry .applinkList__itemButton:hover {
	opacity: 0.6;
}

.entry .applinkList__itemQR {
	display: block;
	margin: 0 auto 10px;
	width: 80%;
	max-width: 120px;
}

@media (max-width: 768px) {
	.entry .applinkList__itemQR {
		display: none;
	}
}

.entry .entryProperty {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 20px auto -20px;
}

@media (max-width: 768px) {
	.entry .entryProperty {
		max-width: 380px;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

@media (max-width: 768px) {
	.entry .entryProperty--narrow {
		width: 300px;
	}

	.entry .entryProperty--narrow .entryProperty__item {
		width: 50%;
	}
}

.entry .entryProperty__item {
	width: 33.33%;
	width: 50%;
	max-width: 115px;
	margin-bottom: 20px;
}

@media (min-width: 769px) {
	.entry .entryProperty__item {
		width: 20%;
		max-width: none;
	}
}

.entry .entryProperty__itemImage {
	width: 100px;
	height: 100px;
	margin: 0 auto;
	border-radius: 50%;
	border: 2px solid #803f86;
	background-color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media (min-width: 769px) {
	.entry .entryProperty__itemImage {
		width: 120px;
		height: 120px;
	}
}

.entry .entryProperty__itemImage img {
	width: 80%;
}

.entry .entryProperty__itemText {
	color: #803f86;
	font-weight: 700;
	text-align: center;
	font-size: 0.9rem;
	line-height: 1.3;
	margin-top: 5px;
}

.entry .exchange {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 20px auto -20px;
}

@media (max-width: 768px) {
	.entry .exchange {
		max-width: 380px;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

.entry .exchange__item {
	width: 33.33%;
	padding: 0 5px;
	margin-bottom: 20px;
}

@media (min-width: 769px) {
	.entry .exchange__item {
		width: 25%;
		max-width: none;
		padding: 0 15px;
	}
}

.entry .exchange__itemImage {
	display: block;
	border-radius: 50%;
}

.entry .exchange__itemText {
	text-align: center;
	font-size: 0.85rem;
	line-height: 1.3;
	margin-top: 5px;
}

.bring {
	position: relative;
}

.bring::before {
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #f9f7f2;
	mix-blend-mode: multiply;
}

.bring .bringList {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: -30px;
}

@media (min-width: 769px) {
	.bring .bringList {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin-bottom: -50px;
	}
}

.bring .bringList__item {
	width: calc(50% - 10px);
	text-align: center;
	position: relative;
	margin-bottom: 30px;
}

@media (min-width: 769px) {
	.bring .bringList__item {
		width: calc(25% - 30px);
		margin: 0 15px 50px;
	}
}

.bring .bringList__itemType {
	position: absolute;
	width: 34px;
	top: 10px;
	left: 50%;
	-webkit-transform: translate(50%, -30%);
	transform: translate(50%, -30%);
	z-index: 10;
}

@media (min-width: 769px) {
	.bring .bringList__itemType {
		width: 40px;
	}
}

.bring .bringList__itemIcon {
	width: 70px;
}

@media (min-width: 769px) {
	.bring .bringList__itemIcon {
		width: 95px;
	}
}

.bring .bringList__itemTitle {
	font-size: 1.05rem;
	font-weight: 800;
	color: #a0633e;
	margin-bottom: 5px;
}

.bring .bringList__itemDescription {
	font-size: 0.85rem;
	color: #777777;
	text-align: left;
}

@media (min-width: 769px) {
	.bring .bringList__itemDescription {
		padding: 0 5px;
	}
}

.bring .bringList__itemButton {
	margin-top: 10px;
	text-align: center;
}

.bring .bringList__itemButton a {
	display: inline-block;
	padding: 6px 20px;
	background-color: #d0cd3b;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	font-size: 11px;
	line-height: 1;
	border-radius: 5px;
}

@media (min-width: 769px) {
	.bring .bringList__itemButton a {
		font-size: 12px;
		-webkit-transition: opacity 0.3s;
		transition: opacity 0.3s;
	}

	.bring .bringList__itemButton a:hover {
		opacity: 0.6;
	}
}

.checkpointList {
	margin: 50px auto;
}

.checkpointList>ul {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr;
	grid-template-columns: 1fr 1fr;
	gap: 5px;
}

.checkpointList>ul>li {
	background-color: #fff;
	padding: 0.75em 5px;
	font-weight: 500;
	text-align: center;
	line-height: 1.2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.bicycle {
	margin-top: 20px;
}

@media (min-width: 769px) {
	.bicycle {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
}

.bicycle__item {
	background-color: rgba(255, 255, 255, 0.5);
	padding: 15px;
}

@media (max-width: 768px) {
	.bicycle__item:not(:last-child) {
		margin-bottom: 15px;
	}
}

@media (min-width: 769px) {
	.bicycle__item {
		padding: 20px;
		width: calc(50% - 15px);
	}
}

.bicycle__itemTitle {
	font-size: 1.1rem;
	font-weight: 600;
	padding-bottom: 5px;
	margin-bottom: 10px;
	border-bottom: 2px dotted #333;
}

.rentaCycleContainer {
	margin-left: -20px;
	padding: 0 20px;
	width: calc(100% + 40px);
}

.rentaCycle {
	margin-top: 10px;
}

.rentaCycle__item {
	background-color: #fff;
	width: 240px;
	position: relative;
}

@media (min-width: 769px) {
	.rentaCycle__item {
		width: 350px;
	}
}

.rentaCycle__itemCity {
	position: absolute;
	top: 10px;
	right: -10px;
	background-color: #894c27;
	color: #fff;
	font-size: 0.9rem;
	font-weight: bold;
	padding: 5px 10px;
	line-height: 1.3;
}

.rentaCycle__itemImage {
	display: block;
	width: 100%;
	margin-bottom: 10px;
}

.rentaCycle__itemText {
	padding: 10px 15px 20px;
}

@media (min-width: 769px) {
	.rentaCycle__itemText {
		padding: 10px 20px 20px;
	}
}

.rentaCycle__itemName {
	font-weight: 800;
	line-height: 1.3;
	margin-bottom: 5px;
}

.rentaCycle__itemInfo {
	font-size: 0.85rem;
	width: 100%;
}

@media (min-width: 769px) {
	.rentaCycle__itemInfo {
		font-size: 13px;
	}
}

.rentaCycle__itemInfo th,
.rentaCycle__itemInfo td {
	display: block;
}

.rentaCycle__itemInfo th {
	border-bottom: 1px dotted #ccc;
	padding-bottom: 3px;
	padding-top: 5px;
	font-weight: bold;
	color: #666;
}

@media (min-width: 769px) {
	.rentaCycle__itemInfo th {
		padding-top: 10px;
	}
}

.rentaCycle__itemInfo td {
	padding-top: 3px;
}

.recommendTitle {
	font-weight: 800;
	color: #075b3a;
	margin-top: 6px;
}

.rentaCycle__itemDescription {
	margin-top: 10px;
	text-align: justify;
	font-size: 0.9rem;
	max-height: 170px;
	overflow: auto;
	scrollbar-color: #999 transparent;
	scrollbar-width: thin;
	padding-right: 10px;
	line-height: 1.5;
}

.rentaCycle__itemDescription::-webkit-scrollbar {
	width: 6px;
}

.rentaCycle__itemDescription::-webkit-scrollbar-track {
	background: rgba(153, 153, 153, 0.3);
	border: none;
	border-radius: 6px;
}

.rentaCycle__itemDescription::-webkit-scrollbar-thumb {
	background: #999;
	border-radius: 6px;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.rentaCycle__item .button {
	margin-top: 20px;
	position: absolute;
	width: calc(100% - 30px);
	bottom: 15px;
	text-align: center;
}

.rentaCycle__item .button__container {
	display: inline-block;
}

@media (min-width: 769px) {
	.rentaCycle__item .button a {
		cursor: pointer;
	}

	.rentaCycle__item .button a:hover {
		background-color: #fb7d2f;
	}
}

.rentaCycle__item .button__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 50px;
	border-radius: 10px;
	text-align: center;
	background-color: #f26005;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	padding: 0 25px;
	min-width: 280px;
	text-decoration: none;
	-webkit-box-shadow: 0 8px 0 0px #c04c04;
	box-shadow: 0 8px 0 0px #c04c04;
	-webkit-transition: background-color 0.4s;
	transition: background-color 0.4s;
}

.rentaCycle__item .button__inner .icon {
	width: 24px;
	margin: 0 5px;
}

@media (min-width: 769px) {
	.rentaCycle__item .button__inner .icon {
		width: 30px;
	}
}

@media (min-width: 769px) {
	.rentaCycle__item .button__inner {
		padding: 0 30px;
		font-size: 20px;
		min-width: 400px;
		height: 65px;
	}
}

.rentaCycle__item .button__inner.-disable {
	pointer-events: none;
	background-color: #999;
	-webkit-box-shadow: 0 5px 0 0px #666 !important;
	box-shadow: 0 5px 0 0px #666 !important;
}

.rentaCycle__item .button--small .button__inner {
	height: 40px;
	font-size: 1rem;
	font-weight: 700;
	-webkit-box-shadow: 0 5px 0 0px #c04c04;
	box-shadow: 0 5px 0 0px #c04c04;
	min-width: 200px;
}

@media (min-width: 769px) {
	.rentaCycle__item .button--small .button__inner {
		height: 44px;
		min-width: 250px;
	}
}

.rentaCycle__item .button--xsmall .button__inner {
	height: auto;
	font-size: 0.85rem;
	font-weight: 700;
	padding: 7px 40px;
	-webkit-box-shadow: 0 5px 0 0px #c04c04;
	box-shadow: 0 5px 0 0px #c04c04;
	min-width: auto;
}

@media (min-width: 769px) {
	.rentaCycle__item .button--xsmall .button__inner {
		padding: 8px 50px;
	}
}

@media (min-width: 769px) {
	.rentaCycle__item .button {
		bottom: 20px;
		width: calc(100% - 40px);
	}
}

.rentaCycle__item .button__container {
	width: 100% !important;
}

.rentaCycle__item .button__inner {
	min-width: 0 !important;
	height: 30px !important;
	font-size: 0.85rem !important;
}

.app .button {
	margin-top: 30px;
}

@media (min-width: 769px) {
	.app .button {
		margin-top: 40px;
	}
}

.cautionFrame {
	margin-top: 30px;
	border: 1px solid #ccc;
	padding: 10px;
}

@media (min-width: 769px) {
	.cautionFrame {
		margin-top: 50px;
		padding: 15px;
	}
}

.cautionFrame__title {
	text-align: center;
	font-weight: 800;
	font-size: 1.1rem;
	line-height: 1.3;
	margin-bottom: 10px;
}

.cautionFrame__list {
	font-size: 0.85rem;
}

.cautionFrame__listItem {
	padding-left: 1.5em;
}

.cautionFrame__listItem:not(:last-child) {
	margin-bottom: 5px;
}

.cautionFrame__listItem::before {
	content: "※";
	margin-left: -1.3em;
}

.circleList {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	margin-top: 20px;
}

@media (min-width: 769px) {
	.circleList {
		-ms-grid-columns: (1fr) [3];
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 981px) {
	.circleList {
		-ms-grid-columns: (1fr) [3];
		grid-template-columns: repeat(3, 1fr);
	}
}

.circleList--flex {
	display: flex;
	justify-content: center;
	margin-top: 20px;
}

.circleList__itemEyecatch {
	position: relative;
	margin: 0 auto 10px;
	max-width: 200px;
}

@media (min-width: 769px) {
	.circleList__itemEyecatch {
		max-width: 220px;
		margin-bottom: 15px;
	}
}

.circleList__itemImage {
	border-radius: 50%;
}

.circleList__itemPoint {
	position: absolute;
	top: 5px;
	right: 5px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	background-color: #155e90;
	color: #fff;
	font-weight: 700;
	font-size: 0.85rem;
}

@media (min-width: 769px) {
	.circleList__itemPoint {
		width: 56px;
		height: 56px;
		line-height: 22px;
	}
}

.circleList__itemPoint em {
	font-size: 18px;
	font-style: normal;
}

@media (min-width: 769px) {
	.circleList__itemPoint em {
		font-size: 22px;
	}
}

.circleList__itemPointInner {
	font-weight: 700;
	line-height: 1.1;
}

.circleList__itemPointInner em {
	display: block;
	font-size: 15px;
}

@media (min-width: 769px) {
	.circleList__itemPointInner em {
		font-size: 18px;
	}
}

.circleList__itemPointWide {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transform: translateY(20%);
	transform: translateY(20%);
}

.circleList__itemPointWideInner {
	height: 30px;
	border-radius: 15px;
	padding: 0 10px;
	line-height: 30px;
	font-size: 0.8rem;
	background-color: #155e90;
	color: #fff;
}

.circleList__itemPointWideInner em {
	font-size: 15px;
	font-weight: bold;
	font-style: normal;
	margin-right: 3px;
}

@media (min-width: 769px) {
	.circleList__itemPointWideInner em {
		font-size: 18px;
	}
}

.circleList__itemTitle {
	font-size: 1.1rem;
	line-height: 1.2;
	font-weight: 800;
	color: #155e90;
	text-align: center;
	margin-bottom: 5px;
}

@media (min-width: 769px) {
	.circleList__itemTitle {
		margin-bottom: 10px;
	}
}

.circleList__itemTitle .caption {
	display: block;
	font-size: 0.9rem;
	margin-top: 5px;
	line-height: 1.4;
}

.circleList__itemDescription {
	word-break: break-all;
	font-size: 0.9rem;
}

.circleList__itemDescription em {
	font-style: normal;
	font-weight: bold;
}

.circleList__itemDescription a {
	display: block;
	line-height: 1;
	border-radius: 5px;
	font-size: 0.85rem;
	text-decoration: none;
	margin-top: 10px;
}

.circleList--pinkpurple .circleList__itemPoint {
	background-color: #cb3e95;
}

.circleList--pinkpurple .circleList__itemTitle {
	color: #cb3e95;
}

.circleList--pinkpurple .circleList__itemDescription a {
	color: #cb3e95;
}

.circleList--green .circleList__itemPoint {
	background-color: #14aca0;
}

.circleList--green .circleList__itemTitle {
	color: #14aca0;
}

.circleList--green .circleList__itemDescription a {
	background-color: #14aca0;
}

.circleList+.button {
	margin-top: 30px;
}

@media (min-width: 769px) {
	.flow {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

.flow__step {
	position: relative;
}

@media (max-width: 768px) {
	.flow__step:not(:last-child) {
		margin-bottom: 15px;
		padding-bottom: 15px;
	}

	.flow__step:not(:last-child)::after {
		content: "";
		position: absolute;
		bottom: -12px;
		left: calc(50% - 10px);
		width: 0;
		height: 0;
		border: 10px solid transparent;
		border-top: 14px solid #666;
	}
}

@media (min-width: 769px) {
	.flow__step {
		width: 33.33%;
		-webkit-box-sizing: content-box;
		box-sizing: content-box;
	}

	.flow__step:not(:last-child) {
		margin-right: 30px;
		padding-right: 30px;
	}

	.flow__step:not(:last-child)::after {
		content: "";
		position: absolute;
		top: calc(50% - 14px);
		right: -14px;
		width: 0;
		height: 0;
		border: 10px solid transparent;
		border-left: 14px solid #666;
	}
}

.flow__stepTitle {
	font-size: 14px;
	color: #075b3a;
	font-weight: 500;
	text-align: center;
	margin-top: 5px;
}

.flow__stepImage {
	display: block;
	width: 180px;
	margin: 0 auto 10px;
	border-radius: 10px;
	border: 3px solid #707070;
}

@media (min-width: 769px) {
	.flow__stepImage {
		width: 100%;
		max-width: 240px;
	}
}

.bgEnglish {
	position: absolute;
	top: 0;
	right: 0;
	-webkit-transform: rotate(90deg) translate(100%, -10%);
	transform: rotate(90deg) translate(100%, -10%);
	-webkit-transform-origin: right top;
	transform-origin: right top;
	opacity: 0.1;
	font-family: "Teko", sans-serif;
	font-size: 120px;
	font-weight: 500;
	color: #fff;
	z-index: 0;
	line-height: 1;
	width: 1000px;
}

@media (min-width: 769px) {
	.bgEnglish {
		font-size: 200px;
	}
}

.bgEnglish--small {
	font-size: 100px;
}

@media (min-width: 769px) {
	.bgEnglish--small {
		font-size: 150px;
	}
}

.overviewTable {
	width: 100%;
	border-collapse: separate;
	border-spacing: 2px;
}

.overviewTable tr:nth-child(odd) th,
.overviewTable tr:nth-child(odd) td {
	background-color: #fffdc1;
}

.overviewTable tr:nth-child(even) th,
.overviewTable tr:nth-child(even) td {
	background-color: #fffddd;
}

.overviewTable th {
	width: 5em;
	text-align: left;
	padding: 8px;
}

@media (min-width: 769px) {
	.overviewTable th {
		width: 120px;
		padding: 12px;
	}
}

.overviewTable td {
	padding: 8px 8px 8px 15px;
}

.overviewTable td .caption {
	font-size: 0.85em;
}

.overviewTable td .note {
	margin-top: 10px;
	color: #ff3300;
}

@media (min-width: 769px) {
	.overviewTable td {
		padding: 12px 12px 12px 30px;
	}
}

.sponsarBanner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.sponsarBanner__item {
	width: 33.33%;
	margin-top: 25px;
}

@media (min-width: 769px) {
	.sponsarBanner__item {
		width: 25%;
		margin-top: 40px;
	}

	.sponsarBanner__item a {
		-webkit-transition: opacity 0.3s;
		transition: opacity 0.3s;
	}

	.sponsarBanner__item a:hover {
		opacity: 0.6;
	}
}

.contact {
	text-align: center;
}

.contact__tel {
	text-decoration: none;
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	color: #075b3a;
}

@media (min-width: 769px) {
	.contact__tel {
		pointer-events: none;
		font-size: 22px;
	}
}

.contact__hours {
	font-weight: 700;
	color: #075b3a;
}

.contact .button {
	margin-top: 15px;
}

.contact__mail {
	margin-bottom: 20px;
}

.contact__mail a {
	color: #075b3a;
	display: inline-block;
	margin-top: 10px;
	font-weight: bold;
	text-decoration: none;
}

.contact__address {
	margin-top: 15px;
}

@media (min-width: 769px) {
	.contact__address {
		margin-top: 25px;
	}
}

.contact__note {
	font-size: 0.85rem;
	margin-top: 10px;
}

@media (max-width: 768px) {
	.contact__note {
		text-align: left;
	}
}

.caution {
	background-color: #fff;
	padding: 15px 0;
	margin-bottom: 15px;
}

@media (min-width: 769px) {
	.caution {
		padding: 25px 0;
	}
}

.caution__inner {
	height: auto;
	max-height: 200px;
	padding: 0 15px;
	overflow: auto;
}

@media (min-width: 769px) {
	.caution__inner {
		padding: 0 25px;
		max-height: 280px;
	}
}

.caution__inner p {
	font-size: 0.85rem;
}

.caution__list.-number {
	font-size: 0.85rem;
	list-style-type: decimal;
	padding-left: 1em;
}

.caution__list.-number .caution__listItem:not(:last-child) {
	margin-bottom: 10px;
}

@media (min-width: 769px) {
	.caution__list.-number .caution__listItem:not(:last-child) {
		margin-bottom: 20px;
	}
}

.caution__listNumberTitle {
	font-weight: bold;
	font-size: 0.9rem;
	margin-left: -1em;
	margin-bottom: 5px;
}

.caution__listItem:not(:last-child) {
	margin-bottom: 10px;
}

@media (min-width: 769px) {
	.caution__listItem:not(:last-child) {
		margin-bottom: 30px;
	}
}

.caution__listItemTitle {
	font-size: 0.9rem;
	font-weight: bold;
	padding-bottom: 5px;
	margin-bottom: 10px;
	border-bottom: 1px dotted #666;
}

.caution__listItemDescription {
	font-size: 0.85rem;
	margin-bottom: 15px;
}

.caution__listSubItem:not(:last-child) {
	margin-bottom: 15px;
}

.caution__listSubItemTitle {
	font-weight: bold;
	margin-bottom: 5px;
}

.caution__listAttention {
	font-size: 0.85rem;
}

.caution__listAttention ul {
	list-style: disc outside;
	padding-left: 1.5em;
}

.caution__listAttention ul li:not(:last-child) {
	margin-bottom: 5px;
}

.caution__listAttention ul li em {
	color: #ff3400;
	font-style: normal;
}

.caution__listTitle {
	font-weight: bold;
	margin-top: 10px;
}

/* --- Integrated from assets/css/restructure.css --- */
html {
  scroll-behavior: smooth;
}

:root {
  --renewal-deep-green: #075b3a;
  --renewal-deep-green-dark: #043d29;
  --renewal-deep-green-light: #0b7048;
  --renewal-lime: #d0cd3b;
}

.gNavi {
  background-color: var(--renewal-deep-green);
}

.button__inner,
.entryButton {
  color: #fff;
  background-color: var(--renewal-deep-green);
  box-shadow: 0 8px 0 0 var(--renewal-deep-green-dark);
}

.main .button__inner.unified-button,
.main .entryButton.unified-button {
  color: #fff !important;
  background-color: var(--renewal-deep-green) !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 0 0 var(--renewal-deep-green-dark) !important;
  text-decoration: none;
  transform: translateY(0);
  transition: color 0.2s ease, background-color 0.2s ease,
    box-shadow 0.12s ease, transform 0.12s ease;
}

.main .button__inner.unified-button.-disable,
.main .entryButton.unified-button.-disable {
  color: #fff !important;
  background-color: #999 !important;
  box-shadow: 0 8px 0 0 #666 !important;
}

.main .button__inner.unified-button:focus-visible,
.main .entryButton.unified-button:focus-visible {
  outline: 3px solid var(--renewal-lime);
  outline-offset: 4px;
}

.modelcourse__itemTitle {
  color: var(--renewal-deep-green);
}

.overviewTable th {
  color: #fff;
  background-color: var(--renewal-deep-green) !important;
}

.overviewTable tr:nth-child(odd) td {
  background-color: #fff;
}

.overviewTable tr:nth-child(even) td {
  background-color: #f2f2f2;
}

.entry-shortcut {
  padding-top: 40px;
  padding-bottom: 40px;
  background: transparent;
}

.entry-shortcut .button {
  margin-top: 0;
}

.enjoyment-gallery {
  display: grid;
  gap: 20px;
  max-width: 1080px;
  margin: 30px auto 0;
}

.enjoyment-gallery__item {
  margin: 0;
}

.enjoyment-gallery__item img {
  display: block;
  width: 100%;
  height: auto;
}

.aid-station-gallery {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.commemorative-gifts-gallery {
  max-width: 1080px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.main .contentLead .course-lead__notes {
  display: block;
  margin-top: 1em;
  font-size: 16px !important;
  line-height: 1.8;
  text-align: left;
}

.commemorative-gifts-gallery .enjoyment-gallery__item {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background-color: #fff;
}

.commemorative-gifts-gallery .commemorative-gift-photo {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
}

.commemorative-gifts-gallery .commemorative-gift-photo--la-france {
  object-position: center 52%;
}

.commemorative-gifts-gallery .ticket-illustration-card {
  display: flex;
  align-items: center;
  justify-content: center;
}

.commemorative-gifts-gallery .ticket-illustration-card img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: contain;
}

.commemorative-gifts-note {
  max-width: 720px;
  margin: 24px auto 0;
  color: #333;
  font-size: 16px !important;
  line-height: 1.8;
  text-align: center;
}

.linkage-event__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: 40px;
  align-items: start;
}

.linkage-event__copy {
  color: #333;
  line-height: 1.9;
}

.linkage-event__copy p {
  margin: 0 0 1em;
}

.linkage-event__lead {
  margin: 0 auto 24px;
  line-height: 1.6;
}

.linkage-event__details {
  margin: 24px 0 0;
  padding: 20px 24px;
  background: #fff;
  border-radius: 12px;
}

.linkage-event__details > div {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
}

.linkage-event__details > div + div {
  margin-top: 8px;
}

.linkage-event__details dt {
  font-weight: 700;
}

.linkage-event__details dd {
  margin: 0;
}

.linkage-event__media {
  margin: 0;
}

.linkage-event__media img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 0;
}

.linkage-event__media figcaption {
  margin-top: 10px;
  color: #333;
  font-size: 0.86em;
  line-height: 1.6;
  text-align: center;
}

.linkage-event__button {
  margin-top: 30px;
}

.insurance-introduction {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
}

.insurance-copy {
  line-height: 1.9;
}

.insurance-copy p {
  margin: 0 0 1.2em;
}

.guest-gallery {
  max-width: 520px;
}

.ride-video__movie {
  width: 100%;
  max-width: 800px;
  margin: 30px auto 0;
}

.ride-video__movie .movie {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.ride-video__movie .movie iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.entry-app-introduction {
  max-width: 900px;
  margin: 50px auto 0;
  padding: 30px 0;
}

.entry-app-introduction__text {
  margin-top: 30px;
  line-height: 1.8;
}

.entry-app-introduction .enjoyment-gallery {
  margin-top: 0;
}

.bring-guidance {
  max-width: 1120px;
  margin: 0 auto;
}

.bring-guidance__group + .bring-guidance__group {
  margin-top: 50px;
}

.bring-guidance__group .contentSubTitle {
  margin-bottom: 20px;
  color: var(--renewal-deep-green);
}

.bring-guidance__list {
  margin: 0;
  padding-left: 1.5em;
  line-height: 1.8;
}

.bring-guidance__list li + li {
  margin-top: 16px;
}

.bring-guidance__list span {
  display: inline-block;
  margin-top: 4px;
}

#bring .bringList__itemIcon {
  display: block;
  width: 70px;
  height: 70px;
  margin: 0 auto 10px;
  object-fit: contain;
}

@media (min-width: 769px) {
  #bring .bringList__itemIcon {
    width: 95px;
    height: 95px;
  }
}

#bring .bringList__itemTitle {
  color: var(--renewal-deep-green);
  line-height: 1.4;
  overflow-wrap: anywhere;
}

#bring .bringList__itemDescription {
  margin: 0;
  line-height: 1.7;
}

.schedule-notes {
  margin-top: 20px;
}

#news .newsList {
  max-height: none;
  overflow: visible;
  scrollbar-width: auto;
}

#attention .contentParagraph:last-child .caution__inner {
  height: auto;
  max-height: none;
  overflow: visible;
}

.rearranged-one-day {
  padding-top: 1px;
}

.rearranged-one-day > .contentParagraph {
  margin-top: 0;
}

.rearranged-course-map {
  max-width: 1240px;
  margin: 0 auto 70px;
  padding: 0 20px;
}

.rearranged-course-map img {
  display: block;
  width: 100%;
  height: auto;
}

.rearranged-schedule .overviewTable th {
  width: 30%;
}

.rearranged-schedule .schedule-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}

.rearranged-schedule .schedule-grid__item {
  min-width: 0;
}

.rearranged-schedule .schedule-grid__title {
  margin: 20px auto;
  padding: 0 20px;
  color: var(--renewal-deep-green) !important;
  background: transparent;
  border-radius: 0;
  font-size: 28px !important;
  line-height: 1.4;
  text-align: center;
}

.rearranged-schedule .schedule-table {
  margin: 0;
}

.rearranged-schedule .schedule-table th {
  width: 90px;
}

@media screen and (max-width: 768px) {
  .rearranged-schedule .schedule-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .rearranged-schedule .schedule-grid__title {
    margin: 20px auto;
    font-size: 28px !important;
  }
}

.rearranged-access .modelcourse__itemMap {
  width: 100%;
  min-height: 420px;
  border: 0;
}

.rearranged-access .modelcourse__itemWidget {
  min-width: 0;
}

.section-group__header {
  padding-bottom: 0;
}

.enjoyment-section--aid {
  padding-top: 40px;
}

.section-tone--dark,
.section-tone--light {
  position: relative;
  background: transparent;
}

.section-tone--dark::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: #f9f7f2;
  mix-blend-mode: multiply;
}

.section-tone--light::before {
  content: none;
}

.section-tone--dark > *,
.section-tone--light > * {
  position: relative;
  z-index: 1;
}

.subsection-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  max-width: 1240px;
  margin: 0 auto 38px;
  padding: 0 20px;
  border: 0;
  color: var(--renewal-deep-green) !important;
  background: transparent;
  text-align: center;
  font-size: 22px;
  line-height: 1.4;
}

.subsection-title::before,
.subsection-title::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: #dfe5e1;
}

.subsection-title span {
  position: relative;
  z-index: 1;
  display: inline-block;
  flex: 0 0 auto;
  padding: 0;
  color: inherit;
  background: none;
  font-size: inherit;
}

.subsection-title span::after {
  content: "";
  display: block;
  width: 22px;
  height: 2px;
  margin: 5px auto 0;
  background: var(--renewal-lime);
}

#enjoyment > .page-subsection {
  width: calc(100% - 40px);
  max-width: 1240px;
  margin: 0 auto 30px;
  padding: 20px 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

#enjoyment > .page-subsection::before {
  content: none;
}

#enjoyment > #aid-introduction {
  margin-top: 20px;
}

#enjoyment > .page-subsection:last-child {
  margin-bottom: 40px;
}

#event-introduction .rentaCycleContainer {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;
}

#enjoyment > #event-introduction {
  width: 100%;
  max-width: none;
}

#event-introduction .main__inner {
  width: calc(100% - 40px);
  max-width: none;
}

#event-introduction > .contentParagraph {
  margin-top: 0;
}

#event-introduction .rentaCycle {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 24px;
  margin-top: 20px;
}

#event-introduction .rentaCycle__item {
  width: auto;
  height: auto;
  margin: 0;
}

#event-introduction .rentaCycle__itemDescription {
  max-height: none;
  padding-right: 0;
  overflow: visible;
  scrollbar-width: auto;
}

#event-introduction .rentaCycle__itemImage {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

#youtube .recommendMovie,
#youtube .recommendMovie--single,
#youtube .recommendMovie__item {
  width: 100%;
  max-width: none;
}

#youtube .recommendMovie__item {
  background: transparent;
  padding-right: 0;
  padding-left: 0;
}

#youtube .recommendMovie__itemTitle {
  padding-right: 20px;
  padding-left: 20px;
}

/* Keep all supporting text readable without flattening the heading hierarchy. */
html,
body {
  font-size: 16px;
}

.gNaviList__item a,
.newsList__itemDate,
.newsList__itemContent,
.newsList__item a,
.main th,
.main td,
.rentaCycle__itemDescription,
.entryProperty__itemText,
.cautionFrame__listItem,
.bringList__itemDescription,
.caution__listItem,
.contact__note,
.main .note {
  font-size: 16px !important;
}

.rentaCycle__itemDescription a,
.cautionFrame__listItem a,
.caution__listItem a,
.main th a,
.main td a {
  font-size: inherit !important;
}

/* Four-level type scale: 40 / 28 / 20 / 16px. */
body * {
  font-size: 16px !important;
}

.main .contentTitle,
.main .contentTitle span {
  font-size: 40px !important;
}

.main .subsection-title,
.main .subsection-title span,
.main .modelcourse__itemTitle,
.main .modelcourse__itemTitle *,
.main .entry .entryStep__itemTitle,
.main .entry .entryStep__itemTitle *,
.main #attention .contentSub2Title,
.main #attention .contentSub2Title * {
  font-size: 28px !important;
}

.main :where(h3, h4, h5, h6),
.main :where(h3, h4, h5, h6) *,
.main .contentSubTitle,
.main .contentSubTitle *,
.main .contentSub2Title,
.main .contentSub2Title *,
.main .unified-button,
.main .unified-button *,
.main .contentLead,
.main .contentLead *,
.main .rentaCycle__itemName,
.main .entryStep__itemBulletTitle {
  font-size: 20px !important;
}

.main .contentHeader {
  margin-bottom: 23px;
}

.main .contentTitle {
  margin: 28px auto;
}

.main .subsection-title {
  margin: 20px auto;
}

.main .modelcourse__itemTitle:not(.subsection-title) {
  margin: 20px auto;
}

/* 参加方法：ツール・ド府中の5ステップ構成を本イベント向けに展開 */
#entry .main__inner--narrow {
  width: calc(100% - 40px);
  max-width: 880px;
}

.participation-lead {
  margin: 0 0 32px;
  text-align: center;
  font-size: 20px !important;
  line-height: 1.8;
}

.participation-flow,
.participation-steps,
.participation-app-steps,
.participation-download__stores,
.participation-goal ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.participation-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.participation-flow li {
  min-width: 0;
}

.participation-flow a {
  position: relative;
  display: flex;
  min-height: 190px;
  height: 100%;
  padding: 30px 12px 18px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--renewal-deep-green-dark);
  background: #f9f7f2;
  border: 2px solid var(--renewal-deep-green);
  border-radius: 12px;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.participation-flow a > span {
  position: absolute;
  top: -13px;
  left: 50%;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #fff;
  background: var(--renewal-deep-green);
  border-radius: 50%;
  font-size: 20px !important;
  font-weight: 700;
  transform: translateX(-50%);
}

.participation-flow img {
  width: 74px;
  height: 74px;
  margin-bottom: 12px;
  object-fit: contain;
}

.participation-flow strong {
  font-size: 16px !important;
  line-height: 1.45;
}

.participation-catch {
  margin: 28px 0 60px;
  text-align: center;
  font-size: 20px !important;
  line-height: 1.7;
}

.participation-catch strong {
  color: var(--renewal-deep-green);
  font-size: 28px !important;
}

.participation-steps {
  counter-reset: participation-step;
}

.participation-step {
  margin-bottom: 52px;
  padding: 0 32px 36px;
  overflow: hidden;
  background: #f9f7f2;
  border: 1px solid #d9d9d3;
  border-radius: 14px;
  scroll-margin-top: 100px;
}

.participation-step:last-child {
  margin-bottom: 0;
}

.participation-step__title {
  display: flex;
  margin: 0 -32px 28px;
  padding: 18px 32px;
  align-items: center;
  gap: 18px;
  color: #fff;
  background: var(--renewal-deep-green);
  font-size: 28px !important;
  line-height: 1.45;
}

.participation-step__title span {
  flex: 0 0 auto;
  padding: 5px 12px;
  color: var(--renewal-deep-green-dark);
  background: var(--renewal-lime);
  border-radius: 6px;
  font-size: 16px !important;
  font-weight: 700;
}

.participation-step__catch {
  margin: 0 0 28px;
  text-align: center;
  font-size: 20px !important;
  font-weight: 700;
}

.participation-download {
  padding: 30px;
  background: #fff;
  border-radius: 12px;
  text-align: center;
}

.participation-download__logo {
  display: block;
  width: min(280px, 70%);
  height: auto;
  margin: 0 auto 24px;
}

.participation-download__stores {
  display: flex;
  justify-content: center;
  gap: 40px;
}

.participation-download__stores li {
  display: grid;
  grid-template-columns: 160px 80px;
  align-items: center;
  gap: 12px;
}

.participation-download__stores a img {
  display: block;
  width: 160px;
  height: auto;
}

.participation-download__qr {
  display: block;
  width: 80px;
  height: 80px;
}

.participation-text-link {
  display: inline-block;
  margin-top: 24px;
  color: var(--renewal-deep-green);
  font-size: 16px !important;
  font-weight: 700;
  text-decoration: underline;
}

.participation-app-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.participation-app-steps li {
  min-width: 0;
  text-align: center;
}

.participation-app-steps__image {
  position: relative;
  width: 100%;
}

.participation-app-steps__image > span {
  position: absolute;
  z-index: 1;
  top: -10px;
  left: -10px;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #fff;
  background: var(--renewal-deep-green);
  border-radius: 50%;
  font-size: 20px !important;
  font-weight: 700;
}

.participation-app-steps img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #ddd;
  border-radius: 10px;
}

.participation-app-steps p {
  margin: 16px 0 0;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.7;
}

.participation-ready {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: center;
  gap: 32px;
}

.participation-ready > img {
  display: block;
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: 10px;
}

.participation-ready h4 {
  margin: 0 0 18px;
  color: var(--renewal-deep-green);
  font-size: 16px !important;
  line-height: 1.6;
}

.participation-ready h4 strong {
  font-size: 20px !important;
}

.participation-ready p {
  margin: 0 0 20px;
  font-size: 16px !important;
  line-height: 1.8;
}

.participation-ready .button,
.participation-step__button {
  max-width: 360px;
  margin: 30px auto 8px;
}

.participation-ready .button {
  margin: 0;
}

.participation-goal {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  align-items: center;
  gap: 34px;
  padding: 30px;
  background: #fff;
  border-radius: 12px;
}

.participation-goal > img {
  display: block;
  width: 150px;
  height: 150px;
  object-fit: contain;
}

.participation-goal__catch {
  margin: 0 0 16px;
  color: var(--renewal-deep-green);
  font-size: 20px !important;
  font-weight: 700;
}

.participation-goal li {
  position: relative;
  margin-top: 10px;
  padding-left: 22px;
  font-size: 16px !important;
  line-height: 1.75;
}

.participation-goal li::before {
  content: "";
  position: absolute;
  top: 0.65em;
  left: 0;
  width: 8px;
  height: 8px;
  background: var(--renewal-lime);
  border-radius: 50%;
}

@media screen and (min-width: 769px) {
  .main .contentHeader {
    margin-bottom: 30px;
  }

  .main .contentTitle {
    margin: 40px auto;
  }

  .main .modelcourse__itemTitle:not(.subsection-title) {
    margin: 28px auto;
  }

  #enjoyment > .page-subsection {
    margin-bottom: 50px;
    padding: 30px 0;
  }

  #enjoyment > #aid-introduction {
    margin-top: 30px;
  }

  #enjoyment > .page-subsection:last-child {
    margin-bottom: 80px;
  }

  .main .subsection-title {
    gap: 18px;
    margin: 28px auto;
    padding: 0 24px;
    font-size: 28px;
  }

  #event-introduction .rentaCycle {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
  }

  .main .button__inner.unified-button:not(.-disable):hover,
  .main .entryButton.unified-button:not(.-disable):hover {
    color: #fff;
    background-color: var(--renewal-deep-green-light) !important;
    box-shadow: 0 0 0 0 var(--renewal-deep-green-dark) !important;
    transform: translateY(8px);
  }

  .participation-flow a:hover {
    color: var(--renewal-deep-green-dark);
    background: #fff;
    transform: translateY(-4px);
  }
}

@media screen and (min-width: 1024px) {
  #event-introduction .rentaCycle {
    grid-template-columns: repeat(4, minmax(0, 350px));
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .entry-shortcut {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .entry-app-introduction {
    margin-top: 30px;
    padding: 20px 0;
  }

  .enjoyment-gallery {
    gap: 16px;
    margin-top: 20px;
  }

  .commemorative-gifts-gallery {
    grid-template-columns: 1fr;
  }

  .linkage-event__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .linkage-event__details {
    padding: 18px;
  }

  .aid-station-gallery {
    grid-template-columns: 1fr;
  }

  .rearranged-course-map {
    margin-bottom: 45px;
    padding: 0;
  }

  .enjoyment-section--aid {
    padding-top: 20px;
  }

  .rearranged-access .modelcourse__itemMap {
    min-height: 320px;
  }

  #entry .main__inner--narrow {
    width: calc(100% - 30px);
  }

  .participation-lead {
    margin-bottom: 26px;
  }

  .participation-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 12px;
  }

  .participation-flow li:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 6px);
    margin: 0 auto;
  }

  .participation-flow a {
    min-height: 156px;
    padding: 26px 10px 14px;
  }

  .participation-flow img {
    width: 58px;
    height: 58px;
    margin-bottom: 8px;
  }

  .participation-catch {
    margin: 26px 0 44px;
  }

  .participation-catch strong {
    font-size: 20px !important;
  }

  .participation-step {
    margin-bottom: 36px;
    padding: 0 18px 26px;
    scroll-margin-top: 70px;
  }

  .participation-step__title {
    margin: 0 -18px 28px;
    padding: 16px 18px;
    gap: 10px;
    font-size: 20px !important;
  }

  .participation-step__title span {
    padding: 4px 8px;
  }

  .participation-download {
    padding: 24px 16px;
  }

  .participation-download__logo {
    width: min(230px, 85%);
  }

  .participation-download__stores {
    flex-direction: column;
    align-items: center;
    gap: 18px;
  }

  .participation-download__stores li {
    grid-template-columns: minmax(0, 180px);
  }

  .participation-download__stores a img {
    width: 180px;
  }

  .participation-download__qr {
    display: none;
  }

  .participation-app-steps {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .participation-app-steps__image {
    width: min(100%, 300px);
    margin: 0 auto;
  }

  .participation-ready,
  .participation-goal {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .participation-ready > img {
    height: auto;
    max-height: 280px;
  }

  .participation-ready h4,
  .participation-ready p {
    text-align: center;
  }

  .participation-ready .button {
    margin: 0 auto;
  }

  .participation-goal {
    padding: 24px 18px;
  }

  .participation-goal > img {
    width: 110px;
    height: 110px;
    margin: 0 auto;
  }

  .participation-goal__catch {
    text-align: center;
  }
}

/* 参加方法：ツール・ド府中のデザインを移植 */
#entry > .main__inner--narrow {
  max-width: 1000px;
  padding-bottom: 70px;
}

#entry .entry-challenge > .main__inner--narrow {
  max-width: 1000px;
}

#entry .flow,
#entry .appFlow,
#entry .appStep,
#entry .applinkList,
#entry .note ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#entry .flow {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#entry .flow__step {
  position: relative;
  box-sizing: border-box;
  width: calc(50% - 7px);
  margin: 0 0 14px;
  padding: 20px 12px 15px;
  background-color: #fff;
  border: 0;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  text-align: center;
}

#entry .flow__step:not(:last-child)::after {
  content: none;
}

#entry .flow__step a {
  display: block;
  padding-bottom: 15px;
  color: inherit;
  background: url("assets/images/arrow.svg") center bottom / 10px auto no-repeat;
  text-decoration: none;
  transition: opacity 0.3s;
}

#entry .flow__stepNo {
  width: 30px;
  height: 30px;
  margin: 0 auto 5px;
  color: #fff;
  background-color: #0e6b37;
  border-radius: 50%;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 30px;
}

#entry .flow__stepIcon {
  display: block;
  width: 40%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  margin: 10px auto;
}

#entry .flow__stepTitle {
  margin: 0;
  color: #0e6b37;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.3;
}

#entry .appFlow__stepIcon {
  display: block;
  width: 200px;
  height: 200px;
  margin: 10px auto 20px;
  object-fit: contain;
}

#entry .appFlow__stepIcon + .contentParagraph {
  margin-top: 0;
}

#entry #participation-step2 .ready__title {
  margin-top: 20px;
}

#access .ready__course:not(:last-child) {
  padding-bottom: 30px;
  border-bottom: 1px dotted #ddd;
  margin-bottom: 30px;
}

#entry #participation-step4 .ready {
  margin-top: 30px;
}

#entry .lets {
  margin-top: 10px;
  font-size: 16px !important;
  line-height: 1.6;
  text-align: center;
}

#entry .lets em {
  color: #052714;
  font-size: 20px !important;
  font-style: normal;
  font-weight: 700;
}

#entry .entry-challenge {
  width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding: 70px 0;
  background: transparent;
}

#entry .appFlow {
  margin-top: 50px;
}

#entry .appFlow__step {
  position: relative;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 60px 45px 30px;
  background-color: #fff;
  border: 3px solid #0e6b37;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  scroll-margin-top: 100px;
}

#entry .appFlow__step:not(:last-child) {
  margin-bottom: 100px;
}

#entry .appFlow__stepTitle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  text-align: center;
  transform: translateY(-50%);
}

#entry .appFlow__stepTitleInner {
  position: relative;
  display: inline-block;
  height: 100%;
  margin: 0;
  padding: 0 20px 0 110px;
  color: #fff;
  background-color: #0e6b37;
  border-radius: 25px;
  font-size: 20px !important;
  font-weight: 700;
  line-height: 50px;
}

#entry .appFlow__stepTitleInner span {
  position: absolute;
  top: 50%;
  left: 10px;
  display: block;
  width: 90px;
  height: 30px;
  color: #fff;
  background-color: #052714;
  border-radius: 15px;
  font-size: 16px !important;
  line-height: 30px;
  transform: translateY(-50%);
}

#entry .appFlow__stepCatch {
  margin: 0 0 10px;
  color: #0e6b37;
  font-size: 20px !important;
  font-weight: 700;
  text-align: center;
}

#entry .download {
  min-height: 460px;
  padding-bottom: 30px;
  background-image: url("assets/images/travelo.png");
  background-position: bottom right -30px;
  background-repeat: no-repeat;
  background-size: auto 440px;
}

#entry .travelo {
  position: static;
  width: 50%;
  transform: none;
}

#entry .travelo__title {
  margin: 50px 0 40px;
  text-align: center;
}

#entry .travelo__title img {
  width: 260px;
  height: auto;
}

#entry .applinkList {
  display: flex;
  justify-content: space-between;
  width: auto;
  max-width: none;
}

#entry .applinkList__item {
  width: calc(50% - 10px);
  padding: 0;
}

#entry .applinkList__itemButton {
  display: block;
  margin: 0 auto 10px;
  text-align: center;
}

#entry .applinkList__itemButton img {
  display: block;
  width: 100%;
  height: auto;
}

#entry .applinkList__itemQR {
  display: block;
  width: 80%;
  max-width: 140px;
  height: auto;
  margin: 0 auto 10px;
}

#entry .travelo__link {
  margin-top: 30px;
  text-align: center;
}

#entry .travelo__link a {
  display: inline-block;
  min-width: 200px;
  padding: 10px 15px;
  color: #fff;
  background-color: #004e2a;
  border-radius: 20px;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: opacity 0.3s;
}

#entry .appStep {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 30px;
}

#entry .appStep__item {
  position: relative;
  flex: 1;
  padding: 0 15px;
}

#entry .appStep__image {
  position: relative;
  width: 220px;
  margin: 0 auto 15px;
}

#entry .appStep__image img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #999;
  border-radius: 15px;
}

#entry .appStep__num {
  position: absolute;
  z-index: 1;
  top: 5px;
  right: 5px;
  width: 40px;
  height: 40px;
  color: #fff;
  background-color: #f66193;
  border-radius: 50%;
  font-size: 20px !important;
  font-weight: 700;
  line-height: 40px;
  text-align: center;
}

#entry .appStep__text {
  padding: 0 5px;
  color: #0e6b37;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

#entry .ready__title,
#access .ready__title {
  margin: 0 0 20px;
  color: #0e6b37;
  font-size: 20px !important;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

#entry .ready__title span,
#access .ready__title span {
  display: inline-block;
  margin-right: 10px;
  padding: 5px 10px;
  border: 1px solid #0e6b37;
  border-radius: 3px;
  font-size: 16px !important;
}

#entry .ready__gmap,
#access .ready__gmap {
  width: 100%;
  height: 500px;
  border: 0;
}

#entry .ready__address,
#access .ready__address {
  margin-top: 10px;
  font-size: 16px !important;
}

#access .ready__lead {
  margin-top: 10px;
  font-size: 16px !important;
  line-height: 1.7;
}

#access .ready__lead + .ready__gmap {
  display: block;
  margin-top: 20px;
}

#entry .ready__address table,
#access .ready__address table {
  width: 100%;
  margin-top: 5px;
}

#entry .ready__address th,
#entry .ready__address td,
#access .ready__address th,
#access .ready__address td {
  padding-bottom: 5px;
  background: transparent;
  border: 0;
  font-size: 16px !important;
  text-align: left;
  vertical-align: top;
}

#entry .ready__address th,
#access .ready__address th {
  width: 90px;
  color: #666;
  font-weight: 700;
}

#entry .appFlow__button {
  max-width: 440px;
  margin: 40px auto 8px;
  text-align: center;
}

#entry .finisherCatch {
  margin: 0 0 10px;
  font-size: 20px !important;
  font-weight: 700;
  text-align: center;
}

#entry .finisherCatch em {
  color: #0e6b37;
  font-size: 20px !important;
  font-style: normal;
}

#entry .finisher {
  display: flex;
  justify-content: center;
  margin: 30px 0 50px;
}

#entry .finisher__gift {
  max-width: 600px;
  text-align: center;
}

#entry .finisher__gift img {
  width: 200px;
  height: 200px;
  margin-bottom: 10px;
  border-radius: 10px;
  object-fit: contain;
}

#entry .finisher__gift p {
  margin: 0;
  font-size: 16px !important;
  line-height: 1.3;
}

#entry .finisher__gift em {
  color: #ff3b24;
  font-size: 20px !important;
  font-style: normal;
  font-weight: 700;
}

#entry .note {
  margin-top: 30px;
}

#entry .attention {
  min-height: 30px;
  padding-left: 40px;
  background: url("assets/images/attention.svg") left 0.2em / 30px auto no-repeat;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.3;
}

#entry .note ul {
  margin-bottom: 20px;
  padding-left: 1.5em;
  list-style: disc outside;
}

#entry .note li {
  margin-top: 5px;
  font-size: 16px !important;
  line-height: 1.7;
}

@media screen and (min-width: 769px) {
  #entry .flow__step {
    width: calc(20% - 10px);
    margin-bottom: 0;
    padding: 30px 10px 20px;
  }

  #entry .flow__step a {
    padding-bottom: 20px;
  }

  #entry .flow__step a:hover,
  #entry .travelo__link a:hover {
    opacity: 0.6;
  }

  #entry .flow__stepNo {
    width: 40px;
    height: 40px;
    margin-bottom: 10px;
    font-size: 20px !important;
    line-height: 40px;
  }

  #entry .flow__stepIcon {
    width: 50%;
    margin: 20px auto;
  }

  #entry .lets {
    margin-top: 40px;
    font-size: 20px !important;
  }

  #entry .lets em {
    font-size: 28px !important;
  }
}

@media screen and (max-width: 768px) {
  #entry > .main__inner--narrow {
    padding-bottom: 35px;
  }

  #entry .entry-challenge {
    padding: 35px 0;
  }

  #entry .appFlow {
    margin-top: 30px;
  }

  #entry .appFlow__step {
    padding: 30px 20px 20px;
    border-width: 2px;
    scroll-margin-top: 70px;
  }

  #entry .appFlow__step:not(:last-child) {
    margin-bottom: 50px;
  }

  #entry .appFlow__stepTitle {
    height: 30px;
  }

  #entry .appFlow__stepTitleInner {
    padding: 0 15px 0 70px;
    border-radius: 15px;
    font-size: 16px !important;
    line-height: 30px;
  }

  #entry .appFlow__stepTitleInner span {
    left: 5px;
    width: 60px;
    height: 20px;
    border-radius: 10px;
    font-size: 16px !important;
    line-height: 20px;
  }

  #entry .appFlow__stepCatch {
    font-size: 16px !important;
  }

  #entry .download {
    min-height: 0;
    padding-bottom: 280px;
    background-position: bottom center;
    background-size: auto 240px;
  }

  #entry .travelo {
    width: 100%;
  }

  #entry .travelo__title {
    margin: 30px 0;
  }

  #entry .travelo__title img {
    width: 200px;
  }

  #entry .applinkList__itemQR {
    max-width: 100px;
  }

  #entry .travelo__link {
    margin-top: 10px;
  }

  #entry .appStep {
    display: block;
    margin-bottom: 15px;
  }

  #entry .appStep__item {
    padding: 0;
  }

  #entry .appStep__item:not(:last-child) {
    margin-bottom: 50px;
  }

  #entry .appStep__image {
    width: 180px;
  }

  #entry .appStep__num {
    width: 30px;
    height: 30px;
    font-size: 16px !important;
    line-height: 30px;
  }

  #entry .ready__title,
  #access .ready__title {
    margin-bottom: 10px;
    font-size: 16px !important;
  }

  #entry #participation-step2 .ready__title {
    margin-top: 10px;
  }

  #access .ready__course:not(:last-child) {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }

  #entry #participation-step4 .ready {
    margin-top: 20px;
  }

  #entry .ready__title span,
  #access .ready__title span {
    margin: 0 0 5px;
  }

  #entry .ready__gmap,
  #access .ready__gmap {
    height: 300px;
  }

  #entry .ready__address th,
  #access .ready__address th {
    width: 70px;
  }

  #entry .appFlow__button {
    margin-top: 20px;
  }

  #entry .finisher {
    display: block;
    margin: 30px 0;
  }

  #entry .finisher__gift img {
    width: 150px;
    height: 150px;
  }

  #entry .attention {
    min-height: 22px;
    padding-left: 27px;
    background-size: 20px auto;
  }
}

/* Parent-section spacing and continuous enjoyment background */
#event-overview > .contentParagraph {
  margin-top: 0;
  padding-bottom: 0;
}

#enjoyment {
  position: relative;
  background: transparent;
}

#enjoyment > .section-group__header {
  padding-top: 0;
  padding-bottom: 0;
}

#enjoyment > .page-subsection:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 769px) {
  .main > .page-section:not(#hero):not(#enjoyment),
  #enjoyment {
    padding-top: 80px;
    padding-bottom: 120px;
  }

}

@media screen and (max-width: 768px) {
  .main > .page-section:not(#hero):not(#enjoyment),
  #enjoyment {
    padding-top: 40px;
    padding-bottom: 68px;
  }

}

/* Match the visible lower edge to the title's 120px/68px upper offset. */
#enjoyment > #youtube {
  padding-bottom: 0;
}

#youtube .recommendMovie,
#youtube .recommendMovie__item {
  margin-bottom: 0;
  padding-bottom: 0;
}

#entry .entry-challenge {
  padding-bottom: 0;
}

#attention .caution,
#rules .caution {
  margin-bottom: 0;
}

#rules .caution__inner {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#rules .rules-introduction {
  margin-bottom: 20px;
}

/* Event overview and entry shortcut share one section */
#event-overview {
  color: var(--renewal-deep-green-dark);
  background: #f9f7f2;
}

#event-overview.section-tone--dark::before {
  content: none;
}

#event-overview {
  padding: 76px 0 0 !important;
}

#event-overview > .contentParagraph {
  margin-top: 0;
}

#event-overview > .contentParagraph > .main__inner {
  max-width: 1020px;
}

#event-overview .eventList {
  margin: 0;
}

#event-overview .eventList__item {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 56px;
  align-items: center;
  padding: 0;
  background: transparent;
}

#event-overview .eventList__text {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  padding: 0;
}

#event-overview .eventList__image {
  grid-column: 2;
  grid-row: 1;
  width: auto;
  margin: 0;
}

#event-overview .eventList__image img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center 76%;
  border-radius: 20px;
  margin: 0;
}

#event-overview .contentHeader {
  margin: 0 0 26px;
}

#event-overview .contentTitle {
  margin: 0;
  text-align: left;
}

#event-overview .contentTitle span {
  padding: 0;
  color: var(--renewal-deep-green) !important;
  background: none;
  font-size: 48px !important;
  line-height: 1.15;
}

#event-overview .eventList__description {
  margin: 0;
  text-align: left;
}

#event-overview .eventList__description p {
  color: var(--renewal-deep-green-dark);
  font-size: 16px !important;
  line-height: 1.9;
}

#entry-button {
  padding: 66px 0 88px !important;
}

#entry-button .contentHeader {
  margin: 0 0 18px;
}

#entry-button .contentTitle {
  margin: 0;
  text-align: center;
}

#entry-button .contentTitle span {
  padding: 0;
  color: var(--renewal-deep-green) !important;
  background: none;
  font-size: 40px !important;
  line-height: 1.2;
}

#entry-button .button {
  margin: 0;
}

#entry-button .entry-shortcut__deadline {
  margin: 18px 0 0;
  color: var(--renewal-deep-green-dark);
  text-align: center;
  font-size: 20px !important;
  line-height: 1.3;
}

/* 一時非表示：2026年9月1日に entry-button-hidden を削除して再表示 */
#event-overview.entry-button-hidden > #entry-button {
  display: none !important;
}

#event-overview.entry-button-hidden > .contentParagraph {
  padding-bottom: 88px;
}

@media screen and (max-width: 768px) {
  #event-overview {
    padding: 48px 0 0 !important;
  }

  #event-overview > .contentParagraph > .main__inner {
    max-width: none;
  }

  #event-overview .eventList__image img {
    aspect-ratio: 16 / 9;
  }

  #event-overview .eventList__item {
    display: flex;
    flex-direction: column;
    gap: 28px;
  }

  #event-overview .eventList__text {
    order: 1;
  }

  #event-overview .eventList__image {
    order: 2;
    width: 100%;
  }

  #event-overview .contentHeader {
    margin-bottom: 20px;
  }

  #event-overview .contentTitle span {
    font-size: 32px !important;
  }

  #entry-button {
    padding: 22px 0 60px !important;
  }

  #entry-button .contentTitle span {
    font-size: 30px !important;
  }

  #entry-button .entry-shortcut__deadline {
    margin-top: 14px;
    font-size: 18px !important;
  }

  #event-overview.entry-button-hidden > .contentParagraph {
    padding-bottom: 60px;
  }
}

/* Desktop content width: keep every main content area at 1080px. */
:root {
  --renewal-content-standard: 1080px;
}

.main__inner,
.main__inner--wide,
.mv__logo,
.rearranged-course-map,
.subsection-title,
#enjoyment > .page-subsection,
#enjoyment > #event-introduction {
  max-width: calc(var(--renewal-content-standard) + 40px);
}

.main__inner--narrow,
#entry .main__inner--narrow,
#entry > .main__inner--narrow,
#entry .entry-challenge > .main__inner--narrow,
#enjoyment > .page-subsection > .main__inner,
#event-introduction .main__inner,
#event-overview > .contentParagraph > .main__inner,
.enjoyment-gallery,
.commemorative-gifts-gallery,
.commemorative-gifts-note,
.insurance-introduction,
.bring-guidance,
.ride-video__movie {
  max-width: calc(var(--renewal-content-standard) + 40px);
}

.enjoyment-gallery,
.commemorative-gifts-gallery,
.commemorative-gifts-note,
.insurance-introduction,
.entry-app-introduction,
.bring-guidance,
.ride-video__movie {
  max-width: var(--renewal-content-standard);
}

@media screen and (max-width: 768px) {
  .main__inner,
  .main__inner--narrow,
  .main__inner--wide,
  #event-introduction .main__inner,
  #event-overview > .contentParagraph > .main__inner {
    width: calc(100% - 30px);
    max-width: none;
    padding-right: 0;
    padding-left: 0;
  }

  #enjoyment > .page-subsection,
  #enjoyment > #event-introduction {
    width: 100%;
    max-width: none;
  }

  .rearranged-course-map,
  .enjoyment-gallery,
  .commemorative-gifts-gallery,
  .commemorative-gifts-note,
  .insurance-introduction,
  .bring-guidance,
  .ride-video__movie,
  .guest-gallery,
  .subsection-title,
  .news .newsList {
    width: 100%;
    max-width: none;
  }

  .rearranged-course-map {
    width: calc(100% - 30px);
    padding-right: 0;
    padding-left: 0;
  }

  .subsection-title,
  .news .newsList {
    padding-right: 0;
    padding-left: 0;
  }
}

@media screen and (min-width: 769px) {
  #event-introduction .main__inner {
    box-sizing: border-box;
    width: 100%;
    max-width: calc(var(--renewal-content-standard) + 40px);
  }
}

/* Keep the guest photo compact and centered within the content. */
.guest-gallery .enjoyment-gallery__item {
  position: relative;
  width: 100%;
  min-width: 0;
}

.guest-gallery .enjoyment-gallery__item img {
  display: block;
  width: 100%;
  max-width: 420px;
  height: auto;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .guest-gallery .enjoyment-gallery__item img {
    width: 100%;
    max-width: 100%;
  }
}
