@charset "utf-8";
/* Reset
******************************/
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {margin:0; padding:0; border:0; outline:0; vertical-align:baseline; background:transparent;} article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;} ol, ul {list-style: none;} blockquote, q {quotes:none;} blockquote:before, blockquote:after,q:before, q:after {content:''; content:none;} table {border-collapse:collapse; border-spacing:0;} hr {display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0;} input, select {vertical-align:middle;}

/* Base
******************************/
html {
  /*
  font-family: "M PLUS 1", sans-serif;
  font-family: 'Noto Sans JP', sans-serif;
  font-family: "M PLUS 1", sans-serif;
  */
  font-family: 'Kiwi Maru', serif;
  font-optical-sizing: auto;
  font-weight:normal;
  font-style: normal;
  font-size: 62.5%;
  line-height: 1.7;
  color: #212529;
}
body {font-size: 1.6rem;}
a {background:transparent; margin:0; padding:0; vertical-align:baseline; text-decoration: none; color: #212529;}
a:hover {text-decoration: underline;}
a.link_icon{margin: 0 0.5rem 0; text-decoration: none; color: #004BB1;}
a.link_icon:visited{color: #212529;}
a.link_icon:hover{color: #862e9c;}
p.txt_c{text-align: center;}

@media only screen and (max-width:640px){
  .sp-br:before{content: "\A"; white-space: pre;}
}
@media only screen and (max-width:800px){
  .sp-none{display: none;}
}

* {box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box;}
header, div.frame, footer{width: 100%!important;}
section{width: 100%; padding: 0 2% 0;}
section.plus{width: 100%; padding: 0 2% 7rem;}
section.plus_s{width: 100%; padding: 0 2% 4rem;}
p.object{width: 100%; padding: 0 0 4rem; text-align: center;}

@media only screen and (min-width:1200px){
  section{width: 1200px; margin: 0 auto;}
  section.plus{width: 1200px; margin: 0 auto 12rem;}
  section.plus_s{width: 1200px; margin: 0 auto 0rem;}
}

table{width: 100%; margin: 0; border: 1px solid #ddd; letter-spacing: 0.3rem;}
table th, table td{padding: 2rem 1rem; border-bottom: 1px solid #ddd;}
table th{background: #fafafa; width: 30%; text-align: left; vertical-align: middle; font-weight: normal;}
@media only screen and (max-width:800px){
  table th, table td{width: 100%; display: block; padding: 0.75rem 1rem; border: none;}
  table th{border: none;}
}


/* Header
******************************/
#header_logo{padding: 1rem 0 0 1rem;}
#header_logo_link{border: none;}
#header_logo_img{width: 180px;}

@media only screen and (max-width: 1023px) {
  .nav {position: fixed; right: -320px; top: 0; width: 300px; height: 100vh; padding: 6rem 0 0; background-color: #fff; transition: all .6s; z-index: 200; overflow-y: auto;}
  .hamburger {position: absolute; right: 15px; top: 16px; width: 48px; height: 48px; cursor: pointer; z-index: 300;}
  .nav_list {margin: 0; padding: 0;}
  .nav_item {padding: 0 14px;}
  .nav_item a {display: block; padding: 8px 0; border-bottom: 1px solid #eee; text-decoration: none;}
  .nav_item a:hover{background: #eee;}
  .hamburger_border {position: absolute; left: 11px; width: 22px; height: 2px; background-color: #333; transition: all .6s;}
  .hamburger_border_top {top: 12px;}
  .hamburger_border_center {top: 22px;}  
  .hamburger_border_bottom {top: 32px;}
  .black_bg {position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; z-index: 100; background-color: #333; opacity: 0; visibility: hidden; transition: all .6s; cursor: pointer;}
  .nav-open .nav {right: 0;}
  .nav-open .black_bg {opacity: .8; visibility: visible;}
  .nav-open .hamburger_border_top {transform: rotate(45deg); top: 20px;}
  .nav-open .hamburger_border_center {width: 0; left: 50%;}
  .nav-open .hamburger_border_bottom {transform: rotate(-45deg); top: 20px;}
}
@media only screen and (min-width: 1024px) {
  #header_inner{display: flex; justify-content: space-between; align-items: center; width: 100%; max-width: 1600px; margin: 0 auto;}
  .nav_list{display: flex; align-items: center; gap: 0.3rem; padding-right: 0.5rem;}
  .nav_list li a{display: block; text-decoration: none; padding: 0.75rem 0.2rem;}
  .nav_list li a:hover{border-bottom: 0.2rem solid #004BB1; color: #004BB1;}
  .nav_list li:last-child a{background:#004BB1; border: 1px solid #004BB1; border-radius: 4rem; margin-left: 1rem; padding: 0.75rem 1.6rem; color: #fff;}
  .nav_list li:last-child a:hover{background: #004BB1; color: #fff!important;}
}
@media only screen and (min-width: 1440px) {
  #header_logo_img{width: 240px;}
  .nav_list{gap: 1.6rem; letter-spacing: 0.15rem;}
  .nav_list li:last-child a{padding: 0.75rem 2.4rem;}
  
}

/* Main
******************************/
/* 下層・タイトルエリア */
#title_area{background: #004BB1; width: 100%; padding: 3rem 0;}
p.title_area{text-align: center; color: #fff;}

/* 下層・パンくず */
#bread_area{background: #fafafa; margin: 0 0 7rem; border-bottom: 1px solid #eee; font-size: 1.2rem;}
ul.bread_list{font-size: 1.2rem;}
li.bread_item{display: inline-flex;}
li.bread_item:not(:last-child) ::after{
  content: ">";
  margin: 0 0.5rem 0;
}
li.bread_item a{text-decoration: none;}

@media only screen and (min-width:1200px){
  #bread_area{margin: 0 0 12rem;}
}




/* Footer
******************************/
footer{background: #212529; width: 100%!important; color: #fff;}
#footer_menu {padding: 2.4rem 0.5rem 2.4rem;}
#footer_menu li a{display: block; padding: 0.75rem 0 0.75rem 1rem; border-bottom: 0.1rem solid #444; text-decoration: none; color: #fff;}
#footer_copyright{background: #191919; width: 100%!impotant; padding: 1.6rem 0; text-align: center; font-size: 1.2rem; letter-spacing: 0;}

@media only screen and (min-width:960px){
  #footer_menu{display: flex; justify-content: center; padding: 4.2rem 0 4.2rem;}
  #footer_menu li a{border: none; padding: 0 2.4rem;}
  #footer_menu li a:hover{text-decoration: underline;}
}

/* Title
******************************/
h1,h2,h3,h4,h5,h6{z-index: -1;}

h1{font-size: 3.2rem; font-weight: bold;}
h2{font-size: 2.8rem; font-weight: bold;}
h2.title_area{text-align: center; line-height: 1.2; color: #fff;letter-spacing: 0.15rem;}
h2.left_ttl{position: relative; margin-bottom: 1.6rem; font-size: 2.8rem; font-weight: bold;}
h2.left_ttl:after{width: 12rem; content: ""; border-bottom: 0.7rem solid #004BB1; position: absolute; top:0; left: 0; right: 0; bottom: -7px;}
h2.center_ttl{position: relative; margin-bottom: 4rem; text-align: center; font-size: 2.8rem; font-weight: bold;}
h2.center_ttl:after{position: absolute; top:0; left: 0; right: 0; bottom: -10px; width: 7rem; content: ""; border-bottom: 0.7rem solid #004BB1; margin: auto;}
h2.center_ttl_w{position: relative; margin-bottom: 4rem; text-align: center; font-size: 2.8rem; font-weight: bold; color: #fff;}
h2.center_ttl_w:after{position: absolute; top:0; left: 0; right: 0; bottom: -10px; width: 70px; content: ""; border-bottom: 7px solid #fff; margin: auto;}

h3.left_ttl{position: relative; margin-bottom: 1.6rem; font-size: 2.8rem; font-weight: bold;}
h3.left_ttl:after{width: 12rem; content: ""; border-bottom: 0.7rem solid #004BB1; position: absolute; top:0; left: 0; right: 0; bottom: -7px;}
h3.center_ttl{position: relative; margin-bottom: 4rem; text-align: center; font-size: 2.8rem; font-weight: bold;}
h3.center_ttl:after{position: absolute; top:0; left: 0; right: 0; bottom: -10px; width: 7rem; content: ""; border-bottom: 0.7rem solid #004BB1; margin: auto;}
h3.center_ttl_w{position: relative; margin-bottom: 4rem; text-align: center; font-size: 2.8rem; font-weight: bold; color: #fff;}
h3.center_ttl_w:after{position: absolute; top:0; left: 0; right: 0; bottom: -10px; width: 70px; content: ""; border-bottom: 7px solid #fff; margin: auto;}

h3{font-size: 2.4rem; font-weight: bold;}
h3.info_ttl{margin: 0 0 1.4rem; font-size: 2.4rem; font-weight: bold;}

h3.qa{text-align: left; font-size: 2.4rem; font-weight: bold; color: #004BB1;}

/* Btn
******************************/
.btn_cover{clear: both; margin: 5rem 0 0; text-align: center;}
.btn_detail{display: inline-block; background: #fff; padding: 1.2rem 3.4rem; border: 1px solid #004BB1; border-radius: 0.5rem; text-align: center; text-decoration: none; color: #004BB1;}
.btn_detail:hover{background: #004BB1; color: #fff; text-decoration: none;}

.btn_detail_year{display: inline-block; width: 18rem; background: #fff; margin: 0 0 1.5rem 0; padding: 1.2rem 0; border: 1px solid #004BB1;border-radius: 0.5rem; text-align: center; text-decoration: none; color: #004BB1;}
.btn_detail_year:hover{background: #004BB1; color: #fff; text-decoration: none;}

/* Parts
******************************/

/* intro */
#visual{
  clear: both;
  width: 100%;
  margin: 0 0 7rem;
}
#visual_in{
  max-width: 1600px;
  margin: 0 auto;
  }


@media only screen and (min-width:1200px){
  #visual{margin: 0 0 12rem;}
}

@media only screen and (max-width:640px){
  #visual_in img.hero_b{display: none;}
  #visual_in img.hero_s{display: inline; width: 100%;}
}

@media only screen and (min-width:641px){
  #visual_in img.hero_b{display: inline; width: 100%;}
  #visual_in img.hero_s{display: none;}
}

/* intro */
article.intro{clear: both; display: inline-block; width: 100%; margin: 0 0 7rem 0;}
p.left-ttl_sub{margin: 0 0 2rem 0;}

img.intro_img_r,
img.intro_img_l{width: 100%;}
@media only screen and (min-width:641px){
  img.intro_img_r{float: right; width: 280px; padding: 0 0 1rem 2rem;}
  img.intro_img_l{float: left; width: 280px; padding: 0 2rem 1rem 0;}
}

@media only screen and (min-width:960px){
  article.intro{margin: 0 0 12rem 0;}
  p.left-ttl_sub{margin: 0 0 40px 0;}
  img.intro_img_r{float: right; width: 420px; padding: 0 0 2rem 4rem;}
  img.intro_img_l{float: left; width: 420px; padding: 0 4rem 2rem 0;}
}

/* info */
a.info_click{display: inline-block; text-decoration: none;}
a.info_click:hover{background: #f1f3f5;}
article.info{clear: both; margin: 0 0 4rem 0;}
.info_img{width: 100%;}

@media only screen and (min-width:601px){
  .info_img{float: left; width: 200px; padding: 0 3rem 1.5rem 0;}
}

/* News */

.news_list_item_cover{display: block; text-decoration: none; border-bottom: 1px dotted #ccc; padding: 2rem 0;}
.news_list_item_cover:first-child{border-top: 1px dotted #ccc;}
.news_list_item_cover:hover{background: #f1f3f5;}
.news_list_item{letter-spacing: 0.15rem;}
.news_list_info:after{content: "\A"; white-space: pre;}
.news_list_dt{margin: 0 0.5rem 0 0;}
.news_list_label{background: #004BB1; margin: 0 0.75rem 0 0; padding: 0.15rem 1rem; border-radius: 4rem; font-size: 1.4rem; color: #fff!important;}
.news_list_title{}
@media only screen and (min-width:601px){
  .news_list_item_cover{padding: 2rem;}
  .news_list_dt{margin: 0 1.2rem 0 0;}
  .news_list_label{margin: 0 1.2rem 0 0; padding: 0.15rem 1.4rem;}
}

/* Info */
.info_list_item:first-child{border-top: 1px dotted #ccc;}
.info_list_item{display: block; text-decoration: none; border-bottom: 1px dotted #ccc; padding: 2rem 0 2rem 2rem;}
.info_list_info:after{content: "\A"; white-space: pre;}
.info_list_label{background: #004BB1; margin: 0 0.75rem 0 0; padding: 0.15rem 1.4rem; border-radius: 4rem; font-size: 1.4rem; color: #fff!important;}


/* Schedule */
.schedule_list_item:first-child{border-top: 1px dotted #ccc;}
.schedule_list_item{display: block; text-decoration: none; border-bottom: 1px dotted #ccc; padding: 2rem 0 2rem 2rem;}
.schedule_list_info:after{content: "\A"; white-space: pre;}
.schedule_list_label{background: #004BB1; margin: 0 0.75rem 0 0; padding: 0.15rem 1.4rem; border-radius: 4rem; font-size: 1.4rem; color: #fff!important;}


/* Follow Us */
.cta{
  width: 100%;
  background: #004BB1;
  margin: 0 0 12rem;
  padding: 5rem 0;
}

/* Association
******************************/
ul.as_support li::before{font-family: "Font Awesome 6 Free"; content:'\f138'; font-weight: 900; padding-right: 1.2rem; color: #004BB1;}

/* Inquiry
******************************/
/* progressbar */
.progressbar {display: flex; flex-wrap: wrap; width: 100%;}
.progressbar .item {position: relative; width: calc(100% / 3); text-align: center; position: relative; align-items: center; justify-content: center; padding: 13px 0; line-height: 1.5; background: #F5F5F5;}
.progressbar .item:not(:last-child)::before,
.progressbar .item:not(:last-child)::after {position: absolute; z-index: 2; top: 0; bottom: 0; left: 100%; content: ''; border: 37px solid transparent; border-left: 20px solid #F5F5F5; margin: auto;}
.progressbar .item:not(:last-child)::before {margin-left: 1px; border-left-color: #FFF;}

@media screen and (max-width: 767px) {
  .progressbar .item {font-size: 11px; line-height: 1.4; padding: 10px 0;}
  .progressbar .item:not(:last-child)::before,
  .progressbar .item:not(:last-child)::after {border-width: 25px; border-left-width: 12px;}
}
/* progressbar active */
.progressbar .item.active {z-index: 1; background: #004BB1; color: #FFF;}
.progressbar .item.active:not(:last-child)::after {border-left-color: #004BB1;}
.progressbar .item.active:not(:last-child)::before {border-left: none;}

/* table */
table.inq_table{margin: 0 0 4rem;}

/* 必須・任意 */
span.dan{background: #004BB1; margin: 0 0.75rem 0 0; padding: 0 0.5rem 0 0.75rem; font-size: 1.4rem; color: #fff;}
span.opt{background: #999999; margin: 0 0.75rem 0 0; padding: 0 0.5rem 0 0.75rem; font-size: 1.4rem; color: #fff;}

/* form */
.sbox {display: inline-flex; align-items: center; position: relative;}
.sbox::after {position: absolute; right: 15px; width: 10px; height: 7px; background-color: #535353; clip-path: polygon(0 0, 100% 0, 50% 100%); content: ''; pointer-events: none;}
.sbox select {appearance: none; min-width: 280px; /*height: 2.8em;*/ padding: .4em calc(.8em + 30px) .4em .8em; border: 1px solid #d0d0d0; border-radius: 3px; background-color: #fff; color: #333333; font-size: 1.6rem; cursor: pointer;}
.tbox-label, .tbox { color: #333;}
.tbox-label {display: block; margin-bottom: 5px; font-size: .9em;}
.tbox {width: 100%; padding: 8px 10px; border: 1px solid #d0d0d0; border-radius: 3px; font-size: 1.6rem; line-height: 1.5;}
.tbox::placeholder {color: #999;}
textarea{width: 100%; border: 1px solid #d0d0d0;}
button.submit_btn, button.return_btn{text-decoration: none; border: none!important; border-radius: 3px; padding: 1.2rem 2.4rem; font-weight: bold; text-align: center; font-size: 1.6rem; letter-spacing: 0.15rem;}
button.submit_btn{background-color: #004BB1!important; color: #fff;}
button.return_btn{background-color: #212529!important; margin-right: 2rem; color: #fff;}
button.submit_btn::after{font-family: "Font Awesome 6 Free"; content:'\f105'; font-weight: 900; padding-left: 1.2rem;}
button.return_btn::before{font-family: "Font Awesome 6 Free"; content:'\f104'; font-weight: 900; padding-right: 1.2rem;}
button.submit_btn::hover{opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha(opacity=70)";}
a.return_top{background-color: #004BB1!important; text-decoration: none; border: none!important; border-radius: 3px; padding: 1.2rem 2.4rem; font-weight: bold; text-align: center; font-size: 1.6rem; letter-spacing: 0.15rem; color: #fff;}
a.return_top::after{font-family: "Font Awesome 6 Free"; content:'\f105'; font-weight: 900; padding-left: 1.2rem;}
a.return_top::hover{opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha(opacity=70)";}

/* Privacy
******************************/
article.privacy{clear: both; display: inline-block; width: 100%; margin: 0 0 7rem 0;}
ul.privacy_list{padding: 0 0 0 0.7rem;}
ul.privacy_list li::before{font-family: "Font Awesome 6 Free"; content:'\f00c'; font-weight: 900; padding-right: 1.2rem;}
ul.privacy_list ul {padding: 0 0 0 2.4rem;}
ul.privacy_list ul li::before{font-family: "Font Awesome 6 Free"; content:'\f14a'; font-weight: 900; padding-right: 1.2rem;}
ul.privacy_list_nm{padding: 0.5rem 0 0 0.7rem;}

/* QA
******************************/
article.qa{width: 96%; margin: 0 auto 3rem; padding: 2.4rem; border-radius: 2rem; box-shadow: 0px 0px 4px #ddd;}

/* 
******************************/
.trouble_img{width: 100%;}

/* 
******************************/
.block_area{width: 100%; display: flex; flex-wrap:wrap; justify-content: space-evenly;}
.block_area div.item{
  width: 22.5%; 
  padding: 2rem 0;
  border-radius: 0.75rem;
  box-shadow: 0px 0px 4px #ddd;
  text-align: center; 
  font-size: 2.4rem;
  line-height: 2;
}
.block_area div.item_b{
  background: #004BB1;
  width: 22.5%; 
  padding: 2rem 0;
  border-radius: 0.75rem;
  box-shadow: 0px 0px 4px #ddd;
  text-align: center; 
  font-size: 2.4rem;
  line-height: 2;
  color: #fff;
}
.block_area div.item span{font-size: 1.6rem;}
.block_area div.item_b span{font-size: 1.6rem;}

@media screen and (max-width: 767px) {
.block_area{display: flex; justify-content: flex-start;}
.block_area div.item{width: 48%;}
.block_area div.item_b{width: 48%;}
}

/* Fix
******************************/
.fixed_area {
  background: #fff;
  position: sticky;
  bottom: 0;
  left: 0;
}

.fixed_object{
  padding-top: 0.5rem;
  text-align: center;
  line-height: 1.2;
}


.f_btn_area{
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-evenly;
  padding: 0.5rem 0;
}

.f_btn_area a{display: block; background: #004BB1; width: 45%; padding: 1.2rem 0; border-radius: 1rem; font-size: 1.8rem; color: #fff; text-align: center;}
.f_btn_area a:hover{text-decoration: none; opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha(opacity=70)";}

/* Pager
******************************/
.pager:before,
.pager:after{
  display: table;
  content: " ";
}

.pager {
  width: 100%;
  margin: 20px 0;
  text-align: center;
  list-style: none;
}
.pager li {
  display: inline;
}

.pager li {
  display: inline;
}
.pager li > a{
  display: inline-block;
  background-color: #004BB1;
  padding: 5px 14px;
  border: 1px solid #004BB1;
  border-radius: 15px;
  text-decoration: none;
  color: #fff;
}
.pager li > a:hover,
.pager li > a:focus {
  filter:alpha(opacity=75);
  -moz-opacity: 0.75;
  opacity: 0.75;
}

li.next > a{float: right;}
li.previous > a{float: left;}


.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus{
  color: #999;
  cursor: not-allowed;
  background-color: #fff;
}