@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
html {
  height: 100%; }

body {
  height: 100%;
  font-family: 'Noto Sans Japanese', sans-serif;
  color: #3c3c3c; }

.bgWhite {
  background: #fff; }

.zindexTop1 {
  z-index: 10000;
  position: relative; }

.mgt100pct {
  margin-top: 100%; }

.height100pct {
  height: 100%; }

.pdt100pct {
  padding-top: 100%; }

.mainVisual {
  height: 100%;
  width: 100%;
  background: url(../img/common/main_vis.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: fixed;
  z-index: 9990;
  top: 0px;
  left: 0px;
  width: 100%; }
  .mainVisual .mouseArea {
    position: absolute;
    bottom: 20px;
    width: 100%;
    text-align: center; }

.floatLeft {
  float: left; }

.floatRight {
  float: right; }

.mainVisualTable {
  display: table;
  height: 100%;
  width: 100%;
  text-align: center;
  position: relative; }
  .mainVisualTable .mainVisualTableCell {
    display: table-cell;
    vertical-align: middle;
    height: 100%; }
    .mainVisualTable .mainVisualTableCell .mainVisCenterBox {
      display: inline-block;
      color: #fff;
      line-height: 1.5em;
      width: 1200px;
      margin-left: auto;
      margin-right: auto; }
      @media screen and (max-width: 1200px) {
        .mainVisualTable .mainVisualTableCell .mainVisCenterBox {
          width: 92%; } }
      .mainVisualTable .mainVisualTableCell .mainVisCenterBox h1 {
        font-size: 2.3em;
        padding-top: 20px;
        padding-bottom: 50px;
        line-height: 1.5em; }

.btnStyle1 {
  border: 1px solid #fff;
  line-height: 1.5em;
  padding: 20px;
  width: 260px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  text-decoration: none;
  font-size: 1em; }
  .btnStyle1::after {
    content: "";
    width: 6px;
    height: 6px;
    display: inline-block;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    float: right;
    margin-right: 0px;
    margin-top: 11px;
    clear: both; }

.btnStyle2 {
  padding: 20px;
  max-width: 330px;
  width: 100%;
  text-align: center;
  display: block;
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  text-decoration: none;
  font-size: 0.9em;
  background: #5d5d5d;
  min-height: 65px;
  box-sizing: border-box;
  line-height: 1.6em; }
  .btnStyle2::after {
    content: "";
    width: 6px;
    height: 6px;
    display: inline-block;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    float: right;
    margin-right: 0px;
    margin-top: 9px;
    clear: both; }

.sectionType1 {
  padding-top: 80px;
  padding-bottom: 80px;
  text-align: center;
  width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1200px) {
    .sectionType1 {
      width: 92%; } }
  .sectionType1 .contTextBox {
    width: 860px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6em; }
    @media screen and (max-width: 860px) {
      .sectionType1 .contTextBox {
        width: 92%; } }

.bgGray1 {
  background: #f1f1f1; }

.sectionType2 {
  padding-top: 80px;
  padding-bottom: 80px; }
  .sectionType2 .flowListStyle1 {
    width: 1024px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding-bottom: 30px; }
    @media screen and (max-width: 1024px) {
      .sectionType2 .flowListStyle1 {
        width: 92%; } }
    .sectionType2 .flowListStyle1::after {
      content: "";
      width: 80%;
      display: block;
      border-bottom: 3px solid #5d5d5d;
      text-align: left;
      position: absolute;
      bottom: 0px;
      left: 0px; }
    .sectionType2 .flowListStyle1 .flowListStyle1Inner::after {
      content: "";
      width: 20%;
      display: block;
      border-bottom: 3px solid #cb3838;
      position: absolute;
      text-align: right;
      bottom: 0px;
      right: 0px; }
    .sectionType2 .flowListStyle1 li {
      float: left;
      width: 12.43%;
      margin-left: 9.46%;
      text-align: center;
      position: relative;
      display: block; }
      .sectionType2 .flowListStyle1 li:first-child {
        margin-left: 0px; }
      .sectionType2 .flowListStyle1 li span {
        display: block;
        width: 100%;
        border: 3px solid #5d5d5d;
        padding-top: 100%;
        position: relative;
        border-radius: 100px;
        -moz-border-radius: 100px;
        -webkit-border-radius: 100px; }
        .sectionType2 .flowListStyle1 li span i {
          display: block;
          vertical-align: middle;
          position: absolute;
          top: 50%;
          left: 0px;
          margin-top: -32px;
          width: 100%; }
          .sectionType2 .flowListStyle1 li span i:before {
            font-size: 4em;
            color: #5d5d5d; }
      .sectionType2 .flowListStyle1 li h3 {
        padding-top: 15px; }
      .sectionType2 .flowListStyle1 li::before {
        content: "";
        width: 20px;
        height: 20px;
        display: inline-block;
        border-top: 2px solid #5d5d5d;
        border-right: 2px solid #5d5d5d;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        left: -52%;
        top: 35%;
        clear: both; }
      .sectionType2 .flowListStyle1 li:last-child span {
        border: 3px solid #cb3838;
        color: #cb3838; }
      .sectionType2 .flowListStyle1 li:last-child h3 {
        color: #cb3838; }
      .sectionType2 .flowListStyle1 li:last-child i:before {
        color: #cb3838; }
      .sectionType2 .flowListStyle1 li:last-child:before {
        border-top: 2px solid #cb3838;
        border-right: 2px solid #cb3838; }
      .sectionType2 .flowListStyle1 li:first-child::before {
        display: none; }
  .sectionType2 .bottomData {
    width: 1024px;
    margin-left: auto;
    margin-right: auto;
    font-size: 0.9em; }
    @media screen and (max-width: 1024px) {
      .sectionType2 .bottomData {
        width: 92%; } }
    .sectionType2 .bottomData .preSection {
      width: 80%;
      float: left;
      text-align: center;
      padding-top: 10px; }
    .sectionType2 .bottomData .afterSection {
      width: 20%;
      float: right;
      text-align: center;
      padding-top: 10px;
      color: #cb3838; }

header.subHeaderStyle1 {
  width: 1200px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding-bottom: 50px; }
  @media screen and (max-width: 1200px) {
    header.subHeaderStyle1 {
      width: 92%; } }
  header.subHeaderStyle1 .headTopCopy {
    font-weight: bold;
    font-size: 0.9em; }
  header.subHeaderStyle1 h2 {
    padding-top: 15px;
    font-size: 1.8em;
    line-height: 1.5em; }
    header.subHeaderStyle1 h2::after {
      content: "";
      width: 100px;
      margin-left: auto;
      margin-right: auto;
      border-bottom: 1px solid #000;
      display: block;
      margin-top: 20px; }

.sectionType3 .innerCont {
  padding-top: 80px;
  padding-bottom: 80px;
  width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1200px) {
    .sectionType3 .innerCont {
      width: 92%; } }
  .sectionType3 .innerCont .articleList {
    padding-bottom: 10px; }
  .sectionType3 .innerCont article {
    padding-bottom: 40px; }
    .sectionType3 .innerCont article figure {
      width: 100%; }
      .sectionType3 .innerCont article figure a {
        display: block;
        width: 100%;
        padding-top: 50%; }
    .sectionType3 .innerCont article h3 {
      padding-top: 10px;
      text-align: left;
      font-size: 0.9em;
      line-height: 1.5em; }
  .sectionType3 .innerCont .bottomTxtArea p {
    text-align: center;
    font-size: 1.2em;
    line-height: 1.7em; }

.clearBoth {
  clear: both; }

.colum3Articles article {
  width: 31%;
  margin-right: 3%;
  float: left;
  text-align: center; }
  .colum3Articles article:nth-child(3n) {
    margin-right: 0px; }

.cvAreaStyle1 {
  padding-top: 80px;
  padding-bottom: 80px;
  text-align: center;
  background: url(../img/common/bg_cv.png);
  background-size: cover;
  background-repeat: no-repeat; }
  .cvAreaStyle1 h2 {
    font-size: 2em;
    line-height: 1.5em;
    color: #fff;
    padding-bottom: 30px;
    width: 1200px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 1200px) {
      .cvAreaStyle1 h2 {
        width: 92%; } }

.sectionType4 {
  background: url(../img/common/main_vis.png);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  text-align: center;
  color: #fff;
  padding-top: 80px;
  padding-bottom: 80px; }
  .sectionType4 .subTitle {
    padding-bottom: 10px; }
  .sectionType4 h1 {
    font-size: 1.6em;
    line-height: 1.5em;
    width: 1200px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 1200px) {
      .sectionType4 h1 {
        width: 92%; } }

.sectionType5 {
  padding-top: 80px;
  padding-bottom: 80px;
  width: 860px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 860px) {
    .sectionType5 {
      width: 92%; } }

.tableSectionType1 dl {
  display: table;
  border-bottom: 1px solid #e8e8e8;
  width: 100%; }
  .tableSectionType1 dl:first-child dt, .tableSectionType1 dl:first-child dd {
    padding-top: 0px; }
  .tableSectionType1 dl dt {
    display: table-cell;
    width: 150px;
    padding-bottom: 25px;
    padding-top: 40px; }
  .tableSectionType1 dl dd {
    display: table-cell;
    width: -webkit-calc(100% - 150px);
    width: calc(100% - 150px);
    padding-bottom: 25px;
    line-height: 1.6em; }

input, textarea {
  width: 100%;
  border: 1px solid #e1e1e1;
  background: #f7f7f7;
  padding: 10px;
  font-size: 1.2em;
  box-sizing: border-box; }

.tableSectionType2 form dl {
  display: table;
  width: 100%; }
  .tableSectionType2 form dl dt {
    display: table-cell;
    width: 150px;
    padding-top: 40px;
    vertical-align: top; }
  .tableSectionType2 form dl dd {
    display: table-cell;
    width: -webkit-calc(100% - 150px);
    width: calc(100% - 150px);
    line-height: 1.6em;
    padding-top: 40px; }

.sectionType6 {
  padding-top: 80px;
  padding-bottom: 80px; }
  .sectionType6 article {
    text-align: center; }
    .sectionType6 article a, .sectionType6 article span {
      display: block;
      width: 100%;
      padding-top: 100%; }
    .sectionType6 article .profDataBottom {
      background: #4c4c4c;
      color: #fff;
      padding-top: 30px;
      padding-bottom: 30px; }
      .sectionType6 article .profDataBottom h3 {
        padding-bottom: 10px;
        font-size: 1.2em; }
      .sectionType6 article .profDataBottom p {
        font-size: 0.8em; }
    .sectionType6 article:nth-child(2n) .profDataBottom {
      background: #606060; }

.sectionType7 .innerCont {
  padding: 40px; }
  .sectionType7 .innerCont .wightBoxStyle1 {
    background: #fff;
    padding: 45px;
    width: 50%;
    max-width: 600px;
    box-sizing: border-box; }
    .sectionType7 .innerCont .wightBoxStyle1 .subTitle {
      padding-bottom: 10px; }
    .sectionType7 .innerCont .wightBoxStyle1 h2 {
      font-size: 1.5em;
      line-height: 1.3em;
      padding-bottom: 20px; }
    .sectionType7 .innerCont .wightBoxStyle1 p {
      line-height: 1.8em;
      font-size: 1em; }

.sectionType8 {
  padding-top: 80px;
  padding-bottom: 80px; }
  .sectionType8 .innerCont {
    width: 1024px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 1024px) {
      .sectionType8 .innerCont {
        width: 92%; } }
    .sectionType8 .innerCont .bottomTextStyle1 {
      padding-top: 40px;
      text-align: center;
      font-size: 1.2em;
      line-height: 1.6em; }

.sectionType9 {
  padding-top: 80px;
  padding-bottom: 80px;
  width: 860px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 860px) {
    .sectionType9 {
      width: 92%; } }

.listTyle1 li {
  background: #e8e8e8;
  width: 49.7%;
  margin-right: 0.6%;
  margin-bottom: 0.6%;
  float: left;
  text-align: center;
  padding: 10px;
  box-sizing: border-box;
  line-height: 1.5em; }
  .listTyle1 li:nth-child(2n) {
    margin-right: 0px; }

.colum3Profiles article {
  width: 33.33%;
  float: left; }

/*paddingとmargin*/
.pdb80px {
  padding-bottom: 80px; }

.pdb70px {
  padding-bottom: 70px; }

.pdb60px {
  padding-bottom: 60px; }

.pdb50px {
  padding-bottom: 50px; }

.pdb40px {
  padding-bottom: 40px !important; }

.pdb30px {
  padding-bottom: 30px; }

.pdb20px {
  padding-bottom: 20px; }

.pdb10px {
  padding-bottom: 10px; }

.pdb0px {
  padding-bottom: 0px !important; }

.pdt40px {
  padding-top: 40px; }

.pdt0px {
  padding-top: 0px !important; }

/*スマホ基本*/
.flowAreaStyle2 {
  width: 100%;
  /* IE8以下とAndroid4.3以下用フォールバック */
  width: -webkit-calc(100% - 40px);
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  display: none; }
  .flowAreaStyle2::before {
    content: "数週間〜1ヶ月前後";
    border-bottom: 4px solid #5d5d5d;
    width: 200px;
    display: block;
    position: absolute;
    transform: rotate(90deg);
    top: 90px;
    left: -90px;
    text-align: center;
    padding-bottom: 5px;
    font-size: 0.9em; }
  .flowAreaStyle2::after {
    content: "以降";
    border-bottom: 4px solid #cb3838;
    width: 40px;
    display: block;
    position: absolute;
    bottom: 10px;
    left: -10px;
    transform: rotate(90deg);
    padding-bottom: 5px;
    font-size: 0.9em;
    text-align: center;
    color: #cb3838; }
  .flowAreaStyle2 ul {
    padding-left: 30px; }
    .flowAreaStyle2 ul li {
      border: 2px solid #5d5d5d;
      padding: 10px;
      margin-bottom: 10px;
      text-align: center;
      position: relative;
      box-sizing: border-box; }
      .flowAreaStyle2 ul li::before {
        content: "";
        width: 10px;
        height: 10px;
        display: block;
        border-top: 2px solid #5d5d5d;
        border-right: 2px solid #5d5d5d;
        -webkit-transform: rotate(45deg);
        transform: rotate(135deg);
        position: absolute;
        right: 20px;
        margin-left: auto;
        margin-right: auto;
        clear: both; }
      .flowAreaStyle2 ul li:last-child {
        margin-bottom: 0px;
        border: 2px solid #cb3838;
        color: #cb3838; }
        .flowAreaStyle2 ul li:last-child::before {
          border-top: 2px solid #cb3838;
          border-right: 2px solid #cb3838; }

.underPage {
  padding-top: 68px; }

.displayBlock {
  display: block !important; }

@media screen and (max-width: 960px) {
  .sectionType2 .flowListStyle1 li span i {
    font-size: 0.8em;
    margin-top: -25px; } }

@media screen and (max-width: 750px) {
  body {
    font-size: 0.8em;
    padding-top: 58px !important; }
  .flowAreaStyle1 {
    display: none; }
  .flowAreaStyle2 {
    display: block; }
  .btnStyle2 {
    font-size: 1em;
    min-height: 0px; }
  .btnStyle1::after {
    margin-top: 8px; } }

@media screen and (max-width: 620px) {
  .colum3Articles article {
    width: 49%;
    float: left;
    margin-right: 2% !important; }
    .colum3Articles article:nth-child(3n) {
      margin-right: 2% !important; }
    .colum3Articles article:nth-child(2n) {
      margin-right: 0 !important; }
  .sectionType7 .innerCont {
    padding: 20px; }
  .tableSection dl dt {
    width: 100px; }
  .tableSection dl dd {
    width: -webkit-calc(100% - 100px);
    width: calc(100% - 100px); }
  .listTyle1 li {
    width: 100%;
    margin-right: 0px; }
  .tableSectionType1 dl dt {
    width: 100px; }
  .sectionType5 {
    padding-top: 40px;
    padding-bottom: 40px; }
  .tableSectionType2 form dl dt, .tableSectionType2 form dl dd, .tableSectionType2 form dl dt, .tableSectionType2 form dl dd {
    width: 100%;
    display: block; }
  .tableSectionType2 form dl dt, .tableSectionType2 form dl dt {
    padding-top: 20px;
    padding-bottom: 10px; }
  .tableSectionType2 form dl dd, .tableSectionType2 form dl dd {
    padding-top: 0px; }
  .sectionType9 {
    padding-top: 40px;
    padding-bottom: 40px; }
  .sectionType1 {
    padding-top: 40px;
    padding-bottom: 40px; }
  .pdb50px {
    padding-bottom: 25px; }
  .sectionType2 {
    padding-top: 40px;
    padding-bottom: 40px; }
  .sectionType4 {
    padding-top: 40px;
    padding-bottom: 40px; }
  .sectionType3 .innerCont {
    padding-top: 40px;
    padding-bottom: 40px; }
  header.subHeaderStyle1 {
    padding-bottom: 25px; }
  .sectionType8 {
    padding-top: 40px;
    padding-bottom: 40px; } }

@media screen and (max-width: 480px) {
  .colum3Profiles article {
    width: 50%;
    float: left; }
  .tableSectionType1 dl dt {
    padding-top: 20px;
    padding-bottom: 10px; }
  .tableSectionType1 dl dd {
    padding-bottom: 15px; }
  .sectionType6 {
    padding-top: 40px; }
  .sectionType7 .innerCont .wightBoxStyle1 {
    width: 100%;
    padding: 25px;
    float: left; } }

@media screen and (max-width: 460px) {
  .colum3Articles article {
    width: 100%;
    float: left;
    margin-right: 0% !important; } }
