@charset "UTF-8";

#philosophy,
#charter,
#message {
    word-wrap: break-word;
    color: #1a005d;
    font-family: "游ゴシック", "Yu Gothic", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    line-height: 1.6667;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%
}

img {
    width: 100%;
    height: auto;
}

@media screen and (min-width: 900px) {

  .pc_none {
      display: none !important;
  }

  .about-article {
      padding-top: 70px;
      font-weight: 500;
  }

  .about-inner {
      width: 750px;
      max-width: 100%;
      margin: 0 auto;
      padding: 0 15px;
  }

  .about-linettl {
      font-size: 24px;
      font-weight: bold;
      position: relative;
      padding-left: 23px;
      letter-spacing: 1.25px;
      line-height: 1.4;
      margin-bottom: 26px;
	  color: #1a005d;
  }

  .about-linettl::before,
  .about-linettl::after {
      content: '';
      width: 4px;
      height: -webkit-calc( 100% - 7.5px );
      height: calc( 100% - 7.5px );
      display: block;
      position: absolute;
      top: 3px;
      left: 0;
  }

  .about-linettl::before {
      background: #1a005d;
  }

  .about-linettl::after {
      height: 8px;
      background: #8ec300;
  }

  /* =====================
    about__ex
  ===================== */

  .about__ex {
      position: relative;
      padding: 85px 0 80px;
      margin-top: 53px;
      z-index: 1;
  }

  .about__ex::before {
      content: '';
      width: 100vw;
      height: 100%;
      display: block;
      background: #f5f5f5;
      position: absolute;
      top: 0;
      left: 50%;
      margin-left: -50vw;
      z-index: -1;
  }

  .about__ex .about-linettl {
      position: absolute;
      top: 90px;
      left: 0;
      margin-top: -2px;
      letter-spacing: 5px;
  }

  .about__ex_text {
      color: #000;
      font-weight: 500;
  }

  @media screen and (max-width: 1150px) {
    .about__ex {
        padding-left: 100px;
    }
  }

  /* =====================
    philosophy
  ===================== */

  /*  philosophy__contents
  ------------------------*/

  .philosophy__contents {
      padding: 60px 0;
  }

  .philosophy__list {
      padding-bottom: 60px;
      margin-bottom: 96px;
      position: relative;
  }

  .philosophy__list::before,
  .philosophy__list::after {
      content: '';
      width: 100%;
      height: 4px;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
  }

  .philosophy__list::before {
      background: #1a005d;
  }

  .philosophy__list::after {
      width: 213.3px;
      background: #8ec300;
  }

  .philosophy__list li {
      font-size: 38px;
      font-weight: bold;
      margin-bottom: 32px;
      letter-spacing: 5.5px;
      margin-right: -19.5px;
	  color: #1a005d;
  }

  .philosophy__text {
      font-size: 17px;
      font-weight: bold;
      letter-spacing: 1.5px;
	  color: #1a005d;
  }
	.philosophy__text p {
      margin-bottom: 20px;
  }

  /*.philosophy__text br {
      content: '';
      display: block;
      margin: 36px 0;
  }*/

  /*  about__ex
  ------------------------*/

  #philosophy .about__ex_text {
      font-size: 15px;
      line-height: 1.9;
  }

  .ex__wareranokotoba {
      margin: 27px 0;
      font-weight: bold;
  }

  @media screen and (max-width: 1150px) {
    #philosophy .about__ex {
        padding-right: 100px;
    }
  }

  /*  about__btns
  ------------------------*/

  .about__btns {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: center;
      justify-content: center;
      margin-top: 60px;
  }

  .about__btns li {
      margin: 0 30px;
  }

  .about__btns .c-btn-lg {
      padding-top: 26px;
      padding-bottom: 26px;
  }
	.about__btns .c-btn-lg:hover {
		text-decoration: none;
	}
  .about__btns .c-btn-lg span {
      font-weight: bold;
      letter-spacing: -0.8px;
	  color: #FFFFFF;
  }

  /* =====================
    charter
  ===================== */

  #charter .about-inner {
      width: 930px;
  }

  /*  charter__contents
  ------------------------*/

  .charter__contents {
      padding: 30px 0 60px 0;
  }

  .charter__contents .c-heading-02 {
      font-size: 38px;
      letter-spacing: 1.5px;
      margin-bottom: 70px;
  }

  .charter__list {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
  }

  .charter__item {
      width: 410px;
      margin-bottom: 45px;
  }

  .charter__item:last-child {
      margin-bottom: 0;
  }

  .charter__item_ttl {
      font-size: 20px;
      font-weight: bold;
      position: relative;
      margin-bottom: 35px;
      line-height: 1.2;
      padding-bottom: 20px;
  }

  .charter__item_ttl::before,
  .charter__item_ttl::after {
      content: '';
      display: block;
      background: #8ec300;
      position: absolute;
      bottom: 0;
      left: 0;
  }

  .charter__item_ttl::before {
      width: 100%;
      height: 1px;
  }

  .charter__item_ttl::after {
      width: 120px;
      height: 5px;
      margin-bottom: -2px;
  }

  .charter__item_text {
      font-size: 17px;
      line-height: 2;
      color: #000;
  }

  /*  about__ex
  ------------------------*/

  #charter .about__ex_text {
      font-size: 15px;
      line-height: 2;
  }

  .about__ex_date {
      font-size: 12px;
      text-align: right;
      margin-top: 28px;
  }
  /* =====================
    message
  ===================== */

  /*  message__contents
  ------------------------*/

  .message__ttl {
      width: 800px;
      max-width: 100%;
      margin: 0 auto 25px;
  }

  .message__text {
      font-size: 20px;
      font-weight: bold;
      text-align: center;
      letter-spacing: 1.8px;
      line-height: 1.8;
      margin-bottom: 110px;
	  color: #1a005d;
  }

  .message__dl {
      width: 1000px;
      max-width: 100%;
      margin: 0 auto;
      background: rgba(26, 0, 93, 0.1);
      padding: 46px 60px 50px;
      margin-bottom: 160px;
  }

  .message__dl_ttl {
      font-size: 18px;
      color: #000;
      text-align: center;
      font-weight: bold;
      letter-spacing: 1px;
      text-indent: 1px;
      margin-bottom: 30px;
  }

  .message__dl_list {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
  }

  .message__dl_list li {
      width: 184px;
      font-size: 16px;
      font-weight: bold;
      border-bottom: 1px solid #1a005d;
  }

  .message__dl_list li span {
      font-size: 12px;
  }

  .message__dl_list li a {
      display: block;
      padding: 8px 0;
      position: relative;
  }

  .message__dl_list li a::after{
      content: '';
      width: 5px;
      height: 10px;
      display: block;
      position: absolute;
      top: 50%;
      right: 0;
      margin-top: -5px;
      transition: 0.3s;
      background: url(/common/images/icon-arrow__blue.svg) no-repeat center;
      background-size: contain;
  }

  .message__dl_list li a:hover::after {
      background: url(/common/images/icon-arrow__green.svg) no-repeat center;
      background-size: contain;
  }

  .message__menu {
      width: 880px;
      max-width: 100%;
      margin: 0 auto;
      padding: 40px 0;
      position: relative;
      z-index: 1;
  }

  .message__menu::before {
      content: '';
      width: 100vw;
      height: 100%;
      display: block;
      background: #1a005d;
      position: absolute;
      top: 0;
      left: 50%;
      margin-left: -50vw;
      z-index: -1;
  }

  .message__menu ul {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
  }

  .message__menu ul li {
      width: 277px;
      border-left: 1px solid #615289;
      font-size: 16px;
      line-height: 1.4;
      font-weight: bold;
      text-align: center;
      margin-bottom: 24px;
      padding: 2.81px 22px 2.81px 0;
  }

  .message__menu ul li:nth-child(even) {
      width: 372px;
      border-right: 1px solid #615289;
  }

  .message__menu ul li:last-child,
  .message__menu ul li:nth-last-child(2):nth-child(odd) {
      margin-bottom: 0;
  }

  .message__menu ul li a {
      color: #fff;
      position: relative;
  }

  .message__menu ul li a:hover {
      color: #8ec300;
  }

  .message__menu ul li a::after {
      content: '';
      width: 5px;
      height: 10px;
      display: block;
      position: absolute;
      top: 50%;
      right: -15px;
      margin-top: -5px;
      transition: 0.3s;
      background: url(/common/images/icon-arrow__green.svg) no-repeat center;
      background-size: contain;
      -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
      transform: rotate(90deg);
  }

  /*  message__sections
  ------------------------*/

  .message__section {
      padding: 158px 0 150px;
      position: relative;
      z-index: 1;
  }

  .message__section:nth-of-type(odd)::before {
      content: '';
      width: 100vw;
      height: 100%;
      display: block;
      background: #f5f5f5;
      position: absolute;
      top: 0;
      left: 50%;
      margin-left: -50vw;
      z-index: -1;
  }

  .message__section .about-linettl {
    letter-spacing: 0;
    margin-bottom: 67px;
  }

  .message__sections .message__dl {
      margin-top: 100px;
      margin-bottom: 0;
  }

  /*  section01
  ------------------------*/

  .message__means_item {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      margin-bottom: 85px;
  }

  .message__means_item:last-child {
      margin-bottom: 0;
  }

  .message__means_item:nth-child(1) {
      margin-bottom: 65px;
  }

  .message__means_ttl {
      width: 360px;
      padding-top: 9px;
      overflow: hidden;
  }

  .message__means_ttl span {
      display: inline-block;
      position: relative;
  }

  .message__means_ttl span::before,
  .message__means_ttl span::after {
      content: '';
      display: block;
      background: #8ec300;
      position: absolute;
  }

  .message__means_ttl span::before {
      width: 1px;
      height: 52px;
      top: -2px;
      right: -29px;
  }

  .message__means_ttl span::after {
      width: 360px;
      height: 1px;
      top: 24px;
      left: 100%;
      margin-left: 29px;
  }

  .message__means_item:nth-child(1) .message__means_ttl img {
      width: 98px;
  }

  .message__means_item:nth-child(2) .message__means_ttl img {
      width: 117px;
  }

  .message__means_item:nth-child(3) .message__means_ttl img {
      width: 251px;
  }

  .message__means_text {
      width: -webkit-calc( 100% - 400px );
      width: calc( 100% - 400px );
      /*
      font-size: 15px;
      */
      font-size: 17px;
      color: #000;
      line-height: 2;
  }

  /*  section02
  ------------------------*/

  #section02 {
      padding-bottom: 160px;
  }

  .message__thought {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -webkit-align-items: flex-start;
      align-items: flex-start;
  }

  .message__thought .about-linettl {
      width: 350px;
  }

  .message__thought_text {
      width: 600px;
      /*
      font-size: 16px;
      */
      font-size: 17px;
      color: #000;
      line-height: 2.19;
      padding-left: 65px;
      margin: 0 auto;
  }

  .message__thought_logo {
      width: 240px;
      margin-top: 68px;
  }

  /*  section03
  ------------------------*/

  .message__interpretation {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
  }

  .message__interpretation_item {
      max-width: 540px;
      width: 45%;
      margin-bottom: 65px;
  }

  .message__interpretation_item:last-child,
  .message__interpretation_item:nth-last-child(2):nth-child(odd) {
      margin-bottom: 0;
  }

  /*  section04
  ------------------------*/

  #section04 {
      padding-top: 147px;
  }

  .message__position {
      position: relative;
  }

  .message__position_text {
      font-size: 16px;
      font-weight: bold;
      line-height: 2.5;
      color: #000;
  }

  .message__position_img {
      max-width: 600px;
      width: 50%;
      position: absolute;
      right: 5.5%;
      bottom: -95px;
  }

}

@media screen and (max-width: 899px) {

  .sp_none {
      display: none !important;
  }

  .about-article {
      padding-top: 45px;
  }

  .about-inner {
      max-width: 560px;
      margin: 0 auto;
  }

  .about-linettl {
      font-size: 18px;
      font-weight: bold;
      position: relative;
      padding-left: 15px;
      letter-spacing: 1px;
      line-height: 1.4;
      margin-bottom: 25px;
	  color: #1a005d;
  }

  .about-linettl::before,
  .about-linettl::after {
      content: '';
      width: 3px;
      height: -webkit-calc( 100% - 4.69px );
      height: calc( 100% - 4.69px );
      display: block;
      position: absolute;
      top: 2px;
      left: 0;
  }

  .about-linettl::before {
      background: #1a005d;
  }

  .about-linettl::after {
      height: 6px;
      background: #8ec300;
  }

  /* =====================
    about__ex
  ===================== */

  .about__ex {
      position: relative;
      padding: 60px 0 55px;
      max-width: 560px;
      margin: 55px auto 0;
      z-index: 1;
  }

  .about__ex::before {
      content: '';
      width: 100vw;
      height: 100%;
      display: block;
      background: #f5f5f5;
      position: absolute;
      top: 0;
      left: 50%;
      margin-left: -50vw;
      z-index: -1;
  }

  .about__ex_text {
      font-size: 14px;
      line-height: 1.55;
      color: #000;
      font-weight: 500;
  }

  .about__ex_text span {
      display: inline-block;
  }

  .about__ex .about-linettl {
      letter-spacing: 3px;
  }

  /* =====================
    philosophy
  ===================== */

  #philosophy {
      font-weight: 500;
  }

  /*  philosophy__contents
  ------------------------*/

  .philosophy__list {
      padding-bottom: 40px;
      margin-bottom: 53px;
      position: relative;
  }

  .philosophy__list::before,
  .philosophy__list::after {
      content: '';
      width: 100%;
      height: 3px;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
  }

  .philosophy__list::before {
      background: #1a005d;
  }

  .philosophy__list::after {
      width: 100px;
      background: #8ec300;
  }

  .philosophy__list li {
      font-size: 18px;
      font-weight: bold;
      margin-bottom: 17px;
      letter-spacing: 2.5px;
      margin-right: -3.5px;
	  color: #1a005d;
  }

  .philosophy__text {
      font-size: 14px;
      font-weight: bold;
      letter-spacing: 0px;
      line-height: 1.6;
	  color: #1a005d;
  }
	.philosophy__text p {
		margin-bottom: 15px;
	}

  /*  about__ex
  ------------------------*/

  .ex__wareranokotoba {
      margin: 23px 0;
      font-weight: bold;
  }

  /*  about__btns
  ------------------------*/

  .about__btns {
      margin-top: 45px;
  }

  .about__btns li {
      margin-bottom: 30px;
      text-align: center;
  }

  .about__btns .c-btn-lg {
      max-width: 315px;
  }
.about__btns .c-btn-lg:hover {
		text-decoration: none;
	}
  .about__btns .c-btn-lg::before {
      width: 35px;
  }

  .about__btns .c-btn-lg span {
      font-weight: bold;
      font-size: 15px;
      letter-spacing: -0.8px;
	  color: #FFFFFF;
  }

  /* =====================
    charter
  ===================== */

  #charter {
      font-weight: 500;
  }

  /*  charter__contents
  ------------------------*/

  .charter__contents .c-heading-02 {
      font-size: 18px;
      letter-spacing: 0.55px;
      margin-bottom: 50px;
  }

  .charter__item {
      margin-bottom: 34px;
  }

  .charter__item_ttl {
      font-size: 16px;
      font-weight: bold;
      position: relative;
      padding-bottom: 12px;
      margin-bottom: 20px;
	  color: #1a005d;
  }

  .charter__item_ttl::before,
  .charter__item_ttl::after {
      content: '';
      display: block;
      background: #8ec300;
      position: absolute;
      bottom: 0;
      left: 0;
  }

  .charter__item_ttl::before {
      width: 100%;
      height: 1px;
  }

  .charter__item_ttl::after {
      width: 60px;
      height: 4px;
      margin-bottom: -1.5px;
  }

  .charter__item_text {
      font-size: 14px;
      color: #000;
  }

  /*  about__ex
  ------------------------*/

  .about__ex_date {
      text-align: right;
      margin-top: 25px;
  }

  /* =====================
    message
  ===================== */

  #message {
      font-weight: 500;
      padding-top: 43px;
  }

  /*  message__contents
  ------------------------*/

  .message__contents {
      max-width: 560px;
      margin: 0 auto;
  }

  .message__ttl {
      width: 315px;
      max-width: 100%;
      margin: 0 auto 22px;
  }

  .message__text {
      font-size: 16px;
      font-weight: bold;
      line-height: 1.87;
      margin-bottom: 53px;
      padding: 0 14px;
	  color: #1a005d;
  }

  .message__dl {
      width: 1000px;
      max-width: 100%;
      margin: 0 auto;
      background: rgba(26, 0, 93, 0.1);
      padding: 25px 15px 30px;
      margin-bottom: 60px;
  }

  .message__dl_ttl {
      font-size: 15px;
      color: #000;
      text-align: center;
      font-weight: bold;
      line-height: 1.5;
      margin-bottom: 15px;
  }

  .message__dl_ttl span {
      display: inline-block;
  }

  .message__dl_list {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
  }

  .message__dl_list li {
      width: 44%;
      font-size: 14px;
      font-weight: bold;
      border-bottom: 1px solid #1a005d;
      margin-bottom: 13px;
      line-height: 1.2;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: end;
      align-items: end;
  }

  .message__dl_list li:last-child,
  .message__dl_list li:nth-last-child(2):nth-child(odd) {
      margin-bottom: 0;
  }

  .message__dl_list li span {
      font-size: 10px;
  }

  .message__dl_list li a {
      display: block;
      padding: 8px 8px 8px 0;
      position: relative;
      width: 100%;
  }

  .message__dl_list li a::after{
      content: '';
      width: 5px;
      height: 10px;
      display: block;
      position: absolute;
      top: 50%;
      right: 0;
      margin-top: -5px;
      transition: 0.3s;
      background: url(/common/images/icon-arrow__blue.svg) no-repeat center;
      background-size: contain;
  }

  .message__dl_list li a:hover::after {
      background: url(/common/images/icon-arrow__green.svg) no-repeat center;
      background-size: contain;
  }

  .message__menu {
      padding: 21px 15px 40px;
      position: relative;
      z-index: 1;
  }

  .message__menu::before {
      content: '';
      width: 100vw;
      height: 100%;
      display: block;
      background: #1a005d;
      position: absolute;
      top: 0;
      left: 50%;
      margin-left: -50vw;
      z-index: -1;
  }

  .message__menu ul li {
      border-bottom: 1px solid #615289;
      font-size: 14px;
      line-height: 1.4;
      font-weight: bold;
  }

  .message__menu ul li:last-child {
      margin-bottom: 0;
  }

  .message__menu ul li a {
      display: block;
      color: #fff;
      position: relative;
      padding: 15px 0;
  }

  .message__menu ul li a:hover {
      color: #8ec300;
  }

  .message__menu ul li a::after {
      content: '';
      width: 5px;
      height: 10px;
      display: block;
      position: absolute;
      top: 50%;
      right: 2px;
      margin-top: -5px;
      transition: 0.3s;
      background: url(/common/images/icon-arrow__green.svg) no-repeat center;
      background-size: contain;
      -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
      transform: rotate(90deg);
  }

  /*  message__sections
  ------------------------*/

  .message__sections {
    max-width: 560px;
    margin: 0 auto;
  }

  .message__section {
      padding: 56px 0;
      position: relative;
      z-index: 1;
  }

  .message__section:nth-of-type(odd)::before {
      content: '';
      width: 100vw;
      height: 100%;
      display: block;
      background: #f5f5f5;
      position: absolute;
      top: 0;
      left: 50%;
      margin-left: -50vw;
      z-index: -1;
  }

  .message__section .about-linettl {
    letter-spacing: 0;
    margin-bottom: 47px;
	  color: #1a005d;
  }

  .message__sections .message__dl {
      margin-top: 5px;
      margin-bottom: 0;
  }

  /*  section01
  ------------------------*/

  .message__means {
      padding: 0 15px;
  }

  .message__means_item {
      margin-bottom: 35px;
  }

  .message__means_item:last-child {
      margin-bottom: 0;
  }

  .message__means_ttl {
      margin-bottom: 18px;
  }

  .message__means_ttl span {
      display: inline-block;
      position: relative;
  }

  .message__means_item:nth-child(1) .message__means_ttl img {
      width: 51.5px;
  }

  .message__means_item:nth-child(2) .message__means_ttl img {
      width: 62px;
  }

  .message__means_item:nth-child(3) .message__means_ttl img {
      width: 132.5px;
  }

  .message__means_text {
      font-size: 14px;
      color: #000;
      line-height: 1.7;
  }

  /*  section02
  ------------------------*/

  #section02 .about-linettl {
      margin-bottom: 28px;
  }

  .message__thought_text {
      font-size: 14px;
      color: #000;
      line-height: 2.14;
      padding: 0 14px;
  }

  .message__thought_text br {
      display: none;
  }

  .message__thought_logo {
      width: 180.5px;
      margin-top: 35px;
  }

  /*  section03
  ------------------------*/

  .message__interpretation {
      padding: 0 15px;
  }

  .message__interpretation_item {
      margin-bottom: 40px;
  }

  .message__interpretation_item:last-child {
      margin-bottom: 0;
  }

  .message__interpretation_item .charter__item_text {
    line-height: 1.7;
  }

  /*  section04
  ------------------------*/

  #section04 .about-linettl {
      margin-bottom: 27px;
  }

  .message__position_text {
      font-size: 14px;
      font-weight: bold;
      line-height: 2.15;
      color: #000;
      padding: 0 15px;
      margin-bottom: 30px;
  }

  .message__position_img {
      width: 87%;
      margin: 0 auto;
  }

}
