@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=Noto+Serif+JP:wght@600&display=swap');
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;}
*, *:before, *:after {-webkit-box-sizing: border-box; box-sizing: border-box;}
body {margin: 0px; padding: 0px; font-size: 14px; font-family: serif, "Noto Serif JP", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho"; line-height: 1; -webkit-text-size-adjust: none; color: #222; -webkit-font-smoothing: antialiased; font-weight: 400; position: relative; width: 100%;}
.lh12,h1, h2, h3, h4, h5, h6 {line-height: 1.2;}
.lh15 {line-height: 1.5;}
p,li,dd,dt,.lh17 {line-height: 1.7;}
.rlt {position: relative;}
.ls4 {letter-spacing: -.4em;}
.lsn {letter-spacing: normal;}
.inlb {display: inline-block; letter-spacing: normal;}
.blk {display: block;}
.vtop {vertical-align: top;}
.vmid {vertical-align: middle;}
.vbtm {vertical-align: bottom;}
.flex {display: flex; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; flex-wrap: wrap; -ms-flex-wrap: wrap;}
.flRev {flex-direction: row-reverse;}
.alStart {align-items: flex-start; -webkit-box-align: start;	-ms-flex-align: start;}
.alEnd {align-items: flex-end; -webkit-box-align: end; -ms-flex-align: end;}
.alCent {align-items: center; -webkit-box-align: center; -ms-flex-align: center;}
.jcCent {justify-content: center;}
.spbt {justify-content: space-between;}
.fr {float: right;}
.fl {float: left;}
.objFit img {width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%; font-family: 'object-fit: cover;';}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}
nav ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after,q:before, q:after {content:'';content:none;}
a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
table {border-collapse:collapse;border-spacing:0;}
hr {display:block;height:1px;border:0; border-top:1px solid #cccccc;margin:1em 0;padding:0;}
input, select {vertical-align:middle;}
ol, ul {list-style: none;}
.highlight a:hover *{filter: alpha(opacity=75); -moz-opacity:0.75; opacity:0.75;}
.cf:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}  
.cf {display: inline-table; overflow: hidden;}  
/* Hides from IE-mac \*/  
* html .cf {height: 1%;}  
.cf {display: block;}  
/* End hide from IE-mac */  
.clear {clear: both;}
img {font-size:0;line-height:0;}
img {max-width: 100%;height: auto;width /***/: auto;border: none;vertical-align: bottom;}
a:link,a:visited,a:hover,a:active {text-decoration: none;}
a.ubdr,.ubdr {text-decoration: underline;}

.txtCent {text-align:center;}
.txtRight {text-align:right;}
.txtLeft {text-align: left!important;}
.txt400 {font-weight: 400;}
.txt500 {font-weight: 500;}
.txt700 {font-weight: 700!important;}
.txt900 {font-weight: 900;}
.txtRD {color: #CC0000;}
.txt12 {font-size: 12px;}
.txt14 {font-size: 14px;}
.txt16 {font-size: 16px;}
.txt18 {font-size: 18px;}
.txt20 {font-size: 20px;}
.txt24 {font-size: 24px;}
.txt26 {font-size: 26px;}
.txt28 {font-size: 28px;}
.txt30 {font-size: 30px;}
.txt36 {font-size: 36px;}
.txt40 {font-size: 40px;}
.txt50 {font-size: 50px;}
.mb5 {margin-bottom: 5px!important;}
.mb10 {margin-bottom: 10px!important;}
.mb20 {margin-bottom: 20px!important;}
.mb30 {margin-bottom: 30px!important;}
.mb40 {margin-bottom: 40px!important;}
.mb50 {margin-bottom: 50px!important;}
.mb60 {margin-bottom: 60px!important;}
.mb80 {margin-bottom: 80px!important;}
.mb100 {margin-bottom: 100px!important;}
.mt20 {margin-top: 10px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt40 {margin-top: 40px!important;}
.mt50 {margin-top: 50px!important;}
.mt60 {margin-top: 60px!important;}
.mt80 {margin-top: 80px;}
.mt100 {margin-top: 100px;}
.pt10 {padding-top: 10px;}
.pt20 {padding-top: 20px;}
.pt30 {padding-top: 30px;}
.pt40 {padding-top: 40px;}
.pt50 {padding-top: 50px;}
.pt60 {padding-top: 60px;}
.pt70 {padding-top: 70px;}
.pt80 {padding-top: 80px;}
.pb10 {padding-bottom: 10px;}
.pb20 {padding-bottom: 20px;}
.pb30 {padding-bottom: 30px;}
.pb40 {padding-bottom: 40px;}
.pb50 {padding-bottom: 50px;}
.pb60 {padding-bottom: 60px;}
.pb70 {padding-bottom: 70px;}
.pb80 {padding-bottom: 80px;}
.ptb80 {padding: 80px 0 50px;}
.ptb40 {padding: 40px 0;}
@media screen and (min-width: 896px){	
  .pcbr {display:block;}
  .spbr {display:none;}
}
@media screen and (max-width: 896px){	
  .pcbr {display:none;}
  .spbr {display:block;}
	.txt16 {font-size: 14px;}
	.txt18,.txt20 {font-size:16px;}
	.txt24,.txt26 {font-size:20px;}
	.txt30 {font-size:22px;}
	.txt36 {font-size:24px;}
	.txt40 {font-size:30px;}
	.txt50,.txt60 {font-size:30px;}
	.mb40 {margin-bottom: 30px!important;}
	.mb50 {margin-bottom: 30px!important;}
	.mb60 {margin-bottom: 40px!important;}
	.mb80 {margin-bottom: 50px!important;}
	.pt40 {padding-top: 30px;}
	.pt50 {padding-top: 30px;}
	.pt60 {padding-top: 40px;}
	.pt70 {padding-top: 40px;}
	.pt80 {padding-top: 50px;}
	.pb40 {padding-bottom: 30px;}
	.pb50 {padding-bottom: 30px;}
	.pb60 {padding-bottom: 40px;}
	.pb70 {padding-bottom: 40px;}
	.pb80 {padding-bottom: 50px;}
}

.w1300 {width: 100%; max-width: 1392px; padding-left: 0; padding-right: 0;}
.w1500 {width: 100%; max-width: 1520px; padding-left: 0; padding-right: 0;}
.container {width: 100%; max-width: 1212px; padding-left: 0; padding-right: 0;}
.containers {width: calc(100% - 40px); max-width: 848px; padding-left: 0; padding-right: 0;}
.mlr,.container,.containers {margin-left: auto; margin-right: auto;}
.mlr5 {margin-left: 5px; margin-right: 5px;}
.mlr20,.col1,.col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54 {margin-left: 20px; margin-right: 20px;}
.col1 {width: calc(16.6666% - 40px);}
.col2,.box3 {width: calc(33.3333% - 40px);}
.col3 {width: calc(50% - 40px);}
.col4 {width: calc(66.6666% - 40px);}
.col5 {width: calc(83.3333% - 40px);}
.col6 {width: calc(100% - 40px);}
.box4 {width: calc(25% - 30px); margin-left: 15px; margin-right: 15px;}
.btnBig {width: 100%;}
.btnMid {width: 80%;}
.btnMin {width: 100%; max-width: 220px;}
.w50 {width: 50%;}
.w46 {width: calc(46% - 40px);}
.w54 {width: calc(54% - 40px);}
@media screen and (max-width: 896px) {
  .containers {width: calc(100% - 30px);}
  .mlr20,.col1,.col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54 {margin-left: 15px; margin-right: 15px;}
  .mlr5 {margin-left: 0; margin-right: 0;}
  .col1 {width: calc(16.6666% - 30px);}
  .col2,.box3 {width: calc(33.3333% - 30px);}
  .col3 {width: calc(50% - 50px);}
  .col4 {width: calc(66.6666% - 30px);}
  .col5 {width: calc(83.3333% - 30px);}
  .col6 {width: calc(100% - 30px);}
  .w46 {width: calc(46% - 30px);}
  .w54 {width: calc(54% - 30px);}
}
@media screen and (max-width: 568px) {
  .col1 {width: calc(33.3333% - 30px);}
  .col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54 {width: calc(100% - 30px);}
  .flex.flexWrap.mlr5 {margin-left: 15px; margin-right: 15px; justify-content: space-between;}
  .box4 {width: calc(50% - 7.5px); margin-left: 0; margin-right: 0;}
}

ul.dot {list-style: disc; margin-left: 1.5em;}
ul.num {list-style: decimal; margin-left: 1.5em;}

table {width: 100%;}
@media screen and (max-width: 500px) {
	table th {border-bottom: 1px solid #FFF;}
  table th, table td {display: block; width: 100%;}
}

.mincho {font-family: 'Noto Serif JP', serif; font-weight: 600;}
.txtRD {color: #E6181A;}
.txtDRD {color: #043265;}
.txtDRD2024 {color: #9D0002;}
.txtBL {color: #043265;}
.txtWH {color: #FFF;}
.bgWH {background: #FFF;}
.bgBL {background: #F0F2F9;}
.bgDBL {background: #043265;}
.bgRD {background: #043265;}
.bgRD2024 {background: #9D0002;}
.logo {display: inline-flex; width: 125px; margin: 0 3px;}
.rlt {position: relative;}
.ttlbb {position: relative; padding: 0 0 30px; margin-bottom: 40px; text-align: center;}
.ttlbb::before {position: absolute; bottom: 0; left: 50%; width: 180px; height: 2px; content: ''; background: #C22F30;}
.ttlbb::after {position: absolute; bottom: 0; left: calc(50% - 180px); width: 180px; height: 2px; content: ''; background: #1A8BC7;}

header {position: relative; border-bottom: 5px solid #1d18e6; padding: 55px 15px;}
header .headbtn {position: absolute; right: 30px; top: 0;}
header .headbtn li {display: inline-block; line-height: 1.4;}
header .headbtn li:first-child {margin-right: 5px;}
header .headbtn li a {display: block; padding: 10px 30px; border: 1px solid #043265; background-color: #043265; background-image: url("../img/cnr01.svg"); background-repeat: no-repeat; background-position: top 5px left 5px; color: #FFF;}
header .headbtn li a:hover {background-color: #FFF; background-image: url("../img/cnr02.svg"); background-repeat: no-repeat; background-position: top 5px left 5px; color: #043265;}
@media screen and (max-width: 1165px) {
  header {padding: 55px 15px 20px;}
}
@media screen and (max-width: 896px) {
  header .headbtn {right: 0;}
  header h1.txt40 {font-size: 5vw;}
}
@media screen and (max-width: 500px) {
  header {padding: 55px 0 20px;}
  header .headbtn li {font-size: 14px;}
  header .headbtn li:first-child {margin-right: 1px;}
}

footer {border-top: 1px solid #9B9B9B; padding: 50px 0 0;}
footer .logo {width: 160px; margin-right: 40px;}
footer .tel {width: 300px; margin-right: 10px;}
footer address {font-size: 16px; color: #FFF; text-align: center; padding: 15px; background: #0F5EAE; font-style: normal;}
@media screen and (max-width: 600px) {
  footer .logo {width: 120px; margin-right: auto; margin-left: auto;}
  footer .tel {width: 80%; max-width: 220px; margin-right: auto; margin-left: auto; margin-bottom: 10px;}
  footer address {font-size: 12px;}
}

.box10-30r {padding: 10px 30px; display: inline-block; border-radius: 35px;}
.box10-20r5 {padding: 10px 20px; display: inline-block; border-radius: 5px;}
.box10-40r {padding: 10px 40px; display: inline-block; position: absolute; top: 0; left: 0; border-bottom-right-radius: 5px; z-index: 1;}
.box10-20r {padding: 10px 20px; display: inline-block; border-top-right-radius: 5px; min-width: 100px; text-align: center;}
.box10-20r25 {padding: 10px 20px; display: inline-block; border-radius: 25px;}
.box5-20r20bdr {border: 2px solid #043265; padding: 5px 20px; display: inline-block; border-radius: 20px;}
.pd10-20 {padding: 10px 20px;}
.pd40 {padding: 40px;}
.ml20 {margin-left: 20px;}
.ml30 {margin-left: 30px;}
.ml40 {margin-left: 40px;}
.bdrbtm1BL {border-bottom: 1px solid #043265;}
.bdrbtm3BL {border-bottom: 3px solid #043265;}
.bdrtop3BL {border-top: 3px solid #043265;}
.boxRD,.boxBL {border: 1px solid #043265; position: relative; background: #FFF;}
.boxBL {border: 1px solid #043265;}
.boxRD::after,.boxBL::after {content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; border: 10px solid #F0F2F9;}
.boxBL::after {border: 10px solid #F0F2F9;}
.dblbtnBL,.dblbtnRD {position: relative; width: calc(100% - 16px); margin: 0 8px; display: block; text-align: center; padding: 15px 55px; color: #FFF!important; transition: all 1.2s cubic-bezier(0.2, 1, 0.2, 1); background-image: url("../img/btn_arrow.svg"); background-repeat: no-repeat; background-position: right 20px center; background-color: #043265;}
.dblbtnRD {background-color: #9D0002;}
.dblbtnBL::before,.dblbtnBL::after,.dblbtnRD::before,.dblbtnRD::after {position: absolute; width: 100%; height: 100%; content: ''; border: 1px solid #043265;}
.dblbtnRD::before,.dblbtnRD::after {border: 1px solid #9D0002;}
.dblbtnBL::before,.dblbtnRD::before {left: -8px; top: -8px;}
.dblbtnBL::after,.dblbtnRD::after {right: -8px; bottom: -8px;}
.dblbtnBL:hover,.dblbtnRD:hover {transition: ease-in .3s; background-position: right 10px center;}
.dblbtnBL:hover::before,.dblbtnRD:hover::before {animation: hover-double-btn-lp-t .6s forwards;}
.dblbtnBL:hover::after,.dblbtnRD:hover::after {animation: hover-double-btn-lp-b .6s forwards;}
@keyframes hover-double-btn-lp-t {
  0% {top: -8px; left: -8px; opacity: 1;}
  1% {top: -8px; left: -8px; opacity: 1;}
  100% {top: -18px; left: -18px; opacity: 0.1;}
}
@keyframes hover-double-btn-lp-b {
  0% {bottom: -8px; right: -8px; opacity: 1;}
  1% {right: -8px; bottom: -8px; opacity: 1;}
  100% {right: -18px; bottom: -18px; opacity: 0.1; }
}
@media screen and (max-width: 896px) {
  .dblbtnBL,.dblbtnRD { padding: 15px 55px 15px 30px;background-position: right 10px center;}
}

#lp01 {width: 100%; background: url("../img/01-01-2024.jpg") no-repeat center; background-size: cover;}
#lp01 .container {padding: 65px 0;}
#lp02 .txt36.txtWH.txt900 {padding: 40px 20px; background: url("../img/02.svg") no-repeat center #043265;}
#lp02 .logo {width: 101px;}
.txtYL {color: #EAE100;}
.ubdr5RD {border-bottom: 5px solid #9D0002;}
.ubdr5BL {border-bottom: 5px solid #043265;}
#lp03 .anchor li a,#lp04 .anchor li a {padding: 10px; text-align: center; display: block; border-radius: 5px;}
#lp03 .anchor li:first-child a {border: 1px solid #043265; background: #043265; color: #FFF;}
#lp03 .anchor li:last-child a {border: 1px solid #043265; background: #FFF; color: #043265;}
#lp03 .anchor li:first-child a:hover {border: 1px solid #043265; background: #FFF; color: #043265;}
#lp03 .anchor li:last-child a:hover {border: 1px solid #043265; background: #043265; color: #FFF;}
#lp03 .boxRD,#lp04 .boxBL {padding: 70px 40px 40px;}
#lp03 .class,#lp04 .class {width: 100px; line-height: 100px; text-align: center; border-radius: 50px; position: absolute; top: -30px; left: 40px; z-index: 1;}
#lp03 .txt16.txtDRD.txtCent.flex li {width: calc(100%/3); border: 1px solid #666666; padding: 10px;}
#lp03 .txt16.txtDRD.txtCent.flex li:nth-child(odd) {background: #c8e5fa;}
#lp04 .anchor li:first-child a {border: 1px solid #043265; background: #FFF; color: #043265;}
#lp04 .anchor li:last-child a {border: 1px solid #043265; background: #043265; color: #FFF;}
#lp04 .anchor li:first-child a:hover {border: 1px solid #043265; background: #043265; color: #FFF;}
#lp04 .anchor li:last-child a:hover {border: 1px solid #043265; background: #FFF; color: #043265;}
#lp04 .txt {width: calc(50% + 40px);}
#lp04 .txt h3 {margin-top: 20px;}
#lp04 .subImg {width: calc(50% - 60px);}
/*#lp04 table {width: inherit;}*/
#lp04 table th,#lp04 table td {width: 145px; border: 1px solid #666666; padding: 10px 20px; text-align: center;}
#lp04 table th {background: #043265; color: #FFF;}
#lp04 table th:nth-child(2) {background: #074D9B;}
#lp05 .num {width: 60px; line-height: 60px; text-align: center; color: #FFF; border-radius: 30px; margin-left: 30px;}
#lp05 .col2::after {content: ""; width: 30px; height: 26px; background: url("../img/arrow.svg") no-repeat; background-size: cover; position: absolute; right: -35px; top: 50%;}
#lp05 .col2:last-child::after {width: 0; height: 0; background-image: none;}
#lp05 .inner {border: 2px solid #043265; border-radius: 5px; padding: 55px 30px 10px; margin-top: -40px; display: flex; flex-direction: column; flex: 1; height: 100%; min-height: 0%;}
@media screen and (max-width: 896px) {
  #lp01 .container {padding: 40px 0 20px;}
  #lp02 .logo {width: 71px;}
  #lp03 .boxRD,#lp04 .boxBL {padding: 60px 30px 40px;}
  #lp03 .class,#lp04 .class {width: 60px; line-height: 60px; text-align: center; border-radius: 30px; position: absolute; top: -20px; left: 30px; z-index: 1;}
  #lp03 .txt16.txtDRD.txtCent.flex li {width: 100%;}
  #lp04 .txt {width: 100%;}
  #lp04 .txt h3 {margin-top: 20px;}
  #lp04 .subImg {width: 80%; margin-left: auto; margin-right: auto;}
  #lp05 .num {width: 40px; line-height: 40px; border-radius: 20px; margin-left: 15px;}
  #lp05 .inner {padding: 45px 15px 10px; margin-top: -20px;}
  #lp05 .col2 {width: calc(100% - 30px); margin-bottom: 20px;}
  #lp05 .col2::after {content: ""; width: 26px; height: 30px; background: url("../img/arrow_down.svg") no-repeat; background-size: cover; position: absolute; right: 50%; top: inherit; bottom: -40px;}
}
@media screen and (max-width: 700px) {
  #lp04 table {width: 100%;}
  #lp04 table th,#lp04 table td {width: 100%; padding: 10px; display: block;}
}

/*20221128追加*/
.va-m{
  vertical-align: middle;
}
#lp04 table td{
  padding: 10px;
}
#lp04 table th{
  width: 75px;
}
@media screen and (max-width: 700px) {
  #lp04 table th{
    width: 100%;
  }
}


/*20231227追加*/
@media screen and (max-width: 340px) {
  header .headbtn li a {
    padding: 10px; 
  }  
} 