@charset "UTF-8";

/*-------------------------------
  コンテンツ
-------------------------------*/

/*--- リンク ---*/
.o-content-area a {
  text-decoration: none;
}

/*--- ファイルアイコン ---*/
.o-content-area a.c-file-icon--pdf,
.o-content-area a[href$=".pdf"],
.o-content-area a[href$=".PDF"],
.o-content-area a.c-file-icon--doc,
.o-content-area a[href$=".doc"],
.o-content-area a[href$=".docx"],
.o-content-area a.c-file-icon--xls,
.o-content-area a[href$=".xls"],
.o-content-area a[href$=".xlsx"],
.o-content-area a.c-file-icon--data,
.o-content-area a[href$=".zip"] {
  display: inline-block;
}
.o-content-area a.c-file-icon--pdf:before,
.o-content-area a[href$=".pdf"]:before,
.o-content-area a[href$=".PDF"]:before,
.o-content-area a.c-file-icon--doc:before,
.o-content-area a[href$=".doc"]:before,
.o-content-area a[href$=".docx"]:before,
.o-content-area a.c-file-icon--xls:before,
.o-content-area a[href$=".xls"]:before,
.o-content-area a[href$=".xlsx"]:before,
.o-content-area a.c-file-icon--data:before,
.o-content-area a[href$=".zip"]:before {
  font-family: "Font Awesome 5 Free";
  margin-right: 6px;
  font-size: 1.2em;
}
/*.o-content-area a.c-file-icon--pdf:before,
.o-content-area a[href$=".pdf"]:before,
.o-content-area a[href$=".PDF"]:before {
  content: "\f1c1";
  color: #DD4D44;
}*/
.o-content-area a.c-file-icon--doc:before,
.o-content-area a[href$=".doc"]:before,
.o-content-area a[href$=".docx"]:before {
  content: "\f1c2";
  color: #2A5699;
}
.o-content-area a.c-file-icon--xls:before,
.o-content-area a[href$=".xls"]:before,
.o-content-area a[href$=".xlsx"]:before {
  content: "\f1c3";
  color: #1E6F43;
}
.o-content-area a.c-file-icon--data:before,
.o-content-area a[href$=".zip"]:before {
  content: "\f1c6";
  color: #B5B5B5;
}
.o-content-area a.c-file-icon--none {
  display: inline;
}
.o-content-area a.c-file-icon--none:before {
  display: none;
}

/*--- リスト ---*/
.o-content-area ul {
  margin-left: 1.75em;
  margin-top: 18px;
  margin-bottom: 18px;
}
.o-content-area ol {
  margin-left: 1.5em;
}
.o-content-area li {
  list-style-type: inherit;
}
.o-content-area ol.c-list__alpha {
  list-style-type: upper-alpha;
}


/*--- テーブル ---*/
table.c-table,
.o-content-area table {
  width: 100%;
}
table.c-table th,
table.c-table td,
.o-content-area table th,
.o-content-area table td {
  padding: 1rem 0.75rem;
  border-width: 1px 0;
  border-style: solid;
  border-color: #b2aeb2;
  background-color: #f9f8f8;
  vertical-align: middle;
  text-align: left;

  font-size:16px;
  font-weight:400;
  line-height:1.75;
  letter-spacing: 0em;
}
@media (min-width: 40em) {
  table.c-table th,
  table.c-table td,
  .o-content-area table th,
  .o-content-area table td {
    padding: 10px 25px;
    border-width: 1px 0;
    border-style: solid;
    border-color: #b2aeb2;
    background-color: #f9f8f8;
    vertical-align: middle;
    text-align: left;
    
    font-size:16px;
    font-weight:400;
    line-height:1.75;
    letter-spacing: 0em;
  }
}

table.c-table td,
.o-content-area table td {
  background-color: #FFFFFF;
}
@media (min-width: 40em) {
  table.c-table td,
  .o-content-area table td {
    background-color: #FFFFFF;
  }
}


/*
table.c-table th,
.o-content-area table th {
  background-color: var(--color-table-header);
  font-weight: bold;
  text-align: left!important;
}
@media (min-width: 40em) {
  table.c-table th,
  .o-content-area table th {
    text-align: center!important;
  }
}
*/
table.c-table.c-table--2 th {
  background-color: #FFF;
  font-weight: normal;
  text-align: left!important;
  font-weight: normal;
}

.o-content-area table.c-table--xs th,
.o-content-area table.c-table--xs td {
  padding: 0.25rem 0.75rem;
}
.o-content-area table.c-table--sm th,
.o-content-area table.c-table--sm td {
  padding: 0.5rem 0.75rem;
}

.o-content-area table.c-table--widthauto {
  width: auto;
}

.o-content-area table.c-table--verticalBorder th,
.o-content-area table.c-table--verticalBorder td {
  border-width: 1px;
}

.o-content-area table.c-table--noBorder th,
.o-content-area table.c-table--noBorder td {
  border-width: 0px;
}

.o-content-area table.c-table--th-15per th { width: 15% !important; }
.o-content-area table.c-table--th-20per th { width: 20% !important; }
.o-content-area table.c-table--th-25per th { width: 25% !important; }
.o-content-area table.c-table--th-33per th { width: 33.33333% !important; }
.o-content-area table.c-table--th-50per th { width: 50% !important; }
.o-content-area table.c-table--th-66per th { width: 66.66666% !important; }
.o-content-area table.c-table--th-75per th { width: 75% !important; }
.o-content-area table.c-table--th-100px th { width: 100px !important; }
.o-content-area table.c-table--th-150px th { width: 150px !important; }
.o-content-area table.c-table--th-200px th { width: 200px !important; }
.o-content-area table.c-table--th-250px th { width: 250px !important; }
.o-content-area table.c-table--th-300px th { width: 300px !important; }

.o-content-area table.c-table--th-15per td,
.o-content-area table.c-table--th-20per td,
.o-content-area table.c-table--th-25per td,
.o-content-area table.c-table--th-33per td,
.o-content-area table.c-table--th-50per td,
.o-content-area table.c-table--th-66per td,
.o-content-area table.c-table--th-75per td,
.o-content-area table.c-table--th-100px td,
.o-content-area table.c-table--th-150px td,
.o-content-area table.c-table--th-200px td,
.o-content-area table.c-table--th-250px td,
.o-content-area table.c-table--th-300px td { width: auto !important; }


@media only screen and (max-width: 39.9375rem) {
  .o-content-area table.c-table--scroll {
    display: block;
    overflow: auto;
    white-space: nowrap;
    width: auto;
  }
  .o-content-area table.c-table--scroll tbody {
    width: 100%;
    display: table;
  }
  .o-content-area table.c-table--scroll-fixed {
    display: block;
    overflow: auto;
    white-space: normal;
    width: auto;
  }
  .o-content-area table.c-table--scroll-fixed tbody {
    width: 200%;
    display: table;
  }
  .o-content-area table.c-table--scroll::-webkit-scrollbar,
  .o-content-area table.c-table--scroll-fixed::-webkit-scrollbar {
    height: 5px;
  }
  .o-content-area table.c-table--scroll::-webkit-scrollbar-track,
  .o-content-area table.c-table--scroll-fixed::-webkit-scrollbar-track {
    background-color: #f1f1f1;
  }
  .o-content-area table.c-table--scroll::-webkit-scrollbar-thumb,
  .o-content-area table.c-table--scroll-fixed::-webkit-scrollbar-thumb {
    background-color: #bcbcbc;
  }

  .o-content-area table th {
    width: auto !important;
  }

  .o-content-area table.c-table--responsive {
    border-bottom: 1px solid var(--color-border);
    
  }
  .o-content-area table.c-table--responsive th,
  .o-content-area table.c-table--responsive td {
    width: 100% !important;
    display: block;
    font-size:2.6rem;
    font-weight:400;
    line-height:1.75;
    letter-spacing: 0em;
  }
  .o-content-area table.c-table--responsive th {
    padding: 1.5rem 1.5rem;
    text-align: left;
  }
  .o-content-area table.c-table--responsive td {
    padding: 1.5rem 1.5rem;
    border-top-width: 0;
    border-bottom-width: 0;
  }

  .o-content-area table.c-table--responsive table th,
  .o-content-area table.c-table--responsive table td {
    padding: 8px 10px;
    display: table-cell;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }
  .o-content-area table.c-table--responsive table th {
    text-align: center;
  }

  .o-content-area table.c-table--responsive2 th {
    width: 33.33333% !important;
  }
  .o-content-area table.c-table--responsive2 tbody:not(:last-child) {
    border-bottom: 4px solid #ccc;
  }

  .o-content-area table.c-table--responsive3 {
    table-layout: fixed;
    font-size: 10px;
  }
  .o-content-area table.c-table--responsive3 th,
  .o-content-area table.c-table--responsive3 td {
    padding: 4px 10px;
  }
}

/*--- フォーム部品 ---*/
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="telephone"],
input[type="number"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="time"],
textarea {
  padding: 1rem;
  width: 100%;
  border: 2px solid #E6E6E6;
  border-radius: 0;
  vertical-align: bottom;
  font-size: inherit;
  font-family: 'Noto Sans JP', 'Noto Sans', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', sans-serif;
}
input[type="text"]:hover,
input[type="password"]:hover,
input[type="email"]:hover,
input[type="url"]:hover,
input[type="search"]:hover,
input[type="telephone"]:hover,
input[type="number"]:hover,
input[type="date"]:hover,
input[type="datetime"]:hover,
input[type="datetime-local"]:hover,
input[type="month"]:hover,
input[type="week"]:hover,
input[type="time"]:hover,
textarea:hover {
  border-color: #999;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="telephone"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
textarea:focus {
  border-color: #85b7d9;
}
.o-form-control--s {
  width: 5rem !important;
}
.o-form-control--m {
  width: 20rem !important;
}
.o-form-control--l {
  width: 40rem !important;
}
@media only screen and (max-width: 39.9375rem) {
  .o-form-control--full,
  .o-form-control--m,
  .o-form-control--l {
    width: 100% !important;
  }
}
select {
  border-radius: 3px;
  padding: 0.375rem 0.75rem;
  border: 1px solid #cccccc;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.035);
  vertical-align: bottom;
}
@media only screen and (max-width: 39.9375rem) {
  select {
    max-width: 80vw;
  }
}

.l-company-contact{
  display:block;
  background:#232323;
  padding:5.0rem 0 8.5rem;
  margin-bottom:10.0rem;
  text-align: center;
}
.l-company-contact.type02{
  background:#00327D;
  margin-top:-2.2rem;
  margin-bottom:0;
  padding:12.0rem 0 8.5rem;
}
.l-company-contact-title{
  text-align: center;
  color:#FFFFFF;
  
  font-size:2.8rem;
  font-weight:700;
  line-height:1.2;
  letter-spacing: 0.05em;
}
.l-company-contact .o-worry-text2{
  display:inline-block;
  margin-top:0;
}
.l-company-contact-table{
  width:100%;
  display:block;
}
.l-company-contact-table-list{
  width:100%;
  display:block;
  vertical-align: top;
  padding-top:5.0rem;
  position: relative;
}
.l-company-contact-table-list:nth-of-type(odd){
  padding-right:0;
}
.l-company-contact-table-list:nth-of-type(even){
  padding-left:0;
}
.l-company-contact-table-list a{
  border-radius:6.0rem;
  display:block;
  padding:3.5rem 1.0rem 0;
  text-align: center;
}
.l-company-contact-table-list a.l-company-contact-table-list-link01{
  border-radius:7.0rem;
  border:0.6rem solid #ffffff;
  background:none;
  padding:3.0rem 1.0rem 0px;
  height:13.8rem;
  overflow: hidden;
}
.l-company-contact-table-list a.l-company-contact-table-list-link02{
  border:0.6rem solid #FFFFFF;
  padding:2.5rem 1.0rem;
  background: url("../img/company/company-icon03_pc.png") right 3.3rem center no-repeat #FFFFFF;
  background-size: 1.4rem auto;
  min-height:2.4rem;
}
.l-company-contact-table-list-title{
  max-width:38.6rem;
  display:inline-block;
  border:0.4rem solid #b2aeb2;
  background:#FFFFFF;
  border-radius:3.0rem;
  padding:0.8rem 2.0rem;
  text-align: center;
  color:#000000;
  
  font-size:2.6rem;
  font-weight:500;
  line-height:1;
  letter-spacing: 0em;
  
  position:absolute;
  top:3.0rem;
  left:0;
  right:0;
  margin:0 auto;
}
.l-company-contact-table-list-tel{
  display:inline-block;
  padding:0 0;
  text-align: center;
}
.l-company-contact-table-list-tel-number{
  display:inline-block;
  background: url("../img/company/company-icon01_pc.png") left top 0.5rem no-repeat transparent;
  background-size: 4.5rem auto;
  min-height:5.1rem;
  padding:0 4.5rem;
  text-align: left;
  color:#FFFFFF;
  
  font-size:4.2rem;
  font-weight:700;
  line-height:1;
  letter-spacing: 0.2em;
}
.l-company-contact-table-list-tel-message{
  display:inline-block;
  text-align: left;
  color:#FFFFFF;
  
  font-size:2.6rem;
  font-weight:400;
  line-height:1.2;
  letter-spacing: 0em;
  
  position: relative;
  top: -2.0rem;
}
.l-company-contact-table-list-mail{
  display:inline-block;
  padding:0.5rem 5.5rem 0;
  background: url("../img/company/company-icon02_pc.png") left top 0.6rem no-repeat transparent;
  background-size: 3.5rem auto;
  min-height:3.1rem;
  text-align: center;
  color:#00327D;
  
  font-size:3.2rem;
  font-weight:700;
  line-height:1.2;
  letter-spacing: 0.2em;
}
@media (min-width: 40em) {
  .l-company-contact{
    display:block;  
    background:#232323;
    padding:40px 0 50px;
    margin-bottom:100px;
    text-align: center;
  }
  .l-company-contact.type02{  
    background:#00327D;
    margin-top:-60px;
    margin-bottom:0;
    padding-top:95px;
    padding:95px 0 50px;
  }
  .l-company-contact-title{
    text-align: center;
    color:#FFFFFF;

    font-size:20px;
    font-weight:700;
    line-height:1.2;
    letter-spacing: 0.05em;
  }
  .l-company-contact .o-worry-text2{
    display:inline-block;
    margin-top:10px;
  }
  .l-company-contact-title02{
    text-align: center;
    color:#FFFFFF;

    font-size:20px;
    font-weight:700;
    line-height:1.2;
    letter-spacing: 0.05em;
  }
  .l-company-contact-table{
    width:100%;
    display:table;
  }
  .l-company-contact-table-list{
    width:50%;
    display:table-cell;
    vertical-align: top;
    padding-top:35px;
    position: relative;
  }
  .l-company-contact-table-list:nth-of-type(odd){
    padding-right:25px;
  }
  .l-company-contact-table-list:nth-of-type(even){
    padding-left:25px;
  }
  .l-company-contact-table-list a{
    border-radius:50px;
    display:block;
    padding:35px 10px 0;
    text-align: center;
  }
  .l-company-contact-table-list a.l-company-contact-table-list-link01{
    border:3px solid #ffffff;
    background:none;
    padding:30px 10px 0px;
    height: auto;
    overflow: visible;
  }
  .l-company-contact-table-list a.l-company-contact-table-list-link02{
    border:3px solid #FFFFFF;
    padding:25px 10px;
    background: url("../img/company/company-icon03_pc.png") right 33px center no-repeat #FFFFFF;
    background-size: 14px auto;
    min-height:24px;
  }
  .l-company-contact-table-list-title{
    max-width:260px;
    display:inline-block;
    border:2px solid #b2aeb2;
    background:#FFFFFF;
    border-radius:20px;
    padding:8px 30px;
    text-align: center;
    color:#000000;

    font-size:16px;
    font-weight:500;
    line-height:1;
    letter-spacing: 0em;

    position:absolute;
    top:20px;
    left:0;
    right:0;
    margin:0 auto;
  }
  .l-company-contact-table-list-tel{
    display:inline-block;
    padding:0 0;
    text-align: center;
  }
  .l-company-contact-table-list-tel-number{
    display:inline-block;
    background: url("../img/company/company-icon01_pc.png") left top no-repeat transparent;
    background-size: 35px auto;
    min-height:31px;
    padding:0 45px;
    text-align: left;
    color:#FFFFFF;

    font-size:25px;
    font-weight:700;
    line-height:1;
    letter-spacing: 0.2em;
  }
  .l-company-contact-table-list-tel-message{
    display:inline-block;
    text-align: left;
    color:#FFFFFF;

    font-size:16px;
    font-weight:400;
    line-height:1.2;
    letter-spacing: 0em;

    position: relative;
    top: -10px;
  }
  .l-company-contact-table-list-mail{
    display:inline-block;
    padding:5px 55px 0;
    background: url("../img/company/company-icon02_pc.png") left top 6px no-repeat transparent;
    background-size: 35px auto;
    min-height:31px;
    text-align: center;
    color:#00327D;

    font-size:25px;
    font-weight:700;
    line-height:1.2;
    letter-spacing: 0.2em;
  }
}





