@charset "UTF-8";
/*---------------------------
basic setting
---------------------------*/
@media screen and (min-width: 769px) {
  .sp {
    display: none !important; } }
@media screen and (max-width: 768px) {
  .pc {
    display: none !important; } }
/*---------------------------
下層ページ設定
---------------------------*/
body.single .title, body#confirm .title {
  margin: 120px auto 20px; }
  @media (max-width: 768px) {
    body.single .title, body#confirm .title {
      margin: 80px auto 50px; } }
body.single p, body#confirm p {
  line-height: 1.7; }

@media (max-width: 768px) {
  body#confirm .title {
    font-size: 1rem; } }

body.page .mvimg {
  padding-top: 80px; }
  @media (max-width: 768px) {
    body.page .mvimg {
      padding-top: 60px; } }
  body.page .mvimg img {
    width: 100%;
    height: auto; }
body.page .title {
  color: #45b035;
  text-align: center;
  font-size: 2rem;
  font-weight: normal;
  margin-top: 80px;
  font-weight: bold; }
  @media (max-width: 768px) {
    body.page .title {
      font-size: 5.5vw;
      line-height: 0.7;
      margin-top: 40px; } }
  body.page .title .small {
    font-size: 55%;
    letter-spacing: 0.1em; }
    @media (max-width: 768px) {
      body.page .title .small {
        font-size: 50%; } }
body.page .cts_title {
  text-align: center;
  color: #181878;
  font-size: 2.5rem;
  font-weight: bold;
  margin-top: 20px; }
  @media (max-width: 768px) {
    body.page .cts_title {
      font-size: 8vw;
      margin-top: 3.5vw; } }
body.page .cts_nav {
  margin-top: 80px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-wrap: wrap;
  text-align: center; }
  body.page .cts_nav.company a {
    width: 16.6666%;
    font-size: 1rem; }
    @media (max-width: 768px) {
      body.page .cts_nav.company a {
        width: 33.3333%; } }
  body.page .cts_nav.growth_strategy a {
    font-size: 1.3rem;
    line-height: 1.1;
    letter-spacing: 0.2em;
    height: 4.5rem; }
    body.page .cts_nav.growth_strategy a span {
      font-size: 60%;
      letter-spacing: 0; }
      @media (max-width: 768px) {
        body.page .cts_nav.growth_strategy a span {
          margin-top: 0.5rem; } }
    body.page .cts_nav.growth_strategy a.current {
      height: auto; }
    body.page .cts_nav.growth_strategy a.foms {
      font-size: 1.2rem;
      letter-spacing: 0; }
      @media (max-width: 768px) {
        body.page .cts_nav.growth_strategy a.foms {
          font-size: 0.7rem;
          height: auto;
          min-height: 4.8rem; }
          body.page .cts_nav.growth_strategy a.foms span {
            margin-top: 0.8rem; } }
    @media (max-width: 768px) {
      body.page .cts_nav.growth_strategy a {
        letter-spacing: 0.1em;
        font-size: 0.8rem;
        height: auto;
        min-height: 4.8rem;
        line-height: 1.3; }
        body.page .cts_nav.growth_strategy a.current {
          height: 7em; } }
  body.page .cts_nav.social_responsibility a {
    width: 30%;
    font-size: 1.3rem;
    line-height: 1.1; }
    body.page .cts_nav.social_responsibility a span {
      font-size: 60%;
      letter-spacing: 0; }
    @media (max-width: 768px) {
      body.page .cts_nav.social_responsibility a {
        width: 48%; }
        body.page .cts_nav.social_responsibility a span {
          line-height: 1.2; } }
  @media (max-width: 768px) {
    body.page .cts_nav {
      margin-top: 10vw; } }
  body.page .cts_nav a {
    display: block;
    width: 33.3333%;
    padding: 0.7em 0;
    border-top: 2px solid #181878;
    border-right: 2px solid #181878;
    border-left: 2px solid #181878;
    line-height: 1.5;
    font-size: 1.2rem;
    font-weight: bold; }
    body.page .cts_nav a:hover {
      background-color: #45b035;
      color: #fff; }
    body.page .cts_nav a span {
      font-size: 70%;
      margin-top: 0.5em;
      display: block;
      line-height: 1.2; }
    body.page .cts_nav a.current {
      padding: 1em 0;
      background-color: #181878;
      color: #fff;
      border: 2px solid #181878;
      pointer-events: none; }
      @media (max-width: 768px) {
        body.page .cts_nav a.current {
          padding: 1.1em 0; } }
      body.page .cts_nav a.current ~ a {
        border-left: none; }
    body.page .cts_nav a:has(~ a.current) {
      border-right: none; }
    @media (max-width: 768px) {
      body.page .cts_nav a {
        width: 33.333%;
        font-size: 2.5vw; }
        body.page .cts_nav a:nth-child(4) {
          border-left: 2px solid #181878 !important; }
        body.page .cts_nav a:nth-child(3) {
          border-right: 2px solid #181878 !important; }
        body.page .cts_nav a:nth-child(n+4) {
          margin-top: 1.5em; } }
body.page section h3.subject {
  font-weight: normal;
  color: #181878;
  font-size: 2rem;
  letter-spacing: 0.1em;
  margin-bottom: 0.5em;
  font-weight: bold;
  line-height: 1.5; }
body.page section .cts h3.subject {
  font-weight: normal;
  color: #181878;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  margin-bottom: 0.5em;
  font-weight: bold;
  line-height: 1.5; }

/*NEWS ページ*/
#news .title {
  margin-top: 120px; }
#news .sec01 {
  padding-bottom: 120px; }
  #news .sec01 .title {
    margin-top: 200px;
    color: #181878; }
    @media (max-width: 768px) {
      #news .sec01 .title {
        margin-top: 120px; } }
  #news .sec01 .cts .search_form {
    margin-top: 120px; }
    @media (max-width: 768px) {
      #news .sec01 .cts .search_form {
        margin-top: 60px; } }
    #news .sec01 .cts .search_form .search-box {
      margin-top: 30px; }
      #news .sec01 .cts .search_form .search-box .btnbox_wrap {
        display: flex;
        flex-wrap: wrap; }
        #news .sec01 .cts .search_form .search-box .btnbox_wrap .btnbox {
          display: block;
          border: 2px solid #181878;
          border-bottom: none;
          width: 16.666%; }
          #news .sec01 .cts .search_form .search-box .btnbox_wrap .btnbox:nth-child(n+2) {
            border-left: none; }
          @media (max-width: 768px) {
            #news .sec01 .cts .search_form .search-box .btnbox_wrap .btnbox {
              width: 33.333%; }
              #news .sec01 .cts .search_form .search-box .btnbox_wrap .btnbox:nth-child(4n) {
                border-left: 2px solid #181878; }
              #news .sec01 .cts .search_form .search-box .btnbox_wrap .btnbox:nth-child(n+4) {
                border-top: none; }
              #news .sec01 .cts .search_form .search-box .btnbox_wrap .btnbox:nth-child(-n+3) {
                border-bottom: 2px solid #181878; } }
          #news .sec01 .cts .search_form .search-box .btnbox_wrap .btnbox .radiobutton {
            display: none; }
          #news .sec01 .cts .search_form .search-box .btnbox_wrap .btnbox label {
            text-align: center;
            display: block;
            padding: 0.8em 0;
            font-size: 1rem;
            font-weight: bold; }
          #news .sec01 .cts .search_form .search-box .btnbox_wrap .btnbox .radiobutton:checked + label {
            background-color: #181878;
            color: #fff; }
  #news .sec01 .cts .News_cts {
    margin-top: 160px; }
    @media (max-width: 768px) {
      #news .sec01 .cts .News_cts {
        margin-top: 60px; } }
    #news .sec01 .cts .News_cts .list_item {
      list-style: none; }
      #news .sec01 .cts .News_cts .list_item .box {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        position: relative;
        letter-spacing: 0.1em;
        border-bottom: 1px solid #231815;
        padding: 2em 1%; }
        @media (max-width: 768px) {
          #news .sec01 .cts .News_cts .list_item .box {
            display: block;
            padding: 1.5em 0; } }
        #news .sec01 .cts .News_cts .list_item .box .date {
          font-size: 0.9rem;
          margin: 0;
          width: 12em; }
        #news .sec01 .cts .News_cts .list_item .box .category {
          font-size: 0.9rem;
          padding: 0.1em 0.7em;
          margin: 0 0.5em;
          letter-spacing: 0;
          width: 17em; }
        #news .sec01 .cts .News_cts .list_item .box .article_title {
          font-size: 1rem;
          line-height: 1.3; }
          @media (max-width: 768px) {
            #news .sec01 .cts .News_cts .list_item .box .article_title {
              margin-top: 0.7em; } }
        #news .sec01 .cts .News_cts .list_item .box a {
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          color: #231815; }
          #news .sec01 .cts .News_cts .list_item .box a:link, #news .sec01 .cts .News_cts .list_item .box a:visited {
            color: #231815; }
          #news .sec01 .cts .News_cts .list_item .box a:hover {
            color: orange; }
        #news .sec01 .cts .News_cts .list_item .box .wrap {
          display: flex;
          align-items: center; }
  #news .sec01 .cts .is-hide {
    display: none; }

#contact .sec01 {
  margin-top: 240px; }
  @media (max-width: 768px) {
    #contact .sec01 {
      margin-top: 120px; } }
  #contact .sec01 .formwrap {
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start; }
    @media (max-width: 768px) {
      #contact .sec01 .formwrap {
        display: block; } }
    #contact .sec01 .formwrap .form {
      width: 90%;
      margin: auto; }
      @media (max-width: 768px) {
        #contact .sec01 .formwrap .form {
          width: 100%; }
          #contact .sec01 .formwrap .form:first-child {
            margin-bottom: 100px; } }
      #contact .sec01 .formwrap .form h3 {
        font-size: 1.3rem;
        font-weight: bold;
        text-align: center;
        margin-bottom: 30px;
        color: #181878; }
      #contact .sec01 .formwrap .form .text {
        font-size: 1.1rem;
        line-height: 1.8;
        text-align: center; }
        @media (max-width: 768px) {
          #contact .sec01 .formwrap .form .text {
            font-size: 0.9rem; } }
      #contact .sec01 .formwrap .form .case_box {
        width: 90%;
        margin: 30px auto 0;
        border: 2px solid #181878;
        padding: 4%;
        border-radius: 20px; }
        @media (max-width: 768px) {
          #contact .sec01 .formwrap .form .case_box {
            width: 100%; } }
        #contact .sec01 .formwrap .form .case_box .list_wrap {
          display: flex;
          justify-content: space-between;
          align-items: center; }
          #contact .sec01 .formwrap .form .case_box .list_wrap ul {
            list-style: none; }
            #contact .sec01 .formwrap .form .case_box .list_wrap ul li {
              font-size: 1rem;
              margin-bottom: 8px;
              padding-left: 25px;
              line-height: 1.6em;
              background: url("../images/egg_navy.png") left 0px top 3px no-repeat;
              background-size: 20px auto; }
              #contact .sec01 .formwrap .form .case_box .list_wrap ul li span {
                font-size: 90%; }
              @media (max-width: 768px) {
                #contact .sec01 .formwrap .form .case_box .list_wrap ul li {
                  padding-left: 10%;
                  font-size: 0.7rem;
                  background-size: 10px auto;
                  margin-bottom: 3px; } }
              #contact .sec01 .formwrap .form .case_box .list_wrap ul li:last-child {
                margin-bottom: 0; }
          #contact .sec01 .formwrap .form .case_box .list_wrap img {
            width: 45%;
            height: auto; }
      #contact .sec01 .formwrap .form .block {
        width: 70%;
        margin: 70px auto 0; }
        @media (max-width: 768px) {
          #contact .sec01 .formwrap .form .block {
            width: 100%; } }
        #contact .sec01 .formwrap .form .block .box {
          display: flex;
          margin-bottom: 25px;
          font-size: 1rem; }
          #contact .sec01 .formwrap .form .block .box .kind_block {
            width: 75%;
            vertical-align: middle; }
            @media (max-width: 768px) {
              #contact .sec01 .formwrap .form .block .box .kind_block {
                display: block; } }
            #contact .sec01 .formwrap .form .block .box .kind_block .blockin {
              display: flex;
              align-items: center; }
              @media (max-width: 768px) {
                #contact .sec01 .formwrap .form .block .box .kind_block .blockin {
                  width: 100%; } }
              #contact .sec01 .formwrap .form .block .box .kind_block .blockin input[type="radio"] {
                display: inline-block;
                width: auto;
                width: 0.8em;
                vertical-align: middle;
                height: 1.5em; }
                @media (max-width: 768px) {
                  #contact .sec01 .formwrap .form .block .box .kind_block .blockin input[type="radio"] {
                    width: 0.7em; } }
              #contact .sec01 .formwrap .form .block .box .kind_block .blockin label {
                width: auto;
                text-align: left;
                background: none;
                color: #231815;
                margin-right: 2em;
                font-size: 1rem;
                font-weight: normal; }
                @media (max-width: 768px) {
                  #contact .sec01 .formwrap .form .block .box .kind_block .blockin label {
                    font-size: 0.8rem; } }
          #contact .sec01 .formwrap .form .block .box label {
            display: block;
            width: 25%;
            text-align: center;
            background: #dad6e9;
            color: #181878;
            display: flex;
            justify-content: center;
            align-items: center;
            margin-right: 3%;
            font-size: 0.8rem;
            font-weight: bold; }
            #contact .sec01 .formwrap .form .block .box label .labelin {
              display: block; }
          #contact .sec01 .formwrap .form .block .box input {
            width: 72%;
            display: block;
            height: 2.5rem;
            padding: 0 10px;
            font-size: 1.2rem; }
          #contact .sec01 .formwrap .form .block .box textarea {
            width: 72%;
            height: 180px;
            padding: 10px;
            font-size: 1.2rem; }
      #contact .sec01 .formwrap .form .acceptance {
        text-align: center;
        margin-top: 60px; }
        #contact .sec01 .formwrap .form .acceptance #agree {
          line-height: 1.5;
          margin-top: 5px; }
        @media (max-width: 768px) {
          #contact .sec01 .formwrap .form .acceptance {
            margin-top: 30px;
            font-size: 0.9rem; } }
      #contact .sec01 .formwrap .form .submitbtn {
        margin-top: 30px; }
        #contact .sec01 .formwrap .form .submitbtn input {
          display: block;
          width: 45%;
          margin: auto;
          background-color: #45B035;
          color: #fff;
          padding: 8px 0;
          border: 1px solid #45B035;
          font-size: 0.9rem; }
          @media (max-width: 768px) {
            #contact .sec01 .formwrap .form .submitbtn input {
              width: 100%; } }
          #contact .sec01 .formwrap .form .submitbtn input:hover {
            background-color: #fff;
            color: #45B035;
            transition: 1s; }

/*確認画面*/
#confirm .cts_title {
  font-size: 2rem;
  margin-top: 180px; }
#confirm .text {
  text-align: center;
  margin-top: 100px;
  font-size: 0.9rem; }
  @media (max-width: 768px) {
    #confirm .text {
      margin-top: 50px; } }
#confirm .form {
  width: 60%;
  margin: 100px auto 0;
  font-size: 0.9rem; }
  @media (max-width: 768px) {
    #confirm .form {
      width: 100%;
      margin-top: 50px; } }
  #confirm .form .formTable {
    width: 100%; }
    #confirm .form .formTable tr {
      border-bottom: 1px solid #333; }
      #confirm .form .formTable tr:first-child {
        border-top: 1px solid #333; }
      #confirm .form .formTable tr th {
        font-weight: normal; }
      #confirm .form .formTable tr td {
        padding: 20px 0; }
  #confirm .form .btn_box {
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    #confirm .form .btn_box .btn {
      background-color: #45B035;
      color: #fff;
      padding: 10px 0;
      border: 1px solid #45B035;
      width: 45%;
      margin: 80px 0; }
      #confirm .form .btn_box .btn.back {
        background: gray;
        border: 1px solid gray; }
      #confirm .form .btn_box .btn:hover {
        background-color: #fff;
        color: #45B035;
        transition: 1s; }

/*サンクスページ*/
#thanks .sec {
  text-align: center; }
  #thanks .sec .cts_title {
    font-size: 2rem;
    margin-top: 180px; }
  #thanks .sec .text {
    margin: 6em auto 3em;
    text-align: center; }
  #thanks .sec .btn {
    margin-bottom: 3em; }

/*個人情報保護方針*/
#privacy .sectitle {
  margin-top: 180px;
  text-align: center;
  color: #181878;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em; }
#privacy .title_header {
  margin-top: 100px;
  letter-spacing: 0.1em;
  width: 75%;
  margin: 100px auto 0; }
  @media (max-width: 768px) {
    #privacy .title_header {
      margin-top: 50px; } }
  #privacy .title_header .title {
    font-size: 1.7rem;
    color: #231815;
    color: #181878;
    font-weight: bold; }
  #privacy .title_header .date {
    margin-top: 80px;
    text-align: right;
    font-size: 1.1rem;
    line-height: 1.5; }
    @media (max-width: 768px) {
      #privacy .title_header .date {
        font-size: 0.6rem; } }
#privacy .cts {
  width: 85%;
  margin: 100px auto 0; }
  @media (max-width: 768px) {
    #privacy .cts {
      width: 100%;
      margin-top: 50px; } }
  #privacy .cts .text {
    margin-top: 80px;
    font-size: 1rem;
    line-height: 1.8; }
    @media (max-width: 768px) {
      #privacy .cts .text {
        margin-top: 50px;
        font-size: 0.7rem; } }
    #privacy .cts .text:first-child {
      margin-top: 0; }
  #privacy .cts .address_box {
    margin-top: 50px;
    font-size: 0.9rem;
    line-height: 1.5; }
    @media (max-width: 768px) {
      #privacy .cts .address_box {
        margin-top: 20px;
        width: 100%; } }
    #privacy .cts .address_box .pmark {
      width: 10%; }
      #privacy .cts .address_box .pmark img {
        width: 100%;
        height: auto; }
      @media (max-width: 768px) {
        #privacy .cts .address_box .pmark {
          margin-left: 10px; } }
  #privacy .cts .subtitle {
    color: #231815;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 30px; }
    @media (max-width: 768px) {
      #privacy .cts .subtitle {
        font-size: 0.9rem; } }
    #privacy .cts .subtitle.first {
      margin-top: 0; }
  #privacy .cts ol {
    color: #231815;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 15px; }
    @media (max-width: 768px) {
      #privacy .cts ol {
        font-size: 0.7rem; } }
    #privacy .cts ol li {
      list-style-type: none;
      list-style-position: inside;
      counter-increment: cnt;
      line-height: 1.5;
      margin-top: 10px;
      font-size: 1rem;
      line-height: 1.5; }
      #privacy .cts ol li:first-child {
        margin-top: 0; }
    #privacy .cts ol.list_parentheses li {
      text-indent: -1.5rem;
      padding-left: 1.5rem; }
      #privacy .cts ol.list_parentheses li:before {
        display: marker;
        content: "(" counter(cnt) ") "; }
    #privacy .cts ol.list_lowerAlpha {
      counter-reset: cnt 0; }
      #privacy .cts ol.list_lowerAlpha li {
        text-indent: -1rem;
        padding-left: 1rem;
        counter-increment: cnt 1; }
        #privacy .cts ol.list_lowerAlpha li:before {
          display: marker;
          content: counter(cnt,lower-alpha) ") "; }
    #privacy .cts ol.list_lowerAlpha02 {
      counter-reset: cnt 3; }
      #privacy .cts ol.list_lowerAlpha02 li {
        text-indent: -1rem;
        padding-left: 1rem;
        counter-increment: cnt 1; }
        #privacy .cts ol.list_lowerAlpha02 li:before {
          display: marker;
          content: counter(cnt,lower-alpha) ") "; }
        #privacy .cts ol.list_lowerAlpha02 li .list_parentheses02 {
          counter-reset: cnt 0; }
          #privacy .cts ol.list_lowerAlpha02 li .list_parentheses02 li {
            text-indent: -1rem;
            padding-left: 1rem;
            counter-increment: cnt 1; }
            #privacy .cts ol.list_lowerAlpha02 li .list_parentheses02 li:before {
              display: marker;
              content: counter(cnt,decimal) ") "; }
#privacy .sec02 {
  padding-bottom: 100px; }
  @media (max-width: 768px) {
    #privacy .sec02 {
      padding-bottom: 50px; } }
  #privacy .sec02 .title_header {
    display: block;
    position: inherit; }
    #privacy .sec02 .title_header .title {
      position: inherit; }
  #privacy .sec02 .privacy_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 67%;
    margin: 60px auto 0; }
    @media (max-width: 768px) {
      #privacy .sec02 .privacy_box {
        width: 100%; } }
    #privacy .sec02 .privacy_box .text {
      font-size: 0.9rem; }
      @media (max-width: 768px) {
        #privacy .sec02 .privacy_box .text {
          font-size: 0.7rem; } }
    #privacy .sec02 .privacy_box .pmark {
      width: 10%; }
      #privacy .sec02 .privacy_box .pmark img {
        width: 100%;
        height: auto; }
  #privacy .sec02 .cts {
    width: 85%;
    margin: auto; }
    @media (max-width: 768px) {
      #privacy .sec02 .cts {
        width: 100%; } }
    #privacy .sec02 .cts .text {
      margin-top: 10px; }
    #privacy .sec02 .cts .table {
      margin-top: 20px;
      border: 1px solid #9fa0a0;
      text-align: left;
      font-size: 0.9rem; }
      @media (max-width: 768px) {
        #privacy .sec02 .cts .table {
          width: 100%;
          font-size: 0.7rem; } }
      #privacy .sec02 .cts .table tr th {
        font-weight: normal; }
      #privacy .sec02 .cts .table tr th, #privacy .sec02 .cts .table tr td {
        border: 1px solid #9fa0a0;
        padding: 15px;
        width: 50%;
        line-height: 1.5; }

.page #business .sec01 {
  padding: 100px 0; }
  @media (max-width: 768px) {
    .page #business .sec01 {
      padding: 80px 0 60px; } }
  .page #business .sec01 .cts {
    width: 70%;
    margin: auto; }
    @media (max-width: 768px) {
      .page #business .sec01 .cts {
        width: 100%; } }
    .page #business .sec01 .cts .ctsimg {
      width: 100%;
      height: auto;
      margin-bottom: 60px; }
    .page #business .sec01 .cts .text span {
      font-size: 90%; }
      @media (max-width: 768px) {
        .page #business .sec01 .cts .text span {
          font-size: 2.7vw; } }
    .page #business .sec01 .cts .btn_box {
      text-align: center; }
    .page #business .sec01 .cts .annotation {
      font-size: 50%;
      vertical-align: top; }
    .page #business .sec01 .cts .small {
      font-size: 85%; }

/*月極イノベーション事業*/
#online_system .sec01 {
  padding: 100px 0; }
  @media (max-width: 768px) {
    #online_system .sec01 {
      padding: 80px 0 60px; } }
  #online_system .sec01 .cts {
    width: 70%;
    margin: auto; }
    @media (max-width: 768px) {
      #online_system .sec01 .cts {
        width: 100%; } }
    #online_system .sec01 .cts .ctsimg {
      width: 100%;
      height: auto;
      margin-bottom: 60px; }
    #online_system .sec01 .cts .text span {
      font-size: 90%; }
      @media (max-width: 768px) {
        #online_system .sec01 .cts .text span {
          font-size: 2.7vw; } }

#site_and_service .sec01 .cts h3.subject {
  display: inline-block; }
  @media (max-width: 768px) {
    #site_and_service .sec01 .cts h3.subject {
      display: block; } }
  #site_and_service .sec01 .cts h3.subject .annotation {
    font-size: 80%;
    vertical-align: top; }
  #site_and_service .sec01 .cts h3.subject .caption {
    text-align: right;
    font-size: 0.8rem; }
#site_and_service .sec01 .cts .text span {
  font-size: 90%; }
  @media (max-width: 768px) {
    #site_and_service .sec01 .cts .text span {
      font-size: 2.7vw; } }
#site_and_service .sec01 .cts .text .annotation {
  font-size: 80%;
  vertical-align: top; }
#site_and_service .sec01 .cts .text .small {
  font-size: 85%; }

#business.buildingdiv h3.subject {
  text-align: center;
  color: #181878;
  margin-bottom: 0.5em;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0; }
#business.buildingdiv .small {
  margin-top: 3em; }

#sitemap h2.title {
  margin: 10vw 0 8vw;
  color: #181878; }
  @media (max-width: 768px) {
    #sitemap h2.title {
      margin: 120px 0 60px; } }
#sitemap .sec01 .cts {
  width: 85%;
  margin: auto; }
  @media (max-width: 768px) {
    #sitemap .sec01 .cts {
      margin-bottom: 30vw; } }
  #sitemap .sec01 .cts .toppage {
    letter-spacing: 0.1em;
    font-size: 1.2rem;
    position: relative;
    margin-bottom: 40px;
    padding-bottom: 1em; }
    #sitemap .sec01 .cts .toppage:after {
      content: '';
      position: absolute;
      display: block;
      width: 2px;
      left: 3%;
      bottom: -40px;
      height: 40px;
      background-color: #181878; }
  #sitemap .sec01 .cts .box_wrap {
    display: flex;
    padding-left: 3%; }
    @media (max-width: 768px) {
      #sitemap .sec01 .cts .box_wrap {
        display: block; } }
    #sitemap .sec01 .cts .box_wrap .box {
      width: 50%; }
      @media (max-width: 768px) {
        #sitemap .sec01 .cts .box_wrap .box {
          width: 100%; } }
      #sitemap .sec01 .cts .box_wrap .box.box_left .block00 {
        height: 70px;
        border-top: 2px solid #181878; }
        @media (max-width: 768px) {
          #sitemap .sec01 .cts .box_wrap .box.box_left .block00 {
            height: 50px;
            border-top: none; } }
        #sitemap .sec01 .cts .box_wrap .box.box_left .block00:before {
          content: none; }
      #sitemap .sec01 .cts .box_wrap .box.box_right .block00 {
        height: 70px; }
        #sitemap .sec01 .cts .box_wrap .box.box_right .block00:before {
          content: none; }
      #sitemap .sec01 .cts .box_wrap .box.box_right .block03 .nav_parent, #sitemap .sec01 .cts .box_wrap .box.box_right .block04 .nav_parent, #sitemap .sec01 .cts .box_wrap .box.box_right .block05 .nav_parent {
        margin-bottom: 2em; }
      @media (max-width: 768px) {
        #sitemap .sec01 .cts .box_wrap .box.box_right .block:last-child:after {
          height: 20px; } }
      #sitemap .sec01 .cts .box_wrap .box .block {
        position: relative;
        padding-left: 30px;
        padding-bottom: 30px;
        letter-spacing: .1em; }
        #sitemap .sec01 .cts .box_wrap .box .block:before {
          content: '';
          position: absolute;
          width: 30px;
          height: 2px;
          background-color: #181878;
          left: 0;
          top: 20px;
          margin: auto; }
        #sitemap .sec01 .cts .box_wrap .box .block:after {
          content: '';
          position: absolute;
          width: 2px;
          height: 100%;
          top: 0;
          bottom: 0;
          left: 0;
          background-color: #181878; }
        #sitemap .sec01 .cts .box_wrap .box .block:last-child:after {
          height: 20px; }
          @media (max-width: 768px) {
            #sitemap .sec01 .cts .box_wrap .box .block:last-child:after {
              height: 100%; } }
        #sitemap .sec01 .cts .box_wrap .box .block .division {
          display: inline-block;
          margin-top: 1.5em;
          color: #231815;
          font-size: 1.2rem;
          font-size: 1.2rem;
          padding-left: 15px; }
          @media (max-width: 768px) {
            #sitemap .sec01 .cts .box_wrap .box .block .division {
              font-size: 4vw; } }
          #sitemap .sec01 .cts .box_wrap .box .block .division:hover {
            color: #45b035; }
        #sitemap .sec01 .cts .box_wrap .box .block .nav_parent {
          display: flex;
          align-items: center;
          justify-content: flex-start;
          width: 67%;
          height: 40px;
          padding-left: 3%;
          background-color: #181878;
          color: #fff;
          position: relative; }
          @media (max-width: 768px) {
            #sitemap .sec01 .cts .box_wrap .box .block .nav_parent {
              width: 85%; }
              #sitemap .sec01 .cts .box_wrap .box .block .nav_parent.ir_sp {
                margin-bottom: 2em; } }
          #sitemap .sec01 .cts .box_wrap .box .block .nav_parent:hover {
            background: #45b035;
            border-color: #45b035;
            color: #fff; }
        #sitemap .sec01 .cts .box_wrap .box .block ul {
          margin-top: 15px;
          padding-left: 15px; }
          #sitemap .sec01 .cts .box_wrap .box .block ul.no-left-padding {
            padding-left: 0; }
          #sitemap .sec01 .cts .box_wrap .box .block ul li {
            color: #231815;
            margin-top: 0.5em;
            line-height: 1.1; }
            #sitemap .sec01 .cts .box_wrap .box .block ul li:before {
              background-color: #45b035; }
            #sitemap .sec01 .cts .box_wrap .box .block ul li a {
              color: #231815;
              font-size: 1rem; }
              @media (max-width: 768px) {
                #sitemap .sec01 .cts .box_wrap .box .block ul li a {
                  font-size: 3.3vw; } }
              #sitemap .sec01 .cts .box_wrap .box .block ul li a .small {
                display: inline-block;
                font-size: 85%;
                margin-top: 0.5em; }
              #sitemap .sec01 .cts .box_wrap .box .block ul li a:hover {
                color: #45b035; }
          #sitemap .sec01 .cts .box_wrap .box .block ul.ir_list {
            margin-bottom: 3em; }
            #sitemap .sec01 .cts .box_wrap .box .block ul.ir_list li {
              margin-top: 1em; }
              #sitemap .sec01 .cts .box_wrap .box .block ul.ir_list li a {
                font-size: 0.7rem; }
                #sitemap .sec01 .cts .box_wrap .box .block ul.ir_list li a.subject {
                  display: inline-block;
                  font-size: 1.1rem;
                  margin-bottom: 5px; }

/*---------------------------
GROWTH STRATEGY
---------------------------*/
/*GROWTH STRATEGY 共通設定*/
.page #growth_strategy .cts_title {
  margin-top: 120px;
  color: #45b035; }
  @media (max-width: 768px) {
    .page #growth_strategy .cts_title {
      margin-top: 60px; } }
.page #growth_strategy .sec01 {
  padding: 100px 0; }
  @media (max-width: 768px) {
    .page #growth_strategy .sec01 {
      padding: 80px 0 100px; } }
  .page #growth_strategy .sec01 .cts {
    width: 80%;
    margin: 120px auto 0; }
    @media (max-width: 768px) {
      .page #growth_strategy .sec01 .cts {
        width: 100%; } }
    .page #growth_strategy .sec01 .cts:first-child {
      margin-top: 0; }
    .page #growth_strategy .sec01 .cts .subject {
      font-size: 1.5rem;
      margin-bottom: 1em; }
      @media (max-width: 768px) {
        .page #growth_strategy .sec01 .cts .subject {
          text-align: center;
          font-size: 5.2vw;
          letter-spacing: 0; } }
    .page #growth_strategy .sec01 .cts .ctsimg {
      width: 100%;
      height: auto;
      margin-bottom: 60px; }
      .page #growth_strategy .sec01 .cts .ctsimg.mt60 {
        margin-top: 60px; }
    .page #growth_strategy .sec01 .cts .text span {
      font-size: 90%; }
      @media (max-width: 768px) {
        .page #growth_strategy .sec01 .cts .text span {
          font-size: 2.7vw; } }

/*---------------------------
SOCIAL RESPONSIBILITY
---------------------------*/
/*SOCIAL RESPONSIBILITY 共通設定*/
#sdgs .cts_title {
  color: #45b035;
  margin-top: 120px; }
  @media (max-width: 768px) {
    #sdgs .cts_title {
      margin-top: 60px; } }
#sdgs .sec01 {
  padding: 100px 0; }
  @media (max-width: 768px) {
    #sdgs .sec01 {
      padding: 80px 0 100px; } }
  #sdgs .sec01 .cts {
    width: 85%;
    margin: 120px auto 0;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media (max-width: 768px) {
      #sdgs .sec01 .cts {
        width: 100%;
        display: block; } }
    #sdgs .sec01 .cts .imgbox {
      width: 50%;
      display: flex;
      justify-content: center;
      align-items: center; }
      @media (max-width: 768px) {
        #sdgs .sec01 .cts .imgbox {
          width: 100%;
          margin-bottom: 2em; } }
      #sdgs .sec01 .cts .imgbox .ctsimg {
        height: auto; }
        #sdgs .sec01 .cts .imgbox .ctsimg.big {
          width: 80%; }
        #sdgs .sec01 .cts .imgbox .ctsimg.small {
          width: 40%; }
    #sdgs .sec01 .cts .text {
      width: 50%;
      line-height: 2;
      font-size: 1.2rem; }
      @media (max-width: 768px) {
        #sdgs .sec01 .cts .text {
          width: 100%;
          font-size: 1rem; } }
      #sdgs .sec01 .cts .text span {
        font-size: 90%; }
        @media (max-width: 768px) {
          #sdgs .sec01 .cts .text span {
            font-size: 2.7vw; } }
  #sdgs .sec01 .text.last {
    width: 79%;
    margin: 80px auto 0 14%; }
    @media (max-width: 768px) {
      #sdgs .sec01 .text.last {
        width: 100%;
        margin: 80px auto; } }

#esg .cts_title {
  color: #45b035;
  margin-top: 120px; }
#esg .sec01 {
  margin-top: 120px;
  padding-bottom: 80px; }
  #esg .sec01 .cts {
    width: 75%;
    margin: auto; }
    #esg .sec01 .cts .ctsimg {
      width: 100%;
      height: auto; }
  #esg .sec01 .text {
    font-size: 1.2rem;
    line-height: 2;
    margin-top: 60px;
    text-align: center; }
    @media (max-width: 768px) {
      #esg .sec01 .text {
        text-align: justify;
        font-size: 1rem; } }

/*---------------------------
COMPANY
---------------------------*/
/*company 共通設定*/
.page #company .subject {
  border-bottom: 2px solid #181878;
  text-align: center;
  margin-top: 160px;
  padding-bottom: 0.3em;
  font-size: 1.4rem;
  color: #181878; }
  @media (max-width: 768px) {
    .page #company .subject {
      margin-top: 80px; } }
  .page #company .subject.mini {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
    font-style: italic; }
    .page #company .subject.mini .small {
      font-size: 75%;
      font-style: normal;
      margin-left: 0.5em;
      font-weight: normal; }
  .page #company .subject .small {
    font-size: 50%; }

#philosophies #company h3.subject {
  line-height: 0.8;
  padding-bottom: 1em;
  margin-top: 80px; }
  #philosophies #company h3.subject.left {
    text-align: left; }
    @media (max-width: 768px) {
      #philosophies #company h3.subject.left {
        text-align: center; } }
  @media (max-width: 768px) {
    #philosophies #company h3.subject.sec {
      width: 100%; } }
#philosophies .sec01 .cts .box, #philosophies .sec02 .cts .box {
  width: 85%;
  margin: 80px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start; }
  @media (max-width: 768px) {
    #philosophies .sec01 .cts .box, #philosophies .sec02 .cts .box {
      display: block;
      width: 90%;
      margin-top: 3em; } }
  #philosophies .sec01 .cts .box .img_block, #philosophies .sec02 .cts .box .img_block {
    width: 47%; }
    @media (max-width: 768px) {
      #philosophies .sec01 .cts .box .img_block, #philosophies .sec02 .cts .box .img_block {
        width: 100%; } }
    #philosophies .sec01 .cts .box .img_block img, #philosophies .sec02 .cts .box .img_block img {
      width: 100%;
      height: auto; }
  #philosophies .sec01 .cts .box .text_block, #philosophies .sec02 .cts .box .text_block {
    width: 47%; }
    @media (max-width: 768px) {
      #philosophies .sec01 .cts .box .text_block, #philosophies .sec02 .cts .box .text_block {
        width: 100%; } }
    #philosophies .sec01 .cts .box .text_block .logo, #philosophies .sec02 .cts .box .text_block .logo {
      width: 80%;
      height: auto;
      margin-bottom: 2em; }
      @media (max-width: 768px) {
        #philosophies .sec01 .cts .box .text_block .logo, #philosophies .sec02 .cts .box .text_block .logo {
          margin-top: 2em; } }
    #philosophies .sec01 .cts .box .text_block .text, #philosophies .sec02 .cts .box .text_block .text {
      font-size: 0.9rem;
      line-height: 2; }
      @media (max-width: 768px) {
        #philosophies .sec01 .cts .box .text_block .text, #philosophies .sec02 .cts .box .text_block .text {
          margin-top: 3em;
          font-size: 3.7vw; }
          #philosophies .sec01 .cts .box .text_block .text.align_center, #philosophies .sec02 .cts .box .text_block .text.align_center {
            text-align: center; } }
#philosophies .sec03 .cts {
  text-align: center;
  letter-spacing: 0.1em; }
  #philosophies .sec03 .cts .logo {
    width: 50%;
    height: auto;
    margin-top: 60px; }
  #philosophies .sec03 .cts .text {
    font-weight: bold;
    margin-top: 1em; }
#philosophies .sec04 {
  padding-bottom: 100px; }
  #philosophies .sec04 .cts {
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 40px; }
    #philosophies .sec04 .cts .copy {
      font-size: 2.6rem;
      font-weight: 900;
      color: #181878; }
      @media (max-width: 768px) {
        #philosophies .sec04 .cts .copy {
          font-size: 7.5vw; } }
    #philosophies .sec04 .cts .text {
      margin-top: 1em;
      font-weight: bold; }
      @media (max-width: 768px) {
        #philosophies .sec04 .cts .text {
          line-height: 2; } }
    #philosophies .sec04 .cts span[data-ruby] {
      position: relative; }
      #philosophies .sec04 .cts span[data-ruby]:before {
        content: attr(data-ruby);
        position: absolute;
        top: -1.2em;
        left: 0;
        right: 0;
        margin: auto;
        font-size: 60%; }
#philosophies .sec05 {
  padding-bottom: 160px; }
  #philosophies .sec05 h3.subject.mini {
    justify-content: flex-start; }
    @media (max-width: 768px) {
      #philosophies .sec05 h3.subject.mini {
        justify-content: center; } }
  #philosophies .sec05 .cts {
    position: relative;
    letter-spacing: 0.1em;
    margin-top: 40px; }
    @media (max-width: 768px) {
      #philosophies .sec05 .cts {
        margin-top: 80px;
        width: 100%; } }
    #philosophies .sec05 .cts .copy {
      font-size: 2.6rem;
      font-weight: 900;
      color: #181878;
      position: relative;
      z-index: 100; }
      @media (max-width: 768px) {
        #philosophies .sec05 .cts .copy {
          padding-left: 5%;
          font-size: 8vw;
          line-height: 1.4; } }
    #philosophies .sec05 .cts .text {
      margin-top: 1em;
      font-weight: bold; }
      @media (max-width: 768px) {
        #philosophies .sec05 .cts .text {
          margin-top: 25vw;
          text-align: center; } }
    #philosophies .sec05 .cts .cts_img {
      position: absolute;
      width: 53%;
      height: auto;
      right: 0;
      top: -45%;
      z-index: 10; }
      @media (max-width: 768px) {
        #philosophies .sec05 .cts .cts_img {
          width: 60%;
          top: -20px; } }
#philosophies .sec06 {
  padding-bottom: 180px; }
  #philosophies .sec06 .cts {
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 40px; }
    #philosophies .sec06 .cts .copy {
      font-size: 2rem;
      font-weight: 900;
      color: #181878; }
      @media (max-width: 768px) {
        #philosophies .sec06 .cts .copy {
          font-size: 6vw;
          line-height: 1.3; } }
    #philosophies .sec06 .cts .copy_en {
      font-size: 0.8rem;
      font-weight: bold;
      margin-top: 2em; }
      @media (max-width: 768px) {
        #philosophies .sec06 .cts .copy_en {
          font-size: 2vw; } }
    #philosophies .sec06 .cts .text {
      margin-top: 3em;
      font-weight: bold; }
    #philosophies .sec06 .cts .cts_img {
      width: 100%;
      height: auto;
      margin-top: 100px; }
      @media (max-width: 768px) {
        #philosophies .sec06 .cts .cts_img {
          margin-top: 60px; } }

#message .sec01 {
  padding-bottom: 200px; }
  @media (max-width: 768px) {
    #message .sec01 {
      width: 100%; } }
  #message .sec01 .cts {
    width: 70%;
    margin: 160px auto 0; }
    @media (max-width: 768px) {
      #message .sec01 .cts {
        width: 100%; } }
    #message .sec01 .cts .ctsimg {
      width: 100%;
      height: auto; }
    #message .sec01 .cts .name_box {
      display: flex;
      justify-content: space-between;
      margin-top: 1em; }
      @media (max-width: 768px) {
        #message .sec01 .cts .name_box {
          width: 98%;
          margin: auto; } }
      #message .sec01 .cts .name_box .profile {
        line-height: 1.5;
        font-size: 0.9rem;
        letter-spacing: 0.1em; }
        #message .sec01 .cts .name_box .profile:last-child {
          text-align: right; }
    #message .sec01 .cts .text {
      font-size: 0.9rem;
      line-height: 2;
      margin-top: 2em; }
      @media (max-width: 768px) {
        #message .sec01 .cts .text {
          width: 90%;
          margin: 2em auto 0; } }

#officers .sec01 {
  padding-bottom: 120px; }
  #officers .sec01 .cts .box_wrap {
    width: 80%;
    margin: 80px auto 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media (max-width: 768px) {
      #officers .sec01 .cts .box_wrap {
        width: 90%;
        margin-top: 60px; } }
    #officers .sec01 .cts .box_wrap.box_wrap02 .box, #officers .sec01 .cts .box_wrap.box_wrap03 .box {
      width: 20%; }
      @media (max-width: 768px) {
        #officers .sec01 .cts .box_wrap.box_wrap02 .box, #officers .sec01 .cts .box_wrap.box_wrap03 .box {
          width: 47%; } }
      #officers .sec01 .cts .box_wrap.box_wrap02 .box .name .small, #officers .sec01 .cts .box_wrap.box_wrap03 .box .name .small {
        font-size: 0.6rem; }
      #officers .sec01 .cts .box_wrap.box_wrap02 .box .name .small02, #officers .sec01 .cts .box_wrap.box_wrap03 .box .name .small02 {
        font-size: 40%;
        margin-bottom: 0; }
    #officers .sec01 .cts .box_wrap.box_wrap03 {
      width: 40%; }
      @media (max-width: 768px) {
        #officers .sec01 .cts .box_wrap.box_wrap03 {
          width: 100%; } }
      #officers .sec01 .cts .box_wrap.box_wrap03 .box {
        width: 45%; }
        @media (max-width: 768px) {
          #officers .sec01 .cts .box_wrap.box_wrap03 .box {
            width: 47%; } }
        #officers .sec01 .cts .box_wrap.box_wrap03 .box .name .small {
          line-height: 1.2; }
    #officers .sec01 .cts .box_wrap .box {
      width: 25%;
      position: relative;
      letter-spacing: 0.1em; }
      @media (max-width: 768px) {
        #officers .sec01 .cts .box_wrap .box {
          width: 47%; }
          #officers .sec01 .cts .box_wrap .box.box03 {
            margin-top: 3em; }
          #officers .sec01 .cts .box_wrap .box.box04 {
            margin-top: 3em; } }
      #officers .sec01 .cts .box_wrap .box img {
        width: 100%;
        height: auto;
        margin-top: 3px; }
        @media (max-width: 768px) {
          #officers .sec01 .cts .box_wrap .box img {
            margin-top: 0.3em; } }
      #officers .sec01 .cts .box_wrap .box .name {
        font-size: 1.5rem;
        text-align: center;
        color: #231815;
        font-weight: bold;
        margin-bottom: 0.5em;
        line-height: 0.8; }
        @media (max-width: 768px) {
          #officers .sec01 .cts .box_wrap .box .name {
            font-size: 1.4rem; } }
        #officers .sec01 .cts .box_wrap .box .name .small {
          display: block;
          font-size: 0.6rem;
          margin-bottom: 1.2em;
          font-feature-settings: "palt"; }
          @media (max-width: 768px) {
            #officers .sec01 .cts .box_wrap .box .name .small {
              font-size: 0.6rem; } }
        #officers .sec01 .cts .box_wrap .box .name .small02 {
          font-size: 40%;
          margin-bottom: 0; }
      #officers .sec01 .cts .box_wrap .box .btn_profile {
        border: 2px solid #181878;
        text-align: center;
        padding: 0.2em 0;
        border-radius: 50px;
        width: 80%;
        margin: 1em auto 0;
        font-size: 0.8rem;
        letter-spacing: 0.1em; }
        #officers .sec01 .cts .box_wrap .box .btn_profile span {
          display: flex;
          align-items: center;
          justify-content: center; }
          #officers .sec01 .cts .box_wrap .box .btn_profile span:before {
            display: block;
            content: '';
            width: 0.7em;
            height: 0.7em;
            background-color: #45b035;
            left: 0;
            top: 0;
            border-radius: 100%;
            margin-right: 0.3em; }
      #officers .sec01 .cts .box_wrap .box a.modal {
        border: 2px solid #181878;
        text-align: center;
        padding: 0.2em 0;
        border-radius: 50px;
        display: block;
        width: 80%;
        margin: 1em auto 0;
        font-size: 0.8rem;
        letter-spacing: 0.1em; }
        @media (max-width: 768px) {
          #officers .sec01 .cts .box_wrap .box a.modal {
            font-size: 0.7rem;
            padding: 0.1em 0; } }
        #officers .sec01 .cts .box_wrap .box a.modal:hover {
          background-color: #45b035;
          border-color: #45b035; }
          #officers .sec01 .cts .box_wrap .box a.modal:hover span {
            color: #fff; }
            #officers .sec01 .cts .box_wrap .box a.modal:hover span:before {
              background-color: #fff; }
        #officers .sec01 .cts .box_wrap .box a.modal span {
          display: flex;
          align-items: center;
          justify-content: center; }
          #officers .sec01 .cts .box_wrap .box a.modal span:before {
            display: block;
            content: '';
            width: 0.7em;
            height: 0.7em;
            background-color: #45b035;
            left: 0;
            top: 0;
            border-radius: 100%;
            margin-right: 0.3em; }
    #officers .sec01 .cts .box_wrap .modalbox {
      display: none; }
  #officers .sec01 .cts .block_title {
    text-align: center;
    font-size: 1.2rem;
    color: #bfc0c0;
    margin-top: 160px;
    font-weight: normal; }
    @media (max-width: 768px) {
      #officers .sec01 .cts .block_title {
        margin-top: 80px; } }

.modaal-container {
  max-width: 750px;
  width: 70%; }
  @media (max-width: 768px) {
    .modaal-container {
      width: 100%; } }
  @media (max-width: 768px) {
    .modaal-container .modaal-content-container {
      padding: 20px; } }
  .modaal-container .modaal-content-container .inbox_wrap {
    display: flex;
    justify-content: space-between;
    align-content: flex-start;
    padding: 8%; }
    @media (max-width: 768px) {
      .modaal-container .modaal-content-container .inbox_wrap {
        padding: 0;
        display: block; } }
    .modaal-container .modaal-content-container .inbox_wrap .inbox01 {
      width: 30%;
      letter-spacing: 0.1em; }
      @media (max-width: 768px) {
        .modaal-container .modaal-content-container .inbox_wrap .inbox01 {
          display: flex;
          align-items: center;
          width: 100%; } }
      .modaal-container .modaal-content-container .inbox_wrap .inbox01 img {
        width: 100%;
        height: auto; }
        @media (max-width: 768px) {
          .modaal-container .modaal-content-container .inbox_wrap .inbox01 img {
            width: 45%;
            margin-right: 8%; } }
      .modaal-container .modaal-content-container .inbox_wrap .inbox01 .name {
        font-size: 1.3rem;
        text-align: center;
        color: #231815;
        margin-top: 1rem;
        font-weight: bold; }
        .modaal-container .modaal-content-container .inbox_wrap .inbox01 .name .small {
          display: block;
          font-size: 40%; }
          @media (max-width: 768px) {
            .modaal-container .modaal-content-container .inbox_wrap .inbox01 .name .small {
              font-size: 0.5rem; } }
          .modaal-container .modaal-content-container .inbox_wrap .inbox01 .name .small.position {
            margin-bottom: 5px; }
          .modaal-container .modaal-content-container .inbox_wrap .inbox01 .name .small.kana {
            margin-top: 5px; }
      .modaal-container .modaal-content-container .inbox_wrap .inbox01.textonly {
        width: 100%; }
        @media (max-width: 768px) {
          .modaal-container .modaal-content-container .inbox_wrap .inbox01.textonly {
            display: block; } }
        .modaal-container .modaal-content-container .inbox_wrap .inbox01.textonly .name {
          text-align: left; }
        .modaal-container .modaal-content-container .inbox_wrap .inbox01.textonly .profile {
          margin-top: 2rem;
          font-size: 0.8rem;
          line-height: 1.5; }
          .modaal-container .modaal-content-container .inbox_wrap .inbox01.textonly .profile .square_list li {
            color: #231815;
            padding-left: 1.5em; }
            .modaal-container .modaal-content-container .inbox_wrap .inbox01.textonly .profile .square_list li:before {
              background-color: #231815; }
            @media (max-width: 768px) {
              .modaal-container .modaal-content-container .inbox_wrap .inbox01.textonly .profile .square_list li {
                font-size: 0.8rem; } }
        .modaal-container .modaal-content-container .inbox_wrap .inbox01.textonly .text {
          margin-top: 20px;
          text-align: justify;
          text-justify: inter-ideograph; }
    .modaal-container .modaal-content-container .inbox_wrap .inbox02 {
      width: 65%; }
      @media (max-width: 768px) {
        .modaal-container .modaal-content-container .inbox_wrap .inbox02 {
          width: 100%;
          margin-top: 1em; } }
      .modaal-container .modaal-content-container .inbox_wrap .inbox02 .profile {
        font-size: 0.8rem;
        line-height: 1.5; }
        .modaal-container .modaal-content-container .inbox_wrap .inbox02 .profile .square_list {
          margin-top: 0.5em; }
          .modaal-container .modaal-content-container .inbox_wrap .inbox02 .profile .square_list li {
            color: #231815; }
            .modaal-container .modaal-content-container .inbox_wrap .inbox02 .profile .square_list li:before {
              background-color: #231815; }
        @media (max-width: 768px) {
          .modaal-container .modaal-content-container .inbox_wrap .inbox02 .profile {
            font-size: 0.8rem; } }
      .modaal-container .modaal-content-container .inbox_wrap .inbox02 .text {
        font-size: 0.9rem;
        margin-top: 50px;
        text-align: justify;
        text-justify: inter-ideograph; }
        @media (max-width: 768px) {
          .modaal-container .modaal-content-container .inbox_wrap .inbox02 .text {
            margin-top: 1rem;
            font-size: 0.9rem; } }
  .modaal-container .modaal-close:hover:before, .modaal-container .modaal-close:hover:after {
    background: #45B035; }

#profile .sec01 {
  padding-bottom: 120px; }
  #profile .sec01 .cts dl {
    width: 74%;
    margin: 100px auto 0;
    line-height: 1.8;
    font-size: 1rem;
    letter-spacing: 0.1rem; }
    @media (max-width: 768px) {
      #profile .sec01 .cts dl {
        width: 100%;
        font-size: 0.9rem;
        letter-spacing: normal;
        line-height: 1.5; } }
    #profile .sec01 .cts dl .row {
      display: flex;
      align-items: flex-start;
      border-bottom: 1px solid #dcdddd;
      padding: 30px 0; }
      #profile .sec01 .cts dl .row.last {
        border-bottom: none; }
      @media (max-width: 768px) {
        #profile .sec01 .cts dl .row {
          padding: 20px 0; } }
      #profile .sec01 .cts dl .row dt {
        width: 20%;
        color: #181878; }
        @media (max-width: 768px) {
          #profile .sec01 .cts dl .row dt {
            width: 30%;
            letter-spacing: 0; } }
      #profile .sec01 .cts dl .row dd {
        width: 90%; }
        @media (max-width: 768px) {
          #profile .sec01 .cts dl .row dd {
            font-size: 0.9rem; }
            #profile .sec01 .cts dl .row dd.cname {
              font-size: 1.1rem;
              line-height: 1.2; }
              #profile .sec01 .cts dl .row dd.cname .small {
                font-size: 75%; } }
        #profile .sec01 .cts dl .row dd.place span.name {
          font-weight: bold; }
        @media (max-width: 768px) {
          #profile .sec01 .cts dl .row dd.place {
            font-size: 0.8rem; }
            #profile .sec01 .cts dl .row dd.place span.name {
              display: block;
              font-size: 0.9rem;
              margin-top: 5px; }
              #profile .sec01 .cts dl .row dd.place span.name:first-child {
                margin-top: 0; } }
        #profile .sec01 .cts dl .row dd.officer {
          display: flex;
          align-items: flex-start; }
          #profile .sec01 .cts dl .row dd.officer .box01 {
            width: 40%;
            letter-spacing: 0; }
            @media (max-width: 768px) {
              #profile .sec01 .cts dl .row dd.officer .box01 {
                width: 100%; }
                #profile .sec01 .cts dl .row dd.officer .box01 .position {
                  font-size: 0.7rem;
                  margin-top: 1em; }
                  #profile .sec01 .cts dl .row dd.officer .box01 .position:first-child {
                    margin-top: 0; }
                #profile .sec01 .cts dl .row dd.officer .box01 .name {
                  font-size: 0.9rem; }
                  #profile .sec01 .cts dl .row dd.officer .box01 .name .small {
                    font-size: 70%; } }
          #profile .sec01 .cts dl .row dd.officer .box02 {
            width: 70%; }
            #profile .sec01 .cts dl .row dd.officer .box02 .small {
              font-size: 0.9rem; }
              @media (max-width: 768px) {
                #profile .sec01 .cts dl .row dd.officer .box02 .small {
                  font-size: 0.5rem; } }
        #profile .sec01 .cts dl .row dd.businessDescription .block {
          margin-top: 80px; }
          @media (max-width: 768px) {
            #profile .sec01 .cts dl .row dd.businessDescription .block {
              margin-top: 40px; } }
          #profile .sec01 .cts dl .row dd.businessDescription .block:first-child {
            margin-top: 0; }
          #profile .sec01 .cts dl .row dd.businessDescription .block .serviceTitle {
            font-size: 1.3rem;
            font-weight: bold; }
            #profile .sec01 .cts dl .row dd.businessDescription .block .serviceTitle.tsukigime {
              color: #181878; }
            #profile .sec01 .cts dl .row dd.businessDescription .block .serviceTitle.building {
              color: #8e845d; }
            @media (max-width: 768px) {
              #profile .sec01 .cts dl .row dd.businessDescription .block .serviceTitle {
                font-size: 0.8rem; } }
          #profile .sec01 .cts dl .row dd.businessDescription .block .box {
            margin-top: 15px; }
            #profile .sec01 .cts dl .row dd.businessDescription .block .box .copy {
              font-size: 1rem; }
              @media (max-width: 768px) {
                #profile .sec01 .cts dl .row dd.businessDescription .block .box .copy {
                  font-size: 0.8rem; } }
            #profile .sec01 .cts dl .row dd.businessDescription .block .box .serviceName {
              font-size: 1.2rem;
              color: #181878;
              margin-top: 2px;
              font-weight: bold; }
              #profile .sec01 .cts dl .row dd.businessDescription .block .box .serviceName.tsukigime {
                color: #181878; }
              #profile .sec01 .cts dl .row dd.businessDescription .block .box .serviceName.building {
                color: #8e845d; }
              @media (max-width: 768px) {
                #profile .sec01 .cts dl .row dd.businessDescription .block .box .serviceName {
                  font-size: 0.9rem; } }
            #profile .sec01 .cts dl .row dd.businessDescription .block .box .gotoLink {
              margin-top: 10px;
              font-size: 0.8rem;
              display: block;
              width: 40%;
              padding: 1px 0;
              text-align: center;
              border-radius: 8px;
              display: flex;
              align-items: center;
              justify-content: center;
              font-weight: bold; }
              #profile .sec01 .cts dl .row dd.businessDescription .block .box .gotoLink:after {
                content: '▶︎';
                display: block;
                margin-left: 0.3em;
                font-size: 90%; }
              #profile .sec01 .cts dl .row dd.businessDescription .block .box .gotoLink.tsukigime {
                color: #181878;
                background-color: #cdc8e1; }
                #profile .sec01 .cts dl .row dd.businessDescription .block .box .gotoLink.tsukigime:link, #profile .sec01 .cts dl .row dd.businessDescription .block .box .gotoLink.tsukigime:visited {
                  color: #181878; }
                #profile .sec01 .cts dl .row dd.businessDescription .block .box .gotoLink.tsukigime:hover {
                  background-color: #181878;
                  color: #fff; }
              #profile .sec01 .cts dl .row dd.businessDescription .block .box .gotoLink.building {
                color: #8e845d;
                background-color: #efece6; }
                #profile .sec01 .cts dl .row dd.businessDescription .block .box .gotoLink.building:link, #profile .sec01 .cts dl .row dd.businessDescription .block .box .gotoLink.building:visited {
                  color: #8e845d; }
                #profile .sec01 .cts dl .row dd.businessDescription .block .box .gotoLink.building:hover {
                  background-color: #8e845d;
                  color: #fff; }
              @media (max-width: 768px) {
                #profile .sec01 .cts dl .row dd.businessDescription .block .box .gotoLink {
                  font-size: 0.5rem;
                  width: 60%;
                  padding: 0.3em 0;
                  margin-top: 5px; } }
              #profile .sec01 .cts dl .row dd.businessDescription .block .box .gotoLink:link, #profile .sec01 .cts dl .row dd.businessDescription .block .box .gotoLink:visited {
                color: #181878; }
              #profile .sec01 .cts dl .row dd.businessDescription .block .box .gotoLink:hover {
                color: #fff;
                transition: 1s; }
        #profile .sec01 .cts dl .row dd.suppliers {
          font-size: 0.8rem;
          display: flex;
          letter-spacing: 0; }
          @media (max-width: 768px) {
            #profile .sec01 .cts dl .row dd.suppliers {
              display: block;
              font-size: 0.8rem;
              letter-spacing: 0; } }
          #profile .sec01 .cts dl .row dd.suppliers .box:first-child {
            width: 47%;
            margin-right: 3%; }
            @media (max-width: 768px) {
              #profile .sec01 .cts dl .row dd.suppliers .box:first-child {
                width: 100%;
                margin-right: 0; } }
      #profile .sec01 .cts dl .row:first-child {
        padding-top: 0; }
    #profile .sec01 .cts dl p.caption {
      font-size: 0.8rem;
      text-align: right; }
      @media (max-width: 768px) {
        #profile .sec01 .cts dl p.caption {
          padding-left: 23%;
          text-align: left;
          font-size: 0.7rem; } }

#history .sec01 {
  padding-bottom: 80px; }
  #history .sec01 .cts .historyBox {
    margin: 60px 0 0; }
    @media (max-width: 768px) {
      #history .sec01 .cts .historyBox {
        width: 95%; } }
    #history .sec01 .cts .historyBox .row {
      display: flex;
      align-items: flex-start;
      margin-top: 20px;
      line-height: 1.5;
      letter-spacing: 0.1em;
      font-size: 1rem; }
      @media (max-width: 768px) {
        #history .sec01 .cts .historyBox .row {
          letter-spacing: 0;
          font-size: 0.8rem; } }
      #history .sec01 .cts .historyBox .row:first-child {
        margin-top: 0; }
      #history .sec01 .cts .historyBox .row dt {
        width: 11%; }
        @media (max-width: 768px) {
          #history .sec01 .cts .historyBox .row dt {
            width: 22%; } }
      #history .sec01 .cts .historyBox .row dd.description {
        width: 89%; }
        #history .sec01 .cts .historyBox .row dd.description p:first-child {
          margin-bottom: 20px; }
        @media (max-width: 768px) {
          #history .sec01 .cts .historyBox .row dd.description {
            width: 78%; } }

#access .sec01 {
  padding: 120px 0 80px; }
  #access .sec01 .access_title {
    display: block;
    margin: auto;
    width: 21%; }
    @media (max-width: 768px) {
      #access .sec01 .access_title {
        width: 30%; } }
  #access .sec01 .map_wrap {
    width: 60%;
    margin-left: 10%; }
    @media (max-width: 768px) {
      #access .sec01 .map_wrap {
        margin-top: 30px;
        margin-left: 13%; } }
    #access .sec01 .map_wrap .map {
      width: 100%;
      height: 0;
      background: url("../images/map.png") top center no-repeat;
      padding-top: 100%;
      background-size: contain;
      position: relative; }
      #access .sec01 .map_wrap .map .other_point {
        position: absolute;
        width: 57.3%;
        top: 14.9%;
        left: 23.5%; }
      #access .sec01 .map_wrap .map .point {
        position: absolute;
        height: auto; }
        #access .sec01 .map_wrap .map .point.aoyama {
          width: 14.1%;
          top: 59%;
          right: 23.5%; }
        #access .sec01 .map_wrap .map .point.shibuya {
          width: 14.1%;
          top: 62.5%;
          right: 22%; }
        #access .sec01 .map_wrap .map .point.yokohama {
          width: 17%;
          top: 63%;
          right: 18%; }
        #access .sec01 .map_wrap .map .point.osaka01 {
          width: 12.3%;
          top: 65%;
          left: 45%; }
        #access .sec01 .map_wrap .map .point.osaka02 {
          width: 12.3%;
          top: 68.5%;
          left: 46%; }
      #access .sec01 .map_wrap .map .line {
        position: absolute;
        height: auto; }
        #access .sec01 .map_wrap .map .line.aoyama {
          width: 27.5%;
          top: 11.2%;
          left: 45%; }
        #access .sec01 .map_wrap .map .line.shibuya {
          width: 33%;
          bottom: 23.2%;
          left: 65%; }
        #access .sec01 .map_wrap .map .line.yokohama {
          width: 19%;
          bottom: 37%;
          right: 1%; }
        #access .sec01 .map_wrap .map .line.osaka01 {
          width: 19.1%;
          bottom: 34.8%;
          left: 31%; }
        #access .sec01 .map_wrap .map .line.osaka02 {
          width: 11%;
          bottom: 14%;
          left: 49%; }
      #access .sec01 .map_wrap .map .address {
        letter-spacing: 0.1rem;
        position: absolute;
        color: #181878; }
        #access .sec01 .map_wrap .map .address .name {
          font-size: 1.1rem; }
          @media (max-width: 768px) {
            #access .sec01 .map_wrap .map .address .name {
              font-size: 7px; }
              #access .sec01 .map_wrap .map .address .name .small {
                font-size: 6px; } }
          #access .sec01 .map_wrap .map .address .name .small {
            font-size: 0.8rem;
            color: #8d81b5; }
            @media (max-width: 768px) {
              #access .sec01 .map_wrap .map .address .name .small {
                font-size: 0.3rem; } }
        #access .sec01 .map_wrap .map .address .text {
          margin-top: 10px;
          color: #181878;
          font-size: 0.7rem;
          line-height: 1.2; }
          @media (max-width: 768px) {
            #access .sec01 .map_wrap .map .address .text {
              font-size: 5px; } }
        #access .sec01 .map_wrap .map .address .detail_btn {
          display: block;
          background: #181878;
          color: #fff;
          font-size: 0.6rem;
          border-radius: 50px;
          border: 1px solid #181878;
          width: 200px;
          padding: 5px 0;
          text-align: center;
          margin-top: 10px; }
          #access .sec01 .map_wrap .map .address .detail_btn:hover {
            background-color: #fff;
            color: #181878;
            transition: 1s; }
          @media (max-width: 768px) {
            #access .sec01 .map_wrap .map .address .detail_btn {
              width: 70px;
              font-size: 5px;
              padding: 2px 0;
              margin-top: 5px; } }
        #access .sec01 .map_wrap .map .address.aoyama {
          top: 7%;
          left: 8%; }
          @media (max-width: 768px) {
            #access .sec01 .map_wrap .map .address.aoyama {
              top: -10%;
              left: 7%; } }
        #access .sec01 .map_wrap .map .address.shibuya {
          bottom: 2%;
          right: -40%; }
          @media (max-width: 768px) {
            #access .sec01 .map_wrap .map .address.shibuya {
              bottom: -3%;
              right: -44%; } }
        #access .sec01 .map_wrap .map .address.yokohama {
          top: 27%;
          right: -48%; }
          @media (max-width: 768px) {
            #access .sec01 .map_wrap .map .address.yokohama {
              top: 27%;
              right: -41%; } }
        #access .sec01 .map_wrap .map .address.osaka01 {
          top: 36.6%;
          left: -14%; }
          @media (max-width: 768px) {
            #access .sec01 .map_wrap .map .address.osaka01 {
              top: 30.6%;
              left: -10%; } }
        #access .sec01 .map_wrap .map .address.osaka02 {
          bottom: -12%;
          left: 61%; }
          @media (max-width: 768px) {
            #access .sec01 .map_wrap .map .address.osaka02 {
              bottom: -24%; } }
  #access .sec01 .btn {
    margin-top: 170px; }
    @media (max-width: 768px) {
      #access .sec01 .btn {
        margin-top: 100px; } }

.error404 h2 {
  margin-top: 100px;
  font-size: 2rem;
  text-align: center; }
.error404 .text {
  margin-top: 100px;
  text-align: center; }
.error404 .btn {
  margin-bottom: 150px; }

#kakuyaku .title_header {
  margin: 160px auto 120px; }
  @media (max-width: 768px) {
    #kakuyaku .title_header {
      margin: 120px auto 60px; } }
  #kakuyaku .title_header .title {
    color: #181878;
    line-height: 1.3; }
#kakuyaku .sec01 {
  line-height: 1.5; }
  #kakuyaku .sec01 p {
    margin-bottom: 1.5em; }
    @media (max-width: 768px) {
      #kakuyaku .sec01 p {
        font-size: 0.8rem; } }
  #kakuyaku .sec01 dl {
    margin-bottom: 2.5em; }
    @media (max-width: 768px) {
      #kakuyaku .sec01 dl {
        font-size: 0.8rem; } }
  #kakuyaku .sec01 ul li {
    margin-bottom: 1.5em; }
    @media (max-width: 768px) {
      #kakuyaku .sec01 ul li {
        font-size: 0.8rem; } }

#actionplan .idt {
  text-indent: 1em; }
#actionplan .indent2 {
  padding-left: 3em;
  text-indent: -3em; }
#actionplan .sec01 {
  margin-top: 180px;
  padding-bottom: 100px; }
  #actionplan .sec01.mainsec {
    max-width: 650px; }
  @media (max-width: 768px) {
    #actionplan .sec01 {
      padding-bottom: 50px; } }
  #actionplan .sec01 .title_header {
    display: block;
    position: inherit; }
    #actionplan .sec01 .title_header .title {
      position: inherit;
      color: #231815;
      letter-spacing: 0.1em;
      font-weight: bold;
      font-size: 1.3rem; }
  #actionplan .sec01 .cts {
    margin-top: 80px; }
    #actionplan .sec01 .cts .subtitle {
      margin-top: 80px;
      font-weight: bold;
      font-size: 1.3rem; }
      @media (max-width: 768px) {
        #actionplan .sec01 .cts .subtitle {
          font-size: 1.1rem; } }
    #actionplan .sec01 .cts .title {
      color: #231815;
      text-align: left;
      margin: 0 0 20px;
      letter-spacing: 0;
      font-weight: bold;
      line-height: 1.5;
      font-size: 1.2rem; }
    #actionplan .sec01 .cts .text {
      padding-left: 1em;
      margin-top: 10px;
      line-height: 1.8;
      font-size: 1.1rem; }
      #actionplan .sec01 .cts .text span {
        display: block; }
      @media (max-width: 768px) {
        #actionplan .sec01 .cts .text {
          font-size: 1rem; } }
      #actionplan .sec01 .cts .text.top {
        padding: 0; }
    #actionplan .sec01 .cts .box {
      margin-top: 30px;
      border: 1px solid #231815;
      padding: 1em;
      line-height: 1.7; }
      #actionplan .sec01 .cts .box .boxtitle {
        font-size: 1.1rem; }
        @media (max-width: 768px) {
          #actionplan .sec01 .cts .box .boxtitle {
            font-size: 1rem; } }
      #actionplan .sec01 .cts .box .text {
        margin-top: 0;
        padding: 0; }
