/*!
 * rev. 2022-10-14
 * copyright © 2022
 * 
 */


/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html {
  -webkit-text-size-adjust: 100%;
  line-height: 1.15;
}

main {
  display: block
}

h1 {
  font-size: 2em;
  margin: .67em 0
}

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible
}

pre {
  font-family: monospace, monospace;
  font-size: 1em
}

a {
  background-color: transparent
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}

b, strong {
  font-weight: bolder
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em
}

small {
  font-size: 80%
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

img {
  border-style: none
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0
}

button, input {
  overflow: visible
}

button, select {
  text-transform: none
}

[type=button], [type=reset], [type=submit], button {
  -webkit-appearance: button
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: 1px dotted ButtonText
}

fieldset {
  padding: .35em .75em .625em
}

legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}

progress {
  vertical-align: baseline
}

textarea {
  overflow: auto
}

[type=checkbox], [type=radio] {
  -webkit-box-sizing: border-box;
  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-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

details {
  display: block
}

summary {
  display: list-item
}

[hidden], template {
  display: none
}

@font-face {
  font-family: YuGothicM;
  src: local("Yu Gothic Medium")
}

@font-face {
  font-family: icons;
  font-style: normal;
  font-weight: 400;
  src: url(/font/icons.eot);
  src: url(/font/icons.eot?#iefix) format("embedded-opentype"), url(/font/icons.woff) format("woff"), url(/font/icons.ttf) format("truetype")
}

:root {
  font-size: 62.5%;
  height: 100%
}

[data-lazy-font] {
  visibility: hidden
}

.wf-active [data-lazy-font] {
  visibility: visible
}

[inert] {
  cursor: default;
  pointer-events: none
}

[inert], [inert] * {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

* {
  -webkit-font-smoothing: auto
}

*, :after, :before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

::-moz-selection {
  background-color: #56bcff
}

::selection {
  background-color: #56bcff
}

* img {
  height: auto;
  vertical-align: top
}

:focus-visible {
  outline: 2px solid #56bcff
}

* button:focus-visible, * input:focus-visible, * select:focus-visible, * textarea:focus-visible {
  outline: 2px solid #56bcff
}

* button:focus-visible+label, * input:focus-visible+label, * select:focus-visible+label, * textarea:focus-visible+label {
  outline: 2px solid #56bcff
}

* em {
  font-style: normal;
  font-weight: 700
}

* :target {
  --header-height: 70px
}

@media (max-width:767px) {
  * :target:before {
    content: "";
    display: block;
    height: var(--header-height);
    margin-top: calc(var(--header-height)*-1)
  }
}

.prettyprint ol.linenums>li {
  --color01: #65b042;
  font-weight: 700;
  line-height: 1.8;
  list-style-type: decimal
}

.prettyprint ol.linenums>li:not(:first-child) .com {
  color: var(--color01);
  font-style: normal
}

pre.prettyprint ol.linenums {
  margin: 1em auto;
  padding: 0;
  white-space: pre-wrap;
  width: 95%
}

pre.prettyprint {
  margin-bottom: 70px!important
}

.js-focus-visible :focus:not(.focus-visible) {
  outline: 0
}

body {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #222;
  font-family: Noto Sans JP, YuGothic, YuGothicM, メイリオ, Meiryo, sans-serif;
  font-size: 1.6rem;
  line-height: 1.7;
  margin: 0;
  padding: 0;
  background-color: #FFFFFF;
}

button {
  border-radius: 0
}

.c-page-sub, .c-page-sub__base {
  height: 100%;
  width: 100%
}

.c-page-sub__base {
  -ms-grid-columns: 1fr;
  -ms-grid-rows: auto 1fr auto;
  display: -ms-grid;
  display: grid;
  grid-template-areas: "header" "main" "footer";
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto
}

.c-page-sub__header {
  grid-area: header;
  -ms-grid-column: 1;
  -ms-grid-row: 1
}

.c-page-sub__main {
  grid-area: main;
  -ms-grid-column: 1;
  -ms-grid-row: 2;
  min-width: 0;
  width: 100%
}

.c-page-sub__footer {
  grid-area: footer;
  -ms-grid-column: 1;
  -ms-grid-row: 3
}

.c-page-sub__content-main {
  margin-left: auto;
  margin-right: auto;
  /*max-width: 760px;*/
  max-width: 1000px;
  padding-left: 20px;
  padding-right: 20px;
  width: 100%
}

.c-page-sub__content-main * {
  line-height: 1.6
}

.c-header {
  background: #fff;
  border-bottom: 1px solid #e6e8ed;
  left: 0;
  margin: 0;
  top: 0;
  width: 100%;
  z-index: 10
}

.c-header__body {
  margin: auto;
  max-width: 1000px;
  padding: 15px 20px;
  width: 100%
}

.c-header__title div, .c-header__title h1 {
  font-size: 1em
}

.c-header__title a {
  display: inline-block;
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}

@media (hover:hover) {
  .c-header__title a:hover {
    opacity: .6
  }
}

.c-header__title a img:nth-child(2) {
  margin-left: 10px
}

#ToolBar {
  opacity: .2;
  -webkit-transition: .3s;
  transition: .3s
}

#ToolBar:hover {
  opacity: 1
}

.c-footer {
  background: #e6e8ed;
  margin: 0 auto;
  padding: 0;
}

.c-footer+div.shinsa-block {
  margin-top: 20px
}

.c-footer__body {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  padding: 20px;
  width: 100%
}

.c-footer__body p {
  line-height: 1.8
}

.c-footer__body p[role=note] {
  padding-left: 1em;
  text-indent: -1em
}

.c-footer__body p+p {
  margin-top: 10px
}

.c-footer__copy {
    /* background: #fff; */
    /* border-top: 1px solid #f5f5f5; */
    display: block;
    padding: 0 20px 20px;
    text-align: center;
    background: #e6e8ed;
}

.c-footer-pagetop {
  bottom: 30px;
  display: none;
  position: fixed;
  right: 30px;
  z-index: 150
}

@media (max-width:767px) {
  .c-footer-pagetop {
    bottom: 20px;
    height: 56px;
    right: 20px;
    width: 46px
  }
  .c-footer-pagetop img {
    height: auto;
    width: 100%
  }
}

.c-footer-pagetop[data-fixed-modal=true] {
  bottom: 15%
}

@media (max-width:767px) {
  .c-footer-pagetop[data-fixed-modal=true] {
    bottom: 14%
  }
}

.c-nav-global {
  background-color: #3f3d2f;
  border-bottom: 1px solid #d2cdcd;
  margin-bottom: 20px;
  position: relative
}

.c-nav-global__body {
  margin: 0 auto;
  width: 1200
}

@media (max-width:1260px) {
  .c-nav-global__body {
    max-width: 1260px;
    padding-left: 30px;
    padding-right: 30px;
    width: 100%
  }
}

@media (max-width:576px) {
  .c-nav-global__body {
    padding-left: 20px;
    padding-right: 20px
  }
}

@media (max-width:991px) {
  .c-nav-global__body {
    padding: 0
  }
}

.c-nav-global__list {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin: 0;
  padding: 0
}

@media (max-width:991px) {
  .c-nav-global__list {
    display: block;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

.c-nav-global__item {
  -webkit-box-flex: 1;
  display: block;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto
}

.c-nav-global__item>a {
  background-color: #3f3d2f;
  color: #fff;
  display: block;
  text-align: center;
  text-decoration: none
}

@media (max-width:991px) {
  .c-nav-global__item>a {
    border-bottom: 1px solid #fff
  }
}

.c-nav-global__item>a:hover {
  background-color: #969171
}

.c-nav-global__item>a>span {
  border-left: 1px solid #fff;
  display: block;
  padding: 15px 25px
}

@media (max-width:991px) {
  .c-nav-global__item>a>span {
    border-left: none
  }
}

.c-nav-global__item:first-child>a>span {
  border: none
}

@media (max-width:991px) {
  .c-nav-global__item:last-child>a {
    border: none
  }
}

.c-nav-global__sub-nav {
  background: #969171;
  left: 0;
  position: absolute;
  width: 100%
}

@media (max-width:991px) {
  .c-nav-global__sub-nav {
    position: static
  }
}

.c-nav-global__sub-nav>ul {
  -ms-flex-pack: distribute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  justify-content: space-around
}

@media (max-width:991px) {
  .c-nav-global__sub-nav>ul {
    display: block;
    padding: 0
  }
}

.c-nav-global__sub-nav>ul>li {
  list-style: none
}

@media (max-width:991px) {
  .c-nav-global__sub-nav>ul>li {
    border-bottom: 1px solid #d2cdcd
  }
}

.c-nav-global__sub-nav>ul>li>a {
  color: #fff;
  display: block;
  padding: 15px;
  text-decoration: none;
  width: 100%
}

@media (max-width:991px) {
  .c-nav-global__sub-nav>ul>li>a {
    padding: 10px 4%;
    text-align: center
  }
}

.c-nav-global__sub-nav>ul>li>a:hover {
  opacity: .7
}

.c-nav-sitemap {
  background-color: #3f3d2f;
  padding: 30px 0
}

@media (max-width:575px) {
  .c-nav-sitemap {
    padding: 0
  }
}

.c-nav-sitemap ul[data-sitemap-level="1"], .c-nav-sitemap ul[data-sitemap-level="2"], .c-nav-sitemap ul[data-sitemap-level="3"] {
  margin: 0
}

.c-nav-sitemap li[data-sitemap-level="1"], .c-nav-sitemap li[data-sitemap-level="2"], .c-nav-sitemap li[data-sitemap-level="3"] {
  display: block;
  margin: 0;
  padding: 0
}

.c-nav-sitemap a {
  color: #fff;
  display: block;
  padding-left: 30px;
  text-decoration: none
}

@media (max-width:575px) {
  .c-nav-sitemap a {
    padding: 20px
  }
}

.c-nav-sitemap a:hover {
  opacity: .7
}

.c-nav-sitemap a:before {
  background: #0072bc;
  border: 1px solid transparent;
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 8px;
  margin: 0 15px 0 -20px;
  vertical-align: middle;
  width: 8px
}

@media (max-width:575px) {
  .c-nav-sitemap a:before {
    display: none;
    margin: 0
  }
}

.c-nav-sitemap__body {
  background-color: #3f3d2f;
  margin: 0 auto;
  max-width: 1200px;
  overflow: hidden
}

@media (max-width:991px) {
  .c-nav-sitemap__body {
    max-width: 100%
  }
}

.c-nav-sitemap ul[data-sitemap-level="1"] {
  -webkit-column-count: 4;
  -moz-column-count: 4;
  column-count: 4;
  padding: 0
}

@media (max-width:576px) {
  .c-nav-sitemap ul[data-sitemap-level="1"] {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1
  }
}

@media (min-width:576px) and (max-width:767px) {
  .c-nav-sitemap ul[data-sitemap-level="1"] {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2
  }
}

@media (min-width:768px) and (max-width:991px) {
  .c-nav-sitemap ul[data-sitemap-level="1"] {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3
  }
}

.c-nav-sitemap li[data-sitemap-level="1"] {
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  break-inside: avoid-column;
  display: inline-block;
  margin: 0 0 1em;
  width: 100%
}

@media (max-width:575px) {
  .c-nav-sitemap li[data-sitemap-level="1"] {
    margin: 0
  }
  .c-nav-sitemap li[data-sitemap-level="1"] a {
    border-bottom: 2px solid #fff;
    margin: 0
  }
  .c-nav-sitemap li[data-sitemap-level="1"] a :before {
    display: none;
    margin: 0
  }
}

.c-nav-sitemap ul[data-sitemap-level="2"] {
  padding: 0 0 0 1em
}

@media (max-width:575px) {
  .c-nav-sitemap ul[data-sitemap-level="2"] {
    padding: 0
  }
}

.c-nav-sitemap li[data-sitemap-level="2"] {
  margin: 0 0 .5em
}

@media (max-width:575px) {
  .c-nav-sitemap li[data-sitemap-level="2"] {
    margin: 0
  }
  .c-nav-sitemap li[data-sitemap-level="2"] a {
    background: #baa98f;
    border-bottom: 1px solid #3f3d2f;
    color: #222;
    padding: 15px 20px
  }
}

.c-nav-sitemap li[data-sitemap-level="2"] a:before {
  background: #56bcff
}

@media (max-width:575px) {
  .c-nav-sitemap li[data-sitemap-level="2"] a:before {
    display: none;
    margin: 0
  }
}

.c-nav-sitemap ul[data-sitemap-level="3"] {
  padding: 0 0 0 1em
}

@media (max-width:575px) {
  .c-nav-sitemap ul[data-sitemap-level="3"] {
    padding: 0
  }
  .c-nav-sitemap li[data-sitemap-level="3"] a {
    background: #dad3c9;
    color: #222;
    padding: 10px 20px
  }
}

.c-nav-sitemap li[data-sitemap-level="3"] a:before {
  background: #fff;
  border: 1px solid #fff
}

@media (max-width:575px) {
  .c-nav-sitemap li[data-sitemap-level="3"] a:before {
    display: none;
    margin: 0
  }
}

.c-nav-breadcrumb {
  font-size: 1.6rem;
  margin: 0 auto;
  max-width: 1200px;
  padding-left: 30px;
  padding-right: 30px
}

@media (max-width:991px) {
  .c-nav-breadcrumb {
    display: none
  }
}

.c-nav-breadcrumb ol {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: flex-start;
  margin: 0;
  padding: 0
}

.c-nav-breadcrumb ol>li {
  font-size: .875em;
  list-style: none
}

.c-nav-breadcrumb ol>li:last-child a :after {
  display: none
}

.c-nav-breadcrumb a {
  color: #969171;
  display: inline-block;
  text-decoration: underline
}

.c-nav-breadcrumb a :after {
  color: #3f3d2f;
  content: " > ";
  display: inline-block;
  margin: 0 15px 0 20px
}

.c-nav-breadcrumb__item {
  display: inline-block;
  margin: 0;
  padding: 0
}

.c-nav-breadcrumb__item[data-breadcrumb=current] a {
  text-decoration: none
}

.c-input-check-box {
  --text-gray-color1: #6c6c6c;
    background-color: #fff;
	margin-bottom: 10px;
}

@media (max-width:767px) {
  .c-input-check-box {
    margin-bottom: 10px;
  }
}

.c-input-check-box__title, .c-input-check-box__title-underline {
  font-size: 1.6rem;
  position: relative;

}

.c-input-check-box__title-underline>input[type=checkbox], .c-input-check-box__title>input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  opacity: 0;
  position: absolute
}

.c-input-check-box__title-underline>input[type=checkbox]+label, .c-input-check-box__title>input[type=checkbox]+label {
  border: 1px solid #adadad;
  border-radius: 8px;
  display: block;
  font-weight: 700;
  line-height: 1.32;
  padding: 20px 20px 20px 48px
}

.c-input-check-box__title-underline>input[type=checkbox]+label:before, .c-input-check-box__title>input[type=checkbox]+label:before {
  background: #fff;
  border: 2px solid #adadad;
  border-radius: 3px;
  content: "";
  display: block;
  height: 21px;
  left: 20px;
  position: absolute;
  top: 23px;
  width: 21px
}

.c-input-check-box__title-underline>input[type=checkbox]+label span:not(.c-heading-custom, .c-heading-required, .c-heading-any), .c-input-check-box__title>input[type=checkbox]+label span:not(.c-heading-custom, .c-heading-required, .c-heading-any) {
  background: none;
  display: block;
  font-size: 1.4rem;
  height: auto;
  line-height: 1.6;
  margin-top: 8px;
  position: static;
  width: 100%
}

.c-input-check-box__title-underline>input[type=checkbox]+label span.c-heading-any, .c-input-check-box__title-underline>input[type=checkbox]+label span.c-heading-custom, .c-input-check-box__title-underline>input[type=checkbox]+label span.c-heading-required, .c-input-check-box__title>input[type=checkbox]+label span.c-heading-any, .c-input-check-box__title>input[type=checkbox]+label span.c-heading-custom, .c-input-check-box__title>input[type=checkbox]+label span.c-heading-required {
  --width: auto;
  --width-sp: auto;
  background-image: none;
  height: auto;
  line-height: 1.5;
  position: absolute;
  right: 20px;
  top: 20px;
  width: var(--width)
}

@media (max-width:767px) {
  .c-input-check-box__title-underline>input[type=checkbox]+label span.c-heading-any, .c-input-check-box__title-underline>input[type=checkbox]+label span.c-heading-custom, .c-input-check-box__title-underline>input[type=checkbox]+label span.c-heading-required, .c-input-check-box__title>input[type=checkbox]+label span.c-heading-any, .c-input-check-box__title>input[type=checkbox]+label span.c-heading-custom, .c-input-check-box__title>input[type=checkbox]+label span.c-heading-required {
    height: auto;
    width: var(--width-sp)
  }
}

.c-input-check-box__title-underline>input[type=checkbox]+label span.c-heading-required, .c-input-check-box__title>input[type=checkbox]+label span.c-heading-required {
  background: #d93e2c;
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 1px 7px 3px;
  vertical-align: 0
}

.c-input-check-box__title-underline>input[type=checkbox]+label span.c-heading-any, .c-input-check-box__title>input[type=checkbox]+label span.c-heading-any {
  background: #f5f5f5;
  border-radius: 5px;
  color: #222;
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 1px 7px 3px;
  vertical-align: 0
}

.c-input-check-box__title>input[type=checkbox]:hover+label {
    border-color: #0072bc;
    background-color: #f2faff;
}

.c-input-check-box__title-underline>input[type=checkbox]:hover+label:before, .c-input-check-box__title>input[type=checkbox]:hover+label:before {
  /*background-color: #0072bc;
  border: #0072bc*/
  background-color: #FFFFFF;
  border: 2px solid #0072bc;
}

.c-input-check-box__title-underline>input[type=checkbox]:hover+label:after, .c-input-check-box__title>input[type=checkbox]:hover+label:after {
  background: url(../img/icon-check.svg) no-repeat 50%/contain;
  content: "";
  display: block;
  height: 8px;
  left: 25px;
  position: absolute;
  top: 30px;
  width: 12px
}
.c-input-check-box__title-underline>input[type=checkbox]:checked+label, .c-input-check-box__title>input[type=checkbox]:checked+label {
  border-color: #0072bc;
  background-color: #f2faff;
}

.c-input-check-box__title-underline>input[type=checkbox]:checked+label:before, .c-input-check-box__title>input[type=checkbox]:checked+label:before {
  background-color: #0072bc;
  border: #0072bc
}

.c-input-check-box__title-underline>input[type=checkbox]:checked+label:after, .c-input-check-box__title>input[type=checkbox]:checked+label:after {
  background: url(../img/icon-check.svg) no-repeat 50%/contain;
  content: "";
  display: block;
  height: 8px;
  left: 25px;
  position: absolute;
  top: 30px;
  width: 12px
}

.c-input-check-box__title.radio_in>input[type=checkbox]:hover+label {
  background-color: #fff;
}

.c-input-check-box__title.radio_in>input[type=checkbox]:checked+label {
  border-color: #0072bc;
  background-color: #fff;
}


.c-input-check-box__title-underline>input[type=checkbox]+label {
  padding: 20px
}

.c-input-check-box__title-underline>input[type=checkbox]+label span.c-input-check-box__title-underline-main {
  border-bottom: 1px solid #0072bc;
  font-weight: 700;
  margin: 0 0 15px;
  padding: 0 0 15px 28px
}

.c-input-check {
  --text-gray-color1: #6c6c6c;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  display: inline-block;
  font-size: 1.6rem;
  /*margin-bottom: var(--margin-bottom);*/
  margin-bottom: 17px;
  position: relative
}

@media (max-width:767px) {
  .c-input-check {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-input-check>input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  opacity: 0;
  position: absolute
}

.c-input-check>input[type=checkbox]+label {
  display: block;
  font-weight: 700;
  line-height: 1.32;
  /*padding: 20px 15px 10px 25px*/
  padding: 20px 15px 10px 30px;
}

.c-input-check>input[type=checkbox]+label:before {
  background: #fff;
  border: 2px solid #adadad;
  border-radius: 3px;
  content: "";
  display: block;
  height: 21px;
  left: 0;
  position: absolute;
  top: 22px;
  width: 21px
}

.c-input-check>input[type=checkbox]+label span {
  background: none;
  display: block;
  margin-top: 8px;
  width: 100%
}

.c-input-check>input[type=checkbox]:hover+label:before {
  background: #fff;
  border: 2px solid #0072bc;
}
/*
.c-input-check>input[type=checkbox]:hover+label:after {
  background: url(../img/icon-check.svg) no-repeat 50%/contain;
  content: "";
  display: block;
  height: 8px;
  left: 5px;
  position: absolute;
  top: 27px;
  width: 12px
}*/
.c-input-check>input[type=checkbox]:checked+label:before {
  background-color: #0072bc;
  border: #0072bc
}

.c-input-check>input[type=checkbox]:checked+label:after {
  background: url(../img/icon-check.svg) no-repeat 50%/contain;
  content: "";
  display: block;
  height: 8px;
  left: 5px;
  position: absolute;
  top: 29px;
  width: 12px
}

.c-calendar {
  --calendar-bg-gray-color: #6c6c6c;
  /*--calendar-bg-suturday: #f2faff;*/
  --calendar-bg-suturday: #bdd7ee;
  /*--calendar-bg-sunday: #ffefea;*/
  --calendar-bg-sunday: #f8cbad;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  margin-bottom: var(--margin-bottom)
}

@media (max-width:767px) {
  .c-calendar {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-calendar__header-list {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 0
}

.c-calendar__header-list li {
  color: #0072bc;
  font-size: 1.5rem;
  position: relative
}

.c-calendar__header-list li a {
  color: #0072bc;
  font-weight: 600;
  padding-bottom: 2px
}

.c-calendar__header-list-prev {
  padding-left: 16px
}

.c-calendar__header-list-prev:before {
  border-right: 2px solid #0072bc;
  border-top: 2px solid #0072bc;
  content: "";
  height: 10px;
  left: 4px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-135deg);
  transform: translateY(-50%) rotate(-135deg);
  width: 10px
}

.c-calendar__header-list-next {
  padding-right: 16px
}

.c-calendar__header-list-next:before {
  border-right: 2px solid #0072bc;
  border-top: 2px solid #0072bc;
  content: "";
  height: 10px;
  position: absolute;
  right: 4px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  width: 10px
}

.c-calendar__content {
  margin-top: 16px;
  margin-bottom: 16px;
  width: 100%;
  /*border-bottom: 3px solid #f5f5f5;*/
}

@media (max-width:767px) {
  .c-calendar__content {
    display: block;
    margin-left: -20px;
    margin-right: -20px;
    width: calc(100% + 40px)
  }
}

.c-calendar__table {
  /*border: 3px solid #f5f5f5;
  border-bottom: 1px solid var(--calendar-bg-gray-color);*/
  border: 1px solid var(--calendar-bg-gray-color);
  font-family: Noto Sans JP, YuGothic, YuGothicM, メイリオ, Meiryo, sans-serif;
  font-weight: 500;
  width: 100%;
  table-layout:fixed;
}

@media (max-width:575px) {
  .c-calendar__table {
    table-layout: fixed
  }
}

.c-calendar__table-caption {
  opacity: 0;
  position: absolute
}

.c-calendar__table-thead {
  font-size: 1.1rem
}

.c-calendar__table-thead-td, .c-calendar__table-thead-th-normal, .c-calendar__table-thead-th-saturday, .c-calendar__table-thead-th-sunday {
  border: 1px solid var(--calendar-bg-gray-color);
  border-bottom: none
}

.c-calendar__table-thead-th-normal, .c-calendar__table-thead-th-saturday, .c-calendar__table-thead-th-sunday {
  background-color: #fff;
  font-weight: 600;
  line-height: 1.364;
  padding: 10px 6px;
  /*width: calc((100% - 186px)/7); 20230518*/
}

@media (max-width:575px) {
  .c-calendar__table-thead-th-normal, .c-calendar__table-thead-th-saturday, .c-calendar__table-thead-th-sunday {
    font-size: 2.2857142857vw;
    /*width: calc((100% - 60px)/7); 20230518*/
  }
}

.c-calendar__table-thead-th-normal:first-child, .c-calendar__table-thead-th-saturday:first-child, .c-calendar__table-thead-th-sunday:first-child {
  background-color: var(--calendar-bg-gray-color);
  color: #fff;
  font-size: 1.3rem;
  width: 186px; /*20230518*/
}

@media (max-width:575px) {
  .c-calendar__table-thead-th-normal:first-child, .c-calendar__table-thead-th-saturday:first-child, .c-calendar__table-thead-th-sunday:first-child {
    font-size: 1rem;
    width: 60px;
  }
}

.c-calendar__table-thead-th-saturday {
  background-color: var(--calendar-bg-suturday)
}

.c-calendar__table-thead-th-sunday {
  background-color: var(--calendar-bg-sunday)
}

.c-calendar__table-thead-td {
  font-weight: 500;
  line-height: 1.364;
  padding: 15px 4px;
  text-align: center
}

.c-calendar__table-tbody-td, .c-calendar__table-tbody-th {
  border: 1px solid var(--calendar-bg-gray-color);
  background-clip: padding-box;
}

.c-calendar__table-tbody-td span, .c-calendar__table-tbody-th span {
  line-height: 1.364
}

.c-calendar__table-tbody-th {
  background-color: #fff;
  font-size: 1.3rem;
  font-weight: 500;
  padding: 15px 6px;
  position: relative
}

@media (max-width:575px) {
  .c-calendar__table-tbody-th {
    font-size: .9rem
  }
}

.c-calendar__table-tbody-th:before {
  background-color: var(--calendar-bg-gray-color);
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: -1px;
  width: 20px
}

.c-calendar__table-tbody-th[headers] {
  padding-left: 26px
}

.c-calendar__table-tbody-th[headers]:before {
  background-color: #fff;
  bottom: -1px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 20px
}

.c-calendar__table-tbody-th[headers]:after {
  background-color: var(--calendar-bg-gray-color);
  bottom: 0;
  content: "";
  height: 100%;
  left: 20px;
  position: absolute;
  width: 1px
}

.c-calendar__table-tbody-td {
  text-align: center;
  vertical-align: middle
}

@media (max-width:575px) {
  .c-calendar__table-tbody-td {
    padding: 0
  }
}

.c-calendar__table-tbody-td[data-calendar-indeterminate] {
  background-color: #f5f5f5
}

.c-calendar__table-tbody-td[data-calendar-ok] picture img {
  vertical-align: top;
  width: 15px
}

.c-calendar__table-tbody-td [data-calendar-radio] {
  margin-bottom: 16px
}

.c-calendar__table-tbody-td [data-calendar-radio] label {
  padding: 8px!important
}

@media (max-width:575px) {
  .c-calendar__table-tbody-td [data-calendar-radio] label:before {
    height: 16px!important;
    width: 16px!important
  }
  .c-calendar__table-tbody-td [data-calendar-radio] label:after {
    height: 8px!important;
    left: 4px!important;
    top: 18px!important;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 8px!important
  }
}

.c-calendar__radio {
  border: 3px solid #f5f5f5;
  /*border-top: none;*/
  padding: 0 15px
}

@media (max-width:767px) {
  .c-calendar__radio {
    margin: 0 -20px;
    width: calc(100% + 40px)
  }
}

.c-calendar__radio>div {
  margin-bottom: 0
}

/* 20230420ここからカレンダー修正 */
.c-calendar__table-tbody-td{
  background-color: #FFFFFF;
}

.c-calendar__table-tbody-td.selection{
  background-color: #f2faff;
  border: 2px solid #0072bc;
}

.c-calendar__table-tbody-td .c-input-radio input[type=radio]:checked+label{
  display: block;
  width: 100%;
  height: 100%;
}

.c-calendar__table-tbody-td .c-input-radio>input[type=radio]:hover+label:before{
  border: 2px solid #0072bc
}
/*
.c-calendar__table-tbody-td .c-input-radio>input[type=radio]:hover+label:after {
  background: #0072bc;
  border-radius: 50%;
  content: "";
  height: 9px;
  left: 5px;
  position: absolute;
  top: 17px;
  -webkit-transition: background-color .3s ease;
  transition: background-color .3s ease;
  width: 9px
}*/


/* 20230420ここまでカレンダー修正 */


.c-accordion {
  --bg-bule-color1: #248cd0;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  margin-bottom: var(--margin-bottom)
}

@media (max-width:767px) {
  .c-accordion {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-accordion summary {
  background: var(--bg-bule-color1);
  color: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  padding: 18px 0 18px 20px
}

.c-accordion__summary {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.34;
  padding-right: 43px;
  position: relative
}

.c-accordion__summary:after, .c-accordion__summary:before {
  background: #fff;
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transition: .4s;
  transition: .4s;
  width: 24px
}

.c-accordion__summary:after {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg)
}

.c-accordion__state {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 7px;
  width: 48px
}

.c-accordion__state:before {
  content: "開く";
  font-size: 1.2rem;
  text-decoration: underline
}

.c-accordion__content {
  border: 2px solid #d0d0d0;
  padding: 18px
}

.c-accordion__content img {
  display: block;
  margin-inline: auto
}

.c-accordion [open] span.c-accordion__summary:after {
  -webkit-transform: rotate(0);
  transform: rotate(0)
}

.c-accordion [open] span.c-accordion__state:before {
  content: "閉じる"
}

.c-flow {
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  margin-bottom: var(--margin-bottom);
  border-bottom: 1px solid #004979;
}

@media (max-width:767px) {
  .c-flow {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-flow__bar {
  background: rgba(0, 114, 188, .3);
  height: 1px;
  position: relative
}

.c-flow__bar:after {
  background: #004979;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0
}

.c-flow__bar[data-percent="0"]:after {
  width: 0
}

.c-flow__bar[data-percent="1"]:after {
  width: 1%
}

.c-flow__bar[data-percent="2"]:after {
  width: 2%
}

.c-flow__bar[data-percent="3"]:after {
  width: 3%
}

.c-flow__bar[data-percent="4"]:after {
  width: 4%
}

.c-flow__bar[data-percent="5"]:after {
  width: 5%
}

.c-flow__bar[data-percent="6"]:after {
  width: 6%
}

.c-flow__bar[data-percent="7"]:after {
  width: 7%
}

.c-flow__bar[data-percent="8"]:after {
  width: 8%
}

.c-flow__bar[data-percent="9"]:after {
  width: 9%
}

.c-flow__bar[data-percent="10"]:after {
  width: 10%
}

.c-flow__bar[data-percent="11"]:after {
  width: 11%
}

.c-flow__bar[data-percent="12"]:after {
  width: 12%
}

.c-flow__bar[data-percent="13"]:after {
  width: 13%
}

.c-flow__bar[data-percent="14"]:after {
  width: 14%
}

.c-flow__bar[data-percent="15"]:after {
  width: 15%
}

.c-flow__bar[data-percent="16"]:after {
  width: 16%
}

.c-flow__bar[data-percent="17"]:after {
  width: 17%
}

.c-flow__bar[data-percent="18"]:after {
  width: 18%
}

.c-flow__bar[data-percent="19"]:after {
  width: 19%
}

.c-flow__bar[data-percent="20"]:after {
  width: 20%
}

.c-flow__bar[data-percent="21"]:after {
  width: 21%
}

.c-flow__bar[data-percent="22"]:after {
  width: 22%
}

.c-flow__bar[data-percent="23"]:after {
  width: 23%
}

.c-flow__bar[data-percent="24"]:after {
  width: 24%
}

.c-flow__bar[data-percent="25"]:after {
  width: 25%
}

.c-flow__bar[data-percent="26"]:after {
  width: 26%
}

.c-flow__bar[data-percent="27"]:after {
  width: 27%
}

.c-flow__bar[data-percent="28"]:after {
  width: 28%
}

.c-flow__bar[data-percent="29"]:after {
  width: 29%
}

.c-flow__bar[data-percent="30"]:after {
  width: 30%
}

.c-flow__bar[data-percent="31"]:after {
  width: 31%
}

.c-flow__bar[data-percent="32"]:after {
  width: 32%
}

.c-flow__bar[data-percent="33"]:after {
  width: 33%
}

.c-flow__bar[data-percent="34"]:after {
  width: 34%
}

.c-flow__bar[data-percent="35"]:after {
  width: 35%
}

.c-flow__bar[data-percent="36"]:after {
  width: 36%
}

.c-flow__bar[data-percent="37"]:after {
  width: 37%
}

.c-flow__bar[data-percent="38"]:after {
  width: 38%
}

.c-flow__bar[data-percent="39"]:after {
  width: 39%
}

.c-flow__bar[data-percent="40"]:after {
  width: 40%
}

.c-flow__bar[data-percent="41"]:after {
  width: 41%
}

.c-flow__bar[data-percent="42"]:after {
  width: 42%
}

.c-flow__bar[data-percent="43"]:after {
  width: 43%
}

.c-flow__bar[data-percent="44"]:after {
  width: 44%
}

.c-flow__bar[data-percent="45"]:after {
  width: 45%
}

.c-flow__bar[data-percent="46"]:after {
  width: 46%
}

.c-flow__bar[data-percent="47"]:after {
  width: 47%
}

.c-flow__bar[data-percent="48"]:after {
  width: 48%
}

.c-flow__bar[data-percent="49"]:after {
  width: 49%
}

.c-flow__bar[data-percent="50"]:after {
  width: 50%
}

.c-flow__bar[data-percent="51"]:after {
  width: 51%
}

.c-flow__bar[data-percent="52"]:after {
  width: 52%
}

.c-flow__bar[data-percent="53"]:after {
  width: 53%
}

.c-flow__bar[data-percent="54"]:after {
  width: 54%
}

.c-flow__bar[data-percent="55"]:after {
  width: 55%
}

.c-flow__bar[data-percent="56"]:after {
  width: 56%
}

.c-flow__bar[data-percent="57"]:after {
  width: 57%
}

.c-flow__bar[data-percent="58"]:after {
  width: 58%
}

.c-flow__bar[data-percent="59"]:after {
  width: 59%
}

.c-flow__bar[data-percent="60"]:after {
  width: 60%
}

.c-flow__bar[data-percent="61"]:after {
  width: 61%
}

.c-flow__bar[data-percent="62"]:after {
  width: 62%
}

.c-flow__bar[data-percent="63"]:after {
  width: 63%
}

.c-flow__bar[data-percent="64"]:after {
  width: 64%
}

.c-flow__bar[data-percent="65"]:after {
  width: 65%
}

.c-flow__bar[data-percent="66"]:after {
  width: 66%
}

.c-flow__bar[data-percent="67"]:after {
  width: 67%
}

.c-flow__bar[data-percent="68"]:after {
  width: 68%
}

.c-flow__bar[data-percent="69"]:after {
  width: 69%
}

.c-flow__bar[data-percent="70"]:after {
  width: 70%
}

.c-flow__bar[data-percent="71"]:after {
  width: 71%
}

.c-flow__bar[data-percent="72"]:after {
  width: 72%
}

.c-flow__bar[data-percent="73"]:after {
  width: 73%
}

.c-flow__bar[data-percent="74"]:after {
  width: 74%
}

.c-flow__bar[data-percent="75"]:after {
  width: 75%
}

.c-flow__bar[data-percent="76"]:after {
  width: 76%
}

.c-flow__bar[data-percent="77"]:after {
  width: 77%
}

.c-flow__bar[data-percent="78"]:after {
  width: 78%
}

.c-flow__bar[data-percent="79"]:after {
  width: 79%
}

.c-flow__bar[data-percent="80"]:after {
  width: 80%
}

.c-flow__bar[data-percent="81"]:after {
  width: 81%
}

.c-flow__bar[data-percent="82"]:after {
  width: 82%
}

.c-flow__bar[data-percent="83"]:after {
  width: 83%
}

.c-flow__bar[data-percent="84"]:after {
  width: 84%
}

.c-flow__bar[data-percent="85"]:after {
  width: 85%
}

.c-flow__bar[data-percent="86"]:after {
  width: 86%
}

.c-flow__bar[data-percent="87"]:after {
  width: 87%
}

.c-flow__bar[data-percent="88"]:after {
  width: 88%
}

.c-flow__bar[data-percent="89"]:after {
  width: 89%
}

.c-flow__bar[data-percent="90"]:after {
  width: 90%
}

.c-flow__bar[data-percent="91"]:after {
  width: 91%
}

.c-flow__bar[data-percent="92"]:after {
  width: 92%
}

.c-flow__bar[data-percent="93"]:after {
  width: 93%
}

.c-flow__bar[data-percent="94"]:after {
  width: 94%
}

.c-flow__bar[data-percent="95"]:after {
  width: 95%
}

.c-flow__bar[data-percent="96"]:after {
  width: 96%
}

.c-flow__bar[data-percent="97"]:after {
  width: 97%
}

.c-flow__bar[data-percent="98"]:after {
  width: 98%
}

.c-flow__bar[data-percent="99"]:after {
  width: 99%
}

.c-flow__bar[data-percent="100"]:after {
  width: 100%
}

.c-flow__step {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  background: #f2faff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  padding: 10px
}

.c-flow__step-current {
  color: #004979;
  font-size: 1rem
}

.c-flow__step-current-num {
  font-size: 1.6rem;
  font-weight: 700;
  margin-left: 3px
}

.c-flow__step-current-title {
  font-size: 1.4rem;
  font-weight: 500;
  margin-left: 7px
}

@media (max-width: 365px) {
  .c-flow__step-current-num {
    font-size: 1.4rem;
  }

  .c-flow__step-current-title {
    font-size: 1.2rem;
  }
}

@media (max-width: 340px) {
  .c-flow__step-current-num:before {
  content: '\A';
  white-space: pre;
  }
}

.c-flow__step-after {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: flex-end
}

.c-flow__step-after li {
  color: rgba(0, 114, 188, .3);
  font-size: 1.4rem;
  font-weight: 700;
  /*padding-left: 32px;*/
  padding-left: 24px;
  position: relative;
}

.c-flow__step-after li:first-child {
  padding-left: 0;
}

@media (max-width: 365px) {
  .c-flow__step-after li {
    font-size: 1.1rem;
    line-height: 200%;
  }
}

@media (max-width: 340px) {
  .c-flow__step-after li {
    font-size: 1.1rem;
    line-height: 400%;
  }
}

.c-flow__step-after li:first-child:before {
  display: none;
}

.c-flow__step-after li:before {
  border: solid rgba(0, 114, 188, .3);
  border-width: 2px 2px 0 0;
  content: "";
  display: block;
  height: 7px;
  left: 9px;
  position: absolute;
  top: calc(50% - 3px);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 7px
}

/* ステップ表示テキスト　PCのみ */
.c-flow__step-after li span.c-flow__step-after_01,
.c-flow__step-after li span.c-flow__step-after_03{
  display: none;
}

.c-flow__step-after li.active span.c-flow__step-after_01,
.c-flow__step-after li.active span.c-flow__step-after_02,
.c-flow__step-after li.active span.c-flow__step-after_03{
  display: inline-block;
  color: #004979;
}

.c-flow__step-after li span.c-flow__step-after_02{
  font-weight: 700;
  color: #0072BC;
}

.c-flow__step-after li span.c-flow__step-after_03{

}

.c-flow__step-after li.active span.c-flow__step-after_01{
  font-size: 12px;
}

.c-flow__step-after li.active span.c-flow__step-after_02{
  font-size: 15px;
  font-weight: 700;
  color: #004979;
  margin: 0 0.5rem;
}

.c-flow__step-after li.active span.c-flow__step-after_03{
  font-size: 15px;
}

/*
.c-flow__step-after span{
  display: inline-block;
  font-weight: 800;
  margin-left: 0.25rem;
}

@media (min-width:635px) {
  .c-flow__step-after span{
    display: inline-block;
    font-weight: 800;
    margin-left: 0.25rem;
  }
}*/

.c-flow__progress {
  border: 2px solid #004979;
  min-height: 45px;
  overflow: hidden
}

.c-flow__progress, .c-flow__progress>li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative
}

.c-flow__progress>li {
  -webkit-box-flex: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  color: #004979;
  -ms-flex: 1;
  flex: 1;
  font-size: 1.2rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.5;
  padding: 4px 0 4px 18px;
  text-align: center;
  white-space: nowrap;
  height: 45px;
}

.c-flow__progress>li:first-of-type {
  /*padding-left: 10px;*/
  padding-left: 5px;
  padding-right: 5px;
}

.c-flow__progress>li:last-of-type {
  /*padding-right: 10px;*/
  padding-right: 5px;
}

.c-flow__progress>li:not(:last-of-type):after, .c-flow__progress>li:not(:last-of-type):before {
  border-color: transparent transparent transparent #004979;
  border-style: solid;
  border-width: 26px 0 26px 18px;
  content: "";
  display: block;
  height: 0;
  position: absolute;
  /*right: -18px;*/
  right: -17px;
  /*top: -4px;*/
  top: -3px;

  width: 0;
  z-index: 10
}

.c-flow__progress>li:not(:last-of-type):after {
  border-color: transparent transparent transparent #fff;
  right: -15px
}

.c-flow__progress>li[data-current] {
  background: #004979;
  color: #fff
}

.c-flow__progress>li[data-current]:after {
  display: none
}

.c-modal {
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  margin-bottom: var(--margin-bottom);
  position: relative
}

@media (max-width:767px) {
  .c-modal {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-modal dialog {
  background: #fff;
  border: none;
  overflow: inherit;
  position: fixed;
  top: 0;
  width: 100%;
  max-width: 700px;
}

@media (max-width:767px) {
  .c-modal dialog {
    padding: 0;
    width: 100%;
    max-width: calc(100% - 55px);
  }
}

.c-modal dialog::-webkit-backdrop {
  background: rgba(34, 34, 34, .8);
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 2
}

.c-modal dialog::backdrop {
  background: rgba(34, 34, 34, .8);
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 2
}

.c-modal dialogopen {
  left: 0;
  position: fixed;
  top: 0
}

.c-modal dialog>.c-button-close {
  margin-inline: auto
}

.c-modal dialog p {
  line-height: 1.6
}

.c-modal dialog p+p {
  margin-top: .5em
}

.c-modal__inner {
  background: #fff;
  max-height: 70vh;
  overflow-y: auto;
  padding: 20px;
}

@media (max-width:767px) {
  .c-modal__inner {
    /*max-height: 55vh;*/
    max-height: 80vh;
    padding: 20px
  }
}

.c-modal__close-outside {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  cursor: pointer;
  height: 24px;
  position: absolute;
  right: 10px;
  top: -41px;
  width: 24px
}

.c-modal__close-outside:after, .c-modal__close-outside:before {
  border-bottom: 2px solid #fff;
  content: "";
  display: block;
  position: absolute;
  right: calc(50% - 17px);
  top: calc(50% - 1px);
  width: 34px
}

.c-modal__close-outside:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.c-modal__close-outside:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.c-input-pulldown {
  --text-gray-color1: #6c6c6c;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  border-radius: 8px;
  margin-bottom: var(--margin-bottom);
  position: relative
}

@media (max-width:767px) {
  .c-input-pulldown {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-input-pulldown select {
  border: 2px solid #0072bc;
  border-radius: 8px;
  font-weight: 500;
  line-height: 1;
  padding: 16px 10px;
  width: 100%
}

.c-input-pulldown select:disabled {
  border-color: #d0d0d0;
  color: #adadad;
  opacity: 1
}

.c-input-pulldown select:disabled+.c-input-pulldown__icon {
  background-color: #d0d0d0
}

.c-input-pulldown select:disabled+.c-input-pulldown__icon span:after {
  border-color: #adadad
}

.c-input-pulldown__icon {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #0072bc;
  border-radius: 0 10px 10px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  justify-content: center;
  max-width: 38px;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  width: 10.0260416667vw
}

.c-input-pulldown__icon span {
  display: block;
  height: 100%;
  position: relative;
  width: 100%
}

.c-input-pulldown__icon span:after {
  border: 2px solid #fff;
  border-bottom: 0;
  border-left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  content: "";
  display: inline-block;
  height: 11px;
  left: 50%;
  line-height: 1;
  position: absolute;
  top: calc(50% - 2px);
  -webkit-transform: translateY(-50%) translateX(-50%) rotate(-225deg);
  transform: translateY(-50%) translateX(-50%) rotate(-225deg);
  vertical-align: middle;
  width: 11px
}

.c-input-radio-box {
  --text-gray-color1: #6c6c6c;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  margin-bottom: var(--margin-bottom)
}

@media (max-width:767px) {
  .c-input-radio-box {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-input-radio-box__title {
  font-size: 1.6rem;
  position: relative
}

.c-input-radio-box__title>input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  opacity: 0;
  position: absolute
}

.c-input-radio-box__title>input[type=radio]+label {
  border: 1px solid #adadad;
  border-radius: 8px;
  display: block;
  font-weight: 700;
  line-height: 1.32;
  padding: 20px 20px 20px 48px;
  position: relative;
	background-color: #fff;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}

.c-input-radio-box__title>input[type=radio]+label:before {
  border: 2px solid #adadad;
  border-radius: 50%;
  content: "";
  height: 19px;
  left: 20px;
  position: absolute;
  top: 24px;
  -webkit-transition: border-color .3s ease;
  transition: border-color .3s ease;
  width: 19px
}
.c-input-radio-box__title:hover>input[type=radio]+label{
	border-color: #0072bc;
	background-color: #f2faff;
}
.c-input-radio-box__title:hover>input[type=radio]+label:before{
	border: 2px solid #0072bc;
}
/*
.c-input-radio-box__title:hover>input[type=radio]+label:after{
	background: #0072bc;
	border-radius: 50%;
    content: "";
    height: 9px;
    left: 25px;
    position: absolute;
    top: 27px;
	-webkit-transition: background-color .3s ease;
    transition: background-color .3s ease;
    width: 9px;
}
*/
.c-input-radio-box__title.disabled:hover>input[type=radio]+label:before{
	 border: 2px solid #adadad;
}
.c-input-radio-box__title.disabled:hover>input[type=radio]+label:after{
    background: #EEEEEE;
}
@media (max-width:767px) {
  .c-input-radio-box__title>input[type=radio]+label:before {
    top: 22px
  }
}

.c-input-radio-box__title>input[type=radio]+label span:not(.c-heading-custom, .c-heading-required, .c-heading-any) {
  background: none;
  display: block;
  font-size: 1.4rem;
  height: auto;
  line-height: 1.6;
  margin-top: 8px;
  position: static;
  width: 100%
}

.c-input-radio-box__title>input[type=radio]+label span.c-heading-any, .c-input-radio-box__title>input[type=radio]+label span.c-heading-custom, .c-input-radio-box__title>input[type=radio]+label span.c-heading-required {
  --width: auto;
  --width-sp: auto;
  background-image: none;
  height: auto;
  line-height: 1.5;
  margin-right: 0;
  position: absolute;
  right: 20px;
  top: 15px;
  width: var(--width);
	background-color: #fff;
}

@media (max-width:767px) {
  .c-input-radio-box__title>input[type=radio]+label span.c-heading-any, .c-input-radio-box__title>input[type=radio]+label span.c-heading-custom, .c-input-radio-box__title>input[type=radio]+label span.c-heading-required {
    height: auto;
    width: var(--width-sp)
  }
}

.c-input-radio-box__title>input[type=radio]+label span.c-heading-required {
  background: #d93e2c;
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 1px 7px 3px;
  vertical-align: 0
}

.c-input-radio-box__title>input[type=radio]+label span.c-heading-any {
  background: #f5f5f5;
  border-radius: 5px;
  color: #222;
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 1px 7px 3px;
  vertical-align: 0
}

.c-input-radio-box__title>input[type=radio]:checked+label {
  border-color: #0072bc;
  background-color: #f2faff;
}
.c-input-radio-box__title.check_in>input[type=radio]:checked+label {
  border-color: #0072bc;
background-color: #fff;
}

.c-input-radio-box__title>input[type=radio]:checked+label:before {
  border: 2px solid #0072bc
}

.c-input-radio-box__title>input[type=radio]:checked+label:after {
  background: #0072bc;
  border-radius: 50%;
  content: "";
  height: 9px;
  left: 25px;
  position: absolute;
  top: 29px;
  -webkit-transition: background-color .3s ease;
  transition: background-color .3s ease;
  width: 9px
}

@media (max-width:767px) {
  .c-input-radio-box__title>input[type=radio]:checked+label:after {
    top: 27px
  }
}

.c-input-radio-open {
  --base-white-color: #fff;
  --border-active-color: #0072bc;
  --border-gray-color: #adadad;
  --border-gray-color2: #d0d0d0;
  --text-gray-color1: #6c6c6c;
  --bg-gray-color1: #f5f5f5;
  --margin-bottom: 15px;
  --margin-bottom-sp: 15px;
  border: 1px solid var(--border-gray-color);
  border-radius: 8px;
  margin-bottom: var(--margin-bottom);
  overflow: hidden;
  position: relative;
background-color: #fff;
}

@media (max-width:767px) {
  .c-input-radio-open {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-input-radio-open:hover{
	border: 1px solid var(--border-active-color);
  background-color: #f2faff;
  /*z-index: 100;*/
}


.c-input-radio-open.hgw_lan{
  border-color: #EEEEEE;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}

.c-input-radio-open.hgw_lan:hover{
  border: 1px solid var(--border-active-color);
  background-color: #f2faff;
  z-index: 100;
  border-left: none;
  border-right: none;
  border-radius: 0;
}
.c-input-radio-open[data-open=true] {
  border: 1px solid var(--border-active-color);
    background-color: #f2faff;
    /*z-index: 100;*/
}

.c-input-radio-open.hgw_lan[data-open=true] {
    z-index: 100;
}

.c-input-radio-open_click[data-open=true] {
    background-color: #fff;
}

.c-input-radio-open[data-open=true] .c-input-radio-open__body {
  display: block
}

.c-input-radio-open[data-open=true] .c-input-radio-open__em-description {
  border-color:1px solid #0072bc;
}

.c-input-radio-open[data-open=false] .c-input-radio-open__body {
  display: none
}

.c-input-radio-open[data-open=false][data-open-type=checkbox] .c-input-radio-open__body {
  display: block
}

.c-input-radio-open [data-fixed-question=true] label {
  padding-right: 0!important
}

.c-input-radio-open__title {
  /*border-bottom: 2px solid var(--border-active-color);*/
  border-bottom: 1px solid var(--border-active-color);
  font-size: 1.6rem;
  margin: 0 20px;
  position: relative
}
.op_include .c-input-radio-open__title{
  border-bottom: none;
}

.c-input-radio-open__title-inner {
  margin-bottom: 20px
}

.c-input-radio-open__title>input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  opacity: 0;
  position: absolute
}

.c-input-radio-open__title>input[type=radio]+label {
  display: block;
  font-weight: 700;
  line-height: 1.32;
  padding: 15px 15px 15px 25px
}

.c-input-radio-open__title>input[type=radio]+label:before {
  border: 2px solid var(--border-gray-color);
  border-radius: 50%;
  content: "";
  height: 19px;
  left: 0;
  position: absolute;
  top: 17px;
  -webkit-transition: border-color .3s ease;
  transition: border-color .3s ease;
  width: 19px
}

@media (max-width:767px) {
  .c-input-radio-open__title>input[type=radio]+label:before {
    top: 15px
  }
}

.c-input-radio-open__title>input[type=radio]+label span:not(.c-heading-custom, .c-heading-required, .c-heading-any) {
  background: none;
  display: block;
  height: 100%;
  margin-top: 3px;
  width: 100%;
font-size: 1.4rem;
}

.c-input-radio-open__title>input[type=radio]+label span.c-heading-any, .c-input-radio-open__title>input[type=radio]+label span.c-heading-custom, .c-input-radio-open__title>input[type=radio]+label span.c-heading-required {
  --width: auto;
  --width-sp: auto;
  background-image: none;
  height: auto;
  line-height: 1.5;
  margin-right: 0;
  position: absolute;
  right: 0;
  top: 10px;
  width: var(--width)
}

@media (max-width:767px) {
  .c-input-radio-open__title>input[type=radio]+label span.c-heading-any, .c-input-radio-open__title>input[type=radio]+label span.c-heading-custom, .c-input-radio-open__title>input[type=radio]+label span.c-heading-required {
    height: auto;
    width: var(--width-sp)
  }
}

.c-input-radio-open__title>input[type=radio]+label span.c-heading-required {
  background: #d93e2c;
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 1px 7px 3px;
  vertical-align: 0
}

.c-input-radio-open__title>input[type=radio]+label span.c-heading-any {
  background: #f5f5f5;
  border-radius: 5px;
  color: #222;
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 1px 7px 3px;
  vertical-align: 0
}
.c-input-radio-open__title>input[type=radio]:hover+label:before {
  border: 2px solid var(--border-active-color)
}
/*
.c-input-radio-open__title>input[type=radio]:hover+label:after {
  background: var(--border-active-color);
  border-radius: 50%;
  content: "";
  height: 9px;
  left: 5px;
  position: absolute;
  top: 22px;
  -webkit-transition: background-color .3s ease;
  transition: background-color .3s ease;
  width: 9px
}
*/
.c-input-radio-open__title>input[type=radio]:checked+label:before {
  border: 2px solid var(--border-active-color)
}

.c-input-radio-open__title>input[type=radio]:checked+label:after {
  background: var(--border-active-color);
  border-radius: 50%;
  content: "";
  height: 9px;
  left: 5px;
  position: absolute;
  top: 22px;
  -webkit-transition: background-color .3s ease;
  transition: background-color .3s ease;
  width: 9px
}

@media (max-width:767px) {
  .c-input-radio-open__title>input[type=radio]:checked+label:after {
    top: 20px
  }
}

.c-input-radio-open__title>input[type=radio]:focus-visible+label {
  outline: 2px solid #56bcff
}

.c-input-radio-open__title-border-none {
  border-bottom: none;

}

.c-input-radio-open__title .c-input-check {
  width: 100%
}



.c-input-radio-open__body {
  margin-top: 15px;
  padding: 0 20px 20px
}
.op_include .c-input-radio-open__body {
  margin-top: 0px;
}

.c-input-radio-open__body-mt-none {
  margin-top: 0
}

.c-input-radio-open__sum {
  background-color: #0072bc;
  font-size: 1.5rem;
  margin: 32px -20px -20px;
  padding: 16px 20px 17px;
    text-align: right;
    color: #fff;
}

.c-input-radio-open__sum-text, .c-input-radio-open__textbox label {
  font-weight: 500
}

.c-input-radio-open__textbox input {
  border: 2px solid var(--border-gray-color2);
  border-radius: 8px;
  margin-top: 10px;
  padding: 8px 16px;
  width: 100%
}

.c-input-radio-open__textbox-cation {
  color: var(--text-gray-color1);
  font-size: 1.5rem;
  margin-top: 10px
}

.c-input-radio-open__sub-title {
  border-top: 1px solid var(--border-gray-color2);
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 20px;
  padding-top: 20px
}

.c-input-radio-open__em-description {
  font-size: 1.4rem;
  line-height: 1.6;
  padding-top: 20px
}

.c-input-radio-open__em-description em {
  font-weight: 700
}

.c-input-radio-open__option {
  margin-top: 20px
}
.op_include .c-input-radio-open__option {
  margin-top: 0px;
}

.c-input-radio-open__option-container {
  position: relative
}

.c-input-radio-open__option-container>input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  opacity: 0;
  position: absolute
}

.c-input-radio-open__option-container>input[type=radio]+label {
  border: 2px solid var(--border-gray-color);
  border-radius: 10px;
  display: block;
  font-weight: 700;
  line-height: 1.32;
  padding: 20px 20px 20px 50px
}

.c-input-radio-open__option-container>input[type=radio]+label:before {
  border: 2px solid var(--border-gray-color);
  border-radius: 50%;
  content: "";
  height: 19px;
  left: 25px;
  position: absolute;
  top: 24px;
  -webkit-transition: border-color .3s ease;
  transition: border-color .3s ease;
  width: 19px
}

@media (max-width:767px) {
  .c-input-radio-open__option-container>input[type=radio]+label:before {
    top: 21px
  }
}

.c-input-radio-open__option-container>input[type=radio]+label span {
  background: none;
  display: block;
  margin-top: 8px;
  width: 100%
}

.c-input-radio-open__option-container>input[type=radio]:checked+label {
  border-color: var(--border-active-color)
}

.c-input-radio-open__option-container>input[type=radio]:checked+label:before {
  border: 2px solid var(--border-active-color)
}

.c-input-radio-open__option-container>input[type=radio]:checked+label:after {
  background: var(--border-active-color);
  border-radius: 50%;
  content: "";
  height: 9px;
  left: 30px;
  position: absolute;
  top: 29px;
  -webkit-transition: background-color .3s ease;
  transition: background-color .3s ease;
  width: 9px
}

@media (max-width:767px) {
  .c-input-radio-open__option-container>input[type=radio]:checked+label:after {
    top: 26px
  }
}

.c-input-radio-open__option-container>input[type=radio]:focus-visible+label {
  outline: 2px solid #56bcff
}

.c-input-radio-open__option-container+.c-input-radio-open__option-container {
  margin-top: 15px
}

.c-input-radio-open__option-text {
  font-size: 1.4rem;
  line-height: 1.6;
  margin-top: 20px
}

.c-input-radio-open__pulldown {
  border-radius: 8px;
  overflow: hidden;
  position: relative
}

.c-input-radio-open__pulldown select {
  border: 2px solid var(--border-active-color);
  border-radius: 8px;
  font-weight: 500;
  line-height: 1;
  padding: 16px 10px;
  width: 100%
}

.c-input-radio-open__pulldown select:disabled {
  border-color: var(--border-gray-color2);
  color: var(--border-gray-color);
  opacity: 1
}

.c-input-radio-open__pulldown select:disabled+.c-input-radio-open__pulldown-icon {
  background-color: var(--border-gray-color2)
}

.c-input-radio-open__pulldown select:disabled+.c-input-radio-open__pulldown-icon span:after {
  border-color: var(--border-gray-color)
}

.c-input-radio-open__pulldown-icon {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: var(--border-active-color);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  justify-content: center;
  max-width: 38px;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  width: 10.0260416667vw
}

.c-input-radio-open__pulldown-icon span {
  display: block;
  height: 100%;
  position: relative;
  width: 100%
}

.c-input-radio-open__pulldown-icon span:after {
  border: 2px solid var(--base-white-color);
  border-bottom: 0;
  border-left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  content: "";
  display: inline-block;
  height: 11px;
  left: 50%;
  line-height: 1;
  position: absolute;
  top: calc(50% - 2px);
  -webkit-transform: translateY(-50%) translateX(-50%) rotate(-225deg);
  transform: translateY(-50%) translateX(-50%) rotate(-225deg);
  vertical-align: middle;
  width: 11px
}

.c-radio-box-list {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
      margin-bottom: 30px;
  padding: 0
}

.c-radio-box-list__item {
  -ms-flex-negative: 0;
  border-top: 1px solid #EEEEEE;
  border-bottom: 1px solid #EEEEEE;
  flex-shrink: 0;
  overflow: hidden;
  padding: 12px 0 12px 10px;
  position: relative;
  -webkit-transition: border-color .3s ease;
  transition: border-color .3s ease;
  background-color: #FFFFFF;
  margin-top: -1px;
	
}
.c-radio-box-list__item.text{
	height: 70px;
	border-bottom: 1px solid #EEEEEE;
}

.c-radio-box-list__item.text .c-radio-box-list__item-radio label{
  line-height: 41px;
}

@media (max-width:767px) {
  .c-radio-box-list__item {
    -ms-flex-negative: 0;
    border-top: 1px solid #EEEEEE;
    border-bottom: 1px solid #EEEEEE;
    flex-shrink: 0;
    overflow: hidden;
    padding: 12px 0px 13px 10px;
    position: relative;
    -webkit-transition: border-color .3s ease;
    transition: border-color .3s ease;
  }
}
.c-radio-box-list__item:hover{
  border-color: #0072bc;
  background-color: #f2faff;
  z-index: 1;
}
.c-radio-box-list__item-radio:hover>input[type=radio]+label:before {
  border: 2px solid #0072bc;
}
/*
.c-radio-box-list__item-radio:hover>input[type=radio]+label:after {
  background: #0072bc;
  border-radius: 50%;
  content: "";
  height: 11px;
  left: 50%;
  position: absolute;
  top: calc(50% - 5px);
  left: 20px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transition: background-color .3s ease;
  transition: background-color .3s ease;
  width: 11px
}
*/
.c-radio-box-list__item[data-checked] {
  border-color: #0072bc;
  background-color: #f2faff;
  z-index: 1;
}


.c-radio-box-list__item-radio {
  padding-left:8px;
}

.c-radio-box-list__item-radio>input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  opacity: 0;
  position: absolute
}

.c-radio-box-list__item-radio>input[type=radio]:checked+label:before {
  border: 2px solid #0072bc
}

.c-radio-box-list__item-radio>input[type=radio]:checked+label:after {
  background: #0072bc;
  border-radius: 50%;
  content: "";
  height: 11px;
  left: 50%;
  position: absolute;
  /*top: 32px;*/
  top: calc(50% - 5px);
  left: 20px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transition: background-color .3s ease;
  transition: background-color .3s ease;
  width: 11px
}

.c-radio-box-list__item-radio-icon{
  width: 120px;
  height: 41px;
}

.c-radio-box-list__item-radio-icon img{
  vertical-align: middle;
  width: 80%;
  height: auto;
}

.p_name{
  width: 220px;
  font-weight: bold;
}

.p_price{
  width:250px;
}

@media (max-width:767px) {
  .c-radio-box-list__item-radio>input[type=radio]:checked+label:after {
    top: 45px;
    top: calc(50% - 5px);
  }

  .c-radio-box-list__item-radio-icon{
    height: auto;
  }
}

.c-radio-box-list__item-radio>input[type=radio]+label:before {
  border: 2px solid #adadad;
  border-radius: 50%;
  content: "";
  height: 21px;
  position: absolute;
  /*top: 27px;*/
  top: calc(50% - 10px);
  left: 20px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transition: border-color .3s ease;
  transition: border-color .3s ease;
  width: 21px
}

@media (max-width:767px) {
  .c-radio-box-list__item-radio>input[type=radio]+label:before {
    /*top: 40px;*/
    top: calc(50% - 10px);
  }
}

.c-radio-box-list__item-radio>label {
  display: table;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.333;
  text-align: left;
  width: 100%;
  min-height: 41px;
  padding-left: 22px;
  vertical-align: middle;
}

.c-radio-box-list__item-radio>label span{

}

.c-radio-box-list__item-radio>label ul li{
	display: table-cell;
    vertical-align: middle;
}

.c-radio-box-list__item-radio>label picture img {
  font-family: "object-fit:contain";
  max-height: 38px;
  -o-object-fit: contain;
  object-fit: contain;
vertical-align: middle;
}

.c-radio-box-list__item-radio span {
  background: none!important;
  display: -webkit-box!important;
  display: -ms-flexbox!important;
  display: flex!important;
  height: 38px!important;
  position: static!important;
  width: 100%!important;

}

.c-radio-box-list__item-radio span img {
  max-height: 38px;
  max-width: 100px;
  vertical-align: top
}

.c-radio-box-list__item-radio span img[data-service=AsahiNet] {
  height: 38px;
  width: 100px
}

.c-radio-box-list__item-radio span img[data-service="BB.excite"] {
  height: 21.5px;
  width: 75.5px
}

.c-radio-box-list__item-radio span img[data-service=OCN] {
  height: 25.5px;
  width: 67.5px
}

.c-radio-box-list__item-radio span img[data-service=plala] {
  height: 24px;
  width: 75.5px
}

.c-radio-box-list__item-radio span img[data-service=so-net] {
  height: 31.5px;
  width: 83px
}

.c-radio-box-list__item-radio span img[data-service=DTI] {
  height: 21.5px;
  width: 75.5px
}

.c-radio-box-list__item-radio span img[data-service="nifty hikari"] {
  height: 17.5px;
  width: 70px
}

.c-radio-box-list__item-radio span img[data-service=hi-ho] {
  height: 11.5px;
  width: 72px
}

.c-radio-box-list__item-price {
  color: #0072bc;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center
}

.c-radio-box-list__item-tag {
  background: #0072bc;
  border-radius: 5px;
  color: #fff;
  display: table;
  font-size: 1.3rem;
  line-height: 1.5;
  margin-left: auto;
  margin-right: auto;
  margin-top: 3px;
  padding: 2px 5px;
  text-align: center
}

.c-radio-box-list__item-annotation {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: 12px
}

.c-tabs {
  --tabs-color-dark: #000;
  --tabs-btn-color-white: #fff;
  --tabs-btn-color-primary: #0072bc;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  margin-bottom: var(--margin-bottom)
}

@media (max-width:767px) {
  .c-tabs {
    margin-bottom: var(--margin-bottom-sp)
  }
.c-radio-box-list__item-radio>label ul li{
	display:block;
}
	.p_name {
    width: 180px;
    font-weight: bold;
}
	.p_price{    position: absolute;
    /*top: 22px;*/
    top: 50%;
    right: 0px;
    width: 110px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
	.c-radio-box-list__item-annotation{
		margin-top: 0px;
		width: 180px;
	}
}


.c-tabs__btns {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end
}

.c-tabs__btn, .c-tabs__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.c-tabs__btn {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--tabs-btn-color-white);
  border: 2px solid var(--tabs-btn-color-primary);
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  color: var(--tabs-btn-color-primary);
  cursor: pointer;
  font-size: 1.4rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.286;
  padding: 8px 20px
}

.c-tabs__btn[aria-selected=true] {
  background-color: var(--tabs-btn-color-primary);
  color: var(--tabs-btn-color-white)
}

.c-tabs__body {
  -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);
  padding: 20px
}

.c-input-radio {
  --text-gray-color1: #6c6c6c;
  --margin-bottom: 15px;
  --margin-bottom-sp: 15px;
  display: inline-block;
  font-size: 1.6rem;
  margin-bottom: var(--margin-bottom);
  position: relative
}

@media (max-width:767px) {
  .c-input-radio {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-input-radio>input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  opacity: 0;
  position: absolute
}

.c-input-radio>input[type=radio]+label {
  display: block;
  font-weight: 700;
  line-height: 1.32;
  padding: 10px 15px 10px 25px
}

.c-input-radio>input[type=radio]+label:before {
  border: 2px solid #adadad;
  border-radius: 50%;
  content: "";
  height: 19px;
  left: 0;
  position: absolute;
  top: 12px;
  -webkit-transition: border-color .3s ease;
  transition: border-color .3s ease;
  width: 19px
}

@media (max-width:767px) {
  .c-input-radio>input[type=radio]+label:before {
    top: 10px
  }
}

.c-input-radio>input[type=radio]+label span {
  background: none;
  display: block;
  margin-top: 8px;
  width: 100%
}

.c-input-radio>input[type=radio]:checked+label:before {
  border: 2px solid #0072bc
}

.c-input-radio>input[type=radio]:checked+label:after {
  background: #0072bc;
  border-radius: 50%;
  content: "";
  height: 9px;
  left: 5px;
  position: absolute;
  top: 17px;
  -webkit-transition: background-color .3s ease;
  transition: background-color .3s ease;
  width: 9px
}

@media (max-width:767px) {
  .c-input-radio>input[type=radio]:checked+label:after {
    top: 15px
  }
}

.c-title-page {
  font-size: 1.6rem;
  margin: 60px auto;
  max-width: 1240px;
  padding-left: 20px;
  padding-right: 20px;
  width: 100%
}

.c-title-page h1 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0
}

@media (max-width:767px) {
  .c-title-page h1 {
    text-align: center
  }
}

.c-pagination {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  clear: both;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.8rem;
  justify-content: center;
  line-height: 4rem;
  margin: 20px 0 0;
  overflow: hidden;
  text-align: center
}

@media (max-width:576px) {
  .c-pagination {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

.c-pagination a {
  background: none;
  color: currentcolor;
  font-size: .8888888889em;
  text-decoration: none
}

.c-pagination__next a, .c-pagination__prev a {
  border: 1px solid #d2cdcd;
  display: inline-block;
  overflow: hidden;
  padding: 0 10px;
  position: relative;
  vertical-align: middle
}

.c-pagination__next a[data-disabled=true], .c-pagination__prev a[data-disabled=true] {
  opacity: .3;
  pointer-events: none
}

.c-pagination__prev {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1
}

.c-pagination__prev :before {
  color: #222;
  content: "<";
  display: inline-block;
  font-size: .7777777778em;
  padding-right: 5px;
  vertical-align: middle
}

.c-pagination__next {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3
}

.c-pagination__next :after {
  color: #222;
  content: "＞";
  display: inline-block;
  font-size: .7777777778em;
  padding-left: 5px;
  vertical-align: middle
}

.c-pagination__numbers {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 700;
  list-style: none;
  margin: 0 30px;
  order: 2;
  padding: 0
}

@media (max-width:576px) {
  .c-pagination__numbers {
    display: none
  }
}

.c-pagination__number {
  display: block;
  list-style: none;
  margin: 0 .5em
}

.c-pagination__number:hover {
  padding-bottom: 2px
}

.c-pagination__number--current, .c-pagination__number:hover {
  border-bottom: 2px solid #0072bc
}

.c-pagination__number--current:hover {
  padding-bottom: 0
}

.c-pagination__number a {
  display: block;
  padding: 0 .3em;
  text-align: center
}

.c-pagination__number a:after {
  display: none
}

:where(.c-page-sub__content-main) p {
  font-size: 1.5rem;
  line-height: 1.6;
  margin: 0 0 1.5em
}

 .list_num ul li{
	font-size: 1.3rem;

}

:where(.c-page-sub__content-main) p:first-child {
  margin-top: 0
}

:where(.c-page-sub__content-main) p:last-child {
  margin-bottom: 0
}

:where(.c-page-sub__content-main) p[role=note] {
  padding-left: 1em;
  text-indent: -1em
}

:where(.c-page-sub__content-main) hr {
  --margin-bottom: 20px;
  --margin-bottom-sp: 10px;
  background: #CCCCCC;
  border: 0;
  display: block;
  height: 1px;
      margin-top: 10px;
    margin-bottom: 0;
}

@media (max-width:767px) {
  :where(.c-page-sub__content-main) hr {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-heading-1 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 30px;
  padding: 0
}

@media (max-width:767px) {
  .c-heading-1 {
    text-align: center
  }
}

.c-heading-2 {
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 13px;
  padding: 0 0 1px 15px;
  position: relative
}
@media (max-width:767px) {
  .c-heading-2 {
    font-size: 1.9rem;
	margin-bottom: 20px;
  }
}

.c-heading-2:before {
  background: #0072bc;
  bottom: 0;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 3px
}

.c-heading-2 .c-heading-any, .c-heading-2 .c-heading-custom, .c-heading-2 .c-heading-required {
  display: inline-block;
  margin-left: 10px;
  vertical-align: 2px
}

.c-heading-3 {
  color: #004979;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1em;
  padding: 0
}

.c-heading-3 .c-heading-any, .c-heading-3 .c-heading-custom, .c-heading-3 .c-heading-required {
  display: inline-block;
  margin-left: 10px;
  vertical-align: 1px
}

.c-heading-4 {
  background: #f5f5f5;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 17px;
  padding: 8px 15px 9px
}

@media (max-width:767px) {
  .c-heading-4 {
    font-size: 1.7rem;
	margin-bottom: 1em;
  }
}

.c-heading-4 .c-heading-any, .c-heading-4 .c-heading-custom, .c-heading-4 .c-heading-required {
  display: inline-block;
  margin-left: 10px;
  vertical-align: 2px
}

.c-heading-4 .c-heading-any {
  background: #fff
}

.c-heading-5 {
  border-bottom: 2px solid #f5f5f5;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1em;
  padding: 0 0 10px
}

.c-heading-5 .c-heading-any, .c-heading-5 .c-heading-custom, .c-heading-5 .c-heading-required {
  display: inline-block;
  margin-left: 10px;
  vertical-align: 1px
}

.c-heading-6 {
  color: #004979;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0.08em;
}

@media (max-width:767px) {
  .c-heading-6 {
    margin-bottom: 3px;
  }
}

.c-heading-6 .c-heading-any, .c-heading-6 .c-heading-custom, .c-heading-6 .c-heading-required {
  display: inline-block;
  margin-left: 10px;
  vertical-align: 2px
}

.c-heading-required {
  background: #d93e2c;
  color: #fff
}

.c-heading-any, .c-heading-required {
  border-radius: 5px;
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 1px 7px 3px;
  vertical-align: 0
}

.c-heading-any {
  background: #f5f5f5;
  color: #222
}

.c-heading-custom {
  --display: inline-block;
  --bg: #fff;
  --txtcolor: #248cd0;
  --bdcolor: #248cd0;
  --padding: 1px 7px 3px;
  --padding-sp: 1px 7px 3px;
  --font: 13;
  --font-sp: 13;
  --width: auto;
  --width-sp: auto;
  background: var(--bg);
  border-color: var(--bdcolor);
  border-radius: 5px;
  border-style: solid;
  border-width: 1px;
  color: var(--txtcolor);
  display: var(--display);
  font-size: calc(var(--font)/10*1rem);
  padding: var(--padding);
  width: var(--width)
}

@media (max-width:767px) {
  .c-heading-custom {
    font-size: calc(var(--font-sp)/10*1rem);
    padding: var(--padding-sp);
    width: var(--width-sp)
  }
}

.c-heading-question {
  background: url(../img/icon-question.svg) 50% no-repeat;
  background-size: 18px 18px;
  border: 0;
  content: "";
  cursor: pointer;
  display: inline-block;
  height: 18px;
  margin-left: 10px;
  position: relative;
  top: 10px;
  vertical-align: top;
  width: 18px
}

h2.c-heading-2 button.c-heading-question {
  top: 10px;
}

.c-judge-text {
  --judge-color01: #222;
  --judge-color02: #db3d23;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  display: inline-block;
  margin-bottom: var(--margin-bottom)
}

@media (max-width:767px) {
  .c-judge-text {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-judge-text__possible {
  padding: 12px 0;
  position: relative
}

.c-judge-text__possible:before {
  background: url(../img/pict-circle.svg) 50% no-repeat;
  background-size: 100% auto;
  bottom: 0;
  content: "";
  display: inline-block;
  /*height: 72px;*/
  height: 108px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  /*width: 72px;*/
  width: 108px;
  z-index: -1
}

.c-judge-text__possible p {
  color: #0072bc;
  /*font-size: 28px;*/
  font-size: 42px;
  font-weight: 500;
  line-height: 1.8;
  text-align: center
}

.content_mLR16{
	margin: 0 16px;
}
@media (max-width:767px) {
  .c-judge-text__possible:before {
    background: url(../img/pict-circle.svg) 50% no-repeat;
    background-size: 100% auto;
    bottom: 0;
    content: "";
    display: inline-block;
    height: 72px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 72px;
    z-index: -1
  }

  .c-judge-text__possible p {
    color: #0072bc;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.8;
    text-align: center
  }
.content_mLR16{
	margin: 0px;
}
}

.c-judge-text__not-good {
  padding: 12px 0 3px;
  position: relative
}

.c-judge-text__not-good:before {
  /*background: url(../img/pict-triangle.svg) 50% no-repeat;*/
  background-size: 100% auto;
  content: "";
  display: inline-block;
  height: 50px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 57.5px;
  z-index: -1
}

.c-judge-text__not-good p {
  color: var(--judge-color01);
  /*font-size: 28px;*/
  font-size: 42px;
  font-weight: 500;
  line-height: 1.8;
  text-align: center
}

@media (max-width:767px) {
  .c-judge-text__not-good p {
    color: var(--judge-color01);
    font-size: 28px;
    font-weight: 500;
    line-height: 1.8;
    text-align: center
  }
}

.c-judge-text__impossible {
  padding: 9px 0;
  position: relative
}

.c-judge-text__impossible:before {
  background: url(../img/pict-cross.svg) 50% no-repeat;
  background-size: 100% auto;
  bottom: 0;
  content: "";
  display: inline-block;
  height: 52.5px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 52.5px;
  z-index: -1
}

.c-judge-text__impossible p {
  color: var(--judge-color02);
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center
}

.c-button-submit {
  --width: 240px;
  --width-sp: 90%;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  display: inline-block;
  margin-bottom: var(--margin-bottom);
  max-width: var(--width);
  width: 100%
}

@media (max-width:767px) {
  .c-button-submit {
    margin-bottom: var(--margin-bottom-sp);
    max-width: var(--width-sp)
  }
}

.c-button-submit a, .c-button-submit button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #0072bc;
  border: 0;
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  padding: 10px 30px;
  text-align: center;
  text-decoration: none;
  width: 100%
}

.c-table-basic {
  --table-basic-width: 100%;
  --table-basic-width-sp: 100%;
  --table-thead-bg: #6c6c6c;
  --table-thead-color: #fff;
  --table-tbody-bg: #eaedef;
  --table-tbody-color: #000;
  --table-thead-weight: bold;
  --table-tbody-weight: 500;
  width: var(--table-basic-width)
}

@media (max-width:767px) {
  .c-table-basic {
    width: var(--table-basic-width-sp)
  }
}

.c-table-basic caption {
  font-weight: 700;
  margin-bottom: 15px;
  text-align: left
}

.c-table-basic table {
  width: 100%
}

.c-table-basic table thead {
  border: 1px solid var(--table-thead-bg)
}

.c-table-basic table thead th {
  background: var(--table-thead-bg);
  border-right: 1px solid #fff;
  color: var(--table-thead-color);
  font-size: 1.5rem;
  font-weight: var(--table-thead-weight)
}

.c-table-basic table thead th:last-of-type {
  border-right: 0
}

.c-table-basic table tbody td, .c-table-basic table tbody th {
  border: 1px solid var(--table-thead-bg)
}

.c-table-basic table tbody th {
  background: var(--table-tbody-bg);
  color: var(--table-tbody-color);
  font-weight: var(--table-tbody-weight);
  text-align: left
}

@media (max-width:767px) {
  .c-table-scroll .c-table-basic {
    overflow-x: auto
  }
  .c-table-scroll .c-table-basic table {
    min-width: 700px
  }
}

.c-scroll-table {
  --scroll-table-white-color: #fff;
  --scroll-table-black-color: #000;
  --scroll-table-thead-color: #6c6c6c;
  --scroll-table-gray-color: #f5f5f5;
  --scroll-table-gray-color2: #eaedef;
  --scroll-table-overlay-color: rgba(0, 0, 0, .5);
  --scroll-table-width: 1500px;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  margin-bottom: var(--margin-bottom);
  overflow-x: auto;
  position: relative;
  width: auto
}

@media (max-width:767px) {
  .c-scroll-table {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-scroll-table table {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: move;
  display: table;
  font-size: 1.5rem;
  font-weight: 500;
  max-width: calc(100vw - 40px);
  white-space: nowrap;
  width: 100%
}

@media (max-width:767px) {
  .c-scroll-table table {
    display: block;
    width: 100vw!important
  }
}

.c-scroll-table caption {
  padding-bottom: 10px;
  text-align: left
}

.c-scroll-table thead td, .c-scroll-table thead th {
  background-color: var(--scroll-table-thead-color);
  border: 1px solid var(--scroll-table-thead-color);
  border-right-color: var(--scroll-table-white-color);
  color: var(--scroll-table-white-color);
  font-weight: 700;
  text-align: left
}

.c-scroll-table thead td+td, .c-scroll-table thead td+th, .c-scroll-table thead th+td, .c-scroll-table thead th+th {
  border-left: 1px solid var(--scroll-table-white-color)
}

.c-scroll-table thead th:last-child {
  border-right: 1px solid var(--scroll-table-thead-color)
}

.c-scroll-table tbody td, .c-scroll-table tbody th {
  background-color: var(--scroll-table-white-color);
  border: 1px solid var(--scroll-table-thead-color);
  font-weight: 400;
  min-width: 200px;
  text-align: left;
  vertical-align: top;
  width: 200px
}

.c-scroll-table tbody th {
  background-color: var(--scroll-table-gray-color2)
}

.c-scroll-table tbody th[colspan] {
  background-color: var(--scroll-table-gray-color)
}

.c-scroll-table[data-swipe-obj] {
  position: relative;
  z-index: 0
}

.c-scroll-table[data-swipe-obj]:after {
  background-color: var(--scroll-table-overlay-color);
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2
}

.c-scroll-table[data-swipe-obj]:before {
  -webkit-animation: expansion 2s linear infinite;
  animation: expansion 2s linear infinite;
  background: url(/img/ic_swipe.svg) no-repeat 0 0;
  content: "";
  display: block;
  height: 69px;
  left: calc(50% - 34px);
  position: absolute;
  top: 70px;
  -webkit-transform: translate(-25%);
  transform: translate(-25%);
  width: 68px;
  z-index: 3
}

@-webkit-keyframes expansion {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
  25% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px)
  }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
  75% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px)
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

@keyframes expansion {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
  25% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px)
  }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
  75% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px)
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

.c-scroll-table [data-swipe-obj-text] {
  color: var(--scroll-table-white-color);
  display: block;
  font-size: 1.8rem;
  left: 0;
  position: absolute;
  text-align: center;
  top: 160px;
  width: 100%;
  z-index: 3
}

.c-list-number {
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  counter-reset: ol-item;
  display: table;
  list-style: none;
  margin: 0;
  margin-bottom: var(--margin-bottom);
  padding: 0;
  width: 100%
}

@media (max-width:767px) {
  .c-list-number {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-list-number>li {
  display: block;
  line-height: 1.6;
  margin: 0 0 0 1.5em;
  padding: 0;
  position: relative;
  text-indent: -.83em
}

.c-list-number>li:before {
  content: "（" counter(ol-item) "）";
  counter-increment: ol-item;
  display: inline-block;
  padding-right: 2px;
  vertical-align: 0
}

.c-list-number>li+li {
  margin-top: 10px
}

.c-list-number>li>ol {
  counter-reset: ol-item
}

.c-list-number>li>ol>li {
  margin-bottom: 10px;
  position: relative
}

.c-list-number>li>ol>li:before {
  content: counter(ol-item) ".";
  counter-increment: ol-item;
  font-weight: 700
}

.c-list-number ol, .c-list-number ul {
  list-style: none;
  margin: 10px 0 0 .2em;
  padding: 0
}

.c-list-dot {
  ---list-dot-color: #222;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  list-style: none;
  margin: 0;
  margin-bottom: var(--margin-bottom);
  padding: 0;
	
	line-height: 1.1;
}



.c-list-dot>li {
  line-height: 1.6;
  list-style: none;
  margin: 0;
  padding-left: 1.1em;
  position: relative;
font-size: 84%;
}


.c-list-dot>li:before {
  background: var(---list-dot-color);
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 6px;
  left: 0;
  margin-left: 4px;
  position: absolute;
  top: 0.6em;
  vertical-align: middle;
  width: 6px
}
@media (max-width:767px) {
  .c-list-dot {
    margin-bottom: var(--margin-bottom-sp);
  }

.c-list-dot>li:before {
  top: 0.65em;
}
}

.c-list-dot>li+li {
  margin-top: 5px
}

.c-list-dot>li>ul li {
  margin-bottom: 10px;
  padding-left: 12px;
  position: relative
}

.c-list-dot>li>ul li:before {
  background: #d2cdcd;
  content: "";
  display: inline-block;
  height: 2px;
  left: 0;
  position: absolute;
  top: .9em;
  width: 8px
}

.c-list-dot ol, .c-list-dot ul {
  list-style: none;
  margin: 10px 0 0 8px;
  padding: 0
}

.c-link-text {
  --link-text-color01: #0072bc;
  color: var(--link-text-color01);
  line-height: 1.6;
  position: relative;
  text-decoration: underline
}

@media (hover:hover) {
  .c-link-text:hover {
    text-decoration: none
  }
}

.c-link-text[target=_blank]:after {
  background: url(../img/icon-external.svg) no-repeat;
  background-size: 100% auto;
  content: "外部リンク";
  display: inline-block;
  font-size: 0;
  height: 16px;
  margin-left: 4px;
  margin-right: 4px;
  vertical-align: 14px;
  width: 16px
}

@media (max-width:767px) {
  .c-link-text[target=_blank]:after {
    height: 11px;
    vertical-align: 11px;
    width: 11px
  }
}

.c-link-text[href$=".pdf"]:after {
  background: url(../img/icon-pdf.svg) no-repeat;
  background-size: 100% auto;
  content: "PDFリンク";
  display: inline-block;
  font-size: 0;
  height: 17px;
  margin-left: 4px;
  margin-right: 4px;
  vertical-align: 15px;
  width: 20px
}

.c-link-arrow01 {
  --link-arrow-color01: #0072bc;
  color: var(--link-arrow-color01);
  display: inline;
  line-height: 1.6;
  padding-right: 5px;
  position: relative;
  text-decoration: underline
}

@media (hover:hover) {
  .c-link-arrow01:hover {
    text-decoration: none
  }
}

.c-link-arrow01:after {
  border-right: 2px solid var(--link-arrow-color01);
  border-top: 2px solid var(--link-arrow-color01);
  bottom: 1px;
  content: "";
  display: inline-block;
  height: 9px;
  margin-left: 3px;
  position: relative;
  right: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 9px
}

.c-link-arrow01[target=_blank]:after {
  background: url(../img/icon-external.svg) no-repeat;
  background-size: 100% auto;
  border: none;
  content: "外部リンク";
  display: inline-block;
  font-size: 0;
  height: 16px;
  margin-left: 4px;
  margin-right: 4px;
  -webkit-transform: none;
  transform: none;
  vertical-align: 14px;
  width: 16px
}

@media (max-width:767px) {
  .c-link-arrow01[target=_blank]:after {
    height: 11px;
    vertical-align: 11px;
    width: 11px
  }
}

.c-link-arrow01[href$=".pdf"]:after {
  background: url(../img/icon-pdf.svg) no-repeat;
  background-size: 100% auto;
  border: none;
  content: "PDFリンク";
  display: inline-block;
  font-size: 0;
  height: 17px;
  margin-left: 4px;
  margin-right: 4px;
  -webkit-transform: none;
  transform: none;
  vertical-align: 15px;
  width: 20px
}

.c-link-arrow02 {
  --link-arrow-color01: #0072bc;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  color: var(--link-arrow-color01);
  display: inline-block;
  line-height: 1.6;
  margin-bottom: var(--margin-bottom);
  margin-left: 1.3em;
  padding-right: 1em;
  position: relative;
  text-decoration: underline;
  text-indent: -1.3em
}

@media (max-width:767px) {
  .c-link-arrow02 {
    margin-bottom: var(--margin-bottom-sp)
  }
}

@media (hover:hover) {
  .c-link-arrow02:hover {
    text-decoration: none
  }
}

.c-link-arrow02:before {
  background: url(../img/icon-arrow-bgblue.svg) 50% no-repeat;
  background-size: 100% auto;
  content: "";
  display: inline-block;
  height: 16px;
  margin-right: 5px;
  position: relative;
  top: 0;
  vertical-align: -2px;
  width: 16px
}

.c-link-arrow02[target=_blank]:after {
  background: url(../img/icon-external.svg) no-repeat;
  background-size: 100% auto;
  border: none;
  content: "外部リンク";
  display: inline-block;
  font-size: 0;
  height: 16px;
  margin-left: 4px;
  -webkit-transform: none;
  transform: none;
  vertical-align: 14px;
  width: 16px
}

@media (max-width:767px) {
  .c-link-arrow02[target=_blank]:after {
    height: 11px;
    vertical-align: 11px;
    width: 11px
  }
}

.c-link-arrow02[href$=".pdf"]:after {
  background: url(../img/icon-pdf.svg) no-repeat;
  background-size: 100% auto;
  border: none;
  content: "PDFリンク";
  display: inline-block;
  font-size: 0;
  height: 17px;
  margin-left: 4px;
  -webkit-transform: none;
  transform: none;
  vertical-align: 15px;
  width: 20px
}

.c-link-arrow-inner {
  color: #222;
  cursor: pointer;
  display: block;
  position: relative;
  text-decoration: none
}

.c-link-arrow-inner__head {
  color: #0072bc;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 0;
  padding-right: 15px;
  position: relative
}

.c-link-arrow-inner__head:after {
  border-right: 2px solid #0072bc;
  border-top: 2px solid #0072bc;
  bottom: 0;
  content: "";
  display: inline-block;
  height: 9px;
  margin: auto;
  position: absolute;
  right: 2px;
  top: 1px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 9px
}

.c-link-back {
  --link-back-color01: #0072bc;
  --margin-bottom: 15px;
  --margin-bottom-sp: 15px;
  color: var(--link-back-color01);
  display: inline-block;
  line-height: 1.6;
  margin-bottom: var(--margin-bottom);
  padding-left: 5px;
  position: relative;
  text-decoration: underline
}

@media (max-width:767px) {
  .c-link-back {
    margin-bottom: var(--margin-bottom-sp)
  }
}

@media (hover:hover) {
  .c-link-back:hover {
    text-decoration: none
  }
}

.c-link-back:before {
  border-bottom: 2px solid var(--link-back-color01);
  border-left: 2px solid var(--link-back-color01);
  bottom: 1px;
  content: "";
  display: inline-block;
  height: 9px;
  left: 0;
  margin-right: 3px;
  position: relative;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 9px
}

.c-button-nextsubmit01 {
  --width: 400px;
  --width-sp: 90%;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  display: inline-block;
  margin-bottom: var(--margin-bottom);
  max-width: var(--width);
  width: 100%
}

.btn_area_next_back .c-button-nextsubmit01{
	--width: 600px;
	font-size: 1.9rem;
	
}

@media (max-width:767px) {
  .c-button-nextsubmit01 {
    margin-bottom: var(--margin-bottom-sp);
    max-width: var(--width-sp)
  }
}

.c-button-nextsubmit01 a, .c-button-nextsubmit01 button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #004979;
  border: 2px solid #004979;
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  padding: 13px 30px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 100%
}

.c-button-nextsubmit01 a:after, .c-button-nextsubmit01 button:after {
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  bottom: 0;
  content: "";
  display: block;
  height: 12px;
  margin: auto;
  position: absolute;
  right: 15px;
  top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 12px
}

.c-button-nextsubmit01 button[disabled] {
  background: #d0d0d0;
  border: 2px solid #d0d0d0;
  color: #adadad
}


.c-button-nextsubmit01 button[disabled]:after {
  border-right-color: #adadad;
  border-top-color: #adadad
}

.c-button-nextsubmit02 {
  --width: 300px;
  --width-sp: 90%;
  max-width: var(--width);
  width: 100%
}

@media (max-width:767px) {
  .c-button-nextsubmit02 {
    max-width: var(--width-sp)
  }
}

.c-button-nextsubmit02 a, .c-button-nextsubmit02 button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff;
  border: 2px solid #00568e;
  border-radius: 8px;
  color: #00568e;
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  padding: 13px 30px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 100%
}

.c-button-nextsubmit02 a:after, .c-button-nextsubmit02 button:after {
  border-right: 2px solid #00568e;
  border-top: 2px solid #00568e;
  bottom: 0;
  content: "";
  display: block;
  height: 12px;
  margin: auto;
  position: absolute;
  right: 15px;
  top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 12px
}

.c-button-nextsubmit02 button[disabled] {
  background: #d0d0d0;
  border: 2px solid #d0d0d0;
  color: #adadad
}

.c-button-nextsubmit02 button[disabled]:after {
  border-right-color: #adadad;
  border-top-color: #adadad
}

.c-button-back {
  --width: 400px;
  --width-sp: 90%;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  display: inline-block;
  margin-bottom: var(--margin-bottom);
  max-width: var(--width);
  width: 100%
}

@media (max-width:767px) {
  .c-button-back {
    margin-bottom: var(--margin-bottom-sp);
    max-width: var(--width-sp)
  }
}

.c-button-back a, .c-button-back button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: 2px solid #0072bc;
  border-radius: 8px;
  color: #0072bc;
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  line-height: 1.8;
  padding: 13px 30px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 100%
}

.c-button-back a:after, .c-button-back button:after {
  border-bottom: 2px solid #0072bc;
  border-left: 2px solid #0072bc;
  bottom: 0;
  content: "";
  display: block;
  height: 12px;
  left: 15px;
  margin: auto;
  position: absolute;
  top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 12px
}

.c-button-close {
  --width: 400px;
  --width-sp: 90%;
  --color01: #6c6c6c;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  display: inline-block;
  margin-bottom: var(--margin-bottom);
  max-width: var(--width);
  width: 100%
}

.btn_area_next_back .c-button-nextsubmit01 button{
	padding-top: 21px!important;
	padding-bottom: 21px!important;
}
.btn_area_next_back .c-button-back{
	margin-bottom: 0px;
	max-width: max-content;
}
.btn_area_next_back .c-button-back a, .btn_area_next_back .c-button-back button{
	border:none;
	text-decoration: underline;
	padding: 0px 30px;
}

@media (max-width:767px) {
  .btn_area_next_back .c-button-nextsubmit01 {
    --width-sp: 100%;
  }
}

@media (max-width:767px) {
  .c-button-close {
    margin-bottom: var(--margin-bottom-sp);
    max-width: var(--width-sp)
  }
}

.c-button-close a, .c-button-close button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #f5f5f5;
  border: 2px solid var(--color01);
  border-radius: 8px;
  color: var(--color01);
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  padding: 13px 38px;
  pointer-events: all;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 100%
}

.c-button-close a:after, .c-button-close button:after {
  background: url(../img/icon-cross.svg) 50% no-repeat;
  background-size: 100% auto;
  bottom: 0;
  content: "";
  display: block;
  height: 17.5px;
  margin: auto;
  position: absolute;
  right: 15px;
  top: 0;
  width: 18px
}

.c-button-delete {
  --width: 300px;
  --width-sp: 90%;
  --color01: #6c6c6c;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  display: inline-block;
  margin-bottom: var(--margin-bottom);
  max-width: var(--width);
  width: 100%
}

@media (max-width:767px) {
  .c-button-delete {
    margin-bottom: var(--margin-bottom-sp);
    max-width: var(--width-sp)
  }
	.c-button-close{
	--width-sp: 100%;
	}
}

.c-button-delete a, .c-button-delete button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #f5f5f5;
  border: 2px solid var(--color01);
  border-radius: 8px;
  color: var(--color01);
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  padding: 13px 38px;
  pointer-events: all;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 100%
}

.c-button-delete a:after, .c-button-delete button:after {
  background: var(--color01);
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  margin: auto;
  position: absolute;
  right: 15px;
  top: 0;
  width: 15px
}

.c-button-nextlink {
  --width: 400px;
  --width-sp: 90%;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  display: inline-block;
  margin-bottom: var(--margin-bottom);
  max-width: var(--width);
  width: 400px;
}

@media (max-width:767px) {
  .c-button-nextlink {
    margin-bottom: var(--margin-bottom-sp);
    max-width: var(--width-sp)
  }
}

.c-button-nextlink a, .c-button-nextlink button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff;
  border: 2px solid #0072bc;
  border-radius: 8px;
  color: #0072bc;
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  padding: 13px 30px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 100%
}

.c-button-nextlink a:after, .c-button-nextlink button:after {
  border-right: 2px solid #0072bc;
  border-top: 2px solid #0072bc;
  bottom: 0;
  content: "";
  display: block;
  height: 12px;
  margin: auto;
  position: absolute;
  right: 15px;
  top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 12px
}

.c-button-nextlink button[disabled] {
  background: #d0d0d0;
  border: 2px solid #d0d0d0;
  color: #adadad
}

.c-button-nextlink button[disabled]:after {
  border-right-color: #adadad;
  border-top-color: #adadad
}

.c-button-external {
  --width: 300px;
  --width-sp: 90%;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  display: inline-block;
  margin-bottom: var(--margin-bottom);
  max-width: var(--width);
  width: 100%
}

@media (max-width:767px) {
  .c-button-external {
    margin-bottom: var(--margin-bottom-sp);
    max-width: var(--width-sp)
  }
}

.c-button-external a, .c-button-external button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /*background: #f2faff;*/
  background: #FFFFFF;
  border: 1px solid #0072bc;
  border-radius: 8px;
  color: #0072bc;
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  padding: 14px 38px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 100%
}

.c-button-external a:after, .c-button-external button:after {
  background: url(../img/icon-external2.svg) 50% no-repeat;
  background-size: 100% auto;
  bottom: 0;
  content: "";
  display: block;
  height: 16.5px;
  margin: auto;
  position: absolute;
  right: 15px;
  top: 0;
  width: 16.5px
}

.c-button-select-address {
  --width: 100%;
  --width-sp: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: var(--width);
  width: 100%
}

@media (max-width:767px) {
  .c-button-select-address {
    max-width: var(--width-sp)
  }
}

.c-button-select-address__inner {
  width: 100%
}

.c-button-select-address__item {
  margin-right: 15px;
  margin-top: 15px;
  width: calc(25% - 12px);
}

.c-button-select-address__item:nth-child(4n) {
  margin-right: 0
}

.c-button-select-address__item:nth-child(-n+4) {
  margin-top: 0
}

@media (max-width:767px) {
  .c-button-select-address__item {
    margin-right: 15px;
    margin-top: 15px;
    width: calc(33.33333% - 10px);
  }

  .c-button-select-address__item:nth-child(4n) {
    margin-right: 15px;
  }

  .c-button-select-address__item:nth-child(-n+4) {
    margin-top: 15px;
  }

  .c-button-select-address__item:nth-child(3n) {
    margin-right: 0
  }

  .c-button-select-address__item:nth-child(-n+3) {
    margin-top: 0
  }
}

.c-button-select-address__item[aria-current=page] a, .c-button-select-address__item[aria-current=page] button {
  background: #0072bc;
  color: #fff
}

.c-button-select-address a, .c-button-select-address button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff;
  border: 2px solid #0072bc;
  border-radius: 8px;
  color: #0072bc;
  cursor: pointer;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.8;
  padding: 6px 10px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 100%
}

.c-bgcolor01 {
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  background: #e6e8ed;
  margin-bottom: var(--margin-bottom);
  padding: 15px
}

.c-bgcolor01 p{
	margin-bottom: 0px;
}

@media (max-width:767px) {
  .c-bgcolor01 {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-bgcolor01 .c-heading-5 {
  border-bottom-color: #6c6c6c;
  border-bottom-width: 1px
}

.c-bgcolor01 hr {
  background: #eaedef;
  border: 0;
  display: block;
  height: 3px;
  margin-bottom: 15px;
  margin-top: 15px;
  width: 100%
}

.c-bgcolor02 {
  --color01: #e8f6ff;
  background: var(--color01);
  padding: 15px
}

.c-bgcolor02 .c-heading-5 {
  border-bottom-color: #6c6c6c;
  border-bottom-width: 1px
}

.c-bgcolor02 hr {
  background: #eaedef;
  border: 0;
  display: block;
  height: 3px;
  margin-bottom: 15px;
  margin-top: 15px;
  width: 100%
}

.c-bgcolor03 {
  --color01: #ffefea;
  background: var(--color01);
  padding: 15px
}

.c-bgcolor03 .c-heading-5 {
  border-bottom-color: #6c6c6c;
  border-bottom-width: 1px
}

.c-bgcolor03 hr {
  background: #eaedef;
  border: 0;
  display: block;
  height: 3px;
  margin-bottom: 15px;
  margin-top: 15px;
  width: 100%
}

.c-border01 {
  --color01: #eaedef;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  border: 3px solid var(--color01);
  margin-bottom: var(--margin-bottom);
  padding: 15px;
  background-color: #FFFFFF;
}

@media (max-width:767px) {
  .c-border01 {
    margin-bottom: var(--margin-bottom-sp)
  }
}

.c-border01 hr {
  background: #eaedef;
  border: 0;
  display: block;
  height: 3px;
  margin-bottom: 15px;
  margin-top: 15px;
  width: 100%
}

.c-border01[data-style-scroll=true] {
  max-height: 40vh;
  overflow-y: scroll
}

.c-form-item__head {
  background: #eaedef;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 15px
}

.c-form-item__body {
  border: 3px solid #eaedef;
  font-size: 1.4rem;
  line-height: 1.5;
  padding: 15px
}

.c-form-item__body hr {
  background: #eaedef;
  border: 0;
  display: block;
  height: 3px;
  margin-bottom: 15px;
  margin-top: 15px;
  width: 100%
}

.c-input-search {
  --width: 100%;
  --width-sp: 100%;
  --margin-bottom: 15px;
  --margin-bottom-sp: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: var(--margin-bottom);
  max-width: var(--width);
  width: 100%
}

@media (max-width:767px) {
  .c-input-search {
    margin-bottom: var(--margin-bottom-sp);
    max-width: var(--width-sp)
  }
}

.c-input-search .c-input-text {
  margin-bottom: 0;
  width: 100%
}

.c-input-search>button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #0072bc;
  border: 2px solid #0072bc;
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 0;
  margin-left: 15px;
  min-width: 4em;
  padding: 6px 10px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: auto
}

@media (max-width:767px) {
  .c-input-search>button {
    margin-bottom: 0
  }
}

.c-input-text {
  --width: 100%;
  --width-sp: 100%;
  --margin-bottom: 15px;
  --margin-bottom-sp: 15px;
  margin-bottom: var(--margin-bottom);
  max-width: var(--width);
  width: 100%
}

@media (max-width:767px) {
  .c-input-text {
    margin-bottom: var(--margin-bottom-sp);
    max-width: var(--width-sp)
  }
}

.c-input-text[data-style=post] {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: end;
}

@media (max-width:767px) {
  .c-input-text[data-style=post] {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.c-input-text[data-style=post] label.c-input-text__label {
  color: #0072bc;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0;
  margin-right: 8px
}

.c-input-text[data-style=post] .c-input-text__minus {
  color: #222;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  margin: 0 10px
}

.c-input-text[data-style=post] input.c-input-text__input {
  max-width: 15em;
    height: 49px;
}

@media (max-width:767px) {
  .c-input-text[data-style=post] input.c-input-text__input {
    max-width: 10em;
    height: 42px;
  }
}

.c-input-text[data-style=tel] {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width:767px) {
  .c-input-text[data-style=tel] {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.c-input-text[data-style=tel] .c-input-text__minus {
  color: #222;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  margin: 0 10px;
}

.c-input-text[data-style=tel] input.c-input-text__input {
  /*max-width: 5.5em;*/
  max-width: 284px;
}

.c-input-text__label {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 10px
}

.c-input-text__description {
  color: #6c6c6c;
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 0;
  margin-top: 10px
}

.c-input-text__error {
  color: #d93e2c;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0;
  margin-top: 0
}

.c-input-text__input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #222;
  display: block;
  line-height: 1.5;
  padding: 8px 12px;
  width: 100%
}

.c-input-text__input:invalid {
  border-color: #d93e2c
}

.c-input-text__input:disabled {
  background: #f5f5f5
}

.c-input-text__textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #222;
  display: block;
  line-height: 1.5;
  padding: 8px 12px;
  resize: vertical;
  width: 100%
}

.c-input-text__textarea:invalid {
  border-color: #d93e2c
}

.c-price-bottom {
  --width: 100%;
  --width-sp: 100%;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  border: 0;
  border-top: 1px solid #dedede;
  margin-bottom: var(--margin-bottom);
  max-width: var(--width);
  width: 100%
}

@media (max-width:767px) {
  .c-price-bottom {
    margin-bottom: var(--margin-bottom-sp);
    max-width: var(--width-sp)
  }
}

.c-price-bottom__inner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.c-price-bottom__tax {
  background: #0072bc;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.5;
  margin-right: 5px;
  padding: 5px 2px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl
}

.c-price-bottom__number {
  color: #222;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0
}

.c-price-bottom__number span {
  font-size: 2.2rem;
  font-weight: 700
}

.c-price-bottom__option {
  margin-left: auto;
  max-width: 200px
}

.c-price-bottom__option a {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff;
  border: 2px solid #0072bc;
  border-radius: 8px;
  color: #0072bc;
  cursor: pointer;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.8;
  padding: 10px 25px 10px 15px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 100%
}

.c-price-bottom__option a:after {
  border-right: 2px solid #0072bc;
  border-top: 2px solid #0072bc;
  bottom: 0;
  content: "";
  display: block;
  height: 8px;
  margin: auto;
  position: absolute;
  right: 10px;
  top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 8px
}

.c-price-bottom th {
  background: #f2faff;
  border-right: 1px solid #0072bc;
  padding: 10px
}

.c-price-bottom th span {
  color: #0072bc;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5
}

.c-price-bottom td {
  border: 0
}

.c-parts-menulist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 -9px;
  padding: 0
}

.c-parts-menulist li {
  margin: 0 9px 18px;
  width: calc(33.33333% - 18px)
}

@media (max-width:767px) {
  .c-parts-menulist li {
    margin: 0 4.5px 18px;
    width: calc(50% - 9px)
  }
}

.c-parts-menulist a {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #fff;
  border: 1px solid #0072bc;
  color: #0072bc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.6rem;
  font-weight: 700;
  height: 100%;
  line-height: 1.45;
  padding: 19px 32px 19px 20px;
  position: relative;
  text-decoration: none;
  -webkit-transition: .5s;
  transition: .5s
}

@media (max-width:767px) {
  .c-parts-menulist a {
    font-size: 1.3rem
  }
}

.c-parts-menulist a:after {
  border-right: 2px solid #0072bc;
  border-top: 2px solid #0072bc;
  content: "";
  display: block;
  height: 7px;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
  -webkit-transition: .5s;
  transition: .5s;
  width: 7px
}

@media (max-width:767px) {
  .c-parts-menulist a:after {
    right: 20px
  }
}

@media (min-width:768px) {
  .c-parts-menulist a:hover {
    background: #f2faff
  }
}

.c-table-total {
  --width: 50%;
  --width-sp: 60%
}

.c-table-total__sum {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-top: 3px solid #eaedef;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 10px;
  padding-top: 10px;
  width: 100%
}

.c-table-total__sum-text {
  font-size: 1.2rem
}

.c-table-total__sum-number {
  font-size: 1.3rem
}

.c-table-total__sum-number span {
  font-size: 2.2rem;
  font-weight: 700
}

.c-table-total__sum dd {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  justify-content: flex-end
}

.c-table-total dl, .c-table-total__sum dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.c-table-total dl {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.c-table-total dl dt {
  text-align: left;
  width: var(--width)
}

.c-table-total dl dd, .c-table-total dl dt {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8
}

.c-table-total dl dd {
  text-align: right;
  width: calc(100% - var(--width))
}

.c-grid {
  --margin-bottom: 0;
  --margin-bottom-sp: 0;
  --gap: 20px;
  --gap-sp: 20px;
  grid-gap: var(--gap) 0;
  display: -ms-grid;
  display: grid;
  gap: var(--gap) 0;
  margin-bottom: var(--margin-bottom);
  margin-left: -15px;
  margin-right: -15px
}

@media (max-width:767px) {
  .c-grid {
    gap: var(--gap-sp) 0;
    margin-bottom: var(--margin-bottom-sp);
    margin-left: -10px;
    margin-right: -10px
  }
}

.c-grid img {
  height: auto;
  width: 100%
}

.c-grid .c-grid__item {
  margin-left: 15px;
  margin-right: 15px
}

@media (max-width:767px) {
  .c-grid .c-grid__item {
    margin-left: 10px;
    margin-right: 10px
  }
}

.c-grid[data-grid-style=col-1] {
  --width: 90%;
  --width-sp: 100%;
  -ms-grid-columns: var(--width);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  grid-template-columns: var(--width);
  justify-content: center
}

@media (max-width:767px) {
  .c-grid[data-grid-style=col-1] {
    -ms-grid-columns: var(--width-sp);
    grid-template-columns: var(--width-sp)
  }
}

.c-grid[data-grid-style=col-2] {
  --width: 50% 50%;
  --width-sp: 100%;
  -ms-grid-columns: var(--width);
  grid-template-columns: var(--width)
}

@media (max-width:767px) {
  .c-grid[data-grid-style=col-2] {
    -ms-grid-columns: var(--width-sp);
    grid-template-columns: var(--width-sp)
  }
}

.c-grid[data-grid-style=col-3] {
  --width: 33.33333% 33.33333% 33.33333%;
  --width-sp: 100%;
  -ms-grid-columns: var(--width);
  grid-template-columns: var(--width)
}

@media (max-width:767px) {
  .c-grid[data-grid-style=col-3] {
    -ms-grid-columns: var(--width-sp);
    grid-template-columns: var(--width-sp)
  }
}

.c-grid[data-grid-style=col-4] {
  --width: 25% 25% 25% 25%;
  --width-sp: 100%;
  -ms-grid-columns: var(--width);
  grid-template-columns: var(--width)
}

@media (max-width:767px) {
  .c-grid[data-grid-style=col-4] {
    -ms-grid-columns: var(--width-sp);
    grid-template-columns: var(--width-sp)
  }
}

.c-grid[data-grid-style=col-5] {
  --width: 20% 20% 20% 20% 20%;
  --width-sp: 100%;
  -ms-grid-columns: var(--width);
  grid-template-columns: var(--width)
}

@media (max-width:767px) {
  .c-grid[data-grid-style=col-5] {
    -ms-grid-columns: var(--width-sp);
    grid-template-columns: var(--width-sp)
  }
}

.c-image {
  --width: 100%;
  --width-sp: 100%;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  display: inline-block;
  margin-bottom: var(--margin-bottom);
  max-width: var(--width);
  width: 100%
}

@media (max-width:767px) {
  .c-image {
    margin-bottom: var(--margin-bottom-sp);
    max-width: var(--width-sp)
  }
}

.c-image img {
  height: auto;
  width: 100%
}

.c-button-modal {
  --width: 240px;
  --width-sp: 90%;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  display: inline-block;
  margin-bottom: var(--margin-bottom);
  max-width: var(--width);
  width: 100%
}

@media (max-width:767px) {
  .c-button-modal {
    margin-bottom: var(--margin-bottom-sp);
    max-width: var(--width-sp)
  }
}

.c-button-modal a, .c-button-modal button {
  background: #0072bc;
  border: 0;
  border-radius: 8px;
  color: #fff;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  padding: 10px 30px;
  text-align: center;
  text-decoration: none;
  width: 100%
}

.c-button-icon-modal button, .c-button-modal a, .c-button-modal button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer
}

.c-button-icon-modal button {
  background-color: transparent;
  border: 2px solid #0072bc;
  border-radius: 5px;
  color: #0072bc;
  /*font-size: 1.8rem;*/
  font-size: 1.5rem;
  line-height: 1;
  padding: 11px 10px;
  position: relative;
  -webkit-transition: background-color .3s ease, color .3s ease;
  transition: background-color .3s ease, color .3s ease
}

@media (max-width:767px) {
  .c-button-icon-modal button {
    font-size: 3.2vw;
    padding: 11px 10px
  }
}

.c-button-icon-modal button:hover {
  border: 2px solid #004979;
  color: #004979
}

.c-button-icon-modal button:after {
  background: url(../img/icon-modal.svg) no-repeat;
  background-size: 100% auto;
  border: none;
  content: "モーダルを開く";
  display: inline-block;
  font-size: 0;
  height: 14px;
  margin-left: 4px;
  margin-right: 4px;
  -webkit-transform: none;
  transform: none;
  vertical-align: 13px;
  width: 14px
}

.c-link-modal {
  --link-arrow-color01: #0072bc;
  display: inline-block
}

.c-link-modal button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--link-arrow-color01);
  display: inline-block;
  line-height: 1.6;
  padding-left: 0;
  padding-right: 0;
  position: relative;
  text-align: left;
  text-decoration: underline
}

@media (hover:hover) {
  .c-link-modal button:hover {
    text-decoration: none
  }
}

.c-link-modal button:after {
  background: url(../img/icon-modal.svg) no-repeat;
  background-size: 100% auto;
  border: none;
  content: "モーダルを開く";
  display: inline-block;
  font-size: 0;
  height: 14px;
  margin-left: 4px;
  margin-right: 4px;
  -webkit-transform: none;
  transform: none;
  vertical-align: 13px;
  width: 14px
}

.c-link-question {
  --link-arrow-color01: #0072bc;
  display: inline-block
}

.c-link-question a {
  color: var(--link-arrow-color01);
  display: inline-block;
  line-height: 1.6;
  position: relative;
  text-decoration: underline
}

@media (hover:hover) {
  .c-link-question a:hover {
    text-decoration: none
  }
}

.c-link-question a:after {
  background: url(../img/icon-question.svg) no-repeat;
  background-size: 100% auto;
  border: none;
  content: "ページを開く";
  display: inline-block;
  font-size: 0;
  height: 18px;
  margin-left: 4px;
  margin-right: 4px;
  -webkit-transform: none;
  transform: none;
  vertical-align: 15px;
  width: 18px
}

.c-link-question button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--link-arrow-color01);
  display: inline-block;
  line-height: 1.6;
  padding-left: 0;
  padding-right: 0;
  position: relative;
  text-align: left;
  text-decoration: underline
}

@media (hover:hover) {
  .c-link-question button:hover {
    text-decoration: none
  }
}

.c-link-question button:after {
  background: url(../img/icon-question.svg) no-repeat;
  background-size: 100% auto;
  border: none;
  content: "モーダルを開く";
  display: inline-block;
  font-size: 0;
  height: 18px;
  margin-left: 4px;
  margin-right: 4px;
  -webkit-transform: none;
  transform: none;
  vertical-align: 15px;
  width: 18px;
}

.c-payment-simulate {
  --tax-tag-bg-color: #e8f6ff;
  --simulate-overlay-color: rgba(0, 0, 0, .8);
  --simulate-table-bg-color: #e8f6ff;
  bottom: 0;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 1000;
}

.c-payment-simulate__body {
  background-color: #fff;
  -webkit-box-shadow: 0 4px 16px rgba(17, 17, 26, .25), 0 8px 32px rgba(17, 17, 26, .25);
  box-shadow: 0 4px 16px rgba(17, 17, 26, .25), 0 8px 32px rgba(17, 17, 26, .25);
  position: relative;
}

.c-payment-simulate__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%
}

@media (min-width:768px) {
  .c-payment-simulate__head {
    /*min-height: 100px;*/
    min-height: 50px
  }
}

.c-payment-simulate__head-sumttl {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 24vw
}

.c-payment-simulate__head-sumttl>div+div {
  margin-top: 1px
}

.c-payment-simulate__head-sumttl-text {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.8rem;
  /*height: 50%;*/
  height: 100%;
  justify-content: center;
  line-height: 1.4;
  text-align: center
}

@media (max-width:767px) {
  .c-payment-simulate__head-sumttl-text {
    font-size: 2.6666666667vw;
    height: 50%;
  }
}

@media (min-width:992px) {
  .c-payment-simulate__head-sumttl-text>br {
    display: none
  }
}

.c-payment-simulate__head-sumttl-text[data-style=month] {
  background-color: #0072bc
}

.c-payment-simulate__head-sumttl-text[data-style=first] {
  background-color: #6c6c6c
}

.c-payment-simulate__head-sumcontent-sum {
  height: 100%;
  padding: 18px 15px 5px;
  width: 20vw;
}

@media (max-width:767px) {
  .c-payment-simulate__head-sumcontent-sum {
    padding: 1.3333333333vw 2vw;
    height: 50%;
    padding: 10px 15px 5px;
    width: auto;
  }
}

.c-payment-simulate__head-sumcontent-sum-tax {
  background-color: var(--tax-tag-bg-color);
  color: #0072bc;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
  padding: 5px 6px;
  vertical-align: -3px
}
.c-payment-simulate__head-sumcontent-sum-money {
    font-size: 5.3vw
  }

@media (max-width:767px) {
  .c-payment-simulate__head-sumcontent-sum-tax {
    font-size: 3.0666666667vw
  }
}

.c-payment-simulate__head-sumcontent-sum-money {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1;
  margin-left: 10px;
  vertical-align: text-bottom
}

@media (max-width:767px) {
  .c-payment-simulate__head-sumcontent-sum-money {
    font-size: 4.8vw
  }
	.c-payment-simulate__head-sumcontent-sum-en{font-size: 84%;}
	.ryoukin_txt{padding: 6px;}

}

.c-payment-simulate__head-sumcontent-sum-money span {
  font-size: 2.6rem;
  font-weight: 600;
  margin-left: .2em
}

@media (max-width:767px) {
  .c-payment-simulate__head-sumcontent-sum-money span {
    font-size: 3.2vw
  }
}

.c-payment-simulate__head-sumcontent-sum-en {
  line-height: 1;
  vertical-align: text-bottom
}

.c-payment-simulate__head-btn {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 0 auto;
  /*padding: 16px 16px 16px 0;*/
  padding: 8px 8px 8px 0
}

.c-payment-simulate__head-btn>button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: 2px solid #0072bc;
  border-radius: 5px;
  color: #0072bc;
  cursor: pointer;
  font-size: 2.4rem;
  line-height: 1;
  padding: 11px 28px 11px 8px;
  position: relative;
  -webkit-transition: background-color .3s ease, color .3s ease;
  transition: background-color .3s ease, color .3s ease
}

@media (max-width:767px) {
  .c-payment-simulate__head-btn>button {
    font-size: 3.2vw;
    padding: 10px 24px 10px 8px
  }
}

.c-payment-simulate__head-btn>button:hover {
  background-color: #0072bc;
  color: #fff
}

.c-payment-simulate__head-btn>button:hover:before {
  border-color: #fff
}

.c-payment-simulate__head-btn>button:before {
  border-bottom: 2px solid #0072bc;
  border-right: 2px solid #0072bc;
  content: "";
  height: 10px;
  position: absolute;
  right: 8px;
  top: 50%;
  -webkit-transform: translateY(calc(-50% + 3px)) rotate(225deg);
  transform: translateY(calc(-50% + 3px)) rotate(225deg);
  -webkit-transition: border-color .3s ease;
  transition: border-color .3s ease;
  width: 10px
}

.c-payment-simulate__head-btn>button[data-simulate-content=visible]:before {
  -webkit-transform: translateY(calc(-50% - 2px)) rotate(45deg);
  transform: translateY(calc(-50% - 2px)) rotate(45deg)
}

.c-payment-simulate-table {
  padding: 19px 20px 19px 20px;
}

.c-payment-simulate-table[data-style=month] {
  /*background-color: var(--simulate-table-bg-color);*/
  background-color: #e8f6ff;
}

.c-payment-simulate-table[data-style=first] {
  background-color: #f5f5f5;
  border-top: 1px solid #dedede
}

.c-payment-simulate-table figure {
  margin: 0
}

.c-payment-simulate-table table+p {
  background-color: #fff;
  display: block;
  font-size: 1.2rem;
  line-height: 1.5;
  margin: 0 -20px;
  padding: 11px 0
}

@media (max-width:767px) {
  .c-payment-simulate-table table+p {
    font-size: 3.2vw
  }
}

.c-payment-simulate-table table {
  border: none;
  font-size: 1.3rem;
  width: 100%
}

.c-payment-simulate-table table tr+tr td, .c-payment-simulate-table table tr+tr th, .c-payment-simulate-table table tr:first-child td, .c-payment-simulate-table table tr:first-child th {
  padding-bottom: 13px;
}

.c-payment-simulate-table table tr:first-child {
  border-bottom: 1px solid #0072bc;
}

.c-payment-simulate-table table tr:nth-child(2) td, .c-payment-simulate-table table tr:nth-child(2) th {
  padding-top: 13px;
}

.c-payment-simulate-table table tr:first-child td, .c-payment-simulate-table table tr:first-child th {
  padding-bottom: 13px;
  vertical-align: middle;
}

.c-payment-simulate-table table tr:first-child th {
  color: #0072bc;
  font-size: 1.4rem
}

.c-payment-simulate-table table tr:first-child td {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: end
}

.c-payment-simulate-table table td, .c-payment-simulate-table table th {
  background-color: transparent;
  font-weight: 600;
  line-height: 1.385;
  padding: 0;
  vertical-align: top
}

.c-payment-simulate-table table th {
  max-width: 60vw;
  text-align: left
}

.c-payment-simulate-table table td {
  border: none;
  text-align: right
}

.c-payment-simulate-table__tax {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-negative: 0;
  align-items: center;
  background-color: #0072bc;
  color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  flex-shrink: 0;
  font-size: 1.3rem;
  margin-top: 5px;
  padding: 1px 3px 3px
}

.c-payment-simulate-table__money {
  font-size: 2.2rem;
  font-weight: 600;
  margin-left: 12px;
  white-space: nowrap
}

.c-payment-simulate__detail[aria-hidden=true] {
  display: none
}

.c-payment-simulate__detail-table {
  background-color: var(--simulate-table-bg-color);
  border-top: 1px solid #dedede;
  padding: 19px 20px 0;
  width: 100%
}

.c-payment-simulate__detail-table figure {
  margin: 0
}

.c-payment-simulate__detail-table figure figcaption {
  background-color: #fff;
  border-top: 1px solid #dedede;
  display: block;
  font-size: 1.2rem;
  margin: 0 -20px;
  padding: 11px 20px
}

.c-payment-simulate__detail-table table {
  border: none;
  font-size: 1.3rem;
  margin-bottom: 10px;
  width: 100%
}

.c-payment-simulate__detail-table table tr+tr td, .c-payment-simulate__detail-table table tr+tr th, .c-payment-simulate__detail-table table tr:first-child td, .c-payment-simulate__detail-table table tr:first-child th {
  padding-bottom: 13px
}

.c-payment-simulate__detail-table table tr:last-child {
  border-top: 2px solid #0072bc
}

.c-payment-simulate__detail-table table tr:last-child td, .c-payment-simulate__detail-table table tr:last-child th {
  padding-top: 13px;
  vertical-align: middle
}

.c-payment-simulate__detail-table table tr:last-child th {
  color: #0072bc;
  font-size: 1.4rem
}

.c-payment-simulate__detail-table table tr:last-child td {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: end
}

.c-payment-simulate__detail-table table td, .c-payment-simulate__detail-table table th {
  background-color: transparent;
  font-weight: 600;
  line-height: 1.385;
  padding: 0;
  vertical-align: top
}

.c-payment-simulate__detail-table table th {
  max-width: 60vw;
  text-align: left
}

.c-payment-simulate__detail-table table td {
  border: none;
  text-align: right
}

.c-payment-simulate__detail-table-tax {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-negative: 0;
  align-items: center;
  background-color: #0072bc;
  color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  flex-shrink: 0;
  font-size: 1.3rem;
  margin-top: 2px;
  padding: 1px 3px 3px
}

.c-payment-simulate__detail-table-money {
  font-size: 2.2rem;
  font-weight: 600;
  margin-left: 12px;
  white-space: nowrap
}

.c-payment-simulate__overlay[aria-hidden=false] {
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  background-color: var(--simulate-overlay-color);
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999
}

.c-payment-simulate__overlay[aria-hidden=true] {
  display: none
}

:is(.h-space-large, #⚡) {
  margin-bottom: 80px
}

:is(.h-space-small, #⚡) {
  margin-bottom: 30px
}

:is(.h-space-none, #⚡) {
  margin-bottom: 0
}

.h-space-mt0 {
  margin-top: 0
}
.h-space-mb0 {
  margin-bottom: 0;
}
.h-space-ml0 {
  margin-left: 0;
}
.h-space-mr0 {
  margin-right: 0px !important;
}
.h-space-pt0 {
  padding-top: 0;
}
.h-space-pb0 {
  padding-bottom: 0;
}
.h-space-pl0 {
  padding-left: 0;
}
.h-space-pr0 {
  padding-right: 0;
}
.h-space-mt5 {
  margin-top: 5px;
}
.h-space-mb5 {
  margin-bottom: 5px;
}
.h-space-ml5 {
  margin-left: 5px;
}
.h-space-mr5 {
  margin-right: 5px;
}
.h-space-pt5 {
  padding-top: 5px;
}
.h-space-pb5 {
  padding-bottom: 5px;
}
.h-space-pl5 {
  padding-left: 5px;
}
.h-space-pr5 {
  padding-right: 5px;
}
.h-space-mt10 {
  margin-top: 10px;
}
.h-space-mb10 {
  margin-bottom: 10px;
}
.h-space-ml10 {
  margin-left: 10px;
}
.h-space-mr10 {
  margin-right: 10px;
}
.h-space-pt10 {
  padding-top: 10px;
}
.h-space-pb10 {
  padding-bottom: 10px;
}
.h-space-pl10 {
  padding-left: 10px;
}
.h-space-pr10 {
  padding-right: 10px;
}
.h-space-mt15 {
  margin-top: 15px;
}
.h-space-mb15 {
  margin-bottom: 15px;
}
.h-space-ml15 {
  margin-left: 15px;
}

.h-space-mr15 {
  margin-right: 15px;
}
.h-space-pt15 {
  padding-top: 15px;
}
.h-space-pb15 {
  padding-bottom: 15px;
}
.h-space-pl15 {
  padding-left: 15px;
}
.h-space-pr15 {
  padding-right: 15px;
}
.h-space-mt20 {
  margin-top: 20px;
}
.h-space-mb20 {
  margin-bottom: 20px;
}
.h-space-ml20 {
  margin-left: 20px;
}
.h-space-mr20 {
  margin-right: 20px;
}
.h-space-pt20 {
  padding-top: 20px;
}
.h-space-pb20 {
  padding-bottom: 20px;
}
.h-space-pl20 {
  padding-left: 20px;
}
.h-space-pr20 {
  padding-right: 20px;
}
.h-space-mt25 {
  margin-top: 25px;
}
.h-space-mb25 {
  margin-bottom: 25px;
}
.h-space-ml25 {
  margin-left: 25px;
}
.h-space-mr25 {
  margin-right: 25px;
}
.h-space-pt25 {
  padding-top: 25px;
}
.h-space-pb25 {
  padding-bottom: 25px;
}
.h-space-pl25 {
  padding-left: 25px;
}
.h-space-pr25 {
  padding-right: 25px;
}
.h-space-mt30 {
  margin-top: 30px;
}
.h-space-mb3{margin-bottom: 3px;
}
.h-space-mb30 {
  margin-bottom: 30px;
}
.h-space-ml30 {
  margin-left: 30px;
}
.h-space-mr30 {
  margin-right: 30px;
}
.h-space-pt30 {
  padding-top: 30px;
}
.h-space-pb30 {
  padding-bottom: 30px;
}
.h-space-pl30 {
  padding-left: 30px;
}
.h-space-pr30 {
  padding-right: 30px;
}
.h-space-mt35 {
  margin-top: 35px;
}
.h-space-mb35 {
  margin-bottom: 35px;
}
.h-space-ml35 {
  margin-left: 35px;
}
.h-space-mr35 {
  margin-right: 35px;
}
.h-space-pt35 {
  padding-top: 35px;
}
.h-space-pb35 {
  padding-bottom: 35px;
}
.h-space-pl35 {
  padding-left: 35px;
}
.h-space-pr35 {
  padding-right: 35px;
}
.h-space-mt40 {
  margin-top: 40px;
}
.h-space-mb40 {
  margin-bottom: 40px;
}
.h-space-ml40 {
  margin-left: 40px;
}
.h-space-mr40 {
  margin-right: 40px;
}
.h-space-pt40 {
  padding-top: 40px;
}
.h-space-pb40 {
  padding-bottom: 40px;
}
.h-space-pl40 {
  padding-left: 40px;
}
.h-space-pr40 {
  padding-right: 40px;
}
.h-space-mt45 {
  margin-top: 45px;
}
.h-space-mb45 {
  margin-bottom: 45px;
}
.h-space-ml45 {
  margin-left: 45px;
}
.h-space-mr45 {
  margin-right: 45px;
}
.h-space-pt45 {
  padding-top: 45px;
}
.h-space-pb45 {
  padding-bottom: 45px;
}
.h-space-pl45 {
  padding-left: 45px;
}
.h-space-pr45 {
  padding-right: 45px;
}
.h-space-mt50 {
  margin-top: 50px;
}
.h-space-mb50 {
  margin-bottom: 50px;
}
.h-space-ml50 {
  margin-left: 50px;
}
.h-space-mr50 {
  margin-right: 50px;
}
.h-space-pt50 {
  padding-top: 50px;
}
.h-space-pb50 {
  padding-bottom: 50px;
}
.h-space-pl50 {
  padding-left: 50px;
}
.h-space-pr50 {
  padding-right: 50px;
}
.h-space-mt55 {
  margin-top: 55px;
}
.h-space-mb55 {
  margin-bottom: 55px;
}
.h-space-ml55 {
  margin-left: 55px;
}
.h-space-mr55 {
  margin-right: 55px;
}
.h-space-pt55 {
  padding-top: 55px;
}
.h-space-pb55 {
  padding-bottom: 55px;
}
.h-space-pl55 {
  padding-left: 55px;
}
.h-space-pr55 {
  padding-right: 55px;
}
.h-space-mt60 {
  margin-top: 60px;
}
.h-space-mb60 {
  margin-bottom: 60px;
}
.h-space-ml60 {
  margin-left: 60px;
}
.h-space-mr60 {
  margin-right: 60px;
}
.h-space-pt60 {
  padding-top: 60px;
}
.h-space-pb60 {
  padding-bottom: 60px;
}
.h-space-pl60 {
  padding-left: 60px;
}
.h-space-pr60 {
  padding-right: 60px;
}
.h-space-mt65 {
  margin-top: 65px;
}
.h-space-mb65 {
  margin-bottom: 65px;
}
.h-space-ml65 {
  margin-left: 65px;
}
.h-space-mr65 {
  margin-right: 65px;
}
.h-space-pt65 {
  padding-top: 65px;
}
.h-space-pb65 {
  padding-bottom: 65px;
}
.h-space-pl65 {
  padding-left: 65px;
}
.h-space-pr65 {
  padding-right: 65px;
}
.h-space-mt70 {
  margin-top: 70px;
}
.h-space-mb70 {
  margin-bottom: 70px;
}
.h-space-ml70 {
  margin-left: 70px;
}
.h-space-mr70 {
  margin-right: 70px;
}
.h-space-pt70 {
  padding-top: 70px;
}
.h-space-pb70 {
  padding-bottom: 70px;
}
.h-space-pl70 {
  padding-left: 70px;
}
.h-space-pr70 {
  padding-right: 70px;
}
.h-space-mt75 {
  margin-top: 75px;
}
.h-space-mb75 {
  margin-bottom: 75px;
}
.h-space-ml75 {
  margin-left: 75px;
}
.h-space-mr75 {
  margin-right: 75px;
}
.h-space-pt75 {
  padding-top: 75px;
}
.h-space-pb75 {
  padding-bottom: 75px;
}
.h-space-pl75 {
  padding-left: 75px;
}
.h-space-pr75 {
  padding-right: 75px;
}
.h-space-mt80 {
  margin-top: 80px;
}
.h-space-mb80 {
  margin-bottom: 80px;
}
.h-space-ml80 {
  margin-left: 80px;
}
.h-space-mr80 {
  margin-right: 80px;
}
.h-space-pt80 {
  padding-top: 80px;
}
.h-space-pb80 {
  padding-bottom: 80px;
}
.h-space-pl80 {
  padding-left: 80px;
}
.h-space-pr80 {
  padding-right: 80px;
}
.h-space-mt85 {
  margin-top: 85px;
}
.h-space-mb85 {
  margin-bottom: 85px;
}
.h-space-ml85 {
  margin-left: 85px;
}
.h-space-mr85 {
  margin-right: 85px;
}
.h-space-pt85 {
  padding-top: 85px;
}
.h-space-pb85 {
  padding-bottom: 85px;
}
.h-space-pl85 {
  padding-left: 85px;
}
.h-space-pr85 {
  padding-right: 85px;
}
.h-space-mt90 {
  margin-top: 90px;
}
.h-space-mb90 {
  margin-bottom: 90px;
}
.h-space-ml90 {
  margin-left: 90px;
}
.h-space-mr90 {
  margin-right: 90px;
}
.h-space-pt90 {
  padding-top: 90px;
}
.h-space-pb90 {
  padding-bottom: 90px;
}
.h-space-pl90 {
  padding-left: 90px;
}
.h-space-pr90 {
  padding-right: 90px;
}
.h-space-mt95 {
  margin-top: 95px;
}
.h-space-mb95 {
  margin-bottom: 95px;
}
.h-space-ml95 {
  margin-left: 95px;
}
.h-space-mr95 {
  margin-right: 95px;
}
.h-space-pt95 {
  padding-top: 95px;
}
.h-space-pb95 {
  padding-bottom: 95px;
}
.h-space-pl95 {
  padding-left: 95px;
}
.h-space-pr95 {
  padding-right: 95px;
}
.h-space-mt100 {
  margin-top: 100px;
}
.h-space-mb100 {
  margin-bottom: 100px;
}
.h-space-ml100 {
  margin-left: 100px;
}
.h-space-mr100 {
  margin-right: 100px;
}
.h-space-pt100 {
  padding-top: 100px;
}
.h-space-pb100 {
  padding-bottom: 100px;
}
.h-space-pl100 {
  padding-left: 100px;
}
.h-space-pr100 {
  padding-right: 100px;
}

@media (max-width:767px) {
  .h-space-mt0-sp {
    margin-top: 0;
  }
.h-space-mb0-sp {
    margin-bottom: 0;
  }
.h-space-ml0-sp {
    margin-left: 0;
  }
.h-space-mr0-sp {
    margin-right: 0;
  }
.h-space-pt0-sp {
    padding-top: 0;
  }
.h-space-pb0-sp {
    padding-bottom: 0;
  }
.h-space-pl0-sp {
    padding-left: 0;
  }
.h-space-pr0-sp {
    padding-right: 0;
  }
.h-space-mt5-sp {
    margin-top: 5px;
  }
.h-space-mb5-sp {
    margin-bottom: 5px;
  }
.h-space-ml5-sp {
    margin-left: 5px;
  }
.h-space-mr5-sp {
    margin-right: 5px;
  }
.h-space-pt5-sp {
    padding-top: 5px;
  }
.h-space-pb5-sp {
    padding-bottom: 5px;
  }
.h-space-pl5-sp {
    padding-left: 5px;
  }
.h-space-pr5-sp {
    padding-right: 5px;
  }
.h-space-mt10-sp {
    margin-top: 10px;
  }
.h-space-mb10-sp {
    margin-bottom: 10px;
  }
.h-space-ml10-sp {
    margin-left: 10px;
  }
.h-space-mr10-sp {
    margin-right: 10px;
  }
.h-space-pt10-sp {
    padding-top: 10px;
  }
.h-space-pb10-sp {
    padding-bottom: 10px;
  }
.h-space-pl10-sp {
    padding-left: 10px;
  }
.h-space-pr10-sp {
    padding-right: 10px;
  }
.h-space-mt15-sp {
    margin-top: 15px;
  }
.h-space-mb15-sp {
    margin-bottom: 15px;
  }
.h-space-ml15-sp {
    margin-left: 15px;
  }
.h-space-mr15-sp {
    margin-right: 15px;
  }
.h-space-pt15-sp {
    padding-top: 15px;
  }
.h-space-pb15-sp {
    padding-bottom: 15px;
  }
.h-space-pl15-sp {
    padding-left: 15px;
  }
.h-space-pr15-sp {
    padding-right: 15px;
  }
.h-space-mt20-sp {
    margin-top: 20px;
  }
.h-space-mb20-sp {
    margin-bottom: 20px;
  }
.h-space-ml20-sp {
    margin-left: 20px;
  }
.h-space-mr20-sp {
    margin-right: 20px;
  }
.h-space-pt20-sp {
    padding-top: 20px;
  }
.h-space-pb20-sp {
    padding-bottom: 20px;
  }
.h-space-pl20-sp {
    padding-left: 20px;
  }
.h-space-pr20-sp {
    padding-right: 20px;
  }
.h-space-mt25-sp {
    margin-top: 25px;
  }
.h-space-mb25-sp {
    margin-bottom: 25px;
  }
.h-space-ml25-sp {
    margin-left: 25px;
  }
.h-space-mr25-sp {
    margin-right: 25px;
  }
.h-space-pt25-sp {
    padding-top: 25px;
  }
.h-space-pb25-sp {
    padding-bottom: 25px;
  }
.h-space-pl25-sp {
    padding-left: 25px;
  }
.h-space-pr25-sp {
    padding-right: 25px;
  }
.h-space-mt30-sp {
    margin-top: 30px;
  }
.h-space-mb30-sp {
    margin-bottom: 30px;
  }
.h-space-ml30-sp {
    margin-left: 30px;
  }
.h-space-mr30-sp {
    margin-right: 30px;
  }
.h-space-pt30-sp {
    padding-top: 30px;
  }
.h-space-pb30-sp {
    padding-bottom: 30px;
  }
.h-space-pl30-sp {
    padding-left: 30px;
  }
.h-space-pr30-sp {
    padding-right: 30px;
  }
.h-space-mt35-sp {
    margin-top: 35px;
  }
.h-space-mb35-sp {
    margin-bottom: 35px;
  }
.h-space-ml35-sp {
    margin-left: 35px;
  }
.h-space-mr35-sp {
    margin-right: 35px;
  }
.h-space-pt35-sp {
    padding-top: 35px;
  }
.h-space-pb35-sp {
    padding-bottom: 35px;
  }
.h-space-pl35-sp {
    padding-left: 35px;
  }
.h-space-pr35-sp {
    padding-right: 35px;
  }
.h-space-mt40-sp {
    margin-top: 40px;
  }
.h-space-mb40-sp {
    margin-bottom: 40px;
  }
.h-space-ml40-sp {
    margin-left: 40px;
  }
.h-space-mr40-sp {
    margin-right: 40px;
  }
.h-space-pt40-sp {
    padding-top: 40px;
  }
.h-space-pb40-sp {
    padding-bottom: 40px;
  }
.h-space-pl40-sp {
    padding-left: 40px;
  }
.h-space-pr40-sp {
    padding-right: 40px;
  }
.h-space-mt45-sp {
    margin-top: 45px;
  }
.h-space-mb45-sp {
    margin-bottom: 45px;
  }
.h-space-ml45-sp {
    margin-left: 45px;
  }
.h-space-mr45-sp {
    margin-right: 45px;
  }
.h-space-pt45-sp {
    padding-top: 45px;
  }
.h-space-pb45-sp {
    padding-bottom: 45px;
  }
.h-space-pl45-sp {
    padding-left: 45px;
  }
.h-space-pr45-sp {
    padding-right: 45px;
  }
.h-space-mt50-sp {
    margin-top: 50px;
  }
.h-space-mb50-sp {
    margin-bottom: 50px;
  }
.h-space-ml50-sp {
    margin-left: 50px;
  }
.h-space-mr50-sp {
    margin-right: 50px;
  }
.h-space-pt50-sp {
    padding-top: 50px;
  }
.h-space-pb50-sp {
    padding-bottom: 50px;
  }
.h-space-pl50-sp {
    padding-left: 50px;
  }
.h-space-pr50-sp {
    padding-right: 50px;
  }
.h-space-mt55-sp {
    margin-top: 55px;
  }
.h-space-mb55-sp {
    margin-bottom: 55px;
  }
.h-space-ml55-sp {
    margin-left: 55px;
  }
.h-space-mr55-sp {
    margin-right: 55px;
  }
.h-space-pt55-sp {
    padding-top: 55px;
  }
.h-space-pb55-sp {
    padding-bottom: 55px;
  }
.h-space-pl55-sp {
    padding-left: 55px;
  }
.h-space-pr55-sp {
    padding-right: 55px;
  }
.h-space-mt60-sp {
    margin-top: 60px;
  }
.h-space-mb60-sp {
    margin-bottom: 60px;
  }
.h-space-ml60-sp {
    margin-left: 60px;
  }
.h-space-mr60-sp {
    margin-right: 60px;
  }
.h-space-pt60-sp {
    padding-top: 60px;
  }
.h-space-pb60-sp {
    padding-bottom: 60px;
  }
 .h-space-pl60-sp {
    padding-left: 60px;
  }
.h-space-pr60-sp {
    padding-right: 60px;
  }
.h-space-mt65-sp {
    margin-top: 65px;
  }
.h-space-mb65-sp {
    margin-bottom: 65px;
  }
.h-space-ml65-sp {
    margin-left: 65px;
  }
.h-space-mr65-sp {
    margin-right: 65px;
  }
.h-space-pt65-sp {
    padding-top: 65px;
  }
.h-space-pb65-sp {
    padding-bottom: 65px;
  }
.h-space-pl65-sp {
    padding-left: 65px;
  }
.h-space-pr65-sp {
    padding-right: 65px;
  }
.h-space-mt70-sp {
    margin-top: 70px;
  }
.h-space-mb70-sp {
    margin-bottom: 70px;
  }
.h-space-ml70-sp {
    margin-left: 70px;
  }
.h-space-mr70-sp {
    margin-right: 70px;
  }
.h-space-pt70-sp {
    padding-top: 70px;
  }
.h-space-pb70-sp {
    padding-bottom: 70px;
  }
.h-space-pl70-sp {
    padding-left: 70px;
  }
.h-space-pr70-sp {
    padding-right: 70px;
  }
.h-space-mt75-sp {
    margin-top: 75px;
  }
.h-space-mb75-sp {
    margin-bottom: 75px;
  }
.h-space-ml75-sp {
    margin-left: 75px;
  }
.h-space-mr75-sp {
    margin-right: 75px;
  }
.h-space-pt75-sp {
    padding-top: 75px;
  }
.h-space-pb75-sp {
    padding-bottom: 75px;
  }
.h-space-pl75-sp {
    padding-left: 75px;
  }
.h-space-pr75-sp {
    padding-right: 75px;
  }
.h-space-mt80-sp {
    margin-top: 80px;
  }
.h-space-mb80-sp {
    margin-bottom: 80px;
  }
.h-space-ml80-sp {
    margin-left: 80px;
  }
.h-space-mr80-sp {
    margin-right: 80px;
  }
.h-space-pt80-sp {
    padding-top: 80px;
  }
.h-space-pb80-sp {
    padding-bottom: 80px;
  }
.h-space-pl80-sp {
    padding-left: 80px;
  }
.h-space-pr80-sp {
    padding-right: 80px;
  }
.h-space-mt85-sp {
    margin-top: 85px;
  }
.h-space-mb85-sp {
    margin-bottom: 85px;
  }
.h-space-ml85-sp {
    margin-left: 85px;
  }
.h-space-mr85-sp {
    margin-right: 85px;
  }
.h-space-pt85-sp {
    padding-top: 85px;
  }
.h-space-pb85-sp {
    padding-bottom: 85px;
  }
.h-space-pl85-sp {
    padding-left: 85px;
  }
.h-space-pr85-sp {
    padding-right: 85px;
  }
.h-space-mt90-sp {
    margin-top: 90px;
  }
.h-space-mb90-sp {
    margin-bottom: 90px;
  }
.h-space-ml90-sp {
    margin-left: 90px;
  }
.h-space-mr90-sp {
    margin-right: 90px;
  }
.h-space-pt90-sp {
    padding-top: 90px;
  }
.h-space-pb90-sp {
    padding-bottom: 90px;
  }
.h-space-pl90-sp {
    padding-left: 90px;
  }
.h-space-pr90-sp {
    padding-right: 90px;
  }
.h-space-mt95-sp {
    margin-top: 95px;
  }
.h-space-mb95-sp {
    margin-bottom: 95px;
  }
.h-space-ml95-sp {
    margin-left: 95px;
  }
.h-space-mr95-sp {
    margin-right: 95px;
  }
.h-space-pt95-sp {
    padding-top: 95px;
  }
.h-space-pb95-sp {
    padding-bottom: 95px;
  }
.h-space-pl95-sp {
    padding-left: 95px;
  }
.h-space-pr95-sp {
    padding-right: 95px;
  }
.h-space-mt100-sp {
    margin-top: 100px;
  }
.h-space-mb100-sp {
    margin-bottom: 100px;
  }
.h-space-ml100-sp {
    margin-left: 100px;
  }
.h-space-mr100-sp {
    margin-right: 100px;
  }
.h-space-pt100-sp {
    padding-top: 100px;
  }
.h-space-pb100-sp {
    padding-bottom: 100px;
  }
.h-space-pl100-sp {
    padding-left: 100px;
  }
.h-space-pr100-sp {
    padding-right: 100px;
  }
}

:is(.h-text-center, #⚡) {
  text-align: center
}

@media (min-width:768px) {
  :is(.h-text-center-pc, #⚡) {
    text-align: center
  }
}

@media (max-width:767px) {
  :is(.h-text-center-sp, #⚡) {
    text-align: center
  }
}

:is(.h-text-right, #⚡) {
  text-align: right
}

@media (min-width:768px) {
  :is(.h-text-right-pc, #⚡) {
    text-align: right
  }
}

:is(.h-text-left, #⚡) {
  text-align: left
}

.h-text-size10 {
  font-size: 1rem!important
}

.h-text-size11 {
  font-size: 1.1rem!important
}

.h-text-size12 {
  font-size: 1.2rem!important
}

.h-text-size13 {
  font-size: 1.3rem!important
}

.h-text-size14 {
  font-size: 1.4rem!important
}

.h-text-size15 {
  font-size: 1.5rem!important
}

.h-text-size16 {
  font-size: 1.6rem!important
}

.h-text-size17 {
  font-size: 1.7rem!important
}

.h-text-size18 {
  font-size: 1.8rem!important
}

.h-text-size19 {
  font-size: 1.9rem!important
}

.h-text-size20 {
  font-size: 2rem!important
}

.h-text-size21 {
  font-size: 2.1rem!important
}

.h-text-size22 {
  font-size: 2.2rem!important
}

.h-text-size23 {
  font-size: 2.3rem!important
}

.h-text-size24 {
  font-size: 2.4rem!important
}

.h-text-size25 {
  font-size: 2.5rem!important
}

.h-text-size26 {
  font-size: 2.6rem!important
}

.h-text-size27 {
  font-size: 2.7rem!important
}

.h-text-size28 {
  font-size: 2.8rem!important
}

.h-text-size29 {
  font-size: 2.9rem!important
}

.h-text-size30 {
  font-size: 3rem!important
}

.h-text-size31 {
  font-size: 3.1rem!important
}

.h-text-size32 {
  font-size: 3.2rem!important
}

.h-text-size33 {
  font-size: 3.3rem!important
}

.h-text-size34 {
  font-size: 3.4rem!important
}

.h-text-size35 {
  font-size: 3.5rem!important
}

.h-text-size36 {
  font-size: 3.6rem!important
}

.h-text-size37 {
  font-size: 3.7rem!important
}

.h-text-size38 {
  font-size: 3.8rem!important
}

.h-text-size39 {
  font-size: 3.9rem!important
}

.h-text-size40 {
  font-size: 4rem!important
}

.h-text-size41 {
  font-size: 4.1rem!important
}

.h-text-size42 {
  font-size: 4.2rem!important
}

.h-text-size43 {
  font-size: 4.3rem!important
}

.h-text-size44 {
  font-size: 4.4rem!important
}

.h-text-size45 {
  font-size: 4.5rem!important
}

.h-text-size46 {
  font-size: 4.6rem!important
}

.h-text-size47 {
  font-size: 4.7rem!important
}

.h-text-size48 {
  font-size: 4.8rem!important
}

.h-text-size49 {
  font-size: 4.9rem!important
}

.h-text-size50 {
  font-size: 5rem!important
}

@media (min-width:768px) {
  .h-text-size10-pc {
    font-size: 1rem!important
  }
  .h-text-size11-pc {
    font-size: 1.1rem!important
  }
  .h-text-size12-pc {
    font-size: 1.2rem!important
  }
  .h-text-size13-pc {
    font-size: 1.3rem!important
  }
  .h-text-size14-pc {
    font-size: 1.4rem!important
  }
  .h-text-size15-pc {
    font-size: 1.5rem!important
  }
  .h-text-size16-pc {
    font-size: 1.6rem!important
  }
  .h-text-size17-pc {
    font-size: 1.7rem!important
  }
  .h-text-size18-pc {
    font-size: 1.8rem!important
  }
  .h-text-size19-pc {
    font-size: 1.9rem!important
  }
  .h-text-size20-pc {
    font-size: 2rem!important
  }
  .h-text-size21-pc {
    font-size: 2.1rem!important
  }
  .h-text-size22-pc {
    font-size: 2.2rem!important
  }
  .h-text-size23-pc {
    font-size: 2.3rem!important
  }
  .h-text-size24-pc {
    font-size: 2.4rem!important
  }
  .h-text-size25-pc {
    font-size: 2.5rem!important
  }
  .h-text-size26-pc {
    font-size: 2.6rem!important
  }
  .h-text-size27-pc {
    font-size: 2.7rem!important
  }
  .h-text-size28-pc {
    font-size: 2.8rem!important
  }
  .h-text-size29-pc {
    font-size: 2.9rem!important
  }
  .h-text-size30-pc {
    font-size: 3rem!important
  }
  .h-text-size31-pc {
    font-size: 3.1rem!important
  }
  .h-text-size32-pc {
    font-size: 3.2rem!important
  }
  .h-text-size33-pc {
    font-size: 3.3rem!important
  }
  .h-text-size34-pc {
    font-size: 3.4rem!important
  }
  .h-text-size35-pc {
    font-size: 3.5rem!important
  }
  .h-text-size36-pc {
    font-size: 3.6rem!important
  }
  .h-text-size37-pc {
    font-size: 3.7rem!important
  }
  .h-text-size38-pc {
    font-size: 3.8rem!important
  }
  .h-text-size39-pc {
    font-size: 3.9rem!important
  }
  .h-text-size40-pc {
    font-size: 4rem!important
  }
  .h-text-size41-pc {
    font-size: 4.1rem!important
  }
  .h-text-size42-pc {
    font-size: 4.2rem!important
  }
  .h-text-size43-pc {
    font-size: 4.3rem!important
  }
  .h-text-size44-pc {
    font-size: 4.4rem!important
  }
  .h-text-size45-pc {
    font-size: 4.5rem!important
  }
  .h-text-size46-pc {
    font-size: 4.6rem!important
  }
  .h-text-size47-pc {
    font-size: 4.7rem!important
  }
  .h-text-size48-pc {
    font-size: 4.8rem!important
  }
  .h-text-size49-pc {
    font-size: 4.9rem!important
  }
  .h-text-size50-pc {
    font-size: 5rem!important
  }
}

@media (max-width:767px) {
  .h-text-size10-sp {
    font-size: 1rem!important
  }
  .h-text-size11-sp {
    font-size: 1.1rem!important
  }
  .h-text-size12-sp {
    font-size: 1.2rem!important
  }
  .h-text-size13-sp {
    font-size: 1.3rem!important
  }
  .h-text-size14-sp {
    font-size: 1.4rem!important
  }
  .h-text-size15-sp {
    font-size: 1.5rem!important
  }
  .h-text-size16-sp {
    font-size: 1.6rem!important
  }
  .h-text-size17-sp {
    font-size: 1.7rem!important
  }
  .h-text-size18-sp {
    font-size: 1.8rem!important
  }
  .h-text-size19-sp {
    font-size: 1.9rem!important
  }
  .h-text-size20-sp {
    font-size: 2rem!important
  }
  .h-text-size21-sp {
    font-size: 2.1rem!important
  }
  .h-text-size22-sp {
    font-size: 2.2rem!important
  }
  .h-text-size23-sp {
    font-size: 2.3rem!important
  }
  .h-text-size24-sp {
    font-size: 2.4rem!important
  }
  .h-text-size25-sp {
    font-size: 2.5rem!important
  }
  .h-text-size26-sp {
    font-size: 2.6rem!important
  }
  .h-text-size27-sp {
    font-size: 2.7rem!important
  }
  .h-text-size28-sp {
    font-size: 2.8rem!important
  }
  .h-text-size29-sp {
    font-size: 2.9rem!important
  }
  .h-text-size30-sp {
    font-size: 3rem!important
  }
  .h-text-size31-sp {
    font-size: 3.1rem!important
  }
  .h-text-size32-sp {
    font-size: 3.2rem!important
  }
  .h-text-size33-sp {
    font-size: 3.3rem!important
  }
  .h-text-size34-sp {
    font-size: 3.4rem!important
  }
  .h-text-size35-sp {
    font-size: 3.5rem!important
  }
  .h-text-size36-sp {
    font-size: 3.6rem!important
  }
  .h-text-size37-sp {
    font-size: 3.7rem!important
  }
  .h-text-size38-sp {
    font-size: 3.8rem!important
  }
  .h-text-size39-sp {
    font-size: 3.9rem!important
  }
  .h-text-size40-sp {
    font-size: 4rem!important
  }
  .h-text-size41-sp {
    font-size: 4.1rem!important
  }
  .h-text-size42-sp {
    font-size: 4.2rem!important
  }
  .h-text-size43-sp {
    font-size: 4.3rem!important
  }
  .h-text-size44-sp {
    font-size: 4.4rem!important
  }
  .h-text-size45-sp {
    font-size: 4.5rem!important
  }
  .h-text-size46-sp {
    font-size: 4.6rem!important
  }
  .h-text-size47-sp {
    font-size: 4.7rem!important
  }
  .h-text-size48-sp {
    font-size: 4.8rem!important
  }
  .h-text-size49-sp {
    font-size: 4.9rem!important
  }
  .h-text-size50-sp {
    font-size: 5rem!important
  }
}

.h-text-size-xs {
  font-size: .75em!important
}

.h-text-size-sm {
  font-size: .875em!important
}

.h-text-size-md {
  font-size: 1em!important
}

.h-text-size-lg {
  font-size: 1.25em!important
}

.h-text-size-xl {
  font-size: 1.5em!important
}

.h-text-size-xxl {
  font-size: 2em!important
}

.h-text-color01 {
  color: #db3d23;
}

.h-text-color02 {
  color: #222222 !important;
}

.shinsa-block {
  background: #e6e8ed;
  margin: 0 auto;
  padding: 0
}

.shinsa-block--wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  overflow: hidden;
  padding: 20px 20px 0;
  width: 100%
}

.shinsa-block p.shinsa-num {
    background-color: #fff;
    border: 1px solid #e6e8ed;
    color: #282828;
    float: right;
    font-size: 1.2rem;
    line-height: 16px;
    margin-top: 0;
    /* margin: 0 auto; */
    max-width: 120px;
    min-width: 120px;
    padding: 10px 0;
    text-align: center;
}

@media (max-width: 767px){
  .shinsa-block p.shinsa-num {
    float: none;
    margin-left: auto;
    /* margin-right: auto; */
    max-width: 96px;
    min-width: 96px;
    font-size: 0.9rem;
    padding: 5px 0;
  }
  .shinsa-block--wrap{
    padding:0px;
  }
}

/* エラー */
p.warning_text{
    color:#db3d23;
    font-weight: 500;
    position: relative;
    padding-left: 40px;
    display: inline-block;
}

p.warning_text:before{
    content: url(../img/exclamation-triangle-solid.svg);
    /*transform: scale(0.9);*/
    width: 26px;
    color: #FFFF00;
    position: absolute;
    top: 0px;
    left: 0px;
}

.loading{
    animation:2s linear infinite loading_rotation;
    width: 50px;
    margin: 1rem auto 3rem;
}

@keyframes loading_rotation{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}

/* 改行制御 */
br.spbr{
  display: none;
}

br.tabr{
  display: none;
}

br.pcbr{
  display: inline;
}

@media (max-width:767px) {
  br.spbr{
    display: inline;
  }

  br.tabr{
    display: inline;
  }

  br.pcbr{
    display: none;
  }
}

@media (max-width:960px) {
  br.spbr{
    display: inline;
  }

  br.tabr{
    display: inline;
  }

  br.pcbr{
    display: none;
  }
}

/* h3でクエスチョンがズレるのを修正 */
.c-heading-question.h3_offset{
  position: relative;
  top: 4px;
}

/* ラジオボタンアクティブでオープンの不要な罫線非表示 */
.c-input-radio-open__title.border_bottom_none{
  border-bottom: none;
}

/* 生年月日のカラム制御 */
.year_heading{
  width: 100%;
}

.date_of_birth_form{
  width:60%;
  display: inline-block;
}

.date_of_birth_form_unit{
  width:30%;
  display: inline-block;
  margin-left:0.5rem;
}

@media (min-width:767px) {
  .date_of_birth_form.year{
    width: 190px;
    display: inline-block;
  }

  .date_of_birth_form.month{
    width: 190px;
    display: inline-block;
  }

  .date_of_birth_form.day{
    width: 190px;
    display: inline-block;
  }

  .year_heading{
    width: auto;
    margin-right: 0.5rem;
    display: inline-block;
  }

  .date_of_birth_form_unit{
    width:auto;
    display: inline-block;
    margin-left:0.5rem;
  }
}

/* マージンボトム0 */
.mb-0{
  margin-bottom:0 !important;
}

@media (max-width:767px) {
  .mb-sp-0{
    margin-bottom:0 !important;
  }
}

/* モーダルの謎のマージン */
.c-modal{
  margin-bottom: 0;
}

/* サービス選択（ラジオボタン無し） */
.service-box{
  font-size: 16px;
  font-weight: 700;
  border: 2px solid #ADADAD;
  border-radius: 7px;
  background: #FFFFFF;
  margin-bottom: 20px;
  padding: 20px;
  position: relative;
}

.service-box.disabled{
  border: 2px solid #ADADAD;
  background: #EEEEEE;
  color: #666666;
}

.service-box.disabled span.c-heading-custom{
  background: #FFFFFF;
  top: 20px;
}

.service-box span.c-heading-custom{
  --width: auto;
  --width-sp: auto;
  background-image: none;
  height: auto;
  line-height: 1.5;
  margin-right: 0;
  position: absolute;
  right: 20px;
  top: 15px;
  width: var(--width)
}

/* サービス選択（ラジオボタン有り）無効 */
.c-input-radio-box__title.disabled>input[type=radio]+label {
  border: 2px solid #adadad;
  background: #EEEEEE;
  border-radius: 8px;
  display: block;
  font-weight: 700;
  line-height: 1.32;
  padding: 20px 20px 20px 48px;
  position: relative;
  cursor: default;
  color: #666666;
}

.c-input-radio-box__title.disabled>input[type=radio]+label span.c-heading-custom{
  background: #FFFFFF;
}



/* テキストリンクモーダル */
.c-textlink-modal {
  --link-arrow-color01: #0072bc;
  display: inline-block;
  text-indent: 0;
}

.c-textlink-modal button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--link-arrow-color01);
  display: inline-block;
  line-height: 1.6;
  padding-left: 0;
  padding-right: 0;
  position: relative;
  text-align: left;
  text-decoration: underline;
  /*left: 1.6rem;*/
  width: 100%;
  text-indent: 0;
  white-space: nowrap;
}

@media (hover:hover) {
  .c-textlink-modal button:hover {
    text-decoration: none;
    cursor: pointer;
  }
}

/* グリッドのギャップ解除 */
.c-grid {
  gap: 0;
}

@media (max-width:767px) {
  .c-grid {
    gap: 0;
  }
}

/* 横並びボタンの順番変更 */
@media (max-width:767px) {
  .c-grid__item.pc_left_button{
    grid-row:2;
  }

  .c-grid__item.pc_right_button{
    grid-row:1;
  }
}

/* ラベルをフォームの左側に移動 */
@media (min-width:767px) {
  .c-input-text.pc_label label.c-input-text__label{
    margin-right: 10px;
    min-width: 64px;
    text-align: left;
    vertical-align: bottom;
  }

  .c-input-text.pc_label input.c-input-text__input{
    display: inline-block;
    /*width: calc(100% - 75px);*/
    width: calc(100% - 80px);
    vertical-align: top;
  }
}

/* グリッドのPC並び順 */

@media (min-width:767px) {
  .order_1{
    grid-row:1;
  }

  .order_2{
    grid-row:2;
  }

  .order_3{
    grid-row:3;
  }
}

/* PCのみ横並びリスト */
ul.side_list{
  margin-bottom: 1rem;
}

ul.side_list li{
  text-indent: 4.25rem;
}

ul.side_list li:first-child{
  text-indent: 0;
}

ul.side_list_option{

}

ul.side_list_option li{

}
/*
@media (min-width:767px) {
  ul.side_list{
    width: 100%;
  }

  ul.side_list li{
    width: 33%;
    display: inline-block;
  }
}*/

/* サービス選択 */
.selecting_service_h{
  border-bottom: 3px solid #eaedef;
  text-align: center;
  padding-bottom: 15px;
  margin-bottom: 15px;
}

.selecting_service_text_01,
.selecting_service_text_02,
.selecting_service_text_03{
  text-align: center;
}

@media (min-width:767px) {
  .selecting_service_h{
    border-right: 3px solid #eaedef;
    border-bottom:none;
    line-height: 32px;
    padding-right: 15px;
    padding-bottom: 0;
    margin-bottom: 0;
  }

  .selecting_service_text_01,
  .selecting_service_text_02{
    text-align: center;
    line-height: 32px;
  }

  .selecting_service_text_03{
    text-align: right;
    line-height: 32px;
    padding-right: 15px;
  }
}

/* ラジオボタン高さ固定 
*/
.c-input-radio-box__title>input[type=radio]+label:before {
  border: 2px solid #adadad;
  border-radius: 50%;
  content: "";
  height: 19px;
  left: 20px;
  position: absolute;
  top: 22px;
  -webkit-transition: border-color .3s ease;
  transition: border-color .3s ease;
  width: 19px
}

@media (max-width:767px) {
  .c-input-radio-box__title>input[type=radio]+label:before {
    top: 22px;
  }
}

.c-input-radio-box__title>input[type=radio]:checked+label:after {
  background: #0072bc;
  border-radius: 50%;
  content: "";
  height: 9px;
  left: 25px;
  position: absolute;
  top: 27px;
  -webkit-transition: background-color .3s ease;
  transition: background-color .3s ease;
  width: 9px
}

@media (max-width:767px) {
  .c-input-radio-box__title>input[type=radio]:checked+label:after {
    top: 27px
  }
}

/* 番地フォームの調整 */
@media (min-width:767px) {
  input.house_number{
    padding: 13px 12px;
  }
}

/* サブフォームの枠線 */
.sub_form_wrap{
  border: 1px solid #0072bc;
    background-color: #f2faff;
  border-radius: 8px;
  padding: 20px;
}

/* ローディング */
.loading_spinner::after{
  animation:0.75s linear infinite loading_spinner_rotation;
  content: '';
  display: inline-block;
  width: 23px;
  height: 23px;
  background-image: url('../img/spinner-solid.svg');
  background-size: contain;
  vertical-align: middle;
  margin-left: 1rem;
  position: relative;
  top: -2px;
}

@keyframes loading_spinner_rotation{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}

/* ひかり電話オプション選択価格表示 */

.c-input-check-box__title label small.monthly{
  display: inline-block;
  position: absolute;
  right: 20px;
  top: 20px;
  font-size: 16px;
  font-weight: normal;
}

.c-input-radio-open__title label small.monthly{
  display: inline-block;
  position: absolute;
  right: 0px;
  top: 10px;
  font-size: 16px;
  font-weight: normal;
}

/* 完了画面のよくあるご質問 */
@media (min-width:767px) {
  ul.c-list-dot.flex_pc{
    display: flex;
  }

  ul.c-list-dot.flex_pc li{
    margin-top: 0;
    margin-right: 2rem;
  }
}

/* 留意事項の必須マークがイレギュラーなため補足 */
.considerations{
  display: inline-block !important;
  width: 40px !important;
  position: relative !important;
  top:-1px !important;
  left:5px !important;
}

/* ドットリスト風段落 */

p.dot_list{
  padding-left: 1.5rem;
  position: relative;
}

p.dot_list:before{
  content: "・";
  position: absolute;
  left: 0;
  top: -5px;
  font-size: 30px;
  line-height: 100%;
}

/* placeholderの文字色変更 */

::placeholder {
  color: #CCCCCC;
}
/* 旧Edge対応 */
::-ms-input-placeholder {
  color: #CCCCCC;
}
/* IE対応 */
:-ms-input-placeholder {
  color: #CCCCCC;
}

/* チェックボックスの不要なボーダー削除 */
.border_bottom_none{
  border-bottom: none;
}

/* チェックボックス選択済みダミー */
.c-input-check-box__title>input[type=checkbox]:disabled+label {
  border: 2px solid #adadad;
}
.c-input-check-box__title>input[type=checkbox]:disabled+label{
	    background: #EEEEEE;
    color: #666666;
}
.c-input-check-box__title>input[type=checkbox]:disabled+label:before {
  background-color: #adadad;
  border: #adadad
}

/* セレクトボックス背景色変更Firefox対策 */
select{
  background-color: #FFFFFF;
}

/* ページ下部の税込み表記 */
.c-payment-simulate{
  bottom: 20px;
}

.tax_text{
  background-color: rgba(0,0,0,0.7);
  color: #FFFFFF;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 20px;
  font-size: 10px;
  font-weight: bold;
  z-index: 110;
}

.tax_text .c-page-sub__content-main{
  line-height: 20px;
}

.c-page-sub__content-main{
  position: relative;
}

.loading_layer{
  display: none;
}

.loading_layer.active{
  position: absolute;
  top: 92px;
  left: 0;
  background-color: #FFFFFF;
  width: 100%;
  height: calc(100% - 92px);
  z-index: 100;
  display: block;
}

.loading_layer.active #loading {
    position: fixed;
    top: 20%;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

.loading_text img,
.loading_image img{
  width: 100%;
  height: auto;
}

.loading_text{
  width: 200px;
  margin: 50px auto 20px;
}

.loading_image{
  width: 100px;
  margin: 0 auto;
}

/* 支払い画面のアスタリスク調整 */
.asterisk{
  vertical-align: -4px;
}

/* 番地選択ボタン追加 */
.select-address__item_66,
.select-address__item_100{
  margin-right:0;
  margin-bottom:15px;
}

.select-address__item_66{
  width:66%;
}

.select-address__item_100{
  width:100%;
}

/* ヘッダロゴ調整 */
.logomark{
  margin: 0;
}

.logotext{
  margin-left: 10px;
}
.icon_img_free{
	width:7%;
	vertical-align: middle;
}

/* ページ下部の調整 */

/* 料金フローティングあり */
.c-page-sub__footer.payment_simulate{
  padding-bottom: 110px;
}

@media (min-width: 576px) {
  .c-page-sub__footer.payment_simulate{
    padding-bottom: 150px;
  }
}

@media (min-width: 768px) {
  .c-page-sub__footer.payment_simulate{
    /*padding-bottom: 190px;*/
    padding-bottom: 86px;
  }
}

@media (min-width: 992px) {
  .c-page-sub__footer.payment_simulate{
    padding-bottom: 86px;
  }
}

@media (min-width: 1200px) {
  .c-page-sub__footer.payment_simulate{
    padding-bottom: 86px;
  }
}
/* 料金フローティング */

.payment_main_wrap{
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  /*padding: 0 20px; 992*/
  padding: 0;
}

.payment_wrap{
  display: block;
}

.payment_monthly_wrap,
.payment_initial_wrap{
    display: flex;
}

.payment_monthly,
.payment_initial{
  background-color: #d0d0d0;
  color: #222222;
  font-size: 2.66667vw;
  text-align: center;
  line-height: 150%;
  width: 25vw;
  min-height: 36px;
  height: auto;
  display: flex;
  justify-content:center;
  align-items: center;
  margin: 0;
}

.payment_amount{
  margin: 0;
  padding: 6px 10px 5px 10px;
  width: 34vw;
  text-align: right;
}

.payment_monthly_wrap .payment_monthly{
  border-top: 2px solid #d0d0d0;
  border-left: 2px solid #d0d0d0;
  border-right: 2px solid #d0d0d0;
  border-bottom: 2px solid #FFFFFF;
}

.payment_monthly_wrap .payment_amount{
  border-top: 2px solid #d0d0d0;
  border-left: none;
  border-right: 2px solid #d0d0d0;
  border-bottom: 2px solid #d0d0d0;
}

.payment_initial_wrap .payment_initial{
  border-top: none;
  border-left: 2px solid #d0d0d0;
  border-right: 2px solid #d0d0d0;
  border-bottom: 2px solid #d0d0d0;
}

.payment_initial_wrap .payment_amount{
  border-top: none;
  border-left: none;
  border-right: 2px solid #d0d0d0;
  border-bottom: 2px solid #d0d0d0;
}

.c-payment-simulate__head-btn .c-button-icon-modal button {
  color: #FFFFFF;
  border-color: #0072bc;
  background-color: #0072bc;
  width: 100%;
  margin: 0 auto;
  padding: 15px 18px;
}

.c-payment-simulate__head-btn .c-button-icon-modal button:after {
  background: url(../img/icon-modal_payment.svg) no-repeat;
  background-size: 100% auto;
  border: none;
  content: "モーダルを開く";
  display: inline-block;
  font-size: 0;
  height: 14px;
  margin-left: 4px;
  margin-right: 4px;
  -webkit-transform: none;
  transform: none;
  vertical-align: 13px;
  width: 14px
}

.c-payment-simulate__head-btn{
  padding: 8px 0;
  margin: 0 auto;
}
.ryoukin_txt{
font-size: 0.9rem;
padding-bottom: 5px;}

@media (min-width: 576px) {

}

@media (min-width: 768px) {
  .payment_main_wrap{
    padding: 0 20px;
  }

  .payment_wrap{
    display: flex;
  }

  .payment_monthly,
  .payment_initial{
    font-size: 1.5vw;
    text-align: center;
    line-height: 150%;
    width: 15vw;
    min-height: 40px;
    justify-content:center;
    align-items: center;
    margin: 10px 0;
  }

  .payment_amount{
    border: 2px solid #d0d0d0;
    margin: 10px 0;
    padding: 10px 20px 10px 15px;
    width: 18vw;
  }

  .payment_monthly_wrap .payment_monthly{
    border-top: 2px solid #d0d0d0;
    border-left: 2px solid #d0d0d0;
    border-right: 2px solid #d0d0d0;
    border-bottom: 2px solid #d0d0d0;
  }

  .payment_monthly_wrap .payment_amount{
    border-top: 2px solid #d0d0d0;
    border-left: 2px solid #d0d0d0;
    border-right: 2px solid #d0d0d0;
    border-bottom: 2px solid #d0d0d0;
  }

  .payment_initial_wrap .payment_initial{
    border-top: 2px solid #d0d0d0;
    border-left: 2px solid #d0d0d0;
    border-right: 2px solid #d0d0d0;
    border-bottom: 2px solid #d0d0d0;
  }

  .payment_initial_wrap .payment_amount{
    border-top: 2px solid #d0d0d0;
    border-left: 2px solid #d0d0d0;
    border-right: 2px solid #d0d0d0;
    border-bottom: 2px solid #d0d0d0;
  }

  .c-payment-simulate__head-btn .c-button-icon-modal button {
    color: #FFFFFF;
    border-color: #0072bc;
    background-color: #0072bc;
    width: 162px;
    padding: 10px 20px;
  }

  .c-payment-simulate__head-btn .c-button-icon-modal button:after {
    background: url(../img/icon-modal_payment.svg) no-repeat;
    background-size: 100% auto;
    border: none;
    content: "モーダルを開く";
    display: inline-block;
    font-size: 0;
    height: 14px;
    margin-left: 4px;
    margin-right: 4px;
    -webkit-transform: none;
    transform: none;
    vertical-align: 13px;
    width: 14px
  }

  .c-payment-simulate__head-btn{
    padding: 8px 0;
  }

}

@media (min-width: 992px) {
  .payment_monthly,
  .payment_initial{
    font-size: 16px;
	  font-weight: bold;
    height: auto;
    width: 195px;
  }

  .payment_amount{
    border: 2px solid #d0d0d0;
    padding: 7px 15px 5px 15px;
    width: 195px;
  }

  .c-payment-simulate__head-btn .c-button-icon-modal button {
    color: #FFFFFF;
    border-color: #0072bc;
    background-color: #0072bc;
    width: 162px;
  }

  .c-payment-simulate__head-btn .c-button-icon-modal button:after {
    background: url(../img/icon-modal_payment.svg) no-repeat;
    background-size: 100% auto;
    border: none;
    content: "モーダルを開く";
    display: inline-block;
    font-size: 0;
    height: 14px;
    margin-left: 4px;
    margin-right: -3px;
    -webkit-transform: none;
    transform: none;
    vertical-align: 13px;
    width: 14px
  }

  .c-payment-simulate__head-btn{
    padding: 6px 0 3px;
  }
}

@media (min-width: 1200px) {

  .payment_amount{
    border: 2px solid #d0d0d0;
    margin: 10px 0;
    padding: 10px 30px 10px 15px;
    width: 195px;
  }

  .c-payment-simulate__head-btn .c-button-icon-modal button {
    color: #FFFFFF;
    border-color: #0072bc;
    background-color: #0072bc;
    width: 162px;
  }

  .c-payment-simulate__head-btn .c-button-icon-modal button:after {
    background: url(../img/icon-modal_payment.svg) no-repeat;
    background-size: 100% auto;
    border: none;
    content: "モーダルを開く";
    display: inline-block;
    font-size: 0;
    height: 14px;
    margin-left: 4px;
    margin-right: 4px;
    -webkit-transform: none;
    transform: none;
    vertical-align: 13px;
    width: 14px
  }

  .c-payment-simulate__head-btn{
    padding: 8px 0;
  }
}

/* スムースクロール */
html {
  scroll-behavior: smooth;
}

/* iPhone 12 mini */
@media (max-width: 350px) {
  .c-input-radio-open__body .c-input-radio-open__option .c-grid .c-grid__item .c-input-check-box .c-input-check-box__title label{
    height: 100px;
  }

  .c-input-radio-open__body .c-input-radio-open__option .c-grid .c-grid__item .c-input-check-box .c-input-check-box__title>input[type=checkbox]:disabled+label{
    height: auto;
  }

  .c-input-radio-open__body .c-input-radio-open__option .c-grid .c-grid__item .c-input-check-box .c-input-check-box__title label small.monthly{
    top: 60px;
  }

  .c-payment-simulate__head-sumcontent-sum-money{
    font-size: 5.5vw;
  }
}

/* モーダルボタン追加 */
.c-button-external_modal {
  --width: 300px;
  --width-sp: 90%;
  --margin-bottom: 20px;
  --margin-bottom-sp: 20px;
  display: inline-block;
  margin-bottom: var(--margin-bottom);
  max-width: var(--width);
  width: 100%
}

@media (max-width:767px) {
  .c-button-external_modal {
    margin-bottom: var(--margin-bottom-sp);
    max-width: var(--width-sp)
  }
.icon_img_free{
	width:16%;
}
		.c-payment-simulate__head-btn{
		padding: 0px 4.65%;
		border-bottom: 2px solid #d0d0d0;
		margin: 0;
	}
}

.c-button-external_modal button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /*background: #f2faff;*/
  background: #FFFFFF;
  border: 1px solid #0072bc;
  border-radius: 8px;
  color: #0072bc;
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  padding: 14px 38px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 100%
}

.c-button-external_modal button:after {
  background: url(../img/icon-modal.svg) 50% no-repeat;
  background-size: 100% auto;
  bottom: 0;
  content: "";
  display: block;
  height: 16.5px;
  margin: auto;
  position: absolute;
  right: 15px;
  top: 0;
  width: 16.5px
}

/* 表示・非表示の切り替え */
.pc_inline_none{
  display: inline;
}

.sp_inline_none{
  display: none;
}

.pc_block_none{
  display: block;
}

.sp_block_none{
  display: none;
}

@media (min-width: 768px) {
  .pc_inline_none{
    display: none;
  }

  .sp_inline_none{
    display: inline;
  }

  .pc_block_none{
    display: none;
  }

  .sp_block_none{
    display: block;
  }
}

@media (max-width: 350px) {
  .caf_number{
    font-size: 1.9rem !important;
    line-height: 200%;
  }
}

/* セットサービスプラスボタン */

.c-input-radio-box__title.disabled.single_radio label span.plus_mark,
.c-input-radio-box__title.single_radio label span.plus_mark{
  display: inline-block !important;
  width: auto !important;
  margin: 0 !important;
}

.c-input-radio-box__title.single_radio label span.plus_mark:before{
  background: url(../img/plus_blue.svg) no-repeat;
}

.c-input-radio-box__title.disabled.single_radio label span.plus_mark:before{
  background: url(../img/plus_gray.svg) no-repeat;
}

.c-input-radio-box__title.single_radio label span.plus_mark:before,
.c-input-radio-box__title.disabled.single_radio label span.plus_mark:before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 14px;
  height: 14px;
  background-size: contain;
  position: relative;
  top: -3px;
  left: 0px;
  margin: 0 4px;
}

/* シングルラジオボタンでのラベル高さ調整 */
.c-input-radio-box .c-input-radio-box__title.single_radio label span.c-heading-custom{
  top: 18px;
}

/* ？モーダルボタンをラベル内に入れるためのオフセット */
label button.c-heading-question{
  top: auto;
  bottom: -3px;
  margin-right: 10px;
}

/* 提供判定電話番号入力 */
.c-grid__item.tel_number_form{
  margin-right: 0;
}

.c-grid__item.tel_number_form img{
  width:auto;
  height:42px;
  display: inline-block;
  margin-top:5px;
}

.c-grid__item.tel_number_form .c-input-text{
  width:calc(100% - 60px);
  display: inline-block;
}

.c-grid__item.tel_number_form .c-input-text input.c-input-text__input{
  height:49px;
}

.c-grid__item.tel_number_form .c-button-nextsubmit01{
  margin-bottom: 10px;
  max-width:240px;
}

.c-grid__item.tel_number_form .c-button-nextsubmit01 button{
  height:49px;
  padding:5px !important;
}

@media (max-width:767px) {
  .c-grid__item.tel_number_form{
    margin-right: 15px;
  }
}

/* ローディング */
.loading_text{
  width: 300px;
  margin: 50px auto 20px;
}

.loading_text_b{
  font-size:26px;
  font-weight:600;
}

.loading_text_s{
  font-size:20px;
  font-weight:600;
  margin-bottom: 40px;
}

.searching_navit img{
  width: 250px;
  height: auto;
}

/* 概算納期のボックス */
.deadline_wrap{
  border-top:1px solid #CCCCCC;
  margin-top:10px;
  padding-top:10px;
}

/* サービス選択での光クロスオフィスタイプのラベル位置変更 */
@media (max-width:970px) {
  .c-heading-custom.service_box.cross_label{
    top: 44px !important;
  }
}

@media (max-width:767px) {
  .c-heading-custom.service_box.cross_label{
    top: 38px !important;
  }
}

/* Wi-Fiルーター等オプション選択 */

.ic_plus{
  width: 14px;
  height: 14px;
  background-image: url(../img/plus_blue.svg);
  background-size: cover;
  text-indent: -9999px;
  display: inline-block;
  /*position: relative;
  top: 6px;*/
  margin-left: 10px;
  margin-right: 15px;
}


@media (max-width:960px) {
  .ic_plus{
    /*top: 4px;*/
    margin-left: 0px;
    margin-right: 5px;
  }
}

.c-input-radio-open.hgw_lan,
.c-input-radio-box.hgw_lan{
  margin-bottom: 0;
  margin-top: -1px;
}

.c-input-radio-open.hgw_lan,
.c-input-radio-box.hgw_lan .c-input-radio-box__title label{
  border-left: none;
  border-right: none;
  border-radius: 0;
}

.c-input-radio-box.hgw_lan .c-input-radio-box__title label{
  padding: 15px 0 15px 46px;
}

.c-input-radio-open.hgw_lan .c-input-radio-open__title>input[type=radio]+label:before {
  top: 25px;
}

@media (max-width:767px) {
  .c-input-radio-open.hgw_lan .c-input-radio-open__title>input[type=radio]+label:before {
    top: 20px
  }
}

.c-input-radio-open.hgw_lan .c-input-radio-open__title>input[type=radio]:checked+label:after,
.c-input-radio-open.hgw_lan .c-input-radio-open__title>input[type=radio]:hover+label:after {
  top: 30px;
}

@media (max-width:767px) {
  .c-input-radio-open.hgw_lan .c-input-radio-open__title>input[type=radio]:checked+label:after,
  .c-input-radio-open.hgw_lan .c-input-radio-open__title>input[type=radio]:hover+label:after {
    top: 25px
  }
}

.c-input-radio-open.hgw_lan .c-input-radio-open__title>input[type=radio]+label {
  padding: 23px 15px 21px 25px;
  height: 70px;
}

@media (max-width:767px) {
  .c-input-radio-open.hgw_lan .c-input-radio-open__title>input[type=radio]+label {
    line-height: 240%;
    padding: 13px 15px 10px 25px;
    height: auto;
  }

  .c-input-radio-open.hgw_lan .c-input-radio-open__title>input[type=radio]+label button.c-heading-question{
    top: 7px;
  }
}

.c-input-radio-open.hgw_lan .c-input-radio-open__title .c-input-check label{
  padding: 17px 0 13px 30px;
}

.c-input-radio-open.hgw_lan .c-input-radio-open__title .c-input-check label button{
  top: 4px;
}

@media (max-width:767px) {
  .c-input-radio-open.hgw_lan .c-input-radio-open__title .c-input-check label{
    padding: 19px 0 11px 30px;
  }

  .c-input-radio-open.hgw_lan .c-input-radio-open__title .c-input-check label button{
    top: 2px;
  }
}

.hgw_lan_text{
  position: absolute;
  right: 0;
  top: 19px;
  font-size: 15px;
}

@media (max-width:767px) {
  .hgw_lan_text{
    position: relative;
    right: 0;
    top: 0;
    margin-top: 10px;
  }
}

.c-input-radio-open.hgw_lan .c-input-radio-open__body .c-input-radio-open__em-description .c-grid .c-grid__item .c-input-radio-box .c-input-radio-box__title label{
  border: none;
  background-color: transparent;
  padding: 10px 10px 10px 48px;
}

.c-input-radio-open.hgw_lan .c-input-radio-open__body .c-input-radio-open__em-description .c-grid .c-grid__item .c-input-radio-box .c-input-radio-box__title>input[type=radio]+label:before{
  top: 12px;
}

.c-input-radio-open.hgw_lan .c-input-radio-open__body .c-input-radio-open__em-description .c-grid .c-grid__item .c-input-radio-box .c-input-radio-box__title:hover>input[type=radio]+label:after,
.c-input-radio-open.hgw_lan .c-input-radio-open__body .c-input-radio-open__em-description .c-grid .c-grid__item .c-input-radio-box .c-input-radio-box__title>input[type=radio]:checked+label:after {
  top: 17px;
}

@media (max-width:767px) {
  .c-input-radio-open.hgw_lan .c-input-radio-open__body .c-input-radio-open__em-description .c-grid .c-grid__item .c-input-radio-box .c-input-radio-box__title>input[type=radio]+label:before {
    top: 10px;
  }

  .c-input-radio-open.hgw_lan .c-input-radio-open__body .c-input-radio-open__em-description .c-grid .c-grid__item .c-input-radio-box .c-input-radio-box__title:hover>input[type=radio]+label:after,
  .c-input-radio-open.hgw_lan .c-input-radio-open__body .c-input-radio-open__em-description .c-grid .c-grid__item .c-input-radio-box .c-input-radio-box__title>input[type=radio]:checked+label:after {
    top: 15px;
  }
}

.c-input-radio-open.hgw_lan .c-input-radio-open__body .c-input-radio-open__em-description .c-grid .c-grid__item .c-input-radio-box{
  margin-bottom: 0;
}

.c-input-radio-open.hgw_lan .c-input-radio-open__body .c-input-radio-open__em-description .list_num{
  margin-left: 45px;
}

/* 工事日変更関連 */
dl.order_list{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
dl.order_list dd {
  width: 40%;
  font-size: 14px;
  margin-bottom: 10px;
}

dl.order_list dt {
  width: 60%;
  font-size: 14px;
  text-align: right;
  margin-bottom: 10px;
}



/* 本人確認書類関連 */
.col_wrap{
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.col_document{
  width: 200px;
  display: block;
  margin: 0 15px;
}

@media (max-width:767px) {
  .col_wrap{
    display: flex;
    justify-content: space-around;
    align-items: center;
  }

  .col_document{
    width: auto;
    display: block;
    margin: 0 10px;
  }
}

/* ボタンに水色の背景色追加 */
.bg_lb a{
  background-color: #f2faff;
}

/*本人確認の流れ*/

.decimal_wrap{
  width: 30px;
  height: 30px;
  background-color: #4472C4;
  border-radius: 15px;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 16px;
  line-height: 30px;
  text-align: center;
  margin: 0 auto 10px;
}

.confirmation_flow_wrap{
  display: flex;
  justify-content: center;
  align-items: center;
}

.confirmation_flow_col_01{
  display: block;
  width: 10%;
}

.confirmation_flow_col_02{
  width: 15%;
  margin-right: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.confirmation_flow_col_03{
  display: block;
  width: 80%;
}

.confirmation_flow_col_04{
  width: 10%;
  margin-right: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.confirmation_flow_col_05{
  width: 90%;
  margin-right: 15px;
  display: flex;
  /*justify-content: center;*/
  /*align-items: center;*/
}

@media (max-width:767px) {
  .confirmation_flow_wrap{
    flex-wrap: wrap;
  }

  .confirmation_flow_col_01{
    width: 10%;
  }
  .confirmation_flow_col_02{
    width: 30%;
  }

  .confirmation_flow_col_03{
    width: 60%;
  }

  .confirmation_flow_col_04{
    width: 100%;
    margin-right: 0;
  }

  .confirmation_flow_col_05{
    width: 100%;
    margin-right: 0;
  }
}

/* 工事日変更日時用 */
.c-input-radio.koujibi>input[type=radio]+label:before {
  top: 16px;
}

@media (max-width:767px) {
  .c-input-radio.koujibi>input[type=radio]+label:before {
    top: 12px
  }
}

.c-input-radio.koujibi>input[type=radio]:checked+label:after {
  top: 21px;
}

@media (max-width:767px) {
  .c-input-radio.koujibi>input[type=radio]:checked+label:after {
    top: 17px
  }
}

.c-heading-1.h-text-center-pc{
  text-align: center;
}

@media (max-width:767px) {
  .c-heading-1.h-text-center-pc{
    text-align: left;
  }
}

/* 廃止ルート基本情報 */
input.c-input-text__input.account_information{
  display: inline-block;
  width:auto;
}

/* 申込内容確認テーブル */
.content_confirmation_table{
  width: 100%;
}

.content_confirmation_table th{
  font-weight: 700;
  text-align: left;
  border: 2px solid;
  border-color: #EAEDEF #EAEDEF #FFFFFF #EAEDEF;
  background: #EAEDEF;
  background-color: #EAEDEF;
  display: table-cell;
  width: 40%;
  font-size: 14px;
  padding: 10px 15px;
}

.content_confirmation_table tr:last-child th{
  border-bottom: 2px solid #EAEDEF;
}

.content_confirmation_table td{
  border: 2px solid #EAEDEF;
  display: table-cell;
  width: 60%;
  font-size: 14px;
  /*word-break: keep-all;*/
  padding: 10px 15px;
}

@media (max-width:767px) {
  .content_confirmation_table th{
    display: block;
    width: 100%;
    border-color: #EAEDEF;
  }

  .content_confirmation_table td{
    display: block;
    width: 100%;
  }
}

span.newline_candidate{
  display: inline-block;
}

/* 生年月日セレクト */
.select-box {
    position: relative;
    display: inline-block;
    width: 100%;
}

.selected-item {
  cursor: pointer;
  border: 2px solid #0072bc;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  padding: 16px 10px;
  width: 100%;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
}

.select-box.disabled .selected-item {
    cursor: default;
    border: 2px solid #d0d0d0;
    color: #adadad;
}

.select-box.disabled .c-input-pulldown__icon {
    background-color: #d0d0d0;
}

.select-box.disabled .c-input-pulldown__icon span:after {
    border-color: #adadad;
}

.dropdown {
    position: absolute;
    width: 100%;
    top: 100%;
    left: 0;
    z-index: 999;
    display: none;
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid #999999;
    background-color: #FFFFFF;
    box-shadow: 6px 6px 12px 4px rgba(0, 0, 0, 0.2);
}

.select-box.disabled .dropdown {
    display: none !important;
}

.dropdown ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.dropdown ul li {
    padding: 0 10px;
    cursor: pointer;
    color: #222222;
}

/* セレクトボックスホバー処理 */
.dropdown ul li:hover {
    background-color: #1E90FF;
    color: #FFFFFF;
}


/* 選択時のカラー指定 */
.selectedItem {
    background-color: #1E90FF;
    color: #FFFFFF !important;
}

.c-input-pulldown.birth-pulldown select option{
    padding: 0 10px;
    cursor: pointer;
    color: #222222;
}

/* モーダルテキストの上下センター */
.op3_modal_text{
  display: flex;
  align-items: center;
}

/* 工事日選択時のローディング */
.mask_layer{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.75);
  z-index: 125;
  display: none;
}

.mask_layer.active{
  display: block;
}

.mask_layer_col{
  position: absolute;
  top: 50%;
  left: 50%;
  color: #FFFFFF;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-size: 18px;
  line-height: 150%;
}

.mask_layer_img{
  text-align:center;
}

.mask_layer_img img{
  width: 100px;
  height: auto;
}

@media (max-width:767px) {
  .mask_layer_col{
    width: 90%;
  }
}

/* 修正・取り消し画面の入力フォーム */
input.c-input-text__input.large_form{
  font-size:24px;
}

/* 連絡希望日時 */
.c-input-radio-open.contact_date{
  --base-white-color: #fff;
  --border-active-color: #0072bc;
  --border-gray-color: #EEEEEE;
  --border-gray-color2: #d0d0d0;
  --text-gray-color1: #6c6c6c;
  --bg-gray-color1: #f5f5f5;
  border-top: 1px solid #EEEEEE !important;
  border-bottom: 1px solid #EEEEEE !important;
  border-left: none;
  border-right: none;
  border-radius: 0px;
  overflow: hidden;
  position: relative;
  background-color: #fff;
  margin-bottom: 0;
  margin-top: -1px;
  z-index: 1;
}
.c-input-radio-open.contact_date:hover{
  border-top: 1px solid var(--border-active-color);
  border-bottom: 1px solid var(--border-active-color);
  border-left: none;
  border-right: none;
  background-color: #f2faff;
  z-index: 10;
}

.c-input-radio-open.contact_date[data-open=true] {
  border-top: 1px solid var(--border-active-color);
  border-bottom: 1px solid var(--border-active-color);
  border-left: none;
  border-right: none;
  background-color: #f2faff;
  z-index: 10;
}

.c-input-radio-open.contact_date .c-input-radio-open__title label{
  width:184px;
  position: relative;
  display: inline-block;
  padding: 23px 0 10px 30px;

}

.c-input-radio-open.contact_date .c-input-radio-open__title label .c-heading-required{
  top:calc(50% - 11.75px);
  right:0;
}

.contact_date_inner{
  /*width:77%;*/
  width: 100%;
  display: inline-block;
  padding:10px 10px 10px 20px;
}

.c-input-radio-open.contact_date .c-input-radio-open__body.c-input-radio-open__body-mt-none{
  padding-bottom:10px;
}

.c-input-radio-open.contact_date .c-input-radio-open__title.c-input-radio-open__title-border-none .c-input-check{
    margin-bottom: 10px;
}

.c-input-radio-open.contact_date .c-input-radio-open__body.c-input-radio-open__body-mt-none .c-input-radio-open__em-description{
  /*width:77%;*/
  width: 100%;
  display: inline-block;
  padding:10px 10px 10px 20px;
}

.candidate_date{
  font-size:16.8px;
  display: inline-block;
  width:154px;
}

@media (min-width: 768px) {
  .c-input-radio-open.contact_date {
    --base-white-color: #fff;
    --border-active-color: #0072bc;
    --border-gray-color: #adadad;
    --border-gray-color2: #d0d0d0;
    --text-gray-color1: #6c6c6c;
    --bg-gray-color1: #f5f5f5;
    border-top: 1px solid var(--border-gray-color);
    border-bottom: 1px solid var(--border-gray-color);
    border-left: none;
    border-right: none;
    border-radius: 0px;
    overflow: hidden;
    position: relative;
    background-color: #fff;
    margin-bottom: 0;
    margin-top: -1px;
    z-index: 1;
  }

  .c-input-radio-open.contact_date:hover{
    border-top: 1px solid var(--border-active-color);
    border-bottom: 1px solid var(--border-active-color);
    border-left: none;
    border-right: none;
    background-color: #f2faff;
    z-index: 10;
  }

  .c-input-radio-open.contact_date[data-open=true] {
    border-top: 1px solid var(--border-active-color);
    border-bottom: 1px solid var(--border-active-color);
    border-left: none;
    border-right: none;
    background-color: #f2faff;
    z-index: 10;
  }

  .contact_date .c-input-radio-open__title.c-input-radio-open__title-border-none{
    vertical-align: top;
  }

  .contact_date .c-input-radio-open__title.c-input-radio-open__title-border-none .c-input-check{
    vertical-align: top;
  }

  .contact_date .c-input-radio-open__title .c-input-check{
    width: 40%;

  }

  /*.c-input-radio-open__title-inner{
    width: 56%;
    display: inline-block;
    margin: 15px;
  }*/

  .c-input-radio-open.contact_date .c-input-radio-open__title{
    display: block;
  }

  .c-input-radio-open.contact_date .c-input-radio-open__title label{
    width:184px;
    position: relative;
    display: inline-block;
    padding: 22px 0 10px 30px;

  }

  .c-input-radio-open.contact_date .c-input-radio-open__title.c-input-radio-open__title-border-none .c-input-radio-open__title-inner .list_num.message{
    display: none;
  }

.c-input-radio-open.contact_date .c-input-radio-open__body.c-input-radio-open__body-mt-none .c-input-radio-open__em-description{
  /*width:77%;*/
  width: 730px;
  display: inline-block;
  padding:10px 10px 10px 20px;
}

.contact_date_inner{
  /*width:77%;*/
  width: 730px;
  display: inline-block;
  padding:10px 10px 10px 20px;
}

}

/*お問合せの種類レイアウト*/

.col-wrap{
  width: 100%;
  display: flex;
  flex-direction: column;
}

.col-left,
.col-right{
  width: 100%;
}

@media (min-width: 768px) {
  .col-wrap{
    flex-direction: row;
  }

  .col-left{
    width: 50%;
    padding: 0 20px 0 0;
  }

  .col-right{
    width: calc(50% - 1px);
    padding: 0 0 0 20px;
    border-left: 1px solid #EEEEEE;
  }
}

/* ステップ表示 */
.c-list-step{
  grid-gap:15px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:1fr;
  /*margin:0 75px 73px;*/
  margin:30px auto 73px;
  max-width:520px;
  width:100%;
}

@media (max-width:767px){
  .c-list-step{
    /*margin:0 auto 35px;*/
    margin:30px auto 35px;
    max-width:494px;
  }
}

.c-list-step[data-step-three=true]{
  grid-template-columns:repeat(3,1fr);
}

.c-list-step__item{
  position:relative;
  text-align:center;
}

.c-list-step__item[data-is-active=true] .c-list-step__num{
  background-color:#0072bc;
}

.c-list-step__item[data-is-active=true] .c-list-step__text{
  font-weight:700;
}

.c-list-step__item:after,
.c-list-step__item:before{
  background-color:#c5c5c5;
  content:"";
  display:block;
  height:2px;
  margin:0 auto;
  position:absolute;
  top:17px;
  width:50%;
  z-index:-1;
}

@media (max-width:767px){
  .c-list-step__item:after,
  .c-list-step__item:before{
    top:11px;
  }
}

.c-list-step__item:before{
  left:-8px;
}

.c-list-step__item:after{
  right:-8px;
}

.c-list-step__item:first-child:before,
.c-list-step__item:last-child:after{
  display:none;
}

.c-list-step__num{
  align-items:center;
  background-color:#aaa;
  border-radius:50%;
  color:#fff;
  display:flex;
  font-size:1.6rem;
  font-weight:700;
  height:34px;
  justify-content:center;
  margin:0 auto;
  width:34px;
}

@media (max-width:767px){
  .c-list-step__num{
    font-size:1.2rem;
    height:22px;
    width:22px;
  }
}

.c-list-step__text{
  display:block;
  font-size:1.3rem;
  line-height:1.5;
  margin-top:12px;
}

@media (max-width:767px){
  .c-list-step__text{
    font-size:1.2rem;
    margin-top:7px;
  }
}