@charset "UTF-8";
html {
  font-size: 62.5%;
}

body {
  font-family: 'Noto Sans JP',sans-serif;
  font-size: 1.6rem;
  color: #515151;
}

a:link, a:visited, a:hover, a:active {
  text-decoration: none;
}

a{
  display: block;
}

img{
  width: 100%;
  vertical-align: middle;
}

h1, h2, h3, h4{
  font-weight: normal;
  font-size: inherit;
}

ol, ul {
  list-style: none;
  list-style-type: none;
}

p{
  line-height: 2;
}

.header-inner{
  max-width: 1400px;
  margin: 0 auto;
  padding: 15px;
}

.header_logo img{
  max-width: 320px;
}

.width{
  max-width: 1200px;
  padding: 0 15px;
  margin: 0 auto;
}

section,
article {
  padding: 100px 0;
}

.pc_mv{
  position: relative;
}

.pc_mv img{
  width: 100%;
}

.pc_mv .mv_text_wrap{
  position: absolute;
  top: 50%;
  left: 6%;
  transform: translateY(-50%);
  width: 45%;
}

.sp_mv img,.sp_br,.sp_banner{
  display: none;
}

.h2_wrap{
  position: relative;
  display: inline-block;
  margin-bottom: 80px;
}

.h2_wrap:after{
  content: '';
  position: absolute;
  left: 0;
  bottom: -20px;/*線の上下位置*/
  display: inline-block;
  width: 180px;/*線の長さ*/
  height: 2px;/*線の太さ*/
  background-color: #d66115;
}

h2{
  font-size: 7.2rem;
  font-family: 'Marcellus SC';
  color: #143970;
  font-weight: 500;
}

.h2_wrap span{
  font-size: 2rem;
  font-family: 'Shippori Mincho B1';
  font-weight: 500;
}

.access .h2_wrap span{
  color: #ffffff;
}

.top_p{
  text-align: center;
  margin-bottom: 80px;
  font-family: 'Shippori Mincho B1';
  font-weight: 600;
  font-size: 3rem;
  color: #143970;
  opacity: 0.8;
  letter-spacing: 5px;
  background: url(img/bg_logo.png) no-repeat center;
  background-size: contain;
  padding: 50px 0;
  line-height: 1.5;
}

.about_syaroushi,.profile{
  display: flex;
  justify-content: space-between;
}

.about_syaroushi{
  flex-direction: row-reverse;
  margin-bottom: 60px;
}

.about_syaroushi .text,.profile .img{
  width: 45%;
}

.left_border{
  padding: 10px 20px;/*上下 左右の余白*/
  background: transparent;/*背景透明に*/
  border-left: solid 3px #d66115;/*左線*/
}

h3.left_border{
  font-size: 2rem;
  font-family: 'Shippori Mincho B1';
  font-weight: 700;
  margin-bottom: 50px;
}

.about_syaroushi .big_text{
  font-size: 2.6rem;
  font-family: 'Shippori Mincho B1';
  margin-bottom: 20px;
  opacity: 0.75;
}

.about_syaroushi .img,.profile .text_box{
  width: 50%;
}

.text_box{
  padding: 50px;
  box-shadow: 0 0.625em 3.125em rgb(51 68 85 / 10%);
}

.profile .name{
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-family: 'Shippori Mincho B1';
  font-weight: 800;
}

.case,.features{
  background-color: #fafafa;
}

.sub-title_small-text{
  font-size: 1.4rem !important;
}

.onayami_inner{
  display: flex;
  justify-content: space-between;
  margin-bottom: 35px;
}

.onayami_inner.row-reverse{
  flex-direction: row-reverse;
}

.onayami_inner .text_part{
  width: 65%;
}

.onayami_inner .img{
  width: 30%;
}

.onayami_inner .fuman_title{
  padding-left: 25px;
  background: url(img/arrow_right.svg) no-repeat left center;
  background-size: 15px 20px;
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 10px;
}

.fuman_wrap{
  background-color: #ffffff;
  padding: 25px;
  box-shadow: 0 0.625em 3.125em rgb(51 68 85 / 10%);
  margin-bottom: 40px;
}

.fuman_gray_box{
  background-color: #637991;
  color: #ffffff;
  padding: 25px 30px;
  margin-top: 20px;
  position: relative;
}

.arrow_circle_right{
  position: absolute;
  width: 40px;
  height: 40px;
  left: -5px;
  top: -10px;
}

.arrow_down_img{
  width: 60px;
  height: 20px;
  margin: 0 auto 40px;
}

.we_can_wrap{
  text-align: center;
  margin-bottom: 60px;
}

.we_can{
  font-family: 'Shippori Mincho B1';
  font-size: 3.6rem;
  font-weight: 500;
  border-bottom: solid 2px #d66115;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 40px;
}

.support_wrap{
  display: flex;
  justify-content: space-between;
}

.support_title{
  font-weight: 500;
  margin-bottom: 35px;
}

.support_syaroushi,.support_arnk{
  background-color: #ffffff;
  padding: 30px 25px;
}

.support_syaroushi{
  width: 25%;
}

.support_arnk{
  width: 65%;
}

.syaroushi_li,.arnk_li{
  color: #11376b;
  font-weight: 700;
  padding-left: 20px;
}

.syaroushi_li{
  font-size: 2rem;
  background: url(img/orange_circle.svg) no-repeat left 8px;
  background-size: 12px;
}

.support_arnk{
  box-shadow: 0 0.625em 3.125em rgb(51 68 85 / 10%);
  position: relative;
}

.support_arnk .plus{
  position: absolute;
  width: 30px;
  height: 30px;
  left: -10%;
  top: 50%;
  transform: translateY(-50%);
}

.arnk_li{
  font-size: 2.4rem;
  margin-top: 20px;
  background: url(img/orange_circle.svg) no-repeat left 12px;
  background-size: 12px;
}

.arnk_li p{
  font-size: 1.6rem;
  font-weight: normal;
  color: #515151;
}

.point_part{
  margin-top: 80px;
  padding: 0 60px;
  display: flex;
  justify-content: space-between;
}

.point_img{
  width: 15%;
}

.point_text{
  width: 83%;
}

.service_detail_head{
  position: relative;
  display: inline-block;
  width: 100%;
  height: 80px;
  line-height: 80px;
  margin-bottom: 40px;
  padding-left: 115px;
  font-size: 2.4rem;
  font-weight: 500;
  color: #fff;
  background-color: #637991;
  box-shadow: 0 0.625em 3.125em rgb(51 68 85 / 10%);
}

.service_detail_head:before{
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 80px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 57px 45px;
  background-color: #204263;
  margin-left: 10px;
}

.service_01:before{
  background-image: url(img/service_01.svg);
}

.service_02:before{
  background-image: url(img/service_02.svg);
}

.service_03:before{
  background-image: url(img/service_03.svg);
}

.service_04:before{
  background-image: url(img/service_04.svg);
}

.service_top_p{
  padding: 0 50px;
}

.service_hide_box{
  display: none;
  margin-top: 35px;
  border: solid 1px #e3e8e8;
  padding: 0 50px;
}

.service_hide_box_inner{
  margin: 35px 0;
}

.main_service{
  font-size: 1.4rem;
}

.service_hide_box_title{
  margin-top: 35px;
  color: #11376b;
  font-size: 2.2rem;
  font-weight: 700;
}

.border{
  margin-top: 10px;
  margin-bottom: 20px;
  border: solid 0.5px #e3e8e8;
}

.service_gray_box{
  background-color: #f0f2f4;
  margin: 20px 20px 0 0;
  padding: 15px;
  display: inline-block;
}

.etc{
  font-size: 1.4rem;
  display: inline-block;
}

.read-more_btn,.privacy_btn_wrap,.back-top_btn,
.link_btn {
  display: grid;
  width: 200px;
  height: 60px;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  color: #fff;
  background-color: #11376b;
  font-family: 'Marcellus SC';
  cursor: pointer;
}

.read-more_btn,.privacy_btn_wrap,.back-top_btn {
    margin: 35px auto 70px;
}

.submit {
  width: 200px;
  height: 60px;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  color: #fff;
  background-color: #11376b;
  font-family: 'Marcellus SC';
  margin: 35px auto 70px;
  cursor: pointer;
}

.submit_button,.back-top_btn{
  width: 200px;
  height: 60px;
}

.read-more_btn:hover,.privacy_btn_wrap:hover,.submit:hover,.arnk_banner:hover,.back-top_btn:hover,
.link_btn:hover {
  opacity: 0.8;
  transition: .3s
}

.privacy_btn_wrap a,.submit button,.back-top_btn_wrap a{
  color: #ffffff;
  font-family: 'Shippori Mincho B1';
}

.features_box_wrap{
  display: flex;
  margin-top: 55px;
  justify-content: space-between;
}

.features_box{
  background-color: #ffffff;
  box-shadow: 0 0.625em 3.125em rgb(51 68 85 / 10%);
  position: relative;
  width: 30%;
}

.features_number{
  position: absolute;
  width: 70%;
  left: 0;
  top: -55px;
}

.features_box p{
  padding: 25px 20px;
}

.arnk_banner{
  margin: 80px 50px 0;
}

.access{
  background-image: url(img/access_bg.jpg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}

.map_part{
  display: flex;
}

.map{
  width: 50%;
}

iframe {
  width: 100%;
}

.address{
  margin-left: 40px;
}

.address p{
  margin-top: 40px;
  color: #ffffff;
}

.address p:first-child{
  margin-top: 0;
}

.contact p{
  text-align: center;
}

.contact_top_big_text{
  font-size: 2.6rem;
  font-family: 'Shippori Mincho B1';
  margin-bottom: 15px;
}

.form_wrap{
  padding: 0 50px;
  margin-top: 50px;
}

form dl{
  display: flex;
  border-bottom: 1px solid #e3e8e8;
}

form dl:first-of-type{
  border-top: 1px solid #e3e8e8;
}

form dl dt{
  width: 35%;
  padding: 45px 30px 30px 80px;
}

form dl dd{
  width: 65%;
  padding: 30px 80px 30px 30px;
}

input,textarea{
  background-color: #f5f5f5;
  padding: 15px;
  width: 100%;
}

.confirm_txt,.privacy_btn_wrap,.submit,.back-top_btn_wrap{
  text-align: center;
  margin: 35px auto;
}

.confirm_txt input{
  width: auto;
  margin-right: 10px;
}

.modal-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  overscroll-behavior-y: none;
  background:rgba(0,0,0,0.8);
}

.modal-wrapper p{
  text-align: left;
}

.modal-wrapper.active{
	opacity: 1;
	visibility: visible;
}

.modal-wrapper * {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
}

.modal-outer-wrapper {
  display: table;
  position: relative;
  width: 100%;
  height: 100%;
}

.modal-inner-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 80px 25px;
}

.modal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: auto;
  text-align: left;
  color: #000;
  max-width: 1000px;
  border-radius: 0px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: auto;
  overflow-y: scroll;
  height: 80vh;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.modal-content-container {
  padding: 30px;
}

.privacy_section {
  margin-bottom: 30px;
}

.privacy_declearation {
  margin-bottom: 30px;
}

.privacy_section h3 {
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: bold;
}

.privacy_section p {
  margin-bottom: 15px;
}

.modal-wrapper .modal-close {
  border: none;
  background: transparent;
  padding: 0;
  -webkit-appearance: none;
}

.modal-close {
  position: fixed;
  right: 20px;
  top: 20px;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border-radius: 100%;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.modal-close span {
  position: absolute;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0;
  border: 0;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.modal-close:before, .modal-close:after {
  display: block;
  content: " ";
  position: absolute;
  top: 14px;
  left: 23px;
  width: 4px;
  height: 22px;
  border-radius: 4px;
  background: #fff;
  -webkit-transition: background 0.2s ease-in-out;
  transition: background 0.2s ease-in-out;
}

.modal-close:before {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.modal-close:after {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.footer-inner{
  border-top: 1px solid #c0bfbf;
  padding: 30px 15px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.footer_logo{
  width: 320px;
}

.copy-right{
  font-size: 1.4rem;
}

/* mail.php ↓ */

article.contact_form_area {
  text-align: center;
}

/*お知らせ*/
.top_news_wrapper {
  display: grid;
  grid-template-columns: 30% 1fr;
  column-gap: 80px;
  align-items: flex-start;
}

.news_list ul li {
  border-bottom:  1px solid #e3e8e8;
}

.news_list ul li a {
  color: #515151;
}

.news_ttl_wrap {
  display: grid;
  padding: 30px 0;
    grid-template-columns: 120px 1fr;
  column-gap: 20px;
}

.link_btn {
  margin-top: 35px;
}

.top_news_wrapper .link_btn {
  margin-left: auto;
}

/*お知らせ一覧*/
.news_wrapper .link_btn {
  margin: 35px auto 0;
}

.news_wrapper  .news_list {
  max-width: 1000px;
  margin: 0 auto;
}

/*パンくず*/
.pnkz {
  margin: 50px 0 0;
}
.pnkz li,
.pnkz li a {
  display: inline-block;
  position: relative;
  font-size: 13px;
}

.pnkz li a:hover {
  opacity: .8;
}

.pnkz li:not(:last-child)::after {
  content: '>';
  margin: 0 20px;
}
.align_center {
  text-align: center;
}

/*フォーム追記 2025.08.29*/
.form_note a {
  display: inline-block;
  color: #515151;
  text-decoration: underline;
}
.form_note a:hover {
  text-decoration: none;
}
.form_note small {
  font-size: 13px;
}
.kome {
  position: relative;
  padding-left: 16px;
  display: inline-block;
}

.kome::before {
  content: '※';
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}


/*お知らせ一覧*/
.page_nav {
	display: flex;
	justify-content: center;
	text-align: center;
  margin-top: 35px;
}

.page_nav a {
	text-decoration: none;
	color: #515151;
}

.page_nav a:hover {
	opacity: 0.8;
}

.page-numbers {
	width: 35px;
	height: 40px;
	display: grid;
	justify-content: center;
	align-items: center;
}

.page-numbers.current {
	background: #143970;
	color: #fff;
	pointer-events: none;
}
/*ワードプレス時変更の可能性あり*/
.prev.page-numbers,
.next.page-numbers {
	position: relative;
}

.prev.page-numbers {
	margin-right: 2rem;
}

.next.page-numbers {
	margin-left: 2rem;
}

.prev.page-numbers::before {
	content: '〈';
}

.next.page-numbers::after {
	content: '〉';
}

/*お知らせ詳細ページ*/
section.article_section {
  padding: 0;
}
.article_header {
  border-bottom: 1px solid #e3e8e8;
}

.article_header p {
  font-size: 15px;
}

.article_header h2 {
  font-size: 2.6rem;
  padding-bottom: 10px;
  font-family: 'Shippori Mincho B1';
}

.article_main {
  padding: 25px 0;
  min-height: calc(100vh - 642px);
}

.article_main p:not(:first-of-type) {
  margin-top: 20px;
}

.article_main img {
  max-width: 100%;
  width: auto;
}

.article_main a {
  display: inline;
}

.article_footer .link_btn {
  margin: 35px auto 0;
}

/*リキャプチャ非表示*/
.grecaptcha-badge { visibility: hidden; }

@media (max-width: 1024px){
  .top_p{
    font-size: 2.2rem;
  }

  .support_wrap{
    display: block;
  }

  .support_syaroushi{
    width: 100%;
  }

  .support_arnk{
    width: 100%;
    margin-top: 100px;
  }

  .support_arnk .plus {
    left: 50%;
    top: -65px;
    transform: translateX(-50%);
  }

}

@media (max-width: 768px){

  p{
    line-height: 1.8;
  }

  .pc_mv img,.pc_banner{
    display: none;
  }

  .sp_mv img,.sp_banner{
    display: block;
  }


.sp_mv .sp_mv_text_wrap{
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%,-45%);
  width: 90%;
}

  section,
  article {
    padding: 60px 0;
  }

  h2{
    font-size: 4.2rem;
  }

  .h2_wrap span{
    font-size: 1.4rem;
  }

  .top_p{
    font-size: 1.8rem;
    letter-spacing: 1px;
    margin-bottom: 60px;
    padding: 30px 0;
  }

  .h2_wrap{
    margin-bottom: 60px;
    display: block;
    text-align: center;
  }

  .h2_wrap:after{
    left: 50%;
    transform: translateX(-50%);
  }

  .features .h2_wrap{
    margin-bottom: 115px;
  }

  h3.left_border{
    margin-bottom: 25px;
  }

  .about_syaroushi, .profile{
    display: block;
  }

  .about_syaroushi .img{
    width: 100%;
  }

  .profile .img{
    width: 60%;
    margin: 0 auto;
  }

  .about_syaroushi .text, .profile .text_box {
    width: 100%;
    margin-top: 35px;
  }

  .onayami_inner{
    display: block;
  }

  .onayami_inner .img {
    width: 60%;
    margin: 0 auto;
  }

  .onayami_inner .text_part{
    width: 100%;
    margin-top: 35px;
  }

  .we_can{
    font-size: 2.2rem;
  }

  .we_can_sub{
    text-align: left;
  }

  .we_can_wrap{
    margin-bottom: 30px;
  }

  .support_title{
    margin-bottom: 25px;
  }

  .arnk_li{
    font-size: 2rem;
  }

  .arnk_li p {
    font-size: 1.6rem;
  }

  .point_part{
    display: block;
    margin-top: 60px;
  }

  .point_img {
    width: 30%;
    margin: 0 auto;
  }

  .point_text {
    width: 100%;
    margin-top: 30px;
  }

  .service_detail_head{
    font-size: 1.8rem;
    height: 46px;
    line-height: 46px;
    padding-left: 66px;
    margin-bottom: 20px;
  }

  .service_detail_head:before{
    width: 46px;
    height: 46px;
    background-size: 37px 25px;
  }

  .service_top_p{
    padding: 0 10px;
  }

  .service_hide_box{
    padding: 0 20px;
  }

  .service_hide_box_title{
    font-size: 1.8rem;
  }

  .service_hide_box_title.left_border{
    padding: 0 15px;
  }

  .service_gray_box{
    font-size: 1.4rem;
    margin-top: 10px;
    padding: 10px;
  }

  .features_box_wrap{
    display: block;
  }

  .features_box{
    width: 100%;
    margin-top: 80px;
  }

  .features_box:first-child{
    margin-top: 0;
  }

  .features_number{
    width: 50%;
    top: -45px
  }

  .map_part{
    display: block;
  }

  .map{
    width: 100%;
  }

  .address{
    margin-left: 10px;
    margin-right: 10px;
  }

  .address p,.address p:first-child{
    margin-top: 20px;
  }

  .contact_top_big_text{
    font-size: 2rem;
  }

  .form_wrap {
    padding: 0 10px;
    margin-top: 30px;
  }

  form dl{
    display: block;
    padding: 10px 0 20px;
  }

  form dl dt{
    width: 100%;
    padding: 0;
    margin-bottom: 10px;
  }

  form dl dd{
    width: 100%;
    padding: 0;
  }

  /*トップお知らせ*/
  .top_news_wrapper,
  .news_ttl_wrap {
    grid-template-columns: 1fr;
  }

  .news_ttl_wrap {
    row-gap: 5px;
    padding: 16px 0;
  }

  .top_news_wrapper .link_btn {
    margin: 35px auto 0;
  }

  /*パンくず*/
  .pnkz {
    margin: 25px 0 0;
  }
  .pnkz li,
  .pnkz li a {
    font-size: 12px;
  }

  .pnkz li:not(:last-child)::after {
    margin: 0 15px;
  }

  /*フォーム追記 2025.08.29*/
  .form_note small {
    font-size: 12px;
  }
  .kome {
    padding-left: 15px;
  }

  /*お知らせ詳細ページ*/
  .article_header p {
    font-size: 14px;
  }

  .article_header h2 {
    font-size: 2rem;
    padding-bottom: 7px;
  }

  .article_main {
    padding: 20px 0;
    min-height: calc(100vh - 612px);
  }

  .article_main p:not(:first-of-type) {
    margin-top: 16px;
  }


}

@media (max-width: 375px){

  .header_logo{
    text-align: center;
  }

  .header_logo img{
    max-width: 220px;
  }

  .top_p{
    text-align: left;
  }

  .about_syaroushi .big_text{
    font-size: 1.8rem;
  }

  .profile .img{
    width: 100%;
  }

  .text_box{
    padding: 20px;
  }

  .onayami_inner .img{
    width: 100%;
  }

  .sp_br{
    display: block;
  }

  .fuman_wrap{
    padding: 20px;
  }

  .point_part{
    padding: 0 10px;
  }

  .point_img{
    width: 45%;
  }

  .read-more_btn{
    margin: 35px auto 50px;
  }

  .arnk_banner{
    margin: 60px 0 0;
  }

  .contact p{
    text-align: left;
  }

  .send p{
    text-align: center;
  }

  p.accept{
    text-align: center;
  }

  .footer-inner{
    display: block;
    text-align: center;
  }

  .footer_logo{
    width: 220px;
    margin: 0 auto 15px;
  }

}
