/* Reset
-------------------- */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  margin: 0;
  -webkit-text-size-adjust: 100%;
  line-height: 1;
  text-align: left;
}

h1, h2, h3, h4, h5, h6, p, dl, dd, ol, ul, li {
  margin: 0;
  overflow-wrap: break-word;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1rem;
}

ol, ul {
  list-style: none;
  padding: 0;
}

button,
input[type=button] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* Set
-------------------- */
body {
  background: #FFF url(../images/bg1.jpg) no-repeat right top/800px auto;
  color: var(--textColor);
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", Meiryo, sans-serif;
}
@media print, (min-width: 576px) {
  body {
    background-size: 1200px auto;
  }
}
@media print, (min-width: 992px) {
  body {
    background-position: center top;
    background-size: 1600px auto;
  }
}
@media print, (min-width: 1600px) {
  body {
    background-size: 100% auto;
  }
}

a {
  color: #0033CC;
  -webkit-tap-highlight-color: transparent;
}
@media print, (min-width: 992px) {
  a {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  a:hover {
    opacity: 0.6;
  }
}

@media print, (min-width: 992px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* header
-------------------- */
.header {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
}
.header__logo {
  padding: 5% 0 0 5%;
}
.header__logo img {
  width: 70%;
}
@media print, (min-width: 576px) {
  .header__logo img {
    width: 50%;
    max-width: 369px;
  }
}
@media print, (min-width: 992px) {
  .header__logo {
    padding: 2% 0 0 3%;
  }
  .header__logo img {
    width: 25%;
  }
}

/* footer
-------------------- */
.footer {
  padding: calc(5vw + 70px) 0 50px;
  font-size: 0.75rem;
  line-height: 1.3;
  text-align: center;
}
@media print, (min-width: 576px) {
  .footer {
    font-size: 0.875rem;
  }
}

/* bottomBtn
-------------------- */
.bottomBtn {
  position: fixed;
  z-index: 80;
  right: 1%;
  bottom: 0;
  width: 98%;
  -webkit-transition: bottom 0.5s ease-in-out;
  transition: bottom 0.5s ease-in-out;
}
.bottomBtn.is-hidden {
  bottom: -210px;
}
@media print, (min-width: 576px) {
  .bottomBtn {
    width: 40%;
    right: 5px;
    bottom: 5px;
  }
}
@media print, (min-width: 992px) {
  .bottomBtn {
    width: 32%;
  }
}
@media print, (min-width: 1400px) {
  .bottomBtn {
    width: 440px;
  }
}

/* gotop
-------------------- */
.gotop {
  display: none;
}
@media print, (min-width: 576px) {
  .gotop {
    display: block;
    position: fixed;
    z-index: 80;
    bottom: 20px;
    right: calc(40% + 5px);
    width: 40px;
    height: 40px;
  }
  .gotop.is-show, .gotop.is-hidden {
    display: block;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }
  .gotop.is-show {
    opacity: 1;
  }
  .gotop.is-hidden {
    opacity: 0;
  }
  .gotop.is-disabled, .gotop.is-disabled2 {
    display: none;
  }
  .gotop a {
    display: block;
    width: 40px;
    height: 40px;
    padding: 12px 0 0 0;
    border-radius: 40px;
    background: rgba(0, 0, 0, 0.4);
    text-align: center;
  }
  .gotop svg {
    width: 12px;
    height: 12px;
    fill: none;
    stroke: #FFF;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
  }
}
@media print, (min-width: 992px) {
  .gotop {
    right: calc(32% + 5px);
  }
}
@media print, (min-width: 1400px) {
  .gotop {
    right: 445px;
  }
}

/* Container
-------------------- */
.container {
  width: 84%;
  margin-left: auto;
  margin-right: auto;
}
@media print, (min-width: 992px) {
  .container {
    max-width: 1320px;
  }
}

.container-small {
  width: 84%;
  margin-left: auto;
  margin-right: auto;
}
@media print, (min-width: 992px) {
  .container-small {
    max-width: 900px;
  }
}

/* Content
-------------------- */
/* content */
.content {
  font-size: 0.875rem;
}
.content p {
  line-height: 2;
}
.content p:not(:last-child) {
  margin-bottom: 1em;
}
@media print, (min-width: 576px) {
  .content {
    font-size: 1rem;
  }
}

/* Title
-------------------- */
.title1 {
  margin-bottom: 30px;
  font-weight: normal;
  text-align: center;
}
.title1__en {
  display: inline-block;
  min-width: 7em;
  margin-bottom: 1.25em;
  padding: 0.5em 1em;
  background-color: #0aa0a9;
  color: #FFF;
  font-size: 0.75rem;
  text-align: center;
}
.title1__jp {
  font-size: 1.375rem;
  line-height: 1.3;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
}
@media print, (min-width: 576px) {
  .title1__en {
    font-size: 1rem;
  }
  .title1__jp {
    font-size: 1.625rem;
  }
}
@media print, (min-width: 992px) {
  .title1__en {
    font-size: 1.125rem;
  }
  .title1__jp {
    font-size: 1.875rem;
  }
}

.title3 {
  position: relative;
  margin-bottom: 35px;
  padding: 0 0 0.75em;
  border-bottom: 1px solid #0aa0a9;
  color: #0aa0a9;
  font-size: 1.25rem;
  line-height: 1.5;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
}
.title3::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  bottom: -1px;
  left: 0;
  width: 40%;
  height: 5px;
  background: -webkit-gradient(linear, left top, right top, from(#0aa0a9), to(#0aa0a9));
  background: linear-gradient(to right, #0aa0a9, #0aa0a9);
}

.title4 {
  margin-bottom: 30px;
  padding: 0 0 0.5em;
  border-bottom: 1px solid #DDD;
  color: #0aa0a9;
  font-size: 1.125rem;
  line-height: 1.5;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
}

.title5 {
  position: relative;
  margin-bottom: 20px;
  padding-left: 1.25em;
  font-size: 1.125rem;
  line-height: 1.3;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
}
.title5::before {
  content: "";
  position: absolute;
  top: calc(0.5em - 1px);
  left: 0;
  width: 0.5em;
  height: 2px;
  background: #0aa0a9;
}

.title6 {
  font-size: 1.125rem;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
  color: #0aa0a9;
  line-height: 1.3;
}

/* List
-------------------- */
/* list1 */
.list1 {
  list-style-type: none;
  font-size: 0.875rem;
  line-height: 1.66;
}
.list1:not(:last-child) {
  margin-bottom: 1.5em;
}
.list1 li {
  position: relative;
  padding-left: 1.5em;
}
.list1 li:not(:last-child) {
  margin-bottom: 10px;
}
.list1 li::before {
  content: "";
  position: absolute;
  top: calc(0.83em - 5px);
  left: calc(0.5em - 4px);
  width: 7px;
  height: 7px;
  border-radius: 100%;
  background: #0aa0a9;
}
@media print, (min-width: 576px) {
  .list1 {
    font-size: 1rem;
  }
}

ol.list1 {
  list-style-type: decimal;
}
ol.list1 li {
  margin-left: 1.5em;
  padding-left: 0;
}
ol.list1 li::before {
  display: none;
}

.list2 {
  list-style-type: none;
  font-size: 0.75rem;
  line-height: 1.66;
}
.list2:not(:last-child) {
  margin-bottom: 1.5em;
}
.list2 li {
  position: relative;
  padding-left: 1.5em;
}
.list2 li:not(:last-child) {
  margin-bottom: 8px;
}
.list2__mark {
  position: absolute;
  left: 0;
}
@media print, (min-width: 576px) {
  .list2 {
    font-size: 0.875rem;
  }
}

/* Table
-------------------- */
.tdcolor1 {
  color: #0aa0a9 !important;
  background: #eef9fa !important;
}

.tdcolor2 {
  color: #0aa0a9 !important;
  background: #eef9fa !important;
}

.tdsize-16 {
  width: 16.66%;
}

.tdsize-25 {
  width: 25%;
}

.tdsize-50 {
  width: 50%;
}

@media print, (min-width: 576px) {
  .tdsize-md30 {
    width: 30%;
  }
}
.table1 {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #DDD;
  font-size: 0.875rem;
}
.table1:not(:last-child) {
  margin-bottom: 25px;
}
.table1 th,
.table1 td {
  display: block;
  padding: 0.75em 0.5em;
  line-height: 1.5;
  text-align: left;
}
.table1 th {
  background: #f6f6f6;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
}
@media print, (min-width: 576px) {
  .table1 {
    border-right: none;
    border-bottom: none;
    font-size: 1rem;
  }
  .table1 th,
  .table1 td {
    display: table-cell;
    padding: 1.25em 1em;
    border-right: 1px solid #DDD;
    border-bottom: 1px solid #DDD;
  }
}

.table2 {
  width: 100%;
  border-collapse: collapse;
  border-left: 1px solid #DDD;
  border-top: 1px solid #DDD;
  font-size: 0.75rem;
}
.table2:not(:last-child) {
  margin-bottom: 25px;
}
.table2 th,
.table2 td {
  padding: 0.75em 0.5em;
  border-right: 1px solid #DDD;
  border-bottom: 1px solid #DDD;
  line-height: 1.5;
  text-align: left;
}
.table2 th {
  background: #f6f6f6;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
}
@media print, (min-width: 576px) {
  .table2 {
    font-size: 1rem;
  }
  .table2 th,
  .table2 td {
    padding: 1.25em 1em;
  }
}

.table3 {
  width: 100%;
  border-collapse: collapse;
  border-left: 1px solid #DDD;
  border-top: 1px solid #DDD;
  font-size: 0.75rem;
}
.table3:not(:last-child) {
  margin-bottom: 25px;
}
.table3 th,
.table3 td {
  padding: 0.75em 0.5em;
  border-right: 1px solid #DDD;
  border-bottom: 1px solid #DDD;
  line-height: 1.5;
  text-align: left;
}
.table3 th {
  background: #f6f6f6;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
}
@media print, (min-width: 576px) {
  .table3 {
    font-size: 0.875rem;
  }
  .table3 th,
  .table3 td {
    padding: 1.25em 1em;
  }
}
@media print, (min-width: 992px) {
  .table3 th,
  .table3 td {
    padding: 1em;
  }
}

.table4 {
  width: 100%;
  border-collapse: collapse;
  border: none;
  font-size: 0.875rem;
  background-size: 4px 1px;
  background-image: linear-gradient(to right, #000000 1px, transparent 1px);
  background-repeat: repeat-x;
  background-position: left top;
}
.table4:not(:last-child) {
  margin-bottom: 25px;
}
.table4 th,
.table4 td {
  display: block;
  line-height: 1.5;
  text-align: left;
}
.table4 th {
  padding: 1em 0 0;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
}
.table4 td {
  padding: 0.5em 0 1em;
  background-size: 4px 1px;
  background-image: linear-gradient(to right, #000000 1px, transparent 1px);
  background-repeat: repeat-x;
  background-position: left bottom;
}
@media print, (min-width: 576px) {
  .table4 {
    font-size: 1rem;
  }
  .table4 th,
  .table4 td {
    display: table-cell;
    padding: 0.875em 0;
    background-size: 4px 1px;
    background-image: linear-gradient(to right, #000000 1px, transparent 1px);
    background-repeat: repeat-x;
    background-position: left bottom;
  }
  .table4 th {
    width: 200px;
  }
  .table4 td {
    padding-left: 1.5em;
  }
}
@media print, (min-width: 992px) {
  .table4 {
    background: transparent;
  }
  .table4 th {
    width: 160px;
  }
}
@media print, (min-width: 1200px) {
  .table4 th {
    width: 200px;
  }
}

/* tablenoborder */
.tablenoborder {
  margin: -3px -8px;
}
.tablenoborder th {
  font-weight: bold;
}
.tablenoborder th,
.tablenoborder td {
  padding: 3px 8px;
  border: none;
  background: transparent;
  color: #222;
  vertical-align: top;
}

/* form
-------------------- */
/* form-mark */
.form-mark1,
.form-mark2 {
  display: inline-block;
  margin: 0 0 2px;
  padding: 2px 5px;
  border-radius: 4px;
  background: #0aa0a9;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: normal;
  line-height: 1;
  vertical-align: middle;
}

.form-mark2 {
  background: #DDD;
  color: #000;
}

@media print, (min-width: 992px) {
  .form-mark1,
  .form-mark2 {
    padding: 2px 8px;
    font-size: 0.7rem;
  }
}
/* form-example */
.form-example {
  color: #666;
  font-size: 0.75rem;
}
@media print, (min-width: 576px) {
  .form-example {
    font-size: 0.875rem;
  }
}

/* form1 */
.form1 {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding: 0 0 50px;
}
.form1 dl {
  margin: 10px 0 20px;
  border-bottom: 1px solid #CCC;
}
.form1 dt {
  padding: 20px 0 0;
  border-top: 1px solid #CCC;
  line-height: 1.3;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
}
.form1 dt:first-of-type {
  border-top: none;
}
.form1 dd {
  margin: 8px 0 0;
  padding: 0 0 20px;
  line-height: 1.5;
}
.form1 p {
  margin: 0;
}
.form1 input[type=text],
.form1 textarea {
  width: 100%;
  margin: 5px 0;
  padding: 10px 5px;
  font-size: 16px;
}
.form1 input::-webkit-input-placeholder, .form1 textarea::-webkit-input-placeholder {
  color: #999;
}
.form1 input::-moz-placeholder, .form1 textarea::-moz-placeholder {
  color: #999;
}
.form1 input:-ms-input-placeholder, .form1 textarea:-ms-input-placeholder {
  color: #999;
}
.form1 input::-ms-input-placeholder, .form1 textarea::-ms-input-placeholder {
  color: #999;
}
.form1 input::placeholder,
.form1 textarea::placeholder {
  color: #999;
}
.form1 input:focus::-webkit-input-placeholder, .form1 textarea:focus::-webkit-input-placeholder {
  color: transparent;
}
.form1 input:focus::-moz-placeholder, .form1 textarea:focus::-moz-placeholder {
  color: transparent;
}
.form1 input:focus:-ms-input-placeholder, .form1 textarea:focus:-ms-input-placeholder {
  color: transparent;
}
.form1 input:focus::-ms-input-placeholder, .form1 textarea:focus::-ms-input-placeholder {
  color: transparent;
}
.form1 input:focus::placeholder,
.form1 textarea:focus::placeholder {
  color: transparent;
}
.form1 textarea {
  height: 150px;
}
.form1 select {
  max-width: 100%;
  margin: 5px 0;
  padding: 10px 5px;
  font-size: 16px;
}
.form1 .form-label-full,
.form1 .form-label-half {
  display: inline-block;
  cursor: pointer;
  width: 100%;
  margin: 5px 0;
  padding: 8px 15px 8px 10px;
  border: 1px solid #CCC;
  border-radius: 2px;
  background: #f6f6f6;
  font-size: 16px;
}
.form1 input[type=checkbox],
.form1 input[type=radio] {
  margin: 0 6px 2px 2px;
  vertical-align: middle;
}
.form1__privacy {
  overflow: auto;
  width: 100%;
  height: 150px;
  margin: 10px 0 5px;
  border: 1px solid #CCC;
  color: #666;
  font-size: 0.7rem;
}
.form1__privacy p {
  margin: 0;
  padding: 5px 10px;
}
.form1__btn {
  margin: 30px 0 0;
  text-align: center;
}
.form1__btn-submit {
  position: relative;
  display: inline-block;
  width: 95%;
  max-width: 320px;
  padding: 20px 25px 20px 25px;
  background: #0aa0a9;
  border: none;
  -webkit-box-shadow: 2px 8px 8px rgba(0, 0, 0, 0.15);
          box-shadow: 2px 8px 8px rgba(0, 0, 0, 0.15);
  color: #FFF;
  font-size: 1.25rem;
  text-align: center;
  line-height: 1;
}
.form1__btn-submit::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: calc(50% - 4px);
  right: 19px;
  width: 8px;
  height: 8px;
  border-width: 2px;
}
@media print, (min-width: 576px) {
  .form1 dt {
    font-size: 1.125rem;
  }
  .form1 input[type=text],
  .form1 textarea,
  .form1 select,
  .form1 .form-label-half {
    font-size: 18px;
  }
  .form1 .form-label-half {
    width: auto;
    min-width: calc(50% - 0.3em);
  }
  .form1 .form-label-half:nth-child(n+3) {
    margin-top: 0;
  }
  .form1__privacy {
    font-size: 0.875rem;
  }
  .form1__btn {
    margin: 40px 0 0;
  }
  .form1__btn-submit {
    padding: 24px 25px 24px 25px;
    font-size: 1.5rem;
  }
}
@media print, (min-width: 992px) {
  .form1__btn-submit:hover {
    background: #6A7992;
  }
}

/* common */
.formContainer {
  margin: calc(2.2vw + 40px + 16vw) -5% 0;
  padding: 8% 5%;
  border: 5px solid #eef9fa;
  background: #FFF;
}
.formContainer .form1 dt:first-of-type {
  border-top: 1px solid #CCC;
}
@media print, (min-width: 576px) {
  .formContainer {
    margin-top: calc(2.2vw + 40px + 11.4vw);
  }
}
@media print, (min-width: 992px) {
  .formContainer {
    margin-top: calc(2.2vw + 40px + 5.7vw);
  }
}
@media print, (min-width: 1400px) {
  .formContainer {
    margin-top: 170px;
  }
}

/* error */
.formError {
  list-style-type: disc;
  padding: 10px 15px;
  background: #EEE;
  color: #CC0033;
  font-size: 0.875rem;
}
.formError li {
  margin: 10px 0 10px 1.5em;
  line-height: 1.5;
}
.formError li span {
  font-weight: bold;
}
.formError__btn {
  margin: 20px 0 0 0;
  text-align: center;
}
.formError__btn input {
  padding: 8px 20px;
  font-size: 1.125rem;
}
@media print, (min-width: 576px) {
  .formError {
    font-size: 1rem;
  }
}

/* Box
-------------------- */
/* box1 */
.box1__item:nth-child(2) {
  margin-top: 40px;
}
@media print, (min-width: 992px) {
  .box1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .box1__item:nth-child(2) {
    margin-top: 0;
    margin-left: 5%;
  }
  .box1__item_l {
    width: 47.5%;
  }
  .box1__item_s {
    width: 47.5%;
  }
}

.box2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.box2__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 140px;
  height: 140px;
  margin: 0 2%;
  background: #eef9fa;
  border-radius: 50%;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
  line-height: 1.66;
  text-align: center;
}
.box2__item dt {
  margin-bottom: 5px;
  color: #0aa0a9;
  font-size: 0.875rem;
}
.box2__item:nth-child(1) {
  margin: 0 calc(50% - 140px) -2%;
}
@media print, (min-width: 576px) {
  .box2__item {
    width: 200px;
    height: 200px;
  }
  .box2__item dt {
    font-size: 1rem;
  }
  .box2__item dd {
    font-size: 1.125rem;
  }
  .box2__item:nth-child(1) {
    margin: 0 calc(50% - 200px) -2%;
  }
}
@media print, (min-width: 992px) {
  .box2__item, .box2__item:nth-child(1) {
    margin: 0 1.6%;
  }
}

.box3 {
  padding-top: 1px;
}
.box3__item {
  margin-top: 20px;
  padding: 1px 20px 20px;
  background: #eef9fa;
}
.box3__item:nth-child(2) {
  margin-top: 60px;
}
.box3__title {
  margin: -20px auto -10px;
  text-align: center;
}
.box3__title span {
  display: inline-block;
  padding: 0 2em;
  background: #0aa0a9;
  border-radius: 20px;
  color: #FFF;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 40px;
}
@media print, (min-width: 576px) {
  .box3__item {
    margin-top: 24px;
  }
  .box3__title {
    margin-top: -24px;
  }
  .box3__title span {
    border-radius: 24px;
    font-size: 1.25rem;
    line-height: 48px;
  }
}
@media print, (min-width: 992px) {
  .box3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .box3__item {
    width: 48.9%;
  }
  .box3__item:nth-child(2) {
    margin-top: 24px;
  }
}

/* Utilities ------------------------- */
/* clear
-------------------- */
.u-clear::after {
  content: "";
  display: table;
  clear: both;
}

/* nowrap
-------------------- */
.u-whitespace-nowrap {
  white-space: nowrap;
}

/* margin padding
-------------------- */
.u-mt-s {
  margin-top: calc(1vw + 25px);
}

.u-mb-s {
  margin-bottom: calc(1vw + 25px);
}

.u-pt-s {
  padding-top: calc(1vw + 25px);
}

.u-pb-s {
  padding-bottom: calc(1vw + 25px);
}

.u-mt-m {
  margin-top: calc(2.2vw + 40px);
}

.u-mb-m {
  margin-bottom: calc(2.2vw + 40px);
}

.u-pt-m {
  padding-top: calc(2.2vw + 40px);
}

.u-pb-m {
  padding-bottom: calc(2.2vw + 40px);
}

.u-mt-l {
  margin-top: calc(5vw + 70px);
}

.u-mb-l {
  margin-bottom: calc(5vw + 70px);
}

.u-pt-l {
  padding-top: calc(5vw + 70px);
}

.u-pb-l {
  padding-bottom: calc(5vw + 70px);
}

@media print, (min-width: 1400px) {
  .u-mt-s {
    margin-top: 40px;
  }
  .u-mb-s {
    margin-bottom: 40px;
  }
  .u-pt-s {
    padding-top: 40px;
  }
  .u-pb-s {
    padding-bottom: 40px;
  }
  .u-mt-m {
    margin-top: 70px;
  }
  .u-mb-m {
    margin-bottom: 70px;
  }
  .u-pt-m {
    padding-top: 70px;
  }
  .u-pb-m {
    padding-bottom: 70px;
  }
  .u-mt-l {
    margin-top: 140px;
  }
  .u-mb-l {
    margin-bottom: 140px;
  }
  .u-pt-l {
    padding-top: 140px;
  }
  .u-pb-l {
    padding-bottom: 140px;
  }
}
/* text-align
-------------------- */
.u-text-left {
  text-align: left !important;
}

.u-text-center {
  text-align: center !important;
}

.u-text-right {
  text-align: right !important;
}

@media print, (min-width: 576px) {
  .u-text-md-left {
    text-align: left !important;
  }
  .u-text-md-center {
    text-align: center !important;
  }
  .u-text-md-right {
    text-align: right !important;
  }
}
@media print, (min-width: 992px) {
  .u-text-lg-left {
    text-align: left !important;
  }
  .u-text-lg-center {
    text-align: center !important;
  }
  .u-text-lg-right {
    text-align: right !important;
  }
}
/* vertical-align
-------------------- */
.u-vertical-top {
  vertical-align: top !important;
}

.u-vertical-middle {
  vertical-align: middle !important;
}

.u-vertical-bottom {
  vertical-align: bottom !important;
}

@media print, (min-width: 576px) {
  .u-vertical-md-top {
    vertical-align: top !important;
  }
  .u-vertical-md-middle {
    vertical-align: middle !important;
  }
  .u-vertical-md-bottom {
    vertical-align: bottom !important;
  }
}
@media print, (min-width: 992px) {
  .u-vertical-lg-top {
    vertical-align: top !important;
  }
  .u-vertical-lg-middle {
    vertical-align: middle !important;
  }
  .u-vertical-lg-bottom {
    vertical-align: bottom !important;
  }
}
/* font
-------------------- */
/* font-size */
.u-font-xsmall {
  font-size: 0.75rem;
}

.u-font-small {
  font-size: 0.875rem;
}

.u-font-medium {
  font-size: 1rem;
}

.u-font-large {
  font-size: 1.25rem;
}

.u-font-xlarge {
  font-size: 1.5rem;
}

@media print, (min-width: 576px) {
  .u-font-md-xsmall {
    font-size: 0.75rem;
  }
  .u-font-md-small {
    font-size: 0.875rem;
  }
  .u-font-md-medium {
    font-size: 1rem;
  }
  .u-font-md-large {
    font-size: 1.25rem;
  }
  .u-font-md-xlarge {
    font-size: 1.5rem;
  }
}
@media print, (min-width: 992px) {
  .u-font-lg-xsmall {
    font-size: 0.75rem;
  }
  .u-font-lg-small {
    font-size: 0.875rem;
  }
  .u-font-lg-medium {
    font-size: 1rem;
  }
  .u-font-lg-large {
    font-size: 1.25rem;
  }
  .u-font-lg-xlarge {
    font-size: 1.5rem;
  }
}
/* font-bold */
.u-font-bold {
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
}

/* color */
.u-color-red {
  color: #ff0000;
}

.u-color-green {
  color: #0aa0a9;
}

/* br */
@media print, (max-width: 991.98px) {
  .u-smmd-nobr,
  .u-smmd-nobr br {
    display: none;
  }
}
@media print, (min-width: 576px) {
  .u-md-nobr,
  .u-md-nobr br {
    display: none;
  }
}
@media print, (min-width: 992px) {
  .u-lg-nobr,
  .u-lg-nobr br {
    display: none;
  }
}
/* indexPage
-------------------- */
.indexTop {
  position: relative;
  z-index: 1;
}
.indexTop img {
  width: 100%;
}
.indexTop__title {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 5%;
  padding-top: calc(118.8% - 2.25em);
  font-size: 9.5vw;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.2;
}
.indexTop__title span {
  color: #0aa0a9;
  font-size: 1.25em;
}
.indexTop__description {
  position: absolute;
  z-index: 4;
  bottom: 0;
  right: 5%;
  width: 40%;
  height: 24%;
  font-size: 3vw;
  line-height: 2;
}
.indexTop__description br {
  display: none;
}
.indexTop__img1 {
  position: relative;
  z-index: 2;
  width: 90%;
  margin-left: auto;
}
.indexTop__img1::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: -11.11%;
  width: 100%;
  height: 80%;
  background: rgba(10, 160, 169, 0.1);
}
.indexTop__img1::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 3;
  bottom: -20%;
  right: 0;
  width: 20%;
  height: 40%;
  background: rgba(255, 255, 0, 0.3);
}
.indexTop__img1 img {
  border-radius: 0 0 0 15vw/0 0 0 15vw;
}
.indexTop__hospital {
  position: relative;
  z-index: 2;
  width: 50%;
  margin-top: 13%;
}
.indexTop__hospital img {
  border-radius: 0 15vw 0 0/0 15vw 0 0;
}
.indexTop__hospital::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: 10%;
  right: -15%;
  width: 70%;
  height: 100%;
  background: rgba(255, 255, 0, 0.3);
}
.indexTop__new {
  position: absolute;
  z-index: 4;
  top: 0;
  right: 3%;
  width: 30%;
  padding-top: 81%;
}
.indexTop__lets {
  position: absolute;
  z-index: 4;
  top: 95%;
  right: 3%;
  width: 80%;
}
@media print, (min-width: 576px) {
  .indexTop__lets {
    top: 92%;
    width: 70%;
  }
}
@media print, (min-width: 992px) {
  .indexTop__txt {
    position: absolute;
    z-index: 4;
    top: 0;
    left: 0;
    padding: 11% 0 0 8%;
  }
  .indexTop__title {
    position: static;
    padding: 0;
    font-size: 5vw;
  }
  .indexTop__description {
    position: static;
    width: auto;
    height: auto;
    margin: 1em 0 0 0.25em;
    font-size: 0.875rem;
  }
  .indexTop__description br {
    display: inline;
  }
  .indexTop__img1 {
    width: 60%;
  }
  .indexTop__img1::before {
    top: 60%;
    left: -66.66%;
    height: 57%;
  }
  .indexTop__img1::after {
    bottom: -15%;
    right: auto;
    left: 37.5%;
    width: 12.5%;
    height: 35%;
  }
  .indexTop__img2 {
    position: relative;
    width: 30%;
    margin-top: -14%;
  }
  .indexTop__hospital {
    width: 100%;
    margin: 0;
  }
  .indexTop__hospital img {
    border-radius: 0;
  }
  .indexTop__hospital::after {
    top: 35%;
    right: -25%;
    width: 66.66%;
    height: 80%;
  }
  .indexTop__new {
    top: 5%;
    right: -25%;
    width: 33.33%;
    padding: 0;
  }
  .indexTop__lets {
    top: 74.5%;
    right: auto;
    left: 40%;
    width: 35%;
  }
}
@media print, (min-width: 1200px) {
  .indexTop__description {
    font-size: 1rem;
  }
}
@media print, (min-width: 1400px) {
  .indexTop__title {
    font-size: 5rem;
  }
  .indexTop__description {
    font-size: 1.125rem;
  }
}

.indexIntro__txt1 {
  color: #0aa0a9;
  font-size: 1.25rem;
  line-height: 1.5;
  text-align: center;
}
.indexIntro__txt1 br {
  display: none;
}
.indexIntro__txt2 {
  margin-top: 20px;
  font-size: 0.875rem;
  line-height: 2;
  text-align: center;
}
@media print, (min-width: 576px) {
  .indexIntro__txt1 {
    font-size: 1.625rem;
    line-height: 1.66;
  }
  .indexIntro br {
    display: inline;
  }
  .indexIntro__txt2 {
    font-size: 1rem;
    line-height: 2.25;
  }
}
@media print, (min-width: 992px) {
  .indexIntro__txt1 {
    font-size: 1.875rem;
  }
  .indexIntro__txt2 {
    font-size: 1.125rem;
  }
}

.indexPoint {
  position: relative;
}
.indexPoint__container {
  width: 94%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding: 30px 10%;
  border: 3px solid #0aa0a9;
  background: #FFF;
}
.indexPoint__container::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: calc(-2.5vw - 35px);
  right: 0;
  width: 30vw;
  height: 30vw;
  background: rgba(10, 160, 169, 0.1);
}
.indexPoint__list {
  margin-top: -10px;
}
.indexPoint__list li {
  position: relative;
  z-index: 2;
  margin-top: calc(10% + 30px);
  font-size: 0.875rem;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
  line-height: 1.66;
  text-align: center;
}
.indexPoint__list li::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 80%;
  margin-top: -10%;
  padding-top: 60%;
  background: #eef9fa;
}
.indexPoint__list li img {
  width: 80%;
  margin-bottom: 0.67em;
}
@media print, (min-width: 576px) {
  .indexPoint__container {
    padding: 50px 4%;
    border: 5px solid #0aa0a9;
  }
  .indexPoint__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: -20px;
  }
  .indexPoint__list::before {
    top: 0;
    right: 0;
  }
  .indexPoint li {
    width: 50%;
    margin-top: calc(5% + 30px);
    font-size: 1rem;
  }
}
@media print, (min-width: 992px) {
  .indexPoint__container {
    padding: 60px 3%;
  }
  .indexPoint__container::before {
    width: 240px;
    height: 240px;
  }
  .indexPoint__list {
    margin-top: -30px;
  }
  .indexPoint li {
    width: 33.33%;
    margin-top: calc(3% + 50px);
  }
  .indexPoint li img {
    margin-bottom: 1em;
  }
}
@media print, (min-width: 1400px) {
  .indexPoint__container {
    padding: 70px 3%;
  }
  .indexPoint__container::before {
    top: -80px;
  }
}
@media print, (min-width: 1540px) {
  .indexPoint__container::before {
    right: auto;
    left: calc(50% + 660px - 140px);
  }
}

.indexOutlineTop__title {
  text-align: center;
}
.indexOutlineTop__title h2 {
  margin-top: 1em;
  font-size: 1.5rem;
  font-weight: normal;
  line-height: 1.3;
}
.indexOutlineTop__titletxt1 {
  font-size: 1.33em;
}
.indexOutlineTop__titletxt2 {
  font-size: 1.66em;
}
.indexOutlineTop__titletxt2 span {
  display: inline-block;
}
.indexOutlineTop__titlenew img {
  width: 208px;
  max-width: 100%;
}
.indexOutlineTop__data {
  margin-top: calc(1vw + 25px);
}
@media print, (min-width: 576px) {
  .indexOutlineTop__title h2 {
    font-size: 2rem;
  }
  .indexOutlineTop__data {
    margin-top: 50px;
  }
  .indexOutlineTop__titlenew img {
    width: 312px;
  }
}
@media print, (min-width: 992px) {
  .indexOutlineTop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .indexOutlineTop__title {
    width: 36%;
    text-align: left;
  }
  .indexOutlineTop__title .title1 {
    text-align: left;
  }
  .indexOutlineTop__title h2 {
    font-size: 2.5vw;
    line-height: 1.5;
  }
  .indexOutlineTop__data {
    width: 61%;
    margin: 0 0 0 3%;
  }
  .indexOutlineTop__titlenew {
    max-width: 390px;
    text-align: right;
  }
  .indexOutlineTop__titlenew img {
    width: 90%;
    max-width: 312px;
  }
}
@media print, (min-width: 1400px) {
  .indexOutlineTop h2 {
    font-size: 2.125rem;
  }
}

.indexOutlineSlide .swiper {
  padding-bottom: 40px;
}
.indexOutlineSlide .swiper-button-next,
.indexOutlineSlide .swiper-button-prev {
  top: 33.7vw;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  background: #0aa0a9;
}
.indexOutlineSlide .swiper-button-next {
  right: 0;
}
.indexOutlineSlide .swiper-button-prev {
  left: 0;
}
.indexOutlineSlide .swiper-button-next::after,
.indexOutlineSlide .swiper-button-prev::after {
  color: #FFF;
  font-size: 20px;
}
.indexOutlineSlide__item {
  position: relative;
}
.indexOutlineSlide__item img {
  width: 100%;
}
.indexOutlineSlide__caption {
  position: absolute;
  top: -1px;
  left: -1px;
  min-height: 6em;
  padding: 5px 20px 15px 5px;
  background: #FFF;
  font-size: 0.875rem;
}
.indexOutlineSlide__captiontxt1 {
  display: block;
  position: absolute;
  top: 7px;
  left: 5px;
  color: #0aa0a9;
  font-size: 0.625rem;
  rotate: -90deg;
  -webkit-transform-origin: top right;
          transform-origin: top right;
  translate: -100% 0;
  white-space: nowrap;
}
.indexOutlineSlide__captiontxt2 {
  display: inline-block;
  margin-left: 1.25em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.indexOutlineSlide__note {
  width: 84%;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.75rem;
  text-align: center;
  line-height: 1.66;
}
@media print, (min-width: 576px) {
  .indexOutlineSlide .swiper {
    padding-bottom: 50px;
  }
  .indexOutlineSlide .swiper-button-next,
  .indexOutlineSlide .swiper-button-prev {
    top: 21.8vw;
    width: 50px;
    height: 50px;
    margin-top: -25px;
  }
  .indexOutlineSlide__caption {
    font-size: 1rem;
    min-height: 7em;
  }
  .indexOutlineSlide__note {
    margin-top: 20px;
  }
}
@media print, (min-width: 992px) {
  .indexOutlineSlide .swiper-slide {
    width: 640px;
  }
  .indexOutlineSlide .swiper-button-next,
  .indexOutlineSlide .swiper-button-prev {
    top: 260px;
  }
  .indexOutlineSlide__caption {
    padding: 5px 25px 15px 10px;
    min-height: 8em;
  }
  .indexOutlineSlide__captiontxt1 {
    left: 10px;
  }
}

.indexOutlineMap__txt br {
  display: none;
}
.indexOutlineMap__title {
  position: relative;
  overflow: hidden;
  margin-bottom: 1em;
  color: #0aa0a9;
}
.indexOutlineMap__title span {
  display: inline-block;
  padding-right: 100px;
}
.indexOutlineMap__title span::after {
  content: "";
  position: absolute;
  top: calc(0.5em - 1px);
  width: 100%;
  height: 1px;
  background: #0aa0a9;
}
.indexOutlineMap__map {
  margin-top: 30px;
}
.indexOutlineMap__mapcontainer {
  position: relative;
  padding-top: 100%;
}
.indexOutlineMap__mapcontainer iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media print, (min-width: 576px) {
  .indexOutlineMap__title {
    font-size: 1.25rem;
  }
  .indexOutlineMap__mapcontainer {
    padding-top: 75%;
  }
}
@media print, (min-width: 992px) {
  .indexOutlineMap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .indexOutlineMap__txt {
    width: 24.3%;
  }
  .indexOutlineMap__txt br {
    display: inline;
  }
  .indexOutlineMap__map {
    width: 72.7%;
    margin: 0 0 0 3%;
  }
  .indexOutlineMap__mapcontainer {
    padding-top: 58.33%;
  }
}

.indexAbout {
  background: #0aa0a9;
}
.indexAbout__topimg img {
  width: 92%;
  border-radius: 0 15vw 0 0/0 15vw 0 0;
}
.indexAbout__toptxt {
  width: 84%;
  margin: calc(2.2vw + 40px) auto 0;
  color: #FFF;
}
.indexAbout__toptxt .title1__en {
  background: #FFF;
  color: #0aa0a9;
}
.indexAbout__toptxt .title1__jp {
  color: #FFF;
}
.indexAbout__container {
  position: relative;
  z-index: 2;
  margin-top: calc(2.2vw + 40px);
  padding: 1px 0 calc(2.2vw + 40px);
}
.indexAbout__container::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #FFF;
}
.indexAbout__container .container-small {
  position: relative;
}
@media print, (min-width: 992px) {
  .indexAbout__top {
    position: relative;
    min-height: 33vw;
  }
  .indexAbout__topimg {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
  }
  .indexAbout__topimg img {
    width: 100%;
  }
  .indexAbout__toptxt {
    width: 84%;
    max-width: 1320px;
    margin: 0 auto;
  }
  .indexAbout__toptxt .title1 {
    margin-left: 57.42%;
    text-align: left;
  }
  .indexAbout__toptxt .content {
    margin-left: 57.42%;
  }
}
@media print, (min-width: 1200px) {
  .indexAbout__topimg {
    width: 60%;
  }
  .indexAbout__toptxt .title1,
  .indexAbout__toptxt .content {
    margin-left: calc(50% + 10vw + 5.3%);
  }
  .indexAbout__container::before {
    width: 92%;
    max-width: calc(50% + 660px);
  }
}

.indexRecruitment {
  background: #f6f6f6;
}
.indexRecruitment__container {
  position: relative;
  z-index: 2;
  margin-top: calc(2.2vw + 40px);
  padding: 1px 0 calc(2.2vw + 40px);
}
.indexRecruitment__container::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 94%;
  height: 100%;
  background: #FFF;
  translate: -50% 0;
}
.indexRecruitment__container .container-small {
  position: relative;
  margin-top: -20px;
}
@media print, (min-width: 1200px) {
  .indexRecruitment__container::before {
    width: 84%;
    max-width: 1320px;
  }
}

.indexEntry__titlenote {
  margin-top: -20px;
  font-size: 0.75rem;
  line-height: 1.66;
  text-align: center;
}
.indexEntry__tel {
  color: #0aa0a9;
  font-size: 1.5rem;
  text-decoration: none;
}
.indexEntry__telsvg {
  margin: 0 6px 4px 0;
  vertical-align: middle;
}
.indexEntry__mail {
  color: #0aa0a9;
  font-size: 1rem;
  text-decoration: none;
}
.indexEntry__mailsvg {
  margin: 0 6px 4px 0;
  vertical-align: middle;
}
.indexEntry__form {
  margin-top: calc(2.2vw + 40px);
}
.indexEntry__formtitle {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
  background: #0aa0a9;
  border-radius: 24px;
  color: #FFF;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 48px;
  text-align: center;
}
.indexEntry__formtitle::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 22px;
  left: -9.5%;
  width: 119%;
  height: 5px;
  background: #eef9fa;
}
@media print, (min-width: 576px) {
  .indexEntry__titlenote {
    font-size: 0.875rem;
  }
  .indexEntry__tel {
    font-size: 1.25rem;
  }
  .indexEntry__tel:not(:first-child) {
    margin-left: 1em;
  }
  .indexEntry__telsvg {
    margin: 0 6px 4px 0;
    vertical-align: middle;
  }
  .indexEntry__mailsvg {
    margin: 0 6px 4px 0;
    vertical-align: middle;
  }
  .indexEntry__form {
    margin-top: calc(2.2vw + 66px);
    padding: 1px 40px 2.2vw;
    border: 5px solid #eef9fa;
  }
  .indexEntry__formtitle {
    margin-top: -26px;
    border-radius: 26px;
    font-size: 1.5rem;
    line-height: 52px;
  }
  .indexEntry__formtitle::before {
    display: none;
  }
  .indexEntry .form1 {
    padding-top: 20px;
  }
}