@charset "UTF-8";

/* common
------------------------------------------------ */
/* reset */
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
table,
th,
td {
  margin: 0;
  padding: 0;
}

.newContentsArea a[target="_blank"]:has(>img) {
  background: none;
  padding: 0;
}

.newContentsArea a[target="_blank"]:has(>picture) {
  background: none;
  padding: 0;
}

.newContentsArea img {
  width: auto;
  vertical-align: top;
}

.newContentsArea li {
  list-style: none;
}

/* module */
.mb0 {
  margin-block-end: 0 !important;
}

.mt10 {
  margin-block-start: 10px !important;
}

.mt20 {
  margin-block-start: 20px !important;
}

.mt30 {
  margin-block-start: 30px !important;
}

.mt40 {
  margin-block-start: 40px !important;
}

.mt60 {
  margin-block-start: 60px !important;
}

.center {
  text-align: center !important;
}

.right {
  text-align: right !important;
}

.h2_hedding {
  margin-block-end: 20px;
  color: #fff;
  font-size: 24px;
  text-align: center;
  letter-spacing: .1em;
}

.h2_hedding.--line {
  max-width: 954px;
  margin-inline: auto;
  padding-inline: 20px;
  position: relative;
}

.h2_hedding.--line::before {
  content: "";
  width: calc(100% - 40px);
  height: 2px;
  background-color: #2396c8;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%);
}

.h2_hedding.--line>span {
  padding-inline: 32px;
  background-color: #ffbec8;
  position: relative;
}

.h2_hedding.--img {
  padding-inline: 20px;
}

.h2_hedding-img{
  text-align: center;
  margin-block-end: 40px;
}

.textLink_underline {
  text-decoration: underline;
}

@media screen and (min-width: 769px) {
  .is-sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .h2_hedding {
    margin-block-end: 35px;
    font-size: 22px;
  }

  .h2_hedding.--line {
    max-width: 544px;
    padding-inline: 15px;
  }

  .h2_hedding.--line>span {
    padding-inline: 14px;
  }

  .h2_hedding.--img {
    padding-inline: 15px;
  }

  .is-pc {
    display: none;
  }
}

.questionContents {
  margin-block-end: 20px;
  text-align: left;
}

.questionContents dt {
  font-size: 16px;
  background-color: #2296c8;
  color: #FFFFFF;
  padding: 8px 20px 8px 35px;
  margin-block-end: 10px;
  border-radius: 8px;
  position: relative;
}

.questionContents dt:before {
  content: 'Q';
  position: absolute;
  left: 1em;
}

.questionContents dd {
  font-size: 16px;
  padding: 8px 20px 8px 35px;
  color: #000;
  position: relative;
}

.questionContents dd:before {
  content: 'A';
  position: absolute;
  left: 1em;
  color: #2296c8;
}

.questionContents dd>p {
  margin: 0;
  margin-block-end: 15px;
}

.questionContents dd>p:last-child {
  margin: 0;
}

.questionContents dd li {
  list-style: disc;
  margin-inline-start: 1.5em;
}

.questionContents dd a {
  color: currentColor;
}

span.mark {
  background: linear-gradient(transparent 60%, #ffff33 60%);
}

.policy_termsofuse {
  display: flex;
  justify-content: end;
  margin-block-start: 120px;
  font-size: 16px;
}

.policy_termsofuse li:last-child {
  margin-inline-start: 30px;
}

/* header */
header {
  min-width: fit-content;
  width: 100%;
}

header .global-navi {
  max-width: 1100px;
  width: 100%;
}

/* sub-navi */
@media screen and (max-width: 1100px) {
  .sub-navi {
    margin: auto;
    transform: none;
    margin: 0;
    left: auto;
  }
}

/* footer */
footer {
  min-width: fit-content;
  width: 100%;
}

footer nav .flex {
  max-width: 1100px;
  width: 1100px;
}

@media screen and (max-width: 1100px) {
  footer nav .flex {
    display: none;
  }
}

/* layout */
.wrapper {
  width: 100%;
  max-width: 1100px;
}

.contents {
  width: 100%;
  max-width: 954px;
  margin: auto;
}

@media screen and (max-width: 1100px) {
  .contents {
    padding-inline: 20px;
  }
}

@media screen and (max-width: 768px) {
  .contents {
    padding-inline: 15px;
  }
}

/* mv */
.mainVisual {
  background-color: #2296c9;
}

.mainVisualInner {
  max-width: 1100px;
  margin-inline: auto;
  background-color: #2296c9;
}

@media screen and (max-width: 768px) {
  .mainVisualInner {
    max-width: 572px;
  }
}

/* localNavi */
.localNavi {
  padding-inline: 20px;
  background-color: #0051a1;
}

.localNavi ul {
  display: flex;
  justify-content: space-between;
  max-width: 980px;
  margin-inline: auto;
}

.localNavi li a {
  display: block;
  padding: 15px 0;
  color: #FFFFFF;
  font-size: 19px;
  font-weight: bold;
}

.localNavi li a[target="_blank"] {
  background-image: none;
}

.localNavi li a:before {
  content: "▼";
  display: inline-block;
  margin-inline-end: 5px;
}

@media screen and (max-width: 768px) {
  .localNavi {
    padding-inline: 0;
    background-color: #0051a1;
  }

  .localNavi ul {
    flex-wrap: wrap;
    gap: 1px;
  }

  .localNavi ul li {
    width: calc((100% - 1px) / 2);
    text-align: center;
    background-color: #0051a1;
  }

  .localNavi ul li:nth-child(-n+3) {
    width: calc((100% - 2px) / 2);
  }

  .localNavi li a {
    font-size: 14px;
  }
}


/* index
------------------------------------------------ */
.top .contents {
  text-align: center;
}

/* top_intro */
.top_intro {
  margin-block-start: 37px;
}

.top_image_01 {
  margin-block-end: 35px;
}

@media screen and (max-width: 768px) {
  .top_intro {
    margin-block-start: 25px;
  }

  .top_image_01 {
    margin-block-end: 33px;
  }

  .top_image_02 {
    margin-block-end: 85px;
  }


}

/* top_reservation */
.top_reservation {
  padding-block: 50px 70px;
  background-color: #2296c8;
}

.top_image_03 {
  margin-block-end: 40px;
}

.top_image_04 {
  margin-block-end: 60px;
}

.top_image_05 {
  margin-block-end: 45px;
}

.top_image_06 {
  margin-block-end: 45px;
}

.top_image_10 {
  margin-block-end: 40px;
}

.top_image_11 {
  margin-block-end: 40px;
}

.top_btn_list {
  display: flex;
  justify-content: center;
  margin-block-end: 40px;
}

.top_btn_list ul {
  display: flex;
  align-items: center;
  margin-inline-start: 46px;
}

.top_btn_list li {
  margin-inline-end: 28px;
}

@media screen and (min-width: 1009px) {
  .top_image_05.--exceed {
    margin-inline-end: -47px;
  }
}

@media screen and (max-width: 768px) {
  .top_reservation {
    padding-block: 30px 60px;
  }

  .top_image_03 {
    margin-block-end: 25px;
  }

  .top_image_04 {
    margin-block-end: 100px;
  }

  .top_image_04 +.top_image_04 +.top_image_04 {
    margin-block-end: 70px;
  }

  .top_image_05 {
    margin-block-end: 70px;
  }

  .top_image_06 {
    margin-block-end: 50px;
  }

  .top_image_11 {
    margin-block-end: 35px;
  }

  .top_reservation .top_btn_single {
    margin-block-end: 30px;
  }

  .top_btn_list {
    display: block;
    text-align: center;
  }

  .top_btn_list ul {
    margin: 20px 0 0 0;
    justify-content: center;
    flex-direction: column;
    gap: 24px;
  }

  .top_btn_list li {
    margin-inline-end: 0;
  }
}

/* top_map */

.top_map .h2_hedding {
  margin-block-end: 0;
  padding-block: 50px 60px;
  background-color: #fff;
}

.top_image_07 {
  background-color: #acd49f;
  margin-block-end: 50px;
}
.top_image_07 .map_area {
  max-width: 1100px;
  margin-inline: auto;
}


@media screen and (max-width: 768px) {
  .top_image_07 {
    margin-block-end: 35px;
  }
}

/* top_qa */
.top_qa {
  margin-block-start: 80px;
  padding-block: 35px 61px;
  background-color: #dceefa ;
}

.top_qa .h2_hedding{
  color: #2296c8 ;
  margin-block-end: 46px;
}

.top .questionContents:last-child {
  margin-block-end: 40px;
}

.top .questionContents dt,
.top .questionContents dd {
  font-size: 17px;
}

.top .questionContents dt {
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .top_qa {
    margin-block-start: 30px;
    padding-block: 30px 88px;
  }

  .top_qa .h2_hedding{
    margin-block-end: 26px;
  }

  .top .questionContents:last-child {
    margin-block-end: 40px;
  }
}


/* lineuse
------------------------------------------------ */
.lineuse .h2_hedding {
  margin-block: 72px 73px;
  padding-block: 18px 24px;
  background-color: #ffbec8;
}

.lineuse_hedding {
  margin-block-end: 30px;
  font-size: 24px;
  color: #66b772;
  text-align: center;
}

.lineuse_sction .lineuse_hedding {
  margin: -20px 0 30px;
}

.lineuse_hedding>span {
  display: inline-block;
  background-color: #FFFFFF;
  padding: 0 10px;
}

.lineuse_sction .contents {
  max-width: 956px;
}

.line_register_switch {
  display: flex;
  justify-content: flex-start;
}

.line_register_switch li {
  width: 260px;
  text-align: center;
  background-color: #669966;

  padding: 2px 20px 3px;
  border-radius: 10px 10px 0 0;
  font-size: 20px;
  color: #FFFFFF;
  margin-inline-end: 6px;
  cursor: pointer;
}

.line_register_switch li.on {
  background-color: #66b772;
}

.line_register_box {
  background-color: #66b772;
  padding: 38px 75.5px;
  box-sizing: border-box;
}

.line_register_box>div {
  display: none;
  background-color: #FFFFFF;
}

.line_register_box>div.show {
  display: block;
}

.lineuse_box {
  text-align: center;
}

.lineuse_box img {
  width: auto;
}

.lineuse .lineuse_box_section {
  border: 2px solid #99cc99;
  margin-block-end: 78px;
  padding-block-end: 54px;
}

@media screen and (max-width: 768px) {
  .lineuse .h2_hedding {
    margin-block: 35px 20px;
    padding-block: 21px 24px;
  }

  .lineuse .contents {
    padding-block-end: 20px;
  }

  .lineuse .contents.end {
    padding-block-end: 50px;
  }

  .line_register_switch li {
    font-size: 15px;
    padding: 2px 6px 3px;
    width: 150px;
  }

  .line_register_box {
    padding: 24px;
  }

  .lineuse .lineuse_box_section {
    padding: 24px;
    margin-block-end: 50px;
  }

  .lineuse .lineuse_box_section:first-child {
    margin-block-start: 40px;
  }

  .lineuse .lineuse_box_section:last-child {
    margin-block-end: 0;
  }

  .lineuse_hedding {
    margin-block-end: 20px;
    font-size: 20px;
  }

  .lineuse_sction .lineuse_hedding {
    margin: -40px 0 10px;
  }
}


/* mp
------------------------------------------------ */
.mp .h2_hedding {
  margin-block: 72px 73px;
  padding-block: 18px 24px;
  background-color: #0051a1;
}

.mp .contents {
  max-width: 745px;
}

.mpPosition {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px 40px;
}

.mpPosition li {
  width: calc((100% - 40px) / 2);
}

.mpPosition li p {
  font-size: 14px;
  margin-top: 8px;
}

@media screen and (max-width: 768px) {
  .mp .h2_hedding {
    margin-block: 50px 30px;
    padding-block: 21px 24px;
  }

  .mp .contents {
    margin-block: 0px 65px;
  }

  .mpPosition {
    gap: 20px 25px;
  }

  .mpPosition li {
    width: calc((100% - 25px) / 2);
  }

  .mpPosition li p {
    font-size: 1.85vw;
    margin-top: 4px;
  }
}

/* qa
------------------------------------------------ */
.question .contents {
  max-width: 915px;
  text-align: left;
}

.question .h2_hedding {
  margin-block: 72px 73px;
  padding-block: 18px 24px;
  background-color: #278dbd;
}

.pageLink {
  width: 100%;
  max-width: 680px;
  margin: 0 auto 50px;
  font-size: 20px;
}

.pageLink a {
  color: #000;
}

.questionContents a[target="_blank"] {
  background: none;
  padding: 0;
}

.question section {
  margin-block-end: 50px;
}

.question_hedding {
  font-size: 20px;
  text-align: center;
  margin-block-end: 15px;
  color: #2296c8;
}

.question_hedding>span {
  display: inline-block;
  padding-inline: 30px;
  position: relative;
}

.question_hedding> ::before,
.question_hedding> ::after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 10px;
  background-color: currentColor;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.question_hedding> ::before {
  left: 0;
}

.question_hedding> ::after {
  right: 0;
}

@media screen and (max-width: 1100px) {
  .question .contents {
    padding: 0 20px;
  }
}

@media screen and (max-width: 768px) {
  .question .h2_hedding {
    margin-block: 35px 20px;
    padding-block: 21px 24px;
  }

  .pageLink {
    font-size: 18px;
  }
}

/* policy / term
------------------------------------------------ */
.policy .contents,
.term .contents {
  max-width: 746px;
}

.policy .h2_hedding,
.term .h2_hedding {
  margin-block: 72px 73px;
  padding-block: 18px 24px;
  background-color: #0064af;
}

.policy h3,
.term h3 {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.35;
  margin: 30px -10px 20px -10px;
  padding: 15px 10px 15px 35px;
  background-color: #f8f8f8;
  position: relative;
}

.policy h3::before,
.term h3::before {
  content: "";
  position: absolute;
  display: block;
  left: 10px;
  top: 15px;
  height: calc(100% - 30px);
  border-left: 4px solid #007bbc
}

.policy h3::after,
.term h3::after {
  content: "";
  position: absolute;
  display: block;
  left: 10px;
  top: 15px;
  height: 4px;
  border-left: 4px solid #da0a16
}

.policy h4,
.term h4 {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.35;
  padding: 0;
  margin: 0;
}

.policy .pilicy_list,
.term .pilicy_list {
  margin-inline-start: 1.5em;
  font-size: 16px;
}

.policy .list_number li,
.term .list_number li {
  list-style: decimal;
}

.policy .list_circleNumber,
.term .list_circleNumber {
  list-style-type: none;
  padding-inline-start: 1em;
}

.policy .list_circleNumber li span,
.term .list_circleNumber li span {
  margin-inline-start: -1.5em;
  margin-inline-end: 0.5em;
}

.policy .list_bracketsNumber,
.term .list_bracketsNumber {
  list-style-type: none;
  padding-inline-start: 1em;
}

.policy .list_bracketsNumber li span,
.term .list_bracketsNumber li span {
  margin-inline-start: -2.1em;
  margin-inline-end: 0.5em;
}

.policy .list_bracketsNumber li:nth-child(n+10) span,
.term .list_bracketsNumber li:nth-child(n+10) span {
  margin-inline-start: -2.8em;
  margin-inline-end: 0.5em;
}

.policy .list_alphabet li,
.term .list_alphabet li {
  list-style: lower-alpha;
}

.policy .pilicy_list li,
.term .pilicy_list li {
  margin-block-end: 10px;
}

.term .pilicy_list li:last-child {
  margin-block-end: 0;
}

.policy .list_number li>.list_alphabet,
.term .list_number li>.list_alphabet {
  margin-block-start: 10px;
}

.policy .list_disc,
.term .list_disc {
  margin-inline-start: 0.5em;
}

.policy .list_disc li,
.term .list_disc li {
  list-style: disc;
  margin-inline-start: 1.5em;
}

.text {
  display: flex;
  align-items: baseline;
  font-size: 16px;
  margin-block-start: 10px;
}

.indent_number {
  display: block;
  margin-inline-end: 1em;
}

.indent_number.number1 {
  width: 1.7em;
}

.indent_number.number2 {
  width: 2.7em;
}

.indent_number.number2_2 {
  width: 3.2em;
}

.indent_number.number3 {
  width: 3.7em;
}

.indent_number.number3_2 {
  width: 4.7em;
}

.text_contents {
  width: 100%;
}

.text_contents p {
  margin: 0;
}

.term table {
  border-collapse: collapse;
}

.term table th,
.term table td {
  border: 1px solid #ccc;
  text-align: left;
  padding: 15px;
}

.term table th {
  background-color: #e6e6e6;
  width: 30%;
  padding: 10px;
}

@media screen and (max-width: 768px) {
  .policy .contents,
  .term .contents {
    padding-block-end: 40px;
  }

  .policy .h2_hedding,
  .term .h2_hedding {
    margin-block: 35px 20px;
    padding-block: 21px 24px;
  }

  .text {
    display: flex;
    align-items: baseline;
    font-size: 14px;
    margin-block-start: 10px;
  }

  .text p,
  .text li {
    font-size: 14px;
  }

  .term .contents p {
    font-size: 14px;
  }

  .scroll_table {
    width: 300px;
    overflow-x: scroll;
  }

  .term table {
    width: 600px;
  }
}