@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
/* flex */
.flex,
.flexA,
.flexB,
.flexC {
  display: flex;
  flex-wrap: wrap;
}
.flexA {
  justify-content: space-around;
}
.flexB {
  justify-content: space-between;
}
.flexC {
  justify-content: center;
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
  margin: 0 auto;
  max-width: 1200px;
}

@media all and (max-width: 896px) {
  .content {
    padding: 0 20px;
  }
}
/*------------------------------------------------------------
	mainVisual
------------------------------------------------------------*/
.mainVisual {
  margin: -44px 0 110px;
  padding: 172px 0 0;
  position: relative;
  height: 1000px;
  box-sizing: border-box;
  background: url("../../img/index/mainvisual_bg.jpg") no-repeat center / cover;
}
.mainVisual.mainVisual02 {
  background: url("../../img/index/mainvisual_bg02.jpg") no-repeat center left /
    cover;
}
.mainVisual.mainVisual03 {
  background: url("../../img/index/mainvisual_bg03.jpg") no-repeat center /
    cover;
}
.mainVisual h2 {
  margin: 0 auto;
}
.mainVisual h2 img {
  margin: 0 auto 38px;
  display: block;
}
.mainVisual h2 span {
  text-align: center;
  display: block;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.2em;
}
.mainVisual .photo {
  margin: 92px -555px 0 0;
  position: absolute;
  right: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.mainVisual .photo a:hover {
  opacity: 0.7;
}
@media all and (max-width: 896px) {
  .mainVisual {
    margin: -50px 0 50px;
    padding: 200px 0 100px;
    height: auto;
    background: url(../../img/index/mainvisual_bg.jpg) no-repeat center / auto
      100%;
  }
  .mainVisual h2 {
    margin: 0 auto;
    width: 300px;
  }
  .mainVisual .photo {
    margin: -120px -215px 0 0;
    width: 80px;
  }
  .mainVisual h2 span {
    font-size: 1.6rem;
  }
}
@media all and (max-width: 500px) {
  .mainVisual {
    padding: 290px 0 100px;
  }
}

@media all and (max-width: 374px) {
  .mainVisual {
    margin: -40px 0 50px;
    padding: 220px 0 100px;
  }
  .mainVisual .photo {
    margin: -124px -198px 0 0;
    width: 86px;
  }
}
/*------------------------------------------------------------
	comTextArea
------------------------------------------------------------*/
.comTextArea {
  margin: -112px auto 130px;
  padding: 225px 80px 90px;
  max-width: 1200px;
  position: relative;
  box-sizing: border-box;
  border-radius: 0 0 20px 20px;
  background: url("../../img/index/anxiety_bg02.png") repeat-x left top / 100%
      20px,
    #fff;
  z-index: 2;
}
.comTextArea .photo {
  position: absolute;
  left: 110px;
  top: -30px;
}
.comTextArea ul {
  display: flex;
}
.comTextArea li {
  padding: 0 55px 0 5px;
  width: 32.5%;
  text-align: center;
  box-sizing: border-box;
  border-right: 2px dashed #000;
}
.comTextArea li:nth-of-type(2) {
  padding: 0 35px 0 45px;
  width: 35.2%;
}
.comTextArea li:last-of-type {
  padding: 0 5px 0 45px;
  border-right: none;
}
.comTextArea li p {
  text-align: left;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.075em;
}
.comTextArea li .text {
  margin: -63px -5px 48px;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.075em;
  line-height: 1.147;
  font-family: "Zen Old Mincho", serif;
}
@media all and (-ms-high-contrast: none) {
  .comTextArea li {
    padding: 0 45px 0 5px;
  }
}
@media all and (max-width: 896px) {
  .comTextArea {
    margin: -112px auto 50px;
    padding: 105px 20px 50px;
    width: calc(100% - 40px);
  }
  .comTextArea .photo {
    position: absolute;
    left: -16px;
    top: 0;
    width: 330px;
  }
  .comTextArea ul {
    display: block;
  }
  .comTextArea li {
    padding: 0;
    width: auto;
    border-right: none;
  }
  .comTextArea li:nth-of-type(2) {
    padding: 0;
    width: auto;
  }
  .comTextArea li:last-of-type {
    padding: 0;
  }
  .comTextArea li .pho {
    margin: 0 auto;
    width: 150px;
  }
}
@media all and (max-width: 374px) {
  .comTextArea {
    margin: -112px auto 80px;
    padding: 105px 20px 40px;
  }
  .comTextArea .photo {
    width: auto;
  }
  .comTextArea li p {
    font-size: 1.4rem;
  }
}
/*------------------------------------------------------------
	pageTop
------------------------------------------------------------*/
.pageTop {
  display: none;
  position: fixed;
  bottom: 131px;
  right: 150px;
  z-index: 99;
}
.pageTop a:hover {
  opacity: 0.7;
}
@media all and (max-width: 896px) {
  .pageTop {
    width: 20px;
    bottom: 75px;
    right: 20px;
  }
}
