﻿/* CSS Document */

/* --- navi --- */
.lower #top.naviContainer { overflow: hidden; }
.lower #top.naviContainer picture { inset: 0; }
.lower #top.naviContainer .pnkz { display: block; position: absolute; left: 0; bottom: -1.1rem; width: 100%; height: 28%; color: #fff; background-repeat: no-repeat; background-image: url(../images/wave3.svg); background-size: 100% auto; background-position: left bottom; }
.lower #top.naviContainer .pnkz p.contents { font-size: 0.75rem; text-align: left; }
.lower #top.naviContainer .pnkz p.contents a { color: #fff; }
.lower #top.naviContainer .pnkz.white { color: #727171; background-image: url(../images/wave1.svg);}
.lower #top.naviContainer .pnkz.white  p.contents a { color: #727171; }
.lower #top.naviContainer .pnkz p.contents a:hover { text-decoration: underline; }
.lower #top.naviContainer h1 { position: absolute; width: 100%; left: 0; top: 10rem; color: #fff; font-size: 2.85rem; font-weight: 600; letter-spacing: 0.1em; text-shadow: rgba(35,24,21,.7) -0.2rem 0.2rem 0.38rem; }
@media only screen and (min-width: 768px) {
.lower #top.naviContainer {  aspect-ratio: 3.15; }
.lower #top.naviContainer .pnkz p.contents { margin-top: 4.5rem; }
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower #top.naviContainer {  aspect-ratio: 64 / 55; }
.lower #top.naviContainer .pnkz { bottom: 0.9rem; }
.lower #top.naviContainer .pnkz p.contents { margin-top: 6.5rem; }
}/* --- sp --- */

/* --- head --- */
.lower #head { background-color: #B5B5B6; }
@media only screen and (min-width: 768px) {
.lower #head { padding: 3rem 0;}
.lower #head ul.shelf { display: grid; grid-auto-flow: column; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 2.6%; }
.lower #head ul.shelf li a { display: block; background-color: rgba(255,255,255,1); font-weight: 600; line-height: 2.8; border-radius: 1.4em; transition: all ease .3s; }
.lower #head ul.shelf li a:hover { color: #00913A;  background-color: rgba(255,255,255,.8); }
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower #head { padding: 2rem 0 1.5rem;}
.lower #head ul.shelf { display: flex;flex-flow: wrap row; justify-content: space-between; }
.lower #head ul.shelf li { margin-bottom: 1.5rem; }
.lower #head ul.shelf li a { display: block; width:13.5rem; background-color: rgba(255,255,255,1); font-size: 0.85rem; font-weight: 600; line-height: 2.8; border-radius: 1.4em; }
}/* --- sp --- */


/* --- main --- */

.lower section .contents { border-bottom: 0.05rem solid #B5B5B6; }
.lower section.shade .contents { border-bottom: none; }
.lower section h2 { color: #00913A; line-height: 1; letter-spacing: 0.1em; }
.lower section.headline p { line-height: 2.3;}
@media only screen and (min-width: 768px) {
.lower section .contents { padding: 6rem 0 6rem; }
.lower section h2 { font-size: 1.5rem; margin-bottom: 3.6rem; }
.lower section h2.en { font-size: 1.65rem; }
}/* --- pc --- */
@media only screen and (max-width: 767px) {
.lower section .contents { padding: 3.6rem 0 3.6rem; }
.lower section h2 { font-size: 1.65rem; margin-bottom: 3rem; }
}/* --- sp --- */

/* --- page Company --- */
.lower#company section.headline p { font-weight: 600; margin-left: .75em;}
@media only screen and (min-width: 768px) {
.lower#company section.headline p { font-size: 1.6rem;}
}/* --- pc --- */
@media only screen and (max-width: 767px) {
.lower#company section.headline p { font-size: 1.4rem;}
}/* --- sp --- */

/* --- section CEO --- */
.lower#company section#ceo .shelf .box p { line-height: 2; text-align: left;}
.lower#company section#ceo .shelf .box p:nth-of-type(1) { font-weight: 600; }
.lower#company section#ceo .shelf .box p:nth-of-type(2) strong { font-size: 150%; }
@media only screen and (min-width: 768px) {
.lower#company section#ceo .contents { padding-bottom: 5.4rem;}
.lower#company section#ceo h2 { margin-bottom: 4.5rem; }
.lower#company section#ceo .shelf { display: flex; justify-content: space-between; }
.lower#company section#ceo .shelf picture { width: 41.65%; }
.lower#company section#ceo .shelf .box { width: 54.3%; }
.lower#company section#ceo .shelf .box p { margin-bottom: 2em; font-size: 0.9rem;}
.lower#company section#ceo .shelf .box p:nth-of-type(1) { margin-top: -0.25em; }
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#company #top.naviContainer { background-color: #B5B5B6; }
.lower#company section#ceo .shelf .box p { margin-top: 2em;  font-size: 1.1rem;}
}/* --- sp --- */

/* --- section BELIEF --- */
.lower#company section#belief p { font-weight: 600; }
@media only screen and (min-width: 768px) {
.lower#company section#belief h2 { font-size: 1.65rem;}
.lower#company section#belief p { font-size: 1.6rem; line-height: 2;  }
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#company section#belief p { font-size: 1.4rem; line-height: 2; font-weight: 600;  }
}/* --- sp --- */

/* --- section POLICIES --- */
.lower#company section#policies div.unit { background-color: #00913A; border-radius: 0.3rem; aspect-ratio: 1; height: 100%; display: grid; justify-content: center; align-items: center;}
.lower#company section#policies p { color: #fff; }
.lower#company section#policies p strong { font-size: 200%; display: block; line-height: 1; margin-bottom: 0.75em; }
@media only screen and (min-width: 768px) {
.lower#company section#policies .shelf { width: 100%; display: grid; grid-auto-flow: column; grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; gap: 2%;}
.lower#company section#policies p { font-size: 0.9rem; }
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#company section#policies .shelf { width: 100%; display: grid; grid-auto-flow: row; grid-template-columns: 1fr 1fr 1fr; gap: 0.7rem;}
.lower#company section#policies p { font-size: 0.8rem; line-height: 1.4; }
.lower#company section#policies p strong { font-size: 200%; display: block; line-height: 1; margin-bottom: 0.75em; }

}/* --- sp --- */

/* --- section MANAGEMENT --- */
.lower#company section#management .unit { position: relative; text-align: left; }
.lower#company section#management .unit::before { content: "1"; display: block; background-color: #148b3d; color: #fff; border-radius: 0.5em; font-weight: 600;}
.lower#company section#management .unit:nth-of-type(2)::before { content: "2";}
.lower#company section#management .unit:nth-of-type(3)::before { content: "3";}
.lower#company section#management .unit:nth-of-type(4)::before { content: "4";}
.lower#company section#management .unit:nth-of-type(5)::before { content: "5";}
.lower#company section#management .unit p.ttl { color: #727171; font-weight: 600; line-height: 1.5;}
@media only screen and (min-width: 768px) {
.lower#company section#management .unit { margin-top: 2.5rem; }
.lower#company section#management .shelf { margin: 5rem 22.5% 0;}
.lower#company section#management .unit p { margin-left: 21%;}
.lower#company section#management .unit::before { width: 5.5rem; height: 6rem; padding-left: 0.5rem; font-size: 2.1rem; position: absolute; left: 0; top: 0;}
.lower#company section#management .unit p.ttl { font-size: 1.15rem;}
.lower#company section#management .unit p.exp { font-size: 0.9rem;}
}/* --- pc --- */
@media only screen and (max-width: 767px) {
.lower#company section#management .unit { margin-top: 3rem; }
.lower#company section#management .shelf { margin: 5rem 0 0;}
.lower#company section#management .unit::before { width: 3.5rem; height: 4rem; padding-left: 0.5rem; font-size: 1.4rem; position: absolute; left: 0; top: 0;}
.lower#company section#management .unit p.ttl { margin-left: 18%; font-size: 1.4rem; line-height: 4rem;}
.lower#company section#management .unit:nth-of-type(2) p.ttl,
.lower#company section#management .unit:nth-of-type(3) p.ttl { line-height: 2rem; padding: 0rem 0;}
.lower#company section#management .unit p.exp { margin-top: 1rem; font-size: 1.1rem;}
}/* 


/* --- section OUTLINE --- */
.lower section dl.shelf { text-align: left; }
@media only screen and (min-width: 768px) {
.lower section dl.shelf { display: flex; width: 100%; padding: 2rem 0 0;  flex-flow: wrap row; justify-content: space-between; }
.lower section dl.shelf dt, .lower section dl.shelf dd { padding-bottom: 2em; }
.lower section dl.shelf dt { width: 20%; margin-left: 15%; }
.lower section dl.shelf dd { width: 65%;}
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower section dl.shelf dt { margin-top: 2rem; margin-bottom: 0.25em; font-weight: 600; }
}
.lower section dl.shelf dt.note { width: 100%; font-size: 90%; }

/* --- section ACCESS --- */
.lower#company section#access { border-bottom: none;}
.lower#company section#access h3 { font-size: 110%; padding:1em 0 1.5em;}
.lower#company section#access iframe {display: block; width: 100%; }
.lower#company section#access p { line-height: 1.65; }
@media only screen and (min-width: 768px) {
.lower#company section#access .map:nth-of-type(2) { margin-top: 3rem;}
.lower#company section#access .map iframe { aspect-ratio: 2.57; }
.lower#company section#access p {  margin-top: 1.5rem; text-align: left; }
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#company section#access { padding-bottom: 4rem; }
.lower#company section#access .map:nth-of-type(2) { margin-top: 2rem;}
.lower#company section#access .map iframe { aspect-ratio: 1.2; }
.lower#company section#access p {  margin-top: 1.5rem; text-align: left; }
}




/* --- page Recruit --- */
@media only screen and (min-width: 768px) {
.lower #head ul.shelf { display: grid; grid-auto-flow: column; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 2.6%; }

}/* --- pc --- */
/* --- section GREETING --- */

@media only screen and (min-width: 768px) {
.lower#recruit #head ul.shelf { grid-template-columns: 1fr 1fr 1fr; }
.lower#recruit section#greeting { position: relative; padding: 0; aspect-ratio:1.475;  background-repeat: no-repeat; background-image: url(../recruit/images/img1.jpg); background-size: cover; }
.lower#recruit section#greeting .cover { position: absolute; inset: 0; background: linear-gradient(to left, rgba(255,255,255,1), rgba(255,255,255,0.8) 60%, rgba(255,255,255,0) 75%);}
.lower#recruit section#greeting .contents { padding: 6rem 0 0; border-bottom: none; }
.lower#recruit section#greeting .contents .box { margin-left: 41.6%; text-align: left;}
.lower#recruit section#greeting .contents .box p:nth-of-type(1) {  font-size: 0.85rem; line-height: 2;}
.lower#recruit section#greeting .contents .box p:nth-of-type(1) strong {  font-size: 0.9rem;}
.lower#recruit section#greeting .contents .box p:nth-of-type(2) { color: #fff; line-height: 1.85rem; vertical-align: baseline; position: absolute; left: 10%; bottom: 5rem; }
.lower#recruit section#greeting .contents .box p:nth-of-type(2) strong { font-size: 185%; font-weight: 400; display: block; margin-top: 0.25em;}

}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#recruit #top.naviContainer { background-color: #B5B5B6; }
.lower#recruit section#greeting .contents { padding-bottom: 0; border-bottom: none; }
.lower#recruit section#greeting .contents .box { text-align: left;}
.lower#recruit section#greeting .contents .box p:nth-of-type(2) { margin: 2.5rem -10vw 0; background-image: url(../recruit/images/img1_sp.jpg); background-repeat: no-repeat; background-size: cover; aspect-ratio: 1.17; position: relative;  }
.lower#recruit section#greeting .contents .box p:nth-of-type(2) span { position: absolute; color: #fff; line-height: 1.85rem; vertical-align: baseline; right: 5.4rem; bottom: 4.4rem; }
.lower#recruit section#greeting .contents .box p:nth-of-type(2) strong { font-size: 185%; font-weight: 400; display: block; margin-top: 0.5rem; }
}/* 


/* --- section PICKUP --- */
.lower#recruit section#pickup .shelf { display: grid; grid-auto-flow: row; gap: 0.1rem; margin-bottom: 0.1rem; }
.lower#recruit section#pickup .shelf .tab { background-color: #9FA0A0; color: #fff; line-height: 3.6; }
.lower#recruit section#pickup .shelf .tab.sel { background-color: #00913A; }
.lower#recruit section#pickup .articles { text-align: left; display: none;}
.lower#recruit section#pickup .articles.sel { display: block; }
.lower#recruit section#pickup .articles .unit .box { position: relative; }
.lower#recruit section#pickup .articles .unit .box p { position: absolute; }
.lower#recruit section#pickup .articles .unit .box p strong { font-size: 185%; font-weight: 400; display: block; }
.lower#recruit section#pickup .articles .unit p.ttl { color: #00913A; margin-bottom: 1em; font-weight: 600; }

@media only screen and (min-width: 768px) {
.lower#recruit section#pickup .contents { border-bottom: none; }
.lower#recruit section#pickup .shelf { width: 100%; grid-template-columns: 1fr 1fr 1fr 1fr; }
.lower#recruit section#pickup a.tab { cursor: pointer;}
.lower#recruit section#pickup a.tab.sel { cursor: auto;}
.lower#recruit section#pickup .articles .unit .box  { margin-bottom: 3.5rem; }
.lower#recruit section#pickup .articles .unit .box p { left: 17%; top: 8rem; }
.lower#recruit section#pickup .articles .unit p.sub { line-height: 1.9;}
.lower#recruit section#pickup .articles .unit p.sub:not(:last-child) { margin-bottom: 2.8rem;}
.lower#recruit section#pickup .articles .unit .clearfix p { float: left;  width: 60%;}
.lower#recruit section#pickup .articles .unit .clearfix img { float: right; width: 33.5%; margin-top: -2.4rem;}
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#recruit section#pickup .shelf { margin: 0 -10vw; grid-template-columns: 1fr 1fr; gap: 0.2rem; }
.lower#recruit section#pickup .articles .unit .box { margin: 0.2rem -10vw 0;}
.lower#recruit section#pickup .articles .unit .box p { left: 13%; top: 11rem; font-size: 115%; font-weight: 600; color: #fff;  text-shadow: rgba(35,24,21,.85) -0.2rem 0.2rem 0.3rem; }
.lower#recruit section#pickup .articles .unit p.ttl { margin-top: 2em; }
.lower#recruit section#pickup .articles .unit p.sub { margin-bottom: 2em; text-align: justify; }
}/* --- sp --- */

/* --- section REQUIREMENTS --- */
.lower#recruit section#requirements dl.shelf dd:nth-of-type(2) span { display: inline-block; width: 5em;}
.lower#recruit section#requirements dl.shelf dd:nth-of-type(3) span { display: inline-block; width: 4em;}


@media only screen and (min-width: 768px) {
.lower#recruit section#requirements dl.shelf dd:nth-of-type(3) span.inline { width:auto; padding-left: 4em;}
.lower#recruit section#requirements .shelf { width: 80%; margin: 1rem 10% 0; display: flex; justify-content: space-between; }
.lower#recruit section#requirements .shelf p.link.round { width: 45%;}
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#recruit section#requirements dl.shelf dd:nth-of-type(2) { margin-left: 5em;}
.lower#recruit section#requirements dl.shelf dd:nth-of-type(2) span { margin-left: -5em;}
}/* --- sp --- */

/* --- section ALBUM --- */
.lower#recruit section#album { background-color: #B5DAAD; overflow: hidden; }
.lower#recruit section#album h2 { color: #fff;}
.slide { position: relative; }
.lower#recruit section#album .slide .container { width: 9000px; font-size: 0; text-align: left; overflow: hidden; }
.lower#recruit section#album .slide .container img { height: 100%; width: auto; vertical-align: middle; line-height: 0; }
.slide .slidebtn { position: absolute; }
.slide .slidebtn a { background-color: #00913A; display: flex; align-items: center; justify-content: center; }
.slide .slidebtn a img { width: 39%; height: auto; }

@media only screen and (min-width: 768px) {
.lower#recruit section#album .slide .container { height: 22.9rem; }
.lower#recruit section#album .slide .container img:nth-child(n+2) { margin-left: 2.5rem; }
.lower#recruit section#album .slide .slidebtn a { width: 2.4rem; height: 2.4rem; }
.lower#recruit section#album .slide .slidebtn { top: calc(11.45rem - 1.2rem);}
.lower#recruit section#album .slide .slidebtn.rwd { left: -10vw;}
.lower#recruit section#album .slide .slidebtn.fwd { right: -10vw;}
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#recruit section#album .slide .container { height: 18.5rem;}
.lower#recruit section#album .slide .container img:nth-child(n+2) { margin-left: 2rem; }
.lower#recruit section#album .slide .slidebtn { display: none; }
}/* --- sp --- */

/* --- section REQUIREMENTS --- */
.lower#recruit section#requirements p.link.rnd a { background-color: #3FB157; }
@media only screen and (min-width: 768px) {
.lower#recruit section#requirements p.link.rnd { margin-top: 3rem; }
.lower#recruit section#requirements p.link.rnd a:hover { background-color: #00913A; }
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#recruit section#requirements p.link.rnd:nth-of-type(1) { margin-top: 5rem; }
.lower#recruit section#requirements p.link.rnd:nth-of-type(2) { margin-top: 3rem; }
}/* --- sp --- */






/* --- page Service --- */

@media only screen and (min-width: 768px) {
.lower#service section p a:hover { text-decoration: underline; }
}/* --- pc --- */
@media only screen and (max-width: 767px) {
.lower#service #top.naviContainer { background-color: #B5B5B6; }
.lower#service section p a { text-decoration: underline; }
}/* --- sp --- */

/* --- section MANAGEMENT --- */
.lower#service section#management .flexbox p { text-align: justify; }
@media only screen and (min-width: 768px) {
.lower#service section .flexbox { width: 100%; display: flex; flex-flow: wrap row; justify-content: space-between; align-items: center; }
.lower#service section#management h2 { font-size: 1.65rem; }
.lower#service section#management .flexbox p { text-align: justify; }
.lower#service section#management .flexbox .lt { width: 32%; }
.lower#service section#management .flexbox .rt { width: 63%; font-size: 0.9rem; line-height: 1.9; }

}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#service section#management .flexbox p { margin-top: 2em; line-height: 2; }
}/* --- sp --- */

/* --- section PENSION INSUARANCE --- */
.lower#service section#pension_insuarance .flexbox .lt span { margin-top: 1em; font-weight: 600; }
.lower#service section#pension_insuarance .flexbox .rt { text-align: justify; }
@media only screen and (min-width: 768px) {
.lower#service section#pension_insuarance h2 span { font-size: 0.9rem;}
.lower#service section#pension_insuarance .flexbox .lt,
.lower#service section#pension_insuarance .flexbox .rt { margin-bottom: 5rem; }
.lower#service section#pension_insuarance .flexbox .lt { width: 32%; }
.lower#service section#pension_insuarance .flexbox .rt { width: 63%; font-size: 0.9rem; line-height: 1.9; padding-left: 3rem; border-left: 0.05rem solid #B5B5B6; }
.lower#service section#pension_insuarance .flexbox span { display: inline-block; font-size: 1.15rem; }

.lower#service section#pension_insuarance .flexbox .lt span.sp { display: none;}
.lower#service section#pension_insuarance .flexbox .rt { font-size: 0.85rem; }
.lower#service section#pension_insuarance .flexbox img { width: 5.9rem;}
.lower#service section#pension_insuarance .flexbox p.edge { margin: 2rem 0 0; }
.lower#service section#pension_insuarance .flexbox p.lt.edge { width: 25%; }
.lower#service section#pension_insuarance .flexbox p.rt.edge { width: 71%; padding-left: 0; border-left: 0; }
.lower#service section#pension_insuarance .box#repayment { position: relative; margin: 3.5rem 0; }
.lower#service section#pension_insuarance .box#repayment img { width: auto; height: 6.35rem; }
.lower#service section#pension_insuarance .box#repayment span { line-height: 1; color: #00913A; position: absolute; top: 2.68rem; left: 7.3rem; }
.lower#service section#pension_insuarance .box#assetment p.sub { font-size: 0.85rem; line-height: 2; text-align: justify; margin-bottom: 4rem; }
.lower#service section#pension_insuarance .box#assetment img { width: 85%; height: auto; }
.lower#service section#pension_insuarance .box#assetment p.mat { background-color: #C9CACA; color:#00913A; width: 45.4rem; margin-inline: auto; margin-top: 1.5rem; padding: 1.5rem 0; }
.lower#service section#pension_insuarance .box#assetment p.mat strong { font-size: 150%; display: block;  }
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#service section#pension_insuarance .flexbox .lt { margin: 5rem 0 2rem;  }
.lower#service section#pension_insuarance .flexbox .lt img {width: 6rem;}
.lower#service section#pension_insuarance .flexbox .rt { line-height: 2; }
.lower#service section#pension_insuarance .flexbox span { display: inline-block; font-size: 1.3rem; }
.lower#service section#pension_insuarance .box#repayment { color: #00913A; text-align: left; margin: 2em 0 2.5em;; line-height: 2;}
.lower#service section#pension_insuarance .box#assetment { text-align: justify; line-height: 2; }
.lower#service section#pension_insuarance .box#assetment img { margin: 3rem auto 0; }
.lower#service section#pension_insuarance .box#assetment p.mat { background-color: #C9CACA; color:#00913A; margin-top: 1.5rem; padding: 1.5rem 0; text-align: center; }
.lower#service section#pension_insuarance .box#assetment p.mat strong { font-size: 150%; display: block;  }
}/* --- sp --- */


/* --- section RISK AVOIDANCE --- */
.lower#service section#risk_avoidance .shelf .unit .mat { background-color: #727171; color: #fff; border-radius: 0.4rem; aspect-ratio: 1; background-repeat: no-repeat; background-position: center center; }
.lower#service section#risk_avoidance .shelf .unit .mat { display: grid; align-items: center; justify-content: center;}
.lower#service section#risk_avoidance .shelf .unit:nth-of-type(1) .mat { background-image: url(../service/images/pict2_1.svg); background-size: 45% auto; }
.lower#service section#risk_avoidance .shelf .unit:nth-of-type(2) .mat { background-image: url(../service/images/pict2_2.svg); background-size: 42% auto; }
.lower#service section#risk_avoidance .shelf .unit:nth-of-type(3) .mat { background-image: url(../service/images/pict2_3.svg); background-size: 42% auto; }
.lower#service section#risk_avoidance .shelf .unit:nth-of-type(4) .mat { background-image: url(../service/images/pict2_4.svg); background-size: 42% auto; }
@media only screen and (min-width: 768px) {
.lower#service section#risk_avoidance .shelf { display: grid; grid-auto-flow: column; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 4%; }
.lower#service section#risk_avoidance .shelf .unit  .mat p { font-size: 1.15rem;}
.lower#service section#risk_avoidance .shelf .unit p.sub { font-size: 0.85rem; text-align: justify; margin-top: 1.5em; }
.lower#service section#risk_avoidance p.notes { font-size: 0.85rem; text-align: left; display: inline-block; margin-inline: auto; padding-top: 6rem; }

}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#service section#risk_avoidance .shelf { width: 100%; display: flex; flex-flow: wrap row; justify-content: space-between; }
.lower#service section#risk_avoidance .shelf .unit { width: 45%;}
.lower#service section#risk_avoidance .shelf .unit .mat { min-height: 12.96em;}
.lower#service section#risk_avoidance .shelf .unit p.sub { font-size: 0.9rem; line-height: 2; text-align: justify; margin-top: 1.5em; padding-bottom: 3em; }
.lower#service section#risk_avoidance p.notes { font-size: 0.9rem; text-align: left; }
.lower#service section#risk_avoidance p.notes span { display: inline-block; margin-left: 3.5em;}
}/* --- sp --- */





/* --- page Life Insuarance --- */

@media only screen and (min-width: 768px) {
.lower#insuarance section h2 { font-size: 1.75rem;}
.lower#insuarance section h3 { font-size: 1.65rem; color: #00913A; margin: 6rem 0 4rem;}
.lower#insuarance section h3:nth-of-type(n+2) { margin-top: 4rem;}
.lower#insuarance section .flexbox { display: flex; flex-flow: wrap row; justify-content: space-between; margin-top: 4rem; text-align: left;}
.lower#insuarance section .flexbox .lt { width: 31.7%; }
.lower#insuarance section .flexbox p.rt { width: 64%; font-size: 0.85rem; line-height: 2;}
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#insuarance #top.naviContainer h1 { font-size: 2.5rem;}
.lower#insuarance section h2 { font-size: 1.75rem; line-height: 1.5;}
.lower#insuarance section h3 { font-size: 1.65rem; color: #00913A; margin: 5rem 0 2rem;}
.lower#insuarance section .flexbox p.rt { text-align: justify; margin-top: 1.5em; line-height: 2;}
}/* --- sp --- */

/* --- section FLOW --- */
.lower#insuarance section#flow h3 { margin-top: 0; }
.lower#insuarance section#flow .shelf .unit figure img { border-radius: 0.4rem; }
.lower#insuarance section#flow .shelf .unit figure { position: relative; }
.lower#insuarance section#flow .shelf .unit figure p.step { position: absolute; color: #fff; background-color: #00913A; display: grid; align-items: center; line-height: 1; font-weight: 600;}
.lower#insuarance section#flow .shelf .unit figure p.step strong { font-size: 230%;}
.lower#insuarance section#flow .shelf .unit p.ttl { font-weight: 600; }
.lower#insuarance section#flow .shelf .unit p.sub { text-align: justify; line-height: 1.9;}
@media only screen and (min-width: 768px) {
.lower#insuarance section#flow .shelf { display: grid; grid-auto-flow: column; grid-template-columns: 1fr 1fr 1fr; gap: 5.8%; }
.lower#insuarance section#flow .shelf .unit figure p.step { width: 4.8rem; height: 4.8rem; border-radius: 2.4rem; left: calc(50% - 2.4rem); bottom: -2.4rem; font-size: 0.8rem;}
.lower#insuarance section#flow .shelf .unit p.ttl { font-size: 1.25rem; line-height: 1.9rem; margin: 3.6rem 0 1rem; }
.lower#insuarance section#flow .shelf .unit p.sub { font-size: 0.85rem; }
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#insuarance section#flow .shelf .unit figure p.step { width: 4.8rem; height: 4.8rem; border-radius: 2.4rem; left: calc(50% - 2.4rem); bottom: -2.4rem; font-size: 0.8rem;}
.lower#insuarance section#flow .shelf .unit p.ttl { font-size: 1.25rem; line-height: 1.9rem; margin: 3.6rem 0 1rem; }
.lower#insuarance section#flow .shelf .unit:nth-of-type(n+2) { margin-top: 3rem;}
}/* --- sp --- */

/* --- section DEALINGS --- */
.lower#insuarance section#dealings h3 { margin-top: 0;}
@media only screen and (min-width: 768px) {
.lower#insuarance section#dealings .shelf { display: grid; grid-auto-flow: column; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 3%; }
.lower#insuarance section#dealings p.link.rnd { margin-top: 8rem; }
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#insuarance section#dealings .shelf { display: grid; grid-template-columns: repeat(2, 48%); gap: 1rem; margin-bottom: 5rem; }
}/* --- sp --- */





/* --- page News --- */

.lower#news section .flexbox .rt {text-align: justify; }
.lower#news section .flexbox .rt strong { display: block; font-size: 120%; font-weight: 400; margin-bottom: 0.75em;}
@media only screen and (min-width: 768px) {
.lower#news section .flexbox { display: flex; flex-flow: wrap row; justify-content: space-between; margin-top: 4rem; text-align: left;}
.lower#news section .flexbox .lt {width: 34%; }
.lower#news section .flexbox .rt {width: 61%; }
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#news section .flexbox .rt { margin-top: 1rem; }
.lower#news section .flexbox { margin-bottom: 2.5rem; }
}/* --- sp --- */




/* --- page Contact --- */
.lower#contact section .contents { text-align: left; padding-bottom: 0; border-bottom: none; }
.lower#contact section .message * { display: inline-block;}
.lower#contact section .message h4 { margin-right: 1em;}
.lower#contact section .message p.error { color: #C30D23; }
.lower#contact section form > div { border-bottom: 1px dotted #ccc; }
.lower#contact section form > div:nth-of-type(1) { border-top: 1px dotted #ccc; }
.lower#contact section form span { display: inline-block; background-color: #C30D23; color: #fff;  line-height: 1.1rem; padding: 0 0.4rem; border-radius: 0.3rem; }
.lower#contact section form span.error-txt { color: #C30D23; background-color: transparent; line-height: 1.5;}
.lower#contact section form > div#contactBody .group p a { color: #00913A; text-decoration: underline;}
.lower#contact section form > div#contactChoice { border-bottom: none;}
.lower#contact section .formbtn { display: block; text-align: center; border-bottom: none;}
.lower#contact section div.formbtn p.link.rnd { display: block;  font-size: 1rem; width: 23.6em; margin-inline: auto;}
.lower#contact section div.formbtn p.link.rnd::after { content: none;}
.lower#contact section div.formbtn p.link.rnd button { display: block; width: 100%; font-size: 1rem; margin: 2rem 0 0;}
.lower#contact section div.formbtn p.note { display: block; width: 100%; font-size: 0.6rem; margin-top: 1em;}
.lower#contact section .formbtn button span { background-color: transparent; font-size: 100%; font-weight: 600;}
.lower#contact section .formbtn button span.t1 {display:inline;}
.lower#contact section .formbtn button span.t2 {display:none;}
.lower#contact section .formbtn button.submit span.t1 { display: none;}
.lower#contact section .formbtn button.submit span.t2 {display:inline;}

@media only screen and (min-width: 768px) {
.lower#contact section .contents > p.sub { margin-bottom: 2rem;}
.lower#contact section .contents > p.sub strong { font-size: 235%; vertical-align: middle; margin-left: 0.75em; }
.lower#contact section .message { text-align: center; margin: -1rem 0 1rem;}
.lower#contact section form > div { padding: 1rem 0; display: flex; justify-content: space-between; }
.lower#contact section form > div > p { width: 18%; margin-top: 0.25rem;}
.lower#contact section form > div > p > span { float: right; }
.lower#contact section form > div > p::after { content: ""; clear: both;}
.lower#contact section form > div > div { width: 76%;}
.lower#contact section form { font-size: 0.9rem;}
.lower#contact section form p,
.lower#contact section form label { line-height: 1.5rem; }
.lower#contact section form input,
.lower#contact section form textarea,
.lower#contact section form select { font-size: 1rem; line-height: 1; padding: 0.25rem; }
.lower#contact section form label,.lower#contact section form input[type="checkbox"],.lower#contact section form input[type="radio"] { cursor: pointer;}
.lower#contact section form span { font-size: 0.7rem; padding: 0 0.4rem; margin-bottom: 0.2rem; }
.lower#contact section form span.error-txt { display: block; float: none; clear: both; margin-left: -0.5em;}
.lower#contact section form input[type="text"],
.lower#contact section form textarea { width: 38rem;}
.lower#contact section form input[type="text"].half { width: 18rem; margin-right: 1rem;}
.lower#contact section form #mailinput input[type="text"]:nth-of-type(2) { margin-top: 1.5rem;}
.lower#contact section form > div#contactChoice div.box { display: inline-block; margin-right: 2rem;}
.lower#contact section form > div#contactBody .box { margin-top: 0.5rem;}
.lower#contact section form > div#contactBody .box span { margin-left: 0.5rem;}
.lower#contact section form > div#contactBody .group p { margin-top: 0.5rem; margin-bottom: 1rem; padding-left: 1em; }

}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#contact section .contents > p.sub { margin-bottom: 1rem;}
.lower#contact section .contents > p.sub strong { font-size: 200%; vertical-align: middle; margin-left: 0.75em; }
.lower#contact section .message { margin: 1rem 0;}
.lower#contact section form > div { padding: 2rem 0 1.5rem 0;  }
.lower#contact section form > div > p { margin-bottom: 0.4rem;}
.lower#contact section form p, .lower#contact section form label { font-size: 1.2rem; line-height: 1.5;}
.lower#contact section form span { font-size: 0.8rem;  line-height: 2; vertical-align: middle; margin-left: 1.5em; }
.lower#contact section form input,.lower#contact section form select, .lower#contact section form textarea { box-sizing: border-box; margin-top: 0.5rem; font-size: 1.25rem; line-height: 2rem; padding: 0.5rem;}
.lower#contact section form input[type="checkbox"],.lower#contact section form input[type="radio"] { font-size: 1.4rem; line-height: 2rem; vertical-align: baseline; margin-right: 0.5rem; }
.lower#contact section form div.group { width: 100%; display: flex; justify-content:space-between; flex-flow: wrap row; font-size: 0; }
.lower#contact section form > div#contactChoice  div.group { justify-content: start; }
.lower#contact section form > div#contactChoice  div.group div.box {  margin-right: 2rem;}
.lower#contact section form div.group .half { display: block; width: 48%;}
.lower#contact section form #mailinput input[type="text"]:nth-of-type(2) { margin-top: 1rem;}
.lower#contact section form #mailinput input[type="text"],
.lower#contact section form textarea { width: 100%;}
.lower#contact section form > div#contactBody .box { margin-top: 1rem; margin-bottom: 0.5rem;}
.lower#contact section form > div#contactBody .group p { margin-left: 1.6rem; }
}/* --- sp --- */
.lower#contact section form > div > p > span.hide { display: none;}




/* --- page Privacy Policy --- */
.lower#privacy section .contents  { overflow: hidden; }
.lower#privacy #top.naviContainer { background: linear-gradient(to top, #87C789 0%, #d1e8ce 100%); }
.lower#privacy #top.naviContainer hgroup { position: absolute;  width: 100%; left: 0; color: #fff; }
.lower#privacy #top.naviContainer h1 { position: static; font-size: 2rem; font-weight: 600; margin-bottom: 0.7em;}
.lower#privacy #top.naviContainer hgroup p { line-height: 1.9; }
.lower#privacy section { text-align: left; }
@media only screen and (min-width: 768px) {
.lower#privacy #top.naviContainer hgroup { top: 7rem; }

.lower#privacy section hgroup:nth-of-type(n+2) { margin-top: 5rem; }
.lower#privacy section h2 { font-size: 1.3rem; position: relative; display: inline-block; margin-bottom: 2.5rem; }
.lower#privacy section h2::after { content: ""; display: block; position: absolute; background-color: #87C789; width: 100vw; height: 0.05rem; left: calc(100% + 0.5em); top: 0.5em;}
}/* --- pc --- */

@media only screen and (max-width: 767px) {
.lower#privacy #top.naviContainer hgroup { top: 7rem; }
.lower#privacy section { background-color: #fff; margin-top: -1.1rem;}
.lower#privacy section .contents { padding-top: 4.7rem; }
.lower#privacy section hgroup:nth-of-type(n+2) { margin-top: 4rem; }
.lower#privacy section h2 { font-size: 1.3rem; position: relative; display: inline-block; margin-bottom: 2.5rem; }
.lower#privacy section h2::after { content: ""; display: block; position: absolute; background-color: #87C789; width: 100vw; height: 0.05rem; left: calc(100% + 0.5em); top: 0.5em;}
}/* --- sp --- */


@media only screen and (min-width: 768px) {
}/* --- pc --- */

@media only screen and (max-width: 767px) {
}/* --- sp --- */