@charset "UTF-8";
a,
abbr,
address,
article,
aside,
audio,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
dialog,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
hr,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
main,
mark,
menu,
meter,
nav,
object,
output,
p,
pre,
progress,
q,
rp,
rt,
ruby,
s,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
var,
video {
  border: 0;
  margin: 0;
  padding: 0;
  font-size: 100%;
}

html,
body {
  height: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
  display: block;
}

img {
  color: transparent;
  font-size: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
}

a {
  color: #000;
  text-decoration: none;
  transition: opacity 0.3s ease;
  outline: 1px solid transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
a img {
  outline: 1px solid transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
a:hover {
  cursor: pointer;
}

img, object {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  resize: none;
  outline: none;
  background: none;
}

select::-ms-expand {
  display: none;
}

button:hover {
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th,
td,
caption {
  font-weight: normal;
  vertical-align: top;
  text-align: left;
}

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

/*------------- 共通設定 -------------*/
html {
  font-size: 62.5%;
}

body {
  color: #333;
  font-size: 1rem;
  text-align: left;
  font-family: "Noto Sans JP", "メイリオ", sans-serif;
  background-color: #fff;
  min-width: 900px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  body {
    min-width: auto;
  }
}

section {
  position: relative;
}
section.bg_gray {
  background-color: #F5F5F5;
}

main {
  position: relative;
  display: block;
}

p,
th,
td,
dt,
dd,
li,
input,
button,
textarea {
  font-size: 1.6rem;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  p,
  th,
  td,
  dt,
  dd,
  li,
  input,
  button,
  textarea {
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}

img {
  width: 100%;
  height: auto;
}

* {
  box-sizing: border-box;
  word-break: break-word;
}

a {
  text-decoration: none;
  transition: opacity 0.3s ease;
  cursor: pointer;
  color: #333;
}
a:hover {
  opacity: 0.6;
}

.is-fixed {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.flex {
  display: flex;
}

.wrap {
  width: 960px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .wrap {
    width: 100%;
    padding: 0 4vw;
  }
}
.wrap._white {
  background-color: #FFF;
}
@media screen and (max-width: 768px) {
  .wrap._contents {
    padding-bottom: 23vw;
  }
}

@media screen and (max-width: 768px) {
  .wrapper {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 14.3vw);
  }
}

@media screen and (max-width: 768px) {
  .nosp {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .nopc {
    display: none !important;
  }
}
/*------------- パーツ -------------*/
._grey {
  background-color: #F5F5F5;
}

.parts .sp {
  max-width: 343px;
}
@media screen and (max-width: 768px) {
  .parts .sp {
    margin: 50px auto;
  }
}
@media screen and (min-width: 769px) {
  .parts .pc {
    width: 720px;
    margin: 0 auto;
  }
}

._green {
  color: #00694E;
}

._orange {
  color: #EB6120;
}

.center {
  text-align: center;
}

.bold {
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .title {
    font-size: 18px;
    font-size: 4.6153846154vw;
    margin: 2.5rem 0 2rem;
  }
}

@media screen and (max-width: 768px) {
  .text {
    font-size: 14px;
    font-size: 3.5897435897vw;
    line-height: 1.6;
    margin-bottom: 2.5rem;
  }
}

.fz14 {
  font-size: 1.4rem;
}

.mt-1rem {
  margin-top: 1rem;
}

.mt-2rem {
  margin-top: 2rem;
}

.mt-3rem {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .mt-3rem {
    margin-top: 2vw;
  }
}

.mt-4rem {
  margin-top: 4rem;
}

.mt-5rem {
  margin-top: 5rem;
}

.mb-3rem {
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .mb-3rem {
    margin-bottom: 0;
  }
}

.input:not(:first-child) {
  margin-top: 2rem;
}
.input_title {
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.input_title .fz12 {
  font-size: 1.2rem;
}
.input_title .fz12._normal {
  font-weight: normal;
}
.input_title .required {
  width: 2.8rem;
  text-align: center;
  background-color: #FFC300;
  border-radius: 4px;
  display: inline-block;
  color: #333;
  margin-left: 5px;
  vertical-align: 2px;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .input_title .required {
    font-size: 10px;
    font-size: 2.5641025641vw;
    border-radius: 1vw;
  }
}
.input_title .any {
  width: 2.8rem;
  text-align: center;
  background-color: #EBEBEB;
  border-radius: 4px;
  display: inline-block;
  color: #666666;
  margin-left: 5px;
  vertical-align: 2px;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .input_title .any {
    font-size: 10px;
    font-size: 2.5641025641vw;
    border-radius: 1vw;
  }
}
.input_sub_title {
  margin-bottom: 0.25rem;
  display: block;
}
.input_sub_title:not(:first-of-type) {
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .input_sub_title {
    font-size: 12px;
    font-size: 3.0769230769vw;
  }
}
@media screen and (max-width: 768px) {
  .input.size-s {
    width: 50%;
    max-width: 165px;
  }
}
.input .caution {
  font-size: 1.2rem;
  position: relative;
  padding-left: 2.5rem;
  line-height: 1.4;
  margin: 0.5rem auto 1rem;
}
.input .caution::before {
  content: "";
  width: 20px;
  height: 20px;
  background: url("../img/common/icon_caution.svg") center/contain no-repeat;
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.input_password {
  max-width: 560px;
  position: relative;
}
.input_password_icon {
  padding: 0;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
.input_password_icon img {
  vertical-align: middle;
}

.breadcrumbs {
  padding: 8px 0;
  background: #F1F1F1;
}
@media screen and (max-width: 768px) {
  .breadcrumbs {
    padding: 2vw 0;
  }
}
.breadcrumbs ul {
  padding: 0;
  margin: 0;
  list-style: none;
  align-items: center;
}
.breadcrumbs ul li {
  color: #555;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .breadcrumbs ul li {
    font-size: 12px;
    font-size: 3.0769230769vw;
  }
}
.breadcrumbs ul li + li::before {
  content: "";
  width: 4px;
  height: 7px;
  background: url("../img/common/icon_arrow_gray.svg") center/contain no-repeat;
  display: inline-block;
  margin: 0 1rem;
}
@media screen and (max-width: 768px) {
  .breadcrumbs ul li + li::before {
    width: 1.2vw;
    height: 2.2vw;
  }
}
.breadcrumbs ul li a {
  color: #555;
}
@media screen and (max-width: 768px) {
  .breadcrumbs ul li a {
    font-size: 10px;
    font-size: 2.5641025641vw;
  }
}
.breadcrumbs ul .icon a {
  display: flex;
  align-items: center;
}
.breadcrumbs ul .no-icon::before {
  display: none;
}

@media screen and (min-width: 769px) {
  .form_wrap {
    width: 720px;
    margin: 0 auto;
  }
}
.form .login {
  text-align: center;
  margin-top: 1.5rem;
}
.form .login_check label span {
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .form .login_check label span {
    font-size: 14px;
    font-size: 3.5897435897vw;
  }
}
.form .login .btn {
  margin-top: 3rem;
}
.form .register {
  text-align: center;
  margin-top: 2rem;
}
.form .register_text {
  margin-bottom: 0.5rem;
}
.form .register .link {
  margin-top: 3rem;
}

.flow ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}
.flow ul li {
  width: calc(33.3333333333% + 17px);
  color: #888;
  position: relative;
  text-align: center;
  margin-right: -26px;
  padding: 5px 0;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .flow ul li {
    font-size: 12px;
    font-size: 3.0769230769vw;
    padding: 2vw;
    margin-right: -10px;
  }
}
.flow ul li span {
  width: 15px;
  height: 15px;
  color: #888;
  font-size: 1rem;
  line-height: 1.6;
  background-color: #FFF;
  border-radius: 50%;
  display: inline-block;
  vertical-align: 2px;
  margin-right: 0.5rem;
}
@media screen and (max-width: 768px) {
  .flow ul li span {
    width: 4vw;
    height: 4vw;
    margin-right: 0.5rem;
    font-size: 10px;
    font-size: 2.5641025641vw;
    vertical-align: 0.06rem;
  }
}
.flow ul li.current {
  color: #FFF;
  font-weight: bold;
  background: url("../img/common/bg_flow_green_pc.svg") center/cover no-repeat;
}
@media screen and (max-width: 768px) {
  .flow ul li.current {
    background: url("../img/common/bg_flow_green_sp.svg") center/cover no-repeat;
  }
}
.flow ul li.current span {
  background-color: #FFF;
  font-weight: bold;
  color: #009C74;
}
.flow ul li.lightgray {
  background: url("../img/common/bg_flow_lightgray_pc.svg") center/cover no-repeat;
}
@media screen and (max-width: 768px) {
  .flow ul li.lightgray {
    background: url("../img/common/bg_flow_lightgray_sp.svg") center/cover no-repeat;
  }
}
.flow ul li.gray {
  background: url("../img/common/bg_flow_gray_pc.svg") center/cover no-repeat;
}
@media screen and (max-width: 768px) {
  .flow ul li.gray {
    background: url("../img/common/bg_flow_gray_sp.svg") center/cover no-repeat;
  }
}
.flow ul li._01 {
  z-index: 3;
}
.flow ul li._02 {
  z-index: 2;
}
.flow ul li._03 {
  z-index: 1;
}

.btn {
  text-align: center;
}
.btn a {
  display: block;
  font-weight: bold;
  border-radius: 8px;
  position: relative;
  padding: 13px 16px;
}
@media screen and (max-width: 768px) {
  .btn a {
    padding: 3.25vw;
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.btn a::before {
  content: "";
  width: 12px;
  height: 12px;
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .btn a::before {
    width: 3vw;
    height: 3vw;
    right: 2vw;
  }
}
.btn._default a {
  color: #FFF;
  background-color: #009C74;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2509803922);
  border: 2px solid #009C74;
}
.btn._default a::before {
  background: url("../img/common/icon_arrow_white.svg") center/contain no-repeat;
}
.btn._default .btn_inner::before {
  background: url("../img/common/icon_arrow_white.svg") center/contain no-repeat;
}
.btn._default input,
.btn._default button {
  color: #FFF;
  background-color: #009C74;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2509803922);
  border: 2px solid #009C74;
}
.btn._white a {
  color: #009C74;
  background-color: #FFF;
  border: 2px solid #009C74;
}
.btn._white a::before {
  background: url("../img/common/icon_arrow_green.svg") center/contain no-repeat;
}
.btn._white .btn_inner::before {
  background: url("../img/common/icon_arrow_green.svg") center/contain no-repeat;
}
.btn._white input,
.btn._white button {
  color: #009C74;
  background-color: #FFF;
  border: 2px solid #009C74;
}
.btn._orange a {
  color: #FFF;
  background-color: #EB6120;
  border: 2px solid #EB6120;
}
.btn._orange a::before {
  background: url("../img/common/icon_arrow_white.svg") center/contain no-repeat;
}
.btn._orange .btn_inner::before {
  background: url("../img/common/icon_arrow_white.svg") center/contain no-repeat;
}
.btn._orange input,
.btn._orange button {
  color: #FFF;
  background-color: #EB6120;
  border: 2px solid #EB6120;
}
.btn._green a {
  color: #FFF;
  background-color: #33B090;
  border: 2px solid #33B090;
}
.btn._green a::before {
  background: url("../img/common/icon_arrow_white.svg") center/contain no-repeat;
}
.btn_column .btn {
  width: calc(50% - 10px);
}
@media screen and (max-width: 768px) {
  .btn_column .btn {
    width: calc(50% - 2vw);
  }
}
.btn_column .btn + .btn {
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .btn_column .btn + .btn {
    margin-left: 4vw;
  }
}
.btn_inner {
  display: block;
  position: relative;
}
.btn_inner::before {
  content: "";
  width: 12px;
  height: 12px;
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .btn_inner::before {
    width: 3.5vw;
    height: 3.5vw;
    right: 4.5vw;
  }
}
.btn_inner input[type=submit],
.btn_inner button {
  display: block;
  width: 100%;
  font-weight: bold;
  border-radius: 8px;
  padding: 16px;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .btn_inner input[type=submit],
  .btn_inner button {
    padding: 3.25vw;
  }
}
.btn._disabled {
  opacity: 0.4;
  pointer-events: none;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=password] {
  width: 100%;
  max-width: 560px;
  border: 1px solid #888;
  background-color: #F3FFFD;
  border-radius: 8px;
  padding: 9px 15px;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=number]::placeholder,
input[type=password]::placeholder {
  color: #B6B6B6;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=number]:focus,
input[type=password]:focus {
  outline: 2px solid #69D8BB;
}
input[type=text].error,
input[type=email].error,
input[type=tel].error,
input[type=number].error,
input[type=password].error {
  outline: 1px solid #E02424;
  background-color: #FFF0F0;
}
input[type=text].read_only,
input[type=email].read_only,
input[type=tel].read_only,
input[type=number].read_only,
input[type=password].read_only {
  border-color: #D6D6D6;
  background-color: #EBEBEB;
}
@media screen and (min-width: 769px) {
  input[type=text]._pc-short,
  input[type=email]._pc-short,
  input[type=tel]._pc-short,
  input[type=number]._pc-short,
  input[type=password]._pc-short {
    max-width: 343px;
  }
}

.addition_text {
  color: #B6B6B6;
  display: block;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .addition_text {
    font-size: 12px;
    font-size: 3.0769230769vw;
  }
}

.error_text {
  color: #E02424;
  display: block;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .error_text {
    font-size: 12px;
    font-size: 3.0769230769vw;
  }
}

textarea {
  width: 100%;
  min-height: 100px;
  max-width: 560px;
  border: 1px solid #888;
  background-color: #F3FFFD;
  border-radius: 8px;
  resize: block;
  padding: 9px 15px;
}
@media screen and (max-width: 768px) {
  textarea {
    padding: 3vw 4vw;
  }
}
textarea::placeholder {
  color: #B6B6B6;
}

.select {
  width: 100%;
  max-width: 560px;
  position: relative;
}
.select::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  background: #333;
  height: 7px;
  width: 14px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  display: block;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .select::before {
    height: 2vw;
    width: 4vw;
    right: 4vw;
  }
}
.select select {
  width: 100%;
  border: 1px solid #888;
  background-color: #F3FFFD;
  border-radius: 8px;
  padding: 14px 15px;
  font-size: 1.6rem;
  cursor: pointer;
}
.select select:focus {
  outline: 2px solid #69D8BB;
}
.select select.error {
  outline: 1px solid #E02424;
  background-color: #FFF0F0;
}
.select select.read_only {
  border-color: #888888;
  background-color: #FFF;
}
.select select:disabled {
  opacity: 1;
  color: #333;
}

.checkbox ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
.checkbox ul.column3 li {
  width: 33.3333333333%;
}
.checkbox ul li._long {
  flex: 1;
}

input[type=checkbox] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
input[type=checkbox] + span {
  cursor: pointer;
  display: inline-block;
  padding: 5px 0 5px 30px;
  position: relative;
  color: #333;
}
@media screen and (max-width: 768px) {
  input[type=checkbox] + span {
    padding: 0.5rem 0 0.5rem 3rem;
  }
}
input[type=checkbox] + span::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  border: 1px solid #B3B3B3;
  background-color: #FAFAFA;
  border-radius: 2px;
}
input[type=checkbox] + span::after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  background: url("../img/common/icon_checkbox.svg") center/contain no-repeat;
  opacity: 0;
}
input[type=checkbox]:checked + span::after {
  opacity: 1;
}

input[type=radio] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.radio ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
}
.radio ul li + li {
  margin-left: 2.5rem;
}
.radio ul li label span {
  cursor: pointer;
  position: relative;
  display: inline-block;
  padding: 5px 0 5px 30px;
}
@media screen and (max-width: 768px) {
  .radio ul li label span {
    padding: 0.5rem 0 0.5rem 3rem;
  }
}
.radio ul li label span::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 0.5rem;
  transform: translateY(-50%);
  border: 2px solid #B3B3B3;
  border-radius: 50%;
}
.radio ul li label span::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #009C74;
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  opacity: 0;
}
.radio ul li label input[type=radio]:checked + span::before {
  border-color: #009C74;
}
.radio ul li label input[type=radio]:checked + span::after {
  opacity: 1;
}

.match dl dt {
  color: #333;
  font-weight: bold;
  margin-bottom: 10px;
}
.match dl dt span {
  margin-right: 1rem;
  color: #FFF;
  background-color: #33B090;
  border-radius: 50%;
  display: inline-block;
  text-align: center;
  width: 23px;
  height: 23px;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .match dl dt span {
    font-size: 14px;
    font-size: 3.5897435897vw;
  }
}
.match dl dd {
  background-color: #E5F5F1;
  border-radius: 8px;
  padding: 10px 56px 6px 56px;
}
@media screen and (max-width: 768px) {
  .match dl dd {
    display: flex;
    justify-content: center;
    padding: 4.5vw;
  }
}
@media screen and (min-width: 769px) {
  .match dl dd ul {
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .match dl dd ul {
    justify-content: center;
  }
}
.match dl dd ul li {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .match dl dd ul li {
    width: 90px;
  }
}
@media screen and (max-width: 768px) {
  .match dl dd ul li {
    width: 20.4vw;
  }
  .match dl dd ul li:nth-child(even) {
    width: 9vw;
  }
}
@media screen and (max-width: 768px) {
  .match dl dd ul li + li {
    margin-left: 5px;
  }
}
.match dl dd ul li label span {
  cursor: pointer;
  display: block;
  padding: 23px 0 0;
  position: relative;
  color: #666;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .match dl dd ul li label span {
    font-weight: bold;
    font-size: 10px;
    font-size: 2.5641025641vw;
  }
}
.match dl dd ul li label span::before, .match dl dd ul li label span::after {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 769px) {
  .match dl dd ul li label span.nosp {
    padding: 0;
  }
  .match dl dd ul li label span.nosp::before, .match dl dd ul li label span.nosp::after {
    display: none;
  }
}
.match dl dd ul li label input[type=radio]:checked + span::before {
  border-color: #009C74;
}
.match dl dd ul li label input[type=radio]:checked + span::after {
  opacity: 1;
}

input[type=file] {
  display: none;
}

.upload_title {
  color: #333;
}
@media screen and (max-width: 768px) {
  .upload_title {
    font-size: 14px;
    font-size: 3.5897435897vw;
  }
}
.upload label {
  display: block;
  width: 21rem;
  height: 4rem;
  border: 1px solid #888888;
  background-color: #F4F4F4;
  border-radius: 8px;
  text-align: center;
  cursor: pointer;
  padding: 8px 0;
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  .upload label {
    font-size: 12px;
    font-size: 3.0769230769vw;
    padding: 1.35vw 0;
  }
}
.upload label img {
  width: 24px;
  height: 24px;
  vertical-align: -0.75rem;
  margin-right: 5px;
}
@media screen and (max-width: 768px) {
  .upload label img {
    width: 7vw;
    height: 7vw;
  }
}
.upload_inner {
  display: flex;
  justify-content: flex-start;
}
.upload_preview {
  width: 65px;
  height: 65px;
  margin-right: 15px;
}
@media screen and (max-width: 768px) {
  .upload_preview {
    width: 19vw;
    height: 19vw;
    margin-right: 4.5vw;
  }
}
.upload_preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.upload_image {
  display: block;
  color: rgba(182, 182, 182, 0.89);
  margin-top: 10px;
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  .upload_image {
    font-size: 12px;
    font-size: 3.0769230769vw;
  }
}
.upload_clear {
  margin-left: 8px;
  margin-top: 10px;
  margin-bottom: auto;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .upload_clear {
    font-size: 12px;
    font-size: 3.0769230769vw;
    margin-left: 2.25vw;
    margin-top: 3vw;
  }
}
.upload_clear img {
  width: 8px;
  margin-right: 4px;
  vertical-align: 0;
}
@media screen and (max-width: 768px) {
  .upload_clear img {
    width: 2.3vw;
    margin-right: 1vw;
  }
}

.link a {
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .link a {
    font-size: 14px;
    font-size: 3.5897435897vw;
  }
}
.link._left::before {
  content: "";
  width: 13px;
  height: 13px;
  display: inline-block;
  transform: rotate(180deg);
  background: url("../img/common/icon_arrow_green.svg") center/contain no-repeat;
  margin-right: 0.5rem;
  vertical-align: -1px;
}
@media screen and (max-width: 768px) {
  .link._left::before {
    width: 3.5vw;
    height: 3.5vw;
  }
}
.link._right::after {
  content: "";
  width: 13px;
  height: 13px;
  display: inline-block;
  background: url("../img/common/icon_arrow_green.svg") center/contain no-repeat;
  margin-left: 0.5rem;
  vertical-align: -1px;
}
@media screen and (max-width: 768px) {
  .link._right::after {
    width: 3.5vw;
    height: 3.5vw;
  }
}
.link._blue {
  margin-top: 0.5rem;
}
.link._blue a {
  color: #1886FE;
}
.link._blue a::after {
  content: "";
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: -0.15rem;
  margin-left: 1rem;
  background: url("../img/common/icon_link_blue.svg") center/contain no-repeat;
}
.link._bold a {
  font-weight: bold;
}

.closing_text {
  text-align: center;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1rem;
}

.review {
  background-color: #FFF;
  border-radius: 8px;
}
.review:nth-child(even) {
  margin-left: 30px;
}
.review .flex {
  align-items: center;
}
.review_title {
  width: 54%;
  min-height: 6.5rem;
  color: #FFF;
  font-weight: bold;
  background-color: #33B090;
  padding: 7px 16px;
  border-radius: 8px 0 0 8px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .review_title {
    line-height: 1.6;
    padding: 2.8vw 6.5vw 2.8vw 4.5vw;
  }
}
.review_rate {
  width: 46%;
}
.review_rate .flex {
  justify-content: center;
}
.review_rate_number {
  font-weight: bold;
  color: #009C74;
  margin-left: 0.5rem;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .review_rate_number {
    font-size: 18px;
    font-size: 4.6153846154vw;
  }
}
.review_rate_star img {
  width: 18px;
}
@media screen and (max-width: 768px) {
  .review_rate_star img {
    width: 5.25vw;
  }
}

.personal_information {
  height: 273px;
  overflow-y: auto;
  margin: 3rem auto 0;
  padding: 12px 16px;
  background-color: #FAFAFA;
  border: 1px solid #888;
}
@media screen and (max-width: 768px) {
  .personal_information {
    height: 31vh;
  }
}
.personal_information_title {
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .personal_information_title {
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
}
.personal_information dl {
  margin-top: 1rem;
}
.personal_information dl dt {
  font-weight: bold;
}
.personal_information dl dt,
.personal_information dl dd {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .personal_information dl dt,
  .personal_information dl dd {
    font-size: 14px;
    font-size: 3.5897435897vw;
  }
}
.personal_information_text {
  margin: 1rem auto;
  text-align: center;
  font-weight: bold;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .personal_information_text {
    font-size: 14px;
    font-size: 3.5897435897vw;
  }
}
.personal_information_check {
  text-align: center;
}
.personal_information_check label {
  display: inline-block;
  background-color: #EFEFEF;
  font-size: 1.4rem;
  padding: 5px 10px;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .personal_information_check label {
    padding: 1.5vw 2vw;
    border-radius: 1vw;
  }
}
.personal_information_check_text {
  font-size: 1.4rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .personal_information_check_text {
    font-size: 14px;
    font-size: 3.5897435897vw;
  }
}

.site_title {
  font-weight: bold;
  color: #FFF;
  font-size: 3.1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  position: absolute;
  top: 50%;
  left: 7%;
  transform: translateY(-50%);
  white-space: nowrap; /* 改行させない */
  max-width: 90%;
}
@media screen and (max-width: 768px) {
  .site_title {
    left: 7%;
    font-size: 18px;
    font-size: 4.6153846154vw;
  }
}
.site_title span {
  font-size: 1.6rem;
  font-weight: 400;
}
.site_title_wrap {
  background: url(../img/common/img_mv_pc.jpg) center/cover no-repeat;
  width: 100%;
  height: 20vh;
  position: relative;
}
@media screen and (max-width: 768px) {
  .site_title_wrap {
    background: #33B090;
    height: auto;
    padding: 7vw 0;
  }
}

@media screen and (min-width: 769px) {
  .sec_inner {
    width: 720px;
    margin: 0 auto;
    padding: 48px 0 80px;
  }
}
@media screen and (max-width: 768px) {
  .sec_inner {
    padding: 4vw 0 20vw;
  }
}

.sec_title {
  border-bottom: 2px solid #33B090;
  padding: 0 1rem 1rem;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .sec_title {
    font-size: 18px;
    font-size: 4.6153846154vw;
  }
}
.sec_title span {
  color: #666;
  background-color: #EBEBEB;
  padding: 0.2rem 0.4rem;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .sec_title span {
    font-size: 10px;
    font-size: 2.5641025641vw;
    border-radius: 4px;
    margin-left: 10px;
  }
}

.survey .flex {
  align-items: center;
}
.survey_item {
  border-radius: 8px;
  padding: 22px 16px 30px;
}
@media screen and (max-width: 768px) {
  .survey_item {
    padding: 5vw;
  }
}
.survey_item_head {
  margin-bottom: 1rem;
}
.survey_item_head_icon {
  width: 60px;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .survey_item_head_icon {
    width: 17.5vw;
    margin-right: 5vw;
  }
}
.survey_item_head_star img {
  width: 14px;
}
@media screen and (max-width: 768px) {
  .survey_item_head_star img {
    width: 4vw;
  }
}
.survey_item_head_date {
  margin-left: 0.5rem;
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  .survey_item_head_date {
    font-size: 12px;
    font-size: 3.0769230769vw;
  }
}
.survey_item .link {
  margin-top: 1.5rem;
  text-align: center;
}
.survey_title {
  font-weight: bold;
  line-height: 1.6;
}
.survey_text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  line-height: 1.5;
}

.table dl {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #D9D9D9;
  padding: 10px 16px;
}
@media screen and (max-width: 768px) {
  .table dl {
    padding: 3vw 5vw;
  }
}
.table dl dt {
  width: 8rem;
}
.table dl dd {
  font-weight: bold;
  margin-left: 4rem;
  width: calc(100% - 12rem);
  line-height: 1.6;
}

/*------------- ヘッダー -------------*/
.header {
  background-color: #FFF;
}
@media screen and (max-width: 768px) {
  .header .wrap {
    padding: 0;
  }
}
.header .flex {
  align-items: center;
}
.header_inner {
  padding: 11px 0;
}
@media screen and (max-width: 768px) {
  .header_inner {
    padding: 2vw 4vw;
  }
}
.header_inner .flex {
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .header_inner .flex {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .header_inner .sp-flex {
    display: flex;
  }
}
.header_logo {
  width: 40rem;
  margin-right: 12rem;
}
@media screen and (max-width: 768px) {
  .header_logo {
    width: 47vw;
    margin-right: 0;
  }
}
.header_logo a {
  display: block;
}
.header_overlay {
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 997;
}
.header_overlay.is-active {
  opacity: 1;
  pointer-events: auto;
}
.header_navi_txt {
  width: 15rem;
}
@media screen and (max-width: 768px) {
  .header_navi_txt {
    width: 29vw;
  }
}
.header_navi_btn {
  margin-left: 2.4rem;
}
.header_navi_btn a {
  color: #FFF;
  font-weight: bold;
  font-size: 1.8rem;
  background-color: #EB6120;
  border-radius: 8px;
  padding: 2px 52px 2px 20px;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2509803922);
  position: relative;
  display: block;
  text-align: center;
}
.header_navi_btn a::before {
  content: "";
  width: 16px;
  height: 16px;
  display: block;
  background: url("../img/common/icon_arrow_btn.svg") center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}
.header_navi_btn a span {
  position: relative;
  font-size: 1.4rem;
}
.header_navi_btn a span::before {
  content: "";
  width: 20px;
  height: 20px;
  display: block;
  background: url("../img/common/ico_slash_left.svg") center/contain no-repeat;
  position: absolute;
  top: 50%;
  left: -18px;
  transform: translateY(-50%);
}
.header_navi_btn a span::after {
  content: "";
  width: 20px;
  height: 20px;
  display: block;
  background: url("../img/common/ico_slash_right.svg") center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: -18px;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .header_navi {
    opacity: 0;
    visibility: hidden;
    overflow-y: auto;
    transition: 0.3s;
    position: fixed;
    top: 14.2vw;
    right: 0;
    width: 72%;
    height: 100%;
    background-color: #F1F1F1;
  }
  .header_navi_trigger {
    z-index: 100;
    width: 8vw;
    height: 5.35vw;
    position: absolute;
    top: 4.5vw;
    right: 2vw;
    cursor: pointer;
  }
  .header_navi_trigger span {
    background-color: #B3B3B3;
    width: 100%;
    height: 0.8vw;
    border-radius: 5vw;
    display: block;
    position: absolute;
    left: 0;
    transition: 0.3s;
  }
  .header_navi_trigger span:first-child {
    top: 0;
  }
  .header_navi_trigger span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
  }
  .header_navi_trigger span:nth-child(3) {
    bottom: 0;
  }
}
.header_navi ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.header_navi ul li {
  font-size: 1.4rem;
  font-weight: bold;
  margin-left: 30px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .header_navi ul li {
    margin-left: 0;
    border-bottom: 1px solid #D9D9D9;
  }
  .header_navi ul li.mt {
    margin-top: 6.5vw;
  }
}
.header_navi ul li a {
  display: block;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .header_navi ul li a {
    background-color: #F3FFFD;
    padding: 3vw;
    position: relative;
  }
}
@media screen and (max-width: 768px) {
  .header_navi ul li a::before {
    content: "";
    width: 2vw;
    height: 3vw;
    background: url("../img/icon_arrow_right.svg") center/contain no-repeat;
    display: block;
    position: absolute;
    top: 50%;
    right: 2vw;
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 769px) {
  .header_navi ul li:first-child a::before {
    bottom: -25px;
  }
}
.header_navi_pulldown {
  position: relative;
  cursor: pointer;
}
.header_navi_parent {
  position: relative;
}
.header_navi_parent::before {
  content: "";
  width: 100%;
  height: 2px;
  display: block;
  color: #009C74;
  background-color: #009C74;
  position: absolute;
  left: 0;
  bottom: -10px;
  opacity: 0;
}
.header_navi_parent::after {
  content: "";
  width: 12px;
  height: 12px;
  background: url("../img/icon_navi_arrow.svg") center/contain no-repeat;
  display: inline-block;
  margin-left: 0.5rem;
}
.header_navi_parent:hover {
  opacity: 1;
}
.header_navi_parent:hover::before {
  opacity: 1;
  bottom: -25px;
}
.header_navi_parent:hover::after {
  background: url("../img/icon_arrow_green.svg") center/contain no-repeat;
  transform: rotate(90deg);
}
.header_navi_child {
  display: none;
  width: 150px;
  position: absolute;
  top: 40px;
  background-color: #FFF;
}
.header_navi_child.is-active {
  display: block;
}
@media screen and (max-width: 768px) {
  .header.is-active .header_inner {
    background-color: #FFF;
    position: relative;
    z-index: 998;
  }
}
@media screen and (max-width: 768px) {
  .header.is-active .header_navi {
    opacity: 1;
    visibility: visible;
    z-index: 998;
  }
}
@media screen and (max-width: 768px) {
  .header.is-active .header_navi_trigger {
    background-color: #F5F5F5;
    width: 14.2vw;
    height: 14.2vw;
    top: 0;
    right: 0;
    z-index: 999;
  }
  .header.is-active .header_navi_trigger span {
    width: 55%;
    left: 50%;
  }
  .header.is-active .header_navi_trigger span:first-child {
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .header.is-active .header_navi_trigger span:nth-child(2) {
    display: none;
  }
  .header.is-active .header_navi_trigger span:nth-child(3) {
    top: 50%;
    bottom: auto;
    transform: translate(-50%, -50%) rotate(-45deg);
  }
}
.header_contact {
  margin-left: 30px;
  color: #009C74;
  background-color: #F3FFFD;
  border-bottom: 1px solid #D9D9D9;
}
@media screen and (max-width: 768px) {
  .header_contact {
    margin-left: 0;
  }
}
.header_contact a {
  display: block;
  font-weight: bold;
  color: #009C74;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .header_contact a {
    font-size: 18px;
    font-size: 4.6153846154vw;
  }
}
@media screen and (max-width: 768px) {
  .header_contact_title {
    font-size: 14px;
    font-size: 3.5897435897vw;
    font-weight: normal;
    color: #333;
    background-color: #F1F1F1;
    padding: 4vw 3vw 0 3vw;
  }
}
@media screen and (max-width: 768px) {
  .header_contact_text {
    color: #333;
    font-weight: normal;
    font-size: 12px;
    font-size: 3.0769230769vw;
  }
  .header_contact_text._tel {
    padding: 3vw 3vw 1vw;
  }
  .header_contact_text._mail {
    padding: 1vw 3vw 3vw;
  }
  .header_contact_text._mail a {
    font-size: 14px;
    font-size: 3.5897435897vw;
  }
}
.header_mypage {
  margin-left: 30px;
  color: #009C74;
  background-color: #F3FFFD;
}
@media screen and (max-width: 768px) {
  .header_mypage {
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .header_mypage_title {
    font-size: 14px;
    font-size: 3.5897435897vw;
    font-weight: normal;
    color: #333;
    background-color: #F1F1F1;
    padding: 4vw 3vw 0 3vw;
  }
}

/*------------- フッター -------------*/
.footer {
  text-align: center;
  color: #fff;
  background-color: #009C74;
  padding: 80px 0;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .footer {
    padding: 40px 0;
    margin-top: 24px;
  }
}
.footer_contents {
  display: flex;
  gap: 2rem;
  width: 63rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .footer_contents {
    width: 100%;
    gap: 16px;
    flex-flow: column;
    align-items: center;
  }
}
.footer_contents_image {
  width: 18.4rem;
}
@media screen and (max-width: 768px) {
  .footer_contents_image {
    width: 22.4rem;
  }
}
.footer_contents_contact h3 {
  font-size: 1.6rem;
  border-bottom: 1px solid #fff;
  text-align: left;
  padding-bottom: 10px;
  font-weight: 500;
  width: 43rem;
}
.footer_contents_contact_wrap {
  display: flex;
  gap: 2.5rem;
  margin-top: 1.2rem;
}
@media screen and (max-width: 768px) {
  .footer_contents_contact_wrap {
    flex-flow: column;
    margin-top: 0;
  }
}
.footer_contents_contact_tell {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .footer_contents_contact_tell {
    flex-flow: column;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid #fff;
    align-items: flex-start;
  }
}
.footer_contents_contact_tell_wrap {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .footer_contents_contact_tell_wrap {
    padding-left: 0.8rem;
  }
}
.footer_contents_contact_tell_icon {
  display: flex;
  align-items: center;
  gap: 5px;
  background: #fff;
  color: #009C74;
  padding: 8px 16px;
  border-radius: 5px;
  font-weight: 700;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .footer_contents_contact_tell_icon {
    width: 22.4rem;
    justify-content: center;
    padding: 4px 0;
    font-size: 1.6rem;
    border-radius: 20px;
  }
}
.footer_contents_contact_tell_icon img {
  width: 25px;
  height: 25px;
}
.footer_contents_contact_tell_text {
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .footer_contents_contact_tell_text {
    font-size: 2.4rem;
  }
}
.footer_contents_contact_tell_sub {
  font-size: 12px;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .footer_contents_contact_tell_sub {
    text-indent: -1rem;
  }
}
.footer_contents_contact_mail {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .footer_contents_contact_mail {
    flex-flow: column;
    padding-top: 1.6rem;
    align-items: flex-start;
  }
}
.footer_contents_contact_mail_icon {
  display: flex;
  align-items: center;
  gap: 5px;
  background: #fff;
  color: #009C74;
  padding: 8px 16px;
  border-radius: 5px;
  font-size: 1.4rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .footer_contents_contact_mail_icon {
    width: 22.4rem;
    justify-content: center;
    padding: 4px 0;
    font-size: 1.6rem;
    border-radius: 20px;
  }
}
.footer_contents_contact_mail_icon img {
  width: 25px;
  height: 25px;
}
.footer_contents_contact_mail_text {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
.footer_contents_contact_mail_sub {
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .footer_contents_contact_qr {
    display: none;
  }
}
.footer_contents_contact_qr_text {
  position: relative;
  font-size: 14px;
  line-height: 1.2;
}
.footer_contents_contact_qr_text span {
  font-size: 12px;
  font-weight: 400;
}
.footer_contents_contact_qr_text::before {
  content: "";
  width: 2px;
  height: 30px;
  background-color: #fff;
  display: block;
  position: absolute;
  bottom: 0;
  left: -11px;
  transform: rotate(-15deg);
}
.footer_contents_contact_qr_text::after {
  content: "";
  width: 2px;
  height: 30px;
  background-color: #fff;
  display: block;
  position: absolute;
  bottom: 0;
  right: -11px;
  transform: rotate(15deg);
}
.footer_contents_contact_qr img {
  width: 73px;
  height: 73px;
  margin-top: 8px;
}
.footer_link_top {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  width: 63rem;
  margin: 24px auto 0;
}
@media screen and (max-width: 768px) {
  .footer_link_top {
    width: 100%;
    grid-template-columns: 1fr;
  }
}
.footer_link_top_btn {
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 10px;
}
.footer_link_top ._01 {
  padding: 20px 55px 20px 20px;
}
.footer_link_top ._01::before {
  content: "";
  position: absolute;
  right: 2rem;
  width: 16px;
  height: 16px;
  background: url(../img/footer_icon_arrow01.svg) center/contain no-repeat;
}
.footer_link_top ._02 {
  padding: 12px 55px 12px 20px;
}
.footer_link_top ._02::before {
  content: "";
  position: absolute;
  right: 2rem;
  width: 16px;
  height: 16px;
  background: url(../img/footer_icon_arrow02.svg) center/contain no-repeat;
}
.footer_link_bottom {
  width: 630px;
  margin: 8px auto 24px;
}
@media screen and (max-width: 768px) {
  .footer_link_bottom {
    width: 100%;
  }
}
.footer_link_bottom_text {
  text-align: left;
}
.footer_link_bottom_text span {
  font-size: 12px;
  color: #fff;
  border-bottom: 1px solid #fff;
}/*# sourceMappingURL=style.css.map */