@charset "UTF-8";
/************************************
    reset
************************************/
acronym, samp,
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i, a,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

ul, ol {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote::before, blockquote::after,
q::before, q::after {
  content: '';
  content: none;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

acronym, samp {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  padding: 0;
  outline: 0;
  vertical-align: baseline;
}

a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  color: inherit;
  text-decoration: none;
}

img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border: none;
}

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

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a, area, button, [role="button"], input:not([type=range]), label, select, summary, textarea {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

/************************************
    base
************************************/
html,
body {
  height: 100%;
  width: 100%;
}

html {
  font-size: calc(100vw / 3.75);
}

@media only screen and (min-width: 769px) {
  html {
    font-size: calc(100vw / 12.8);
  }
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: .16rem;
  line-height: 1.5;
}

@media only screen and (min-width: 769px) {
  body {
    font-size: 16px;
  }
}

@media only screen and (min-width: 1025px) {
  body {
    margin-right: auto;
    margin-left: auto;
    max-width: 750px;
  }
}

body img {
  height: auto;
  width: 100%;
  border: none;
  image-rendering: -webkit-optimize-contrast;
  margin: auto;
  outline: none;
}

body .form {
  font-weight: 700;
}

/************************************
    header
************************************/
.corp-logo {
  line-height: 0;
  padding: 4vw 10px;
}

@media only screen and (min-width: 769px) {
  .corp-logo {
    padding: 1em 0;
  }
}

/************************************
    contents
************************************/
.ques {
  padding: 6vw 4vw 1.33333vw;
}

@media only screen and (min-width: 769px) {
  .ques {
    padding: 1.5em 1em 0.33333em;
  }
}

/************************************
	module
************************************/
/****** 見出し ******/
.page-ttl {
  line-height: 0;
}

.form-ttl {
  background: #E0E0E0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 4vw;
}

@media only screen and (min-width: 769px) {
  .form-ttl {
    padding: 1em;
  }
}

.form-ttl-item {
  width: 4em;
}

.form-ttl-label {
  width: calc(96% - 4em);
}

.form-ttl-2digits .form-ttl-item {
  width: 5em;
}

.form-ttl-2digits .form-ttl-label {
  width: calc(96% - 5em);
}

.mb-entry {
  background: #fff;
}

.mb-entry .comp-form-ttl,
.page-header .comp-form-ttl {
  background: #373737;
  box-sizing: border-box;
  color: #fff;
  font-size: 4.8vw;
  margin-bottom: 4.8vw;
  padding: 4vw 0;
  text-align: center;
}

.page-header .comp-form-ttl{
  margin-bottom: 0;;
}

/****** 設問 ******/
.ques-ttl {
  margin-bottom: 6vw;
}

@media only screen and (min-width: 769px) {
  .ques-ttl {
    margin-bottom: 1.5em;
  }
}

.ques-item {
  line-height: 0;
  margin-bottom: 10vw;
}

@media only screen and (min-width: 769px) {
  .ques-item {
    font-size: 36px;
    margin-bottom: 1.5em;
  }
}

.confirm-ques-center-item {
  display: flex;
  justify-content: center;
}

/****** フォーム ******/
/*-- ラジオ --*/
.radio-list {
  line-height: 1.2;
}

.radio-list li {
  margin-bottom: 6vw;
  margin-right: 4vw;
  position: relative;
}

@media only screen and (min-width: 769px) {
  .radio-list li {
    margin-bottom: 1.5em;
    margin-right: 1em;
  }
}

.radio-list li input[type="radio"] {
  display: none;
  line-height: 1;
}

.radio-list li label {
  cursor: pointer;
  padding-left: 1.5em;
  position: relative;
}

.radio-list li input[type="radio"] + label::before {
  background: #FFF;
  border: 2px solid #707070;
  border-radius: 50%;
  content: '';
  display: block;
  height: 1.2em;
  left: 0;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  width: 1.2em;
}

.radio-list li input[type="radio"] + label::after {
  border-radius: 50%;
  background: #E60020;
  position: absolute;
  content: '';
  display: block;
  height: calc(1.2em - .6em);
  opacity: 0;
  left: .3em;
  transform: translateY(-50%);
  transition: .2s;
  top: 50%;
  width: calc(1.2em - .6em);
}

.radio-list li input[type="radio"]:checked + label::after {
  opacity: 1;
}

/*-- チェック --*/
.check-list {
  line-height: 1.2;
}

.check-list li {
  margin-bottom: 6vw;
  margin-right: 4vw;
}

@media only screen and (min-width: 769px) {
  .check-list li {
    margin-bottom: 1.5em;
    margin-right: 1em;
  }
}

.check-list li input[type="checkbox"] {
  display: none;
}

.check-list li label {
  cursor: pointer;
  padding-left: 1.6em;
  position: relative;
}

.check-list li input[type="checkbox"] + label::before {
  background: #FFF;
  border: 2px solid #707070;
  border-radius: .04rem;
  content: '';
  display: block;
  height: 1.2em;
  left: 0;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  width: 1.2em;
}

.check-list li input[type="checkbox"] + label::after {
  border-right: 3px solid #E60020;
  border-bottom: 3px solid #E60020;
  position: absolute;
  content: '';
  display: block;
  height: calc(1.2em - .6em);
  opacity: 0;
  left: .4em;
  transform: translateY(-50%) rotate(45deg);
  transition: .2s;
  top: calc(50% - .05em);
  width: calc(1.2em - .8em);
}

.check-list li input[type="checkbox"]:checked + label::after {
  opacity: 1;
}

.check-list li.mg-r0 {
  margin-right: 0;
}

/*-- セレクト --*/
.select-list {
  -webkit-appearance: none;
  appearance: none;
  border: 2px solid #707070;
  border-radius: .04rem;
  cursor: pointer;
  font-size: .16rem;
  font-weight: 700;
  margin-bottom: 6vw;
  padding: 1.2em 2em;
  text-align: center;
  width: 100%;
}

@media only screen and (min-width: 769px) {
  .select-list {
    font-size: 16px;
    margin-bottom: 1.5em;
  }
}

/*-- ボタン --*/
.form-btn {
  padding: 6vw 12vw 12vw;
}

@media only screen and (min-width: 769px) {
  .form-btn {
    margin-right: auto;
    margin-left: auto;
    padding: 1.5em 3em 3em;
    max-width: 480px;
  }
}

.form-btn-item {
  background: #E60020;
  border: none;
  border-radius: .36rem;
  color: #FFF;
  cursor: pointer;
  font-size: .18rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 2em;
  outline: none;
  padding: 1.2em 2em;
  width: 100%;
}

@media only screen and (min-width: 769px) {
  .form-btn-item {
    font-size: 18px;
    transition: .2s;
  }
}

@media only screen and (min-width: 769px) {
  .form-btn-item:hover {
    opacity: .8;
  }
}

.form-btn-agree {
  margin-top: 12vw;
}

@media only screen and (min-width: 769px) {
  .form-btn-agree {
    margin-top: 3em;
  }
}

.form-btn-agree li {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 0;
}

.form-btn-agree li label {
  width: auto;
}

.form-btn.is-disable .form-btn-item {
  background: #707070;
  pointer-events: none;
}

/*-- メッセージ --*/
.form-err-message {
  color: #E60020;
}

@media only screen and (min-width: 769px) {
  .form-err-message {
    text-align: center;
  }
}

.form-err-message span {
  display: block;
  margin-bottom: 6vw;
}

@media only screen and (min-width: 769px) {
  .form-err-message span {
    margin-bottom: 1.5em;
  }
}

/****** カラム ******/
.flex-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex-list.radio-list li {
  font-size: .32rem;
  margin-right: 0;
  text-align: center;
  width: 25%;
}

@media only screen and (min-width: 769px) {
  .flex-list.radio-list li {
    font-size: 36px;
    margin-bottom: 0.66667em;
  }
}

.flex-list.radio-list li label {
  padding-top: .45em;
  padding-left: 0;
}

.flex-list.radio-list li input[type="radio"] + label::before {
  background: #FFF;
  border: 2px solid #707070;
  border-radius: 50%;
  content: '';
  display: block;
  height: .6em;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  top: 0;
  width: .6em;
}

.flex-list.radio-list li input[type="radio"] + label::after {
  border-radius: 50%;
  background: #E60020;
  position: absolute;
  content: '';
  display: block;
  height: calc(.6em - .3em);
  opacity: 0;
  left: 50%;
  transform: translateX(-50%);
  transition: .2s;
  top: .15em;
  width: calc(.6em - .3em);
}

.flex-list.radio-list li input[type="radio"]:checked + label::after {
  opacity: 1;
}

.flex-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}

.flex-list-item input {
  width: 1.5em;
}

.flex-list-item label {
  width: calc(96% - 1.5em);
}

/****** スクロールボックス ******/
.scroll-container {
  background: #F7F7F7;
  font-weight: 400;
  padding: 6vw 4vw;
}

@media only screen and (min-width: 769px) {
  .scroll-container {
    padding: 1.5em 1em;
  }
}

.scroll-container-ttl {
  margin-bottom: 4vw;
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .scroll-container-ttl {
    margin-bottom: 1em;
  }
}

.scroll-container-scroller {
  height: 15em;
}

.scroll-container-inner {
  height: 100%;
  overflow-y: auto;
  padding: 0.5em 1em;
}

.scroll-container-inner::-webkit-scrollbar {
  width: 8px;
}

.scroll-container-inner::-webkit-scrollbar-track {
  border: 1px solid #E0E0E0;
  border-radius: 8px;
  background: #E0E0E0;
}

.scroll-container-inner::-webkit-scrollbar-thumb {
  border-radius: 8px;
  background: #707070;
  min-height: 5em;
}

.scroll-container-sttl {
  margin-bottom: .5em;
}

.scroll-container-textbox .text:not(:last-child) {
  margin-bottom: 1em;
}

.scroll-container-textbox .text-link {
  text-decoration: underline;
}

.scroll-container-textbox:not(:last-child) {
  margin-bottom: 1.5em;
}

.scroll-container .num-list {
  margin-bottom: 1.5em;
}

.scroll-container .num-list-item {
  padding-left: 1em;
  text-indent: -1em;
}

.scroll-container .num-list-bracket .num-list-item {
  padding-left: 2.5em;
  text-indent: -2.5em;
}

.scroll-container .mark-list {
  margin-bottom: 1.5em;
}

.scroll-container .mark-list-item {
  padding-left: 1em;
  text-indent: -1em;
}

/************************************
	Object
************************************/
/****** clearfix ******/
.cf::before, .cf::after {
  content: "";
  display: table;
}

.cf::after {
  clear: both;
}

/****** テキスト ******/
/*----- 装飾 -----*/
.t-underline {
  display: inline;
  padding: 0 0 4px;
}

/*----- 字間 -----*/
.t-kerning {
  margin-right: -.5em;
  margin-left: -.5em;
  position: relative;
}

.t-mark {
  margin-right: -.5em;
  margin-left: -.05em;
  position: relative;
}

.t-comma {
  margin-right: -.5em;
  position: relative;
}

.t-bracket {
  margin: 0 .2em;
  position: relative;
  top: -.05em;
}

/*----- 位置 -----*/
.ta-l {
  text-align: left;
}

.ta-c {
  text-align: center;
}

.ta-r {
  text-align: right;
}

@media only screen and (min-width: 769px) {
  .ta-l-pc {
    text-align: left;
  }
}

@media only screen and (min-width: 769px) {
  .ta-c-pc {
    text-align: center;
  }
}

@media only screen and (min-width: 769px) {
  .ta-r-pc {
    text-align: right;
  }
}

/****** 余白 ******/
/*----- padding -----*/
.pd-0 {
  padding: 0;
}

.pd-b1 {
  padding-bottom: 4vw;
}

@media only screen and (min-width: 769px) {
  .pd-b1 {
    padding-bottom: 1rem;
  }
}

.pd-b1h {
  padding-bottom: 6vw;
}

@media only screen and (min-width: 769px) {
  .pd-b1h {
    padding-bottom: 1.5rem;
  }
}

.pd-b1h-d {
  padding-bottom: 2.66667vw;
}

@media only screen and (min-width: 769px) {
  .pd-b1h-d {
    padding-bottom: 0.66667rem;
  }
}

.pd-b2 {
  padding-bottom: 8vw;
}

@media only screen and (min-width: 769px) {
  .pd-b2 {
    padding-bottom: 2rem;
  }
}

.pd-b2-d {
  padding-bottom: 2vw;
}

@media only screen and (min-width: 769px) {
  .pd-b2-d {
    padding-bottom: 0.5rem;
  }
}

.pd-t1 {
  padding-top: 4vw;
}

@media only screen and (min-width: 769px) {
  .pd-t1 {
    padding-top: 1rem;
  }
}

.pd-t1h {
  padding-top: 6vw;
}

@media only screen and (min-width: 769px) {
  .pd-t1h {
    padding-top: 1.5rem;
  }
}

.pd-t1h-d {
  padding-top: 2.66667vw;
}

@media only screen and (min-width: 769px) {
  .pd-t1h-d {
    padding-top: 0.66667rem;
  }
}

.pd-t2 {
  padding-top: 8vw;
}

@media only screen and (min-width: 769px) {
  .pd-t2 {
    padding-top: 2rem;
  }
}

.pd-t2-d {
  padding-top: 2vw;
}

@media only screen and (min-width: 769px) {
  .pd-t2-d {
    padding-top: 0.5rem;
  }
}

/*----- margin -----*/
.mg-0 {
  margin: 0;
}

.mg-b0 {
  margin-bottom: 0 !important;
}

.mg-b1 {
  margin-bottom: 4vw;
}

@media only screen and (min-width: 769px) {
  .mg-b1 {
    margin-bottom: 1rem;
  }
}

.mg-b1h {
  margin-bottom: 6vw;
}

@media only screen and (min-width: 769px) {
  .mg-b1h {
    margin-bottom: 1.5rem;
  }
}

.mg-b1h-d {
  margin-bottom: 2.66667vw;
}

@media only screen and (min-width: 769px) {
  .mg-b1h-d {
    margin-bottom: 0.66667rem;
  }
}

.mg-b2 {
  margin-bottom: 8vw;
}

@media only screen and (min-width: 769px) {
  .mg-b2 {
    margin-bottom: 2rem;
  }
}

.mg-b2-d {
  margin-bottom: 2vw;
}

@media only screen and (min-width: 769px) {
  .mg-b2-d {
    margin-bottom: 0.5rem;
  }
}

.mg-t1 {
  margin-top: 4vw;
}

@media only screen and (min-width: 769px) {
  .mg-t1 {
    margin-top: 1rem;
  }
}

.mg-t1h {
  margin-top: 6vw;
}

@media only screen and (min-width: 769px) {
  .mg-t1h {
    margin-top: 1.5rem;
  }
}

.mg-t1h-d {
  margin-top: 2.66667vw;
}

@media only screen and (min-width: 769px) {
  .mg-t1h-d {
    margin-top: 0.66667rem;
  }
}

.mg-t2 {
  margin-top: 8vw;
}

@media only screen and (min-width: 769px) {
  .mg-t2 {
    margin-top: 2rem;
  }
}

.mg-t2-d {
  margin-top: 2vw;
}

@media only screen and (min-width: 769px) {
  .mg-t2-d {
    margin-top: 0.5rem;
  }
}

/****** 位置 ******/
.pos-float {
  position: absolute;
}

@media only screen and (min-width: 769px) {
  .pos-float-pc {
    position: absolute;
  }
}

/****** 表示 ******/
.d-block {
  display: block;
}

@media only screen and (max-width: 768px) {
  .d-block-sp {
    display: block;
  }
}

@media only screen and (min-width: 769px) {
  .d-block-pc {
    display: block;
  }
}

.hide-sp {
  display: none;
}

@media only screen and (min-width: 769px) {
  .hide-sp {
    display: block;
  }
  br.hide-sp, span.hide-sp {
    display: inline;
  }
  .hide-pc {
    display: none;
  }
}

/*# sourceMappingURL=style.css.map */