.remodal-overlay {
  background: #fff;
}
.service_popup h2 {
  font-size: 8.5vw;
  font-weight: 700;
  margin-bottom: 8vw;
  line-height: 1.5;
}
.service_popup .note {
  margin: 5vw 0 12vw;
}
.service_popup .content .col:not(:last-child) {
  margin-bottom: 30px;
}
.service_popup .content .col .gr-txt {
  margin-top: 20px;
}
.service_popup .content .col .gr-txt h3 {
  font-size: 5vw;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #fff;
  background: #0053b9;
  text-align: left;
  padding: 3vw 5% 3vw 7%;
}
.service_popup .content .col .gr-txt .txt {
  text-align: justify;
  margin: 15px 0 0;
}
.service_popup .btn-close {
  margin-top: 40px;
}
#header h1 {
  line-height: 20px;
  margin: 0;
  position: absolute;
  left: 5%;
  right: 5%;
  bottom: 5vw;
  z-index: 2;
}
#header #key {
  position: relative;
  background: url(../img/index/key_bg_sp.jpg) no-repeat center top/cover;
  padding: 13vw 0 20.5vw;
}
#header #key .key-ttl1 {
  text-align: center;
}
#header #key .key-ttl1 img {
  width: 88%;
}
#header #key .key-scroll {
  margin: 8vw 0 10vw;
  display: flex;
}
#header #key .key-scroll .slick-track {
  display: flex !important;
}
#header #key .key-scroll .sl {
  width: 41.5vw !important;
  margin: 0 5px;
}
#header #key .key-ttl2 {
  margin: 0 19% 0 5%;
  position: relative;
  z-index: 2;
}
#header #key .photo {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 57.1%;
  z-index: 1;
}
#lead {
  padding: 10.5vw 0 17vw;
}
#lead .photo {
  margin: -3vw 0 7vw;
}
#lead .gr-txt h2 {
  font-size: 9vw;
  letter-spacing: 0.1em;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 6vw;
}
#lead .gr-txt h2 .fs36 {
  font-size: 6.2vw;
  letter-spacing: 0.1em;
}
#lead .gr-txt h2 .t {
  letter-spacing: 0;
  margin: 0 0 2vw -5vw;
  display: inline-block;
}
#lead .gr-txt h2 .i {
  margin: 0 -3.5vw;
}
#result {
  position: relative;
  padding: 6.5vw 0 25vw;
}
#result::before {
  content: "";
  background: #e9f2fe;
  position: absolute;
  top: 0;
  right: 0;
  width: 57.3%;
  height: 59.3vw;
  z-index: -1;
}
#result .right h2 {
  margin-bottom: 19vw;
}
#result .right h2 .ttl-jp {
  font-weight: 500;
}
#result .left {
  margin-top: 10vw;
}
#result .left .txt {
  font-size: 5.1vw;
  font-weight: 700;
  text-align: center;
}
#result .left .txt span {
  margin-left: 6vw;
  letter-spacing: 0.1em;
}
#result .left .graph {
  margin: 6vw -1px 0 -4px;
}
#how {
  background: url(../img/index/how_arr.png) no-repeat center bottom/17% auto
    #003270;
  color: #fff;
  padding: 11vw 0 32vw;
}
#how h2 {
  font-size: 9.3vw;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 12vw;
  padding-bottom: 8vw;
  background: url(../img/index/how_line.png) repeat-x left bottom;
}
#how .content .set {
  display: flex;
}
#how .content .set .item {
  width: 50%;
}
#how .content .set .item .ttl {
  font-size: 6vw;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  white-space: nowrap;
  position: relative;
  z-index: 2;
}
#how .content .set .item .ttl span {
  letter-spacing: 0.1em;
}
#how .content .set .item .photo {
  width: 31.5vw;
}
#how .content .set1 .item1 {
  padding: 1vw 0 0 10%;
}
#how .content .set1 .item1 .ttl span {
  margin-top: 49vw;
}
#how .content .set1 .item1 .photo {
  margin: 0.1vw 0 0 3%;
}
#how .content .set1 .item2 {
  padding: 6vw 0 0 5.5%;
}
#how .content .set1 .item2 .photo {
  margin-left: -16vw;
}
#how .content .set1 .item2 .ttl {
  margin: -9vw 0 0 10vw;
}
#how .content .set1 .item2 .ttl span {
  margin-top: 18vw;
}
#how .content .set2 {
  margin-top: 5vw;
}
#how .content .set2 .item1 {
  padding: 3vw 0 0 3%;
}
#how .content .set2 .item1 .ttl span {
  margin-top: 18vw;
}
#how .content .set2 .item1 .photo {
  margin: -38vw 0 0 37%;
}
#how .content .set2 .item2 {
  padding-left: 1%;
}
#how .content .set2 .item2 .ttl span {
  margin-top: 18vw;
}
#how .content .set2 .item2 .photo {
  margin: -19vw 0 0 27%;
}
#service {
  position: relative;
  color: #fff;
  padding: 15vw 0 23vw;
}
#service::before {
  content: "";
  background: #003270;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -2;
}
#service .set1 {
  text-align: center;
  padding-bottom: 18vw;
}
#service .set1 h2 {
  font-size: 9.3vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 4vw 0 5vw;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
}
#service .set1 h3 {
  margin: 12vw 0 7vw;
  font-size: 8vw;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
#service .set1 .photo img {
  width: 27%;
}
#service .set2 {
  position: relative;
  padding: 6vw 0 0;
}
#service .set2::before {
  content: "";
  background: #265590;
  position: absolute;
  top: 0;
  left: 0;
  height: 68.1vw;
  width: 34.1%;
  z-index: -1;
}
#service .set2 .row .gr-txt {
  padding: 0 6% 17vw;
}
#service .set2 .row .gr-txt h2 .ttl-eng {
  font-family: "Oswald";
  font-size: 16.7vw;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.05;
}
#service .set2 .row .gr-txt h2 .ttl-eng .fs48 {
  font-size: 12.2vw;
  letter-spacing: 0.01em;
  font-weight: 500;
}
#service .set2 .row .gr-txt h2 .ttl-jp {
  font-size: 7.6vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  display: block;
  margin-top: 6vw;
}
#service .set2 .row .gr-txt .txt {
  margin: 12vw 0 0;
  letter-spacing: 0.05em;
  text-align: center;
}
#service .set2 .row .js {
  padding: 0 5%;
}
#service .set2 .row .js .js-pd {
  padding-bottom: 25vw;
}
#service .set2 .row .js .item .js-img {
  will-change: transform;
  position: relative;
}
#service .set2 .row .js .item .js-img::before {
  content: "";
  background: url(../img/index/service_arr.jpg) no-repeat 0 0/100% auto;
  height: 17vw;
  position: absolute;
  right: 0;
  bottom: -1px;
  width: 17vw;
  z-index: 1;
  will-change: transform;
}
#service .set2 .row .js .item .js-txt {
  margin-top: 9vw;
}
#service .set2 .row .js .item .js-txt dt {
  font-family: "Oswald";
  font-size: 6.6vw;
  letter-spacing: 0;
  color: #99b6db;
  margin-bottom: 1vw;
}
#service .set2 .row .js .item .js-txt dd {
  font-size: 5.1vw;
  letter-spacing: 0;
}
#service .set2 .row .btn-popup {
  width: 85%;
  margin: 15vw auto 0;
}
#service .set2 .row .btn-popup a {
  border-color: #fff;
}
#service .set2 .row .btn-popup a:hover {
  border-color: #0053b9;
}
#service .set2 .row1 {
  padding-bottom: 28vw;
}
#service .set2 .row2 {
  position: relative;
  padding: 3vw 0 0;
}
#service .set2 .row2::before {
  content: "";
  background: #265590;
  position: absolute;
  top: 0;
  right: 0;
  width: 42.4%;
  height: 68.1vw;
  z-index: -1;
}
#service .set2 .row2 .gr-txt {
  padding-bottom: 15vw;
}
#service .set2 .row2 .gr-txt .btn-link {
  margin: 8vw auto 0;
}
#service .set2 .row2 .js .js-pd {
  padding-bottom: 27vw;
}
#senzai {
  background: #e8e8e8;
  padding: 14vw 0 17vw;
}
#senzai .gr-txt {
  margin-top: 8vw;
}
#senzai .gr-txt h2 {
  margin-bottom: 9vw;
  text-align: center;
}
#message {
  padding: 28vw 0 0;
}
#message .set1 h2 {
  margin: 0 0 13vw;
}
#message .set1 .content .gr-txt {
  padding-top: 11vw;
  position: relative;
}
#message .set1 .content .gr-txt::before {
  content: "";
  background: #e9f2fe;
  width: 60%;
  height: 59.2vw;
  position: absolute;
  top: -22.9vw;
  left: -5vw;
  z-index: -1;
}
#message .set1 .content .gr-txt h3 {
  font-size: 7.6vw;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.8;
}
#message .set1 .content .gr-txt h3 .t3 {
  margin: -5px -6vw 0 10vw;
  letter-spacing: 0.12em;
  display: inline-block;
}
#message .set1 .content .gr-txt .athor {
  font-size: 6vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 6vw 0 6vw;
}
#message .set1 .content .gr-txt .athor span {
  font-size: 4vw;
  letter-spacing: 0.1em;
  /* margin-left: 7vw; */
  margin-right: 20px;
}
#message .set1 .content .gr-txt .txt p:not(:last-child) {
  margin-bottom: 9vw;
}
#message .set2 {
  padding: 24vw 0 0;
}
#message .set2 h2 {
  margin-bottom: 9vw;
}
#message .set2 .content dl {
  padding: 30px 0;
  border-bottom: 1px solid #9d9d9d;
}
#message .set2 .content dl dt {
  font-family: "Jost";
  font-size: 7.6vw;
  letter-spacing: 0.01em;
  margin-bottom: 10px;
}
#message .set2 .content dl dd {
  font-size: 16px;
  letter-spacing: 0.1em;
}
#company {
  padding: 27vw 0 0;
}
#company h2 {
  margin-bottom: 12vw;
}
#company .list dl {
  line-height: 30px;
  padding: 12px 4px;
  border-bottom: 1px solid #9d9d9d;
}
#company .list dl dd {
  margin: 9px 0 0 23px;
}
#company .list dl dd .map-link {
  position: relative;
  display: inline-block;
  padding: 0 4px 0 27px;
  letter-spacing: 0.1em;
}
#company .list dl dd .map-link::before {
  content: "";
  background: url(../img/shared/icon_map.png) no-repeat 0 0/100% auto;
  width: 14px;
  height: 32px;
  position: absolute;
  top: 7px;
  left: 4px;
}
#company .list dl dd .map-link::after {
  content: "";
  border-top: 1px solid #000;
  position: absolute;
  right: 2px;
  bottom: 1px;
  left: 0;
}
#company .photo {
  margin-top: 18vw;
}
#map {
  padding: 18vw 0 20vw;
}
#map .map {
  margin: 14vw 0 0;
  height: 480px;
}
#map .map iframe {
  width: 100%;
  height: 100%;
}
#map .btn-map {
  max-width: 67%;
  margin: 11vw auto 0;
}
#map .btn-map a {
  font-size: 16px;
  letter-spacing: 0.1em;
  display: block;
  text-align: center;
  color: #000;
  border: 1px solid #000;
  background: #fff;
  padding: 11px 10px;
  border-radius: 99px;
}
#map .btn-map a img {
  width: 14px;
  margin-right: 13px;
  position: relative;
  top: -1px;
}
@media screen and (min-width: 768px) {
  .service_popup {
    max-width: 1160px;
  }
  .service_popup h2 {
    font-size: 48px;
    line-height: 90px;
    margin-bottom: 50px;
  }
  .service_popup .note {
    margin: 16px 0 50px;
  }
  .service_popup .content {
    display: flex;
    justify-content: space-between;
  }
  .service_popup .content .col {
    width: 530px;
  }
  .service_popup .content .col:not(:last-child) {
    margin-bottom: 0;
  }
  .service_popup .content .col .photo img {
    width: 100%;
    height: auto;
  }
  .service_popup .content .col .gr-txt {
    margin-top: 27px;
  }
  .service_popup .content .col .gr-txt h3 {
    font-size: 25px;
    padding: 16px 10px 16px 25px;
  }
  .service_popup .content .col .gr-txt .txt {
    text-align: left;
    margin: 22px 0 0 18px;
    letter-spacing: 0;
  }
  #header h1 {
    font-size: 14px;
    line-height: 26px;
    left: 69px;
    right: 30px;
    bottom: 25px;
  }
  #header #key {
    background: url(../img/index/key_bg.jpg) no-repeat center top/cover;
    padding: 55px 0 72px;
  }
  #header #key .key-ttl1 {
    text-align: left;
    margin-left: 34px;
  }
  #header #key .key-ttl1 img {
    width: auto;
  }
  #header #key .key-scroll {
    margin: 34px 0 48px;
  }
  #header #key .key-scroll .sl {
    width: 357px !important;
    margin: 0 9px;
  }
  #header #key .key-ttl2 {
    margin: 0 0 0 63px;
  }
  #header #key .photo {
    width: auto;
  }
  #lead {
    padding: 0;
  }
  #lead .catch {
    max-width: 1584px;
    margin: 0 auto -74px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1499px) {
  #lead .catch {
    margin: 0 -42px -74px;
  }
}
@media screen and (min-width: 768px) {
  #lead .catch img {
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width: 768px) {
  #lead .wrap {
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 768px) {
  #lead .photo {
    margin: 0 -154px;
    flex: 1;
    height: 835px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1308px) {
  #lead .photo {
    margin-right: calc(-50vw + 50%);
  }
}
@media screen and (min-width: 768px) {
  #lead .gr-txt {
    width: 694px;
    margin: -10px 0 0;
    position: relative;
    z-index: 2;
  }
  #lead .gr-txt h2 {
    font-size: 56px;
    line-height: 88px;
    margin-bottom: 73px;
  }
  #lead .gr-txt h2 .fs36 {
    font-size: 36px;
    margin-bottom: -10px;
    display: inline-block;
  }
  #lead .gr-txt h2 .t {
    letter-spacing: 0;
    margin: 0 0 0 -26px;
  }
  #lead .gr-txt h2 .i {
    margin: 0 -18px;
  }
  #lead .gr-txt .txt p:not(:last-child) {
    margin-bottom: 36px;
  }
}
@media screen and (min-width: 768px) {
  #result {
    padding: 45px 0 77px;
  }
  #result::before {
    top: 93px;
    width: calc(50% - 183px);
    height: 234px;
  }
  #result .wrap {
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  #result .right {
    width: 358px;
    margin: 91px 102px 0 0;
  }
  #result .right h2 {
    margin: 0 0 83px 45px;
  }
  #result .right .txt {
    text-align: justify;
    letter-spacing: 0.05em;
  }
  #result .left {
    margin-top: 0;
    width: 477px;
  }
  #result .left .txt {
    font-size: 20px;
    text-align: left;
    margin-left: 7px;
  }
  #result .left .txt span {
    margin-left: 24px;
  }
  #result .left .graph {
    margin: 60px 0 0 -47px;
  }
}
@media screen and (min-width: 768px) {
  #how {
    background: url(../img/index/how_arr.png) no-repeat center bottom #003270;
    padding: 131px 0 160px;
  }
  #how h2 {
    font-size: 48px;
    line-height: 66px;
    margin: 0 auto 70px;
    padding-bottom: 20px;
    width: -moz-fit-content;
    width: fit-content;
    background: url(../img/index/how_line.png) repeat-x left bottom;
  }
  #how .content {
    display: flex;
  }
  #how .content .set {
    width: 50%;
  }
  #how .content .set .item {
    width: 50%;
  }
  #how .content .set .item .ttl {
    font-size: 36px;
    line-height: 66px;
  }
  #how .content .set .item .photo {
    width: auto;
  }
  #how .content .set1 .item1 {
    padding: 41px 0 0;
  }
  #how .content .set1 .item1 .ttl {
    margin-left: -2px;
  }
  #how .content .set1 .item1 .ttl span {
    margin-top: 277px;
  }
  #how .content .set1 .item1 .photo {
    margin: -8px 0 0 15px;
  }
  #how .content .set1 .item2 {
    padding: 110px 0 0;
  }
  #how .content .set1 .item2 .photo {
    margin-left: -21px;
  }
  #how .content .set1 .item2 .ttl {
    margin: -41px 0 0 56px;
  }
  #how .content .set1 .item2 .ttl span {
    margin-top: 80px;
  }
  #how .content .set2 {
    margin-top: 0;
  }
  #how .content .set2 .item1 {
    padding: 75px 0 0 61px;
  }
  #how .content .set2 .item1 .ttl span {
    margin-top: 79px;
  }
  #how .content .set2 .item1 .photo {
    margin: -139px 0 0 77px;
  }
  #how .content .set2 .item2 {
    padding-left: 82px;
  }
  #how .content .set2 .item2 .ttl span {
    margin-top: 80px;
  }
  #how .content .set2 .item2 .photo {
    margin: -60px 0 0 68px;
  }
}
@media screen and (min-width: 768px) {
  #service {
    padding: 58px 0 138px;
  }
  #service .set1 {
    padding-bottom: 0;
  }
  #service .set1 h2 {
    font-size: 62px;
    line-height: 100px;
    padding: 23px 0 24px;
    letter-spacing: 0;
  }
  #service .set1 h3 {
    margin: 53px 0 29px;
    font-size: 40px;
    line-height: 90px;
  }
  #service .set1 .photo img {
    width: 150px;
    height: auto;
  }
  #service .set2 {
    padding: 7px 0 0;
  }
  #service .set2::before {
    height: 269px;
    width: 200px;
    top: -16px;
  }
  #service .set2 .row {
    min-height: 600px;
  }
  #service .set2 .row .gr-txt {
    padding: 0;
    margin-left: 91px;
    width: 325px;
  }
  #service .set2 .row .gr-txt h2 .ttl-eng {
    font-size: 66px;
    line-height: 69px;
  }
  #service .set2 .row .gr-txt h2 .ttl-eng .fs48 {
    font-size: 48px;
  }
  #service .set2 .row .gr-txt h2 .ttl-jp {
    font-size: 30px;
    text-align: left;
    margin: 27px 0 0 57px;
  }
  #service .set2 .row .gr-txt .txt {
    margin: 43px 5px 0 59px;
    letter-spacing: 0.01em;
    text-align: justify;
  }
  #service .set2 .row .gr-txt .btn-link {
    margin: 40px 0 0 61px;
  }
  #service .set2 .row .gr-txt .btn-link a::before {
    background: #005bb6;
  }
  #service .set2 .row .gr-txt .btn-link a:hover {
    border-color: #005bb6;
  }
  #service .set2 .row .js {
    padding: 0;
    position: absolute;
    top: 62px;
    left: 462px;
  }
  #service .set2 .row .js .js-pd {
    padding-bottom: 0;
  }
  #service .set2 .row .js .item {
    width: 361px !important;
    margin: 0 21px;
  }
  #service .set2 .row .js .item .js-img img {
    opacity: 1 !important;
    transform: none !important;
  }
  #service .set2 .row .js .item .js-img::before {
    height: 69px;
    width: 69px;
  }
  #service .set2 .row .js .item .js-img:hover .frame::before {
    width: 100%;
  }
  #service .set2 .row .js .item .js-img:hover .frame::after {
    height: 100%;
  }
  #service .set2 .row .js .item .js-img .frame::before,
  #service .set2 .row .js .item .js-img .frame::after {
    content: "";
    display: inline-block;
    position: absolute;
    background-color: #003270;
    transition-property: width, height;
    transition-duration: 0.3s;
    transition-timing-function: ease-out;
  }
  #service .set2 .row .js .item .js-img .primary::before {
    top: 0;
    left: 0;
    width: 0;
    height: 10px;
  }
  #service .set2 .row .js .item .js-img .primary::after {
    top: 0;
    right: 0;
    width: 10px;
    height: 0;
    transition-delay: 0.1s;
  }
  #service .set2 .row .js .item .js-img .secondary::before {
    bottom: 0;
    right: 0;
    width: 0;
    height: 10px;
  }
  #service .set2 .row .js .item .js-img .secondary::after {
    bottom: 0;
    left: 0;
    width: 10px;
    height: 0;
    transition-delay: 0.1s;
  }
  #service .set2 .row .js .item .js-txt {
    margin: 35px 0 0 5px;
  }
  #service .set2 .row .js .item .js-txt dt {
    font-size: 26px;
    letter-spacing: 0;
    margin-bottom: 9px;
  }
  #service .set2 .row .js .item .js-txt dd {
    font-size: 20px;
  }
  #service .set2 .row1 {
    padding-bottom: 0;
    margin-bottom: 113px;
  }
  #service .set2 .row2 {
    padding: 36px 0 0;
    min-height: 630px;
  }
  #service .set2 .row2::before {
    width: 204px;
    height: 269px;
  }
  #service .set2 .row2 .gr-txt {
    padding-bottom: 0;
    margin: 0 85px 0 auto;
  }
  #service .set2 .row2 .gr-txt h2 .ttl-jp {
    margin: 27px 0 0 2px;
  }
  #service .set2 .row2 .gr-txt .txt {
    margin: 44px 0 0 4px;
    letter-spacing: 0;
  }
  #service .set2 .row2 .gr-txt .btn-link {
    margin: 20px 0 0 7px;
  }
  #service .set2 .row2 .js {
    right: 469px;
    left: 0;
    top: 90px;
  }
  #service .set2 .row2 .js .js-pd {
    padding-bottom: 0;
  }
  #service .set2 .row2 .js .slick-arrow.slick-prev {
    left: auto;
    right: -131px;
  }
  #service .set2 .row2 .js .slick-arrow.slick-next {
    left: auto;
    right: -212px;
  }
  #service .set2 .row2 .btn-popup {
    width: 650px;
    margin: 220px auto 0;
  }
}
@media screen and (min-width: 768px) {
  #senzai {
    padding: 121px 0 114px;
  }
  #senzai .wrap {
    max-width: 1318px;
    padding: 0 20px;
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
  }
  #senzai .gr-txt {
    margin: 0;
    padding-left: 50px;
    width: 482px;
  }
  #senzai .gr-txt h2 {
    margin-bottom: 33px;
    text-align: left;
  }
  #senzai .gr-txt h2 .ttl-eng {
    margin-left: -50px;
  }
  #senzai .gr-txt h2 .ttl-jp {
    display: inline-block;
    margin-top: 26px;
  }
  #senzai .gr-txt .txt {
    letter-spacing: 0;
  }
  #senzai .photo {
    flex: 1;
    height: 536px;
    margin: 29px 13px 0 65px;
  }
}
@media screen and (min-width: 768px) {
  #message {
    padding: 180px 0 0;
    position: relative;
  }
  #message::before {
    content: "";
    background: #e9f2fe;
    width: calc(50% - 356px);
    height: 234px;
    position: absolute;
    top: 214px;
    left: 0;
    z-index: -1;
  }
  #message .set1 h2 {
    margin: 0 -98px 48px 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  #message .set1 h2 .ttl-jp {
    margin-left: 67px;
  }
  #message .set1 .content {
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
  }
  #message .set1 .content .photo {
    flex: 1;
    margin: 39px -196px 0 70px;
    height: 848px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1399px) {
  #message .set1 .content .photo {
    margin-right: calc(-50vw + 50%);
  }
}
@media screen and (min-width: 768px) {
  #message .set1 .content .gr-txt {
    margin-top: 0;
    width: 490px;
  }
  #message .set1 .content .gr-txt h3 {
    font-size: 43px;
    line-height: 79px;
    margin-left: -49px;
  }
  #message .set1 .content .gr-txt h3 .t3 {
    margin: 0px 0 0 53px;
  }
  #message .set1 .content .gr-txt .athor {
    font-size: 32px;
    margin: 100px 0 51px 6px;
  }
  #message .set1 .content .gr-txt .athor span {
    font-size: 21px;
    /* margin-left: 28px; */
  }
  #message .set1 .content .gr-txt .txt {
    width: 423px;
  }
  #message .set1 .content .gr-txt .txt p:not(:last-child) {
    margin-bottom: 36px;
  }
}
@media screen and (min-width: 768px) {
  #message .set2 {
    padding: 157px 0 0;
  }
  #message .set2 h2 {
    margin-bottom: -2px;
  }
  #message .set2 .content {
    margin: 0 -100px 0 166px;
  }
  #message .set2 .content dl {
    padding: 35px 0 35px 41px;
    display: flex;
  }
  #message .set2 .content dl dt {
    font-size: 30px;
    margin: 0 20px 0 0;
    width: 165px;
  }
  #message .set2 .content dl dd {
    font-size: 20px;
    letter-spacing: 0.1em;
    flex: 1;
  }
}
@media screen and (min-width: 768px) {
  #company {
    padding: 117px 0 0;
  }
  #company .wrap {
    max-width: 1250px;
    padding: 0 20px;
  }
  #company h2 {
    margin: 0 auto 12px;
    width: 1000px;
  }
  #company .content {
    display: flex;
    align-items: flex-end;
    flex-direction: row-reverse;
  }
  #company .list {
    width: 780px;
  }
  #company .list dl {
    padding: 14.5px 26px;
    display: flex;
  }
  #company .list dl dt {
    width: 198px;
  }
  #company .list dl dd {
    flex: 1;
    margin: 0;
  }
  #company .list dl dd .map-link {
    padding: 0 4px 0 24px;
  }
  #company .list dl dd .map-link:hover::after {
    content: none;
  }
  #company .photo {
    margin: 0 75px 0 -119px;
    flex: 1;
    height: 631px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1460px) {
  #company .photo {
    margin-left: calc(-50vw + 50%);
  }
}
@media screen and (min-width: 768px) {
  #map {
    padding: 110px 0 181px;
  }
  #map .wrap {
    max-width: 1240px;
    padding: 0 20px;
  }
  #map h2 {
    margin: 0 0 73px 51px;
  }
  #map .content {
    margin-left: 270px;
  }
  #map .map {
    margin: 0;
    height: 522px;
  }
  #map .link {
    display: flex !important;
    justify-content: flex-end;
    margin: 21px 13px 0 0;
  }
  #map .link li a {
    font-size: 12px;
    display: inline-block;
    position: relative;
    padding: 0 26px 0px 3px;
    letter-spacing: 0.02em;
    font-weight: 400;
  }
  #map .link li a::before {
    content: "";
    border-top: 1px solid #000;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
  }
  #map .link li a::after {
    content: "";
    position: absolute;
  }
  #map .link li a:hover {
    opacity: 0.7;
  }
  #map .link .map-link {
    margin-right: 20px;
  }
  #map .link .map-link a {
    padding: 0 16px 0px 3px;
  }
  #map .link .map-link a::after {
    background: url(../img/shared/map_arr.png) no-repeat;
    width: 3px;
    height: 4px;
    top: 17px;
    right: 2px;
  }
  #map .link .print_map a::after {
    background: url(../img/shared/map_ya.png) no-repeat;
    width: 13px;
    height: 10px;
    top: 15px;
    right: 5px;
  }
  #map .btn-map {
    max-width: 234px;
    margin: -17px 0 0 3px;
  }
  #map .btn-map a {
    padding: 12px 10px;
  }
  #map .btn-map a img {
    height: auto;
    margin-right: 16px;
    top: -2px;
  }
  #map .btn-map a::before {
    background: #003270;
  }
  #map .btn-map a:hover {
    color: #fff;
    border-color: #003270;
  }
  #map .btn-map a:hover img {
    filter: invert(1);
  }
}
#senzai .ltr:before {
  background: #e8e8e8;
}
@media screen and (max-width: 1240px) and (min-width: 768px) {
  #message .set1 h2 {
    margin-right: calc(-50vw + 50% + 30px);
  }
}
@media screen and (max-width: 1160px) and (min-width: 768px) {
  #result .left .graph {
    margin-left: calc(-50vw + 500px + 30px);
  }
  #message .set1 .content .gr-txt h3 {
    margin-left: calc(-50vw + 500px + 30px);
  }
  #message .set1 .content .gr-txt h3 {
    font-size: 40px;
  }
  #message .set2 .content {
    margin-right: calc(-50vw + 500px + 30px);
    margin-left: 100px;
  }
  #company .photo {
    margin-right: 40px;
  }
}
@supports (-webkit-overflow-scrolling: touch) {
  #message .set1 .content .gr-txt h3 {
    font-size: 6.5vw;
  }
}
