.hd_menu li:nth-of-type(1) a {
 color: #005bab;
}
.hd_menu li:nth-of-type(1) a::before {
 transform: scale(1);
}
/*                 mv                    */
.mv_inner {
 padding: min(10rem, calc(100vw / 13.66)) 0 min(8.5rem, calc(85vw / 13.66));
 position: relative;
 z-index: 2;
}
.mv_img {
 width: min(123rem, calc(1230vw / 13.66));
 margin: 0 auto;
}
.mv_news {
 width: min(120rem, calc(1200vw / 13.66));
 position: absolute;
 transform: translateY(50%);
 bottom: 0;
 left: 0;
 right: 0;
 margin: 0 auto;
 background-color: #fff;
 border-radius: min(1.2rem, calc(12vw / 13.66));
 box-sizing: border-box;
 padding: min(1.8rem, calc(18vw / 13.66)) min(8rem, calc(80vw / 13.66));
 display: flex;
 align-items: center;
 justify-content: space-between;
 box-shadow: min(0.1rem, calc(1vw / 13.66)) min(0.1rem, calc(1vw / 13.66)) min(1rem, calc(10vw / 13.66)) #065a891a;
}
.mv_news_ttl {
 font-size: 2.4rem;
 font-weight: 700;
 color: #000000;
}
.mv_news a {
 display: flex;
 align-items: center;
}
.mv_news a dl {
 width: min(58.8rem, calc(588vw / 13.66));
 display: flex;
 align-items: center;
 gap: 0 min(4.5rem, calc(45vw / 13.66));
 transition: .4s;
}
.mv_news a dt {
 font-size: 1.2rem;
 font-weight: 500;
 font-family: YakuHanJP, "Oswald", sans-serif;
 letter-spacing: 0.06em;
 color: #808080;
}
.mv_news a dd {
 font-size: 1.5rem;
 font-weight: 500;
 color: #333333;
 line-height: 1.73;
 text-align: justify;
}
.mv_news a dd p {
 display: inline;
 margin-right: min(1.5rem, calc(15vw / 13.66));
}
.mv_news dd span {
 font-size: 1.2rem;
 font-weight: 700;
 border: #808080 solid min(0.1rem, calc(1vw / 13.66));
 border-radius: min(0.8rem, calc(8vw / 13.66));
 line-height: 1.2;
 display: inline-block;
 color: #808080;
 padding: 0 min(0.5rem, calc(5vw / 13.66));
 margin-right: min(1rem, calc(10vw / 13.66));
}
.mv_news  a[target="_blank"] dd::after {
 content: "";
 display: inline-block;
 width: min(2rem, calc(20vw / 13.66));
 height: min(2rem, calc(20vw / 13.66));
 background: url(../images/common/blank_icon_b.svg) no-repeat;
 background-size: cover;
 vertical-align: sub;
}
.mv_news a.mv_news_other {
 font-size: 1.6rem;
 font-weight: 700;
 color: #005bab;
 gap: 0 min(2rem, calc(20vw / 13.66));
 align-items: center;
}
.mv_news a.mv_news_other span {
 width: min(0.4rem, calc(4vw / 13.66));
 font-size: 0;
}


@media (hover: hover) and (pointer: fine) {
 .mv_news a:where(:any-link, :enabled, summary):hover dl {
  opacity: .7;

 }
 .mv_news a.mv_news_other:where(:any-link, :enabled, summary):hover {
  text-decoration: underline;
 }
}

/*                 about                    */
.about_inner {
 background-color: #ebf2f8;
 padding: min(13.5rem, calc(135vw / 13.66)) 0 min(10rem, calc(100vw / 13.66));
 position: relative;
 z-index: 1;
}
.about_inner::before {
 content: "";
 width: min(13rem, calc(130vw / 13.66));
 height: min(3rem, calc(30vw / 13.66));
 background-color: #ebf2f8;
 clip-path: polygon(50% 100%, 0 0, 100% 0);
 position: absolute;
 bottom: max(-3rem, calc(-30vw / 13.66));
 left: 0;
 right: 0;
 margin: 0 auto;
}
.about_item {
 width: min(120rem, calc(1200vw / 13.66));
 position: relative;
 margin: 0 auto;
 z-index: 1;
 box-sizing: border-box;
 padding: min(12rem, calc(120vw / 13.66)) 0 min(9rem, calc(90vw / 13.66));
}
.about_item::before {
 content: "";
 width: min(114.5rem, calc(1145vw / 13.66));
 height: min(82rem, calc(820vw / 13.66));
 background: url(../images/top/about_bg.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 margin: 0 auto;
 z-index: -1;
}

.about_ttl {
 display: flex;
 align-items: baseline;
 justify-content: center;
 font-size: 3.2rem;
 font-weight: 700;
 position: relative;
 margin-bottom: min(2rem, calc(20vw / 13.66));
 color: #000000;
}
.about_ttl span {
 width: min(28.8rem, calc(288vw / 13.66));
 font-size: 0;
}
.about_ttl::before {
 content: "ABOUT US";
 font-family: YakuHanJP, "Oswald", sans-serif;
 font-size: 8rem;
 letter-spacing: 0.06em;
 color: #005bab1a;
 font-weight: 500;
 position: absolute;
 top: max(-5rem, calc(-50vw / 13.66));
 left: 0;
 right: 0;
 margin: 0 auto;
 line-height: 1;
 z-index: -1;
}
.about_txt {
 font-size: 1.8rem;
 font-weight: 500;
 line-height: 2.5;
 margin-bottom: min(3rem, calc(30vw / 13.66));
 color: #000000;
}
.about_txt:last-of-type {
 margin-bottom: 0;
}

.about_img {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 margin: 0 auto;
 z-index: 2;
}

.about_img_01 {
 width: min(49.4rem, calc(494vw / 13.66));
 top: min(15.7rem, calc(157vw / 13.66));
 left: max(-115rem, calc(-1150vw / 13.66));
}
.about_img_02 {
 width: min(26.1rem, calc(261vw / 13.66));
 top: min(70rem, calc(700vw / 13.66));
 left: max(-90rem, calc(-900vw / 13.66));
}
.about_img_03 {
 width: min(27.6rem, calc(276vw / 13.66));
 top: min(46rem, calc(460vw / 13.66));
 right: max(-98rem, calc(-980vw / 13.66));
}
.about_img_04 {
 width: min(27.6rem, calc(276vw / 13.66));
 top: auto;
 bottom: max(-16rem, calc(-160vw / 13.66));
 right: max(-95rem, calc(-950vw / 13.66));
}

/*                 service                    */
.service_inner {
 background-color: #c2d8eb;
 padding: min(9rem, calc(90vw / 13.66)) 0;
 position: relative;
}
.service_ttl {
 font-size: 3.2rem;
 font-weight: 700;
 line-height: 1.6;
 color: #000000;
}
.service_ttl span {
 display: flex;
 justify-content: center;
 align-items: center;
 font-size: 1.4rem;
 color: #005bab;
 gap: 0 min(1rem, calc(10vw / 13.66));
 font-family: YakuHanJP, "Oswald", sans-serif;
 letter-spacing: 0.06em;
 font-weight: 500;
}
.service_ttl span::before {
 content: "";
 width: min(1rem, calc(10vw / 13.66));
 height: min(1rem, calc(10vw / 13.66));
 background-color: #fff000;
 border-radius: 50%;
}

.service_menu {
 width: min(120rem, calc(1200vw / 13.66));
 margin: min(7rem, calc(70vw / 13.66)) auto 0;
}
.service_menu ul {
 display: flex;
 flex-wrap: wrap;
 gap: min(3rem, calc(30vw / 13.66)) min(3rem, calc(30vw / 13.66));
}
.service_menu ul li {
 width: min(38rem, calc(380vw / 13.66));
 border-radius: min(1.2rem, calc(12vw / 13.66));
 background-color: #fff;
 overflow: hidden;
}

.service_menu_ttl {
 display: flex;
 align-items: center;
 font-size: 2rem;
 font-weight: 700;
 line-height: 1.1;
 color: #fff;
 padding: min(1.3rem, calc(13vw / 13.66)) min(1.5rem, calc(15vw / 13.66));
 gap: 0 min(1.5rem, calc(15vw / 13.66));
 text-align: left;
}
.service_menu_ttl span {
 width: min(5.2rem, calc(52vw / 13.66));
 font-size: 0;
}
.service_menu ul li:nth-of-type(1) .service_menu_ttl,
.service_menu ul li:nth-of-type(1) .service_menu_txt a::before {
 background-color: #cd3a32;
}
.service_menu ul li:nth-of-type(2) .service_menu_ttl,
.service_menu ul li:nth-of-type(2) .service_menu_txt a::before {
 background-color: #d66023;
}
.service_menu ul li:nth-of-type(3) .service_menu_ttl,
.service_menu ul li:nth-of-type(3) .service_menu_txt a::before {
 background-color: #e4b804;
}
.service_menu ul li:nth-of-type(4) .service_menu_ttl,
.service_menu ul li:nth-of-type(4) .service_menu_txt a::before {
 background-color: #7ab911;
}
.service_menu ul li:nth-of-type(5) .service_menu_ttl,
.service_menu ul li:nth-of-type(5) .service_menu_txt a::before {
 background-color: #12a24a;
}
.service_menu ul li:nth-of-type(6) .service_menu_ttl,
.service_menu ul li:nth-of-type(6) .service_menu_txt a::before {
 background-color: #02b0b0;
}
.service_menu ul li:nth-of-type(7) .service_menu_ttl,
.service_menu ul li:nth-of-type(7) .service_menu_txt a::before {
 background-color: #0072c3;
}
.service_menu ul li:nth-of-type(8) .service_menu_ttl,
.service_menu ul li:nth-of-type(8) .service_menu_txt a::before {
 background-color: #846ae0;
}

.service_menu_txt {
 padding: min(1.5rem, calc(15vw / 13.66));
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 gap: min(0.5rem, calc(5vw / 13.66)) 0;
}
.service_menu_txt a {
 display: flex;
 align-items: baseline;
 text-align: left;
 font-size: 1.6rem;
 font-weight: 500;
 color: #333333;
 gap: 0 min(1rem, calc(10vw / 13.66));
 text-decoration: underline;
 line-height: 1.75;
}
.service_menu_txt a::before {
 content: "";
 width: min(1.2rem, calc(12vw / 13.66));
 height: min(1.2rem, calc(12vw / 13.66));
 border-radius: 50%;
}
.service_menu_txt a[target="_blank"]::after {
 content: "";
 display: inline-block;
 width: min(1.5rem, calc(15vw / 13.66));
 height: min(1.5rem, calc(15vw / 13.66));
 background: url(../images/common/blank_icon_b.svg) no-repeat;
 background-size: cover;
 vertical-align: sub;
}

@media (hover: hover) and (pointer: fine) {
 .service_menu_txt a:where(:any-link, :enabled, summary):hover {
  text-decoration: none;
 }
}

/*                 news                    */
#news {
 padding-top: min(9.5rem, calc(95vw / 13.66));
 margin-top: max(-9.5rem, calc(-95vw / 13.66));
}
.news_inner {
 padding: min(6rem, calc(60vw / 13.66)) 0 min(10rem, calc(100vw / 13.66));
}
.news_flex {
 width: min(120rem, calc(1200vw / 13.66));
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
}
.news_ttl {
 width: min(21rem, calc(210vw / 13.66));
}
.news_ttl h2 {
 font-size: 3.2rem;
 font-weight: 700;
 color: #000000;
 text-align: left;
 line-height: 1.7;
}
.news_ttl h2 span {
 display: flex;
 align-items: center;
 font-size: 1.4rem;
 color: #005bab;
 gap: 0 min(1rem, calc(10vw / 13.66));
 font-family: YakuHanJP, "Oswald", sans-serif;
 letter-spacing: 0.06em;
 font-weight: 500;
}
.news_ttl h2 span::before {
 content: "";
 width: min(1rem, calc(10vw / 13.66));
 height: min(1rem, calc(10vw / 13.66));
 background-color: #fff000;
 border-radius: 50%;
}
.news_btn a {
 display: flex;
 align-items: center;
 gap: 0 min(2rem, calc(20vw / 13.66));
 font-size: 1.6rem;
 font-weight: 700;
 color: #005bab;
 margin: min(3.5rem, calc(35vw / 13.66)) 0 min(6rem, calc(60vw / 13.66));
}
.news_btn a span {
 content: "";
 width: min(4rem, calc(40vw / 13.66));
 height: min(4rem, calc(40vw / 13.66));
 background: url(../images/common/arrow_icon.svg) no-repeat;
 background-size: cover;
}
.news_img {
 width: min(10.7rem, calc(107vw / 13.66));
 margin-left: min(1.5rem, calc(15vw / 13.66));
}

.news_item {
 width: min(83.5rem, calc(835vw / 13.66));
}
.news_item dl {
 border-bottom: #cccccc solid min(0.1rem, calc(1vw / 13.66));
 box-sizing: border-box;
 display: flex;
 padding: min(2.2rem, calc(22vw / 13.66)) 0;
 position: relative;
}
.news_item dl::after {
 content: "";
 width: min(0.4rem, calc(4vw / 13.66));
 height: min(1.6rem, calc(16vw / 13.66));
 background: url(../images/common/arrow_btm.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%) rotate(-90deg);
 right: min(1.2rem, calc(12vw / 13.66));
}
.news_item dt {
 width: min(10rem, calc(100vw / 13.66));
 font-size: 1.2rem;
 font-family: YakuHanJP, "Oswald", sans-serif;
 letter-spacing: 0.06em;
 font-weight: 500;
 color: #808080;
}
.news_item dd {
 width: min(70rem, calc(700vw / 13.66));
 text-align: justify;
 font-size: 1.6rem;
 font-weight: 500;
 line-height: 1.62;
 color: #333333;
}
.news_item dd  p {
 display: inline;
 margin-right: min(1.5rem, calc(15vw / 13.66));
}

.news_item dd span {
 font-size: 1.2rem;
 font-weight: 700;
 border: #808080 solid min(0.1rem, calc(1vw / 13.66));
 border-radius: min(0.8rem, calc(8vw / 13.66));
 line-height: 1.2;
 display: inline-block;
 color: #808080;
 padding: 0 min(0.5rem, calc(5vw / 13.66));
 margin-right: min(1rem, calc(10vw / 13.66));
}

.news_item a[target="_blank"] dd::after {
 content: "";
 display: inline-block;
 width: min(2rem, calc(20vw / 13.66));
 height: min(2rem, calc(20vw / 13.66));
 background: url(../images/common/blank_icon_b.svg) no-repeat;
 background-size: cover;
 vertical-align: sub;
}

.news_dis {
 width: min(38.5rem, calc(385vw / 13.66));
 margin-top: min(5.5rem, calc(55vw / 13.66));
 margin-left: auto;
}
.news_dis a {
 padding: min(1.3rem, calc(13vw / 13.66)) min(3rem, calc(30vw / 13.66));
 background-color: #f0f0f0;
 display: block;
 width: 100%;
 position: relative;
 display: flex;
 border-radius: min(3.4rem, calc(34vw / 13.66));
 align-items: center;
 font-size: 2rem;
 font-weight: 700;
 color: #333333;
 gap: 0 min(1.5rem, calc(15vw / 13.66));
 box-sizing: border-box;
 border: min(0.1rem, calc(1vw / 13.66)) solid #f0f0f0;
}

.news_dis a span {
 width: min(2.1rem, calc(21vw / 13.66));
 height: min(1.8rem, calc(18vw / 13.66));
 background: url(../images/top/news_icon.svg) no-repeat;
 background-size: cover;
 position: relative;
}
.news_dis a span::before {
 content: "";
 width: 100%;
 height: 100%;
 background: url(../images/top/news_icon_hover.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 0;
 left: 0;
 transition: 0.4s;
 opacity: 0;
 z-index: 1;
}
.news_dis a::after {
 content: "";
 width: min(3.6rem, calc(36vw / 13.66));
 height: min(3.6rem, calc(36vw / 13.66));
 display: block;
 background: url(../images/common/arrow_icon_03.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(1.5rem, calc(15vw / 13.66));
}

@media (hover: hover) and (pointer: fine) {
 .news_btn a:where(:any-link, :enabled, summary):hover {
  opacity: 0.7;
 }
 .news_item > a:where(:any-link, :enabled, summary):hover {
  opacity: 0.7;
 }
 .news_dis a:where(:any-link, :enabled, summary):hover {
  background-color: #005bab;
  color: #fff;
 }
 .news_dis a:where(:any-link, :enabled, summary):hover span::before {
  opacity: 1;
 }
}

@media screen and (max-width: 767px) {
 /*                 mv                    */
 .mv_inner {
  padding: 7rem 0 12.5rem;
 }
 .mv_img {
  width: 100%;
 }
 .mv_news {
  width: 31.5rem;
  border-radius: 1rem;
  padding: 1.5rem 2rem 2.5rem;
  align-items: flex-start;
  flex-direction: column;
  box-shadow: 0.1rem 0.1rem 1rem #065a891a;
 }
 .mv_news_ttl {
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
 }
 .mv_news a dl {
  width: 100%;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.5rem 0;
 }
 .mv_news a dt {
  font-size: 1.1rem;
 }
 .mv_news a dd {
  font-size: 1.2rem;
 }
 .mv_news a dd p{
  margin-right: 1rem;
 }
  .mv_news dd span {
  font-size: 1.2rem;
  border: #808080 solid 0.1rem;
  border-radius: 0.7rem;
  padding: 0 0.5rem;
  box-sizing: border-box;
  line-height: 1.1;
  margin-right: 0.5rem;
 }
 .mv_news a[target="_blank"] dd::after  {
 width: 1.5rem;
 height: 1.5rem;
}
 .mv_news a.mv_news_other {
  font-size: 1.3rem;
  gap: 0 1rem;
  margin-top: 1rem;
  margin-left: auto;
 }
 .mv_news a.mv_news_other span {
  width: 0.3rem;
 }

 /*                 about                    */
 .about_inner {
  padding: 20rem 0 18rem;
 }
 .about_inner::before {
  width: 6.5rem;
  height: 1.4rem;
  bottom: -1.4rem;
 }
 .about_item {
  width: 31.5rem;
  padding: 16.5rem 0 10.5rem;
  background-color: #fff;
  border-radius: 1.5rem;
 }
 .about_item::before {
  content: none;
 }

 .about_ttl {
  font-size: 2.1rem;
  margin-bottom: 1.5rem;
 }
 .about_ttl span {
  width: 19rem;
 }
 .about_ttl::before {
  font-size: 5.3rem;
  top: -3rem;
 }
 .about_txt {
  font-size: 1.4rem;
  line-height: 2.25;
  margin-bottom: 2rem;
 }
 .about_txt:last-of-type {
  margin-bottom: 0;
 }

 .about_img {
  left: auto;
  right: auto;
  margin: 0;
 }

 .about_img_01 {
  width: 22.4rem;
  top: 16rem;
  left: -6rem;
 }
 .about_img_02 {
  width: 13.9rem;
  top: 98rem;
  right: 2rem;
 }
 .about_img_03 {
  width: 6.1rem;
  top: 94rem;
  left: 0.5rem;
 }
 .about_img_04 {
  width: 12.1rem;
  bottom: -5rem;
  right: 2.5rem;
 }

 /*                 service                    */
 .service_inner {
  padding: 7rem 0 6rem;
 }
 .service_ttl {
  font-size: 2.1rem;
 }
 .service_ttl span {
  font-size: 1.2rem;
  color: #005bab;
  gap: 0 0.5rem;
 }
 .service_ttl span::before {
  width: 0.8rem;
  height: 0.8rem;
 }

 .service_menu {
  width: 31.5rem;
  margin: 4rem auto 0;
 }
 .service_menu ul {
  flex-direction: column;
  gap: 2.5rem 0;
 }
 .service_menu ul li {
  width: 100%;
  border-radius: 0.8rem;
 }
 .service_menu ul li:nth-last-of-type(1),
 .service_menu ul li:nth-last-of-type(2),
 .service_menu ul li:nth-last-of-type(3),
 .service_menu ul li:nth-last-of-type(4) {
  width: 100%;
 }
 .service_menu_ttl {
  font-size: 1.6rem;
  padding: 1.6rem 1rem;
  gap: 0 1rem;
  text-align: left;
 }
 .service_menu_ttl span {
  width: 3.8rem;
  font-size: 0;
 }

 .service_menu_txt {
  padding: 1.5rem;
  gap: 0.5rem 0;
 }
 .service_menu_txt a {
  font-size: 1.3rem;
  gap: 0 0.8rem;
 }
 .service_menu_txt a::before {
  width: 1rem;
  height: 1rem;
 }
 .service_menu_txt a[target="_blank"]::after {
 width: 1.2rem;
 height: 1.2rem;
}

 /*                 news                    */
 #news {
  padding-top: 7rem;
  margin-top: -7rem;
 }
 .news_inner {
  padding: 7rem 0 6rem;
 }
 .news_flex {
  width: 31.5rem;
  flex-direction: column;
  position: relative;
 }
 .news_ttl {
  width: 100%;
 }
 .news_ttl h2 {
  font-size: 2.1rem;
 }
 .news_ttl h2 span {
  font-size: 1.2rem;
  gap: 0 0.5rem;
 }
 .news_ttl h2 span::before {
  width: 0.8rem;
  height: 0.8rem;
 }
 .news_btn a {
  gap: 0 1rem;
  font-size: 1.4rem;
  margin: 3rem 0 4rem;
 }
 .news_btn a span {
  width: 2.8rem;
  height: 2.8rem;
 }
 .news_img {
  width: 5.9rem;
  margin-left: 0;
  position: absolute;
  top: 0;
  right: 0;
 }

 .news_item {
  width: 100%;
 }
 .news_item dl {
  border-bottom: #cccccc solid 0.1rem;
  align-items: flex-start;
  flex-direction: column;
  padding: 0.8rem 0;
 }
 .news_item dl::after {
  width: 0.3rem;
  height: 1.2rem;
  right: 0;
 }
 .news_item dt {
  text-align: left;
  width: 100%;
  font-size: 1.1rem;
 }
 .news_item dd {
  width: 27rem;
  font-size: 1.3rem;
  line-height: 1.8;
  text-align: left;
 }
 .news_item dd  p {
 margin-right: 1rem;
}
 .news_item dd span {
  font-size: 1.2rem;
  border: #808080 solid 0.1rem;
  border-radius: 0.7rem;
  padding: 0 0.5rem;
  box-sizing: border-box;
  line-height: 1.1;
  margin-right: 0.5rem;
 }
 .news_item a[target="_blank"] dd::after  {
 width: 1.5rem;
 height: 1.5rem;
}

 .news_dis {
  width: 25.5rem;
  margin: 5rem auto 0;
 }
 .news_dis a {
  padding: 2rem 2rem;
  border-radius: 3.4rem;
  font-size: 1.3rem;
  gap: 0 0.8rem;
  border: 0.1rem solid #f0f0f0;
 }

 .news_dis a span {
  width: 2rem;
  height: 1.7rem;
 }

 .news_dis a::after {
  width: 3rem;
  height: 3rem;
  right: 1.5rem;
 }
}
