/* m-plus-rounded-1c-100 - japanese_latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 100;
  src: url('../fonts/m-plus-rounded-1c-v16-japanese_latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-300 - japanese_latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/m-plus-rounded-1c-v16-japanese_latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-regular - japanese_latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/m-plus-rounded-1c-v16-japanese_latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-500 - japanese_latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/m-plus-rounded-1c-v16-japanese_latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-700 - japanese_latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/m-plus-rounded-1c-v16-japanese_latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-800 - japanese_latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/m-plus-rounded-1c-v16-japanese_latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-rounded-1c-900 - japanese_latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'M PLUS Rounded 1c';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/m-plus-rounded-1c-v16-japanese_latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/*****STANDART CSS******/
:root {
  --view-size: 1360;
}
@media screen and (max-width: 768px) {
  :root {
      --view-size: 375;
    }
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var,
video {
  margin: 0;
}

body {
  margin: 0;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  color: #333333;
  font-weight: 500;
  font-size: calc(18 / var(--view-size) * 100vw);
  line-height: 1.5;
  letter-spacing: calc(-0.5 / var(--view-size) * 100vw);
}
body.open {
  overflow: hidden;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

img {
  vertical-align: bottom;
  width: 100%;
}

a {
  transition: 0.3s;
  text-decoration: none;
  color: #363636;
  cursor: pointer;
}
a:hover {
  opacity: 0.7;
}

/* flex */
.row {
  display: flex;
  flex-wrap: wrap;
}

.between {
  justify-content: space-between;
}

.align_start {
  align-items: flex-start;
}

.align_center {
  align-items: center;
}

.align_end {
  align-items: flex-end;
}

.flex_center {
  justify-content: center;
}

.flex_start {
  justify-content: flex-start;
}

.flex_end {
  justify-content: flex-end;
}

.stretch {
  align-items: stretch;
}

.reverse {
  flex-direction: row-reverse;
}

/* inner */
.inner {
  width: calc(1160 / var(--view-size) * 100vw);
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .inner {
      width: calc(345 / var(--view-size) * 100vw);
  }
}

/* display */
@media screen and (max-width: 768px) {
  .sp_dn {
    display: none;
  }
}

.sp_db {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp_db {
    display: block;
  }
  .pc_dn{
    display: none;
  }
}

/* common_ttl */
.common_ttl_01 {
  text-align: center;
  margin-bottom: calc(20 / var(--view-size) * 100vw);
  position: relative;
}
.common_ttl_01 h2 {
  color: #fff;
  font-size: calc(40 / var(--view-size) * 100vw);
  font-weight: 800;
  position: relative;
  z-index: 100;
  letter-spacing: 0;
}
.common_ttl_01 .top_about_ttl_edging {
  font-weight: 800;
  font-size: calc(40 / var(--view-size) * 100vw);
  color: #333;
  -webkit-text-stroke: calc(7 / var(--view-size) * 100vw) #333;
  position: absolute;
  inset: 0;
  letter-spacing: 0;
  transform: translateY(calc(1 / var(--view-size) * 100vw));
}
.common_ttl_01 h3 {
  font-size: calc(18 / var(--view-size) * 100vw);
  margin-top: calc(5 / var(--view-size) * 100vw);
  letter-spacing: 0;
}

.common_ttl_02 {
  margin-bottom: calc(20 / var(--view-size)* 100vw);
  position: relative;
}
.common_ttl_02 .common_edging_ttl {
font-size: calc(32 / var(--view-size)* 100vw);
color: #fff;
font-weight: 800;
position: relative;
z-index: 100;
letter-spacing: 0;
}
.common_ttl_02 .common_edging_text {
font-weight: 800;
font-size: calc(32 / var(--view-size)* 100vw);
color: #333;
-webkit-text-stroke: calc(7 / var(--view-size)* 100vw) #333;
position: absolute;
inset: 0;
letter-spacing: 0;
transform: translateY(calc(2 / var(--view-size)* 100vw));
}

@media screen and (max-width: 768px) {
  .common_ttl_01 {
      margin-bottom: calc(40 / var(--view-size) * 100vw);
  }
  .common_ttl_01 h2 {
      font-size: calc(32 / var(--view-size) * 100vw);
  }
  .common_ttl_01 .top_about_ttl_edging {
      font-size: calc(32 / var(--view-size) * 100vw);
      -webkit-text-stroke: calc(6 / var(--view-size) * 100vw) #333;
      transform: translateY(calc(2 / var(--view-size) * 100vw));
  }

  .common_ttl_02 {
    margin-bottom: calc(30 / var(--view-size)* 100vw);
  }
  .common_ttl_02 .common_edging_ttl {
    font-size: calc(24 / var(--view-size)* 100vw);
  }
  .common_ttl_02 .common_edging_text {
    font-size: calc(24 / var(--view-size)* 100vw);
    -webkit-text-stroke: calc(8 / var(--view-size)* 100vw) #333;
  }
  .common_ttl_01 h2,
  .common_ttl_01 .top_about_ttl_edging  {
      font-size: calc(32 / var(--view-size)* 100vw);
  }
}

/* common_btn */
.common_btn a {
  padding: calc(25 / var(--view-size) * 100vw) calc(30 / var(--view-size) * 100vw);
  border-radius: calc(80 / var(--view-size) * 100vw);
  color: #fff;
  font-size: calc(20 / var(--view-size) * 100vw);
  font-weight: 800;
  text-align: center;
  box-shadow: 0px calc(3 / var(--view-size) * 100vw) calc(6 / var(--view-size) * 100vw) calc(0 / var(--view-size) * 100vw) rgba(0, 0, 0, 0.16);
  display: block;
}
.common_btn a:hover {
box-shadow: none;
transform: translateY(calc(3 / var(--view-size) * 100vw));
opacity: 1;
}

@media screen and (max-width: 768px) {
  .common_btn a {
      padding: calc(25 / var(--view-size) * 100vw) calc(55 / var(--view-size) * 100vw);
  }
}

.common_howto_guide a {
width: calc(1160 / var(--view-size) * 100vw);
padding: calc(45 / var(--view-size) * 100vw) 0;
background-color: #33A7FF;
color: #fff;
display: flex;
flex-wrap: nowrap;
align-items: center;
padding-left: calc(60 / var(--view-size) * 100vw);
border-radius: calc(80 / var(--view-size) * 100vw);
border: calc(4 / var(--view-size) * 100vw) solid #fff;
box-shadow: 0px calc(3 / var(--view-size) * 100vw) calc(6 / var(--view-size) * 100vw) calc(0 / var(--view-size) * 100vw) rgba(0, 0, 0, 0.16);
}
.common_howto_guide a:hover {
box-shadow: none;
transform: translateY(calc(3 / var(--view-size) * 100vw));
opacity: 1;
}
.common_howto_guide_ttl {
font-size: calc(24 / var(--view-size) * 100vw);
font-weight: 800;
letter-spacing: calc(-1 / var(--view-size) * 100vw);
}
.common_howto_guide .text_shadow {
position: relative;
margin-left: calc(50 / var(--view-size) * 100vw);
}
.common_howto_guide .text_shadow:after {
content: "";
background: url(../../../uploads/img/arrow_shadow.png) center / contain no-repeat;
width: calc(50 / var(--view-size) * 100vw);
height: calc(70 / var(--view-size) * 100vw);
position: absolute;
right: calc(-80 / var(--view-size) * 100vw);
top: calc(5 / var(--view-size) * 100vw);
}
.common_howto_guide .common_howto_guide_text {
font-size: calc(50 / var(--view-size) * 100vw);
font-weight: 800;
position: relative;
z-index: 100;
}
.common_howto_guide .common_howto_guide_shadow {
position: absolute;
inset: 0;
font-weight: 800;
font-size: calc(50 / var(--view-size) * 100vw);
color: #333;
-webkit-text-stroke: calc(7 / var(--view-size) * 100vw) #333;
transform: translateY(calc(2 / var(--view-size) * 100vw));
}

@media screen and (max-width: 768px) {
.common_howto_guide a {
  width: calc(345 / var(--view-size) * 100vw);
  padding: calc(20 / var(--view-size) * 100vw) 0;
  display: block;
  text-align: center;
}
.common_howto_guide_ttl {
  font-size: calc(24 / var(--view-size) * 100vw);
  margin-bottom: calc(4 / var(--view-size) * 100vw);
}
.text_shadow .common_howto_guide_text {
  font-size: calc(24 / var(--view-size) * 100vw);
  line-height: 1.4;
}
.text_shadow .common_howto_guide_shadow {
  font-size: calc(24 / var(--view-size) * 100vw);
  margin-left: 0;
  -webkit-text-stroke: calc(7 / var(--view-size)* 100vw) #333;
  line-height: 1.4;
}
.common_howto_guide .text_shadow {
  margin-left: 0;
}
.common_howto_guide .text_shadow:after {
  width: calc(40 / var(--view-size) * 100vw);
  height: calc(50 / var(--view-size) * 100vw);
  right: calc(40 / var(--view-size) * 100vw);
  top: calc(7 / var(--view-size) * 100vw);
}
}

/* common_mv */
.common_mv {
padding: calc(160 / var(--view-size) * 100vw) 0 calc(40 / var(--view-size) * 100vw);
position: relative;
background-color: #F1F1F1;
}
.common_mv .inner {
position: relative;
z-index: 100;
}
.common_mv .common_ttl_01 {
margin-bottom: calc(60 / var(--view-size) * 100vw);
}
.common_mv_bottom {
background-color: #FCC800;
height: calc(300 / var(--view-size) * 100vw);
clip-path: polygon(0 0, 0% 100%, 100% 100%);
position: absolute;
bottom: 0;
width: calc(1360 / var(--view-size) * 100vw);
}

.common_mv_bottom_02 {
bottom: calc(-74 / var(--view-size) * 100vw);
}
.common_mv_top_02 {
position: absolute;
bottom: calc(-174 / var(--view-size) * 100vw);
width: calc(1360 / var(--view-size) * 100vw);
clip-path: polygon(0 0, 100% 100%, 100% 0);
height: calc(100 / var(--view-size) * 100vw);
background-color: #FCC800;
}

@media screen and (max-width: 768px) {
.common_mv {
  padding: calc(90 / var(--view-size) * 100vw) 0 0;
}
.common_mv_bottom_02 {
  width: calc(375 / var(--view-size) * 100vw);
  height: calc(82 / var(--view-size)* 100vw);
  bottom: calc(-14 / var(--view-size)* 100vw);

}
.common_mv_top_02 {
  width: calc(375 / var(--view-size) * 100vw);
  height: calc(27 / var(--view-size)* 100vw);
  bottom: calc(-41 / var(--view-size)* 100vw);
}
.common_mv .common_ttl_01 {
  margin-bottom: calc(20 / var(--view-size)* 100vw);
}
.common_ttl_01 {
  margin-bottom: calc(20 / var(--view-size)* 100vw);
}
html[lang="en"] .common_mv {
  padding: calc(110 / var(--view-size) * 100vw) 0 0;
}
}

/* common_mv_anker */
.common_mv_anker {
width: calc(672 / var(--view-size) * 100vw);
margin: 0 auto;
}
.common_mv_btn {
width: calc(220 / var(--view-size) * 100vw);
box-shadow: 0px calc(3 / var(--view-size) * 100vw) calc(6 / var(--view-size) * 100vw) calc(0 / var(--view-size) * 100vw) rgba(0, 0, 0, 0.16);
border: calc(4 / var(--view-size) * 100vw) solid #0068B7;
border-radius: calc(60 / var(--view-size) * 100vw);
padding: calc(20 / var(--view-size) * 100vw) 0;
position: relative;
text-align: center;
padding-left: calc(20 / var(--view-size) * 100vw);
padding-right: calc(40 / var(--view-size) * 100vw);
background-color: #fff;
box-shadow: 0px calc(3 / var(--view-size) * 100vw) calc(6 / var(--view-size) * 100vw) calc(0 / var(--view-size) * 100vw) rgba(0, 0, 0, 0.16);
font-weight: 800;
}
.common_mv_btn:hover {
box-shadow: none;
transform: translateY(calc(3 / var(--view-size) * 100vw));
opacity: 1;
}
.common_mv_btn::after {
content: "";
background: url(../../../uploads/img/arrow_blue_bottom.png) center / contain no-repeat;
width: calc(18 / var(--view-size) * 100vw);
height: calc(25 / var(--view-size) * 100vw);
position: absolute;
right: calc(20 / var(--view-size) * 100vw);
top: calc(20 / var(--view-size) * 100vw);
}

html[lang="en"] .common_mv_anker {
  width: calc(910 / var(--view-size) * 100vw);
}

html[lang="en"] .common_mv_btn {
  width: calc(290 / var(--view-size) * 100vw);
  display: flex;
  align-items: center;
  justify-content: center;
}
html[lang="en"] .common_mv_btn::after {
  top: 50%;
  transform: translateY(-50%);
}
html[lang="en"] .howto_empty_guide.common_howto_guide a {
  width: calc(910 / var(--view-size) * 100vw);
}

@media screen and (max-width: 768px) {
  .common_mv_btn {
    width: calc(345 / var(--view-size)* 100vw);
    margin-bottom: calc(10 / var(--view-size) * 100vw);
    padding: calc(20 / var(--view-size)* 100vw) 0;
  }
  .common_mv_btn:last-child {
    margin-bottom: 0;
  }
  .common_mv_anker {
    width: calc(345 / var(--view-size)* 100vw);
  }

  html[lang="en"] .common_mv_anker {
    width: 100%;
  }

  html[lang="en"] .common_mv_btn {
    width: 100%;
  }
  html[lang="en"] .howto_empty_guide.common_howto_guide a {
    width: 100%;
    padding: calc(20 / var(--view-size)* 100vw) calc(5 / var(--view-size)* 100vw);
  }
  html[lang="en"] .common_howto_guide_ttl {
    font-size: calc(21 / var(--view-size)* 100vw);
  }
  html[lang="en"] .howto_empty_guide.common_howto_guide .common_howto_guide_text,
  html[lang="en"] .howto_empty_guide.common_howto_guide .common_howto_guide_shadow {
    font-size: calc(24 / var(--view-size)* 100vw);
  }
  html[lang="en"] .howto_empty_guide.common_howto_guide .text_shadow {
    margin-left: 0;
  }
  html[lang="en"] .howto_empty_guide.common_howto_guide .common_howto_guide_text .sp_db,
  html[lang="en"] .howto_empty_guide.common_howto_guide .common_howto_guide_shadow .sp_db {
    display: none;
  }
  html[lang="en"] .howto_empty_guide.common_howto_guide .text_shadow:after {
    width: calc(28 / var(--view-size)* 100vw);
    height: calc(38 / var(--view-size)* 100vw);
    top: calc(0 / var(--view-size)* 100vw);
    right: calc(0 / var(--view-size)* 100vw);
  }
}

/* common_page_bg */
.common_page_bg {
background-color: #F1F1F1;
}

/* outlet */
.common_outlet {
position: absolute;
  bottom: calc(-23 / var(--view-size)* 100vw);
  right: calc(160 / var(--view-size)* 100vw);
  max-width: calc(140 / var(--view-size)* 100vw);
  z-index: 100;
}
@media screen and (max-width: 768px) {
.common_outlet {
  right: calc(40 / var(--view-size)* 100vw);
}
}

/* faq */
.common_faq_cont {
margin-top: calc(50 / var(--view-size) * 100vw);;
}
.common_faq_item {
margin-bottom: calc(20 / var(--view-size) * 100vw);
background-color: #fff;
border: calc(4 / var(--view-size) * 100vw) solid #F39800;
border-radius: calc(40 / var(--view-size) * 100vw);
padding:  calc(20 / var(--view-size) * 100vw);
position: relative;
}
.common_faq_item:last-child {
margin-bottom: 0;
}
.question {
cursor: pointer;
font-size: calc(32 / var(--view-size) * 100vw);
font-weight: 800;
display: flex;
align-items: flex-start;
}
.question_icon {
color: #F39800;
margin-right: calc(10 / var(--view-size) * 100vw);
}
.question_marker {
width: calc(56 / var(--view-size) * 100vw);
height: calc(56 / var(--view-size) * 100vw);
background-color: #F39800;
border-radius: calc(32 / var(--view-size) * 100vw);
position: absolute;
top: calc(15 / var(--view-size) * 100vw);
right: calc(20 / var(--view-size) * 100vw);
box-shadow: 0px calc(3 / var(--view-size) * 100vw) calc(6 / var(--view-size) * 100vw) calc(0 / var(--view-size) * 100vw) rgba(0, 0, 0, 0.16);
transition: .3s;
}
.question_marker::before,
.question_marker::after {
content: "";
width: calc(26 / var(--view-size) * 100vw);
height: calc(4 / var(--view-size) * 100vw);
background-color: #fff;
border-radius: calc(20 / var(--view-size) * 100vw);
position: absolute;
top: calc(26 / var(--view-size) * 100vw);
left: calc(15 / var(--view-size) * 100vw);
transition: .3s;
}
.question_marker:hover {
box-shadow: none;
transform: translateY(calc(3 / var(--view-size) * 100vw));
opacity: 1;
}
.question_marker::after {
transform: rotate(90deg);
}
.question.active .question_marker::after {
transform: rotate(0);
}
.answer {
display: flex;
align-items: flex-start;
font-size: calc(22 / var(--view-size) * 100vw);
padding-left: calc(10 / var(--view-size) * 100vw);
margin-top: calc(10 / var(--view-size) * 100vw);
}
.answer_icon {
color: #0068B7;
font-weight: 800;
margin-right: calc(10 / var(--view-size) * 100vw);
}
.question_text,
.question_icon {
font-size: calc(32 / var(--view-size) * 100vw);
}
.answer_text,
.answer_icon {
font-size: calc(22 / var(--view-size) * 100vw);
}

@media screen and (max-width: 768px) {
.common_faq_item {
  padding: calc(15 / var(--view-size) * 100vw) calc(10 / var(--view-size) * 100vw);
  margin-bottom: calc(10 / var(--view-size)* 100vw);
}
.question {
    position: relative;
}
.question_text,
.question_icon,
.answer_text,
.answer_icon {
    font-size: calc(18 / var(--view-size) * 100vw);
}
.question_text{
  width: calc(241 / var(--view-size)* 100vw);
}
.question_icon {
    margin-right: calc(5 / var(--view-size) * 100vw);
}
.question_marker {
    width: calc(44 / var(--view-size)* 100vw);
    height: calc(44 / var(--view-size)* 100vw);
    /* top: calc(15 / var(--view-size)* 100vw);
    right: calc(15 / var(--view-size)* 100vw); */
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;  /* marginを自動にして中央に配置 */
}
.question_marker::before, .question_marker::after {
    top: calc(20 / var(--view-size)* 100vw);
    left: calc(9 / var(--view-size)* 100vw);
}
.answer {
    padding-left: 0;
    align-items: flex-start;
    margin-top: calc(20 / var(--view-size)* 100vw);
}
}

/* anker */
.common_anker_point {
margin-top: calc(-100 / var(--view-size)* 100vw);
padding-top: calc(100 / var(--view-size)* 100vw);
}
@media screen and (max-width: 768px) {
.common_anker_point {
  margin-top: calc(-70 / var(--view-size)* 100vw);
  padding-top: calc(70 / var(--view-size)* 100vw);
}
}

/* header */
header {
  background-color: rgba(241, 241, 241, .7);
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10000;
}
.header_inner {
  padding: calc(0 / var(--view-size) * 100vw) calc(40 / var(--view-size) * 100vw);
}
.header_logo {
  max-width: calc(160 / var(--view-size) * 100vw);
  padding: calc(10 / var(--view-size) * 100vw) 0;
}
.header_links {
  max-width: calc(1160 / var(--view-size) * 100vw);
  height: calc(100 / var(--view-size) * 100vw);
  display: flex;
  align-items: center;
}
.header_links_row {
  height: 100%;
}
.header_nav {
  display: flex;
  align-items: center;
  margin-right: calc(170 / var(--view-size) * 100vw);
}
.header_nav_row {
  height: 100%;
}
.header_nav li {
  display: flex;
  align-items: center;
}
.header_nav li a {
  font-size: calc(16 / var(--view-size) * 100vw);
  font-weight: 800;
}
.header_contact {
  display: flex;
  align-items: center;
}
.header_contact a {
  max-width: calc(180 / var(--view-size) * 100vw);
  font-size: calc(18 / var(--view-size) * 100vw);
  font-weight: 800;
  background-color: #F39800;
  padding: calc(20 / var(--view-size) * 100vw);
  text-align: center;
  border-radius: calc(40 / var(--view-size) * 100vw);
  color: #fff;
  letter-spacing: 0;
  box-shadow: 0px calc(3 / var(--view-size) * 100vw) calc(6 / var(--view-size) * 100vw) calc(0 / var(--view-size) * 100vw) rgba(0, 0, 0, 0.16);
  display: block;
}
.header_contact a:hover {
  box-shadow: none;
  transform: translateY(calc(3 / var(--view-size) * 100vw));
  opacity: 1;
}

.menu_btn {
  display: none;
}

.header_nav_sp {
  left: calc(-500 / var(--view-size) * 100vw);
  opacity: 0;
  position: fixed;
  top: 0;
  width: calc(375 / var(--view-size) * 100vw);
  height: 100vh;
  background-color: #f1f1f1;
  z-index: 0;
  transition: .3s;
  padding-top: calc(80 / var(--view-size) * 100vw);
  overflow: scroll;
}
::-webkit-full-page-media, :future, :root .header_nav_sp{
  height: 100dvh;
}
.header_nav li {
  position: relative;
  padding: 0 calc(10 / var(--view-size) * 100vw);
}


.hover_trriger {
  cursor: pointer;
}
.hover_trriger:hover {
  background-color: #0068B7;
}
.hover_trriger:hover .hover_trriger_link {
  color: #fff;
  opacity: 1;
}
.hover_menu {
  position: absolute;
  top: calc(100 / var(--view-size) * 100vw);
  left: 0;
  width: calc(175 / var(--view-size) * 100vw);
  background-color: #fff;
  border-radius: 0 0 calc(20 / var(--view-size) * 100vw) calc(20 / var(--view-size) * 100vw); 
}
.hover_menu li {
  width: 100%;
}
.hover_menu li a {
  width: 100%;
  display: block;
  text-align: center;
  padding: calc(20 / var(--view-size) * 100vw) 0;
  color: #0068B7;
  font-weight: 800;
}
.header_links_row {
  position: relative;
}
.header_language {
  margin-right: calc(25 / var(--view-size) * 100vw);
  text-align: center;
  width: calc(145 / var(--view-size) * 100vw);
  display: flex;
  align-items: center;
  position: absolute;
  top: calc(25 / var(--view-size)* 100vw);
  right: calc(160 / var(--view-size)* 100vw);

}
.header_language_border {
  position: relative;
  border: calc(3 / var(--view-size) * 100vw) solid #333;
  border-radius: calc(30 / var(--view-size) * 100vw);
  width: 100%;
  padding: calc(10 / var(--view-size) * 100vw) 0;
  padding-right: calc(15 / var(--view-size) * 100vw);
  background-color: #f1f1f1;
  box-shadow: 0px calc(3 / var(--view-size) * 100vw) calc(6 / var(--view-size) * 100vw) calc(0 / var(--view-size) * 100vw) rgba(0, 0, 0, 0.16);
  cursor: pointer;
  transition: box-shadow 0.3s; /* 位置が変わらないように transition を box-shadow だけに限定 */
}
.header_language_border:hover {
  box-shadow: none;
}
.header_language_border:after {
  content: "";
  background: url(../../../uploads/img/arrow_black_bottom.png) center / cover no-repeat;
  width: calc(16 / var(--view-size) * 100vw);
  height: calc(9 / var(--view-size) * 100vw);
  position: absolute;
  top: calc(17 / var(--view-size) * 100vw);
  right: calc(20 / var(--view-size) * 100vw);
  transition: .3s;
}
.header_language_border.active:after {
  transform: rotate(180deg);
}

.header_language_border a {
  font-size: calc(16 / var(--view-size) * 100vw);
  display: block;
}

.header_language_link {
  /* margin-top: calc(10 / var(--view-size) * 100vw); */
}

html[lang="en"] .header_inner {
  padding: 0 calc(30 / var(--view-size)* 100vw);
}
html[lang="en"] .header_contact a {
  font-size: calc(16 / var(--view-size)* 100vw);
  padding: calc(20 / var(--view-size)* 100vw) calc(10 / var(--view-size)* 100vw);
  border-radius: calc(100 / var(--view-size)* 100vw);
}
html[lang="en"] .header_links {
  height: calc(130 / var(--view-size)* 100vw);
  
}
html[lang="en"] .header_language {
  top: calc(40 / var(--view-size)* 100vw);
}

html[lang="en"] .hover_menu {
  width: calc(262 / var(--view-size)* 100vw);
  top: calc(130 / var(--view-size)* 100vw);
}
html[lang="en"] .header_nav li {
  padding: 0 calc(5 / var(--view-size)* 100vw);
}


.header_reserve_modal_wrapper{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  width: 100vw;
  height: 100vh;
  background: rgba(51,51,51,.7);
  display: none;
}
.header_reserve_modal{
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100001;
  background: #fff;
  width: calc(595 / var(--view-size)* 100vw);
  border-radius: calc(30 / var(--view-size)* 100vw);
  padding: calc(20 / var(--view-size)* 100vw) calc(50 / var(--view-size)* 100vw);
  box-sizing: border-box;
  text-align: center;
}
.header_reserve_modal_midashi_wrapper{
  text-align: center;
  margin-bottom: calc(10 / var(--view-size)* 100vw);
}
.header_reserve_modal_midashi_wrapper.common_ttl_01 h2{
  font-size: calc(32 / var(--view-size)* 100vw);
}
.header_reserve_modal_midashi{
  font-weight: 800;
  font-size: calc(32 / var(--view-size)* 100vw);
  color: #333;
  -webkit-text-stroke: calc(7 / var(--view-size)* 100vw) #333;
  position: absolute;
  inset: 0;
  letter-spacing: 0;
  transform: translateY(calc(1 / var(--view-size)* 100vw));
}
.header_reserve_modal_warning{
  margin-bottom: calc(15 / var(--view-size)* 100vw);
}
.header_reserve_modal_warning span{
  font-weight: 800;
}
.header_reserve_modal_items{
  display: flex;
  align-items: stretch;
  justify-content: center;
  margin-bottom: calc(15 / var(--view-size)* 100vw);
}
.header_reserve_modal_item{
  width: calc(241 / var(--view-size)* 100vw);
  border-radius: calc(20 / var(--view-size)* 100vw);
  color: #fff;
}
.header_reserve_modal_item:nth-child(1){
  background: #009944;
  margin-right: calc(15 / var(--view-size)* 100vw);
}
.header_reserve_modal_item:nth-child(2){
  background: #0068B7;
}
.header_reserve_modal_item_title{
  font-weight: 800;
  padding: calc(15 / var(--view-size)* 100vw) 0 calc(10 / var(--view-size)* 100vw);
}
.header_reserve_modal_item_txt{
  background: #fff;
  padding: calc(15 / var(--view-size)* 100vw) 0;
  color: #333333;
  font-weight: 700;
  border-radius: calc(20 / var(--view-size)* 100vw);
  letter-spacing: -.1em;
}
.header_reserve_modal_item:nth-child(1) .header_reserve_modal_item_txt{
  border: 5px solid #009944;
}
.header_reserve_modal_item:nth-child(2) .header_reserve_modal_item_txt{
  border: 5px solid #0068B7;
}
.header_reserve_modal_txt{
  margin-bottom: calc(10 / var(--view-size)* 100vw);
  letter-spacing: -.1em;
}
.header_reserve_modal_link{
  margin-bottom: calc(20 / var(--view-size)* 100vw);
}
.header_contact .header_reserve_modal_link a{
  font-size: calc(20 / var(--view-size)* 100vw);
  letter-spacing: .4em;
  max-width: calc(285 / var(--view-size)* 100vw);
  margin: 0 auto;
}
.header_reserve_modal_minor_wrapper{
  border-radius: calc(10 / var(--view-size)* 100vw);
  background: #F1F1F1;
  padding: calc(20 / var(--view-size)* 100vw) 0 calc(30 / var(--view-size)* 100vw);
}
.header_reserve_modal_minor_midashi{
  font-size: calc(22 / var(--view-size)* 100vw);
  font-weight: 800;
  margin-bottom: calc(10 / var(--view-size)* 100vw);
}
.header_reserve_modal_minor_txt{
  margin-bottom: calc(30 / var(--view-size)* 100vw);
}
.header_contact .header_reserve_modal_minor_link a{
  font-size: calc(20 / var(--view-size)* 100vw);
  max-width: calc(285 / var(--view-size)* 100vw);
  margin: 0 auto;
  display: flex;
  align-items: center;
  background: #0068B7;
}
.header_reserve_modal_minor_link_img{
  width: calc(25 / var(--view-size)* 100vw);
  height: calc(28 / var(--view-size)* 100vw);
  margin-right: calc(20 / var(--view-size)* 100vw);
}
.header_reserve_modal_close{
  width: calc(25 / var(--view-size)* 100vw);
  height: calc(25 / var(--view-size)* 100vw);
  position: fixed;
  top: 15%;
  right: calc(345 / var(--view-size)* 100vw);
}
.header_reserve_modal_close:hover{
  cursor: pointer;
}
.header_reserve_modal_close::before,
.header_reserve_modal_close::after{
  content: "";
  display: block;
  background: #fff;
  width: calc(28 / var(--view-size)* 100vw);
  height: calc(4 / var(--view-size)* 100vw);
  position: absolute;
  top: calc(10 / var(--view-size)* 100vw);
  left: calc(-2 / var(--view-size)* 100vw);
}
.header_reserve_modal_close::before{
  transform: rotate(45deg);
}
.header_reserve_modal_close::after{
  transform: rotate(-45deg);
}


@media screen and (max-width: 768px) {
  .menu_btn {
      display: block;
  }
  .header_nav {
      display: none;
  }

  .header_inner {
      padding: calc(10 / var(--view-size) * 100vw);
  }
  .header_logo {
      width: calc(80 / var(--view-size) * 100vw);
  }

  .menu_btn {
      display: block;
      width: calc(50 / var(--view-size) * 100vw);
      height: calc(50 / var(--view-size) * 100vw);
      position: relative;
      z-index: 4000;
      background-color: #0068B7;
      border-radius: calc(32 / var(--view-size) * 100vw);
      margin-left: calc(10 / var(--view-size) * 100vw);
      box-shadow: 0px calc(3 / var(--view-size) * 100vw) calc(6 / var(--view-size) * 100vw) calc(0 / var(--view-size) * 100vw) rgba(0, 0, 0, 0.16);
    }
    .menu_btn span {
      display: inline-block;
      height: calc(3 / var(--view-size) * 100vw);
      width: calc(26 / var(--view-size) * 100vw);
      background-color: #fff;
      border-radius: calc(10 / var(--view-size) * 100vw);
      position: absolute;
      left: calc(12 / var(--view-size) * 100vw);
      transition: 0.3s;
    }
    .menu_btn span:nth-child(1) {
      top: calc(16 / var(--view-size) * 100vw);
    }
    .menu_btn span:nth-child(2) {
      top: calc(24 / var(--view-size) * 100vw);
    }
    .menu_btn span:nth-child(3) {
      top: calc(32 / var(--view-size) * 100vw);
    }


    .open .menu_btn {
      z-index: 1000;
    }
    .open .menu_btn span:nth-child(1) {
      transform: rotate(45deg);
      top: calc(23 / var(--view-size) * 100vw);
    }
    .open .menu_btn span:nth-child(2) {
      opacity: 0;
    }
    .open .menu_btn span:nth-child(3) {
      transform: rotate(-45deg);
      top: calc(23 / var(--view-size) * 100vw);
    }
    .open .header_nav_sp {
      opacity: 1;
      left: 0;
    }

    .header_contact a {
      padding: calc(10 / var(--view-size)* 100vw) calc(20 / var(--view-size)* 100vw);
    }
    .header_logo {
      position: relative;
      z-index: 10000;
    }
    .header_logo {
      line-height: 1;
    }

    .header_nav_link {
      padding-left: calc(40 / var(--view-size) * 100vw);
      margin-bottom: calc(20 / var(--view-size)* 100vw);
    }
    .header_nav_item {
      margin-bottom: calc(20 / var(--view-size)* 100vw);
    }
    .header_nav_item:last-child {
      margin-bottom: 0;
    }
    .header_nav_item ul {
      margin-top: calc(10 / var(--view-size)* 100vw);
    }
    .header_nav_item ul li {
      margin-bottom: calc(10 / var(--view-size)* 100vw);
    }
    .header_nav_item ul li:last-child {
      margin-bottom: 0;
    }
    .header_nav_item ul li a {
      letter-spacing: 0;
    }
    .header_nav_item_ttl {
      position: relative;
    }
    .header_nav_item_white {
      font-size: calc(24 / var(--view-size)* 100vw);
      color: #Fff;
      font-weight: 800;
      letter-spacing: calc(-1 / var(--view-size)* 100vw);
      position: relative;
      z-index: 500;
    }
    .header_nav_item_edging {
      font-size: calc(24 / var(--view-size) * 100vw);
      -webkit-text-stroke: calc(6 / var(--view-size) * 100vw) #333;
      color: #333;
      font-weight: 800;
      position: absolute;
      inset: 0;
      letter-spacing: calc(-1 / var(--view-size)* 100vw);
      transform: translateY(calc(-6 / var(--view-size) * 100vw));
    }

    .header_nav_sns {

    }
    .header_nav_sns_ttl {
      font-weight: 800;
      text-align: center;
      letter-spacing: 0;
      margin-bottom: calc(10 / var(--view-size)* 100vw);
    }
    .header_nav_sns .sns_icon {
      width: calc(60 / var(--view-size)* 100vw);
      margin-right: calc(20 / var(--view-size)* 100vw);
    }
    .header_nav_sns .sns_icon:last-child {
      margin-right: 0;
    }
    .header_links {
      position: relative;
      z-index: 2000;
    }

    .header_language {
      display: none;
    }

    .header_links,
    html[lang="en"] .header_links {
      height: auto;
    }
    .header_links_row {
      height: auto;
    }
    .header_nav_language {
      margin-top: calc(40 / var(--view-size)* 100vw);
      padding-bottom: calc(30 / var(--view-size)* 100vw);
    }
    .header_nav_language a {
      width: calc(106 / var(--view-size)* 100vw);
    }
    .header_nav_language a:first-child {
      margin-right: calc(20 / var(--view-size)* 100vw);
    }
    .header_nav_language a {
      box-shadow: 0px calc(3 / var(--view-size) * 100vw) calc(6 / var(--view-size) * 100vw) calc(0 / var(--view-size) * 100vw) rgba(0, 0, 0, 0.16);
      border-radius: calc(30 / var(--view-size)* 100vw);
      padding: calc(10 / var(--view-size)* 100vw) 0;
      text-align: center;
      border: calc(3 / var(--view-size)* 100vw) solid #CCCCCC;
      color: #333;
    }
    .header_nav_language a.active {
      border: calc(3 / var(--view-size)* 100vw) solid #0068B7;
      color: #0068B7;
      background-color: #fff;
      box-shadow: none;
    }
    .header_nav_sp_scroll {
      width: 100%;
      height: 100%;
    }

    html[lang="en"] .header_inner {
      padding: calc(10 / var(--view-size)* 100vw);
    }
    html[lang="en"] .header_contact a {
      font-size: calc(14 / var(--view-size)* 100vw);
    }
    html[lang="en"] .header_links {
      height: auto;
    }
    html[lang="en"] .header_language {
      top: calc(40 / var(--view-size)* 100vw);
    }
    html[lang="en"] .header_links_row {
      align-items: center;
    }
    html[lang="en"] .header_nav_item_white,
    html[lang="en"] .header_nav_item_edging {
      font-size: calc(22 / var(--view-size)* 100vw);
    }
    html[lang="en"] .header_nav_item_edging {
      transform: translateY(calc(-4 / var(--view-size)* 100vw));
    }
    html[lang="en"] .header_nav_link {
      padding-left: calc(20 / var(--view-size)* 100vw);
    }

    html[lang="en"] .header_nav_language {
      padding-bottom: calc(90 / var(--view-size)* 100vw);
    }


    .header_reserve_modal_wrapper{
      padding: calc(20 / var(--view-size)* 100vw) 0;
      overflow-y: scroll;
    }
    .header_reserve_modal{
      width: calc(345 / var(--view-size)* 100vw);
      padding: calc(10 / var(--view-size)* 100vw) calc(8 / var(--view-size)* 100vw);
      transform: translate(0,0);
      position: static;
      margin: 0 auto;
    }
    .header_reserve_modal_warning span{
      display: block;
    }
    .header_reserve_modal_midashi_wrapper{
      margin-bottom: calc(5 / var(--view-size)* 100vw);
    }
    .header_reserve_modal_item{
      width: calc(155 / var(--view-size)* 100vw);
    }
    .header_reserve_modal_item_title{
      padding: calc(5 / var(--view-size)* 100vw) 0 calc(5 / var(--view-size)* 100vw);
    }
    .header_reserve_modal_item_txt{
      padding: 0;
      height: calc(80 / var(--view-size)* 100vw);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .header_reserve_modal_minor_wrapper{
      padding: calc(10 / var(--view-size)* 100vw) calc(10 / var(--view-size)* 100vw) calc(30 / var(--view-size)* 100vw);
    }
    .header_reserve_modal_minor_txt{
      text-align: left;
      margin-bottom: calc(10 / var(--view-size)* 100vw);
    }
    .header_reserve_modal_close{
      width: calc(23 / var(--view-size)* 100vw);
      height: calc(23 / var(--view-size)* 100vw);
      top: calc(40 / var(--view-size)* 100vw);
      right: calc(35 / var(--view-size)* 100vw);
      z-index: 1000000000;
      position: absolute;
    }
    .header_reserve_modal_close::before,
    .header_reserve_modal_close::after{
      background: #333;
    }
    .header_reserve_modal_txt{
      text-align: left;
    }

}

/* footer */
footer {
  background-color: #F1F1F1;
  padding-top: calc(100 / var(--view-size) * 100vw);
}
.footer_row {
  padding-bottom: calc(70 / var(--view-size) * 100vw);
}
.footer_official {
  margin-right: calc(70 / var(--view-size) * 100vw);
}
.footer_logo {
  width: calc(315 / var(--view-size) * 100vw);
  margin-bottom: calc(40 / var(--view-size) * 100vw);
}
.footer_sns_ttl {
  font-size: calc(24 / var(--view-size) * 100vw);
  font-weight: 800;
  margin-bottom: calc(10 / var(--view-size) * 100vw);
  text-align: center;
  letter-spacing: calc(-1 / var(--view-size) * 100vw);
}
.footer_sns_row .footer_sns_icon {
  width: calc(60 / var(--view-size) * 100vw);
  margin-right: calc(20 / var(--view-size) * 100vw);
}
.footer_sns_row .footer_sns_icon:last-child {
  margin-right: 0;
}
.footer_nav {
  width: calc(760 / var(--view-size) * 100vw);
}
.footer_nav ul {
  width: calc(200 / var(--view-size) * 100vw);
}
.footer_nav li {
  margin-bottom: calc(30 / var(--view-size) * 100vw);
}
.footer_nav li:last-child {
  margin-bottom: 0;
}
.footer_nav li a {
  font-weight: 800;
  white-space: nowrap;
  letter-spacing: 0;
}
.footer_nav li ul {
  margin-top: calc(30 / var(--view-size) * 100vw);
}
.footer_nav li ul li a {
  font-weight: normal;
}
.copyright {
  background-color: #333333;
  padding: calc(25 / var(--view-size) * 100vw) 0;
  text-align: center;
  color: #fff;
  font-size: calc(18 / var(--view-size) * 100vw);
  font-weight: 800;
}

.copyright .copyright_text {
  font-weight: 800;
  font-size: calc(18 / var(--view-size) * 100vw);
  margin-bottom: calc(10 / var(--view-size) * 100vw);
}
html[lang="en"] .footer_nav li a {
  white-space: wrap;
}

@media screen and (max-width: 768px) {
  footer {
      padding-top: calc(50 / var(--view-size)* 100vw);
  }
  footer .inner {
      width: calc(375 / var(--view-size)* 100vw);
      padding: 0 calc(50 / var(--view-size)* 100vw);
  }
  .footer_row {
      display: block;
      padding-bottom: calc(50 / var(--view-size)* 100vw);
  }
  .footer_official {
      margin-right: 0;
      width: calc(100% / var(--view-size)* 100vw);
  }
  .footer_logo {
      width: calc(275 / var(--view-size)* 100vw);
      margin: 0 auto calc(40 / var(--view-size)* 100vw);
  }
  .footer_nav {
      margin-bottom: calc(40 / var(--view-size)* 100vw);
      width: auto;
  }
  .footer_nav .row {
      display: block;
  }
  .footer_nav li a {
      font-size: calc(16 / var(--view-size)* 100vw);
  }
  .footer_nav ul {
      margin-top: calc(10 / var(--view-size)* 100vw);
  }
  .footer_nav li {
      margin-bottom: calc(10 / var(--view-size)* 100vw);
  }
  .footer_nav li ul {
      margin-top: calc(10 / var(--view-size)* 100vw);
  }
  .copyright {
      padding: calc(20 / var(--view-size)* 100vw) 0;
      font-size: calc(14 / var(--view-size)* 100vw);
  }
  .copyright .copyright_text {
      margin-bottom: calc(15 / var(--view-size)* 100vw);
  }
  .copyright_message{
    width: calc(351 / var(--view-size)* 100vw);
    margin: 0 auto;
    text-align: left;
  }

}

/* error */
.error_content {
position: relative;
z-index: 100;
width: calc(700 / var(--view-size)* 100vw);
margin: 0 auto;
padding-bottom: calc(60 / var(--view-size)* 100vw);
}
.error_txt {
text-align: center;
margin-bottom: calc(110 / var(--view-size)* 100vw);
}
.error_btn a {
width: calc(345 / var(--view-size)* 100vw);
  margin: 0 auto;
  background-color: #009944;
}

@media screen and (max-width: 768px){

  .error_content{
    width: 100%;
  }
  .error_txt{
    margin-bottom: calc(30 / var(--view-size)* 100vw);
  }

}

/* 言語スイッチャー */
.linguise_switcher.linguise_switcher_not_menu {
  position: initial !important;
  width: 100%;
  margin: 0;
  text-align: center;
  display: block;
}
.linguise_switcher.linguise_switcher_not_menu:last-child {
  display: none;
}
.linguise_switcher_side_by_side li {
  float: none;
  text-align: center;
  margin: 0 !important;
}
.linguise_switcher_side_by_side li:last-child {
  display: none;
}
.linguise_switcher_side_by_side li:last-child a {
  margin-top: 10px;
}
.linguise_switcher li a {
  display: block;
}
@media screen and (max-width: 768px) {
  .linguise_switcher.linguise_switcher_not_menu {
    display: flex;
    justify-content: center;
  }
  .linguise_switcher_side_by_side li:last-child {
    display: block;
  }
  .linguise_switcher_side_by_side li:last-child a {
    margin-top: 0;
    margin-right: 0;
  }
  .linguise_switcher_side_by_side li.linguise_current a {
    border: calc(3 / var(--view-size)* 100vw) solid #0068B7;
    background-color: #fff;
    box-shadow: none;
  }
  .linguise_switcher_side_by_side li.linguise_current a .linguise_lang_name {
    color: #0068B7 !important;
  }
}

/* text */
.text_bold {
  font-weight: 700;
}
.text_border_yellow {
  font-weight: 800;
  display: inline;
  padding-bottom: 20px;
  background-position: left 100% center;
  background-size: 200% 0.4em;
  background-repeat: repeat-x;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 50%, #ffff00 50%);
  transition: background-position 0.3s ease 0s;
}
.text_red {
  color: #dc3232;
}
.text_green {
  color: #009944;
}
.text_blue {
  color: #0068B7;
}

.text_read {
  text-align: center;
  margin-bottom: calc(30 / var(--view-size)* 100vw);
}
@media screen and (max-width: 768px) {
  .text_read {
    font-size: calc(14 / var(--view-size)* 100vw);
    margin-bottom: calc(20 / var(--view-size)* 100vw);
  }
}