@charset "UTF-8";

#main {
  overflow-x: clip;
}
/* company */
.company1{
  margin-bottom: 90px;
}
.company1 .read{
  letter-spacing: .08em;
}
.company1 .more-btn{
  font-size: 13.5px;
}
.company1 .link-cont{
  display: flex;
  justify-content: space-between;
  gap: 44px;
}
.company1 .link-cont a{
  display: block;
  position: relative;
}
.company1 .link-cont a h2{
  color: #fff;
  font-size: 36px;
  font-weight: 500;
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 70px;
  margin: auto 0;
}
.company1 .link-cont figure img{
  border-radius: 10px;
}
.company1 .link-cont a .more-btn{
  position: absolute;
  right: 72px;
  bottom: 35px;
  margin: 0;
}
.company1 .link-cont a:hover .more-btn:before{
  right: -66px;
}
.company1 .link-cont a:hover .more-btn:after{
  right: -41px;
}
.company2{
  margin-bottom: 100px;
}
.company2 .link-cont{
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}
.company2 .link-cont a{
  font-weight: 500;
  display: block;
  background: #fff;
  position: relative;
  border-radius: 10px;
  padding: 20px 20px 25px;
}
.company2 .link-cont a:after{
  content: "";
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: url(../img/arrow_right_bl_long.svg) center / 20px auto no-repeat #D4E6F1;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.company2 .link-cont a:hover:after{
  right: 10px;
}
.company2 .link-cont a figure{
  margin-bottom: 25px;
}
.company2 .link-cont a figure img{
  border-radius: 10px;
}
.company2 .link-cont a p{
  flex: 1;
  margin-left: 10px;
}
.company3{
  color: #fff;
  font-size: 20px;
  line-height: 1.75;
  padding: 50px;
  border-radius: 10px;
  opacity: 0.8;
  background: #0B61B7;
  display: flex;
  align-items: center;
  margin-bottom: 80px;
}
.company3 figure img{
  border-radius: 10px;
}
.company3 div{
  margin-left: 55px;
  flex: 1;
}
.company3 div h3.company3-read{
  line-height: 1.5;
}
.company3 div .more-btn{
  font-size: 16px;
  margin-right: 50px;
}

@media screen and (max-width: 767px) {
  .company1{
    margin-bottom: 40px;
  }
  .company1 .read{
    line-height: 1.8;
    letter-spacing: .1em;
  }
  .company1 .more-btn{
    font-size: 16px;
  }
  .company1 .link-cont{
    display: block;
  }
  .company1 .link-cont a{
    margin-bottom: 12px;
  }
  .company1 .link-cont a h2{
    font-size: 21px;
    left: 40px;
  }
  .company1 .link-cont a .more-btn{
    right: 60px;
    bottom: 15px;
  }
  .company1 .link-cont a:hover .more-btn:before{
    right: -40px;
  }
  .company1 .link-cont a:hover .more-btn:after{
    right: -25px;
  }
  .company2{
    margin-bottom: 55px;
  }
  .company2 .link-cont{
    display: block;
  }
  .company2 .link-cont a{
    font-size: 16px;
    display: flex;
    align-items: center;
    padding: 12px;
    margin-bottom: 8px;
  }
  .company2 .link-cont a:after{
    right: 12px;
    bottom: 12px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: url(../img/arrow_right_bl_long.svg) center / 10px auto no-repeat #D4E6F1;
  }
  .company2 .link-cont a:hover:after{
    right: 12px;
  }
  .company2 .link-cont a figure{
    position: relative;
    width: 90px;
    height: 80px;
    overflow: hidden;
    margin: 0 8px 0 0;
  }
  .company2 .link-cont a figure img{
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 8px;
  }
  .company3{
    font-size: 16px;
    padding: 20px 20px 25px;
    display: block;
    margin-bottom: 50px;
  }
  .company3 figure{
    margin-bottom: 15px;
  }
  .company3 figure img{
    border-radius: 8px;
  }
  .company3 div{
    margin: 0;
  }
  .company3 div h3.company3-read{
    line-height: 1.5;
  }
  .company3 div .more-btn{
    margin-right: 40px;
  }
}

/* sticky-cont */
.sticky-cont{
  display: flex;
  margin-bottom: 100px;
}
.sticky-cont .sticky-left{
  flex: 1;
}
.sticky-cont .sticky-left .ttl1{
  line-height: 1.1;
}
.sticky-cont .sticky-right{
  width: 280px;
  margin-left: 60px;
}
.sticky-cont .sticky-right nav{
  padding: 20px;
  border-radius: 10px;
  background: #FFF;
  position: -webkit-sticky;
  position: sticky;
  top: 100px;
}
.sticky-cont .sticky-right nav a{
  display: block;
}
.sticky-cont .sticky-right nav a:hover{
  opacity: 1;
}
.sticky-cont .sticky-right nav p{
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 10px;
}
.sticky-cont .sticky-right nav p a{
  position: relative;
  padding: 5px 25px 5px 0;
}
.sticky-cont .sticky-right nav p a:after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto 0;
  width: 20px;
  height: 20px;
  background: url(../img/arrow_right_wh_long.svg) center / 10px auto no-repeat #003A91;
  display: block;
  border-radius: 50%;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.sticky-cont .sticky-right nav p a:hover:after{
  right: -10px;
}
.sticky-cont .sticky-right nav ul{
  border-top: 1px solid #003A91;
  padding: 24px 0;
}
.sticky-cont .sticky-right nav ul li a{
  line-height: 1.75;
  padding: 12px 16px;
  border-radius: 8px;
}
.sticky-cont .sticky-right nav ul li.active a,.sticky-cont .sticky-right nav ul li a:hover{
  color: #003A91;
  background: #F1F9FD;
}
.sticky-cont .sticky-right nav .sidenav-bnr a{
  color: #fff;
  font-size: 20px;
  line-height: 1.7;
  font-weight: 500;
  border-radius: 8px;
  display: block;
  height: 150px;
  display: flex;
  align-items: center;
  padding: 5px 10px 5px 20px;
  position: relative;
}
.sticky-cont .sticky-right nav .sidenav-bnr a:after{
  content: "";
  position: absolute;
  right: 10px;
  bottom: 10px;
  background: url(../img/arrow_right_wh_long.svg) center / 10px auto no-repeat;
  width: 20px;
  height: 20px;
  border: 1px solid #fff;
  border-radius: 50%;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.sticky-cont .sticky-right nav .sidenav-bnr a:hover:after{
  right: 5px;
}
.sticky-cont .sticky-right nav .sidenav-infographic a{
  background: url(../img/company/company-sidenav-infographic.jpg) center / cover no-repeat;
}

@media screen and (max-width: 767px) {
  .sticky-cont{
    display: block;
    margin-bottom: 55px;
  }
  .sticky-cont .sticky-left{
    margin-bottom: 55px;
  }
  .sticky-cont .sticky-right{
    width: auto;
    margin-left: 0;
  }
  .sticky-cont .sticky-right nav{
    font-size: 16px;
    padding-bottom: 30px;
    position: static;
  }
  .sticky-cont .sticky-right nav p{
    margin-bottom: 5px;
  }
  .sticky-cont .sticky-right nav p a:hover:after{
    right: 0;
  }
  .sticky-cont .sticky-right nav .sidenav-bnr a:hover:after{
    right: 10px;
  }
}

/* message */
.message1 figure{
  margin-bottom: 30px;
}
.message1 figure img{
  border-radius: 10px;
}
.message1 .name{
  font-size: 14px;
  text-align: right;
}
.message1 .name strong{
  font-size: 20px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .message1{
    font-size: 16px;
  }
  .message1 figure{
    position: relative;
    height: 0;
    overflow: hidden;
    padding-top: 66.57%;
    margin-bottom: 20px;
  }
  .message1 figure img{
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
  }
}

/* vision */
.vision1{
  display: flex;
  padding: 40px;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  background: #fff;
  margin-bottom: 15px;
}
.vision1 p{
  color: #003A91;
  font-size: 26px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
}
.vision2 dl{
  color: #003A91;
  font-weight: 500;
  line-height: 1.7;
  display: flex;
  padding: 32px 0;
  border-top: 1px solid #9ACBF3;
}
.vision2 dl:first-of-type{
  border-top: none;
}
.vision2 dl:last-of-type{
  margin-bottom: 15px;
}
.vision2 dl dt{
  font-size: 20px;
  font-weight: normal;
  width: 255px;
  padding-left: 25px;
  position: relative;
}
.vision2 dl dt:before,.vision2 dl dt:after{
  content: "";
  position: absolute;
  display: block;
  border-radius: 50%;
}
.vision2 dl dt:before{
  top: 10px;
  left: 0;
  background: #9ACBF3;
  width: 14px;
  height: 14px;
}
.vision2 dl dt:after{
  top: 14px;
  left: 4px;
  background: #0B61B7;
  width: 6px;
  height: 6px;
}
.vision2 dl dd{
  font-size: 26px;
  line-height: 1.5;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .vision1{
    text-align: center;
    display: block;
    padding: 20px;
    margin-bottom: 0;
  }
  .vision1 figure{
    text-align: center;
    padding: 0 20px;
    margin-bottom: 15px;
  }
  .vision1 p{
    font-size: 16px;
    line-height: 1.75;
    text-align: center;
  }
  .vision2{
    font-size: 16px;
  }
  .vision2 dl{
    line-height: 1.75;
    display: block;
    padding: 15px 0;
  }
  .vision2 dl dt{
    font-size: 14px;
    line-height: 1.5;
    width: auto;
    margin-bottom: 10px;
  }
  .vision2 dl dt:before{
    top: 5px;
  }
  .vision2 dl dt:after{
    top: 9px;
  }
  .vision2 dl dd{
    font-size: 16px;
    padding-left: 25px;
    line-height: 1.75;
  }
}

/* outline */
.outline1 .tb1 th{
    vertical-align: top;
}
.outline1 .tb1 ol.ol-list li{
  padding-left: 25px;
  margin-bottom: 3px;
  position: relative;
}
.outline1 .tb1 ol.ol-list li:last-child{
  margin-bottom: 0;
}
.outline1 .tb1 ol.ol-list li em{
  font-style: normal;
  position: absolute;
  top: 0;
  left: 0;
}
.outline1 .tb1 p{
  margin-bottom: 5px;
}
.outline1 .tb1 dl.dl-list{
  display: flex;
}
.outline1 .tb1 dl.dl-list dt{
  width: 120px;
  margin-right: 10px;
}
.outline1 .tb1 dl.dl-list dd{
  flex: 1;
  display: flex;
  flex-wrap: wrap;
}
.outline1 .tb1 dl.dl-list dd p{
  margin: 0 2em 10px 0;
}
@media screen and (max-width: 767px) {
  .outline1{
    font-size: 16px;
  }
  .outline1 .tb1 .ml30{
    margin-left: 1em!important;
  }
  .outline1 .tb1 dl.dl-list dt{
    width: 6.5em;
  }
  .outline1 .tb1 dl.dl-list dd p{
    margin: 0 1em 5px 0;
  }
}

/* history */
ol.history1 > li{
  display: flex;
}
ol.history1 li .year{
  color: #0B61B7;
  font-size: 28px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.57;
  font-family: "Inter", sans-serif;
  width: 120px;
  position: relative;
}
ol.history1 li .year:before,ol.history1 li .year:after{
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  border-radius: 50%;
}
ol.history1 li .year:before{
  top: 14px;
  right: 0;
  width: 18px;
  height: 18px;
  background: #0B61B7;
}
ol.history1 li .year:after{
  top: 19px;
  right: 5px;
  width: 8px;
  height: 8px;
  background: #9ACBF3;
}
ol.history1 li .rightcol{
  flex: 1;
  margin-left: 30px;
  position: relative;
}
ol.history1 li .rightcol:before{
  content: "";
  position: absolute;
  z-index: 1;
  top: 15px;
  left: -39.5px;
  width: 1px;
  height: 100%;
  background: #0B61B7;
}
ol.history1 li .rightcol .flex-box{
  padding-top: 20px;
  display: flex;
}
ol.history1 li .rightcol .flex-box .month{
  color: #0B61B7;
  width: 55px;
  font-weight: 500;
  line-height: 1.83;
}
ol.history1 li .rightcol .flex-box .month em{
  font-size: 24px;
  font-style: normal;
  line-height: 1.75;
  font-family: "Inter", sans-serif;
}
ol.history1 li .rightcol .flex-box div{
  flex: 1;
  padding-top: 7px;
}
ol.history1 li .rightcol .flex-box div ul.ul-list > li{
  padding-left: .7em;
  position: relative;
}
ol.history1 li .rightcol .flex-box div ul.ul-list > li:before{
  content: "";
  position: absolute;
  top: 13px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0B61B7;
}
@media screen and (max-width: 767px) {
  ol.history1 li{
    font-size: 16px;
  }
  ol.history1 li .year{
    font-size: 18px;
    line-height: 2.44;
    width: 70px;
  }
  ol.history1 li .year:before{
    top: 15px;
    width: 13px;
    height: 13px;
  }
  ol.history1 li .year:after{
    top: 19px;
    right: 4px;
    width: 5px;
    height: 5px;
  }
  ol.history1 li .rightcol{
    margin-left: 10px;
  }
  ol.history1 li .rightcol:before{
    left: -17px;
  }
  ol.history1 li .rightcol .flex-box{
    padding-top: 25px;
  }
  ol.history1 li .rightcol .flex-box .month{
    font-size: 13px;
    width: 40px;
    line-height: 2.15;
  }
  ol.history1 li .rightcol  .flex-box.month em{
    font-size: 18px;
  }
}

/* infographic */
.infographic1 .bg-white{
  padding: 30px 40px;
  border-radius: 10px;
  margin-bottom: 20px;
}
.infographic1 .clm2{
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.infographic1 .clm2.bg-white{
  justify-content: flex-start;
}
.infographic1 .clm2 .bg-white{
  width: 48.8%;
  margin-bottom: 0;
}
.infographic1 .bg-white .infographic-ttl{
  color: #003A91;
  font-size: 25px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
  padding-left: 20px;
  position: relative;
}

.infographic1 .bg-white .infographic-ttl:before,.infographic1 .bg-white .infographic-ttl:after{
  content: "";
  position: absolute;
  display: block;
  border-radius: 50%;
}
.infographic1 .bg-white .infographic-ttl:before{
  top: 13px;
  left: 0;
  width: 14px;
  height: 14px;
  background: #9ACBF3;
}
.infographic1 .bg-white .infographic-ttl:after{
  top: 17px;
  left: 4px;
  width: 6px;
  height: 6px;
  background: #0B61B7;
}
.infographic1 .bg-white .num{
  color: #003A91;
  font-size: 23px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.93;
  font-family: "Inter", sans-serif;
  padding-left: 20px;
}
.infographic1 .bg-white .num.pl0{
  padding-left: 0;
}
.infographic1 .bg-white .num em{
  font-style: normal;
  font-size: 68px;
  line-height: 1.09;
}
.infographic1 .bg-white .leftcol .f-blue.f32{
  line-height: 1.5;
  font-weight: 600;
  padding-left: 20px;
}
.infographic1 .bg-white .leftcol{
  margin-right: 35px;
}
.infographic1 .bg-white .leftcol .btn1.btn1-blue{
  color: #fff;
  background: #003A91;
  border-radius: 8px;
  padding: 18px 55px 18px 22px;
}
.infographic1 .bg-white .leftcol .btn1.btn1-blue:after{
  top: inherit;
  width: 18px;
  height: 18px;
  right: 10px;
  bottom: 10px;
  background: url(../img/arrow_right_wh_long.svg) center / 10px auto no-repeat #003A91;
  border: 1px solid #fff;
}
.infographic1 .bg-white .leftcol .btn1.btn1-blue:hover:after{
  right: 5px;
}
.infographic1 .bg-white .rightcol p{
  line-height: 1.75;
}

.infographic1 .infographic2 .num{
  line-height: 1;
}
.infographic1 .infographic2 .num small{
  font-size: 12px;
  font-weight: 400;
}
.infographic2{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.infographic2 .leftcol .num em{
  line-height: 1;
}
.infographic2 .rightcol{
  max-width: 430px;
  margin-left: 30px;
}
.infographic2 .rightcol dl{
  border: 1px solid #9ACBF3;
  border-radius: 8px;
  padding: 10px 28px;
}
.infographic2 .rightcol dl dt{
  font-size: 16px;
  font-weight: 600;
}
.infographic2 .rightcol dl dd ul{
  display: flex;
  flex-wrap: wrap;
}
.infographic2 .rightcol dl dd ul li{
  width: 55%;
  padding-left: 1em;
  position: relative;
}
.infographic2 .rightcol dl dd ul li:nth-child(2n){
  width: 45%;
}
.infographic2 .rightcol dl dd ul li:before{
  content: "";
  position: absolute;
  top: .8em;
  left: .2em;
  width: 7px;
  height: 7px;
  border-radius: 7px;
  background-color: #9ACBF3;
  display: block;
}
ul.infographic3{
  background-color: #F1F9FD;
  border-radius: 8px;
  padding: 28px 40px 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 3.5%;
  margin-bottom: 35px;
}
ul.infographic3 li{
  width: 31%;
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
ul.infographic3 li.top5{
  display: block;
}
ul.infographic3 li.top5 div{
  color: #333;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 15px;
  background-color: #fff;
  max-width: 190px;
}
ul.infographic3 li.top5 div h4,ul.infographic3 li.top5 div h5,ul.infographic3 li.top5 div p{
  text-align: center;
  line-height: 1.4;
}
ul.infographic3 li.top5 div h4{
  font-size: 21px;
  font-weight: 500;
  margin-bottom: 5px;
}
ul.infographic3 li.top5 div h5{
  font-size: 32px;
  line-height: .9;
  font-weight: 700;
  margin-bottom: 10px;
}
ul.infographic3 li.top5 div p{
  font-size: 12px;
  font-weight: 400;
}
ul.infographic3 li div{
  color: #003A91;
  font-size: 16px;
}
.infographic1 ul.infographic3 li div p{
  line-height: 1.4;
}
.infographic1 ul.infographic3 li div .num{
  padding-left: 0;
}
.infographic1 ul.infographic3 li div .num em{
  font-size: 40px;
}
.infographic4{
  display: flex;
}
.infographic4 .leftcol{
  max-width: 250px;
  margin-right: 50px;
}
.infographic4 .leftcol div{
  display: flex;
  align-items: center;
}
.infographic4 .leftcol div .num{
  padding: 0 30px 0 0;
}
.infographic5 div{
    display: flex;
    justify-content: center;
    margin-bottom: 25px;
}
.infographic5 h4{
  color: #003A91;
  font-size: 32.923px;
  text-align: right;
  font-weight: 600;
  line-height: 1.25;
  margin-right: 20px;
}
.infographic1 .infographic5 .num{
  padding-left: 0;
}

@media screen and (max-width: 767px) {
  .infographic1 .bg-white{
    font-size: 16px;
    padding: 20px;
    margin-bottom: 12px;
  }
  .infographic1 .clm2{
    display: block;
  }
  .infographic1 .clm2 .bg-white{
    width: auto;
    margin-bottom: 12px;
  }
  .infographic1 .bg-white .infographic-ttl{
    font-size: 20px;
    font-weight: 500;
    line-height: 1.7;
  }
  .infographic1 .bg-white .infographic-ttl:before{
    top: 12px;
  }
  .infographic1 .bg-white .infographic-ttl:after{
    top: 16px;
  }
  .infographic1 .bg-white .num{
    font-size: 18px;
    line-height: 1.46;
    padding-left: 0;
  }
  .infographic1 .bg-white .num em{
    font-size: 38px;
    line-height: 1.39;
  }
  .infographic1 .bg-white .leftcol .f-blue.f32{
    font-size: 24px;
    line-height: 1;
    padding-left: 0;
  }
  .infographic1 .bg-white .sp-flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .infographic1 .bg-white .sp-flex.f-start{
    align-items: flex-start;
  }
  .infographic1 .bg-white .sp-left{
    margin-right: 25px;
  }
  .infographic1 .bg-white .sp-right{
    flex: 1;
    padding-right: 20px;
  }
  .infographic1 .bg-white .rightcol{
    clear: both;
  }
  .infographic1 .bg-white .leftcol{
    margin-right: 0;
  }
  .infographic1 .bg-white .leftcol .btn1.btn1-blue{
    padding: 15px 35px 15px 20px;
  }
  .infographic1 .bg-white .leftcol .btn1.btn1-blue:after{
    right: 7px;
    bottom: 7px;
  }
  .infographic1 .bg-white .leftcol .btn1.btn1-blue:hover:after{
    right: 7px;
  }
  .infographic2{
    display: block;
    margin-bottom: 12px;
  }
  .infographic1 .bg-white .num.sp-num{
    line-height: 1.1;
  }
  .infographic2 .leftcol{
    width: fit-content;
  }
  .infographic2 .leftcol .num em{
    line-height: 1;
  }
  .infographic2 .rightcol{
    max-width: inherit;
    margin-left: 0;
  }
  .infographic2 .rightcol dl{
    padding: 10px 18px;
  }
  .infographic2 .rightcol dl dd ul li{
    width: 100%;
  }
  .infographic2 .rightcol dl dd ul li:nth-child(2n){
    width: 100%;
  }
  ul.infographic3{
    padding: 18px 20px 8px;
    display: block;
    margin-bottom: 25px;
  }
  ul.infographic3 li{
    width: 100%;
  }
  ul.infographic3 li.top5 div{
    padding: 10px;
    max-width: inherit;
  }
  ul.infographic3 li.top5 div h4,ul.infographic3 li.top5 div h5,ul.infographic3 li.top5 div p{
    line-height: 1.1;
  }
  ul.infographic3 li.top5 div h4{
    font-size: 18px;
  }
  ul.infographic3 li.top5 div h5{
    font-size: 24px;
    margin-bottom: 5px;
  }
  .infographic1 ul.infographic3 li div .num em{
    font-size: 36px;
  }
  .infographic4{
    display: block;
  }
  .infographic4 .leftcol{
    max-width: inherit;
    margin: 0 0 10px;
  }
  .infographic4 .leftcol div{
    display: flex;
    align-items: center;
    margin-bottom: 15px;
  }
  .infographic4 .leftcol div p{
    line-height: 1.4;
  }
  .infographic4 .leftcol div .num{
    padding: 0;
  }
    .infographic5 div{
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 20px;
    }
  .infographic5 .leftcol div{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 10px;
  }
  .infographic5 h4{
    font-size: 23px;
    line-height: 1.4;
    margin-right: 10px;
  }
  .infographic5 h4 br{
    display: none;
  }
  .infographic5.bg-white .sp-left{ margin-right: 0;}
}

/* office */
.office1 .office-ttl{
  color: #333;
  font-size: 26px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 20px;
}
.office1 .tb1 th{
  vertical-align: middle;
}
.office1 .tb1 td{
  padding-right: 100px;
  position: relative;
}
.office1 .tb1 td a.map{
  color: #003A91;
  text-align: center;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  line-height: 1.2;
  display: inline-block;
  padding: 5px 25px 5px 10px;
  border-radius: 6px;
  background: url(../img/icon_external.svg) right 10px center no-repeat #9ACBF3;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto 0;
  height: fit-content;
}
@media screen and (max-width: 767px) {
  .office1 {
    font-size: 16px;
  }
  .office1 .office-ttl{
    font-size: 21px;
    margin-bottom: 20px;
  }
  .office1 .tb1 td{
    padding-right: 0;
  }
  .office1 .tb1 td a.map{
    padding: 7px 27px 7px 10px;
    position: static;
    margin: 15px 0 5px;
  }
}

/* group */
.group1 .group-ttl{
  color: #333;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.7;
  margin-bottom: 20px;
}
.group1 .tb1 th{
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .group1{
    font-size: 16px;
  }
  .group1 .group-ttl{
    font-size: 18px;
    line-height: 1.55;
    margin-bottom: 18px;
  }
}

/* public */
.public1 .pdf{
  color: #003A91;
}
@media screen and (max-width: 767px) {
  .public1{
    font-size: 16px;
  }
}

/* guideline */
.guideline1 .link-cont{
  display: flex;
  flex-wrap: wrap;
  gap: 4.8%;
}
.guideline1 .link-cont a{
  line-height: 1.75;
  display: flex;
  align-items: flex-end;
  width: 30%;
  padding: 0 25px 10px 0;
  border-bottom: 1px solid #003A91;
  position: relative;
  margin-bottom: 30px;
}
.guideline1 .link-cont a.w35{
    width: 35%;
}
.guideline1 .link-cont2 a{width:50% ;}
.guideline1 .link-cont a:hover{
  opacity: 1;
}
.guideline1 .link-cont a:after{
  content: "";
  position: absolute;
  right: 0;
  bottom: 13px;
  margin: auto 0;
  width: 20px;
  height: 20px;
  background: url(../img/arrow_right_wh_long.svg) center / 10px auto no-repeat #003A91;
  display: block;
  border-radius: 50%;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.guideline1 .link-cont a:hover:after{
  right: -10px;
}
.guideline2{
  line-height: 1.75;
}
.guideline2 .guideline2-read{
  color: #003A91;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.7;
  padding-left: 25px;
  position: relative;
  margin-bottom: 7px;
}
.guideline2 .guideline2-read:before,.guideline2 .guideline2-read:after{
  content: "";
  position: absolute;
  display: block;
  border-radius: 50%;
}
.guideline2 .guideline2-read:before{
  background: #9ACBF3;
  top: 12px;
  left: 0;
  width: 14px;
  height: 14px;
}
.guideline2 .guideline2-read:after{
  background: #0B61B7;
  top: 16px;
  left: 4px;
  width: 6px;
  height: 6px;
}
.guideline2 .guideline2-read2{
  color: #003A91;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.7;
  margin-bottom: 7px;
}
.guideline2 dl.dl-article{
  display: flex;
  margin-bottom: 20px;
}
.guideline2 dl.dl-article dt{
  width: 60px;
}
.guideline2 dl.dl-article dd{
  flex: 1;
}
.guideline2 ol li{
  position: relative;
  margin-bottom: 4px;
}
.guideline2 ol.ol-list1 > li{
  padding-left: 48px;
}
.guideline2 ol.ol-list2 > li{
  padding-left: 35px;
}
.guideline2 ol.ol-list3 > li{
  padding-left: 23px;
}
.guideline2 ol li em{
  font-style: normal;
  position: absolute;
  top: 0;
  left: 0;
}
.guideline2 .guideline2-tb th,.guideline2 .guideline2-tb td{
  padding-bottom: 5px;
}
.guideline2 .guideline2-tb th{
  font-weight: normal;
  padding-right: 25px;
}
@media screen and (max-width: 767px) {
  .guideline1 .link-cont{
    gap: 4%;
  }
  .guideline1 .link-cont a{
    width: 48%;
    padding: 0 25px 8px 0;
    margin-bottom: 15px;
  }
  .guideline1 .link-cont a.w35{
    width: 100%;
  }
  .guideline1 .link-cont2 a{width:100% ;}
  .guideline1 .link-cont a:hover:after{
    right: 0;
  }
  .guideline2{
    line-height: 1.5;
  }
  .guideline2 .guideline2-read{
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 5px;
  }
  .guideline2 .guideline2-read:before{
    top: 8px;
  }
  .guideline2 .guideline2-read:after{
    top: 12px;
  }
  .guideline2 dl.dl-article{
    margin-bottom: 15px;
  }
  .guideline2 dl.dl-article dt{
    width: 45px;
  }
  .guideline2 ol.ol-list1 > li{
    padding-left: 30px;
    margin-bottom: 3px;
  }
  .guideline2 .guideline2-tb th,.guideline2 .guideline2-tb td{
    display: block;
    padding-bottom: 3px;
  }
  .guideline2 .guideline2-tb td{
    padding-bottom: 10px;
  }
}
