@charset "UTF-8";
/*///////////////////////////////////////////////////
//
	ページ個別に発生するスタイル指定はこちら
//
///////////////////////////////////////////////////*/
/*about*/
/*history*/
.timeline {
  position: relative;
}

.timeline__content {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  width: 100% !important;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .timeline__content {
    width: 100% !important;
    flex-direction: column;
  }
}

.timeline__content .timeline_ttl {
  width: 100%;
  padding: 0;
}

.timeline__content .timeline_ttl h2 {
  text-align: center;
  font-size: 30px;
  font-size: 3rem;
  font-family: "a-otf-ryumin-pr6n", serif;
  color: #000;
  font-weight: normal;
  -webkit-animation: load 1s 0s ease forwards;
  -moz-animation: load 1s 0s ease forwards;
  -o-animation: load 1s 0s ease forwards;
  animation: load 1s 0s ease forwards;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  background-image: linear-gradient(to right, #fff, #fff 1px, rgba(214, 0, 28, 0.1) 1px, rgba(214, 0, 28, 0.1) 1px);
  background-size: 2px 1px;
}

.group .timeline__content .timeline_ttl h2 {
  background-image: linear-gradient(to right, #fff, #fff 1px, #eee 1px, #eee 1px);
  background-size: 2px 1px;
  padding: 2% 0;
}

@media only screen and (max-width: 767px) {
  .timeline__content .timeline_ttl h2 {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 1.8rem;
  }
}

.timeline__content-title {
  font-weight: normal;
  font-size: 30px;
  font-size: 3rem;
  transition: .4s;
  padding-left: 1.5rem;
  padding-bottom: 0.8rem;
  background: #560d00;
  font-family: "a-otf-ryumin-pr6n", serif;
  color: #fff;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .timeline__content-title {
    font-size: 22px;
    font-size: 2.2rem;
    padding-top: 0.6rem;
  }
}

@media only screen and (max-width: 767px) {
  .timeline__content-title {
    font-size: 20px;
    font-size: 2rem;
    padding-top: 0.6rem;
  }
}

.timeline__content-title span {
  font-size: 16px;
  font-size: 1.6rem;
  display: block;
  margin-top: -0.5rem;
}

@media only screen and (max-width: 767px) {
  .timeline__content-title span {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

.timeline__content-desc {
  font-family: "a-otf-ryumin-pr6n", serif;
  color: #000;
  padding: 1rem;
  margin-bottom: 1rem;
  background: #fff;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}

@media only screen and (max-width: 767px) {
  .timeline__content-desc {
    margin-bottom: 0.5rem;
  }
}

.timeline-item {
  padding: 40px 0 0;
  opacity: 1;
  /*filter: blur(2px);*/
 transition: .3s;
  box-sizing: border-box;
  /*display: flex;
    flex-wrap: wrap;*/
  position: relative;
  transform: translateY(0px);
  /*transform: translateY(-100px);*/
}

@media only screen and (max-width: 767px) {
  .timeline-item {
    filter: blur(0px);
    transform: translateY(0px);
    padding: 0;
  }
}

.timeline-item:first-child {
  padding-top: 0;
}

.timeline-item:before {
  content: attr(data-text);
  letter-spacing: 3px;
  width: 100%;
  position: absolute;
  color: rgba(255, 255, 255, 0.5);
  font-size: 13px;
  border-left: 2px solid rgba(255, 255, 255, 0.5);
  top: 70%;
  margin-top: -0px;
  padding-left: 15px;
  opacity: 0;
  right: calc(-100% - 56px);
}

.timeline-item--active {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0px);
}

.timeline-item--active:before {
  top: 70%;
  transition: .3s all .2s;
  opacity: 1;
}

@media only screen and (max-width: 767px) {
  .timeline-item--active:before {
    transition: 0;
  }
}

.timeline-item--active .timeline__content-title {
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .timeline-item {
    align-self: baseline !important;
    width: 100%;
    padding: 0 0 40px 0;
  }
  .timeline-item:before {
    left: 10px !important;
    padding: 0 !important;
    top: 50px;
    text-align: center !important;
    width: 60px;
    border: none !important;
  }
  .timeline-item:last-child {
    padding-bottom: 40px;
  }
}

.timeline__img {
  width: 100%;
}

.timeline-container {
  position: relative;
  padding: 0 !important;
  transition: .3s ease 0s;
  background-attachment: fixed;
  background-size: cover;
}

.timeline-container:before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: -moz-linear-gradient(to bottom, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.5) 95%, white);
  background: -webkit-linear-gradient(to bottom, rgba(255, 255, 255, 0.35), 30%, white);
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.5) 95%, white);
  content: "";
}

@media only screen and (max-width: 767px) {
  .timeline-container:before {
    background: white;
  }
}

.timeline-header {
  width: 100%;
  text-align: center;
  margin-bottom: 80px;
  position: relative;
}

.timeline-header__title {
  color: #fff;
  font-size: 46px;
  font-weight: normal;
  margin: 0;
}

.timeline-header__subtitle {
  color: rgba(255, 255, 255, 0.5);
  font-size: 16px;
  letter-spacing: 5px;
  margin: 10px 0 0 0;
  font-weight: normal;
}

/*history-timeline*/
.cbp_tmtimeline {
  margin: 0 0 10%;
  padding: 0;
  list-style: none;
  position: relative;
}

@media only screen and (max-width: 767px) {
  .cbp_tmtimeline {
    margin: 0 0 0%;
  }
}

/* The line */
.cbp_tmtimeline:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 3px;
  background: rgba(255, 255, 255, 0.4);
  left: 10%;
  margin-left: -10px;
}

.cbp_tmtimeline > li {
  position: relative;
}

/* The date/time */
.cbp_tmtimeline > li .cbp_tmtime {
  display: block;
  width: 20%;
  border-radius: 3px;
  position: absolute;
  background: #560d00;
}

.cbp_tmtimeline > li .cbp_tmtime span {
  display: block;
  text-align: center;
  color: #fff;
}

/* Right content */
.cbp_tmtimeline > li .cbp_tmlabel {
  margin: 0 0 15px 25%;
  background: #fff;
  padding: 2rem;
  line-height: 1.4;
  position: relative;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}

.cbp_tmlabel ul {
  display: flex;
  justify-content: space-between;
}

.cbp_tmlabel ul .tm_photo {
  width: 40%;
}

.cbp_tmlabel ul .tm_photo img {
  width: 100%;
}

.cbp_tmlabel ul .tm_text {
  width: 58%;
}

.cbp_tmlabel ul.tm_border {
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 1px dotted #ccc;
}

.cbp_tmtimeline > li:nth-child(odd) .cbp_tmlabel {
  background: #f0f0f0;
}

.cbp_tmtimeline > li .cbp_tmlabel h2 {
  margin-top: 0px;
  padding: 10px 0 0 0;
  font-weight: normal;
}

/* The triangle */
.cbp_tmtimeline > li .cbp_tmlabel:after {
  right: 100%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-right-color: #fff;
  border-width: 10px;
  top: 10px;
}

.cbp_tmtimeline > li:nth-child(odd) .cbp_tmlabel:after {
  border-right-color: #f0f0f0;
}

@media only screen and (max-width: 767px) {
  .cbp_tmtimeline > li .cbp_tmtime span:last-child {
    padding-top: 0.5rem;
    padding-left: 0.8rem;
  }
}

@media only screen and (max-width: 767px) {
  .cbp_tmtimeline:before {
    display: none;
  }
  .cbp_tmtimeline > li .cbp_tmtime {
    width: 100%;
    position: relative;
    padding: 0 0 10px 0;
  }
  .cbp_tmtimeline > li .cbp_tmtime span {
    text-align: left;
  }
  .cbp_tmtimeline > li .cbp_tmlabel {
    margin: 0 0 30px 0;
    padding: 1em;
    font-weight: 400;
    font-size: 95%;
  }
  .cbp_tmtimeline > li .cbp_tmlabel:after {
    right: auto;
    left: 20px;
    border-right-color: transparent;
    border-bottom-color: #fff;
    top: -20px;
  }
  .cbp_tmtimeline > li:nth-child(odd) .cbp_tmlabel:after {
    border-right-color: transparent;
    border-bottom-color: #f0f0f0;
  }
  .cbp_tmtimeline > li .cbp_tmicon {
    position: relative;
    float: right;
    left: auto;
    margin: -55px 5px 0 0px;
  }
}

.timeline_list {
  width: 56%;
  margin-right: 4%;
  margin-left: 10%;
  padding-top: 4rem;
}

@media only screen and (max-width: 767px) {
  .timeline_list {
    width: 90%;
    margin: 0 auto;
  }
}

.history_mv {
  width: 20%;
  margin-right: 10%;
  margin-top: 4rem;
}

@media only screen and (max-width: 767px) {
  .history_mv {
    width: 90%;
    margin: 0 auto;
  }
}

.label_jma {
  background: #d6001c;
  color: #fff;
  display: inline;
  padding: 0.05rem 2rem;
  font-weight: normal;
  font-size: 14px;
  font-size: 1.4rem;
}

.label_sma {
  background: #0047bb;
  color: #fff;
  display: inline;
  padding: 0.05rem 2rem;
  font-weight: normal;
  font-size: 14px;
  font-size: 1.4rem;
}

.label_carenet {
  background: #31b700;
  color: #fff;
  display: inline;
  padding: 0.05rem 2rem;
  font-weight: normal;
  font-size: 14px;
  font-size: 1.4rem;
}

.label_keijin {
  background: #da852b;
  color: #fff;
  display: inline;
  padding: 0.05rem 2rem;
  font-weight: normal;
  font-size: 14px;
  font-size: 1.4rem;
}


.history_timeline {
  overflow: hidden;
  /*IE11用*/
}

/**/
.hi-icon-wrap {
  text-align: center;
  margin: 0 auto;
  padding: 0;
}

.hi-icon {
  display: inline-block;
  cursor: pointer;
  margin: 0 10px;
  width: 220px;
  height: 150px;
  padding-top: 70px;
  border-radius: 50%;
  text-align: center;
  position: relative;
  z-index: 1;
}

.hi-icon strong {
  font-size: 26px;
  font-size: 2.6rem;
  font-family: "a-otf-ryumin-pr6n", serif;
}

.hi-icon span {
  font-size: 15px;
  font-size: 1.5rem;
  font-family: "a-otf-ryumin-pr6n", serif;
}

@media only screen and (max-width: 767px) {
  .hi-icon {
    width: 90%;
    height: 95px;
    padding-top: 20px;
    border-radius: 0%;
    margin-bottom: 1rem;
  }
}

.hi-icon:after {
  pointer-events: none;
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  content: '';
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

@media only screen and (max-width: 767px) {
  .hi-icon:after {
    border-radius: 0%;
  }
}

.hi-icon:before {
  speak: none;
  font-size: 48px;
  line-height: 90px;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  display: block;
  -webkit-font-smoothing: antialiased;
}

/* Effect 3 */
.hi-icon-effect-3 .hi-icon {
  box-shadow: 0 0 0 4px #fff;
  -webkit-transition: color 0.3s;
  -moz-transition: color 0.3s;
  transition: color 0.3s;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}

.hi-icon-effect-3 .hi-icon:after {
  top: -0px;
  left: 0px;
  padding: 0px;
  z-index: -1;
  opacity: .85;
  background: linear-gradient(179deg, #eeb79e, #fdd8a4, #a7e399, #a2d1f7);
  background-size: 800% 800%;
  -webkit-animation: AnimationName 30s ease infinite;
  -moz-animation: AnimationName 30s ease infinite;
  animation: AnimationName 30s ease infinite;
  -webkit-transition: -webkit-transform 0.2s, opacity 0.3s;
  -moz-transition: -moz-transform 0.2s, opacity 0.3s;
  transition: transform 0.2s, opacity 0.3s;
}

@-webkit-keyframes AnimationName {
  0% {
    background-position: 50% 0%;
  }
  50% {
    background-position: 50% 100%;
  }
  100% {
    background-position: 50% 0%;
  }
}

@-moz-keyframes AnimationName {
  0% {
    background-position: 50% 0%;
  }
  50% {
    background-position: 50% 100%;
  }
  100% {
    background-position: 50% 0%;
  }
}

@keyframes AnimationName {
  0% {
    background-position: 50% 0%;
  }
  50% {
    background-position: 50% 100%;
  }
  100% {
    background-position: 50% 0%;
  }
}

/* Effect 3a */
.hi-icon-effect-3a .hi-icon {
  color: #000;
  text-shadow: 2px 2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, -2px -2px 2px #fff;
}

.hi-icon-effect-3a .hi-icon:hover {
  color: #fff;
  text-shadow: 2px 2px 2px #000, -2px 2px 2px #000, 2px -2px 2px #000, -2px -2px 2px #000;
}

.hi-icon-effect-3a .hi-icon:hover:after {
  -webkit-transform: scale(1.3);
  -moz-transform: scale(1.3);
  -ms-transform: scale(1.3);
  transform: scale(1.3);
  opacity: 0;
}

.section_anchor_bg01 {
  background: url(../../about/img/history/section_anchor_bg01.jpg);
  background-size: cover;
  z-index: 1;
}

.section_anchor_bg02 {
  background: url(../../about/img/history/section_anchor_bg02.jpg);
  background-size: cover;
  z-index: 1;
}

.section_anchor_bg03 {
  background: url(../../about/img/history/section_anchor_bg03.jpg);
  background-size: cover;
  z-index: 1;
}

.section_anchor {
  display: flex;
  justify-content: space-around;
}

@media only screen and (max-width: 767px) {
  .section_anchor {
    flex-direction: column;
  }
}

/* add 20180403 */
/* outline */
.outline_link {
  text-align: center;
}

/* ↓↓↓↓↓ 制作会社様がgroup-style.cssに直書きしてたものを移植 ↓↓↓↓↓↓ */

/* add 1907 -- sw ------------------------------------- */

.mod-analytics-01 .box-analytics .body-02 ,.mod-analytics-01 .box-analytics .body-03{
  width:50%; }
.mod-analytics-01 .box-analytics .body-02-2 {
  width:50%;
  padding-top: 100px; }
.mod-analytics-01 .box-analytics .body-03-2 {
  width:50%;
  padding-top: 100px; }

@media only screen and (max-width: 767px) {
.mod-analytics-01 .box-analytics .body-02,.mod-analytics-01 .box-analytics .body-03 {
  width:100%; }
.mod-analytics-01 .box-analytics .body-02-2 {
  width:100%;
  padding-top: 0; }
.mod-analytics-01 .box-analytics .body-03-2 {
  width:100%;
  padding-top: 0; }
.mod-analytics-01 .box-analytics .graph img {
  width:80%; }
}


  @media only screen and (max-width: 767px) and (orientation: portrait) {
  .mod-analytics-01 .box-analytics .body-02-2 .facility {
    margin-bottom: 30px !important; } }
  .mod-analytics-01 .box-analytics .body-02-2 .facility {
  -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
  -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
  -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
  -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
  transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
  width: 90%;
  margin: 0 auto; 
}
  @media only screen and (max-width: 767px) and (orientation: portrait) {
    .mod-analytics-01 .box-analytics .body-02-2 .facility {
    width: 80%;
    margin-bottom: 80px; } }
  @media only screen and (min-width: 1024px) {
    .mod-analytics-01 .box-analytics .body-02-2 .facility {
    width: 80%; }
    .mod-analytics-01 .box-analytics .body-03-2 .facility {
      width: 80%; } }
  .mod-analytics-01 .box-analytics .body-02-2 .facility tr {
    border-bottom: 1px solid #ffa3af; }
    .mod-analytics-01 .box-analytics .body-02-2 .facility tr > th, .mod-analytics-01 .box-analytics .body-02-2 .facility tr > td {
    padding: 2px 0;
    font-size: 12px;
    font-size: 1.2rem;
    vertical-align: middle; }
    @media only screen and (max-width: 767px) and (orientation: portrait) {
      .mod-analytics-01 .box-analytics .body-02-2 .facility tr > th, .mod-analytics-01 .box-analytics .body-02-2 .facility tr > td {
      font-size: 14px;
      font-size: 1.4rem; } }
    @media only screen and (min-width: 1024px) {
      .mod-analytics-01 .box-analytics .body-02-2 .facility tr > th, .mod-analytics-01 .box-analytics .body-02-2 .facility tr > td {
      font-size: 14px;
      font-size: 1.4rem; } }
    @media only screen and (max-width: 767px) and (orientation: landscape) {
      .mod-analytics-01 .box-analytics .body-02-2.facility tr > th, .mod-analytics-01 .box-analytics .body-02-2 .facility tr > td {
      font-size: 10px;
      font-size: 1rem; } }
    .mod-analytics-01 .box-analytics .body-02-2 .facility tr > th {
    text-align: left;
    padding-left: 1.5em;
    font-weight: normal;
    position: relative; }
    .mod-analytics-01 .box-analytics .body-02-2 .facility tr > td {
    text-align: right; }

/* add 1907 ----------------------------------- end --- */


      .mod-analytics-01 .box-analytics .body-04:before {
        content: '';
        display: block;
        -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        top: 45%;
        background: transparent url("../../about/img/bg_ico-data-04-01@2x.png") 0 0 no-repeat;
        background-size: cover;
        width: 90%;
        height: 42vw; }
        @media only screen and (max-width: 767px) and (orientation: landscape) {
          .mod-analytics-01 .box-analytics .body-04:before {
            width: 60%;
            height: 28vw; } }
        @media only screen and (min-width: 768px) {
          .mod-analytics-01 .box-analytics .body-04:before {
            width: 542px;
            height: 279px; } }
      .mod-analytics-01 .box-analytics .body-04 .number {
        margin-top: 100px; }
        @media only screen and (min-width: 768px) {
          .mod-analytics-01 .box-analytics .body-04 .number {
            margin-top: 160px; } }


      .mod-analytics-01 .box-analytics .body-04:before {
        content: '';
        display: block;
        -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        top: 45%;
        background: transparent url("../../about/img/bg_ico-data-04-02@2x.png") 0 0 no-repeat;
        /* background-size: cover; */ background-size: 100% auto;
        width: 90%;
        height: 42vw; }

        @media only screen and (max-width: 767px) and (orientation: landscape) {
          .mod-analytics-01 .box-analytics .body-04:before {
            /* width: 60%; */ width: 90%;
            height: 28vw; } }
        @media only screen and (min-width: 768px) {
          .mod-analytics-01 .box-analytics .body-04:before {
            /* width: 542px; */ width: 380px;
            height: 279px; } }
      .mod-analytics-01 .box-analytics .body-04 .number {
        margin-top: 100px; }
        @media only screen and (min-width: 768px) {
          .mod-analytics-01 .box-analytics .body-04 .number {
            /* margin-top: 160px; */ margin-top: 140px; } }

/* ↑↑↑↑↑↑ 制作会社様がgroup-style.cssに直書きしてたものを移植 ↑↑↑↑↑↑ */
.mod-analytics-01 .box-analytics .flex_03 {
display: flex;
flex-wrap: wrap;
}

.mod-analytics-01 .box-analytics .body-03:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (min-width: 1024px){
  .mod-analytics-01 .box-analytics .body-03:before {
    top: 49%;
  }
}

.tbl_hospital{
  margin: 20px auto 0;
  width: 90%;
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px){
  .tbl_hospital {
    margin-bottom: 30px;
  } 
 }

.tbl_hospital tr {
  border-bottom: 1px solid #f7d9d4;
}
.tbl_hospital tr > th {
  text-align: left;
  padding-left: 1.5em;
  font-weight: normal;
  position: relative;
}
.tbl_hospital tr > td {
  text-align: right;
}

/*SNS一覧*/
.box-cmn-01.link-fbpage-01 {
  padding: 0;
}
.ttl-lower-03.facebook:before {
  border-color: #3b579d;
}
.ttl-lower-03.instagram:before {
  border-color: #d42f81;
}
.link-fbpage-01.instagram a {
  color: #d42f81;
  border: 1px solid #d42f81;
}
.link-fbpage-01.instagram a:before {
  background-color: #d42f81;
}
.ttl-lower-03.youtube:before {
  border-color: #282828;
}
.link-fbpage-01.youtube a {
  color: #282828;
  border: 1px solid #282828;
}
.link-fbpage-01.youtube a:before {
  background-color: #282828;
}
.ttl-lower-03.blog:before {
  border-color: #c13132;
}
.link-fbpage-01.blog a {
  color: #c13132;
  border: 1px solid #c13132;
}
.link-fbpage-01.blog a:before {
  background-color: #c13132;
}
.ico_sns_wrap{
  position: relative;
  display: block;
  width: 30px;
  height: 30px;
  margin: 0 auto;
  margin-bottom: 15px;
}
.ico_sns_wrap .ico_sns{
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
}
.ico_sns_wrap .ico_sns.nor{
  display: block;
}
.ico_sns_wrap .ico_sns.hov{
  display: none;
}
.PC .link-fbpage-01 a:hover .ico_sns_wrap .ico_sns.nor{
  display: none;
}
.PC .link-fbpage-01 a:hover .ico_sns_wrap .ico_sns.hov{
  display: block;
}
.youtube .ico_sns_wrap{
/*  width: 60px;
  height: 60px;
  margin-bottom: 5px;*/
}


/* 2024.02.08 追記 */
.mod-layout-cmn-01.ratio-01 .pamphlet.box-layout {
  width: 100%;
}
.pamphlet-img {
  box-shadow: 2px 2px 5px 0 rgba(0,0,0,.2);
}
.pamphlet-img img{
  width: 100%;
}
.pamphlet-btns {
  margin-top: 1em;
}
.pamphlet-btn {
  box-sizing: border-box;
  display: inline-block;
  background:
    url(../img/icon_outline_dl.png) right 1em top 50% / 20px no-repeat,
    linear-gradient(to right, #560d00, #560d00 50%, #d64329 50%, #db6450) 100% 50% / 200% 100% no-repeat;
  border: 1px solid #d64329;
  border-radius: 4px;
  padding: .6em 2.5em .6em 1.5em;
  color: #fff;
  transition: background .5s cubic-bezier(0.23, 1, 0.32, 1), border .5s;
}

@media only screen and (max-width: 767px) {
  .pamphlet-inr {
    padding: 0 5%;
  }
  .pamphlet-img {
    width: 60%;
    margin: 30px auto 0;
  }
  .pamphlet-body {
    margin-top: 2em;
  }
  .pamphlet-btns {
    text-align: center;
  }
  .pamphlet-btn {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .pamphlet-inr {
    display: flex;
  }
  .pamphlet-img {
    width: 232px;
    margin-right: 90px;
  }
  .pamphlet-body {
    margin-top: 40px;
  }
  .pamphlet-btn:hover {
    background-position: right 1em top 50%, 0% 50%;
    border-color: #560d00;
  }
}
/*.mod-analytics-01 .box-analytics .body-07-04 .label {
  padding-top: 30px;
}*/
.mod-analytics-01 .box-analytics .body-07-04 .ttl-analytics-02:before {
  background: url("/common/img/sprite/ico-data-07-04.svg") 0 0 no-repeat;
  background-size: 100%;
  width: 50px;
}
.mod-analytics-01 .box-analytics .body-07-05 .ttl-analytics-02:before {
  background: url("/common/img/sprite/ico-data-07-05.svg") 0 0 no-repeat;
  background-size: 70% auto;
}
.mod-analytics-01 .box-analytics .body-07-06 .ttl-analytics-02:before {
  background: url("/common/img/sprite/ico-data-07-06.svg") 0 0 no-repeat;
  background-size: 100%;
}
.mod-analytics-01 .box-analytics .body-07-06 .label {
  font-size: 40px;
  padding-top: 30px;
}
.mod-analytics-01 .box-analytics .body-07-06 .label .first {
  font-size: 24px;
}
.mod-analytics-01 .box-analytics .body-07-07 .ttl-analytics-02:before {
  background: url("/common/img/sprite/ico-data-07-02.svg") 0 0 no-repeat;
  background-size: 100%;
}
.mod-analytics-01 .box-analytics .body-07-07 .label {
  font-size: 26px;
  padding-top: 40px;
}
.mod-analytics-01 .box-analytics .body-07-07 .label .first {
  font-size: 20px;
  padding-left: 0;
}

/* 2024.03.25 追記 */
.box-philosophy-04 {
  text-align: center;
  letter-spacing: .1em;
  text-shadow: 0 0 10px #fff;
  position: relative;
}
.box-philosophy-04 .txt-philosophy-04 {
  font-weight: bold;
  font-size: 20px;
  font-size: 2.0rem;
  margin-top: 10px;
  font-family: "a-otf-ryumin-pr6n", serif;
}
@media only screen and (min-width: 1024px) {
  .box-philosophy-04 .txt-philosophy-04 {
    font-size: 40px;
    font-size: 4.0rem;
  }
}

/* 2024.05.02 追記 */
.area-lower-contents-02 {
  padding: 0;
}
.area-lower-contents-02.style-about-01:before {
  content: none;
}
.area-lower-contents-02 .box-philosophy-01 {
  padding: 0;
}
@media only screen and (min-width: 768px) {
  .box-philosophy-01 .ttl-philosophy-01 .letter-02 {
    font-size: 6rem;
    line-height: 1.4;
    letter-spacing: .1em;
  }
}
@media only screen and (min-width: 768px) {
  .box-philosophy-01 .txt-philosophy-01 {
    font-size: 2rem;
    margin-top: 0;
  }
}
@media only screen and (min-width: 768px) {
  .bg-philosophy-04 {
    margin-top: -18%;
  }
}
.bg-philosophy-04 img {
  width: 100%;
  height: auto;
}
