/**************************************

about

**************************************/
/* philosophy */
.section_philosophy {
  width: 1000px;
  margin: 0 auto 130px;
}
.section_philosophy .origin_block {
  margin-bottom: 108px;
}

.section_philosophy .online .origin_block {
  margin-bottom: 0px;
}

.section_philosophy .origin_block .box {
  margin-bottom: 45px; 
  padding: 35px 60px;

  border: 8px solid #fce5e5;
}
.section_philosophy .origin_block .box li {
  font-size: 21px; 
  font-weight: 500;
  padding: 15px 0;
  text-align: center;
  

  border-bottom: 1px dotted #a6a6a6;
}
.section_philosophy .origin_block .box li p {
  display: inline-block;

  text-align: left;
  vertical-align: middle;
}
.section_philosophy .origin_block .box li .character {
  font-size: 38px;
  line-height: 60px;

  width: 66px;
  height: 66px;
  margin-right: 12px;

  text-align: center; 

  color: #fff;
  border-radius: 100%;
  background: #df0000;
}
.section_philosophy .origin_block .box li .sentence {
  width: 395px;
}
.section_philosophy .origin_block .box li .txt {
  width: 300px;

  color: #df0000;
}
.section_philosophy .origin_block .box li:last-child {
  border-bottom: none;
}
.section_philosophy .origin_block .catch {
  font-size: 16px;
  line-height: 2.2;

  text-align: center;
}
.section_philosophy .concept_block {
  text-align: center;
}

.left {
  text-align: left;
  width:100%;
}

.section_philosophy .concept_block h3 {
  font-size: 37px; 

  padding: 26px 0;

  color: #df0000;
  border-top: 4px solid #df0000;
  border-bottom: 1px solid #df0000;
}



@media screen and (min-width: 741px) {
.section_philosophy .concept_block .online h3 {
  font-size: 30px; 
  font-weight: bold; 
  padding: 16px 0;
  margin-top: 50px;
  color: #df0000;
  border-top: 4px solid #df0000;
  border-bottom: 1px solid #df0000;
}
}

@media screen and (max-width: 742px) {
.section_philosophy .concept_block .online h3 {
  font-size: 1.5em; 
  font-weight: bold; 
  padding: 16px 0;
  margin-top: 50px;
  color: #df0000;
  border-top: 4px solid #df0000;
  border-bottom: 1px solid #df0000;
}
}


.section_philosophy .concept_block h3 small {
  font-size: 16px;

  display: block;

  margin-top: 4px; 

  color: #313131;
}
.section_philosophy .concept_block .box {
  margin-top: 66px;
}

.section_philosophy .concept_block .box .num {
  font-size: 38px;
  line-height: 60px;

  width: 66px;
  height: 66px;
  margin: 0 auto 20px;

  text-align: center; 

  color: #fff;
  border-radius: 100%;
  background: #df0000;
}

.section_philosophy .num2 {
  font-size: 38px;
  line-height: 60px;

  width: 66px;
  height: 66px;

  color: #fff;
  border-radius: 100%;
  background: #df0000;
text-align:center;
display: inline-block;
margin-right:10px;

}

.section_philosophy .concept_block .box .catch {
  font-size: 30px;
  line-height: 1.0; 

  margin-bottom: 30px;

  color: #df0000;
}

.catch2 {
  font-size: 2em;
  line-height: 1.0; 
  margin-bottom: 30px;
  color: #df0000;
  text-align: left;
display: inline-block;
}



.section_philosophy .concept_block .box .txt {
  font-size: 16px;
  line-height: 2.2;

  text-align: left;
}
.section_philosophy .concept_block .box:nth-of-type(2) {
  margin-top: 48px;
}
.section_philosophy .concept_block .box:nth-of-type(3) {
  margin-top: 80px;
}

@media screen and (max-width: 740px) {
  .section_philosophy {
    width: auto;
    margin: 0 5% 18%;
  }
  .section_philosophy .origin_block {
    margin-bottom: 15%;
  }
  .section_philosophy .origin_block .box {
    margin-bottom: 6%; 
    padding: 5%;

    border: 4px solid #fce5e5;
  }
  .section_philosophy .origin_block .box li {
    font-size: 14px;

    position: relative; 

    padding: 3% 0;

    text-align: left;
  }
  .section_philosophy .origin_block .box li p {
    display: block;
  }
  .section_philosophy .origin_block .box li .character {
    font-size: 24px;
    line-height: 46px;

    position: absolute;
    top: 8%;
    left: 0; 

    width: 48px;
    height: 48px;
    margin: 0;
    margin-right: 12px;

    text-align: center;
  }
  .section_philosophy .origin_block .box li .sentence {
    line-height: 1.3;

    width: auto;
    margin-bottom: 2%; 
    padding-left: 58px;
  }
  .section_philosophy .origin_block .box li .txt {
    line-height: 1.3; 

    width: auto;
    padding-left: 58px;
  }
  .section_philosophy .origin_block .catch {
    font-size: 13px;
    line-height: 2.0;
  }
  .section_philosophy .concept_block h3 {
    font-size: 28px; 

    padding: 5% 0 6%;
  }
  .section_philosophy .concept_block h3 small {
    font-size: 11px;

    margin-top: 2%;
  }
  .section_philosophy .concept_block .box {
    margin-top: 8%;
  }
  .section_philosophy .concept_block .box .num {
    font-size: 24px; 
    line-height: 46px;

    width: 48px;
    height: 48px;
    margin: 0 auto 3%;
  }
  .section_philosophy .concept_block .box .catch {
    font-size: 18px;
    line-height: 1.4; 

    margin-bottom: 3%;
  }
  .section_philosophy .concept_block .box .txt {
    font-size: 13px;
    line-height: 1.8;

    text-align: left;
  }
  .section_philosophy .concept_block .box:nth-of-type(2) {
    margin-top: 10%;
  }
  .section_philosophy .concept_block .box:nth-of-type(3) {
    margin-top: 10%;
  }
}

/* message */
.section_message {
  width: 1000px;
  margin: 0 auto 130px;
}
.section_message .message_block {
  position: relative;

  margin-bottom: 76px; 
  padding-top: 16px;
}
.section_message .message_block ::before {
  position: absolute;
  top: -20px;
  left: 50%;

  width: 3px;
  height: 68px;

  content: "";
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%); 

  background: #df0000;
}
.section_message .message_block .ph {
  margin-bottom: 40px;
}
.section_message .message_block .ph img {
  width: 100%;
}
.section_message .message_block .unit {
  margin-bottom: 30px;
}
.section_message .message_block .catch {
  font-size: 21px;
  line-height: 1.8;

  margin-bottom: 5px;

  color: #df0000;
}
.section_message .message_block .txt {
  font-size: 16px;
  line-height: 2.2;
}
.section_message .message_block .sign_box {
  margin-top: 46px;

  text-align: center;
}
.section_message .message_block .sign_box span {
  font-size: 16px;

  display: inline-block;

  margin: 0 5px; 

  vertical-align: middle;
}
.section_message .message_block .sign_box span img {
  height: 36px;
}
.section_message .profile_block {
  padding: 50px; 

  border: 1px solid #df0000;
}
.section_message .profile_block h3 {
  font-size: 37px;

  margin-bottom: 40px;
  padding-bottom: 30px;

  text-align: center;

  color: #df0000;
  background: url(../img/cmn/line.svg) bottom center no-repeat;
  background-size: 100% 3px;
}
.section_message .profile_block h3 small {
  font-size: 16px;

  display: block;

  margin-top: 4px; 

  color: #313131;
}
.section_message .profile_block .catch {
  font-size: 21px;
  line-height: 1.8; 

  margin-bottom: 40px;

  color: #df0000;
}
.section_message .profile_block .txt {
  font-size: 16px;
  line-height: 2.2;
}

@media screen and (max-width: 740px) {
  .section_message {
    width: auto;
    margin: 0 5% 18%;
  }
  .section_message .message_block {
    margin-bottom: 15%; 
    padding-top: 18px;
  }
  .section_message .message_block ::before {
    top: -5px;

    width: 2px;
    height: 38px;
  }
  .section_message .message_block .ph {
    margin-bottom: 6%;
  }
  .section_message .message_block .unit {
    margin-bottom: 5%;
  }
  .section_message .message_block .catch {
    font-size: 15px;
    line-height: 1.8;
  }
  .section_message .message_block .txt {
    font-size: 13px;
    line-height: 1.8;
  }
  .section_message .message_block .sign_box {
    margin-top: 6%;
  }
  .section_message .message_block .sign_box span {
    font-size: 13px;

    margin: 0 4px;
  }
  .section_message .message_block .sign_box span img {
    width: auto;
    height: 26px;
  }
  .section_message .profile_block {
    padding: 7% 6%;
  }
  .section_message .profile_block h3 {
    font-size: 28px;

    margin-bottom: 6%;
    padding-bottom: 5%;

    background-size: 900px 2px;
  }
  .section_message .profile_block h3 small {
    font-size: 12px;

    margin-top: 3%;
  }
  .section_message .profile_block .catch {
    font-size: 16px;
    line-height: 1.6; 

    margin-bottom: 4%;
  }
  .section_message .profile_block .txt {
    font-size: 13px;
    line-height: 1.8;
  }
}

/* case */
.section_case {
  width: 1000px;
  margin: 0 auto 130px;
}
.section_case .case_block {
  font-size: 16px; 

  margin-bottom: 67px;
}
.section_case .case_block h3 {
  margin-bottom: 30px; 
  padding: 10px 14px;

  border-top: 1px solid #df0000;
  border-bottom: 1px solid #df0000;
}
.section_case .case_block h3 span {
  font-size: 20px;
  line-height: 36px;

  padding-left: 20px;

  border-left: 3px solid #df0000;
}
.section_case .case_block .list {
  padding-top: 6px;
}
.section_case .case_block .list li {
  position: relative;

  margin: 8px 0; 
  padding-left: 18px;
}
.section_case .case_block .list li::before {
  position: absolute;
  top: 6px;
  left: 0;

  width: 16px;
  height: 16px;

  content: "";

  border-radius: 100%; 
  background: #df0000;
}
.section_case .case_block:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 740px) {
  .section_case {
    width: auto;
    margin: 2% 5% 18%;
  }
  .section_case .case_block {
    font-size: 13px; 

    margin-bottom: 14%;
  }
  .section_case .case_block h3 {
    margin-bottom: 5%; 
    padding: 2%;
  }
  .section_case .case_block h3 span {
    font-size: 16px;
    line-height: 1.4;

    position: relative;

    display: block; 

    padding-left: 4%;

    border: none;
  }
  .section_case .case_block h3 span::before {
    position: absolute;
    top: 0;
    left: 0;

    width: 3px;
    height: 100%;

    content: "";

    background: #df0000;
  }
  .section_case .case_block .list {
    padding-top: 0;
  }
  .section_case .case_block .list li {
    margin: 2% 0; 
    padding-left: 14px;
  }
  .section_case .case_block .list li::before {
    top: 4px;

    width: 12px;
    height: 12px;
  }
}

/* outline */
.section_outline {
  margin: 16px auto 130px;
}
.section_outline .outline_block {
  width: 1000px;
  margin: 0 auto 105px;
}
.section_outline .outline_block .tbl01 th {
  text-align: left;
}
.section_outline .access_block .map_box {
  margin-bottom: 106px;
}
.section_outline .access_block .map_box iframe {
  width: 100%;
  height: 478px;

  border: none;
}
.section_outline .access_block .detail {
  width: 854px;
  margin: 0 auto;
}
.section_outline .access_block .detail img {
  width: 100%;
}

@media screen and (max-width: 740px) {
  .section_outline {
    margin: 0 auto 18%;
  }
  .section_outline .outline_block {
    width: auto;
    margin: 0 5% 14%;
  }
  .section_outline .access_block .map_box {
    margin-bottom: 6%;
  }
  .section_outline .access_block .map_box iframe {
    height: 220px;
  }
  .section_outline .access_block .detail {
    width: 90%;
  }
}

/**************************************

features

**************************************/
/* section_features */
.section_features {
  width: 100%;
  padding: 54px 0 130px;

  text-align: center;
}
.section_features .title_box {
  margin-bottom: 30px;
}
.section_features .title_box .logo {
  width: 155px;
  margin: 0 auto 14px;
}
.section_features .title_box h3 {
  font-size: 50px;
  line-height: 1.2; 

  color: #313131;
}
.section_features .title_box h3 strong {
  font-size: 78px;
  font-weight: 500;

  display: block; 

  color: #df0000;
}
.section_features .slide_inner {
  width: 1200px;
  margin: 0 auto;
}
.section_features .slide_inner img {
  width: 100%;
}
.section_features .slide_inner .bxslider li {
  position: relative; 

  width: 100%;
  height: auto;
  margin-top: -10px;
  padding-top: 132px;
}
.section_features .slide_inner .bxslider li .num {
  font-size: 70px;
  line-height: 103px;

  position: absolute;
  top: 72px;
  left: 50%;

  width: 112px;
  height: 112px;
  margin-left: -56px;

  color: #fff;
  border-radius: 50%;
  background: #df0000;
}
.section_features .slide_inner .bx-pager {
  text-align: center;
}
.section_features .slide_inner .bx-pager a {
  position: relative;

  display: inline-block; 

  padding: 0 20px;
}
.section_features .slide_inner .bx-pager a .num {
  font-size: 52px;
  line-height: 80px; 

  width: 83px;
  height: 83px;
  margin: 0 auto 20px;

  color: #df0000;
  border-radius: 100%;
  background: #f9cccc;
}
.section_features .slide_inner .bx-pager a .tit {
  font-size: 21px;
  line-height: 1.4;
}
.section_features .slide_inner .bx-pager a .tit em {
  color: #df0000;
}
.section_features .slide_inner .bx-pager a:nth-child(2n) {
  margin-left: 26px;
}

@media screen and (max-width: 761px) {
  .section_features {
    padding: 11% 0 14%;
  }
  .section_features .title_box {
    margin-bottom: 4%;
  }
  .section_features .title_box .logo {
    width: 37%;
    margin: 0 auto 4%;
  }
  .section_features .title_box h3 {
    font-size: 19px;
  }
  .section_features .title_box h3 strong {
    font-size: 40px;
  }
  .section_features .slide_inner {
    width: 90%;
    margin: 0 auto;
  }
  .section_features .slide_inner img {
    width: 100%;
  }
  .section_features .slide_inner .bxslider li {
    width: 100%;
    height: auto;
    margin-top: 8%; 
    padding-top: 11%;
  }
  .section_features .slide_inner .bxslider li .num {
    font-size: 32px;
    line-height: 53px; 

    top: 0;

    width: 56px;
    height: 56px;
    margin-left: -28px;
  }
  .section_features .slide_inner .bx-pager {
    margin-bottom: 5%;
  }
  .section_features .slide_inner .bx-pager a {
    padding: 0 10px;
  }
  .section_features .slide_inner .bx-pager a ::after {
    display: none;
  }
  .section_features .slide_inner .bx-pager a .num {
    font-size: 29px;
    line-height: 46px; 

    width: 48px;
    height: 48px;
    margin: 0;
  }
  .section_features .slide_inner .bx-pager a .tit {
    display: none;
  }
  .section_features .slide_inner .bx-pager a:nth-child(2n) {
    margin-left: 0;
  }
}

/**************************************

policy

**************************************/
@media print, screen and (min-width: 741px) {
  .policy_block {
    line-height: 1.8;

    width: 1000px;
    margin: 0 auto 130px;
  }
  .policy_block .lead {
    margin-bottom: 40px;
  }
  .policy_block .policy_box {
    line-height: 1.8;

    width: 1000px;
    margin: 0 auto 40px;
    padding: 50px 60px;

    background: #fdf0f0;
  }
  .policy_block .catch {
    font-size: 1.7em;
    font-weight: 500;

    margin-bottom: 10px; 

    color: #df0000;
  }
  .policy_block .tit {
    font-size: 1.5em;
    font-weight: bold; 

    margin: 10px 0 20px;
    padding-bottom: 2px;

    border-bottom: 2px solid #df0000;
  }
  .policy_block .stit {
    font-size: 1.2em;
    font-weight: bold; 

    margin: 15px 0 5px;
  }
  .policy_block .ptit {
    font-size: 1.0em;
    font-weight: bold; 

    margin: 15px 0 5px;
  }
  .policy_block .txt em {
    font-weight: 600;
    font-style: normal;
  }
  .policy_block .end {
    font-size: 1.2em;

    margin-bottom: 50px; 

    text-align: right;
  }
}

@media screen and (max-width: 740px) {
  .policy_block {
    font-size: 13px; 
    line-height: 1.8;

    margin: 0 5% 15%;
  }
  .policy_block .lead {
    margin-bottom: 7%;
  }
  .policy_block .policy_box {
    margin: 0 0 5%;
    padding: 6%; 

    background: #fdf0f0;
  }
  .policy_block .catch {
    font-size: 1.3em;
    font-weight: 500; 

    color: #df0000;
  }
  .policy_block .tit {
    font-size: 1.1em;
    font-weight: bold; 

    margin: 20px 0 10px;
    padding-bottom: 2px;

    border-bottom: 2px solid #df0000;
  }
  .policy_block .stit {
    font-size: 1.0em;
    font-weight: bold; 

    margin: 15px 0 5px;
  }
  .policy_block .ptit {
    font-size: 1.0em;
    font-weight: bold; 

    margin: 15px 0 5px;
  }
  .policy_block .txt {
    font-size: 13px;
  }
  .policy_block .txt em {
    font-weight: 600;
    font-style: normal;
  }
}
