@charset "UTF-8";

/* ===========================================================================
style02
=========================================================================== */
.style02 {
  background: url(../images/mv_pc.png);
  background-position: top right;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 auto;
  padding-top: 0;
  position: relative;
}

@media screen and (max-width:1600px) {
  .style02 {
    background: url(../images/mv_pc.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 1600px;
  }
}

@media screen and (max-width:767px) {
  .style02 {
    background: url(../images/mv_sp.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: contain;
    padding-top: 0;
  }
}

.style02 .top::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background: url(../images/mv_deco01.png) left / contain no-repeat,  url(../images/mv_deco02.png) right / contain no-repeat;
}

@media screen and (max-width:767px) {
  .style02 .top::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6.6667vw;
    background: url(../images/mv_deco01.png) left / contain no-repeat,  url(../images/mv_deco02.png) right / contain no-repeat;
    background-size: 5.3333vw;
  }
}

.style02 .top::after {
  content: "";
  position: absolute;
  left: 40px;
  bottom: 0;
  right: inherit;
  width: calc(100% - 80px);
  height: 50px;
  background: #ffffff;
  transform: inherit;
}

@media screen and (max-width:767px) {
  .style02 .top::after {
    content: "";
    position: absolute;
    left: 5.3333vw;
    bottom: 0;
    right: inherit;
    width: calc(100% - 10.6667vw);
    height: 6.6667vw;
    background: #ffffff;
    transform: inherit;
  }
}

.style02 .top {
  height: 406px;
  position: relative;
  padding-top: 150px;
  padding-bottom: 0;
}

@media screen and (min-width:1601px) {
  .style02 .top {
    height: 25.4216vw;
    position: relative;
    padding-top: 9.3691vw;
    padding-bottom: 0;
  }
}

@media screen and (max-width:767px) {
  .is-smartphone .style02 .top {
    height: 91.7333vw;
    position: relative;
    padding-top: 36.8vw;
    padding-bottom: 0;
  }

  .style02 .top {
    height: 89.0333vw;
    position: relative;
    padding-top: 36.8vw;
    padding-bottom: 0;
  }
}

.breadcrumb {
  margin-top: -34px;
}

@media (min-width:768px) and (max-width:1366px) {
  .breadcrumb {
    float: inherit;
    padding-bottom: 22px;
    position: absolute;
    top: -30px;
    right: 0;
    margin-top: 0 !important;
  }
}


@media screen and (max-width:767px) {
  .breadcrumb {
    padding: 0 20px;
    margin-top: -39px;
  }
}

/* ===========================================================================
CONTENT
=========================================================================== */
.width1000 {
  margin: 0 auto;
  max-width: 1000px;
}

@media screen and (max-width:767px) {
  .width1000 {
    padding: 0 20px;
  }
}

/* ===========================================================================
ABOUT
=========================================================================== */
.about {
  display: flex;
  justify-content: space-between;
  margin-top: 42px;
  font-family: "Noto Serif JP", serif;
}

@media screen and (max-width:767px) {
  .about {
    margin-top: 31px;
  }
}


@media screen and (max-width:767px) {
  .about {
    display: block;
  }
}

.about .left {
  width: calc(340 / 1000 * 100%);
}

@media screen and (max-width:767px) {
  .about .left {
    width: 100%;
  }
}

.about .right {
  width: calc(590 / 1000 * 100%);
}

@media screen and (max-width:767px) {
  .about .right {
    width: 100%;
    margin-top: 28px;
  }
}

.about p.text {
  line-height: 2;
  letter-spacing: 0.078em;
}

@media screen and (max-width:767px) {
  .about p.text {
    line-height: 1.875;
  }
}

.about .company {
  font-size: 14px;
  margin-top: 30px;
}

@media screen and (max-width:767px) {
  .about .company {
    margin-top: 96px;
  }
}

.about .sign {
  margin-top: 10px;
}

@media screen and (max-width:767px) {
  .about .sign {
    margin-top: 6px;
  }
}

.about .sign .dir {
  font-size: 18px;
}

.about .sign .name {
  font-size: 28px;
  line-height: 1.143;
  padding-left: 20px;
  letter-spacing: 0.08em;
}

/* ===========================================================================
JKK
=========================================================================== */
.jkk {
  display: flex;
  justify-content: space-between;
  margin-top: 42px;
}

@media screen and (max-width:767px) {
  .jkk {
    display: flex;
    flex-direction: column-reverse;
    padding: 0 20px;
    margin-top: 30px;
  }
}

.jkk .left {
  width: calc(580 / 1300 * 100%);
}

.jkk .year {
  padding-top: 20px;
  width: calc(204 / 580 * 100%);
}

@media screen and (max-width:767px) {
  .jkk .year {
    width: calc(214 / 580 * 100%);
  }
}

.jkk .title {
  font-size: 24px;
  font-weight: 600;
  padding-left: calc(60 / 580 * 100%);
  padding-top: 6px;
  letter-spacing: 0.03em;
}

@media screen and (max-width:767px) {
  .jkk .title {
    font-size: 20px;
    font-weight: 600;
    padding-left: 0;
    padding-top: 0;
  }
}

.jkk p.text {
  line-height: 2;
  padding-left: calc(60 / 580 * 100%);
  padding-top: 17px;
  letter-spacing: -.038em;
}

@media screen and (max-width:767px) {
  .jkk p.text {
    line-height: 1.85;
    padding-left: 0;
    padding-top: 6px;
  }
}

@media screen and (max-width:767px) {
  .jkk .left {
    width: 100%;
  }
}

.jkk .right {
  width: calc(640 / 1300 * 100%);
}

@media screen and (max-width:767px) {
  .jkk .right {
    width: 100%;
  }
}

.founder_outter {
  padding: 0 60px;
}

@media screen and (max-width:767px) {
  .founder_outter {
    padding: 0;
  }
}

.founder {
  background: #F5EDE1;
  margin: 77px auto 0;
  padding-left: 80px;
  padding-right: 80px;
  padding-top: 20px;
  padding-bottom: 34px;
  position: relative;
  max-width: 990px;
}

@media screen and (max-width:767px) {
  .founder {
    background: #F5EDE1;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    padding-bottom: 50px;
    position: relative;
    width: calc(325 / 375 * 100%);
    margin-top: 108px;
  }

  .founder .cont {
    padding: 0 20px;
  }
}


.founder .tag {
  font-size: 20px;
  font-weight: 300;
  position: absolute;
  left: -60px;
  top: -37px;
  width: 120px;
}

@media screen and (max-width:767px) {
  .founder .tag {
    font-size: 20px;
    font-weight: 300;
    position: absolute;
    left: -20px;
    top: -17px;
    width: 108px;
    z-index: 1;
  }
}

.founder .avatar {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(280 / 990 * 100%);
}

@media screen and (max-width:767px) {
  .founder .avatar {
    position: inherit;
    width: 100%;
  }
}

.founder .time {
  margin-top: 17px;
}

@media screen and (max-width:767px) {
  .founder .time {
    margin-top: 13px;
  }
}

.founder .time:first-child,
.founder .title {
  width: 75.9%;
}

@media screen and (max-width:767px) {
  .founder .time:first-child,
  .founder .title {
    width: 100%;
  }
}

.founder .time:first-child .title {
  width: 100%;
}

.founder .time:nth-child(n+2) {
  margin-top: 20px;
}

.founder .list {
  padding-top: 5px;
}

.founder .list p.text {
  line-height: 1.75;
}

@media screen and (max-width:767px) {
  .founder .list p.text {
    line-height: 1.375;
  }

  .founder .time:nth-child(n+2) .list p.text {
    line-height: 1.625;
  }

  .founder .cont p.text:nth-child(n+2) {
    margin-top: 8px;
  }
}

.founder .identity {
  width: calc(245 / 750 * 100%);
  min-width: 180px;
}

@media screen and (max-width:767px) {
  .founder .identity {
    width: calc(480 / 750 * 100%);
    min-width: 180px;
    margin-top: 22px;
    padding-left: 0;
  }
}

.founder .identity .sir {
  color: #A68E6A;
  font-size: 64px;
  font-weight: 300;
  line-height: 1;
}

.founder .identity .name {
  color: #584D44;
  font-size: 46px;
  line-height: 1;
  padding-left: 5px;
}

.founder .identity .sub {
  color: #584D44;
  font-size: 32px;
  line-height: 1;
  padding-left: 10px;
}

.founder .cont p.text {
  display: flex;
}

.founder .cont p.text span:first-child {
  min-width: 52px;
}

@media screen and (max-width:767px) {
  .founder .cont p.text span:first-child {
    min-width: 69px;
  }
}

.founder .cont p.text span:nth-child(n+2) {
  padding-left: 20px;
}

@media screen and (max-width:767px) {
  .founder .cont p.text span:nth-child(n+2) {
    padding-left: 0;
  }
}

.founder .title {
  color: #584D44;
  font-size: 16px;
  position: relative;
}

.founder .title::after {
  background: #C3BAAC;
  content: "";
  height: 1px;
  position: absolute;
  left: 46px;
  top: 50%;
  transform: translateY(-50%);
  width: 84.7%;
}

@media screen and (max-width:767px) {
  .founder .title::after {
    background: #C3BAAC;
    content: "";
    height: 1px;
    position: absolute;
    left: 56px;
    top: 50%;
    transform: translateY(-50%);
    width: 80.7%;
  }
}

/* ===========================================================================
TIMELINE
=========================================================================== */
.information {
  position: relative;
}

.timeline {
  position: relative;
  padding: 0 150px;
}

@media screen and (max-width:767px) {
  .timeline {
    padding: 0 20px;
  }
}


.timeline:first-child {
  padding-top: 65px;
  padding-bottom: 15px;
}

@media screen and (max-width:767px) {
  .timeline:first-child {
    padding-top: 28px;
    padding-bottom: 85px;
  }
}

.timeline:nth-child(n+2) {
  padding-top: 15px;
  padding-bottom: 15px;
}

@media screen and (max-width:767px) {
  .timeline:nth-child(n+2) {
    padding-top: 15px;
    padding-bottom: 85px;
  }
}

.timeline:last-child {
  padding-top: 15px;
  padding-bottom: 65px;
}

@media screen and (max-width:767px) {
  .timeline:last-child {
    padding-top: 15px;
    padding-bottom: 85px;
  }
}

.information::before {
  background: #C3BAAC;
  content: "";
  height: calc(100% - 159px);
  position: absolute;
  left: 265px;
  top: 80px;
  width: 1px;
  z-index: 1;
}

@media screen and (max-width:767px) {
  .information::before {
    background: #C3BAAC;
    content: "";
    height: calc(100% - 144px);
    position: absolute;
    left: 121px;
    top: 45px;
    width: 1px;
    z-index: 1;
  }
}

.timeline .tl-item {
  align-items: start;
  display: flex;
  position: relative;
}

.timeline .tl-item:nth-child(n+2) {
  margin-top: 30px;
}

.timeline .tl-year {
  color: #A68E6A;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.75;
  min-width: 115px;
  white-space: nowrap;
}

.timeline .tl-marker {
  min-height: 18px;
  position: relative;
  z-index: 1;
}

.timeline .tl-marker::after {
  background: #A68E6A;
  border-radius: 50%;
  content: "";
  height: 18px;
  position: absolute;
  left: 50%;
  top: 18px;
  transform: translate(-50%, -50%);
  width: 18px;
}

.timeline .tl-content {
  color: #2C2C2C;
  font-size: 16px;
  line-height: 2;
  margin-left: 90px;
}

@media (max-width: 767px) {
  .timeline::before {
    height: calc(100% - 60px);
    left: 100px;
  }

  .timeline .tl-item:nth-child(n+2) {
    margin-top: 36px;
  }

  .timeline .tl-year {
    font-size: 18px;
    min-width: 100px;
  }

  .timeline .tl-marker {
    min-height: 16px;
  }

  .timeline .tl-marker::after {
    height: 16px;
    top: 16px;
    width: 16px;
  }

  .timeline .tl-content {
    margin-left: 40px;
    line-height: 1.5;
  }
}

/* ===========================================================================
PAGE COMPANY
=========================================================================== */
.head_large {
  font-size: 48px;
  text-align: left;
}

.inner_ttl {
  border-bottom: 4px solid #E4D6C0;
  color: #584D44;
  font-size: 24px;
  font-weight: bold;
  padding-top: 80px;
}

.inner_ttl:first-child {
  padding-top: 69px;
}

@media (max-width: 767px) {
  .inner_ttl:first-child {
    padding-top: 32px;
  }
}

.inner_ttl span {
  background-color: #E4D6C0;
  display: inline-block;
  height: 100%;
  min-width: 266px;
  padding: 9px 20px;
  position: relative;
}

.inner_ttl span::after {
  background: url('/common/images/bg_ttl.png') center / 100% 100% no-repeat;
  content: '';
  height: 54px;
  position: absolute;
  right: -52px;
  top: 0;
  width: 54px;
}

.research_flex {
  padding-bottom: 90px;
}

@media screen and (max-width:767px) {
  .head_large {
    font-size: 32px;
  }

  .inner_ttl {
    font-size: 20px;
    padding-top: 60px;
  }

  .inner_ttl span {
    min-width: 214px;
    padding: 9px 20px;
  }

  .inner_ttl span::after {
    height: 48px;
    right: -46px;
    width: 48px;
  }

  .research_flex {
    padding-bottom: 0;
  }
}

/*-------------------------------------------
child_content
-------------------------------------------*/
.child_content {
  padding: 0;
  width: 100%;
}

.child_content .ttl {
  font-size: 20px;
}

.child_content .txt {
  font-size: 16px;
  line-height: 2;
}

.child_content .txt {
  display: flex;
}

.child_content .txt+.ttl {
  margin-top: 35px;
}

.child_content .ttl+.txt {
  margin-top: 16px;
}

.child_content .info_list .item {
  border-bottom: 1px solid #C3BAAC;
  display: flex;
  padding-bottom: 20px;
  gap: 10px;
}

.child_content .info_list .item:not(:first-child) {
  padding-top: 20px;
}

.child_content .info_list .item>span {
  font-size: 16px;
}

.child_content .info_list .item>span:first-child {
  width: calc(130 / 1000 * 100%);
}

.child_content .info_list .item.address>span:first-child {
  padding-top: 17px;
}

.child_content .info_list .item>span:last-child {
  width: calc(860 / 1000 * 100%);
}

.child_content .info_list .item.address .txt {
  line-height: 2;
}

.child_content .info_list .item.address .btn {
  display: block;
  margin-top: 18px;
}

.child_content .info_list .item.address .btn a {
  font-size: 20px;
  min-width: 288px;
  padding: 14px 14px 14px 28px;
  text-align: center;
}

a.button.link.pos::after {
  background: url('/common/images/pin.png') center/contain no-repeat;
  content: '';
  height: 22px;
  left: 56px;
  width: 22px;
}

a.button.link.pos:hover::after {
  background: url('/common/images/pin_hover.png') center/contain no-repeat;
}

@media screen and (max-width:767px) {
  .style02>.content>.inner {
    padding: 0;
  }

  .child_content {
    padding: 35px 0 0;
  }

  .child_content .ttl {
    font-size: 18px;
  }

  .child_content .info_list .item {
    flex-direction: column;
    padding-bottom: 10px;
    gap: 12px;
  }

  .child_content .info_list .item:not(:first-child) {
    padding-top: 20px;
  }

  .child_content .info_list .item.address>span:first-child {
    padding-top: 0;
  }

  .child_content .info_list .item>span {
    width: 100% !important;
  }

  .child_content .info_list .item.address .btn {
    margin-top: 17px;
  }

  .child_content .info_list .item.address .btn a {
    font-size: 16px;
    max-width: 240px;
    min-width: auto;
  }

  a.button.link.pos::after {
    left: 40px;
  }
}

iframe {
  height: 460px;
  width: 100%;
}

.blue01 {
  background: #EFFAFD url(../images/1970_pcsp.png) no-repeat;
  background-position: bottom right 8px;
  background-size: calc(330 / 1300 * 100%);
}

@media screen and (max-width:767px) {
  .blue01 {
    background: #EFFAFD url(../images/1970_pcsp.png) no-repeat;
    background-position: bottom right 8px;
    background-size: calc(215 / 375 * 100%);
  }
}

.blue02 {
  background: #DFF4FC url(../images/1980_pcsp.png) no-repeat;
  background-position: bottom right 8px;
  background-size: calc(330 / 1300 * 100%);
}

@media screen and (max-width:767px) {
  .blue02 {
    background: #DFF4FC url(../images/1980_pcsp.png) no-repeat;
    background-position: bottom right 8px;
    background-size: calc(215 / 375 * 100%);
  }
}

.blue03 {
  background: #CFEDF8 url(../images/1990_pcsp.png) no-repeat;
  background-position: bottom right 8px;
  background-size: calc(330 / 1300 * 100%);
}

@media screen and (max-width:767px) {
  .blue03 {
    background: #CFEDF8 url(../images/1990_pcsp.png) no-repeat;
    background-position: bottom right 8px;
    background-size: calc(215 / 375 * 100%);
  }
}

.blue04 {
  background: #BDE4F4 url(../images/2000_pcsp.png) no-repeat;
  background-position: bottom right 8px;
  background-size: calc(440 / 1300 * 100%);
}

@media screen and (max-width:767px) {
  .blue04 {
    background: #BDE4F4 url(../images/2000_pcsp.png) no-repeat;
    background-position: bottom right 8px;
    background-size: calc(265 / 375 * 100%);
  }
}

.button {
  margin-top: 100px;
}

@media screen and (max-width:767px) {
  .button {
    margin-top: 60px;
  }
}

.url {
  margin-top: 37px;
}

@media screen and (max-width:767px) {
  .url {
    margin-top: 40px;
  }
}