html {
  font-family: sans-serif;
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

figcaption,
figure,
main {
  display: block;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

a:active,
a:hover {
  outline-width: 0;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: inherit;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

dfn {
  font-style: italic;
}

mark {
  background-color: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

audio,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

img {
  border-style: none;
}

svg:not(:root) {
  overflow: hidden;
}

button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  display: inline-block;
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details,
menu {
  display: block;
}

summary {
  display: list-item;
}

canvas {
  display: inline-block;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.pageTitle,
.sidebar .sidebar-inner .toTop:after {
  background-image: linear-gradient(to right,#f53d7e,#f53d7e 2px,transparent 1px,transparent 4px);
  background-size: 10px 2px;
  background-position: bottom;
  background-repeat: repeat-x;
}

.pageTitle,
.sectionTitle,
.stepItem .stepTitle,
.sidebar .sidebar-inner .toTop {
}

article *>*:first-child {
  margin-top: 0 !important;
}

article *>*:last-child {
  margin-bottom: 0;
}

article .img {
  text-align: center;
}

article .img img {
  max-width: 100%;
}

article p,
article ul,
article ol,
article dl,
article table,
article blockquote {
  margin-bottom: 30px;
}

body {
  background: #fafafa;
  color: #666;
}

article table {
  border: 1px solid #f880aa;
  min-width: 100%;
  max-width: 768px;
  margin-bottom: 30px;
}

article table thead th {
  background: #fee7ef;
}

article table tbody tr:nth-child(2n) {
  background: #fcf9fa;
}

article table th,
article table td {
  padding: 20px;
}

/*.d-block {
    display: block!important;
}*/
.mb-5{
    margin-bottom: 3rem!important;
}
.p-2 {
    padding: 0.5rem!important;
}
.text-center {
    text-align: center!important;
}
.w-100 {
    width: 100%!important;
}

.flow > .group {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  margin-bottom: 80px;
  border-radius: 4px;
  overflow: hidden;
}

.flow > .group .img {
  min-width: 50%;
}

.flow > .group .text {
  background: #fff;
  min-width: 50%;
  display: flex;
  flex-flow: row wrap;
  -ms-align-items: center;
  align-items: center;
  -ms-justify-content: center;
  justify-content: center;
  padding: 1em;
}

.flowTitle {
  background-color: #f53d7e;
  padding: 0.5em 1em;
  font-size: 26px;
  border-radius: 4px;
}

.flowTitle a {
  color: #fff;
  display: block;
  margin: 0 auto;
  width: 100%;
  text-align: center;
}
.flowTitle a:hover{
  text-decoration: none;
  opacity: 0.5;
}

.top-caption-text {
  position: relative;
  font-size: 16px;
  text-align: center;
}

/*.top-caption-text:before {
  content: '';
  display: block;
  width: 45px;
  height: 40px;
  background: url("../img/flag.svg") center center no-repeat;
  position: absolute;
  top: -5px;
  left: -75px;
}*/

.content {
  max-width: 1170px;
  margin: 0 auto;
}

.content .menu-item {
  list-style-type: none;
}

.content .menu-item:last-child {
  margin-bottom: 0;
}

.content .group {
  display: flex;
  flex-flow: row wrap;
}

.content .cell {
  width: 29.059%;
  background: #fff;
  box-shadow: 0 0 5px 0 #ddd;
  border-radius: 3px;
  margin-right: 6.41%;
  margin-bottom: 75px;
  overflow: hidden;
}

.content .categoryTitle {
  font-size: 1.903vw;
  color: #fff;
  background: #f53d7e;
  padding: 0.6923em;
  text-align: center;
  margin-bottom: 0;
}

.content .menu {
  padding: 2.928vw;
  font-size: 1.024vw;
}

.content .menu-item {
  margin-bottom: 2em;
  position: relative;
  padding-left: 1em;
}

.content .menu-item:before {
  content: '\f105';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #f53d7e;
  position: absolute;
  top: 0;
  left: 0;
}

.content .menu-item a {
  color: #3d3d3d;
}

.content .menu-item a:hover {
  text-decoration: underline;
}

.breadcrumbs {
  max-width: 1170px;
  margin: 0 auto;
  margin-bottom: 50px;
}

.breadcrumbs .menu-item {
  list-style-type: none;
  font-size: 12px;
  display: inline-block;
}

.breadcrumbs .menu-item:before {
  content: '>';
  margin-right: 0.5em;
}

.breadcrumbs .menu-item:first-child:before {
  content: '';
}

.breadcrumbs .menu-item a {
  color: #f53d7e;
}

.content-inner {
  padding-top: 40px;
}

.content-header {
  margin-bottom: 35px;
  padding-left: 20px;
  padding-right: 20px;
}
@media (min-width: 768px) {
.content-header {
  margin-bottom: 70px;
}
}
.pageTitle {
  text-align: center;
  padding-bottom: 10px;
  font-size: 24px;
  max-width: 530px;
  margin: 0 auto;
  margin-bottom: 64px;
}
@media (min-width: 768px) {
.pageTitle {
  font-size: 30px;
}
}
.pageDesc {
  max-width: 1170px;
  margin: 0 auto;
  text-align: center;
  margin-top: -24px;
  font-size: 13px;
  margin-bottom: 40px;
}

.content-group {
  max-width: 1170px;
  margin: 0 auto 70px;
  display: flex;
  flex-flow: row wrap;
  -ms-justify-content: space-between;
  justify-content: space-between;
}

.content-group .main {
  width: 100%;
}

.content-group .sidebar {
  width: 22.222%;
  margin-left: 2.1367%;
}

.sidebar-bg {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.2);
  position: fixed;
  top: 0;
  left: 0;
  -ms-filter: none;
  filter: none;
  opacity: 1;
  transition: opacity 0.3s ease;
  z-index: 99;
}

.sectionTitle {
  position: relative;
  padding-left: 50px;
  margin-bottom: 35px;
  font-size: 24px;
  line-height: 1.6;
}

.sectionTitle:before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: '';
  width: 40px;
  height: 39px;
  background: url("../img/paper-clip.svg") center center no-repeat;
  background-size: cover;
}
@media (min-width: 768px) {
.sectionTitle {
  margin-bottom: 75px;
}
.sectionTitle:before {
  top: auto;
  bottom: 0;
}
}
.sectionTitle .small {
  font-size: 16px;
  margin-right: 1em;
}

.beforeContent {
  background-color: #fff;
  padding: 24px;
  margin-bottom: 70px;
}
@media (min-width: 768px) {
.beforeContent {
  padding: 50px;
}
}
.beforeContent.content-group {
  display: block;
}

.caption {
  background: #fcf9fa;
  padding: 25px;
  width: 100%;
  margin-bottom: 30px;
}

.caption li {
  list-style-type: none;
  line-height: 1.5;
  font-size: 15px;
  margin-bottom: 0.75em;
  margin-left: 1em;
  position: relative;
}

.caption li:last-child {
  margin-bottom: 0;
}

.caption li:before {
  content: '●';
  color: #f880aa;
  position: absolute;
  top: 0;
  left: -1em;
}

.caption h3 {
  font-size: 20px;
  font-weight: bold;
  border-left: 4px solid #f880aa;
  padding-left: 0.5em;
}

.stepItem {
  background: #fff;
  padding: 40px;
  padding-top: 50px;
  position: relative;
  margin-bottom: 40px;
  counter-increment: step;
}

.stepItem:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 120px 120px 0 0;
  border-color: #f880aa transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 0;
}

.stepItem:after {
  content: counter(step);
  position: absolute;
  top: 2.5rem;
  z-index: 2;
  font-size: 2.3rem;
  left: 10px;
  color: #fff;
  font-style: italic;
}

.stepItem:nth-child(n + 11):after {
  letter-spacing: -0.025em;
}

.stepItem .stepTitle {
  margin-left: 55px;
  margin-bottom: 45px;
}

.stepItem .stepTitle:before {
  content: 'STEP';
  color: #fff;
  font-size: 1.3rem;
  position: absolute;
  top: .7rem;
  z-index: 3;
  left: 12px;
}

/*.stepItem .stepTitle:after {
  content: '■';
  color: #f880aa;
  position: absolute;
  font-size: 35px;
  top: 35px;
  left: 35px;
}*/

.stepItem .step-inner {
  display: flex;
  flex-flow: row wrap;
}

.stepItem .step-inner .capture {
  width: 61.538%;
  margin-right: 2.564%;
}

.stepItem .step-inner .caption {
  width: 33.333%;
  margin-left: 2.564%;
  background: transparent;
  padding: 0;
}

.sidebar .sidebar-opener {
  padding: 1em 0.5em;
  line-height: 1;
  text-align: center;
  display: inline-block;
  color: #fff;
  background-color: #f53d7e;
  position: absolute;
  top: 100px;
  left: -40px;
  z-index: 100;
}

.sidebar .sidebar-opener .icon {
  font-size: 27px;
  line-height: 0;
}

.sidebar .sidebar-opener .label {
  font-size: 12px;
}

.sidebar.active .sidebar-opener {
  background-color: #fff;
  color: #525252;
}

.sidebar .sidebar-inner {
  position: -webkit-sticky;
  position: sticky;
  top: 30px;
}

.sidebar .sidebar-inner .localNav {
  background: #fff;
  padding: 20px;
  margin-bottom: 30px;
}

.sidebar .sidebar-inner .localNav .menu-item {
  list-style-type: none;
  font-size: 3.7333vw;
  margin-bottom: 1.5384em;
  position: relative;
}

.sidebar .sidebar-inner .localNav .menu-item .stepCaps {
  color: #f53d7e;
  margin-right: 0.5em;
}

.sidebar .sidebar-inner .localNav .menu-item a {
  color: #525252;
}

.sidebar .sidebar-inner .localNav .menu-item:last-child {
  margin-bottom: 0;
}

.sidebar .sidebar-inner .localNav .menu-item.current:before {
  content: '▼';
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(270deg);
  left: -15px;
  font-size: 12px;
  color: #f53d7e;
}

.sidebar .sidebar-inner .toTop {
  background: #fff;
  padding: 23px;
  text-align: center;
  font-size: 24px;
  line-height: 1.8;
}

.sidebar .sidebar-inner .toTop a {
  color: #525252;
}

.sidebar .sidebar-inner .toTop:after {
  content: '';
  width: calc(100% - 46px);
  height: 2px;
  position: absolute;
  transform: translateX(-50%);
}

.linkunit {
  box-shadow: 0 0 10px 0 #ddd;
  position: relative;
  margin-top: 56px;
  padding: 25px;
}

.linkunit:before {
  content: '';
  display: block;
  width: 208px;
  height: 26px;
  background: url("../img/linkunit.svg");
  position: absolute;
  top: -36px;
  left: 50%;
  transform: translate(-50%);
}

.linkunit .menu-item {
  font-size: 15px;
  list-style-type: none;
}

.linkunit .menu-item:before {
  content: '\f105';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #f53d7e;
  margin-right: 0.5em;
}

.linkunit .menu-item a {
  color: #525252;
}

.subPageNav {
  max-width: 990px;
  margin: 0 auto;
  margin-bottom: 60px;
}

.subPageNav .menu {
  display: flex;
  justify-content: space-between;
}

.subPageNav .menu-item {
  list-style-type: none;
  display: flex;
  font-size: 16px;
  width: 100%;
  background: #eae5e5;
  border-radius: 2px;
  justify-content: center;
}

.subPageNav .menu-item.active {
  background: #f53d7e;
  color: #fff;
  /*padding-top: 30px;
  padding-bottom: 30px;*/
	padding: 20px 6px;
  display: flex;
  align-items: center;
}

.subPageNav .menu-item a {
  color: #f53d7e;
  display: block;
  width: 100%;
  /*height: 100%;*/
  /*padding-top: 30px;
  padding-bottom: 30px;*/
  transition: background 0.3s ease;
  text-align: center;
  padding: 20px 6px;
}

.subPageNav .menu-item a:hover {
  background: #fff;
  transition: background 0.3s ease;
  text-decoration: none;
}

.onepoint {
  background: #fcf9fa;
  padding: 20px;
  font-size: 12px;
  position: relative;
  margin-top: 110px;
  border-radius: 5px;
  margin-bottom: 30px;
}

.onepoint:before {
  content: '';
  display: block;
  width: 156px;
  height: 77px;
  background: url("../img/onepoint.svg") center center no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(-77px - 13px);
  left: 0;
}

.onepoint .title3 {
  font-size: 18px;
  border-left: 1px solid #f53d7e;
  padding-left: 0.5em;
}

.handycap-before {
  display: flex;
  flex-flow: row wrap;
  max-width: 1170px;
  margin: 0 auto 70px;
}

.handycap-before .cell {
  width: 47.5%;
  margin: 0 2.5%;
  background: #fff;
}

.handycap-before .cell .categoryTitle {
  padding: 2.196vw;
  text-align: center;
  border-bottom: 2px solid #f53d7e;
  line-height: 1;
  margin-bottom: 0;
}

.handycap-before .cell .categoryTitle:before {
  display: none;
}

.handycap-before .cell .img {
  margin-bottom: 0;
}

.handycap-before .cell .inner {
  padding: 2.196vw;
}

.handycap-before .cell .caption {
  background: #f9f9f9;
  color: #999;
  padding: 1.088vw;
}

.innerTitle {
  text-align: center;
  margin-bottom: 30px;
  position: relative;
  z-index: 2;
  margin-bottom: 50px;
}

.innerTitle:before {
  width: 200px;
  height: 10px;
  content: '';
  display: block;
  background: #f880aa;
  position: absolute;
  bottom: -0.5em;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.handycap {
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 70px;
}

.handycap .cell {
  width: 30%;
  margin-right: 5%;
  background: #fff;
}

.handycap .cell .inner {
  padding: 1.088vw;
}

.handycap .cell:last-child {
  margin-right: 0;
}

.handycap .img {
  margin-bottom: 0;
}

.handycap .title3 {
  padding: 1.088vw;
  border-bottom: 2px solid #f53d7e;
  margin-bottom: 0;
  text-align: center;
  padding: 1.088vw;
}

.handycap-other {
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 70px;
}

.handycap-other .cell {
  background: #fff;
  width: 30%;
  margin-right: 5%;
  padding: 1.088vw;
}

.handycap-other .cell:last-child {
  margin-right: 0;
}

.handycap-other .cell .phone-num-inner {
  font-size: 175%;
}

.handycap-other .cell .caption {
  background: #f9f9f9;
  padding: 1em;
  font-size: 12px;
}

.sp-scroll-table {
  overflow: auto;
  white-space: nowrap;
  margin-bottom: 30px;
}

.title-3 {
  font-size: 20px;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #f53d7e;
  margin-bottom: 1.5em;
	margin-top: 3.5rem;
  line-height: 1.6;
}

.title-4 {
  font-size: 17px;
  color: #333;
  font-weight: bold;
  margin-bottom: 1em;
}

.list {
  margin-left: 1em;
}

.participateBus.group {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  -ms-justify-content: center;
  justify-content: center;
}

.participateBus.group .cell {
  width: 100%;
  margin-bottom: 30px;
  background: #fff;
  padding: 30px;
}

.participateBus.group .innerTitle {
  font-size: 20px;
}

.participateBus.group .innerTitle:before {
  bottom: -1em;
}

.participateBus.onepoint {
  background: #fff;
  width: 100%;
  margin: 120px auto 70px;
}

.participateBus.onepoint .title-3 {
  font-size: 16px;
  font-weight: bold;
}

.participateAirplane .cell {
  background: #fff;
  padding: 30px;
  margin-bottom: 30px;
}

.title-2 {
  text-align: center;
  font-size: 26px;
  margin-bottom: 30px;
}

.participateTour.byTraffic {
  margin-bottom: 70px;
  display: flex;
  flex-flow: row wrap;
}

.participateTour.byTraffic .cell {
  width: 100%;
  margin-bottom: 30px;
  background: #fff;
  padding: 30px;
}

.participateTour.ticket {
  max-width: 768px;
  background: #fff;
  padding: 30px;
  padding-left: calc(30px + 1em);
  margin: 0 auto 70px;
}

.participateTour.hotel {
  max-width: 768px;
  background: #fff;
  padding: 30px;
  margin: 0 auto 70px;
}

.howto {
  background: #fff;
  padding: 50px;
  margin-bottom: 70px;
}
/* 768px以下 */
@media (max-width: 767.98px) {
	.howto {
		padding: 50px 20px;
	}
}
.howto .title-2:after {
  content: '';
  display: block;
  width: 3em;
  height: 0.5em;
  background-color: #f53d7e;
  position: relative;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
}

.howto .onepoint {
  max-width: 768px;
  margin: 130px auto 70px;
}

.howto .onepoint:last-child {
  margin-bottom: 0;
}

.howto .onepoint .title-3 {
  margin-bottom: 1em;
}

.howto .onepoint p {
  font-size: 16px;
}

.howto .img {
  margin-bottom: 70px;
}

.howto .img:last-child {
  margin-bottom: 0;
}

.pay-list {
  display: flex;
  flex-flow: row wrap;
  -ms-justify-content: center;
  justify-content: center;
}

.pay-item {
	width: 200px;
  /*width: 100%;*/
  background: #fcf9fa;
  margin: 0 15px 30px;
  min-height: 3em;
  list-style-type: none;
}
@media (min-width: 768px) {
	.pay-item {
		width: auto;
		width: 200px;
	}
}
.pay-item:last-child {
  margin-bottom: 30px;
}

.pay-item a {
  display: flex;
  -ms-justify-content: center;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  height: 100%;
	/*padding: 0.7rem 1rem;*/
}

.pay-section {
  min-width: 100%;
  max-width: 1170px;
  padding: 50px;
  background: #fff;
  margin-bottom: 70px;
}
.conveni-list figure,
.credit-list figure {
	text-align: center;
	margin: 0;
}
.conveni-list {
  width: 70%;
  margin: 0 auto 30px;
  display: flex;
  flex-flow: row wrap;
}

.conveni-item {
  width: 50%;
  list-style-type: none;
  background: #fcf9fa;
  padding: 25px;
}

.conveni-item:nth-child(2),
.conveni-item:nth-child(3) {
  background: #fefdfe;
}

.conveni-item .name {
  text-align: center;
  margin-bottom: 10px;
}

.conveni-item .desc {
  font-size: 78%;
  text-align: center;
  color: #666;
}

.conveni-item .img {
  width: 200px;
  height: 70px;
  display: flex;
  -ms-justify-content: center;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  margin: 0 auto 1em;
}

.conveni-item a:hover {
  text-decoration: none;
}

.conveni-item a:hover .name {
  text-decoration: underline;
}

.credit-list {
  min-width: 100%;
  max-width: 768px;
  display: flex;
  flex-flow: row wrap;
  -ms-justify-content: center;
  justify-content: center;
}

.credit-item {
  list-style-type: none;
  margin: 0 15px 30px;
}

.credit-item .img {
  width: 150px;
  height: 80px;
  display: flex;
  flex-flow: row wrap;
  -ms-justify-content: center;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
}

.career-list {
  min-width: 100%;
  max-width: 768px;
  display: flex;
  flex-flow: row wrap;
  -ms-justify-content: center;
  justify-content: center;
}

.career-item {
  list-style-type: none;
  margin: 0 15px 30px;
}

.career-item .desc {
  font-size: 80%;
  text-align: center;
}

.stuff-section {
  min-width: 100%;
  max-width: 1170px;
  padding: 50px;
  background: #fff;
  margin-bottom: 70px;
}

.stuff-wextable thead th:first-child {
  width: 10em;
}

.stuff-wextable thead .inside {
  width: 7em;
  text-align: center;
}

.stuff-wextable thead .trunk {
  width: 7em;
  text-align: center;
}

.stuff-wextable td {
  text-align: center;
}

.stuff-wextable td:last-child {
  text-align: left;
}

.stuff-inside {
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 70px;
}

.stuff-inside .cell {
  width: 50%;
}

.stuff-inside dt {
  text-align: center;
  margin-bottom: 0.5em;
  color: #f53d7e;
}

.stuff-shelf {
  display: flex;
  flex-flow: row wrap;
}

.stuff-shelf .image {
  padding-right: 1vw;
  width: 30%;
}

.stuff-shelf .desc {
  padding-left: 1vw;
  width: 70%;
}

.stuff.onepoint {
  max-width: 600px;
  margin: 120px auto 30px;
}

.stuff.onepoint p {
  font-size: 17px;
}

.stuff-other {
  min-width: 100%;
  max-width: 1170px;
  padding: 50px;
  background: #fff;
  margin-bottom: 70px;
}

.stuff-other-group {
  display: flex;
  flex-flow: row wrap;
  max-width: 650px;
  margin: 0 auto;
}

.stuff-other-group .cell {
  width: 50%;
  padding: 30px;
  background: #fcf9fa;
}

.stuff-other-group .cell .title-4 {
  text-align: center;
}

.stuff-other-group .cell:nth-child(2),
.stuff-other-group .cell:nth-child(3) {
  background: #fefdfe;
}

.stuff-other-group ul {
  margin-left: 1em;
}

.stuff-notice {
  margin: 0 auto;
  max-width: 600px;
  border: 1px solid #f53d7e;
  padding: 15px;
}

.stuff-notice .cell.caption {
  background: transparent;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  margin-bottom: 0;
}

.stuff-notice .cell.caption p {
  color: #f53d7e;
  font-weight: bold;
  margin-bottom: 0;
  text-align: center;
  width: 100%;
}

.stuff-notice .cell.image {
  width: 85%;
  margin: 0 auto;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  text-align: center;
}

.stuff-notice .cell.image p.img {
  width: 100%;
}

@media (min-width: 1px) {
  .stuff-wextable thead {
    display: table-header-group;
  }

  .stuff-wextable th,
  .stuff-wextable td {
    display: table-cell;
  }

  .stuff-wextable th:first-child {
    width: 7em;
  }
}

@media (min-width: 480px) and (min-width: 767px) {
  .sidebar .sidebar-inner .localNav .menu-item {
    font-size: 1vw;
  }
}
.stepItem:nth-child(n + 11):after {
	left: 9px;
}
@media (min-width: 768px) {
  table tbody th {
    width: 30%;
  }

  .content-group .main {
    width: 73.504%;
    margin-right: 2.1367%;
  }

  .caption.column2 {
    column-count: 2;
    column-gap: 25px;
  }

  .stepItem:after {
    left: 20px;
  }

  .stepItem:nth-child(n + 11):after {
    left: 9px;
  }

  .sidebar .sidebar-opener {
    display: none;
  }

  .sidebar .sidebar-inner .localNav .menu-item {
    font-size: 14px;
  }

  .handycap-before .cell:first-child {
    margin-left: 0;
  }

  .handycap-before .cell:last-child {
    margin-right: 0;
  }

  .participateBus.group {
    max-width: 1170px;
  }

  .participateBus.group .cell {
    width: calc(100% / 3 - 30px);
    margin-left: 15px;
    margin-right: 15px;
  }

  .participateBus.onepoint {
    width: 600px;
  }

  .participateTour.byTraffic .cell {
    max-width: calc((100% - 60px) / 3);
    margin-right: 30px;
    margin-bottom: 0;
  }

  .participateTour.byTraffic .cell:last-child {
    margin-right: 0;
  }

  .stuff-notice {
    display: flex;
    flex-flow: row wrap;
  }

  .stuff-notice .cell.caption {
    width: 50%;
  }

  .stuff-notice .cell.image {
    width: 50%;
  }
}

@media (min-width: 1170px) {
  .content .cell:nth-child(3n) {
    margin-right: 0;
  }

  .content .categoryTitle {
    font-size: 23px;
  }
}

@media (min-width: 1366px) {
  .content .menu {
    padding: 40px;
    font-size: 14px;
  }

  .stepItem:after {
    top: 2rem;
  }

  .handycap-before .cell .categoryTitle {
    padding: 30px;
  }

  .handycap-before .cell .inner {
    padding: 30px;
  }

  .handycap .cell .inner {
    padding: 15px;
  }

  .handycap .title3 {
    padding: 15px;
  }

  .handycap-other .cell {
    padding: 15px;
  }
}

@media (max-width: 1366px) {
  .stepItem:before {
    border-width: 8.7719vw 8.7719vw 0 0;
  }
  .stepItem .stepTitle:before {
    content: 'STEP';
    color: #fff;
    font-size: 1.3rem;
    position: absolute;
    top: .7rem;
    z-index: 3;
    left: 12px;
  }
  .stepItem:before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 120px 120px 0 0;
    border-color: #f880aa transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
  }
  .stepItem:after {
    content: counter(step);
    position: absolute;
    top: 2rem;
    z-index: 2;
    font-size: 2.3rem;
    left: 20px;
    color: #fff;
    font-style: italic;
  }
  
}

@media (max-width: 1200px) {
  .content-group {
    max-width: 96%;
  }

}

@media (max-width: 1170px) {
  .handycap-before {
    width: 90%;
  }
}

@media (max-width: 1169px) {
  .content .group {
    padding-left: 5%;
    padding-right: 5%;
  }

  .content .cell {
    width: 47%;
    margin-right: 6%;
  }

  .content .cell:nth-child(2n) {
    margin-right: 0;
  }

  .content .cell:nth-child(3n) {
    margin-right: 6%;
  }
}

@media (max-width: 768px) {
  .stepItem:before {
    border-width: 7.5rem 7.5rem 0 0;
  }

  .stepItem:after {
    top: 4.5rem;
  }

  .stepItem .stepTitle:before {
    font-size: 2.1713vw;
  }

  .sidebar .sidebar-inner {
    overflow-y: scroll;
    height: 100%;
  }

  .handycap-before .cell {
    width: 100%;
    margin: 0 0 30px;
  }

  .handycap .cell {
    width: 100%;
    margin-right: 0;
  }

  .handycap-other .cell {
    width: 100%;
    padding: 0;
    margin-right: 0;
  }
  .stepItem .stepTitle:before {
    content: 'STEP';
    color: #fff;
    font-size: 1.3rem;
    position: absolute;
    top: .7rem;
    z-index: 3;
    left: 12px;
  }
  .stepItem:after {
    content: counter(step);
    position: absolute;
    top: 2rem;
    z-index: 2;
    font-size: 2.3rem;
    left: 20px;
    color: #fff;
    font-style: italic;
  }
}

@media (max-width: 767px) {
  table thead {
    display: none;
  }

  table th,
  table td {
    display: block;
  }

  .flow > .group {
    display: block;
    width: 90%;
  }

  .flowTitle {
    font-size: 20px;
  }

 /* .top-caption-text {
    left: 70px;
  }*/

  .content .cell {
    width: 100%;
    margin-right: 0;
  }

  .content .cell:nth-child(3n) {
    margin-right: 0;
  }

  .content .categoryTitle {
    font-size: 5vw;
  }

  .content .menu {
    font-size: 4.26666vw;
    padding: 5.2vw;
  }

  .content-group .sidebar {
    z-index: 100;
    height: 100%;
    background: #fff;
    position: fixed;
    top: 0;
    right: -88vw;
    width: 88vw;
    transition: right 0.3s ease;
  }

  .content-group .sidebar .sidebar-inner {
    position: static;
  }

  .content-group .sidebar.active {
    right: 0;
    transition: right 0.3s ease;
  }

  /*.subPageNav .menu-item {
    width: 50%;
    padding: 0.25em;
  }*/

  .pay-section {
    padding: 20px;
  }

  .conveni-list {
    width: 100%;
  }

  .stuff-section {
    padding: 20px;
  }

  .stuff-inside .cell {
    width: 100%;
  }

  .stuff-inside .cell.weight {
    margin-bottom: 30px;
  }

  .stuff-other {
    padding: 20px;
  }

  .stuff-wextable thead {
    display: none;
  }

  .stuff-wextable tr {
    display: block;
  }

  .stuff-wextable tr td {
    display: block;
    font-size: 200%;
    text-align: left;
  }

  .stuff-wextable tr td:before {
    content: attr(data-label);
    font-size: 50%;
    padding: 0.5em 1em;
    background: #fee7ef;
    margin-right: 1em;
    position: relative;
    top: -4px;
  }

  .stuff-wextable tr td:last-child {
    font-size: 100%;
  }

  .stuff-wextable tr td:last-child:before {
    display: none;
  }

  .stuff-wextable tr th:first-child {
    display: block;
    background: #f880aa;
    color: #fff;
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 580px) {
  .stepItem .step-inner .capture {
    width: 100%;
  }

  .stepItem .step-inner .caption {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .conveni-list {
    display: block;
  }

  .conveni-item {
    width: 100%;
  }

  .conveni-item:nth-child(3) {
    background: #fcf9fa;
  }

  .conveni-item:nth-child(4) {
    background: #fefdfe;
  }
}

@media (max-width: 479px) {
  .stuff-shelf .image {
    width: 100%;
    padding: 0;
    margin-bottom: 30px;
  }

  .stuff-shelf .desc {
    width: 100%;
    padding: 0;
  }

  .stuff-other-group .cell {
    width: 100%;
  }

  .stuff-other-group .cell:nth-child(3) {
    background: #fcf9fa;
  }

  .stuff-other-group .cell:nth-child(4) {
    background: #fefdfe;
  }
}

@media (max-width: 425px) {
  .stepItem:before {
    border-width: 7.5rem 7.5rem 0 0;
  }

  .stepItem:after {
    font-size: 2.3rem;
    left: 20px;
    top: 2rem;
  }

  .stepItem .stepTitle:before {
    font-size: 1.3rem;
    top: .7rem;
  }

}

@media (min-width: 768px) and (max-width: 1169px) {
  .content .categoryTitle {
    font-size: 2.393vw;
  }
}

@media (min-width: 768px) and (max-width: 1170px) {
  .content .menu {
    font-size: 1.709vw;
  }
}


@media (min-width: 768px) and (max-width: 900px){
  

  
 .main .stepItem .stepTitle::before {
    content: 'STEP';
    color: #fff;
    font-size: 2vw;
    position: absolute;
    top: .7vw;
    z-index: 3;
    left: 2%;
  }
  .main .stepItem::after {
    content: counter(step);
    position: absolute;
    top: 2.5vw;
    z-index: 2;
    font-size: 3vw;
    left: 2%;
    color: #fff;
    font-style: italic;
  }
}

@media (max-width: 375px) {
/*  .main .stepItem .stepTitle::after {
    content: '■';
    color: #f880aa;
    position: absolute;
    font-size: 35px;
    top: 25px !important;
    left: 25px !important;
  }*/
  
}

@media (max-width: 320px) {
  
/*  .main .stepItem .stepTitle::after {
    content: '■';
    color: #f880aa;
    position: absolute;
    font-size: 35px;
    top: 20px !important;
    left: 20px !important;
  }*/
  
}
/*# sourceMappingURL=app.css.map */



.ul-parts-01 li{
  padding-left: 24px;
  position: relative;
}
.ul-parts-01 li:before{
  content: "■";
  position: absolute;
  top: 3px;
  left: 0;
  font-size: 80%;
  color: #D8DBDF;
}
.ul-parts-01 li + li{
  margin-top: 6px;
}
/* 動画面パーツ読み込み用にページタブ切り替え
--------------------------------------------------------- */
.subPageTab {
	width: 100%;
	margin-bottom: 3rem;
}

/* 動画面パーツ読み込み時のみ
--------------------------------------------------------- */
.contentNav {
	margin-bottom: 1rem;
}

#info-parts .content {
	display: none;
}

#info-parts .show {
	display: block;
}
.contentNav-list {
	border-bottom: 3px solid #f53d7e;
	margin-bottom: 70px;
}
.contentNav-item {
	display: inline-block;
	border: 2px solid #f53d7e;
	padding: .5em 1em;
	cursor: pointer;
	border-bottom: 0;
}
.contentNav-item.active {
	background-color: #f53d7e;
	color: #fff;
}

/* キャンセル料のご案内
--------------------------------------------------------- */
.fee figure {
	margin: 1rem 0 2rem;
}
.w80-100 {
	width: 100%;
	height: auto;
	margin-left: 0;
}
@media (min-width: 768px) {
	.w80-100 {
		width: 80%;
		margin-left: 10%;
	}
}
/* ----- List Note(※) ----- */
.mark-note {
	margin: 1rem auto 0 1rem;
}
	.mark-note li {
		text-indent: -0.9rem;
	}
	.mark-note li:before {
		content: '※';
	}
/* ----- List Disc ----- */
.mark-disc {
	line-height: 1.4;
}
	.mark-disc > li {
		margin-left: 1.3rem;
		list-style: disc;
	}
	.mark-disc > li + li {
		margin-top: 0.5rem;
	}
/* ----- Title(Disc) ----- */
.disc:before {
	content: '●';
}
.title-4.disc {
	font-size: 1.2rem;
	margin-top: 3rem;
}

/* ----- Button(Modal) ----- */
.btnModal {
	background-color: #f53d7e;
	color: #fff;
	padding: 0.5em 1em;
	font-size: 20px;
	border-radius: 4px;
}
@media (min-width: 768px) {
	.btnModal {
		font-size: 26px;
	}
}
/* ----- Modal ----- */
.modal-header {
	background: #f53c7f;
	color: #fff;
}
.modal-header h2 {
	font-size: 20px;
}
@media (min-width: 768px) {
	.modal-header h2 {
		font-size: 24px;
	}
}
/* Modal Body */
.modal-body h3 {
	font-size: 20px;
	font-weight: bold;
}
.attention {
	font-size: 18px;
	text-align: center;
	margin-bottom: 0.5rem;
	color: #cc0000;
}
	.attention > span {
		position: relative;
		display: inline-block;
		padding: 0 55px;
		text-align: center;
	}
	.attention > span:before,
	.attention > span:after {
		content: '';
		position: absolute;
		top: 40%;
		display: inline-block;
		width: 30%;
		height: 4px;
		border-top: solid 1px #cc0000;
		border-bottom: solid 1px #cc0000;
	}
	.attention > span:before {
		left:0;
	}
	.attention > span:after {
		right: 0;
	}
.attention + div p {
	color: #cc0000;
}
/* ----- Modal Table ----- */
.modal-body caption {
	caption-side: top;
}
.modal-body th,
.modal-body td {
	display: block;
	width: 100%;
}

.modal-body th {
	padding: 20px 20px 0;
}
.modal-body td {
	padding: 10px 20px 20px;
}
@media (min-width: 992px) {
	.modal-body th,
	.modal-body td {
		display: inline-block;
		padding: 20px;
	}
	.modal-body th {
		width: 33%;
	}
	.modal-body td {
		width: 67%;
	}
}
/* ----- Modal Footer ----- */
.modal-footer button {
	padding: 10px;
}


/* ----- Button ----- */
.btn-reserve{
	text-align: center;
}
.btn-reserve a{
	background-color: #f53d7e;
	color: #fff;
	display: block;
	padding: 0.5em 1.3em 0.5em 1em;
	font-size: 20px;
	border-radius: 4px;
	width: 75%;
	max-width: 400px;
	margin: 0 auto;
	position: relative;
}
.btn-reserve a:after {
    content: '\f105';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
	right: 3%;
}

.btn-reserve a:hover{
	text-decoration: none;
	opacity: 0.7;
}

@media (min-width: 768px) {
	.btn-reserve a{
		font-size: 26px;
	}
}


/* キャンセル料のご案内
--------------------------------------------------------- */
/* アンカーリンク */
.baggage-item {
		width: 100%;
		padding: 10px 15px;
}
.baggage-item a {
		font-weight: bold;
}

@media (min-width: 768px) {
	.baggage-item {
		width: auto;
	}
}


/* バスおいらせ号
------------------------------------------------------------*/
/*introduce*/
#bus-oirase .introduce {
    margin-bottom: 60px;
}

#bus-oirase .introduce-attention {
    display: flex;
    border: 3px solid #000;
    padding: 20px 10px;
}

#bus-oirase .introduce-icon {
    width: 8%;
    margin-right: 2px;
}

#bus-oirase .introduce-text li {
    font-size: 16px;
    display: block;
    position: relative;
    padding-left: 16px;
}

#bus-oirase .introduce-text li::before {
    content: '・';
    position: absolute;
    top: 0;
    left: 0;
    font-size: 16px;
}


/*予約*/
#bus-oirase .btn-reserve {
    margin: 30px auto 5px;
    width: 80%;
    max-width: 400px;
}

#bus-oirase .btn-reserve a {
    display: block;
    width: 100%;
    padding: 18px;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background: #f53d7e;
    border-radius: 10px;
}

@media (max-width: 768px) {

    #bus-oirase .introduce-icon {
        width: 12%;
        margin-right: 6px;
    }
    
    #bus-oirase .introduce-text .lead {
        font-size: 14px;
    }
    
}
