@charset "utf-8";

/* --------------------------------------------

#main_visual

---------------------------------------------- */
.l-main_visual {
  position: relative;
  height: 700px;
  background: url("../img/index/main_image.png") top center no-repeat;
  background-size: cover;
}
@media screen and (max-width:1080px) {
.l-main_visual {
  height: 500px;
}
}
@media screen and (max-width:768px) {
.l-main_visual {
  height: 420px;
}
}

.m-main_visual__title {
  position: absolute; top: 25%; right: 2em;
}
@media screen and (max-width:1080px) {
.m-main_visual__title {
  position: absolute; top: 2em; right: 1em;
  width: 50%;
}
.m-main_visual__title > img {
  display: block;
  width: 100%;
}
}

.m-main_visual__catch {
  position: absolute; top: 15%; left: 6%;
}
@media screen and (max-width:1080px) {
.m-main_visual__catch {
  position: absolute; top: 3em; left: 2em;
  width: 40%; max-width: 115px;
}
.m-main_visual__catch > img {
  display: block;
  width: 100%;
}
}
@media screen and (max-width:768px) {
.m-main_visual__catch {
  width: 40%; max-width: 90px;
}
}

.m-main_visual__point {
  display: flex;
  justify-content: space-between;
  position: absolute; bottom: 5%; left: 5%;
  max-width: 274px;
  text-align: center;
}
@media screen and (max-width:768px) {
.m-main_visual__point {
  max-width: 220px;
}
}

.m-main_visual__point li {
  width: 46%;
}
.m-main_visual__point li img {
  display: block;
  width: 100%;
}

.m-main_vial__image img {
  display: block;
  width: 100%;
}


/* --------------------------------------------

#about

---------------------------------------------- */
.t-about {
  position: relative;
  padding-bottom: 8em;
}
@media screen and (max-width:768px) {
.t-about {
  position: static;
  padding-bottom: 5em;
}
}

.t-about__heading {
  position: relative; z-index: 1;
  margin: 2em 0 2.5em;
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-size: 18px; font-size: 1.8rem;
  letter-spacing: 0.25em;
}
@media screen and (max-width:768px) {
.t-about__heading {
  margin: 1em 0;
}
}

.t-about__heading span {
  display: block;
  font-size: 30px; font-size: 3rem;
}
@media screen and (max-width:768px) {
.t-about__heading span {
  font-size: 25px; font-size: 2.5rem;
}
}


.t-about__text {
  position: relative; z-index: 1;
  margin-bottom: 1.2em;
  font-size: 14px; font-size: 1.4rem;
}
@media screen and (max-width:768px) {
.t-about__text {
  position: static;
}

.t-about__text br {
  display: none;
}
}

.t-about__image {
  position: absolute; top: 0; right: 0; z-index: -1;
  width: 80%; max-width: 488px;
}
@media screen and (max-width:768px) {
.t-about__image {
  position: static;
  display: block;
  width: 80%; max-width: 350px;
  margin: auto;
}
}

.t-about__image img {
  display: block;
  width: 100%;
}


/* --------------------------------------------

#flow

---------------------------------------------- */
.t-flow {
  margin-bottom: 5em;
}

.t-flow__image-pc {
  display: block;
  width: 100%;
  margin-bottom: 1em;
}
.t-flow__image-sp {
  display: none;
  width: 100%; max-width: 330px;
  margin: 0 auto 1em;
}
@media screen and (max-width:768px) {
.t-flow__image-pc {
  display: none;
}
.t-flow__image-sp {
  display: block;
}
}

.t-flow__text {
  font-size: 14px; font-size: 1.4rem;
  text-align: center;
}
@media screen and (max-width:768px) {
.t-flow__text {
  text-align: left;
}
}


/* --------------------------------------------

#point

---------------------------------------------- */
.t-point {
  margin-bottom: 2em;
}
.t-point__heading {
  margin-bottom: 1em;
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-size: 18px; font-size: 1.8rem;
  letter-spacing: 0.25em;
}
@media screen and (max-width:768px) {
.t-point__heading {
  line-height: 1.2;
}
}

.t-point__heading span {
  display: inline-block;
  margin-left: 0.5em;
  font-size: 30px; font-size: 3rem;
}
@media screen and (max-width:768px) {
.t-point__heading span {
  display: block;
  margin-left: 0;
  font-size: 25px; font-size: 2.5rem;
}
}

.t-point__heading span b {
  font-size: 48px; font-size: 4.8rem;
}


.t-point_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  padding: 1.5em 0;
  border-bottom: 1px solid #6E6E6E;
}
@media screen and (max-width:768px) {
.t-point_item {
  display: block;
}
}

.t-point_item:nth-last-of-type(1) {
  border-bottom: none;
}

.t-point_item__image {
  width: 31%; max-width: 243px;
}
@media screen and (max-width:768px) {
.t-point_item__image {
  width: 100%; max-width: 243px;
  margin: 0 auto 1em;
}
}

.t-point_item__image img {
  display: block;
  width: 100%;
}

.t-point_item__text_box {
  width: 68%;
}
@media screen and (max-width:768px) {
.t-point_item__text_box {
  width: 100%; max-width: 400px;
  margin: auto;
}
}

.t-point_item__heading {
  position: relative;
  margin-bottom: 1em;
  padding-left: 70px;
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-size: 20px; font-size: 2rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8DA4B5;
}
@media screen and (max-width:768px) {
.t-point_item__heading {
  padding-left: 0;
  font-size: 18px; font-size: 1.8rem;
  text-align: center;
}
}

.t-point_item__heading > span {
  display: block;
  position: absolute; top: 0; left: 0;
}
@media screen and (max-width:768px) {
.t-point_item__heading > span {
  display: block;
  position: static;
  width: 55px;
  margin: 0 auto 0.5em;
}
.t-point_item__heading > span img {
  display: block;
  width: 100%;
}
}

.t-point_item__heading > b {
  font-weight: normal;
  color: #C96F36;
}


.t-point_item__text {
  font-size: 14px; font-size: 1.4rem;
  letter-spacing: 0.12em;
}

/* --------------------------------------------

#concept

---------------------------------------------- */
.t-concept {
  margin-bottom: 8em;
}

.t-concept__image-pc {
  display: block;
  width: 100%;
}
.t-concept__image-sp {
  display: none;
  width: 100%;
}
@media screen and (max-width:768px) {
.t-concept {
  margin-bottom: 4em;
}

.t-concept__image-pc {
  display: none;
}
.t-concept__image-sp {
  display: block;
}
}



/* --------------------------------------------

#check

---------------------------------------------- */
.l-check {
  margin-bottom: 5em;
}

.t-check__arrow {
  margin-bottom: 3em;
  text-align: center;
}
@media screen and (max-width:768px) {
.t-check__arrow {
  max-width: 80px;
  margin: 0 auto 1em;
}
.t-check__arrow img {
  display: block;
  width: 100%;
}
}

.t-check__text {
  margin-bottom: 5em;
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-size: 18px; font-size: 1.8rem;
  font-weight: normal;
  text-align: center;
  letter-spacing: 0.15em;
}
@media screen and (max-width:768px) {
.t-check__text {
  font-size: 15px; font-size: 1.5rem;
  text-align: left;
}
.t-check__text br {
  display: none;
}
}

.t-check__text span,
.t-check__text b {
  font-size: 30px; font-size: 3rem;
  font-weight: normal;
}
@media screen and (max-width:768px) {
.t-check__text span,
.t-check__text b {
  font-size: 18px; font-size: 1.8rem;
}
}


.t-check__text span {
  color: #8BAECC;
}

.t-check__text b {
  color: #BFBF73;
}

/* --------------------------------------------

#works

---------------------------------------------- */
.t-works {
  margin-bottom: 5em;
}

.t-works__heading {
  margin-bottom: 1.5em;
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-size: 18px; font-size: 1.8rem;
  font-weight: normal;
  text-align: center;
  letter-spacing: 0.15em;
}

.m-works_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.m-works_item {
  width: 24%;
}
@media screen and (max-width:980px) {
.m-works_item {
  width: 48%;
  margin-bottom: 2em;
}
}
@media screen and (max-width:768px) {
.m-works_item {
  width: 100%;
}
}

.m-works_item__image {
  display: block;
  width: 100%;
}
.m-works_item__image img {
  display: block;
  width: 100%;
}

.m-works__heading {
  box-sizing: border-box;
  margin-bottom: 0.5em;
  padding: 0.25em 0 0.5em;
  font-size: 14px; font-size: 1.4rem;
  letter-spacing: 0.1em;
  text-align: center;
  border-bottom: 1px solid #6E6E6E;
}

.m-works__text {
  font-size: 14px; font-size: 1.4rem;
}

/* --------------------------------------------

#contact

---------------------------------------------- */
.t-contact {
  margin-bottom: 5em;
}


/* --------------------------------------------

#message

---------------------------------------------- */
.t-message {
  box-sizing: border-box;
  margin-bottom: 5em;
  padding: 3.5em 0;
  background: #F0FAFF;
}

.t-message__heading {
  margin-bottom: 2em;
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-size: 30px; font-size: 3rem;
  font-weight: normal;
  text-align: center;
  letter-spacing: 0.15em;
}
@media screen and (max-width:768px) {
.t-message__heading {
  margin-bottom: 0.6em;
  font-size: 25px; font-size: 2.5rem;
}
}

.t-message__inner {
  width: 90%; max-width: 790px;
  margin: auto;
}

.t-message__name {
  margin-bottom: 2em;
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-size: 16px; font-size: 1.6rem;
}
.t-message__name b {
  font-size: 25px; font-size: 2.5rem;
}

.t-message__text {
  margin-bottom: 4em;
  font-size: 14px; font-size: 1.4rem;
}

.t-staff {}
.t-staff__heading {
  margin-bottom: 2em;
  padding-bottom: 0.5em;
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-size: 16px; font-size: 1.6rem;
  border-bottom: 1px solid #4D4D4D;
}

.t-staff__inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.t-staff_item {
  width: 48%;
  margin-bottom: 3em;
}

.t-staff_item__name {
  font-size: 18px; font-size: 1.8rem;
}

.t-staff_item__list {
  overflow: hidden;
  font-size: 14px; font-size: 1.4rem;
}
@media screen and (max-width:768px) {
.t-staff_item__list {
  font-size: 13px; font-size: 1.3rem;
}
}

.t-staff_item__list dt {
  float: left;
  clear: left;
  width: 3em;
}
.t-staff_item__list dd {
  overflow: hidden;
}

/* --------------------------------------------

#question

---------------------------------------------- */
.t-question {
  margin-bottom: 5em;
}
.t-question__heading {
  margin-bottom: 1em;
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-size: 30px; font-size: 3rem;
  text-align: center;
  font-weight: normal;
  letter-spacing: 0.2em;
}
@media screen and (max-width:768px) {
.t-question__heading {
  font-size: 22px; font-size: 2.2rem;
}
}

.t-question__list {}
.t-question__list dt {
  position: relative;
  margin-top: 1.2em;
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-size: 14px; font-size: 1.4rem;
  background: #F2F2F2;
  
  cursor: pointer;
}
.t-question__list dt::before {
  display: block;
  content: "Q";
  position: absolute; top: -0.25em; left: 2.2%;
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-size: 38px; font-size: 3.8rem;
  color: #8DA4B5;
}
.t-question__list dt::after {
  display: block;
  content: "";
  position: absolute; top: 40.5%; right: 2%;
  width: 14px;
  height: 14px;
  background: url("../img/share/question_arrow.png") center no-repeat;
  background-size: contain;
}
.t-question__list dt.active::after {
  background: url("../img/share/question_arrow_active.png") center no-repeat;
}
.t-question__list dt span {
  display: block;
  box-sizing: border-box;
  width: 90%; max-width: 800px;
  margin: 0 auto;
  padding: 1.2em 1em 1.2em 40px;
}


.t-question__list dd {
  display: none;
  position: relative;
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-size: 14px; font-size: 1.4rem;
}
.t-question__list dd p {
  box-sizing: border-box;
  width: 90%; max-width: 800px;
  margin: 0 auto;
  padding: 1.2em 1em 1.2em 40px;
}
.t-question__list dd::before {
  display: block;
  content: "A";
  position: absolute; top: -0.25em; left: 2.2%;
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-size: 38px; font-size: 3.8rem;
  color: #8DA4B5;
}

/* --------------------------------------------

#information

---------------------------------------------- */
.t-information__heading {
  margin-bottom: 2em;
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-size: 30px; font-size: 3rem;
  text-align: center;
  font-weight: normal;
}
@media screen and (max-width:768px) {
.t-information__heading {
  font-size: 22px; font-size: 2.2rem;
}
}

.t-information__inner {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width:980px) {
.t-information__inner {
  display: block;
  margin-bottom: 5em;
}
}


.t-information_banner {
  width: 30%; max-width: 296px;
}
@media screen and (max-width:980px) {
.t-information_banner {
  width: 100%; max-width: 320px;
  margin: 0 auto 1.2em;
}
}

.t-information_banner img {
  display: block;
  width: 100%;
}

.t-information_news {
  width: 67%;
}
@media screen and (max-width:980px) {
.t-information_news {
  width: 100%;
}
}

.t-information_news__list > div {
  border-bottom: 1px solid #ccc;
}
.t-information_news__list > div:nth-of-type(1) {
  border-top: 1px solid #ccc;
}

.t-information_news__list > div a {
  display: block;
  padding: 0.72em 0;
  font-size: 14px; font-size: 1.4rem;
}
.t-information_news__list > div:hover a {
  color: #8BAECC;
  background: url("../img/share/news_arrow.png") center right no-repeat;
}

.t-information_news__list > div span {
  display: inline-block;
  margin-right: 1.25em;
}









