@charset "utf-8";
/*
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
*/
@font-face {
  font-family: "NotoSansJP";
  src: url(fonts/NotoSansJP-Regular.ttf) format("truetype");
  font-weight:400;
  font-display:swap;
}
@font-face {
  font-family: "NotoSansJP";
  src: url(fonts/NotoSansJP-Medium.ttf) format("truetype");
  font-weight:500;
  font-display:swap;
}
@font-face {
  font-family: "NotoSansJP";
  src: url(fonts/NotoSansJP-Bold.ttf) format("truetype");
  font-weight:700;
  font-display:swap;
}

/* basic setting */
:root{
  --font-family-root: 'NotoSansJP', Arial, Roboto, "Droid Sans", "游ゴシック", YuGothic,  "メイリオ", Meiryo, sans-serif;
  --base-color-blue: #1C2462;
}
html{ font-size:62.5%; }
html, body{ position:relative; width:100%; height:100%; }
body{
  -webkit-text-size-adjust: 100%;
  margin:0;
  padding:0;
  font-size:1.6rem;
  font-family: var(--font-family-root);
  font-weight:400;
  line-height:1.5;
  color:#1d1d1d;
  background:#F6F6F8;
  word-break:break-word;
  font-feature-settings:"palt";
  letter-spacing: 0.15rem;
}
h1,h2,h3,h4,h5,h6,p,em,pre,th,td,blockquote{margin:0; padding:0; font-size:1.6rem}
h1,h2,h3,h4,h5,h6{font-weight:700}
em{font-style:italic;font-weight:normal;}
img,table{border:0; vertical-align:bottom}
img{max-width:100%; height:auto; image-rendering: auto; image-rendering: -webkit-optimize-contrast; image-rendering: auto;}
form,ul,dl,ol{margin:0; padding:0}
li{list-style:none}
li,dt,dd{font-size:1.6rem; margin:0; padding:0;}
a,a:visited{text-decoration:none;color:var(--base-color-blue)}
/*a:hover{color:inherit}*/
input[type="submit"],input[type="button"],button{cursor:pointer}
@media screen and (min-width:1061px){
  a,input[type="submit"],input[type="button"],button{transition:.2s ease-out;}
  a:hover,input[type="submit"]:hover,input[type="button"]:hover,button:hover{opacity:0.72}
  a[href^="tel"]{pointer-events:none}
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
{display: block; margin:0; padding:0}
.clr{clear:both}
.cf:after{content:""; display:table; clear:both}
input[type="submit"]{-webkit-appearance: none}
input,textarea,select,button{font-family:var(--font-family-root);margin:0;padding:0}
input:invalid, input:focus, textarea:focus{outline:none; box-shadow:none;}
fieldset{ margin:0; padding:0; border:none; position:relative; }
legend{ position:static; margin:0; padding:0; }
button{border:none;background:none;}
*, *::before, *::after{box-sizing:border-box}

/* text style */
.fbold{font-family: var(--font-family-root-B); font-weight:700 !important}
.fnormal{font-weight:normal !important}
.talcnt{text-align:center !important}
.tallf{text-align:left !important}
.talrg{text-align:right !important}
.fslarge{font-size:125%}

.spinline, .spblock{
  display:none;
}
@media screen and (max-width:480px){
  .pcinline, .pcblock{
    display:none;
  }
  .spinline{
    display:inline;
  }
  .spblock{
    display:block;
  }
}

/* Basic setting end ---------------------------------------------------------------------------------------------- */

/* header
------------------------------------------------------------------------------------------------------------------- */
header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 30px 14px 52px;
  position:fixed;
  width:100%;
  top:0;
  left:0;
  transition:0.5s;
  z-index:600;
}
/* header.active{
  margin-top:-200px;
} */
header *{
  position:relative;
}
header::before{
  content:"";
  display:block;
  width:100%;
  height:100%;
  background:#f6f6f8;
  position:absolute;
  top:0;
  left:0;
  opacity:0;
  transition:0.2s;
}
header.hsc_active::before{
  opacity:1;
}

header h1{
  width:220px;
  margin-top:20px;
  transition:0.3s;
}
header.hsc_active h1{
  margin-bottom:0;
}
header .tit_logo p{
  font-size:1.1rem;
  font-weight:700;
  color:#6B6D7E;
  line-height:1.45;
  transition:0.3s;
  max-height:3em;
  opacity:1;
  overflow:hidden;
}
header.hsc_active .tit_logo p{
  max-height:0;
  opacity:0;
}
header .gnavi{
  display:flex;
  align-items:end;
}
header .gnavi .navi_1{
	margin-right:3vw;
}
header .gnavi .navi_1 > ul{
  display:flex;
  gap:0 4.8vw;
}
header .gnavi .navi_1 > ul > li a, header .gnavi .navi_1 > ul > li a:visited{
  display:inline-block;
  font-size:1.2rem;
  font-weight:700;
  color:#0e0e0e;
  line-height:1;
  text-align:center;
  white-space:nowrap;
  letter-spacing:0.1em;
}
header .gnavi .navi_1 > ul > li > a::before{
  content:"";
  display:block;
  width:61px;
  height:52px;
  margin:0 auto;
}
header .gnavi .navi_1 > ul > li:nth-child(1) > a::before{
  background:url(images/ico_01.png) no-repeat 50% 50% / contain;
}
header .gnavi .navi_1 > ul > li:nth-child(2) > a::before{
  background:url(images/ico_02.png) no-repeat 50% 50% / contain;
}
header .gnavi .navi_1 > ul > li:nth-child(3) > a::before{
  background:url(images/ico_03.png) no-repeat 50% 50% / contain;
}
header .gnavi .navi_1 > ul > li:nth-child(4) > a::before{
  background:url(images/ico_04.png) no-repeat 50% 50% / contain;
}
header .gnavi .navi_1 > ul li{
  position:relative;
}
header .gnavi .navi_1 > ul li ul{
  padding:18px 12px;
  background:#fff;
  box-shadow:0 0 4px rgba(0,0,0,0.3);
  position:absolute;
  top:calc(100% + 12px);
  left:0;
  opacity:0;
  visibility:hidden;
  transition-duration:0.3s;
  transition-delay:0.34s;
}
header .gnavi .navi_1 > ul li:hover ul{
  opacity:1;
  visibility:visible;
}
header .gnavi .navi_1 > ul li ul li{
  white-space:nowrap;
  line-height:1;
  padding-left:20px;
  position:relative;
}
header .gnavi .navi_1 > ul li ul li::before{
  content:"";
  display:block;
  width:12px;
  height:0;
  border-top:solid 1px var(--base-color-blue);
  position:absolute;
  top:calc(50% + 1px);
  left:0;
}
header .gnavi .navi_1 > ul li ul li + li{
  margin-top:13px;
}
header .gnavi .navi_2 ul{
  display:flex;
}
header .gnavi .navi_2 ul.txt_link{
  gap:0 44px;
  margin-bottom:35px;
  transition:0.3s;
  margin-left: 150px;
}
header.hsc_active .gnavi .navi_2 ul.txt_link{
  margin-bottom:26px;
}
header .gnavi .navi_2 ul.btn_link{
	gap:0 15px;
}
header .gnavi .navi_2 ul.txt_link li{
  font-size:12px;
  font-weight:500;
  line-height:1;
}
header .gnavi .navi_2 ul.txt_link li a, header .gnavi .navi_2 ul.txt_link li a:visited{
  color:#0e0e0e;
  transition:0.3s;
}
header.front_page .gnavi .navi_2 ul.txt_link li a, header .gnavi .navi_2 ul.txt_link li a:visited{
  color:#fff;
}
header.front_page.hsc_active .gnavi .navi_2 ul.txt_link li a, header.hsc_active .gnavi .navi_2 ul.txt_link li a:visited{
  color:#0e0e0e;
}
header .gnavi .navi_2 ul.btn_link li a, header .gnavi .navi_2 ul.btn_link li a:visited{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  line-height:1;
  text-align:center;
	width:140px;
  border:solid 4px #C2D5E9;
  padding:10px;
  background:#fff;
  border-radius:25px;
}
header .menu{
  width:30px;
  height:25px;
  position:absolute;
  top:14px;
  right:30px;
}
header .menu button{
  position:relative;
  width:100%;
  height:100%;
  vertical-align:bottom;
}
header .menu button span,
header .menu button::before,
header .menu button::after{
  content:"";
  display:block;
  width:100%;
  height:3px;
  background:var(--base-color-blue);
  position:absolute;
  left:0;
}
header .menu button span{
  top:calc(50% - 1.5px);
}
header .menu button::before{
  top:0;
}
header .menu button::after{
  bottom:0;
}
header.front_page .menu button span,
header.front_page .menu button::before,
header.front_page .menu button::after{
  background:#fff;
}
header.front_page.hsc_active .menu button span,
header.front_page.hsc_active .menu button::before,
header.front_page.hsc_active .menu button::after{
  background:var(--base-color-blue);
}

@media screen and (max-width:1060px){
  header h1{
    max-width:calc(100vw - 92px);
    margin-top: 0px;
  }
  header{
    padding:14px 15px;
  }
  header .gnavi{
    display:none;
  }
  header .menu{
    width:47px;
    height:39px;
    top:23px;
    right:20px;
    transition:0.3s;
  }
  header.hsc_active .menu{
    top:16.5px;
  }
  header .menu button span,
  header .menu button::before,
  header .menu button::after{
    height:5px;
  }
  header .menu button span{
    top:calc(50% - 2.5px);
  }
}

@media screen and (max-width:320px){
  header .menu{
    right:12px;
  }
}

/* footer
------------------------------------------------------------------------------------------------------------------- */
footer{
  background:url(images/bg_footer.png) no-repeat 100% 100% / 1440px auto;
}
@media screen and (max-width:1060px){
  footer{
    background-size:1000px auto;
  }
}
@media screen and (max-width:480px){
  footer{
    background-size:847px auto;
  }
}

.footer_contact{
  background:url(images/pic_contact.webp) no-repeat 50% 50% / cover;
  position:relative;
  padding:95px 30px;
  margin-bottom:70px;
}
.footer_contact::before{
  content:"";
  display:block;
  width:100%;
  height:100%;
  background:var(--base-color-blue);
  opacity:0.75;
  position:absolute;
  top:0;
  left:0;
}
.footer_contact .inner{
  position:relative;
  max-width:1200px;
  margin:0 auto;
}
.footer_contact h3{
  width:262px;
  margin-bottom:30px;
}
.footer_contact h3 img{
  width:100%;
}
.footer_contact .flex_box{
  display:flex;
  justify-content:space-between;
  padding-right:120px;
  gap:0 50px;
}
.footer_contact .flex_box p{
  font-size:1.6rem;
  font-weight:500;
  color:#fff;
  line-height:1.8;
  letter-spacing:0.1em;
}
.footer_contact .flex_box .btn_link_border{
  min-width:234px;
}

@media screen and (max-width:1060px){
  .footer_contact{
    padding:50px 30px;
  }
  .footer_contact .flex_box{
    display:block;
    padding-right:0;
  }
  .footer_contact .flex_box p{
    margin-bottom:30px;
  }
  .footer_contact .flex_box .btn{
    text-align:right;
  }
}

@media screen and (max-width:480px){
  .footer_contact{
    padding:13.84vw 18px;
    background-image:url(images/pic_contact_sp.webp);
  }
  .footer_contact h3{
    width:67.1vw;
    margin-bottom:8vw;
  }
  .footer_contact .flex_box p{
    margin-bottom:10vw;
  }
  .footer_contact .flex_box .btn{
    text-align:center;
  }
  .footer_contact .flex_box .btn .btn_link_border{
    font-size:5.1vw;
    width:89vw;
    background-size:4.2vw auto;
    background-position:calc(100% - 9vw) 50%;
    border-radius:20vw;
    padding:7.1vw 14vw;
  }
}

.footer_sitemap{
  max-width:1260px;
  padding:0 30px;
  margin:0 auto 70px;
}
.footer_sitemap .flex_box{
  display:flex;
  gap:0 52px;
  padding-top:60px;
  border-top:solid 1px #E7EBF5;
}
.footer_sitemap .flex_box li{
  font-size:1.2rem;
  font-weight:700;
  line-height:1.3;
  letter-spacing:0.05em;
}
.footer_sitemap .flex_box > ul > li + li{
  margin-top:13px;
}
.footer_sitemap .flex_box > ul ul{
  margin:13px 30px 0 0;
  padding-left:10px;
}
.footer_sitemap .flex_box > ul ul li + li{
  margin-top:6px;
}
.footer_sitemap .flex_box li a, .footer_sitemap .flex_box li a:visited{
  display:inline-block;
  color:#1d1d1d;
  padding-left:17px;
  position:relative;
}
.footer_sitemap .flex_box li a::before{
  content:"";
  display:block;
  width:13px;
  height:0;
  border-top:solid 1px var(--base-color-blue);
  position:absolute;
  top:calc(0.65em + 1px);
  left:0;
}

@media screen and (max-width:1060px){
  .footer_sitemap .flex_box{
    gap:0 30px;
  }
  .footer_sitemap .flex_box > ul ul{
    margin:13px 20px 0 0;
  }
}

@media screen and (max-width:480px){
  .footer_sitemap{
    padding:0 18px;
    margin:0 auto 70px;
  }
  .footer_sitemap .flex_box{
    flex-wrap:wrap;
    padding-top:40px;
  }
  .footer_sitemap .flex_box > ul{
    width:100%;
  }
  .footer_sitemap .flex_box li{
    font-size:1.4rem;
  }
  .footer_sitemap .flex_box > ul + ul{
    margin-top:13px;
  }
  .footer_sitemap .flex_box > ul ul{
    margin:13px 0 20px 0;
  }
  .footer_sitemap .flex_box li a, .footer_sitemap .flex_box li a:visited{
    padding-left:21px;
  }
  .footer_sitemap .flex_box li a::before{
    width:16px;
    top:calc(0.65em + 1px);
  }
}

.footer_info{
  max-width:1260px;
  padding:0 30px;
  margin:0 auto 63px;
}
.footer_info .inner{
  max-width:655px;
  padding-top:50px;
  border-top:solid 1px #E7EBF5;
}
.footer_info h3{
  max-width:258px;
  margin-bottom:10px;
}
.footer_info p{
  font-size:1.2rem;
  font-weight:700;
  color:#0e0e0e;
}

@media screen and (max-width:480px){
  .footer_info{
    padding:0 18px;
    margin-bottom:220px;
  }
  .footer_info .inner{
    padding-top:20px;
  }
}

footer .copyright{
  font-size:1.1rem;
  font-weight:500;
  color:#fff;
  text-align:right;
  padding:0 60px 20px;
}

@media screen and (max-width:480px){
  footer .copyright{
    text-align:left;
    padding:0 20px 15px;
  }
}

.gotop{
  position:fixed;
  right:30px;
  bottom:60px;
  display:none;
  opacity:0;
}
.gotop a{
  display:block;
  width:54px;
  height:54px;
  text-indent:-500px;
  overflow:hidden;
  background:var(--base-color-blue);
  border-radius:50%;
  position:relative;
}
.gotop a::before{
  content:"";
  display:block;
  width:16px;
  height:16px;
  border-top:solid 4px #fff;
  border-left:solid 4px #fff;
  transform:rotate(45deg);
  position:absolute;
  top:40%;
  left:19px;
}

@media  screen and (max-width:480px){
  .gotop{
    right:15px;
  }
  .gotop a{
    width:44px;
    height:44px;
  }
  .gotop a::before{
    width:13px;
    height:13px;
    border-top:solid 3px #fff;
    border-left:solid 3px #fff;
    left:15.5px;
  }
}

/* pop navigation
------------------------------------------------------------------------------------------------------------------- */
#navi_pop{
  width:100%;
  height:100%;
  background:#f5f5f5;
  overflow:auto;
  box-shadow:0 4px 10px rgba(0,0,0,0.3);
  position:fixed;
  top:0;
  left:0;
  z-index:700;
  opacity:0;
  visibility:hidden;
  transition:0.3s;
}
#navi_pop.active{
  opacity:1;
  visibility:visible;
}
#navi_pop .navi_pop_close{
  display:block;
  width:24px;
  height:24px;
  background:url(images/btn_close_2.png) no-repeat 0 0 / contain;
  position:fixed;
  top:19px;
  right:33px;
}
#navi_pop .inner{
  max-width:1260px;
  padding:70px 30px 90px;
  margin:0 auto;
  display:flex;
  justify-content:center;
  gap:60px 130px;
}
#navi_pop .item_child + .item_child{
  margin-top:36px;
}
#navi_pop .item_child > a, #navi_pop .item_child > a:visited{
  display:flex;
  align-items:center;
  width:max-content;
  font-size:2rem;
  font-weight:700;
  color:#1d1d1d;
  letter-spacing:0.03em;
}
#navi_pop .item_child > a::before{
  content:"";
  display:block;
  width:72px;
  height:62px;
  margin-right:11px;
}
#navi_pop .item .item_child:nth-child(1) > a::before{
  background:url(images/ico_01.png) no-repeat 50% 50% / contain;
}
#navi_pop .item .item_child:nth-child(2) > a::before{
  background:url(images/ico_02.png) no-repeat 50% 50% / contain;
}
#navi_pop .item .item_child:nth-child(3) > a::before{
  background:url(images/ico_03.png) no-repeat 50% 50% / contain;
}
#navi_pop .item .item_child:nth-child(4) > a::before{
  background:url(images/ico_04.png) no-repeat 50% 50% / contain;
}
#navi_pop .item_child ul{
  display:flex;
  flex-wrap:wrap;
  gap:11px 40px;
  padding-left:83px;
}
#navi_pop .item_child ul li{
  font-size:1.2rem;
  font-weight:700;
  line-height:1.3;
  letter-spacing:0.03em;
}
#navi_pop ul:not(.item_child_btn) li a, #navi_pop ul:not(.item_child_btn) li a:visited{
  color:#1d1d1d;
}
#navi_pop .item_child_btn{
  display:flex;
  flex-wrap:wrap;
  gap:33px 33px;
  margin-bottom:47px;
}
#navi_pop .item_child_btn .btn_link_border,
#navi_pop .item_child_btn .btn_link_border_gray{
  min-width:234px;
}
#navi_pop .plan_link li{
  font-size:1.6rem;
  font-weight:700;
  line-height:1.3;
  letter-spacing:0.03em;
}
#navi_pop .plan_link li + li{
  margin-top:30px;
}

@media screen and (max-width:1060px){
  #navi_pop .navi_pop_close{
    width:36px;
    height:36px;
  }
  #navi_pop .inner{
    gap:60px 80px;
  }
}

@media screen and (max-width:480px){
  #navi_pop .inner{
    flex-wrap:wrap;
    padding:70px 20px 80px;
  }
  #navi_pop .item{
    width:100%;
  }
  #navi_pop .item_child ul{
    padding-left:30px;
    margin-top:15px;
  }
  #navi_pop .item_child ul li{
    font-size:1.6rem;
    width:100%
  }
  #navi_pop .item_child_btn{
    justify-content:center;
    gap:20px 33px;
  }
  #navi_pop .item_child_btn .btn_link_border, #navi_pop .item_child_btn .btn_link_border_gray{
    font-size:5.1vw;
    width:89vw;
    background-size:4.2vw auto;
    background-position:calc(100% - 9vw) 50%;
    border-radius:20vw;
    padding:7.1vw 14vw;
  }
  #navi_pop .plan_link{
    padding-left:30px;
  }
}

/* main
------------------------------------------------------------------------------------------------------------------- */
.container{
  padding-top:136px;
}
.container.front_page{
  background:url(images/top/bg_toppage.webp) no-repeat 100% 0 / 1650px auto;
}
@media screen and (max-width:1060px){
  .container{
    padding-top:100px;
  }
  .container.front_page{
    background:url(images/top/bg_toppage_sp.webp) no-repeat 100% 0 / 320px auto;
  }
}

.breadcrumb{
  margin:46px 0 0;
  padding-bottom:7px;
}
.breadcrumb ul{
  display:flex;
  flex-wrap:wrap;
  gap:0 12px;
  max-width:1250px;
  margin:0 auto;
  padding:0 15px;
}
.breadcrumb ul li{
  font-size:1.2rem;
  font-weight:500;
  color:#404040;
  letter-spacing:0.1em;
}
.breadcrumb ul li:not(:first-child)::before{
  content:"＞";
  display:inline-block;
  margin-right:9px;
}
.breadcrumb ul li a, .breadcrumb ul li a:visited{
  color:#404040;
}

/* entry pop
------------------------------------------------------------------------------------------------------------------- */
#entry_pop{
  position:fixed;
  right:30px;
  bottom:10px;
  z-index:200;
  transition:0.3s;
  opacity:0;
  visibility:hidden;
}
#entry_pop.set_appeare{
  opacity:1;
  visibility:visible;
}
#entry_pop .close{
  display:block;
  width:30px;
  height:30px;
  background:url(images/btn_close.png) no-repeat 0 0 / contain;
  margin:0 0 7px auto;
  border-radius:50%;
  box-shadow:0 0 4px rgba(0,0,0,0.3);
}
#entry_pop figure{
  width:210px;
}
#entry_pop figure img{
  border-radius:10px;
  box-shadow:0 0 4px rgba(0,0,0,0.3);
}

@media screen and (max-width:480px){
  #entry_pop{
    right:15px;
  }
  #entry_pop figure{
    width:calc(100vw - 30px);
  }
}

/* common style
------------------------------------------------------------------------------------------------------------------- */
.under_page_ttl{
  display:flex;
  justify-content:center;
  align-items:center;
  height:140px;
  background:#fff;
  border-top:solid 1px #D6DFED;
  border-bottom:solid 1px #D6DFED;
  margin-bottom:50px;
}
.under_page_ttl h2{
  font-size:2.4rem;
  text-align:center;
  letter-spacing: 0.3rem;
}
.under_page_ttl h2 .eiji{
  display:block;
  font-size:1.3rem;
  color:#8AA3CB;
  letter-spacing: 0.1rem;
}

@media screen and (max-width:480px){
  .under_page_ttl{
    height:100px;
    margin-bottom:40px;
  }
  .under_page_ttl h2{
    font-size:2rem;
  }
  .under_page_ttl h2 .eiji{
    font-size:1.2rem;
  }
}

.under_page_wrap{
  max-width:1240px;
  margin:0 auto 46px;
}
.under_page_wrap .under_page_body_inner{
  background:#fff;
  border-radius:15px;
  padding:30px 30px;
}
.under_page_wrap .under_page_sidebar_inner{
  background:#fff;
  border-radius:15px;
  padding:34px 41px;
  position:sticky;
  top:20px;
}
.under_page_wrap.news .under_page_body_inner{
  padding:21px 30px 30px;
}
.under_page_wrap.news .under_page_sidebar_inner{
  padding:21px 26px 29px;
}

@media screen and (max-width:480px){
  .under_page_wrap .under_page_body_inner,
  .under_page_wrap .under_page_sidebar_inner{
    border-radius:10px;
    padding:25px 18px;
  }
  .under_page_wrap.news .under_page_body_inner,
  .under_page_wrap.news .under_page_sidebar_inner{
    padding:20px 18px 25px;
  }
}

.under_page_two_column{
  display:flex;
  justify-content:space-between;
}
.under_page_two_column .under_page_body{
  width:66.12%;
}
.under_page_two_column .under_page_sidebar{
  width:28.46%;
}

.under_page_wrap .under_page_body.narrow_width{
  max-width:840px;
  margin:0 auto;
}

@media screen and (max-width:1060px){
  .under_page_two_column{
    flex-wrap:wrap;
    justify-content:center;
    gap:40px 0;
  }
  .under_page_two_column .under_page_body,
  .under_page_two_column .under_page_sidebar{
    width:100%;
    max-width:820px;
  }
}

/* 下層ページ設定 */
.under_page_body h2,
.under_page_body h3{
  font-size:2.8rem;
  line-height:1.3;
  margin-bottom:24px;
}

.under_page_body h4{
  font-size:2.2rem;
  line-height:1.3;
  margin-bottom:15px;
}

.under_page_body h5{
  font-size:1.9rem;
  line-height:1.3;
  margin-bottom:10px;
}

@media screen and (max-width:480px){
  .under_page_body h2,
  .under_page_body h3{
    font-size:2.2rem;
    margin-bottom:18px;
  }
  .under_page_body h4{
    font-size:1.7rem;
    margin-bottom:10px;
  }
  .under_page_body h5{
    font-size:1.6rem;
    margin-bottom:7px;
  }
}

.under_page_body p{
  font-size:1.6rem;
  line-height:1.8;
  margin-bottom:1.5em;
}

@media screen and (max-width:480px){
  .under_page_body p{
    font-size:1.4rem;
  }
}

.under_page_body ul:not(.news_list), .under_page_body ol{
  padding-left:1.2em;
  margin-bottom:1.5em;
}
.under_page_body ul:not(.news_list) li{
  list-style:disc;
  font-size:1.6rem;
  line-height:1.6;
}
.under_page_body ol li{
  list-style:numeric;
  font-size:1.6rem;
  line-height:1.6;
}

@media screen and (max-width:480px){
  .under_page_body ul:not(.news_list) li,
  .under_page_body ol li{
    font-size:1.4rem;
  }
}

.under_page_body .wp-block-columns{
  margin:40px 0 50px;
}
.under_page_body div.wp-block-image,
.under_page_body figure.wp-block-image{
  margin:0;
}
.under_page_body figure.wp-block-image.size-full{
  margin-bottom:50px;
}
.under_page_body div.wp-block-image .alignright{
  margin:0 0 30px 30px;
}
.under_page_body div.wp-block-image .alignleft{
  margin:0 30px 30px 0;
}
.under_page_body div.wp-block-image .aligncenter{
  text-align:center;
  margin-top:30px;
  margin-bottom:50px;
}
.under_page_body .wp-block-columns figure.wp-block-image.size-full,
.under_page_body .wp-block-columns div.wp-block-image .aligncenter,
.under_page_body .wp-block-columns div.wp-block-image .alignright,
.under_page_body .wp-block-columns div.wp-block-image .alignleft{
  margin:0;
}

@media screen and (max-width:480px){
  .under_page_body div.wp-block-image .alignright,
  .under_page_body div.wp-block-image .alignleft{
    margin:0 0 20px;
  }
  .under_page_body div.wp-block-image .aligncenter{
    margin-top:20px;
    margin-bottom:30px;
  }
}

.under_page_body .wp-block-gallery,
.under_page_body .wp-block-table{
  margin-bottom:30px;
}
.under_page_body .wp-block-gallery figure.wp-block-image{
  margin:0;
}
.under_page_body .wp-block-table figcaption,
.under_page_body .wp-block-image figcaption{
  font-size:1.4rem;
  margin-top:3px;
}

.under_page_body * + h2,
.under_page_body * + h3{
  margin-top:52px;
}
.under_page_body * + h4{
  margin-top:23px;
}
.under_page_body * + h5{
  margin-top:1em;
}
.under_page_body * + h6{
  margin-top:1em;
}

.under_page_body hr{
  width:100%;
  height:0;
  margin:22px 0;
  border:none;
  border-top:solid 1px #e5e5e5;
}

/* .btn_link
------------------------------------------------------------------------------------------------------------------- */
.btn_link_border, .btn_link_border:visited{
  display:inline-block;
  font-size:1.4rem;
  font-weight:700;
  line-height:1;
  text-align:center;
  background:#fff url(images/arrow_right_nv.png) no-repeat calc(100% - 20px) 50% / 12px auto;
  border:solid 4px #1C2462;
  border-radius:40px;
  padding:18px 51px 18px 41px;
}

.btn_link_border_gray, .btn_link_border_gray:visited{
  display:inline-block;
  font-size:1.4rem;
  font-weight:700;
  line-height:1;
  text-align:center;
  background:#fff url(images/arrow_right_nv.png) no-repeat calc(100% - 20px) 50% / 12px auto;
  border:solid 4px #C2D5E9;
  border-radius:40px;
  padding:18px 51px 18px 41px;
}

.btn_link_border_none_arrow, .btn_link_border_none_arrow:visited{
  display:inline-block;
  font-size:1.4rem;
  font-weight:500;
  line-height:1;
  color:#1d1d1d;
  text-align:center;
  background:#fff;
  border:solid 1px #C2D5E9;
  border-radius:40px;
  padding:14px 18px;
}

.btn_link_fill:not(.btn), .btn_link_fill:not(.btn):visited{
  display:inline-block;
  font-size:1.4rem;
  font-weight:500;
  line-height:1;
  color:#fff;
  text-align:center;
  background:var(--base-color-blue) url(images/arrow_right_wh.png) no-repeat calc(100% - 20px) 50% / 12px auto;
  border-radius:40px;
  padding:17px 60px 17px 50px;
  letter-spacing: 0.2rem;
}

.btn.btn_link_fill a, .btn.btn_link_fill a:visited{
  display:inline-block;
  font-size:1.4rem;
  font-weight:700;
  line-height:1;
  color:#fff;
  text-align:center;
  background:var(--base-color-blue) url(images/arrow_right_wh.png) no-repeat calc(100% - 20px) 50% / 12px auto;
  border-radius:40px;
  padding:17px 60px 17px 50px;
}

.btn_link_fill_none_arrow, .btn_link_fill_none_arrow:visited{
  display:inline-block;
  font-size:1.3rem;
  font-weight:400;
  line-height:1;
  color:#fff;
  text-align:center;
  background:var(--base-color-blue);
  border-radius:40px;
  padding:14px 25px;
}
@media screen and (max-width:480px){
  .btn_link_fill_none_arrow, .btn_link_fill_none_arrow:visited{
    font-size:1rem;
    padding:10px 19px;
  }
}

/* wp-pagenavi
------------------------------------------------------------------------------------------------------------------- */
.wp-pagenavi{
  display:flex;
  gap:10px 10px;
  max-width:1240px;
  margin:40px auto 0;
}
.wp-pagenavi a, .wp-pagenavi a:visited, .wp-pagenavi span{
  display:block;
  width:30px;
  font-size:1.3rem;
  font-weight:700;
  line-height:28px;
  color:#fff;
  text-align:center;
  text-decoration:none;
  background:var(--base-color-blue);
  border:solid 1px var(--base-color-blue);
  border-radius:50%;
}
.wp-pagenavi span{
  color:var(--base-color-blue);
  font-weight:700;
  background:#fff;
}
.wp-pagenavi span.dots{
  width:1.5rem;
  color:var(--base-color-blue);
  border:none;
  background:none;
}
.wp-pagenavi .next, .wp-pagenavi .prev{
  text-indent:-300px;
  overflow:hidden;
  background:var(--base-color-blue) url(images/arrow_right_wh.png) no-repeat 50% 50% / 12px auto;
}
.wp-pagenavi .prev{
  transform:rotate(180deg);
}

@media screen and (max-width:480px){
  .wp-pagenavi{
    gap:8px 4px;
    margin-top:40px;
  }
  .wp-pagenavi span.dots{
    display:none;
  }
}

/* margin & padding
------------------------------------------------------------------------------------------------------------------- */
.mgt0px {margin-top:0px !important}
.mgt5px {margin-top:5px !important}
.mgt10px{margin-top:10px !important}
.mgt15px{margin-top:15px !important}
.mgt20px{margin-top:20px !important}
.mgt25px{margin-top:25px !important}
.mgt30px{margin-top:30px !important}
.mgt35px{margin-top:35px !important}
.mgt40px{margin-top:40px !important}
.mgt50px{margin-top:50px !important}
.mgt60px{margin-top:60px !important}
.mgt70px{margin-top:70px !important}
.mgt80px{margin-top:80px !important}
.mgt90px{margin-top:90px !important}
.mgt100px{margin-top:100px !important}

.mgb0px {margin-bottom:0px !important}
.mgb5px {margin-bottom:5px !important}
.mgb10px{margin-bottom:10px !important}
.mgb15px{margin-bottom:15px !important}
.mgb20px{margin-bottom:20px !important}
.mgb25px{margin-bottom:25px !important}
.mgb30px{margin-bottom:30px !important}
.mgb35px{margin-bottom:35px !important}
.mgb40px{margin-bottom:40px !important}
.mgb50px{margin-bottom:50px !important}
.mgb60px{margin-bottom:60px !important}
.mgb70px{margin-bottom:70px !important}
.mgb80px{margin-bottom:80px !important}
.mgb90px{margin-bottom:90px !important}
.mgb100px{margin-bottom:100px !important}
