@charset "utf-8";


.catchMessageInr p { line-height: 2; text-align: center; }
.menuCont { background: #F2F5FB; }
.menuList { display: flex; flex-wrap: wrap; align-content: stretch; }
.menuList .listInr { width: 50%; padding: 80px 20px 20px; }
.menuList .listInr .menuInr { background: #fff; border-radius: 10px; height: 100%; padding: 40px; }
.menuList .listInr .menuIcon { margin-top: -100px; text-align: center; }
.menuList .listInr .menuIcon img { width: 120px; height: 120px; }
.menuList .listInr dt { font-family: 'Noto Serif JP', serif; font-size: 24px; font-weight: 500; line-height: 1.2; text-align: center; padding: 10px 0; }
.menuList .listInr dd { font-size: 18px; font-weight: 700; line-height: 1.2; text-align: center; padding: 10px 0; }
.menuList .listInr ul { padding: 10px 0; }
.menuList .listInr ul li { line-height: 1.5; padding: 5px 0; }
.menuList .listInr ul li:before { content: '・' }
.menuList .menu01 .menuInr { border: 2px solid #2e51a3; }
.menuList .menu02 .menuInr { border: 2px solid #218BCD; }
.menuList .menu03 .menuInr { border: 2px solid #0AAD6E; }
.menuList .menu04 .menuInr { border: 2px solid #197A85; }
.menuList .menu05 .menuInr { border: 2px solid #C0296A; }
.menuList .menu06 .menuInr { border: 2px solid #832E89; }
.menuList .menu11 .menuInr { border: 2px solid #EF805F; }
.menuList .menu12 .menuInr { border: 2px solid #F8B62D; }
.menuList .menu13 .menuInr { border: 2px solid #89C122; }
.menuList .menu14 .menuInr { border: 2px solid #00A95F; }
.menuList .menu01 dd { color: #2e51a3; }
.menuList .menu02 dd { color: #218BCD; }
.menuList .menu03 dd { color: #0AAD6E; }
.menuList .menu04 dd { color: #197A85; }
.menuList .menu05 dd { color: #C0296A; }
.menuList .menu06 dd { color: #832E89; }
.menuList .menu11 dd { color: #EF805F; }
.menuList .menu12 dd { color: #F8B62D; }
.menuList .menu13 dd { color: #89C122; }
.menuList .menu14 dd { color: #00A95F; }
.menuList .menuInr a { text-decoration: underline; }
.menuList .menuInr a:hover { color:#3151a2; }
.lifePlanCont .lifeList { max-width: 640px; margin: 5vw auto 0; border: 1px solid #D5D7DC; padding: 5vw;  }
.lifePlanCont ul li { font-family: 'Noto Serif JP', serif; line-height: 30px; padding: 10px; }
.lifePlanCont ul li img { width: 30px; height: 30px; }

.aboutCont { padding: 0 0 5vw; }
.aboutInr .thumb { float: right; width: 50%; }
.aboutInr .thumb img { width: 100%; }
.aboutInr .txt { float: left; width: 50%; padding: 10px 30px 10px 0; }

.greetingCont { padding: 0 0 5vw; }
.greetingInr h3 { font-size: 20px; font-weight: 700; color: #2E51A3; padding: 0 0 20px; }
.greetingInr p { padding: 0 0 10px; }
.greetingInr p.date { text-align: right; }
.greetingInr .sign { text-align: right; }
.greetingInr .sign dt { text-align: right; }
.greetingInr .sign dd { text-align: right; }

.messageCont { padding: 0 0 5vw; }
.messageInr .thumb { float: right; width: 50%; }
.messageInr .thumb img { width: 100%; }
.messageInr .txt { float: left; width: 50%; padding: 10px 30px 10px 0; }

.targetCont { padding: 0 0 5vw; }
.targetInr { display: flex; flex-wrap: wrap; align-content: stretch; }
.targetInr .targetDisc { width: 50%; padding: 0 5px; }
.targetInr .targetDisc dl { border: 1px solid #D5D7DC; height: 100%; }
.targetInr .targetDisc dt { font-size: 18px; font-weight: 700; color: #2E51A3; background: #F2F5FB; padding: 10px; }
.targetInr .targetDisc dd { padding: 10px; }

.flowCont { padding: 0 0 5vw; }
.flowInr .step { width: 100%; padding: 0 0 50px; max-width: 600px; margin: 0 auto; position: relative; }
.flowInr .step:last-child { padding: 0; }
.flowInr .step:after { position: absolute;  right: 0; left: 0; bottom: 10px; margin: 0 auto; z-index: 1; display: block; content: ''; width: 0; height: 0; border-top: 12px solid #2E51A3; border-left: 12px solid transparent; border-right: 12px solid transparent; border-bottom: 12px solid transparent; }
.flowInr .step:last-child:after { display: none; }
.flowInr .step dl { background: #F2F5FB; border: 1px solid #2E51A3; padding: 15px; }
.flowInr .step dt { font-family: 'Noto Serif JP', serif; font-size: 18px; font-weight: 700; color: #2E51A3; padding: 0; }
.flowInr .step dd span { font-weight: 700; }
.flowInr .step dd { padding: 10px 0 0; }

.requestCont { padding: 0 0 5vw; }
.requestInr li { position: relative; padding: 0 0 10px 20px; }
.requestInr li:before { position: absolute; top: 0; left: 0; content: '・'; }

.entryCont { padding: 0 0 5vw; }
.entryInr .moreBtn { text-align: center; background: #F2F5FB; padding: 20px 0; }

.welfareLink a { text-decoration: underline; font-weight:bold; color:#3151a2; }

/* ─────────────────────────────────────────────────────────────────────────── */

@media screen and (max-width:1400px){

/* ─────────────────────────────────────────────────────────────────────────── */

@media screen and (max-width:1200px){
  .menuList .listInr { padding: 70px 10px 10px; }
  .menuList .listInr .menuInr { padding: 40px 20px 20px; }
}

@media screen and (max-width:1023px){

}

@media screen and (max-width:767px){
  .catchMessageInr p { line-height: 1.75; text-align: left; }
  .catchMessageInr p br { display: none; }
  .menuList .listInr { width: 100%; padding: 40px 0 0; }
  .menuList .listInr .menuIcon { margin-top: -80px; }
  .menuList .listInr .menuIcon img { width: 80px; height: 80px; }
  .menuList .listInr .menuInr { padding: 40px 5vw 5vw; }
  .menuList .listInr dt { font-size: 20px; }
  .menuList .listInr dd { font-size: 16px; }
  .menuList .listInr ul li { font-size: 14px; }
  .lifePlanCont .lifeList { padding: 5vw 10px; }
  .lifePlanCont ul li { padding: 5px 0; font-size: 14px; }
  .aboutCont { padding: 0 0 10vw; }
  .aboutInr .thumb { float: none; width: 100%; }
  .aboutInr .txt { float: none; width: 100%; padding: 10px 0 0; }
  .greetingCont { padding: 0 0 10vw; }
  .greetingInr h3 { font-size: 18px; }
  .messageCont { padding: 0 0 10vw; }
  .messageInr .thumb { float: none; width: 100%; }
  .messageInr .txt { float: none; width: 100%; padding: 10px 0 0; }
  .targetCont { padding: 0 0 10vw; }
  .targetInr { display: block; }
  .targetInr .targetDisc { width: 100%; padding: 0 0 10px; }
  .targetInr .targetDisc dt { font-size: 16px; }
  .flowCont { padding: 0 0 10vw; }
  .flowInr .step dt { font-size: 16px; }
  .flowInr .step dd { font-size: 14px; }
  .requestCont { padding: 0 0 10vw; }
  .entryCont { padding: 0 0 10vw; }
  .entryInr .moreBtn { background: transparent; }

}
