@charset "UTF-8";
/* ======== common settings ======== */
/* ----- settings ----- */
html {
  font-size: 62.5%;
  overflow: auto;
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  width: 100%;
  min-width: 1100px;
  background-color: #FFFFFF;
  line-height: 1.8;
  -webkit-text-size-adjust: none;
  font-family: 'Noto Sans JP', YuGothic,'Yu Gothic', sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  color: #333333;
  font-weight: 400;
  letter-spacing: 0.05em;
/*   word-break: break-all; */
  overflow: auto;
}

img {
/*   width: 100%; */
  max-width: 100%;
  vertical-align: bottom;
}

a{
  color: #333333;
  text-decoration: none;
  transition: 0.2s;
}

a[href]:hover{
  opacity: 0.7;
}

picture{
  display: block;
}

/* ======== utility style ======== */
/* ----- media display ----- */
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}

/* ================================================
header
================================================ */

.header{
  width: 1100px;
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99999;
  margin: 0 auto;
}

.hd_inner{
  position: relative;
  background: #fff;
  padding: 1.6rem 0;
  border-radius: 0 0 0 24px;
  margin-right: calc(50% - 50vw);
  box-shadow: 0 10px 20px rgba(0,0,0,0.08);
}

.hd_flex{
  width: min(100%,1100px);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.hd_inner .wrap_logo{
  width: 178px;
  margin-left: 3.5rem;
  margin-right: 4rem;
}

.hd_inner .wrap_logo a{
  display: block;
  width: 100%;
  height: 100%;
}

.wrap_logo a:hover{
  opacity: 1;
}

.wrap_hd_menu{
  width: calc(100% - 178px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem 0;
}

.wrap_hd_menu .position_nav ul{
  width: 600px;
  display: flex;
  gap: 0 3.2rem;
  list-style: none;
  background: #EAF6F8;
  padding: 0.6rem 2rem;
  border-radius: 50px;
}

.wrap_hd_menu .position_nav ul li{
  position: relative;
  line-height: 1;
}

.wrap_hd_menu .position_nav ul li:not(:last-child)::after{
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #009FBC;
  position: absolute;
  top: 50%;
  right: -1.6rem;
  transform: translateY(-50%);
}

.wrap_hd_menu .position_nav ul li a{
  display: block;
  width: 100%;
  height: 100%;
  font-size: 1.4rem;
  letter-spacing: 0;
  color: #009FBC;
  font-weight: 500;
}

.wrap_hd_menu .position_nav ul li a:hover{
  text-decoration: underline;
  opacity: 1;
}

.wrap_hd_menu .wrap_search{
  position: relative;
  background: #fff;
  border-radius: 50px;
  border: 1px solid #009FBC;
  border: 0;
  margin-left: auto;
  transition: 0.2s;
}

.wrap_hd_menu .wrap_search .search_open_btn{
  display: none;
  position: relative;
  z-index: 15;
}

.wrap_hd_menu .wrap_search.close .search_open_btn{
  display: block;
}

.wrap_hd_menu .wrap_search .search_open_btn.btn_inner{
  width: 25px;
  height: 25px;
  padding: 0;
  margin: 0;
}

.wrap_hd_menu .btn.btn_lb .btn_inner svg {
  margin-right: 0;
}

.wrap_hd_menu .wrap_search #search_form{
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) scaleX(1);
  transform-origin: center right;
  z-index: 10;
  padding: 0 0 0 0.3rem;
  border: 1px solid #009FBC;
  border-radius: 50px;
  transition: 0.2s;
}

.wrap_hd_menu .wrap_search.close #search_form{
  transform: translateY(-50%) scaleX(0.2);
  border: 0;
  transition: 0.2s;
}

.wrap_hd_menu .wrap_search #search_form input{
  width: 80px;
  line-height: 1.5;
  padding: 0 0.5rem;
  border: 0;
  border-radius: 50px;
  margin-right: 0.2rem;
}

.wrap_hd_menu .wrap_search #search_form button{
  width: 25px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  padding: 0;
  border: 0;
  border-radius: 50px;
  margin: 0;
}

.wrap_hd_menu .wrap_contact a.btn_inner{
  width: 25px;
  height: 25px;
  margin: 0 1rem;
}

.wrap_hd_menu .wrap_lang{
  min-width: 100px;
  position: relative;
  border-radius: 13px;
}

.wrap_hd_menu .wrap_lang p{
  position: relative;
  z-index: 50;
}

.wrap_hd_menu .wrap_lang p .btn_inner{
  padding: 0 1.5rem;
}

.wrap_hd_menu .wrap_mainham{
  width: 100%;
}

.mainmenu_accordion{
  display: flex;
  align-items: center;
  gap: 0 4.6rem;
}

.mainmenu_accordion .ac-parent,
.mainmenu_accordion .no_acc{
  position: relative;
  font-size: 1.4rem;
  letter-spacing: 0;
}

.mainmenu_accordion > dt:not(:first-child)::before{
  content: "";
  width: 1px;
  height: 70%;
  background: #000000;
  position: absolute;
  top: 50%;
  left: -1.6rem;
  transform: translateY(-50%);
}

.mainmenu_accordion .ac-parent::after{
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-right: 1px solid #333333;
  border-bottom: 1px solid #333333;
  position: absolute;
  top: 50%;
  right: -1.6rem;
  transform: translateY(-75%) rotateZ(45deg);
  transition: 0.2s;
}

.mainmenu_accordion .ac-parent.open{
  color: #009FBC;
  font-weight: bold;
}

.mainmenu_accordion .ac-parent.open::after{
  transform: translateY(-25%) rotateZ(225deg);
}

.mainmenu_accordion .ac-child{
  width: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  background: #0072BF;
  padding: 14rem 12rem 9rem;
  border-radius: 0 0 0 24px;
  margin-right: calc(50% - 50vw);
}

.mainmenu_accordion .ac-child .ttl_door{
  margin-bottom: 2rem;
}

.mainmenu_accordion .ac-child .ttl_door a{
  display: block;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: bold;
  color: #fff;
}

.mainmenu_accordion .ac-child ul{
  display: flex;
  gap: 0 4rem;
  list-style: none;
}

.mainmenu_accordion .ac-child ul li .ttl_mainmenu a{
  display: block;
  font-size: 1.6rem;
  color: #fff;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #FFF;
  margin-bottom: 1.5rem;
}

.mainmenu_accordion .ac-child ul li .wrap_txt_mainmenu{
  display: flex;
  gap: 0 1rem;
}

.mainmenu_accordion .ac-child ul li .wrap_txt_mainmenu .txt_mainmenu{
  min-width: 200px;
  position: relative;
  text-indent: -0.8rem;
  padding-left: 0.8rem;
  margin-bottom: 1.5rem;
}

.mainmenu_accordion .ac-child ul li .wrap_txt_mainmenu.hd_wide .txt_mainmenu{
  width: 280px;
}

.mainmenu_accordion .ac-child ul li .wrap_txt_mainmenu .txt_mainmenu a{
  color: #fff;
  font-size: 1.4rem;
}

.mainmenu_accordion .ac-child ul li .wrap_txt_mainmenu .txt_mainmenu::before{
  content: "-";
  display: inline-block;
  color: #fff;
  font-size: 1.4rem;
  padding-right: 0.8rem;
}

.mainmenu_accordion .ac-child .btn_close{
  width: 64px;
  height: 64px;
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 0;
}

.mainmenu_accordion .ac-child .btn_close a{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* ================================================
footer
================================================ */

.footer{
  width: 100%;
  background: #50565A;
  padding: 5rem 0;
}

.footer .wrap_logo{
  width: 178px;
  margin: 0 auto 5rem;
}

.footer .position_link ul{
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 0 5rem;
  margin-bottom: 5rem;
}

.footer .position_link ul li a{
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
}

.footer .ft_accordion {
  display: flex;
  justify-content: space-between;
  margin-bottom: 7rem;
}

.footer .ft_accordion dl{
  width: calc(90% / 4);
}

.footer .ft_accordion .ac-parent02{
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #fff;
  margin-bottom: 1.5rem;
}

.footer .ft_accordion .ac-parent02 a,
.footer .ft_accordion .ac-parent02 span{
  font-size: 1.8rem;
  color: #fff;
}

.footer .ft_accordion .ac-child02 .ttl_ft a{
  display: block;
  font-size: 1.6rem;
  color: #fff;
  margin-bottom: 1rem;
}

.footer .ft_accordion .ac-child02 .ttl_ft:not(:first-child,:nth-child(2)){
  margin-top: 3rem;
}

.footer .ft_accordion .ac-child02 .txt_ft a{
  display: block;
  width: 100%;
  height: 100%;
  font-size: 1.4rem;
  letter-spacing: 0em;
  color: #fff;
  margin-bottom: 1rem;
}

.footer .ft_link_list ul{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem 3rem;
  margin-bottom: 2rem;
}

.footer .ft_link_list ul .spacer{
  display: block;
  width: 100%;
}

.footer .ft_link_list ul li a{
  display: block;
  width: 100%;
  height: 100%;
  font-size: 1.4rem;
  line-height: 1;
  color: #fff;
}


.footer small{
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0;
  color: #fff;
  text-align: center;
}

/* ================================================
parts
================================================ */

/* ----------- コンテナ ----------- */

.w1100{
  width: min(100%,1100px);
  margin: 0 auto;
}

.inner{
  width: min(90%,1000px);
  margin: 0 auto;
}
.inner.small{
  width: min(90%,900px);
}

.inner.large{
  width: min(90%,1100px);
}

.over_area{
  background: #E4F2F5;
}

.over_area.left,
.container_img.left{
  border-radius: 0 24px 24px 0;
  margin-left: calc(50% - 50vw);
}

.over_area.right,
.container_img.right{
  border-radius: 24px 0 0 24px;
  margin-right: calc(50% - 50vw);
}

.container_img{
  overflow: hidden;
}

.wide{
  margin: 0 calc(50% - 50vw);
}

.mb_large{
  margin-bottom: 10rem;
}

.mb_middle{
  margin-bottom: 8rem;
}

.mb_small{
  margin-bottom: 4rem;
}


/* ----------- 見出し ----------- */

.ttl_bigTxt{
  margin-bottom: 4rem;
}

.ttl_bigTxt.right{
  text-align: right;
}

.ttl_bigTxt .en{
  display: inline-block;
  font-size: 14rem;
  line-height: 1;
  font-weight: 900;
  margin-bottom: 2rem;
}

.over_area .ttl_bigTxt .en{
  margin-top: -7rem;
}

.ttl_bigTxt .jp{
  position: relative;
  font-size: 2.4rem;
  font-weight: 500;
  padding-left: 3.4rem;
}

.ttl_bigTxt .jp::before{
  content: "";
  width: 24px;
  height: 1px;
  background: #333333;
  position: absolute;
  top: 18px;
  left: 0;
}

.ttl_bigTxt.blue .en{
  color: #009FBC;
  opacity: 0.15;
}

.ttl_bigTxt.white .en{
  color: #fff;
}

.main_heading{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 350px;
  text-align: center;
  color: #fff;
  font-size: 4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  background: linear-gradient(to right,#009FBC 0%,#8AFA85 100%);
  padding: 10rem min(6vw,80px) 0;
}

.ttl_simple{
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 4rem;
}

.ttl_simple_small{
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 3rem;
}


/* ----------- ボタン ----------- */

.btn_inner{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 500;
  border-radius: 50px;
  transition: 0.2s;
}

.btn.btn_lb.large{
  width: min(100%,320px);
  margin: 0 auto;
}

.btn.btn_lb.small{
  width: min(100%,210px);
  margin: 0 auto;
}

.btn.btn_lb .btn_inner{
  color: #009FBC;
  text-align: center;
  background: #fff;
  border: 1px solid #009FBC;
}

.btn.btn_lb .btn_inner:disabled{
  color: #707070;
  background: #fff;
  border-color: #707070;
}

.btn.btn_lb.large .btn_inner,
.btn.btn_lb.small .btn_inner{
  padding: 1.8rem;
  box-shadow: 0 10px 20px rgba(0,0,0,0.08);
}

.btn.btn_lb .btn_inner img{
  margin-right: 1rem;
}

.right_arrow{
  position: relative;
  padding-left: 1rem;
  transition: 0.2s;
}

.right_arrow::before{
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 5px;
  border-color: transparent transparent transparent #00a0bc;
  position: absolute;
  top: 10px;
  left: 0;
}


/* ----------- リンク ----------- */

a.blue{
  color: #00a0bc;
}

.link_list01{
  display: flex;
  gap: 0 2rem;
  list-style: none;
}

/* ----------- アコーディオン ----------- */

.ac-parent {
  cursor: pointer;
}

.ac-child {
  display: none;
}

.ac_parts{
  padding: 0 0 1rem;
/*   border-top: 1px dashed #bbb; */
  border-bottom: 1px dashed #bbb;
  margin-bottom: 4rem;
}

.ac_parts .ac-parent03{
  position: relative;
  padding-right: 5rem;
  border-top: 1px dashed #bbb;
  padding-top: 1rem;
  margin-top: 1rem;
}

/* .ac_parts .ac-parent03:not(:first-child){
  border-top: 1px dashed #bbb;
  padding-top: 1rem;
  margin-top: 1rem;
} */

.ac_parts .ac-parent03::before,
.ac_parts .ac-parent03::after{
  content: "";
  width: 20px;
  height: 2px;
  background: #009FBC;
  position: absolute;
  top: 50%;
  right: 2rem;
  transition: 0.2s;
}

.ac_parts .ac-parent03::before{
  transform: translateY(calc(-50% + 0.5rem)) rotateZ(0deg);
}

.ac_parts .ac-parent03::after{
  transform: translateY(calc(-50% + 0.5rem)) rotateZ(90deg);
}

.ac_parts .ac-parent03.open::before,
.ac_parts .ac-parent03.open::after{
  transform: translateY(calc(-50% + 0.5rem)) rotateZ(180deg);
}

.ac_parts .ac-parent03 h3{
  font-size: 2.8rem;
}

.ac_parts .ac-parent03 h4{
  font-size: 2.4rem;
}

.ac_parts .ac-parent03 h5{
  font-size: 2rem;
}

.ac_parts .ac-child03{
  display: none;
  margin-top: 3rem;
}

.ac_parts .ac-child03 > *:last-child{
  margin-bottom: 0;
}


/* ----------- タグ ----------- */
.tag_list{
  list-style: none;
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.tag_list li{
  font-size: 1.2rem;
  color: #fff;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  padding: 0.5rem 0.8rem;
}

.tag_list li.gray{
  background: #50565A;
}

.tag_list li.blue{
  background: #009FBC;
  min-width: 66px;
}

/* ----------- パンくずリスト ----------- */

.breadcrumb{
  background: #EAF6F8;
  padding: 1.6rem 0;
  margin-bottom: 10rem;
}

.breadcrumb .inner{
  display: flex;
  overflow-x: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.breadcrumb .inner::-webkit-scrollbar{
  display: none;
}

.breadcrumb .inner li{
  position: relative;
  padding: 0 1rem;
}

.breadcrumb .inner li,
.breadcrumb .inner li a{
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: 500;
  white-space: nowrap;
}

.breadcrumb .inner li a{
  width: 100%;
  height: 100%;
}

.txt_bold{
  font-weight: bold;
}

/* ================================================
トップ
================================================ */

main{
  overflow: hidden;
  min-width: 1100px;
}

.slider .slick-dots{
  width: auto;
  bottom: 20px;
  left: calc(50% + 15px);
  display: flex;
  gap: 0 1rem;
}

.slider .slick-dots li{
  list-style: none;
  width: 100px;
  height: 45px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  background: linear-gradient(to top,transparent calc(50% - 2.5px),rgba(255, 255, 255, 0.5) calc(50% - 2.5px),rgba(255, 255, 255, 0.5) calc(50% + 2.5px),transparent calc(50% + 2.5px));
  overflow: hidden;
}

.slider .slick-dots li:not(:last-child){
  margin-right:10px;
}

.slick-dots li button:before{
  font-family: none;
}

.slider .slick-dots li.slick-active button::after{
  content: "";
  position:absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0;
  height: 5px;
  background-color: #fff;
  animation: progress 3s linear 0s forwards;
  z-index:1;
}
@keyframes progress {
  0%{ width:0;}
  100% { width:100%;}
}

.top_page .section{
  margin-bottom: 8rem;
}

.wrap_mv{
  min-height: 41.2vw;
  margin-bottom: 14rem;
}

.wrap_mv .slider{
  display: none;
}

.wrap_mv .slider.slick-initialized{
  display: block;
}

.wrap_mv .slick-slide a{
  display: block;
  width: 100%;
  height: 100%;
}

.wrap_mv .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wrap_about .inner.small {
  margin: 0 0 0 10rem;
}

.wrap_about p{
  line-height: 2;
  margin-bottom: 5rem;
}

.wrap_about .over_area{
  padding-bottom: 38rem;
}

.wrap_about .container_img{
  width: auto;
  margin-top: -32rem;
  margin-left: 30rem;
}

.wrap_about .container_img picture{
  display: block;
}

.wrap_about .container_img img{
  max-height: 380px;
}

.top_page .wrap_nationWide{
  margin-bottom: 19rem;
}

.wrap_nationWide .box_map{
  position: relative;
  padding: 8rem 0 19rem;
}

.wrap_nationWide .box_map svg{
  margin-left: 70px;
}

.wrap_nationWide .region_list{
  list-style: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.wrap_nationWide .region_list > li{
  width: 220px;
  /* width: 185px; */
  text-align: center;
  background: #FFFFFF;
  padding-bottom: 2rem;
  border-radius: 8px;
  border: 1px solid;
  position: absolute;
  z-index: 3;
}

.wrap_nationWide .region_list > li h3{
  position: relative;
  width: 150px;
  font-size: 1.6rem;
  font-weight: 500;
  border-radius: 50px;
  margin: -1.5rem auto 1.5rem;
}

.wrap_nationWide .region_list > li h3::before{
  content: "";
  display: block;
  height: 1px;
  background: #999;
  position: absolute;
  z-index: 1;
}

.wrap_nationWide .region_list > li h4{
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 1rem;
}

.wrap_nationWide .region_list > li .link_list{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 1.5rem;
}

.wrap_nationWide .region_list > li .link_list:not(:last-child){
  margin-bottom: 1.5rem;
}

.wrap_nationWide .region_list > li .link_list li{
  width: calc(100% / 2);
}

.wrap_nationWide .region_list > li .link_list li.one{
  width: 100%;
}

.wrap_nationWide .region_list > li .link_list li a{
  display: block;
  width: 100%;
  height: 100%;
  letter-spacing: -0.03em;
  text-align: left;
}

.wrap_nationWide .region_list > li.hokkaido{
  border-color: #86CBC0;
  top: -15px;
  right: 0px;
}

.wrap_nationWide .region_list > li.tohoku{
  border-color: #B6D452;
  top: 195px;
  right: 0px;
}

.wrap_nationWide .region_list > li.kanto{
  border-color: #F4B2CE;
  top: 400px;
  right: 0px;
}

.wrap_nationWide .region_list > li.tokai{
  border-color: #FFD45C;
  top: 15px;
  left: 380px;
}

.wrap_nationWide .region_list > li.kinki{
  border-color: #90D2F6;
  bottom: 0;
  right: 230px;
}

.wrap_nationWide .region_list > li.chugoku{
  border-color: #B1A6D2;
  top: 15px;
  left: 140px;
}

.wrap_nationWide .region_list > li.shikoku{
  border-color: #D89F71;
  bottom: 0;
  left: 270px;
}

.wrap_nationWide .region_list > li.kyusyu{
  border-color: #EC7F80;
  top: 260px;
  left: 0;
}

.wrap_nationWide .region_list > li.hokkaido h3,
.wrap_nationWide .region_list > li.hokkaido h3::before{
  background: #86CBC0;
}

.wrap_nationWide .region_list > li.tohoku h3,
.wrap_nationWide .region_list > li.tohoku h3::before{
  background: #B6D452;
}

.wrap_nationWide .region_list > li.kanto h3,
.wrap_nationWide .region_list > li.kanto h3::before{
  background: #F4B2CE;
}

.wrap_nationWide .region_list > li.tokai h3,
.wrap_nationWide .region_list > li.tokai h3::before{
  background: #FFD45C;
}

.wrap_nationWide .region_list > li.kinki h3,
.wrap_nationWide .region_list > li.kinki h3::before{
  background: #90D2F6;
}

.wrap_nationWide .region_list > li.chugoku h3,
.wrap_nationWide .region_list > li.chugoku h3::before{
  background: #B1A6D2;
}

.wrap_nationWide .region_list > li.shikoku h3,
.wrap_nationWide .region_list > li.shikoku h3::before{
  background: #D89F71;
}

.wrap_nationWide .region_list > li.kyusyu h3,
.wrap_nationWide .region_list > li.kyusyu h3::before{
  background: #EC7F80;
}

.wrap_nationWide .region_list > li.hokkaido h3::before{
  width: 45px;
  bottom: -88px;
  left: -75px;
  transform: rotateZ(145deg);
}

.wrap_nationWide .region_list > li.tohoku h3::before{
  width: 83px;
  bottom: -86px;
  left: -114px;
  transform: rotateZ(160deg);
}

.wrap_nationWide .region_list > li.kanto h3::before{
  width: 140px;
  bottom: -30px;
  left: -174px;
  transform: rotateZ(180deg);
}

.wrap_nationWide .region_list > li.tokai h3::before{
  width: 88px;
  bottom: -317px;
  left: 17px;
  transform: rotateZ(90deg);
}

.wrap_nationWide .region_list > li.kinki h3::before{
  width: 118px;
  bottom: -35px;
  left: -145px;
  transform: rotateZ(208deg);
}

.wrap_nationWide .region_list > li.chugoku h3::before{
  width: 208px;
  bottom: -289px;
  left: -10px;
  transform: rotateZ(252deg);
}

.wrap_nationWide .region_list > li.shikoku h3::before{
  width: 50px;
  bottom: 52px;
  left: 44px;
  transform: rotateZ(90deg);
}

.wrap_nationWide .region_list > li.kyusyu h3::before{
  width: 74px;
  bottom: -158px;
  left: 174px;
  transform: rotateZ(225deg);
}

.wrap_nationWide .region_list > li.hokkaido h4{
  background: #DBF0EC;
}

.wrap_nationWide .region_list > li.tohoku h4{
  background: #E9F2CB;
}

.wrap_nationWide .region_list > li.kanto h4{
  background: #FCE7F0;
}

.wrap_nationWide .region_list > li.tokai h4{
  background: #FFF2CE;
}

.wrap_nationWide .region_list > li.kinki h4{
  background: #DEF2FC;
}

.wrap_nationWide .region_list > li.chugoku h4{
  background: #E7E4F2;
}

.wrap_nationWide .region_list > li.shikoku h4{
  background: #F3E2D4;
}

.wrap_nationWide .region_list > li.kyusyu h4{
  background: #F9D8D9;
}

.wrap_nationWide.front.s_size .box_map{
  min-width: 1000px;
}

.wrap_nationWide.front.s_size .region_list > li.tokai h3::before {
  width: 142px;
  bottom: -261px;
  left: 8px;
}

.wrap_nationWide.front.s_size .region_list > li.shikoku {
  bottom: 80px;
}

.wrap_nationWide.front.s_size .region_list > li.kinki {
  bottom: 190px;
}

.wrap_nationWide .region_list a{
  color: #333333 !important;
}

.wrap_pickup .inner{
  padding-bottom: 8rem;
  margin-right: 5rem;
}

.pickup_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4rem 0;
  list-style: none;
  margin-bottom: 5rem;
}

.pickup_list li{
  width: calc(93% / 3);
}

.pickup_list li a{
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  gap: 2rem 2.8rem;
  flex-direction: column;
}

.pickup_list li a:hover,
.kosen_news_list > li a:hover{
  opacity: 1;
}
.pickup_list li a:hover .ttl_pickup,
.kosen_news_list > li a:hover .ttl_pickup{
  text-decoration: underline;
}

.pickup_list li a picture{
  border-radius: 16px;
  overflow: hidden;
  height: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.pickup_list li a picture img{
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.ttl_pickup{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 2rem;
  transition: 0.2s;
}

.date{
  font-size: 1.3rem;
}

.pickup_list li:first-child{
  width: 100%;
}

.pickup_list li:first-child a{
  flex-direction: row;
}

.pickup_list li:first-child a picture{
  height: 300px;
  width: 50%;
}

.pickup_list li:first-child a .txt{
  width: 50%;
}

.top_page .wrap_kosen_news{
  background: linear-gradient(to top,#E4F1F4 450px,transparent 450px);
  padding-bottom: 16rem;
  margin: 0;
}

.kosen_news_list{
  list-style: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 3.2rem;
  margin-bottom: 5rem;
}

.kosen_news_list::before,
.kosen_news_list::after{
  content: "";
  display: block;
  width: calc(calc(100% - 9.6rem) / 4);
  order: 1;
}

.kosen_news_list > li{
  width: calc(calc(100% - 9.6rem) / 4);
}

.kosen_news_list > li a{
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 16px;
  overflow: hidden
}

.kosen_news_list > li a picture{
  max-height: 140px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: 1px solid #f4f4f4;
  margin-bottom: 2rem;
}

.kosen_news_list > li a picture img{
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.kosen_news_list > li a .txt{
  margin: 0 2rem 6rem;
}

.top_page .wrap_kikou_news{
  background: #E4F1F4;
  padding-bottom: 10rem;
  margin-bottom: 0;
}

.kikou_news_list{
  list-style: none;
  background: #FFFFFF;
  padding: 6rem 5rem;
  border-radius: 16px;
  margin-bottom: 5rem;
}

.kikou_news_list li a{
  color: #333333 !important;
  display: flex;
  gap: 0 2rem;
}

.kikou_news_list li:not(:last-child) a{
  padding-bottom: 2rem;
  border-bottom: 1px solid #C6C6C6;
  margin-bottom: 2rem;
}

.kikou_news_list li a .date{
  width: 80px;
}

.kikou_news_list li a .tag_list{
  flex-direction: column;
  margin-right: 1rem;
  margin-bottom: auto;
}

.kikou_news_list li a h3{
  width: calc(100% - 200px);
  font-weight: 400;
}

/* ================================================
扉ページ
================================================ */

.wrap_summary{
  margin-bottom: 8rem;
}

.wrap_summary > ul{
  list-style: none;
  position: relative;
  min-height: 510px;
}

.wrap_summary > ul .img{
/*   width: calc(50vw + 11rem); */
  width: calc(calc(calc(100vw - 100%) / 2) + 60%);
  position: absolute;
  top: 50%;
  left: calc(50% - 50vw);
/*   right: calc(50% - 11rem); */
  transform: translateY(-50%);
  height: 100%;
  overflow: hidden;
  border-radius: 0 24px 24px 0;
}

.wrap_summary > ul .img picture{
  height: 100%;
}

.wrap_summary > ul .img picture img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wrap_summary > ul .txt{
/*   width: calc(50vw + 6rem); */
  width: calc(calc(calc(100vw - 100%) / 2) + 60%);
  position: absolute;
  top: 50%;
  right: calc(50% - 50vw);
/*   left: calc(50% - 6rem); */
  transform: translateY(-50%);
  background: #fff;
  padding: 6rem 4rem 6rem 6rem;
  box-shadow: 0 10px 20px rgba(0, 159, 188, 0.1);
  border-radius: 24px 0 0 24px;
}

.wrap_summary > ul .txt h2{
  font-size: 3rem;
  line-height: 1.4;
  margin-bottom: 4rem;
}

.wrap_summary > ul .txt p{
  width: min(100%,500px);
  line-height: 2;
}

.wrap_kikou_news.front{
  background: #EAF6F8;
  padding: 8rem 0;
  margin-bottom: 8rem;
}

.wrap_link_level{
  padding-bottom: 4rem;
}

.link_underline{
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
  list-style: none;
  margin-bottom: 6rem;
}

.link_underline + .link_underline{
  margin-top: 8rem;
}

.link_underline li{
  width: calc(calc(100% - 6rem) / 3);
  margin-bottom: auto;
}

.pt_block{
  display: block;
}

.pt_none{
  display: none;
}

.link_underline li a{
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding-bottom: 1rem;
  padding-right: 2rem;
  border-bottom: 2px solid #CCE7EE;
  border-image: linear-gradient(to right, #33B2C9 30px, #CCE7EE 30px);
  border-image-slice: 1;
}

.link_underline li a::before{
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid #009FBC;
  border-right: 1px solid #009FBC;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%) rotateZ(45deg);
}

a[target="_blank"]::after,
.link_underline li a[target="_blank"]::after,
.page-template-page-language main > .inner a[target="_blank"]::after,
.btn_inner[target="_blank"]::after{
  content: "";
  width: 14px;
  height: 18px;
  display: inline-block;
  background: url("/img/icon_tab.svg") no-repeat center/contain;
  vertical-align: middle;
  margin: 0 5px;
}

a[href*=".pdf"]::after,
.link_underline li a[href*=".pdf"]::after,
.btn_inner[href*=".pdf"]::after {
  content: "";
  width: 13px;
  height: 16px;
  display: inline-block;
  background: url("/img/icon_pdf.svg") no-repeat center/contain;
  vertical-align: middle;
  margin: 0 5px 4px;
}

a[href*=".doc"]::after,
.link_underline li a[href*=".doc"]::after,
.btn_inner[href*=".doc"]::after,
a[href*=".docx"]::after,
.link_underline li a[href*=".docx"]::after,
.btn_inner[href*=".docx"]::after {
  content: "";
  width: 13px;
  height: 16px;
  display: inline-block;
  background: url("/img/icon_word.svg") no-repeat center/contain;
  vertical-align: middle;
  margin: 0 5px 4px;
}

a[href*=".zip"]::after,
.link_underline li a[href*=".zip"]::after,
.btn_inner[href*=".zip"]::after {
  content: "";
  width: 13px;
  height: 16px;
  display: inline-block;
  background: url("/img/icon_zip.svg") no-repeat center/contain;
  vertical-align: middle;
  margin: 0 5px 4px;
}

a[href*=".xls"]::after,
.link_underline li a[href*=".xls"]::after,
.btn_inner[href*=".xls"]::after,
a[href*=".xlsx"]::after,
.link_underline li a[href*=".xlsx"]::after,
.btn_inner[href*=".xlsx"]::after {
  content: "";
  width: 13px;
  height: 16px;
  display: inline-block;
  background: url("/img/icon_excel.svg") no-repeat center/contain;
  vertical-align: middle;
  margin: 0 5px 4px;
}

.kosen_news_list a[target="_blank"]::after,
.kosen_news_list a[href*=".pdf"]::after,
.kosen_news_list a[href*=".doc"]::after,
.kosen_news_list a[href*=".docx"]::after,
.kosen_news_list a[href*=".xls"]::after,
.kosen_news_list a[href*=".xlsx"]::after,
.kosen_news_list a[href*=".zip"]::after,
.wrap_nationWide .region_list > li .link_list li a::after,
.pickup_list li a::after{
  content: none;
}

.wrap_nationWide.front{
  position: relative;
  background: #EAF6F8;
  padding: 8rem 0 11rem;
  margin: 0 calc(50% - 50vw) 0;
  margin-bottom: 0 !important;
}

/* .wrap_nationWide.front .box_map {
  padding: 8rem 0 10rem;
} */

/* .wrap_nationWide.front .region_list > li.kinki {
  bottom: 110px;
} */

.wrap_nationWide.front .region_list > li.tokai h3::before {
  width: 82px;
  bottom: -313px;
  left: 11px;
}

.wrap_nationWide.no_bg{
  background: transparent;
}

/* ================================================
ブロックエディタ パーツ
================================================ */
article.type-news a,.block_editor a{
  color: #009FBC;
}

.date_articles{
  font-size: 1.2rem;
  margin-bottom: 6rem;
}

.heading_2,
.is-style-heading_2{
  font-size: 3rem;
  line-height: 1.4;
  padding-bottom: 2rem;
  border-bottom: 1px solid #707070;
  margin-bottom: 4rem;
}

.heading_3,
.is-style-heading_3{
  font-size: 2.8rem;
  line-height: 1.4;
  margin-bottom: 3rem;
}

.heading_4,
.is-style-heading_4{
  font-size: 2.4rem;
  line-height: 1.4;
  margin-bottom: 3rem;
}

.heading_5,
.is-style-heading_5{
  font-size: 2rem;
  line-height: 1.4;
  margin-bottom: 3rem;
}

.txt_base,
.is-style-txt_base{
  margin-bottom: 4rem;
}

.txt_base.mb10{
  margin-bottom: 1rem;
}

.txt_base a,
.is-style-txt_base a{
  color: #009FBC;
}

.img_100 img,
.is-style-img_100 img{
  width: 100%;
}

.img_border img,
.is-style-img_border img{
  border: 1px solid #eee;
}

.caption,
div.wp-block-image .wp-element-caption{
  text-align: center;
  font-size: 1.4rem !important;
  line-height: 1.2;
  color: #333333 !important;
  margin-top: 1rem;
}

.container_img,
.is-style-container_img{
  width: 100%;
  display: flex;
  gap: 3.2rem;
  margin: 0 auto 4rem;
}

.container_img.w80,
.is-style-container_img.w80{
  width: 80%;
}

.container_img.s_size{
  width: auto;
  align-items: center;
}

.container_img .img{
  width: 100%;
}

.container_img.s_size .img{
  width: auto;
}

.container_img img,
.is-style-container_img img{
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.container_img.s_size img{
  width: auto;
  aspect-ratio: inherit;
  object-fit: inherit;
}

.container_row,
.is-style-container_row{
  display: flex;
  justify-content: space-between;
  margin-bottom: 4rem;
}

.container_row.right{
  flex-direction: row-reverse;
}

.container_row .img,
.container_row .wp-block-media-text__media,
.is-style-container_row .wp-block-media-text__media{
  width: 31% !important;
}

.container_row .txt_base,
.container_row .wp-block-media-text__content,
.is-style-container_row .wp-block-media-text__content{
  width: calc(100% - calc(31% + 3.2rem)) !important;
  padding: 0;
  margin-bottom: auto;
}

.container_row.flex_linklists .img{
  width: 13.5% !important;
}

.container_row.flex_linklists .img img{
  width: 100%;
}

.container_row.flex_linklists .txt_base{
  width: calc(100% - calc(13.5% + 3.2rem)) !important;
}

.container_row.flex_linklists .txt_base .txt_base{
  width: 100% !important;
}

.container_row.flex_linklists .txt_base .list_dots li{
  padding-left: 1.4em;
  text-indent: -1.4em;
}

.container_row.flex_linklists .txt_base .list_dots li a{
  color: #009FBC;
}

.table_row,
.is-style-table_row,
.table_col,
.is-style-table_col{
  overflow: hidden;
  margin-bottom: 4rem;
}

.table_row table,
.is-style-table_row table,
.table_col table,
.is-style-table_col table{
  min-width: 990px;
  width: 100%;
}

.wp-block-flexible-table-block-table table {
  width: 100%;
}

.wp-block-table thead {
  border-bottom: 0;
}

.wp-block-table td, .wp-block-table th{
  border: 0;
}

.table_row th,
.is-style-table_row th,
.table_col th,
.is-style-table_col th{
  min-width: 190px;
  background: #CCE7EE;
  text-align: left;
  vertical-align: middle;
  font-weight: 400;
  padding: 1rem;
  border: 1px solid #A6AAAB;
}

.table_row td,
.is-style-table_row td,
.table_col td,
.is-style-table_col td{
  background: #FAFAFA;
  word-break: break-all;
  vertical-align: middle;
  padding: 1rem;
  border: 1px solid #A6AAAB;
}

.table_row th a,
.is-style-table_row th a,
.table_row td a,
.is-style-table_row td a,
.table_col th a,
.is-style-table_col th a,
.table_col td a,
.is-style-table_col td a{
  color: #009FBC;;
}

/* .table_row:not(.col) th:not(:last-child),
.table_row td:not(:last-child),
.is-style-table_row th:not(:last-child),
.is-style-table_row td:not(:last-child),
.table_col td:not(:last-child),
.is-style-table_col td:not(:last-child){
  border-right: 1px solid #A6AAAB;
}

.table_row.col tr:not(:last-child) th,
.is-style-table_row.col tr:not(:last-child) th,
.table_col tr:not(:last-child) th,
.is-style-table_col tr:not(:last-child) th{
  border-bottom: 1px solid #A6AAAB;
}

.table_row tr:not(:last-child) td,
.is-style-table_row tr:not(:last-child) td,
.table_col tr:not(:last-child) td,
.is-style-table_col tr:not(:last-child) td{
  border-bottom: 1px solid #A6AAAB;
} */

.wp-block-table tfoot{
  border-top: 2px solid #A6AAAB;
}

.list_dots,
.is-style-list_dots,
.list_order,
.is-style-list_order{
  list-style-position: inside;
  margin-bottom: 4rem;
}

.list_dots .list_dots,
.is-style-list_dots .is-style-list_dots,
.list_order .list_order,
.is-style-list_order .is-style-list_order{
  padding-left: 2rem;
  margin-top: 10px;
}
.list_order .list_order,
.is-style-list_order .is-style-list_order{
  list-style: upper-roman inside;
}

.list_dots .list_dots .list_dots,
.is-style-list_dots .is-style-list_dots .is-style-list_dots,
.list_order .list_order .list_order,
.is-style-list_order .is-style-list_order .is-style-list_order{
  padding-left: 4rem;
  margin-top: 10px;
}

.list_order .list_order .list_order,
.is-style-list_order .is-style-list_order .is-style-list_order{
  list-style: lower-alpha inside;
}

.list_dots li,
.is-style-list_dots li,
.list_order li,
.is-style-list_order li{
  margin-bottom: 0.5rem;
}

.list_dots li,
.is-style-list_dots li{
  padding-left: 2.3rem;
  text-indent: -2.3rem;
}

.list_order li,
.is-style-list_order li{
  padding-left: 1.9rem;
  text-indent: -1.9rem;
}

.list_dots li::marker,
.is-style-list_dots li::marker{
  color: #009FBC;
}

.list_dots li a,
.is-style-list_dots li a,
.list_order li a,
.is-style-list_order li a{
  color: #009FBC;
}

.space_40,
.is-style-space_40{
  height: 40px !important;
}

.space_80,
.is-style-space_80{
  height: 80px !important;
}

.w_80_group,
.is-style-w_80_group{
  width: 80%;
  margin: 0 auto;
}

.w_60_group,
.is-style-w_60_group{
  width: 60%;
  margin: 0 auto;
}

.gray_line{
  border-top: 1px solid #707070;
  margin: 5rem 0;
}

.btn.btn_lb.large.block{
  margin: 0 auto 10rem;
}

.page > .inner > *:last-child{
  margin-bottom: 10rem;
}

/* ======== color ======== */
.has-main-blue-color{
  color: #009FBC;
}
.has-light-blue-color{
  color: #EAF5F7;
}
.has-red-color{
  color: #E20000;
}
.has-yellow-color{
  color: #FFD45C;
}
.has-light-gray-color{
  color: #707070;
}
.has-gray-color{
  color: #50565A;
}
.has-black-color{
  color: #333333;
}

.has-main-blue-background-color{
  background-color: #009FBC;
}
.has-light-blue-background-color{
  background-color: #EAF5F7;
}
.has-red-background-color{
  background-color: #E20000;
}
.has-yellow-background-color{
  background-color: #FFD45C;
}
.has-light-gray-background-color{
  background-color: #707070;
}
.has-gray-background-color{
  background-color: #50565A;
}
.has-black-background-color{
  background-color: #333333;
}

/* ======== font ======== */
.has-ttl-2-font-size{
  font-size: 3rem;
}
.has-ttl-3-font-size{
  font-size: 2.8rem;
}
.has-ttl-4-font-size{
  font-size: 2.8rem;
}
.has-sentence-font-size{
  font-size: 1.6rem;
}
.has-caption-font-size{
  font-size: 1.4rem;
}
.has-comment-font-size{
  font-size: 1.2rem;
}


/* ================================================
機構お知らせ一覧
================================================ */

.kikou_past_articles .kikou_news_list {
  padding: 0rem 5rem;
}

.nav-links{
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
  margin-bottom: 10rem;
}

.nav-links .page-numbers{
  display: block;
  width: 30px;
  height: 30px;
  color: #009FBC;
  font-size: 1.8rem;
  line-height: 0.5;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
}

.nav-links .page-numbers.current{
  background: #009FBC;
  color: #fff;
}

.nav-links .page-numbers img{
  width: 8px;
}

/* ================================================
高専お知らせ一覧
================================================ */

.kosen_past_articles{
  background: #E3F1F3;
}

/* ================================================
高専情報ポータル
================================================ */

.wrap_nationwide_anker{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem 4rem;
  margin-bottom: 8rem;
}

.wrap_nationwide_anker ul{
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem 4rem;
}

.wrap_nationwide_anker ul li a{
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  line-height: 1.2;
  font-weight: 500;
}

.wrap_nationwide_anker ul:not(:last-child) li a::after,
.wrap_nationwide_anker ul:last-child li:not(:last-child) a::after{
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #333333;
  position: absolute;
  top: 50%;
  right: -2rem;
  transform: translateY(-50%);
}

.one_college{
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #CCE7EE;
  margin-bottom: 3rem;
}

.one_college .link_underline{
  width: calc(100% - 150px);
}

.one_college + .ttl_simple{
  margin-top: 8rem;
}

.one_college + .btn.btn_lb.large{
  margin: 10rem auto;
}

/* ================================================
お問い合わせ
================================================ */

.wrap_contact_current{
  margin-bottom: 8rem;
}

.wrap_contact_current ul{
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 23rem;
}

.wrap_contact_current ul li,
.wrap_contact_current ul li span{
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
  color: #707070;
}

.wrap_contact_current ul li.current,
.wrap_contact_current ul li.current span{
  color: #009FBC;
}

.wrap_contact_current ul li{
  position: relative;
  text-align: center;
}

.wrap_contact_current ul li:not(:first-child)::before{
  content: "";
  width: 20rem;
  height: 1px;
  background: #707070;
  position: absolute;
  top: 0.8rem;
  left: -21.5rem;
}

.wrap_contact_current ul li.current::after{
  content: "";
  width: 48px;
  height: 48px;
  border: 1px solid #009FBC;
  border-radius: 100px;
  position: absolute;
  top: -1.5rem;
  left: -0.8rem;
}

.wrap_contact_current ul li span{
  display: block;
  margin-bottom: 2.5rem;
}

.wrap_contact_form{
  margin-bottom: 10rem;
}

.wrap_contact_form ul{
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 3rem 0;
  margin-bottom: 3rem;
}

.wpcf7-form-control-wrap {
  display: block;
}

.wrap_contact_form.confirm ul li{
  padding-bottom: 3rem;
  border-bottom: 1px solid #707070;
}

.wrap_contact_form ul li.name > p{
  display: flex;
  justify-content: space-between;
  gap: 3rem;
  width: 100%;
}

.wrap_contact_form ul li.name > p label{
  display: block;
  width: 100%;
}

.wrap_contact_form ul li p{
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.icon_required{
  display: inline-block;
  background: #E20000;
  color: #fff;
  font-size: 1.1rem;
  text-align: center;
  line-height: 1;
  padding: 0.4rem 1.2rem;
  border-radius: 50px;
  margin-left: 1rem;
  margin-bottom: 1rem;

}

.wrap_contact_form ul li input,
.wrap_contact_form ul li textarea{
  font-size: 1.8rem;
  padding: 1.8rem 1.4rem;
  border: 1px solid #707070;
  border-radius: 8px;
}

.wrap_contact_form ul li input{
  width: min(100%,434px);
}

.wrap_contact_form ul li input.wpcf7-not-valid{
  border-color: #E20000;
}

.wpcf7-not-valid-tip{
  font-size: 1.6rem;
}

.wrap_contact_form ul li textarea{
  width: 100%;
}

.wrap_contact_form .rules{
  margin-bottom: 5rem;
}

.wrap_contact_form .rules .wpcf7-form-control-wrap{
  display: inline-block;
}

.wrap_contact_form .rules .wpcf7-list-item {
  margin: 0;
}

.wrap_contact_form .rules label{
  position: relative;
  display: inline-block;
  vertical-align: bottom;
  cursor: pointer;
  width: 28px;
  height: 28px;
  border: 1px solid #707070;
  margin-right: 1rem;
}

.wrap_contact_form .rules label input{
  vertical-align: baseline;
  width: 28px;
  height: 28px;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  margin: 0;
}

.wrap_contact_form .rules label input:checked::before,
.wrap_contact_form .rules label input:checked::after{
  content: "";
  display: block;
  height: 3px;
  background: #009FBC;
  border-radius: 8px;
  position: absolute;
}

.wrap_contact_form .rules label input:checked::before{
  width: 10px;
  top: 14px;
  left: 3.5px;
  transform: rotateZ(45deg);
}

.wrap_contact_form .rules label input:checked::after{
  width: 16px;
  top: 12px;
  left: 8.5px;
  transform: rotateZ(315deg);
}

.wrap_contact_form .rules p{
  display: inline-block;
  font-size: 1.8rem;
  line-height: 1.6;
}

.wrap_contact_form ul li .result{
  display: block;
  font-weight: normal;
  margin-top: 1rem;
}

.wrap_contact_form .rules p a{
  color: #009FBC;
  font-size: 1.6rem;
  font-weight: 500;
  text-decoration: underline;
  margin-left: 1rem;
}

.wrap_contact_form.complete h2{
  font-size: 3rem;
  text-align: center;
  color: #009FBC;
  margin-bottom: 4rem;
}

.wrap_contact_form.complete h2 + p{
  text-align: center;
  margin-bottom: 5rem;
}

/* ================================================
404ページ
================================================ */
.wrap_404{
  padding-top: 10rem;
  margin: 10rem auto;
}

/* ================================================
検索結果ページ
================================================ */

.highlight {
  background-color: #FFD45C;
  font-weight: bold;
  padding: 0 3px 3px 4px;
}

.kikou_news_list.search{
  padding: 0;
  margin-bottom: 10rem;
}

.kikou_news_list.search li a {
  gap: 1rem 2rem;
  flex-direction: column;
}

.kikou_news_list.search li a h3{
  font-weight: bold;
  font-size: 2rem;
}

.kikou_news_list.search li a h3,
.kikou_news_list.search li a p{
  width: 100%;
}

/* ================================================
教員公募
================================================ */

.kyoin_kobo {
  margin-bottom: 2rem;
}

.wrap_kyoin_summary{
  margin-bottom: 10rem;
}

.wrap_kyoin_summary .heading_3.blue{
  color: #009FBC;
}
.wrap_kyoin_summary .txt_base{
  margin-bottom: 8rem;
}

.wrap_kyoin_summary .txt_base span{
  display: block;
}

.txt_limit,
.kyoin_kobo .limit::after{
  color: #0072BF;
}

.txt_priority,
.kyoin_kobo .priority::after{
  color: #E20000;
}

.kyoin_kobo .table_row table{
  width: 100%;
}

.kyoin_kobo .table_row th{
  width: calc(100% / 4);
}

.kyoin_kobo .table_row td{
  padding: 1.4rem;
}

.kyoin_kobo .table_row td > span{
  width: 100%;
  height: 100%;
  display: inline-block;
  vertical-align: middle;
}

.kyoin_kobo .table_row td > span a{
  text-decoration: underline;
}

.kyoin_kobo .all,
.kyoin_kobo .limit,
.kyoin_kobo .priority{
  position: relative;
}

.kyoin_kobo .all::after,
.kyoin_kobo .limit::after,
.kyoin_kobo .priority::after{
  display: inline-block;
  background: none;
  width: auto;
  height: auto;
}

.kyoin_kobo .all::after{
  content: none;
}

.kyoin_kobo .limit::after{
  content: "（女性限定）";
}

.kyoin_kobo .priority::after{
  content: "（女性優先）";
}

.l_blue_line{
  border-color: #CCE7EE;
  margin: 4rem 0 0;
}

/* ================================================
契約公表一覧
================================================ */

.keiyakukouhyou section .inner{
  margin-bottom: 10rem;
}

@media screen and (max-width:1100px) and (min-width:768px){
  .header{
    left: 0;
    transform: none;
  }
  .hd_inner{
    padding-right: 1rem;
    margin-right: 0;
  }
  .over_area.right{
    margin-right: 0;
    margin-left: 8rem;
  }
  .container_img.right{
    margin-left: 20rem;
    margin-right: 0;
  }
  
  .over_area.left{
    margin-right: 8rem;
    margin-left: 0;
  }
  
  .container_img.left{
    margin-right: 20rem;
    margin-left: 0;
  }
  
  .wrap_summary .inner.large {
    width: 100%;
    min-height: 500px;
  }
  
  .wrap_summary > ul .img{
    width: calc(calc(calc(1100px - 100%) / 2) + 60%);
    left: calc(50% - 550px);
  }
  
  .wrap_summary > ul .txt{
    width: calc(calc(calc(1100px - 100%) / 2) + 60%);
    right: calc(50% - 550px);
  }
  .wide {
    margin: 0 calc(50% - 550px) !important;
  }
  
  .wrap_nationWide.s_size {
    margin: 0;
  }
}