@charset "UTF-8";

/* 共通 */
main {
  margin-top: 8rem;
}
.lower_fv {
  background: #EDF1FD;
  height: 15.625vw;
  position: relative;
}
.lower_fv.bg {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  height: 20.625vw;
}
.lower_fv.bg01 {
  background-image: url(../img/common/fv_bg01.jpg);
}
.lower_fv.bg02 {
  background-image: url(../img/common/fv_bg02.jpg);
}
.lower_fv .title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.lower_fv h1 {
  color: #272D74;
  font-size: 7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: .8;
  text-align: center;
}
.lower_fv .jp {
  color: #272D74;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 1.25em;
  text-align: center;
}
.lower_fv.bg h1, 
.lower_fv.bg .jp {
  color: #fff;
}
@media screen and (max-width: 1400px) {
  .lower_fv {
    height: 21.429vw;
  }
  .lower_fv.bg {
    height: 28.285vw;
  }
  .lower_fv h1 {
    font-size: 5vw;
  }
  .lower_fv .jp {
    font-size: 1.286vw;
  }
}
@media screen and (max-width: 768px) {
  main {
    margin-top: 7rem;
  }
  .lower_fv {
    height: 40vw;
  }
  .lower_fv.bg {
    height: 52.8vw;
  }
  .lower_fv.bg01 {
    background-image: url(../img/common/fv_bg01_sp.jpg);
  }
  .lower_fv.bg02 {
    background-image: url(../img/common/fv_bg02_sp.jpg);
  }
  .lower_fv .title {
    width: 86%;
  }
  .lower_fv h1 {
    font-size: 3.5rem;
  }
  .lower_fv .jp {
    font-size: 1.2rem;
    margin-top: 1.25em;
  }
}
/* company */
.company_link {
  padding: 6rem 0 8rem;
}
.company_link ul {
  display: flex;
}
.company_link ul li a {
  text-align: center;
}
.company_link ul li a:hover {
  opacity: 1.0;
  filter: alpha(opacity=100);
}
.company_link ul li .link {
  background: #BBBBBB;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  display: block;
  padding: 1.5rem 2.2rem;
  position: relative;
}
.company_link ul li .link::before {
  content: "";
  border-bottom: solid 10px #fff;
  border-left: solid 10px transparent;
  width: 0;
  position: absolute;
  right: 4px;
  bottom: 4px;
}
.company_link ul li a.act .link, 
.company_link ul li a.hover:hover .link {
  background: #272D74;
}
.foundation_content {
  margin-bottom: 14.8rem;
}
h2.company_h2 {
  color: #272D74;
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 3.5rem;
}
h2.company_h2 span {
  padding: 0 6rem;
  position: relative;
}
h2.company_h2 span::before, 
h2.company_h2 span::after {
  background: url(../img/company/ttl_icon.svg) no-repeat;
  background-size: 41px 41px;
  content: "";
  width: 41px;
  height: 41px;
  position: absolute;
  top: 2px;
}
h2.company_h2 span::before {
  left: 0;
}
h2.company_h2 span::after {
  right: 0;
}
.foundation_content .fig {
  margin-bottom: 4.5rem;
}
.foundation_content .text {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
.company_other {
  background: #EDF1FD;
  padding: 12rem 0;
}
.company_other h2 {
  color: #272D74;
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 6rem;
}
.company_other h2 span {
  padding: 0 6rem;
  position: relative;
}
.company_other h2 span::before, 
.company_other h2 span::after {
  background: url(../img/company/ttl_icon.svg) no-repeat;
  background-size: 41px 41px;
  content: "";
  width: 41px;
  height: 41px;
  position: absolute;
  top: 2px;
}
.company_other h2 span::before {
  left: 0;
}
.company_other h2 span::after {
  right: 0;
}
.company_other ul {
  display: flex;
  justify-content: space-between;
}
.company_other ul li {
  text-align: center;
  width: 23.75%;
}
.company_other ul li a {
  background: #fff;
  border: 1px solid #272D74;
  color: #272D74;
  display: block;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 3.5rem 1rem;
  position: relative;
}
.company_other ul li a:hover {
  background: #272D74;
  color: #fff;
  opacity: 1.0;
  filter: alpha(opacity=100);
}
.company_other ul li a::before {
  content: "";
  border-bottom: solid 10px #272D74;
  border-left: solid 10px transparent;
  width: 0;
  position: absolute;
  right: 4px;
  bottom: 4px;
}
.company_other ul li a:hover::before {
  border-bottom: solid 10px #fff;
}
@media screen and (max-width: 1400px) {
  .company_link {
    padding: 4.286vw 0 5.7143vw;
  }
  .company_link ul li .link {
    font-size: 1.286vw;
    padding: 1.07143vw 1.57143vw;
  }
  .company_other ul li a {
    font-size: 1.4286vw;
    padding: 2.5vw 0.71429vw;
  }
  .foundation_content {
    margin-bottom: 10.5714vw;
  }
  h2.company_h2 {
    font-size: 2.1429vw;
    margin-bottom: 2.5vw;
  }
  h2.company_h2 span {
    padding: 0 4.286vw;
  }
  h2.company_h2 span::before, 
  h2.company_h2 span::after {
    background-size: 2.92857vw 2.92857vw;
    width: 2.92857vw;
    height: 2.92857vw;
    top: 2px;
  }
  .foundation_content .fig {
    margin-bottom: 3.2142vw;
  }
  .foundation_content .text {
    font-size: 1.6rem;
  }
  .company_other {
    padding: 8.57143vw 0;
  }
  .company_other h2 {
    font-size: 2.1429vw;
    margin-bottom: 2.5vw;
  }
  .company_other h2 span {
    padding: 0 4.286vw;
  }
  .company_other h2 span::before, 
  .company_other h2 span::after {
    background-size: 2.92857vw 2.92857vw;
    width: 2.92857vw;
    height: 2.92857vw;
    top: 2px;
  }
}
@media screen and (min-width: 769px) {
  .company_link ul {
    display: flex;
    justify-content: space-between;
  }
  .company_link ul li {
    width: 23.75%;
  }
}
@media screen and (max-width: 768px) {
  .company_link {
    padding: 4vw 0 13.333vw;
  }
  .company_link ul {
    display: flex;
    flex-wrap: wrap;
  }
  .company_link ul li {
    margin-right: 2.608%;
    margin-top: 2.609%;
    width: 48.696%;
  }
  .company_link ul li:nth-child(2n) {
    margin-right: 0;
  }
  .company_link ul li:nth-child(-n+2) {
    margin-top: 0;
  }
  .company_link ul li .link {
    font-size: 1.3rem;
    padding: 1rem 1.2rem;
  }
  .company_link ul li .link::before {
    border-bottom: solid 7px #fff;
    border-left: solid 7px transparent;
    right: 3px;
    bottom: 3px;
  }
  .foundation_content {
    margin-bottom: 12vw;
  }
  h2.company_h2 {
    font-size: 1.7rem;
    margin-bottom: 2rem;
  }
  h2.company_h2 span {
    padding: 0 3rem;
  }
  h2.company_h2 span::before, 
  h2.company_h2 span::after {
    background-size: 24px 24px;
    width: 24px;
    height: 24px;
    top: 1px;
  }
  .foundation_content .fig {
    margin-bottom: 6.4vw;
  }
  .foundation_content .text {
    font-size: 1.2rem;
  }
  .company_other {
    padding: 13.333vw 0;
  }
  .company_other h2 {
    font-size: 1.7rem;
    margin-bottom: 2.7rem;
  }
  .company_other h2 span {
    padding: 0 3rem;
  }
  .company_other h2 span::before, 
  .company_other h2 span::after {
    background-size: 24px 24px;
    width: 24px;
    height: 24px;
    top: 1px;
  }
  .company_other ul {
    display: block;
  }
  .company_other ul li {
    width: 100%;
  }
  .company_other ul li + li {
    margin-top: 2.6087%;
  }
  .company_other ul li a {
    font-size: 1.5rem;
    padding: 1.9rem 1rem;
  }
  .company_other ul li a::before {
    border-bottom: solid 7px #272D74;
    border-left: solid 7px transparent;
    right: 3px;
    bottom: 3px;
  }
  .company_other ul li a:hover::before {
    border-bottom: solid 7px #fff;
  }
}
@media screen and (max-width: 400px) {
  h2.company_h2 {
    font-size: 1.5rem;
  }
  h2.company_h2 span {
    padding: 0 2.8rem;
  }
  h2.company_h2 span::before, 
  h2.company_h2 span::after {
    background-size: 20px 20px;
    width: 20px;
    height: 20px;
    top: 0;
  }
  .company_other h2 {
    font-size: 1.5rem;
  }
  .company_other h2 span {
    padding: 0 2.8rem;
  }
  .company_other h2 span::before, 
  .company_other h2 span::after {
    background-size: 20px 20px;
    width: 20px;
    height: 20px;
    top: 0;
  }
}
/* overview */
.company_overview {
  margin-bottom: 10rem;
}
.company_overview table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}
.company_overview table tr:first-child th {
  width: 210px;
}
.company_overview table th, 
.company_overview table td {
  border-bottom: 1px solid #CCCCCC;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 2;
}
.company_overview table tr:first-child th, 
.company_overview table tr:first-child td {
  border-top: 1px solid #CCCCCC;
}
.company_overview table th {
  background: #EDF1FD;
  font-weight: 600;
  text-align: center;
  padding: 3rem 1rem;
}
.company_overview table td {
  background: #fff;
  font-weight: 400;
  padding: 3rem;
}
.company_overview table td ul li {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  text-indent: -1em;
  padding-left: 1em;
}
.company_history {
  margin-bottom: 15rem;
}
.company_history h2.company_h2 {
  margin-top: -8rem;
  padding-top: 8rem;
}
.company_history h3 {
  background: #272D74;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 400;
  height: 65px;
  line-height: 65px;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 3rem;
  position: relative;
}
.company_history h3::before {
  content: "";
  border-bottom: solid 6.5rem #3A57AC;
  border-right: solid 6.5rem transparent;
  width: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: rotateX(-180deg);
}
.company_history h3::after {
  content: "";
  border-bottom: solid 6.5rem #3A57AC;
  border-left: solid 6.5rem transparent;
  width: 0;
  position: absolute;
  right: 0;
  bottom: 0;
}
.company_history .history_cont + .history_cont {
  margin-top: 7rem;
}
.company_history .history_cont ul li {
  border-bottom: 1px dashed #666666;
  padding: 3rem 2.6rem;
  display: flex;
  align-items: center;
}
.company_history .history_cont ul li .date {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.4;
  min-width: 158px;
}
.company_history .history_cont ul li .date span {
  display: block;
  font-size: 1.4rem;
}
.company_history .history_cont ul li .tl {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
@media screen and (max-width: 1400px) {
  .company_overview {
    margin-bottom: 7.143vw;
  }
  .company_history {
    margin-bottom: 10.7143vw;
  }
  .company_history .history_cont + .history_cont {
    margin-top: 5vw;
  }
}
@media screen and (max-width: 1200px) {
  .company_history h3 {
    font-size: 1.9rem;
    height: 5rem;
    line-height: 5rem;
  }
  .company_history h3::before {
    border-bottom: solid 5rem #3A57AC;
    border-right: solid 5rem transparent;
  }
  .company_history h3::after {
    border-bottom: solid 5rem #3A57AC;
    border-left: solid 5rem transparent;
  }
  .company_history .history_cont ul li {
    padding: 2.5rem 2rem;
  }
  .company_history .history_cont ul li .date {
    font-size: 1.6rem;
    min-width: 150px;
  }
  .company_history .history_cont ul li .date span {
    font-size: 1.2rem;
  }
  .company_history .history_cont ul li .tl {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 769px) {
  .company_history .history_cont .in {
    display: flex;
    justify-content: space-between;
  }
  .company_history .history_cont .in ul {
    width: 58.333%;
  }
  .company_history .history_cont .in .image {
    width: 38.333%;
  }
  .company_history .history_cont ul li .tl {
    flex-grow: 1;
  }
}
@media screen and (max-width: 768px) {
  .company_overview {
    margin-bottom: 13.3vw;
  }
  .company_overview table tr:first-child th {
    width: 23.19%;
  }
  .company_overview table th, 
  .company_overview table td {
    font-size: 1.2rem;
  }
  .company_overview table th {
    padding: 1.6rem 1rem;
  }
  .company_overview table td {
    padding: 1.6rem 1rem;
  }
  .company_overview table td ul li {
    font-size: 1.2rem;
  }
  .company_history {
    margin-bottom: 16vw;
  }
  .company_history h2.company_h2 {
    margin-top: -7rem;
    padding-top: 7rem;
  }
  .company_history h3 {
    font-size: 1.5rem;
    height: 4rem;
    line-height: 4rem;
    margin-bottom: 1rem;
  }
  .company_history h3::before {
    border-bottom: solid 4rem #3A57AC;
    border-right: solid 4rem transparent;
  }
  .company_history h3::after {
    border-bottom: solid 4rem #3A57AC;
    border-left: solid 4rem transparent;
  }
  .company_history .history_cont + .history_cont {
    margin-top: 11.333vw;
  }
  .company_history .history_cont ul li {
    padding: 1.5rem 1rem;
  }
  .company_history .history_cont ul li .date {
    font-size: 1.2rem;
    min-width: 24.666vw;
  }
  .company_history .history_cont ul li .date span {
    font-size: 1rem;
  }
  .company_history .history_cont ul li .tl {
    font-size: 1.2rem;
  }
  .company_history .history_cont .image {
    margin-top: 4.348%;
  }
}
/* philosophy */
.company_philosophy {
  padding-bottom: 16rem;
}
.company_philosophy .fig {
  margin-bottom: 6rem;
}
.company_philosophy h3 {
  background: #272D74;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 400;
  height: 65px;
  line-height: 65px;
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
}
.company_philosophy h3::before {
  content: "";
  border-bottom: solid 6.5rem #3A57AC;
  border-right: solid 6.5rem transparent;
  width: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: rotateX(-180deg);
}
.company_philosophy h3::after {
  content: "";
  border-bottom: solid 6.5rem #3A57AC;
  border-left: solid 6.5rem transparent;
  width: 0;
  position: absolute;
  right: 0;
  bottom: 0;
}
.company_philosophy .philosophy_box + .philosophy_box {
  margin-top: 5rem;
}
.company_philosophy .philosophy_box dl {
  background: #EDF1FD;
  padding: 3rem 3rem 5.8rem;
}
.company_philosophy .philosophy_box dl dt, 
.company_philosophy .philosophy_box dl dd {
  text-align: center;
}
.company_philosophy .philosophy_box dl dt {
  color: #272D74;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 3rem;
}
.company_philosophy .philosophy_box dl dd {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 2.2;
}
.company_philosophy .philosophy_box dl dd.vision {
  text-align: left;
  max-width: 540px;
  margin: 0 auto;
}
.company_philosophy .philosophy_box dl dd  ul li {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 2.2;
}
@media screen and (max-width: 1400px) {
  .company_philosophy {
    padding-bottom: 11.429vw;
  }
  .company_philosophy .fig {
    margin-bottom: 4.285vw;
  }
}
@media screen and (max-width: 1200px) {
  .company_philosophy h3 {
    font-size: 1.9rem;
    height: 5rem;
    line-height: 5rem;
  }
  .company_philosophy h3::before {
    border-bottom: solid 5rem #3A57AC;
    border-right: solid 5rem transparent;
  }
  .company_philosophy h3::after {
    border-bottom: solid 5rem #3A57AC;
    border-left: solid 5rem transparent;
  }
  .company_philosophy .philosophy_box + .philosophy_box {
    margin-top: 3.57143vw;
  }
  .company_philosophy .philosophy_box dl {
    padding: 2.5rem 2.5rem 5rem;
  }
  .company_philosophy .philosophy_box dl dt {
    font-size: 1.8rem;
    margin-bottom: 2.5rem;
  }
  .company_philosophy .philosophy_box dl dd {
    font-size: 1.6rem;
    line-height: 2;
  }
  .company_philosophy .philosophy_box dl dd.vision {
    text-align: left;
    max-width: 500px;
    margin: 0 auto;
  }
  .company_philosophy .philosophy_box dl dd  ul li {
    font-size: 1.6rem;
    line-height: 2;
  }
}
@media screen and (max-width: 768px) {
  .company_philosophy h3 {
    font-size: 1.5rem;
    height: 4rem;
    line-height: 4rem;
  }
  .company_philosophy h3::before {
    border-bottom: solid 4rem #3A57AC;
    border-right: solid 4rem transparent;
  }
  .company_philosophy h3::after {
    border-bottom: solid 4rem #3A57AC;
    border-left: solid 4rem transparent;
  }
  .company_philosophy .philosophy_box + .philosophy_box {
    margin-top: 8vw;
  }
  .company_philosophy .philosophy_box dl {
    padding: 1.5rem 1.5rem 3rem;
  }
  .company_philosophy .philosophy_box dl dt {
    font-size: 1.6rem;
    margin-bottom: 2rem;
  }
  .company_philosophy .philosophy_box dl dd {
    font-size: 1.2rem;
    line-height: 1.85;
  }
  .company_philosophy .philosophy_box dl dd.vision {
    max-width: 100%;
  }
  .company_philosophy .philosophy_box dl dd  ul li {
    text-indent: -1em;
    padding-left: 1em;
  }
}

/* sustainability */
.sustainability_box {
  background: #EDF1FD;
  display: flex;
  justify-content: space-between;
  margin-bottom: 10rem;
  padding: 2.5rem 5rem;
}
.sustainability_box .text {
  width: 61.637%;
}
.sustainability_box .text img {
  width: 89.086%;
}
.sustainability_box .text p {
  font-size: 2.1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.9;
  margin-top: 2.8rem;
}
.sustainability_box .icon {
  width: 12%;
}
.company_effort {
  padding-bottom: 17rem;
}
.company_effort .effort_cont + .effort_cont {
  margin-top: 12rem;
}
.company_effort .effort_cont h3 {
  background: #272D74;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 400;
  height: 65px;
  line-height: 65px;
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
}
.company_effort .effort_cont h3::before {
  content: "";
  border-bottom: solid 6.5rem #3A57AC;
  border-right: solid 6.5rem transparent;
  width: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: rotateX(-180deg);
}
.company_effort .effort_cont h3::after {
  content: "";
  border-bottom: solid 6.5rem #3A57AC;
  border-left: solid 6.5rem transparent;
  width: 0;
  position: absolute;
  right: 0;
  bottom: 0;
}
.company_effort .effort_cont h4 {
  font-size: 2.3rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-align: center;
  margin-top: 1.4rem;
}
.company_effort .effort_cont .in {
  margin-top: 5.8rem;
}
.company_effort .effort_cont .in .text p {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-bottom: 2.8rem;
}
.company_effort .effort_cont .in .text .icon_wrap {
  display: flex;
  flex-wrap: wrap;
}
.company_effort .effort_cont .in .text .icon_wrap .icon {
  margin-right: 1.72375%;
  margin-top: 1.724%;
  width: 18.621%;
}
.company_effort .effort_cont .in .text .icon_wrap .icon:nth-child(5n) {
  margin-right: 0;
}
.company_effort .effort_cont .in .text .icon_wrap .icon:nth-child(-n+5) {
  margin-top: 0;
}
.company_effort .effort_cont .in .image span {
  display: block;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-align: right;
  margin-top: .6em;
}
@media screen and (max-width: 1400px) {
  .sustainability_box {
    margin-bottom: 7.1429vw;
    padding: 1.786vw 3.57143vw;
  }
  .sustainability_box .text p {
    font-size: 1.5vw;
    margin-top: 2vw;
  }
  .company_effort {
    padding-bottom: 12.1429vw;
  }
  .company_effort .effort_cont + .effort_cont {
    margin-top: 8.57143vw;
  }
  .company_effort .effort_cont h4 {
    font-size: 2rem;
  }
  .company_effort .effort_cont .in {
    margin-top: 4.1429vw;
  }
  .company_effort .effort_cont .in .text p {
    font-size: 1.4rem;
    margin-bottom: 2.4rem;
  }
  .company_effort .effort_cont .in .image span {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1200px) {
  .company_effort .effort_cont h3 {
    font-size: 1.9rem;
    height: 5rem;
    line-height: 5rem;
  }
  .company_effort .effort_cont h3::before {
    border-bottom: solid 5rem #3A57AC;
    border-right: solid 5rem transparent;
  }
  .company_effort .effort_cont h3::after {
    border-bottom: solid 5rem #3A57AC;
    border-left: solid 5rem transparent;
  }
}
@media screen and (min-width: 769px) {
  .company_effort .effort_cont .in {
    display: flex;
    justify-content: space-between;
  }
  .company_effort .effort_cont.reverse .in {
    flex-flow: row-reverse nowrap;
  }
  .company_effort .effort_cont .in .text {
    width: 48.334%;
  }
  .company_effort .effort_cont .in .image {
    width: 48.334%;
  }
}
@media screen and (max-width: 768px) {
  .sustainability_box {
    margin-bottom: 12vw;
    padding: 3.655% 4.386%;
  }
  .sustainability_box .text {
    width: 68.889%;
  }
  .sustainability_box .text img {
    width: 92.166%;
  }
  .sustainability_box .text p {
    font-size: 1.2rem;
    margin-top: 1.4rem;
  }
  .sustainability_box .icon {
    width: 20.9524%;
  }
  .company_effort .effort_cont h3 {
    font-size: 1.5rem;
    height: 4rem;
    line-height: 4rem;
  }
  .company_effort .effort_cont h3::before {
    border-bottom: solid 4rem #3A57AC;
    border-right: solid 4rem transparent;
  }
  .company_effort .effort_cont h3::after {
    border-bottom: solid 4rem #3A57AC;
    border-left: solid 4rem transparent;
  }
  .company_effort .effort_cont .in .text {
    margin-top: 10.87%;
  }
  .company_effort .effort_cont h4 {
    font-size: 1.5rem;
    margin-top: 0;
    margin-bottom: 1.2rem;
  }
  .company_effort .effort_cont .in .text p {
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
  }
  .company_effort .effort_cont .in .text .icon_wrap .icon {
    margin-right: 1.811625%;
    margin-top: 1.73913%;
    width: 18.5507%;
  }
  .company_effort .effort_cont .in .text .icon_wrap .icon img {
    width: 100%;
  }
}

/* facility */
.facility_link {
  padding: 6rem 0 9rem;
}
.facility_link ul li a {
  background: #fff;
  border: 1px solid #272D74;
  color: #272D74;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  display: block;
  padding: 3.9rem .8rem;
  position: relative;
  text-align: center;
}
.facility_link ul li a:hover {
  opacity: 1.0;
  filter: alpha(opacity=100);
}
.facility_link ul li a::before {
  content: "";
  border-bottom: solid 10px #272D74;
  border-left: solid 10px transparent;
  width: 0;
  position: absolute;
  right: 4px;
  bottom: 4px;
}
.facility_link ul li a.act, 
.facility_link ul li a:hover {
  background: #272D74;
  color: #fff;
}
.facility_link ul li a.act::before, 
.facility_link ul li a:hover::before {
  border-bottom: solid 10px #fff;
}
.facility_link ul li a.off {
  border: 1px solid #BBBBBB;
  color: #BBBBBB;
}
.facility_link ul li a.off:hover {
  background: #272D74;
  border: 1px solid #272D74;
  color: #fff;
}
.facility_link ul li a.off::before {
  border-bottom: solid 10px #BBBBBB;
}
.facility_link ul li a.off:hover::before {
  border-bottom: solid 10px #fff;
}
h2.facility_h2 {
  color: #272D74;
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 3.5rem;
}
h2.facility_h2 span {
  padding: 0 6rem;
  position: relative;
}
h2.facility_h2 span::before, 
h2.facility_h2 span::after {
  background: url(../img/company/ttl_icon.svg) no-repeat;
  background-size: 41px 41px;
  content: "";
  width: 41px;
  height: 41px;
  position: absolute;
  top: 2px;
}
h2.facility_h2 span::before {
  left: 0;
}
h2.facility_h2 span::after {
  right: 0;
}
h3.facility_h3 {
  background: #272D74;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 400;
  height: 65px;
  line-height: 65px;
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
}
h3.facility_h3::before {
  content: "";
  border-bottom: solid 6.5rem #3A57AC;
  border-right: solid 6.5rem transparent;
  width: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: rotateX(-180deg);
}
h3.facility_h3::after {
  content: "";
  border-bottom: solid 6.5rem #3A57AC;
  border-left: solid 6.5rem transparent;
  width: 0;
  position: absolute;
  right: 0;
  bottom: 0;
}
.terminal_area {
  padding-bottom: 14rem;
}
.terminal_content + .terminal_content {
  margin-top: 14rem;
}
.terminal_content h2.facility_h2 {
  margin-top: -8rem;
  padding-top: 8rem;
}
.terminal_content .fig {
  margin-bottom: 3rem;
}
.terminal_content .text {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
.terminal_content table {
  border-collapse: collapse;
  table-layout: fixed;
  margin-top: 2rem;
  width: 100%;
}
.terminal_content table tr:first-child th {
  width: 210px;
}
.terminal_content table th, 
.terminal_content table td {
  border-bottom: 1px solid #CCCCCC;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 2;
}
.terminal_content table tr:first-child th, 
.terminal_content table tr:first-child td {
  border-top: 1px solid #CCCCCC;
}
.terminal_content table th {
  background: #EDF1FD;
  font-weight: 600;
  text-align: center;
  padding: 3rem 1rem;
}
.terminal_content table td {
  background: #fff;
  font-weight: 400;
  padding: 3rem;
}
.terminal_content table td ul li {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  text-indent: -1em;
  padding-left: 1em;
}
.terminal_content h3.facility_h3 {
  margin-top: 6rem;
}
.terminal_content .arrangement_diagram {
  border: 1px solid #272D74;
  border-top: none;
  padding: 1rem calc( 1rem - 1px );
}
.terminal_content .facility_photo {
  margin-top: 5rem
}
.terminal_content .facility_photo h4 {
  color: #272D74;
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 1.5rem;
}
.terminal_content .facility_photo ul {
  display: flex;
}
.terminal_content .facility_photo ul li span {
  display: block;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-align: center;
  margin-top: .5em;
}
.terminal_access {
  border: 1px solid #272D74;
  border-top: none;
  padding: 3rem calc(3.5rem - 1px);
}
.terminal_access .tx h4 {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.terminal_access .tx p {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
  margin-bottom: 1.5em;
}
.terminal_access .tx dl + dl {
  margin-top: 1em;
}
.terminal_access .tx dl dt {
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.terminal_access .tx dl dd {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.low_btn a {
  background-color: #fff;
  background-image: linear-gradient(135deg, #272D74 50%, transparent 50%);
  background-position: 100%;
  background-size: 300%;
  border: 1px solid #272D74;
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  color: #272D74;
  line-height: 1;
  padding: 2.5rem 1.9rem;
  max-width: 300px;
}
.low_btn a:hover {
  background-position: 0;
  color: #fff;
  opacity: 1.0;
  filter: alpha(opacity=100);
}
.low_btn a span {
  position: relative;
  padding-left: 3.6rem;
}
.low_btn a span::before {
  background: url(../img/common/low_btn_icon.svg) no-repeat;
  background-size: 2.5rem 2.5rem;
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  position: absolute;
  left: 0;
  top: -0.2rem;
}
.low_btn a span {
  display: inline-block;
}
.low_btn a:hover span::before {
  background-image: url(../img/common/low_btn_icon_hover.svg);
}
.terminal_access .low_btn {
  margin-top: 3.5rem;
}
.terminal_access .iframe iframe {
  height: 368px;
  width: 100%;
}
@media screen and (max-width: 1400px) {
  .facility_link {
    padding: 4.286vw 0 6.4286vw;
  }
  .facility_link ul li a {
    font-size: 1.4286vw;
    padding: 2.786vw 0.57143vw;
  }
  h2.facility_h2 {
    font-size: 2.1429vw;
    margin-bottom: 2.5vw;
  }
  h2.facility_h2 span {
    padding: 0 4.286vw;
  }
  h2.facility_h2 span::before, 
  h2.facility_h2 span::after {
    background-size: 2.92857vw 2.92857vw;
    width: 2.92857vw;
    height: 2.92857vw;
    top: 2px;
  }
  .terminal_area {
    padding-bottom: 10vw;
  }
  .terminal_content + .terminal_content {
    margin-top: 10vw;
  }
  .terminal_content .fig {
    margin-bottom: 2.1429vw;
  }
  .terminal_content .text {
    font-size: 1.6rem;
  }
  .terminal_content h3.facility_h3 {
    margin-top: 4.285vw;
  }
  .terminal_content .facility_photo {
    margin-top: 3.57143vw;
  }
  .terminal_content .facility_photo h4 {
    font-size: 1.8rem;
  }
  .terminal_content .facility_photo ul li span {
    font-size: 1.5rem;
  }
  .terminal_access .iframe iframe {
    height: 26.286vw;
  }
  .terminal_access {
    padding: 2.1429vw calc(2.5vw - 1px);
  }
  .terminal_access .tx h4 {
    font-size: 1.57143vw;
  }
  .terminal_access .tx p {
    font-size: 1.1429vw;
  }
  .terminal_access .tx dl dt {
    font-size: 1.1429vw;
  }
  .terminal_access .tx dl dd {
    font-size: 1.1429vw;
  }
  .terminal_access .low_btn {
    margin-top: 2.5vw;
  }
  .low_btn a {
    font-size: 1.4rem;
    padding: 1.785vw 1.357143vw;
  }
  .low_btn a span {
    padding-left: 2.2rem;
  }
  .low_btn a span::before {
    background-size: 1.7rem 1.7rem;
    width: 1.7rem;
    height: 1.7rem;
    top: -0.1rem;
  }
}
@media screen and (max-width: 1200px) {
  h3.facility_h3 {
    font-size: 1.9rem;
    height: 5rem;
    line-height: 5rem;
  }
  h3.facility_h3::before {
    border-bottom: solid 5rem #3A57AC;
    border-right: solid 5rem transparent;
  }
  h3.facility_h3::after {
    border-bottom: solid 5rem #3A57AC;
    border-left: solid 5rem transparent;
  }
}
@media screen and (min-width: 769px) {
  .facility_link ul {
    display: flex;
    justify-content: space-between;
  }
  .facility_link ul li {
    width: 23.75%;
  }
  .terminal_content .facility_photo ul {
    justify-content: space-between;
  }
  .terminal_content .facility_photo ul.cl03 li {
    width: 31.667%;
  }
  .terminal_content .facility_photo ul.cl04 li {
    width: 23.25%;
  }
  .terminal_access {
    display: flex;
    justify-content: space-between;
  }
  .terminal_access .tx {
    width: 39.823%;
  }
  .terminal_access .map {
    width: 55.93%;
  }
}
@media screen and (max-width: 768px) {
  .facility_link {
    padding: 4vw 0 13.333vw;
  }
  .facility_link ul li + li {
    margin-top: 2.609%;
  }
  .facility_link ul li a {
    font-size: 1.5rem;
    padding: 1.4rem .8rem;
  }
  .facility_link ul li a::before {
    border-bottom: solid 7px #272D74;
    border-left: solid 7px transparent;
    right: 3px;
    bottom: 3px;
  }
  .facility_link ul li a.act::before, 
  .facility_link ul li a:hover::before {
    border-bottom: solid 7px #fff;
  }
  .facility_link ul li a.off::before {
    border-bottom: solid 7px #BBBBBB;
  }
  .facility_link ul li a.off:hover::before {
    border-bottom: solid 7px #fff;
  }
  h2.facility_h2 {
    font-size: 1.7rem;
    margin-bottom: 2rem;
  }
  h2.facility_h2 span {
    padding: 0 3rem;
  }
  h2.facility_h2 span::before, 
  h2.facility_h2 span::after {
    background-size: 24px 24px;
    width: 24px;
    height: 24px;
    top: 1px;
  }
  h3.facility_h3 {
    font-size: 1.5rem;
    height: 4rem;
    line-height: 4rem;
  }
  h3.facility_h3::before {
    border-bottom: solid 4rem #3A57AC;
    border-right: solid 4rem transparent;
  }
  h3.facility_h3::after {
    border-bottom: solid 4rem #3A57AC;
    border-left: solid 4rem transparent;
  }
  .terminal_area {
    padding-bottom: 13.333vw;
  }
  .terminal_content h2.facility_h2 {
    margin-top: -7rem;
    padding-top: 7rem;
  }
  .terminal_content + .terminal_content {
    margin-top: 13.34vw;
  }
  .terminal_content .fig {
    margin-bottom: 2rem;
  }
  .terminal_content .text {
    font-size: 1.2rem;
  }
  .terminal_content table {
    margin-top: 1.5rem;
  }
  .terminal_content table tr:first-child th {
    width: 23.19%;
  }
  .terminal_content table th, 
  .terminal_content table td {
    font-size: 1.2rem;
  }
  .terminal_content table th {
    padding: 1.6rem 1rem;
  }
  .terminal_content table td {
    padding: 1.6rem 1rem;
  }
  .terminal_content table td ul li {
    font-size: 1.2rem;
  }
  .terminal_content h3.facility_h3 {
    margin-top: 6.6666vw;
  }
  .terminal_content .facility_photo {
    margin-top: 5.3333vw;
  }
  .terminal_content .facility_photo h4 {
    font-size: 1.5rem;
  }
  .terminal_content .facility_photo ul {
    flex-wrap: wrap;
  }
  .terminal_content .facility_photo ul.cl03 {
    justify-content: center;
  }
  .terminal_content .facility_photo ul.cl03 li {
    margin-right: 3.768%;
    margin-top: 3.4783%;
    width: 48.116%;
  }
  .terminal_content .facility_photo ul.cl03 li:nth-child(2n) {
    margin-right: 0;
  }
  .terminal_content .facility_photo ul.cl03 li:nth-child(-n+2) {
    margin-top: 0;
  }
  .terminal_content .facility_photo ul.cl04 li {
    margin-right: 3.768%;
    margin-top: 3.4783%;
    width: 48.116%;
  }
  .terminal_content .facility_photo ul.cl04 li:nth-child(2n) {
    margin-right: 0;
  }
  .terminal_content .facility_photo ul.cl04 li:nth-child(-n+2) {
    margin-top: 0;
  }
  .terminal_content .facility_photo ul li span {
    font-size: 1.2rem;
  }
  .low_btn a {
    font-size: 1.5rem;
    padding: 22px 5px;
    max-width: 100%;
  }
  .terminal_access {
    padding: 1.8rem calc(1.5rem - 1px);
  }
  .terminal_access .tx h4 {
    font-size: 1.6rem;
  }
  .terminal_access .tx p {
    font-size: 1.3rem;
  }
  .terminal_access .tx dl dt {
    font-size: 1.3rem;
  }
  .terminal_access .tx dl dd {
    font-size: 1.3rem;
  }
  .terminal_access .map {
    margin-top: 2.5rem;
  }
  .terminal_access .iframe {
    width: 100%;
    padding: 61.3333% 0 0;
    padding: calc(368 / 600 * 100%) 0 0;
    position: relative;
    box-sizing: border-box;
  }
  .terminal_access .iframe iframe {
    width: 100%;
    margin: 0 auto;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
}
.facility_function {
  padding-bottom: 14.5rem;
}
.facility_function .fig {
  margin-bottom: 5rem;
}
.facility_function .text {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-bottom: 1.5rem;
}
.facility_function .list li {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.facility_function .list li::before {
  color: #3071B9;
  content: "● ";
}
@media screen and (max-width: 1400px) {
  .facility_function {
    padding-bottom: 10.36vw;
  }
  .facility_function .fig {
    margin-bottom: 3.5715vw;
  }
  .facility_function .text {
    margin-bottom: 1.07143vw;
  }
}
@media screen and (max-width: 768px) {
  .facility_function {
    padding-bottom: 13.333vw;
  }
  .facility_function .fig {
    margin-bottom: 7.83333vw;
  }
  .facility_function .text {
    font-size: 1.3rem;
    margin-bottom: 1.2rem;
  }
  .facility_function .list li {
    font-size: 1.6rem;
  }
}
.facility_free {
  padding-bottom: 15rem;
}
.facility_free .fig {
  margin-bottom: 5rem;
}
.facility_free .lead {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-bottom: 7.2rem;
  text-align: center;
}
.facility_free .free_cont {
  text-align: center;
}
.facility_free .free_cont + .free_cont {
  margin-top: 9rem;
}
.facility_free .free_cont .facility_h3 {
  margin-bottom: 3.5rem;
}
.facility_free .free_cont .offering_tx {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
}
.facility_free .free_cont .offering_sub {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  margin-top: 1em;
}
.pdf_btn a {
  background-color: #fff;
  background-image: linear-gradient(135deg, #272D74 50%, transparent 50%);
  background-position: 100%;
  background-size: 300%;
  border: 1px solid #272D74;
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  color: #272D74;
  line-height: 1;
  text-align: center;
  padding: 3rem 1.5rem;
  max-width: 440px;
  margin: 0 auto;
}
.pdf_btn a:hover {
  background-position: 0;
  color: #fff;
  opacity: 1.0;
  filter: alpha(opacity=100);
}
.pdf_btn a span {
  position: relative;
  padding-left: 3.6rem;
}
.pdf_btn a span::before {
  background: url(../img/common/pdf_btn_icon.svg) no-repeat;
  background-size: 2.5rem 2.5rem;
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  position: absolute;
  left: 0;
  top: -0.2rem;
}
.pdf_btn a span {
  display: inline-block;
}
.pdf_btn a:hover span::before {
  background-image: url(../img/common/pdf_btn_icon_hover.svg);
}
.contact_btn a {
  background-color: #fff;
  background-image: linear-gradient(135deg, #272D74 50%, transparent 50%);
  background-position: 100%;
  background-size: 300%;
  border: 1px solid #272D74;
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  color: #272D74;
  line-height: 1;
  text-align: center;
  padding: 3rem 1.5rem;
  max-width: 440px;
  margin: 0 auto;
}
.contact_btn a:hover {
  background-position: 0;
  color: #fff;
  opacity: 1.0;
  filter: alpha(opacity=100);
}
.facility_free .contact_btn {
  margin-top: 10rem;
}
.facility_free .free_cont .pdf_btn {
  margin-top: 3.5rem;
}
@media screen and (max-width: 1400px) {
  .facility_free {
    padding-bottom: 10.7143vw;
  }
  .facility_free .fig {
    margin-bottom: 3.57143vw;
  }
  .facility_free .lead {
    font-size: 1.6rem;
    margin-bottom: 5.1428vw;
  }
  .facility_free .free_cont + .free_cont {
    margin-top: 6.4286vw;
  }
  .facility_free .free_cont .facility_h3 {
    margin-bottom: 2.5vw;
  }
  .facility_free .free_cont .offering_tx {
    font-size: 2rem;
  }
  .facility_free .free_cont .offering_sub {
    font-size: 1.6rem;
  }
  .pdf_btn a {
    font-size: 1.286vw;
    padding: 2.1429vw 1.07142vw;
  }
  .contact_btn a {
    font-size: 1.286vw;
    padding: 2.1429vw 1.07142vw;
  }
  .facility_free .contact_btn {
    margin-top: 7.1429vw;
  }
  .facility_free .free_cont .pdf_btn {
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .facility_free {
    padding-bottom: 16vw;
  }
  .facility_free .fig {
    margin-bottom: 5.3333vw;
  }
  .facility_free .lead {
    font-size: 1.8rem;
    margin-bottom: 8vw;
  }
  .facility_free .free_cont + .free_cont {
    margin-top: 10.666vw;
  }
  .facility_free .free_cont .facility_h3 {
    margin-bottom: 4vw;
  }
  .facility_free .free_cont .offering_tx {
    font-size: 1.4rem;
  }
  .facility_free .free_cont .offering_sub {
    font-size: 1.2rem;
  }
  .pdf_btn a {
    font-size: 1.5rem;
    padding: 2rem .5rem;
    max-width: 100%;
  }
  .contact_btn a {
    font-size: 1.5rem;
    padding: 2rem .5rem;
    max-width: 100%;
  }
  .facility_free .contact_btn {
    margin-top: 11.3333vw;
  }
  .facility_free .free_cont .pdf_btn {
    margin-top: 4vw;
  }
}

/* news */
.news_content {
  padding: 10rem 0 15rem;
}
.news_content .news_list li {
  border-bottom: 1px dashed #666666;
  padding: 3rem 0;
  display: flex;
  align-items: center;
}
.news_content .news_list li:first-child {
  border-top: 1px dashed #666666;
}
.news_content .news_list li .date {
  color: #333333;
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1;
  min-width: 112px;
}
.news_content .news_list li .tl {
  font-size: 1.9rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  flex-grow: 1;
}
.news_content .news_list li .tl a {
  color: #333333;
}
.news_content .wp-pagenavi {
  clear: none;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 6rem;
}
.news_content .wp-pagenavi a, 
.news_content .wp-pagenavi span {
  border: 1px solid #272D74;
  color: #272D74;
  font-size: 2.2rem;
  font-family: "Akshar", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 4.8rem;
  margin: 0 .9rem;
  padding: .3rem .5rem;
  position: relative;
  height: 5rem;
  text-align: center;
  width: 5rem;
}
.wp-pagenavi span.current {
  background: #272D74;
  color: #fff;
  font-weight: 400;
}
.news_content .wp-pagenavi a.previouspostslink, 
.news_content .wp-pagenavi a.nextpostslink {
  border: none;
  text-indent: -9999px;
  padding: 0;
}
.news_content .wp-pagenavi a.previouspostslink {
  margin: 0 3rem 0 0;
}
.news_content .wp-pagenavi a.nextpostslink {
  margin: 0 0 0 3rem;
}
.news_content .wp-pagenavi a.previouspostslink::before, 
.news_content .wp-pagenavi a.nextpostslink::before {
  background-size: 4.3rem .9rem;
  content: "";
  width: 4.3rem;
  height: .9rem;
  position: absolute;
  top: 50%;
  margin-top: -0.45rem;
}
.news_content .wp-pagenavi a.previouspostslink::before {
  background: url(../img/common/icon_prev.svg) no-repeat;
  left: 0;
}
.news_content .wp-pagenavi a.nextpostslink::before {
  background: url(../img/common/icon_next.svg) no-repeat;
  right: 0;
}
@media screen and (max-width: 1400px) {
  .news_content {
    padding: 7.1429vw 0 10.7143vw;
  }
  .news_content .news_list li {
    padding: 2.1428vw 0;
  }
  .news_content .news_list li .date {
    font-size: 1.07143vw;
    min-width: 112px;
  }
  .news_content .news_list li .tl {
    font-size: 1.357143vw;
  }
}
@media screen and (max-width: 1200px) {
  .news_content .wp-pagenavi a, 
  .news_content .wp-pagenavi span {
    font-size: 2rem;
    line-height: 3.8rem;
    margin: 0 .9rem;
    height: 4rem;
    width: 4rem;
  }
  .news_content .wp-pagenavi a.previouspostslink {
    margin: 0 2.6rem 0 0;
  }
  .news_content .wp-pagenavi a.nextpostslink {
    margin: 0 0 0 2.6rem;
  }
  .news_content .wp-pagenavi a.previouspostslink::before, 
  .news_content .wp-pagenavi a.nextpostslink::before {
    background-size: 4rem .8rem;
    width: 4rem;
    height: .8rem;
    margin-top: -0.4rem;
  }
}
@media screen and (max-width: 768px) {
  .news_content {
    padding: 10.666vw 0 13.333vw;
  }
  .news_content .news_list li {
    display: block;
    padding: 3.7333vw 0;
  }
  .news_content .news_list li:nth-child(3n) {
    display: none;
  }
  .news_content .news_list li .date {
    font-size: 1.1rem;
    margin-bottom: .75em;
    min-width: auto;
  }
  .news_content .news_list li .tl {
    font-size: 1.3rem;
    line-height: 1.75;
  }
  .news_content .wp-pagenavi {
    margin-top: 6.666vw;
  }
  .news_content .wp-pagenavi a, 
  .news_content .wp-pagenavi span {
    font-size: 1.8rem;
    line-height: 3.2rem;
    margin: 0 .8rem;
    height: 3.4rem;
    width: 3.4rem;
  }
  .news_content .wp-pagenavi a.previouspostslink {
    margin: 0 1.6rem 0 0;
  }
  .news_content .wp-pagenavi a.nextpostslink {
    margin: 0 0 0 1.6rem;
  }
  .news_content .wp-pagenavi a.previouspostslink::before, 
  .news_content .wp-pagenavi a.nextpostslink::before {
    background-size: 3.6rem .8rem;
    width: 3.6rem;
    height: .8rem;
    margin-top: -0.4rem;
  }
}
.news_content.single .wrap {
  max-width: 900px;
}
.news_content.single .date {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  margin-bottom: .8em;
}
.news_content.single h1 {
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-bottom: 1em;
}
.news_content.single .content_wrap {
  margin-top: 4.4rem;
}
.news_content.single .content_wrap h2 {
  border-left: .6rem solid #272D74;
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin: 1.75em 0 1.5em;
  padding: .45em .9em;
}
.news_content.single .content_wrap h2:first-child {
  margin-top: 0;
}
.news_content.single .content_wrap h3 {
  border-bottom: .2rem solid #EDEDED;
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  position: relative;
  margin: 1em 0 2em;
  padding-bottom: .7em;
}
.news_content.single .content_wrap h3::before {
  background: #272D74;
  content:"";
  display: block;
  position: absolute;
  bottom: -.2rem;
  left: 0;
  width: 13.5rem;
  height: .2rem;
}
.news_content.single .content_wrap h4 {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin: 1em 0;
}
.news_content.single .content_wrap h5 {
  background: #F8F8F8;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 2;
  margin: 1.5em 0;
  padding: 1em 1.5em;
}
.news_content.single .content_wrap p {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 2;
  margin: 1em 0;
}
.news_content.single .content_wrap h2:last-child, 
.news_content.single .content_wrap h3:last-child, 
.news_content.single .content_wrap h4:last-child, 
.news_content.single .content_wrap h5:last-child, 
.news_content.single .content_wrap p:last-child {
  margin-bottom: 0;
}
.single_pagenavi {
  margin-top: 6.5rem;
}
.single_pagenavi ul {
  display: flex;
  align-items: center;
  justify-content: center;
}
.single_pagenavi ul .item a {
  color: #272D74;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  position: relative;
}
.single_pagenavi ul .item.prev {
  margin-right: 3rem;
}
.single_pagenavi ul .item.prev a {
  padding-left: 5.5rem;
}
.single_pagenavi ul .item.next {
  margin-left: 3rem;
}
.single_pagenavi ul .item.next a {
  padding-right: 5.5rem;
}
.single_pagenavi ul .item.prev a:before, 
.single_pagenavi ul .item.next a:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: .6rem;
  width: 4rem;
  height: .9rem;
  background: url(../img/common/icon_single.svg) no-repeat center center;
  background-size: 4rem .9rem;
}
.single_pagenavi ul .item.prev a:before {
  transform: rotate(180deg);
  left: 0;
}
.single_pagenavi ul .item.next a:before {
  right: 0;
}
.single_pagenavi ul .btn a {
  background-color: #fff;
  background-image: linear-gradient(135deg, #272D74 50%, transparent 50%);
  background-position: 100%;
  background-size: 300%;
  border: 1px solid #272D74;
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  color: #272D74;
  line-height: 1;
  text-align: center;
  padding: 1.6rem 1rem;
  width: 18.6rem;
}
@media screen and (max-width: 1400px) {
  .news_content.single .content_wrap {
    margin-top: 3.1429vw;
  }
  .single_pagenavi {
    margin-top: 4.643vw;
  }
}
@media screen and (max-width: 1200px) {
  .news_content.single .date {
    font-size: 1.4rem;
  }
  .news_content.single h1 {
    font-size: 2.6rem;
  }
  .news_content.single .content_wrap h2 {
    border-left: .5rem solid #272D74;
    font-size: 2.2rem;
  }
  .news_content.single .content_wrap h3 {
    font-size: 2.2rem;
  }
  .news_content.single .content_wrap h3::before {
    width: 13rem;
  }
  .news_content.single .content_wrap h4 {
    font-size: 1.8rem;
  }
  .news_content.single .content_wrap h5 {
    font-size: 1.4rem;
  }
  .news_content.single .content_wrap p {
    font-size: 1.5rem;
  }
  .single_pagenavi ul .item a {
    font-size: 1.8rem;
  }
  .single_pagenavi ul .item.prev {
    margin-right: 2.5rem;
  }
  .single_pagenavi ul .item.prev a {
    padding-left: 5rem;
  }
  .single_pagenavi ul .item.next {
    margin-left: 2.5rem;
  }
  .single_pagenavi ul .item.next a {
    padding-right: 5rem;
  }
  .single_pagenavi ul .btn a {
    font-size: 1.5rem;
    width: 18rem;
  }
}
@media screen and (max-width: 768px) {
  .news_content.single .content_wrap {
    margin-top: 4.6666vw;
  }
  .news_content.single .date {
    font-size: 1.3rem;
  }
  .news_content.single h1 {
    font-size: 2.2rem;
  }
  .news_content.single .content_wrap h2 {
    border-left: .4rem solid #272D74;
    font-size: 1.8rem;
  }
  .news_content.single .content_wrap h3 {
    font-size: 2rem;
  }
  .news_content.single .content_wrap h3::before {
    width: 10rem;
  }
  .news_content.single .content_wrap h4 {
    font-size: 1.6rem;
  }
  .news_content.single .content_wrap h5 {
    font-size: 1.3rem;
  }
  .news_content.single .content_wrap p {
    font-size: 1.4rem;
  }
  .single_pagenavi {
    margin-top: 7.3333vw;
  }
  .single_pagenavi ul .item a {
    font-size: 1.5rem;
  }
  .single_pagenavi ul .item.prev {
    margin-right: 1.8rem;
  }
  .single_pagenavi ul .item.prev a {
    padding-left: 4.5rem;
  }
  .single_pagenavi ul .item.next {
    margin-left: 1.8rem;
  }
  .single_pagenavi ul .item.next a {
    padding-right: 4.5rem;
  }
  .single_pagenavi ul .item.prev a:before, 
  .single_pagenavi ul .item.next a:before {
    top: .8rem;
    width: 4rem;
    height: .6rem;
    background-size: 3rem .6rem;
  }
  .single_pagenavi ul .btn a {
    font-size: 1.4rem;
    width: 12rem;
  }
}

/* privacy */
.privacy_content {
  padding: 8rem 0 15rem;
}
.privacy_content .lead {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 5rem;
}
.privacy_content .privacy_in h2 {
  background: #272D74;
  color: #fff;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  height: 6.5rem;
  line-height: 6.5rem;
  margin-bottom: 3rem;
  padding: 0 8.7rem;
  position: relative;
}
.privacy_content .privacy_in h2 span {
  background: #3A57AC;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  position: absolute;
  top: 0;
  left: 0;
  height: 6.5rem;
  line-height: 6.5rem;
  text-align: center;
  width: 6.5rem;
}
.privacy_content .privacy_in p + h2, 
.privacy_content .privacy_in ol + h2 {
  margin-top: 5rem;
}
.privacy_content .privacy_in ol {
  counter-reset: number;
  list-style: none;
  margin-top: 1em;
}
.privacy_content .privacy_in ol li {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  text-indent: -.9em;
  padding-left: .9em;
}
.privacy_content .privacy_in ol li::before{
  counter-increment: number;
  content: counter(number)'.';
}
.privacy_content .privacy_in p {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media screen and (max-width: 1400px) {
  .privacy_content {
    padding: 5.7143vw 0 10.7143vw;
  }
  .privacy_content .lead {
    margin-bottom: 3.57143vw;
  }
}
@media screen and (max-width: 1200px) {
  .privacy_content .lead {
    font-size: 1.5rem;
  }
  .privacy_content .privacy_in h2 {
    font-size: 1.7rem;
    height: 5rem;
    line-height: 5rem;
    padding: 0 6.5rem;
  }
  .privacy_content .privacy_in h2 span {
    font-size: 2rem;
    height: 5rem;
    line-height: 5rem;
    width: 5rem;
  }
  .privacy_content .privacy_in ol li {
    font-size: 1.5rem;
  }
  .privacy_content .privacy_in p {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .privacy_content {
    padding: 9.3333vw 0 13.333vw;
  }
  .privacy_content .lead {
    font-size: 1.3rem;
    margin-bottom: 2.8571vw;
    text-align: left;
  }
  .privacy_content .privacy_in h2 {
    font-size: 1.4rem;
    height: 4rem;
    line-height: 4rem;
    margin-bottom: 2.5rem;
    padding: 0 5.5rem;
  }
  .privacy_content .privacy_in h2 span {
    font-size: 1.6rem;
    height: 4rem;
    line-height: 4rem;
    width: 4rem;
  }
  .privacy_content .privacy_in p + h2, 
  .privacy_content .privacy_in ol + h2 {
    margin-top: 3rem;
  }
  .privacy_content .privacy_in ol li {
    font-size: 1.3rem;
  }
  .privacy_content .privacy_in p {
    font-size: 1.3rem;
  }
}

/* sitemap */
.sitemap_content {
  padding: 8rem 0 16rem;
}
.sitemap_content .sitemap > li {
  margin-bottom: 3rem;
}
.sitemap_content .sitemap > li:last-child {
  margin-bottom: 0;
}
.sitemap_content .sitemap > li > a {
  border: 1px solid #272D74;
  display: block;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding: 1.65rem 3.8rem 1.65rem 2.8rem;
  position: relative;
}
.sitemap_content .sitemap > li > a.no_link {
  pointer-events: none;
}
.sitemap_content .sitemap > li > a::before {
  background: #272D74;
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  height: 100%;
  width: 8px;
}
.sitemap_content .sitemap > li > a::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid #272d74;
  border-right: 0;
  margin-top: -6px;
  position: absolute;
  top: 50%;
  right: 10px;
  transition: transform 0.3s ease;
}
.sitemap_content .sitemap > li > a.no_link::after {
  content: none;
}
.sitemap_content .sitemap > li > ul {
  margin-top: 1.6rem;
  padding-left: 3.5rem;
}
.sitemap_content .sitemap > li > ul > li + li {
  margin-top: 1.2rem;
}
.sitemap_content .sitemap > li > ul > li > a {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding-left: 2rem;
  position: relative;
}
.sitemap_content .sitemap > li > ul > li > a::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid #272d74;
  border-right: 0;
  margin-top: -6px;
  position: absolute;
  top: 50%;
  left: 0;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 1400px) {
  .sitemap_content {
    padding: 5.7143vw 0 11.4286vw;
  }
}
@media screen and (max-width: 1200px) {
  .sitemap_content .sitemap > li {
    margin-bottom: 2.5rem;
  }
  .sitemap_content .sitemap > li > a {
    font-size: 1.7rem;
    padding: 1.3rem 3.8rem 1.3rem 2.8rem;
  }
  .sitemap_content .sitemap > li > ul {
    margin-top: 1.4rem;
    padding-left: 3rem;
  }
  .sitemap_content .sitemap > li > ul > li + li {
    margin-top: 1rem;
  }
  .sitemap_content .sitemap > li > ul > li > a {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .sitemap_content {
    padding: 9.3333vw 0 13.333vw;
  }
  .sitemap_content .sitemap > li {
    margin-bottom: 2rem;
  }
  .sitemap_content .sitemap > li > a {
    font-size: 1.4rem;
    padding: 1.15rem 3rem 1.15rem 2rem;
  }
  .sitemap_content .sitemap > li > a::before {
    width: 6px;
  }
  .sitemap_content .sitemap > li > a::after {
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid #272d74;
    margin-top: -5px;
  }
  .sitemap_content .sitemap > li > ul {
    margin-top: 1.2rem;
    padding-left: 1.5rem;
  }
  .sitemap_content .sitemap > li > ul > li + li {
    margin-top: 1rem;
  }
  .sitemap_content .sitemap > li > ul > li > a {
    font-size: 1.2rem;
  }
  .sitemap_content .sitemap > li > ul > li > a::before {
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid #272d74;
    margin-top: -5px;
  }
}

/* contact */
.contact_form {
  padding: 6rem 0 15rem;
}
.contact_form .contact_lead {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  text-align: center;
  margin-bottom: 5rem;
}
.contact_form dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.contact_form dl + dl {
  margin-top: 2rem;
}
.contact_form dl dt {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
  width: 22%;
}
.contact_form dl dt span.required {
  background: #E50000;
  color: #fff;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: .4rem .5rem;
  max-height: 29px;
}
.contact_form dl dd {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  width: 78%;
}
.contact_form dl dd input[type="text"],
.contact_form dl dd input[type="email"],
.contact_form dl dd select, 
.contact_form dl dd textarea {
  background: #fff;
  border: 1px solid #CCCCCC;
  border-radius: 5px;
  font-family: "Noto Sans JP", serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: 1em 1.5em;
  width: 100%;
  height: 6rem;
}
.contact_form dl dd textarea {
  width: 100%;
  max-width: none;
  height: 260px;
  resize: vertical;
}
.contact_form dl dd input[type="radio"] {
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto;
}
.contact_form dl dd .wpcf7-not-valid-tip {
  font-size: 1.6rem;
  font-weight: 500;
  margin-top: 1.5rem;
}
.contact_form .privacy_check {
  padding-top: 6.5rem;
}
.contact_form .privacy_check input[type="checkbox"] {
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto;
}
.contact_form .privacy_check .privacy_txt {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  text-align: center;
  margin-bottom: 1.5em;
}
.contact_form .privacy_check .privacy_txt a {
  color: #3071B9;
  text-decoration: underline;
}
.contact_form .privacy_check .privacy_txt a:hover {
  text-decoration: none;
}
.contact_form .checkbox_con {
  display: flex;
  justify-content: center;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
}
.contact_form .submit_flex {
  display: flex;
  justify-content: center;
  margin-top: 4.5rem;
}
.contact_form p.submit {
  width: 36rem;
  position: relative;
  cursor: pointer;
}
.contact_form p.submit input[type=submit] {
  background: #fff;
  display: block;
  border: 2px solid #272D74;
  font-size: 1.8rem;
  color: #272D74;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1;
  padding: 2.9rem .8rem;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.contact_form p.submit:hover input[type=submit] {
  background: #272D74;
  color: #fff;
  opacity: 1.0;
  filter: alpha(opacity = 100);
}
.contact_form p.submit span.wpcf7-spinner {
  display: none;
}
.contact_form .wpcf7-response-output {
  font-size: 1.5rem;
}
@media screen and (max-width: 1400px) {
  .contact_form {
    padding: 4.286vw 0 10.7143vw;
  }
}
@media screen and (max-width: 1200px){
  .contact_form dl dt {
    font-size: 1.35rem;
    width: 40%;
  }
  .contact_form dl dd {
    width: 60%;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px){
  .contact_form {
    padding: 6.6666vw 0 13.333vw;
  }
  .contact_form dl {
    display: block;
  }
  .contact_form dl dt {
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    margin-bottom: 1em;
  }
  .contact_form dl dt span.required {
    margin-left: 1em;
    font-size: 1.1rem;
  }
  .contact_form dl dd {
    width: 100%;
  }
  .contact_form dl dd input[type="text"],
  .contact_form dl dd input[type="email"],
  .contact_form dl dd select, 
  .contact_form dl dd textarea {
    font-size: 1.4rem;
    padding: .8em 1em;
    height: 5rem;
  }
  .contact_form .privacy_check {
    padding-top: 4.2rem;
  }
  .contact_form .checkbox_con, 
  .contact_form .wpcf7-form-control-wrap {
    display: block;
  }
  .contact_form .submit_flex {
    display: block;
    margin-top: 4rem;
  }
  .contact_form p.submit {
    margin: 0 auto;
    max-width: 280px;
  }
  .contact_form p.submit input[type=submit] {
    font-size: 1.4rem;
    padding: 2rem 1rem;
    margin: 0;
  }
}