/* ==================================================
	basic settings
================================================== */

a {
  color: inherit;
}

a:link {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.rwd_disp_xo,
.rwd_disp_ox {
  display: none !important;
}

.underline {
  position: relative;
}

.indent {
  display: block;
  padding-left: 2rem;
  text-indent: -1rem;
}

.img {
  width: 100%;
}

.txt {
  line-height: 2.0;
}

.tct {
  text-align: center;
}

.text-link {
  -webkit-transition: .3s;
  transition: .3s;
  word-wrap: break-word;
}

.text-link:hover {
  opacity: .5;
}

/* ==================================================
	btn design
================================================== */

.btn {
  font-size: 1.6rem;
}

.btn-block {
  background: #365095;
  color: #fff;
}

.btn-block a {
  padding: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.btn-block span {
  display: inline-block;
}

.btn-block .i-mail {
  display: block;
}

.btn-block:hover {
  background: #6d758c;
}

.btn .btn-svg {
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
  position: relative;
  margin-left: 10px;
}

.btn .btn-svg .cls-1 {
  fill: transparent;
  stroke-linecap: round;
  stroke-width: 1px;
}

.btn .btn-svg::before,
.btn .btn-svg::after {
  content: "";
  height: 1px;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
}

.btn .btn-svg::after {
  width: 0;
  -webkit-transition: .2s;
  transition: .2s;
}

.btn .btn-svg.wh .cls-1 {
  stroke-dasharray: 94;
  stroke-dashoffset: 94;
}

.btn .btn-svg.wh .cls-2 {
  fill: #fff;
}

.btn .btn-svg.wh::before {
  background: #5a70a8;
}

.btn .btn-svg.wh::after {
  background: #fff;
}

.btn .btn-svg.pu .cls-1 {
  stroke-dasharray: 94;
  stroke-dashoffset: 94;
}

.btn .btn-svg.pu .cls-2 {
  fill: #365095;
}

.btn .btn-svg.pu::before {
  background: #e2e7f6;
}

.btn .btn-svg.pu::after {
  background: #365095;
}

.btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.btn a:hover .pu::after {
  background: #365095;
}

.btn a:hover .pu .cls-1 {
  -webkit-animation: circle2 .4s forwards;
  animation: circle2 .4s forwards;
  -webkit-animation-delay: .2s;
  animation-delay: .2s;
  stroke: #365095;
}

.btn a:hover .wh::after {
  background: #fff;
}

.btn a:hover .wh .cls-1 {
  -webkit-animation: circle1 .4s forwards;
  animation: circle1 .4s forwards;
  -webkit-animation-delay: .2s;
  animation-delay: .2s;
  stroke: #fff;
}

@-webkit-keyframes circle1 {
  0% {
    stroke-dashoffset: 94;
  }

  99.9%, to {
    stroke-dashoffset: 0;
  }
}

@keyframes circle1 {
  0% {
    stroke-dashoffset: 94;
  }

  99.9%, to {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes circle2 {
  0% {
    stroke-dashoffset: 94;
  }

  99.9%, to {
    stroke-dashoffset: 0;
  }
}

@keyframes circle2 {
  0% {
    stroke-dashoffset: 94;
  }

  99.9%, to {
    stroke-dashoffset: 0;
  }
}

.form-submit-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.form-submit-btn input[type="submit"].submit {
  background: transparent;
  color: #fff;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.form-submit-btn input[type="submit"].submit:disabled {
  pointer-events: none;
  background: #6d758c;
}

.form-submit-btn input[type="submit"].submit:hover + .wh::after {
  background: #fff;
}

.form-submit-btn input[type="submit"].submit:hover + .wh .cls-1 {
  -webkit-animation: circle1 .4s forwards;
  animation: circle1 .4s forwards;
  -webkit-animation-delay: .2s;
  animation-delay: .2s;
  stroke: #fff;
}

.form-submit-btn input[type="submit"].back {
  background: #ccc;
}

.form-submit-btn .btn-block {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

/* ==================================================
	dl-table-style
================================================== */

.dl-table-style {
  background: rgba(226, 231, 246, 0.4);
  position: relative;
}

.dl-table-style dl {
  border-bottom: 2px solid #fff;
}

.dl-table-style dl dt {
  color: rgba(54, 80, 149, 0.3);
  font-weight: bold;
  position: relative;
}

.dl-table-style dl dt::after {
  margin-left: 10px;
}

.dl-table-style dl dt.required::after {
  content: "*";
  color: #db4c4c;
}

.dl-table-style .btn-list .other label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.dl-table-style .btn-list .other label input[type="text"] {
  margin-left: 10px;
}

@media print, screen and (min-width: 768px) {
  .rwd_disp_ox {
    display: block !important;
  }

  .btn-block {
    font-size: 3.6rem;
    -webkit-transition: .3s;
    transition: .3s;
  }

  .btn-block span {
    font-size: 1.3rem;
    margin: 0 10px 0 20px;
    -webkit-transform: translateY(9px);
    transform: translateY(9px);
  }

  .btn-block .i-mail {
    margin-right: 10px;
    width: 48px;
    height: 48px;
  }

  .btn .btn-svg {
    width: 70px;
    height: 30px;
  }

  .btn .btn-svg::before {
    width: 51px;
  }

  .btn a:hover .pu::after {
    width: 51px;
  }

  .btn a:hover .wh::after {
    width: 51px;
  }

  .form-submit-btn {
    margin-top: 50px;
  }

  .form-submit-btn input[type="submit"] {
    font-size: 1.6rem;
  }

  .form-submit-btn input[type="submit"].submit:hover + .wh::after {
    width: 51px;
  }

  .form-submit-btn input[type="button"].back {
    width: 300px;
    padding: 20px;
  }

  .form-submit-btn .btn-block {
    width: 300px;
    padding: 20px;
  }

  .form-submit-btn > * + * {
    margin-left: 30px;
  }

  .dl-table-style {
    width: 900px;
    margin: 50px auto;
    padding-top: 50px;
  }

  .dl-table-style dl dt {
    padding: 0 30px 15px;
  }

  .dl-table-style dl dd {
    padding: 0 30px 50px 30px;
  }

  .dl-table-style dl + dl {
    margin-top: 50px;
  }

  .dl-table-style .btn-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .dl-table-style .btn-list li {
    margin-right: 40px;
  }
  .dl-table-style .btn-list li:nth-child(3) {
    margin-top: 20px;
  }

  .dl-table-style .btn-list .other label {
    width: 500px;
  }
}

@media only screen and (max-width: 767px) {
  .rwd_disp_xo {
    display: block !important;
  }

  .btn-block {
    font-size: 6.3984vw;
  }

  .btn-block a {
    padding: 8vw 5vw;
  }

  .btn-block span {
    font-size: 2.9326vw;
    -webkit-transform: translateY(1vw);
    transform: translateY(1vw);
    margin: 0 0 0 2vw;
  }

  .btn-block .i-mail {
    width: 8vw;
    height: 8vw;
    margin-right: 2vw;
  }

  .btn .btn-svg {
    width: 17vw;
    height: 7vw;
    margin-left: auto;
  }

  .btn .btn-svg svg {
    width: 7vw;
    height: 7vw;
  }

  .btn .btn-svg::before {
    width: 12.5vw;
  }

  .btn a:hover .pu::after {
    width: 12.5vw;
  }

  .btn a:hover .wh::after {
    width: 12.5vw;
  }

  .form-submit-btn {
    margin-top: 8vw;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .form-submit-btn input[type="submit"] {
    font-size: 3.7324vw;
  }

  .form-submit-btn input[type="submit"].submit:hover + .wh::after {
    width: 12.5vw;
  }

  .form-submit-btn input[type="submit"].back {
    width: 90%;
    padding: 5vw;
  }

  .form-submit-btn .btn-block {
    width: 90%;
    padding: 5vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .form-submit-btn > * + * {
    margin-top: 5vw;
  }

  .dl-table-style {
    width: 100%;
    margin: 8vw auto;
    padding-top: 8vw;
  }

  .dl-table-style dl dt {
    padding: 0 5vw 5vw;
  }

  .dl-table-style dl dd {
    padding: 0 5vw 8vw 5vw;
  }

  .dl-table-style dl + dl {
    margin-top: 8vw;
  }

  .dl-table-style .btn-list li + li {
    margin-top: 5vw;
  }
}

/* ==================================================
	
================================================== */
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }